Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index 0ef4be064dac2b7b049c8fdf967a659e190275c8..461ba58b46a5d0c50fc76f9b3cc2618f286cc022 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -175,6 +175,7 @@ void FullCodeGenerator::Generate() { |
// Adjust FP to point to saved FP. |
__ add(fp, sp, Operand(2 * kPointerSize)); |
} |
+ info->AddNoFrameRange(0, masm_->pc_offset()); |
{ Comment cmnt(masm_, "[ Allocate locals"); |
int locals_count = info->scope()->num_stack_slots(); |
@@ -427,6 +428,8 @@ void FullCodeGenerator::EmitReturnSequence() { |
Label check_exit_codesize; |
masm_->bind(&check_exit_codesize); |
#endif |
+ Label exit_codesize; |
Jakob Kummerow
2013/05/14 12:38:51
I don't see what we need this label for.
yurys
2013/05/14 22:51:19
Removed. Thanks.
|
+ masm_->bind(&exit_codesize); |
// Make sure that the constant pool is not emitted inside of the return |
// sequence. |
{ Assembler::BlockConstPoolScope block_const_pool(masm_); |
@@ -438,9 +441,11 @@ void FullCodeGenerator::EmitReturnSequence() { |
PredictableCodeSizeScope predictable(masm_, -1); |
__ RecordJSReturn(); |
masm_->mov(sp, fp); |
+ int no_frame_start = masm_->pc_offset(); |
masm_->ldm(ia_w, sp, fp.bit() | lr.bit()); |
masm_->add(sp, sp, Operand(sp_delta)); |
masm_->Jump(lr); |
+ info_->AddNoFrameRange(no_frame_start, masm_->pc_offset()); |
} |
#ifdef DEBUG |