Chromium Code Reviews| Index: src/compiler/bytecode-graph-builder.cc |
| diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc |
| index 6f7b374a7599eae1e15008d684b5c0b6fd0f02af..a0fe23b9c480a2382fa15cacea62a53ee5022d9d 100644 |
| --- a/src/compiler/bytecode-graph-builder.cc |
| +++ b/src/compiler/bytecode-graph-builder.cc |
| @@ -1132,6 +1132,25 @@ void BytecodeGraphBuilder::VisitStaKeyedPropertyStrict() { |
| BuildKeyedStore(LanguageMode::STRICT); |
| } |
| +void BytecodeGraphBuilder::VisitLdaModuleVariable() { |
| + // TODO(neis): Don't call the runtime. |
|
Benedikt Meurer
2016/11/04 16:45:59
So next step is to introduce JSLoadModuleVariable
|
| + PrepareEagerCheckpoint(); |
| + Node* index = jsgraph()->Constant(bytecode_iterator().GetImmediateOperand(0)); |
| + const Operator* op = javascript()->CallRuntime(Runtime::kLoadModuleVariable); |
| + Node* value = NewNode(op, index); |
| + environment()->BindAccumulator(value, Environment::kAttachFrameState); |
| +} |
| + |
| +void BytecodeGraphBuilder::VisitStaModuleVariable() { |
| + // TODO(neis): Don't call the runtime. |
| + PrepareEagerCheckpoint(); |
| + Node* index = jsgraph()->Constant(bytecode_iterator().GetImmediateOperand(0)); |
| + Node* value = environment()->LookupAccumulator(); |
| + const Operator* op = javascript()->CallRuntime(Runtime::kStoreModuleVariable); |
| + Node* store = NewNode(op, index, value); |
| + environment()->RecordAfterState(store, Environment::kAttachFrameState); |
| +} |
| + |
| void BytecodeGraphBuilder::VisitPushContext() { |
| Node* new_context = environment()->LookupAccumulator(); |
| environment()->BindRegister(bytecode_iterator().GetRegisterOperand(0), |