Index: src/interpreter/interpreter.cc |
diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc |
index 61cd7a44c085df9ff28be9c40a4ae11affec3f7a..63b2c94758c1b6c91bea6e78fa6373c399dfdfb4 100644 |
--- a/src/interpreter/interpreter.cc |
+++ b/src/interpreter/interpreter.cc |
@@ -191,6 +191,18 @@ void Interpreter::DoStar(compiler::InterpreterAssembler* assembler) { |
} |
+// LdaGlobal <slot_index> |
+// |
+// Load the global at |slot_index| into the accumulator. |
+void Interpreter::DoLdaGlobal(compiler::InterpreterAssembler* assembler) { |
+ Node* slot_index = __ BytecodeOperandIdx(0); |
+ Node* smi_slot_index = __ SmiTag(slot_index); |
+ Node* result = __ CallRuntime(Runtime::kLoadGlobalViaContext, smi_slot_index); |
+ __ SetAccumulator(result); |
+ __ Dispatch(); |
+} |
+ |
+ |
void Interpreter::DoPropertyLoadIC(Callable ic, |
compiler::InterpreterAssembler* assembler) { |
Node* code_target = __ HeapConstant(ic.code()); |