Index: src/full-codegen/mips64/full-codegen-mips64.cc |
diff --git a/src/full-codegen/mips64/full-codegen-mips64.cc b/src/full-codegen/mips64/full-codegen-mips64.cc |
index 09146aaf56e6da0683cdc11b30b72f18582f9f0b..5bef9c769221fab90dee905ff0300cd26a231c9f 100644 |
--- a/src/full-codegen/mips64/full-codegen-mips64.cc |
+++ b/src/full-codegen/mips64/full-codegen-mips64.cc |
@@ -1644,9 +1644,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); |
} |
@@ -1657,14 +1657,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; |
} |
@@ -2396,18 +2394,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; |