diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2011-12-21 10:54:24 -0800 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2011-12-21 10:54:24 -0800 |
commit | 4eaf4ce26a0e66179d199997d9e0290867557702 (patch) | |
tree | aeaee42bc8f92e958abd90abc71eead5015bfbef /deps/v8/src/ia32/lithium-codegen-ia32.cc | |
parent | a82f5389d9673a48ab0facd6e77b2244dfe084c6 (diff) | |
download | node-4eaf4ce26a0e66179d199997d9e0290867557702.tar.gz |
Upgrade V8 to 3.8.2
Diffstat (limited to 'deps/v8/src/ia32/lithium-codegen-ia32.cc')
-rw-r--r-- | deps/v8/src/ia32/lithium-codegen-ia32.cc | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/deps/v8/src/ia32/lithium-codegen-ia32.cc b/deps/v8/src/ia32/lithium-codegen-ia32.cc index 788348104..ab3850276 100644 --- a/deps/v8/src/ia32/lithium-codegen-ia32.cc +++ b/deps/v8/src/ia32/lithium-codegen-ia32.cc @@ -2124,26 +2124,20 @@ void LCodeGen::DoLoadGlobalGeneric(LLoadGlobalGeneric* instr) { void LCodeGen::DoStoreGlobalCell(LStoreGlobalCell* instr) { - Register object = ToRegister(instr->TempAt(0)); - Register address = ToRegister(instr->TempAt(1)); - Register value = ToRegister(instr->InputAt(0)); - ASSERT(!value.is(object)); - Handle<JSGlobalPropertyCell> cell_handle(instr->hydrogen()->cell()); - - int offset = JSGlobalPropertyCell::kValueOffset; - __ mov(object, Immediate(cell_handle)); + Register value = ToRegister(instr->value()); + Handle<JSGlobalPropertyCell> cell_handle = instr->hydrogen()->cell(); // If the cell we are storing to contains the hole it could have // been deleted from the property dictionary. In that case, we need // to update the property details in the property dictionary to mark // it as no longer deleted. We deoptimize in that case. if (instr->hydrogen()->RequiresHoleCheck()) { - __ cmp(FieldOperand(object, offset), factory()->the_hole_value()); + __ cmp(Operand::Cell(cell_handle), factory()->the_hole_value()); DeoptimizeIf(equal, instr->environment()); } // Store the value. - __ mov(FieldOperand(object, offset), value); + __ mov(Operand::Cell(cell_handle), value); // Cells are always rescanned, so no write barrier here. } |