| Index: src/full-codegen/mips/full-codegen-mips.cc
|
| diff --git a/src/full-codegen/mips/full-codegen-mips.cc b/src/full-codegen/mips/full-codegen-mips.cc
|
| index 928ebcdc804a01d4f3d2e329dff272771e575854..a9402564f64d7e70b6a845adba2a96735fb36b98 100644
|
| --- a/src/full-codegen/mips/full-codegen-mips.cc
|
| +++ b/src/full-codegen/mips/full-codegen-mips.cc
|
| @@ -1643,9 +1643,9 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
| case ObjectLiteral::Property::MATERIALIZED_LITERAL:
|
| case ObjectLiteral::Property::COMPUTED:
|
| if (property->emit_store()) {
|
| - __ li(a0, Operand(Smi::FromInt(NONE)));
|
| - __ push(a0);
|
| - __ CallRuntime(Runtime::kDefineDataPropertyUnchecked);
|
| + __ Push(Smi::FromInt(NONE));
|
| + __ Push(Smi::FromInt(property->NeedsSetFunctionName()));
|
| + __ CallRuntime(Runtime::kDefineDataPropertyInLiteral);
|
| } else {
|
| __ Drop(3);
|
| }
|
| @@ -1656,14 +1656,12 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
| break;
|
|
|
| case ObjectLiteral::Property::GETTER:
|
| - __ li(a0, Operand(Smi::FromInt(NONE)));
|
| - __ push(a0);
|
| + __ Push(Smi::FromInt(NONE));
|
| __ CallRuntime(Runtime::kDefineGetterPropertyUnchecked);
|
| break;
|
|
|
| case ObjectLiteral::Property::SETTER:
|
| - __ li(a0, Operand(Smi::FromInt(NONE)));
|
| - __ push(a0);
|
| + __ Push(Smi::FromInt(NONE));
|
| __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked);
|
| break;
|
| }
|
| @@ -2391,18 +2389,18 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) {
|
| case ObjectLiteral::Property::PROTOTYPE:
|
| UNREACHABLE();
|
| case ObjectLiteral::Property::COMPUTED:
|
| - __ CallRuntime(Runtime::kDefineClassMethod);
|
| + __ Push(Smi::FromInt(DONT_ENUM));
|
| + __ Push(Smi::FromInt(property->NeedsSetFunctionName()));
|
| + __ CallRuntime(Runtime::kDefineDataPropertyInLiteral);
|
| break;
|
|
|
| case ObjectLiteral::Property::GETTER:
|
| - __ li(a0, Operand(Smi::FromInt(DONT_ENUM)));
|
| - __ push(a0);
|
| + __ Push(Smi::FromInt(DONT_ENUM));
|
| __ CallRuntime(Runtime::kDefineGetterPropertyUnchecked);
|
| break;
|
|
|
| case ObjectLiteral::Property::SETTER:
|
| - __ li(a0, Operand(Smi::FromInt(DONT_ENUM)));
|
| - __ push(a0);
|
| + __ Push(Smi::FromInt(DONT_ENUM));
|
| __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked);
|
| break;
|
|
|
|
|