Commit 3ea38d41 authored by whesse@chromium.org's avatar whesse@chromium.org

X64 Crankshaft: Fix bug in DoStoreContextSlot, and enable it.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 30676b0a
......@@ -1726,7 +1726,6 @@ LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) {
LInstruction* LChunkBuilder::DoStoreContextSlot(HStoreContextSlot* instr) {
Abort("Unimplemented: DoStoreContextSlot"); // Temporarily disabled (whesse).
LOperand* context;
LOperand* value;
if (instr->NeedsWriteBarrier()) {
......
......@@ -95,7 +95,13 @@ void MacroAssembler::RecordWriteHelper(Register object,
if (FLAG_debug_code) {
// Check that the object is not in new space.
NearLabel not_in_new_space;
InNewSpace(object, scratch, not_equal, &not_in_new_space);
if (addr.is(kScratchRegister)) {
push(kScratchRegister);
InNewSpace(object, scratch, not_equal, &not_in_new_space);
pop(kScratchRegister);
} else {
InNewSpace(object, scratch, not_equal, &not_in_new_space);
}
Abort("new-space object passed to RecordWriteHelper");
bind(&not_in_new_space);
}
......
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