Author: [email protected]
Date: Thu Apr 23 00:52:38 2009
New Revision: 1780
Modified:
branches/bleeding_edge/src/codegen-ia32.cc
Log:
2nd try at fixing coverage of inline keyed access on IA32.
Review URL: http://codereview.chromium.org/92067
Modified: branches/bleeding_edge/src/codegen-ia32.cc
==============================================================================
--- branches/bleeding_edge/src/codegen-ia32.cc (original)
+++ branches/bleeding_edge/src/codegen-ia32.cc Thu Apr 23 00:52:38 2009
@@ -5273,12 +5273,14 @@
// instruction.
ASSERT(value.is_register() && value.reg().is(eax));
// The delta from the start of the map-compare instruction to the
- // test eax instruction. We use masm_ directly here instead of the
+ // test instruction. We use masm_ directly here instead of the
// double underscore macro because the macro sometimes uses macro
// expansion to turn into something that can't return a value. This
// is encountered when doing generated code coverage tests.
int delta_to_patch_site = masm_->SizeOfCodeGeneratedSince(patch_site());
- __ test(value.reg(), Immediate(-delta_to_patch_site));
+ // Here we use masm_-> instead of the double underscore macro because
this
+ // is the instruction that gets patched and coverage code gets in the
way.
+ masm_->test(value.reg(), Immediate(-delta_to_patch_site));
__ IncrementCounter(&Counters::keyed_load_inline_miss, 1);
// The receiver and key were spilled by the call, so their state as
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---