| Index: src/x64/lithium-codegen-x64.cc
|
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
|
| index 9540bbc6283d75a464278209d03a9894e69a9d58..eb46d7b4cf2e113b9b255f63f8693b11b4e97b82 100644
|
| --- a/src/x64/lithium-codegen-x64.cc
|
| +++ b/src/x64/lithium-codegen-x64.cc
|
| @@ -1926,7 +1926,11 @@ void LCodeGen::DoLoadPixelArrayElement(LLoadPixelArrayElement* instr) {
|
|
|
|
|
| void LCodeGen::DoLoadKeyedGeneric(LLoadKeyedGeneric* instr) {
|
| - Abort("Unimplemented: %s", "DoLoadKeyedGeneric");
|
| + ASSERT(ToRegister(instr->object()).is(rdx));
|
| + ASSERT(ToRegister(instr->key()).is(rax));
|
| +
|
| + Handle<Code> ic(Builtins::builtin(Builtins::KeyedLoadIC_Initialize));
|
| + CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| }
|
|
|
|
|
| @@ -2215,7 +2219,12 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) {
|
|
|
|
|
| void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) {
|
| - Abort("Unimplemented: %s", "DoStoreNamedGeneric");
|
| + ASSERT(ToRegister(instr->object()).is(rdx));
|
| + ASSERT(ToRegister(instr->value()).is(rax));
|
| +
|
| + __ Move(rcx, instr->hydrogen()->name());
|
| + Handle<Code> ic(Builtins::builtin(Builtins::StoreIC_Initialize));
|
| + CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| }
|
|
|
|
|
| @@ -2279,7 +2288,12 @@ void LCodeGen::DoStoreKeyedFastElement(LStoreKeyedFastElement* instr) {
|
|
|
|
|
| void LCodeGen::DoStoreKeyedGeneric(LStoreKeyedGeneric* instr) {
|
| - Abort("Unimplemented: %s", "DoStoreKeyedGeneric");
|
| + ASSERT(ToRegister(instr->object()).is(rdx));
|
| + ASSERT(ToRegister(instr->key()).is(rcx));
|
| + ASSERT(ToRegister(instr->value()).is(rax));
|
| +
|
| + Handle<Code> ic(Builtins::builtin(Builtins::KeyedStoreIC_Initialize));
|
| + CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
| }
|
|
|
|
|
|
|