Revision: 6699
Author: [email protected]
Date: Wed Feb 9 05:56:35 2011
Log: Fix assert error on ARM triggered by large numbers of function
parameters.
Review URL: http://codereview.chromium.org/6458027
http://code.google.com/p/v8/source/detail?r=6699
Modified:
/branches/bleeding_edge/src/arm/codegen-arm.cc
/branches/bleeding_edge/src/arm/full-codegen-arm.cc
=======================================
--- /branches/bleeding_edge/src/arm/codegen-arm.cc Fri Feb 4 10:15:49 2011
+++ /branches/bleeding_edge/src/arm/codegen-arm.cc Wed Feb 9 05:56:35 2011
@@ -2192,15 +2192,10 @@
DeleteFrame();
#ifdef DEBUG
- // Check that the size of the code used for returning matches what is
- // expected by the debugger. If the sp_delts above cannot be encoded in
- // the add instruction the add will generate two instructions.
- int return_sequence_length =
- masm_->InstructionsGeneratedSince(&check_exit_codesize);
- CHECK(return_sequence_length ==
- Assembler::kJSReturnSequenceInstructions ||
- return_sequence_length ==
- Assembler::kJSReturnSequenceInstructions + 1);
+ // Check that the size of the code used for returning is large enough
+ // for the debugger's requirements.
+ ASSERT(Assembler::kJSReturnSequenceInstructions <=
+ masm_->InstructionsGeneratedSince(&check_exit_codesize));
#endif
}
}
=======================================
--- /branches/bleeding_edge/src/arm/full-codegen-arm.cc Tue Feb 8 11:42:24
2011
+++ /branches/bleeding_edge/src/arm/full-codegen-arm.cc Wed Feb 9 05:56:35
2011
@@ -268,15 +268,10 @@
}
#ifdef DEBUG
- // Check that the size of the code used for returning matches what is
- // expected by the debugger. If the sp_delts above cannot be encoded
in the
- // add instruction the add will generate two instructions.
- int return_sequence_length =
- masm_->InstructionsGeneratedSince(&check_exit_codesize);
- CHECK(return_sequence_length ==
- Assembler::kJSReturnSequenceInstructions ||
- return_sequence_length ==
- Assembler::kJSReturnSequenceInstructions + 1);
+ // Check that the size of the code used for returning is large enough
+ // for the debugger's requirements.
+ ASSERT(Assembler::kJSReturnSequenceInstructions <=
+ masm_->InstructionsGeneratedSince(&check_exit_codesize));
#endif
}
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev