Chromium Code Reviews| Index: src/interpreter/interpreter.cc |
| diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc |
| index 9128ee984039c764d20e4c34ae3a762f0c143829..2154b53a571092ae792e93e180c2e0df60c369bd 100644 |
| --- a/src/interpreter/interpreter.cc |
| +++ b/src/interpreter/interpreter.cc |
| @@ -804,6 +804,25 @@ void Interpreter::DoStaNamedPropertyStrict(InterpreterAssembler* assembler) { |
| DoStoreIC(ic, assembler); |
| } |
| +void Interpreter::DoStaDataPropertyInLiteral(InterpreterAssembler* assembler) { |
|
rmcilroy
2016/11/18 09:33:50
Nit - please add a comment describing what the byt
|
| + Node* object_reg_index = __ BytecodeOperandReg(0); |
| + Node* object = __ LoadRegister(object_reg_index); |
| + Node* name_reg_index = __ BytecodeOperandReg(1); |
| + Node* name = __ LoadRegister(name_reg_index); |
| + Node* value_reg_index = __ BytecodeOperandReg(2); |
| + Node* value = __ LoadRegister(value_reg_index); |
| + Node* attrs_reg_index = __ BytecodeOperandReg(3); |
| + Node* attrs = __ LoadRegister(attrs_reg_index); |
| + |
| + Node* set_function_name = __ GetAccumulator(); |
| + |
| + Node* context = __ GetContext(); |
| + |
| + __ CallRuntime(Runtime::kDefineDataPropertyInLiteral, context, object, name, |
| + value, attrs, set_function_name); |
| + __ Dispatch(); |
| +} |
| + |
| void Interpreter::DoKeyedStoreIC(Callable ic, InterpreterAssembler* assembler) { |
| typedef StoreWithVectorDescriptor Descriptor; |
| Node* code_target = __ HeapConstant(ic.code()); |