Put a slow assert under the enable_slow_asserts flag.

Otherwise really large functions take too long to compile
in debug mode.
Review URL: http://codereview.chromium.org/9212040

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
fschneider@chromium.org 2012-01-24 01:46:26 +00:00
parent 2284996cc1
commit c6e1d11885

View File

@ -370,12 +370,14 @@ void FullCodeGenerator::PrepareForBailoutForId(unsigned id, State state) {
StateField::encode(state) | PcField::encode(masm_->pc_offset()); StateField::encode(state) | PcField::encode(masm_->pc_offset());
BailoutEntry entry = { id, pc_and_state }; BailoutEntry entry = { id, pc_and_state };
#ifdef DEBUG #ifdef DEBUG
// Assert that we don't have multiple bailout entries for the same node. if (FLAG_enable_slow_asserts) {
for (int i = 0; i < bailout_entries_.length(); i++) { // Assert that we don't have multiple bailout entries for the same node.
if (bailout_entries_.at(i).id == entry.id) { for (int i = 0; i < bailout_entries_.length(); i++) {
AstPrinter printer; if (bailout_entries_.at(i).id == entry.id) {
PrintF("%s", printer.PrintProgram(info_->function())); AstPrinter printer;
UNREACHABLE(); PrintF("%s", printer.PrintProgram(info_->function()));
UNREACHABLE();
}
} }
} }
#endif // DEBUG #endif // DEBUG