Index: src/mips/full-codegen-mips.cc |
diff --git a/src/mips/full-codegen-mips.cc b/src/mips/full-codegen-mips.cc |
index ec362afba465c81b09f16ce8313158cf4b5d417a..570bdfae369051b94cc6294ec934f8959c97ffb1 100644 |
--- a/src/mips/full-codegen-mips.cc |
+++ b/src/mips/full-codegen-mips.cc |
@@ -2643,6 +2643,18 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit, |
// constructor |
__ CallRuntime(Runtime::kToFastProperties, 1); |
+ |
+ if (is_strong(language_mode())) { |
+ __ lw(scratch, |
+ FieldMemOperand(v0, JSFunction::kPrototypeOrInitialMapOffset)); |
+ __ Push(v0, scratch); |
+ // TODO(conradw): It would be more efficient to define the properties with |
+ // the right attributes the first time round. |
+ // Freeze the prototype. |
+ __ CallRuntime(Runtime::kObjectFreeze, 1); |
+ // Freeze the constructor. |
+ __ CallRuntime(Runtime::kObjectFreeze, 1); |
+ } |
} |