Fix wrong assert in ia32 deoptimizer.

In revision 6795 I introduced an assertion in the deoptimizer that was
wrong. We check that curr_address - prev_address > patch_size(), but
prev_address is actually the address right after the last patched
call, so we just need to be larger than or equal to prev_address.


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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
ricow@chromium.org 2011-02-15 16:12:46 +00:00
parent 4143e4c097
commit 0976d48ba6

View File

@ -80,7 +80,7 @@ void Deoptimizer::DeoptimizeFunction(JSFunction* function) {
Address prev_address = code_start_address; Address prev_address = code_start_address;
for (unsigned i = 0; i < table.length(); ++i) { for (unsigned i = 0; i < table.length(); ++i) {
Address curr_address = code_start_address + table.GetPcOffset(i); Address curr_address = code_start_address + table.GetPcOffset(i);
ASSERT_GE(curr_address - prev_address, patch_size()); ASSERT_GE(curr_address, prev_address);
ZapCodeRange(prev_address, curr_address); ZapCodeRange(prev_address, curr_address);
SafepointEntry safepoint_entry = table.GetEntry(i); SafepointEntry safepoint_entry = table.GetEntry(i);