Chromium Code Reviews| Index: src/x64/lithium-codegen-x64.cc |
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc |
| index 8e54f20736493d22adcedae360e12dca29d9db9f..ce837949bd2a385331c4d2371c53485d1c6edafa 100644 |
| --- a/src/x64/lithium-codegen-x64.cc |
| +++ b/src/x64/lithium-codegen-x64.cc |
| @@ -2047,7 +2047,7 @@ void LCodeGen::DoLoadGlobalGeneric(LLoadGlobalGeneric* instr) { |
| } |
| -void LCodeGen::DoStoreGlobal(LStoreGlobal* instr) { |
| +void LCodeGen::DoStoreGlobalCell(LStoreGlobalCell* instr) { |
| Register value = ToRegister(instr->InputAt(0)); |
| Register temp = ToRegister(instr->TempAt(0)); |
| ASSERT(!value.is(temp)); |
| @@ -2070,6 +2070,17 @@ void LCodeGen::DoStoreGlobal(LStoreGlobal* instr) { |
| } |
| +void LCodeGen::DoStoreGlobalGeneric(LStoreGlobalGeneric* instr) { |
| + ASSERT(ToRegister(instr->global_object()).is(rdx)); |
| + ASSERT(ToRegister(instr->value()).is(rax)); |
| + ASSERT(ToRegister(instr->result()).is(rax)); |
| + |
| + __ Move(rcx, instr->name()); |
| + Handle<Code> ic = isolate()->builtins()->StoreIC_Initialize(); |
| + CallCode(ic, RelocInfo::CODE_TARGET_CONTEXT, instr); |
| +} |
| + |
| + |
| void LCodeGen::DoLoadContextSlot(LLoadContextSlot* instr) { |
| Register context = ToRegister(instr->context()); |
| Register result = ToRegister(instr->result()); |
| @@ -2744,7 +2755,6 @@ void LCodeGen::DoPower(LPower* instr) { |
| ExternalReference::power_double_int_function(isolate()), 2); |
| } else { |
| ASSERT(exponent_type.IsTagged()); |
| - CpuFeatures::Scope scope(SSE2); |
|
fschneider
2011/04/04 13:47:50
Accidental edit?
Søren Thygesen Gjesse
2011/04/04 14:16:34
I don't think so, SSE2 is always available on x64,
fschneider
2011/04/04 14:20:31
You're right - I overlooked that this is the x64 f
|
| Register right_reg = ToRegister(right); |
| Label non_smi, call; |