| Index: src/arm/lithium-codegen-arm.cc
|
| diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc
|
| index 5b3f23bb022663860c6019bb6239ef059ebf6c50..33c76042db6c0fba3501080c2c3e8e86659edd48 100644
|
| --- a/src/arm/lithium-codegen-arm.cc
|
| +++ b/src/arm/lithium-codegen-arm.cc
|
| @@ -1404,6 +1404,27 @@ void LCodeGen::DoStoreGlobal(LStoreGlobal* instr) {
|
| }
|
|
|
|
|
| +void LCodeGen::DoLoadContextSlot(LLoadContextSlot* instr) {
|
| +#if 0
|
| + // TODO(antonm): load a context with a separate instruction.
|
| + Register result = ToRegister(instr->result());
|
| + HLoadContextSlot* hinstr = instr->hydrogen();
|
| + Handle<Context> context = hinstr->context();
|
| + Comment(";;; Load context slot %d out of %p", hinstr->index(), *context);
|
| + if (Heap::InNewSpace(*context)) {
|
| + Handle<JSGlobalPropertyCell> cell =
|
| + Factory::NewJSGlobalPropertyCell(context);
|
| + __ mov(result, Operand::Cell(cell));
|
| + } else {
|
| + __ mov(result, context);
|
| + }
|
| + __ mov(result, Operand(result, Context::SlotOffset(hinstr->index())));
|
| +#else
|
| + Abort("DoLoadContextSlot unimplemented");
|
| +#endif
|
| +}
|
| +
|
| +
|
| void LCodeGen::DoLoadNamedField(LLoadNamedField* instr) {
|
| Abort("DoLoadNamedField unimplemented.");
|
| }
|
|
|