Index: src/interpreter/interpreter.cc |
diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc |
index be924980c26dff0f135b6fb93fb59e507c74eb43..cc2af9d90c76281663a71498e8e2b817f8e98396 100644 |
--- a/src/interpreter/interpreter.cc |
+++ b/src/interpreter/interpreter.cc |
@@ -817,11 +817,11 @@ void Interpreter::DoStaKeyedPropertyStrict(InterpreterAssembler* assembler) { |
DoKeyedStoreIC(ic, assembler); |
} |
-// StaDataPropertyInLiteral <object> <name> <value> <attrs> |
+// StaDataPropertyInLiteral <object> <name> <value> <flags> |
// |
-// Define a property <name> with value <value> in <object>. Use property |
-// attributes <attrs> in the definition and set the name property of <value> |
-// according to the flag in the accumulator. |
+// Define a property <name> with value <value> in <object>. Property attributes |
+// and whether set_function_name are stored in DataPropertyInLiteralFlags |
+// <flags>. |
// |
// This definition is not observable and is used only for definitions |
// in object or class literals. |
@@ -832,15 +832,12 @@ void Interpreter::DoStaDataPropertyInLiteral(InterpreterAssembler* assembler) { |
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* flags = __ SmiFromWord32(__ BytecodeOperandFlag(3)); |
Node* context = __ GetContext(); |
__ CallRuntime(Runtime::kDefineDataPropertyInLiteral, context, object, name, |
- value, attrs, set_function_name); |
+ value, flags); |
__ Dispatch(); |
} |