Commit 8d3d7705 authored by whesse@chromium.org's avatar whesse@chromium.org

Fix assert error on ARM triggered by large numbers of function parameters.

Review URL: http://codereview.chromium.org/6458027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent afec61e8
...@@ -2192,15 +2192,10 @@ void CodeGenerator::GenerateReturnSequence() { ...@@ -2192,15 +2192,10 @@ void CodeGenerator::GenerateReturnSequence() {
DeleteFrame(); DeleteFrame();
#ifdef DEBUG #ifdef DEBUG
// Check that the size of the code used for returning matches what is // Check that the size of the code used for returning is large enough
// expected by the debugger. If the sp_delts above cannot be encoded in // for the debugger's requirements.
// the add instruction the add will generate two instructions. ASSERT(Assembler::kJSReturnSequenceInstructions <=
int return_sequence_length = masm_->InstructionsGeneratedSince(&check_exit_codesize));
masm_->InstructionsGeneratedSince(&check_exit_codesize);
CHECK(return_sequence_length ==
Assembler::kJSReturnSequenceInstructions ||
return_sequence_length ==
Assembler::kJSReturnSequenceInstructions + 1);
#endif #endif
} }
} }
......
...@@ -268,15 +268,10 @@ void FullCodeGenerator::EmitReturnSequence() { ...@@ -268,15 +268,10 @@ void FullCodeGenerator::EmitReturnSequence() {
} }
#ifdef DEBUG #ifdef DEBUG
// Check that the size of the code used for returning matches what is // Check that the size of the code used for returning is large enough
// expected by the debugger. If the sp_delts above cannot be encoded in the // for the debugger's requirements.
// add instruction the add will generate two instructions. ASSERT(Assembler::kJSReturnSequenceInstructions <=
int return_sequence_length = masm_->InstructionsGeneratedSince(&check_exit_codesize));
masm_->InstructionsGeneratedSince(&check_exit_codesize);
CHECK(return_sequence_length ==
Assembler::kJSReturnSequenceInstructions ||
return_sequence_length ==
Assembler::kJSReturnSequenceInstructions + 1);
#endif #endif
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment