Commit 0976d48b authored by ricow@chromium.org's avatar ricow@chromium.org

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
parent 4143e4c0
...@@ -80,7 +80,7 @@ void Deoptimizer::DeoptimizeFunction(JSFunction* function) { ...@@ -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);
......
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