Fix failure in unit tests
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/25665006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
d4bcf5d730
commit
79a14d3f73
@ -1932,17 +1932,23 @@ class HEnterInlined V8_FINAL : public HTemplateInstruction<0> {
|
||||
|
||||
class HLeaveInlined V8_FINAL : public HTemplateInstruction<0> {
|
||||
public:
|
||||
explicit HLeaveInlined(int drop_count) : drop_count_(drop_count) { }
|
||||
HLeaveInlined(HEnterInlined* entry,
|
||||
int drop_count)
|
||||
: entry_(entry),
|
||||
drop_count_(drop_count) { }
|
||||
|
||||
virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE {
|
||||
return Representation::None();
|
||||
}
|
||||
|
||||
virtual int argument_delta() const V8_OVERRIDE { return -drop_count_; }
|
||||
virtual int argument_delta() const V8_OVERRIDE {
|
||||
return entry_->arguments_pushed() ? -drop_count_ : 0;
|
||||
}
|
||||
|
||||
DECLARE_CONCRETE_INSTRUCTION(LeaveInlined)
|
||||
|
||||
private:
|
||||
HEnterInlined* entry_;
|
||||
int drop_count_;
|
||||
};
|
||||
|
||||
|
@ -217,9 +217,8 @@ void HBasicBlock::Goto(HBasicBlock* block,
|
||||
|
||||
if (block->IsInlineReturnTarget()) {
|
||||
HEnvironment* env = last_environment();
|
||||
int argument_count = state->entry()->arguments_pushed()
|
||||
? env->arguments_environment()->parameter_count() : 0;
|
||||
AddInstruction(new(zone()) HLeaveInlined(argument_count));
|
||||
int argument_count = env->arguments_environment()->parameter_count();
|
||||
AddInstruction(new(zone()) HLeaveInlined(state->entry(), argument_count));
|
||||
UpdateEnvironment(last_environment()->DiscardInlined(drop_extra));
|
||||
}
|
||||
|
||||
@ -237,9 +236,8 @@ void HBasicBlock::AddLeaveInlined(HValue* return_value,
|
||||
ASSERT(target->IsInlineReturnTarget());
|
||||
ASSERT(return_value != NULL);
|
||||
HEnvironment* env = last_environment();
|
||||
int argument_count = state->entry()->arguments_pushed()
|
||||
? env->arguments_environment()->parameter_count() : 0;
|
||||
AddInstruction(new(zone()) HLeaveInlined(argument_count));
|
||||
int argument_count = env->arguments_environment()->parameter_count();
|
||||
AddInstruction(new(zone()) HLeaveInlined(state->entry(), argument_count));
|
||||
UpdateEnvironment(last_environment()->DiscardInlined(drop_extra));
|
||||
last_environment()->Push(return_value);
|
||||
AddNewSimulate(BailoutId::None());
|
||||
|
Loading…
Reference in New Issue
Block a user