| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index 4318f31689916634f23032167ece94f30d05f8be..5c9cad8e8488ce66e7ff52e8dfc41a746d4334d0 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -204,6 +204,7 @@ bool LCodeGen::GeneratePrologue() {
|
| frame_is_built_ = true;
|
| __ push(ebp); // Caller's frame pointer.
|
| __ mov(ebp, esp);
|
| + info()->AddNoFrameRange(0, masm_->pc_offset());
|
| __ push(esi); // Callee's context.
|
| if (info()->IsStub()) {
|
| __ push(Immediate(Smi::FromInt(StackFrame::STUB)));
|
| @@ -2819,9 +2820,11 @@ void LCodeGen::DoReturn(LReturn* instr) {
|
| __ mov(edx, Operand(ebp,
|
| JavaScriptFrameConstants::kDynamicAlignmentStateOffset));
|
| }
|
| + int no_frame_start = -1;
|
| if (NeedsEagerFrame()) {
|
| __ mov(esp, ebp);
|
| __ pop(ebp);
|
| + no_frame_start = masm_->pc_offset();
|
| }
|
| if (dynamic_frame_alignment_) {
|
| Label no_padding;
|
| @@ -2833,6 +2836,9 @@ void LCodeGen::DoReturn(LReturn* instr) {
|
| }
|
|
|
| EmitReturn(instr, false);
|
| + if (no_frame_start != -1) {
|
| + info()->AddNoFrameRange(no_frame_start, masm_->pc_offset());
|
| + }
|
| }
|
|
|
|
|
|
|