Index: src/ppc/full-codegen-ppc.cc |
diff --git a/src/ppc/full-codegen-ppc.cc b/src/ppc/full-codegen-ppc.cc |
index e7b945bc1d27aa1d2aeda912bdb076040a3b5767..02536f7c093fb26f7c02964b8431e416b3bb08e4 100644 |
--- a/src/ppc/full-codegen-ppc.cc |
+++ b/src/ppc/full-codegen-ppc.cc |
@@ -2666,6 +2666,16 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit, |
// constructor |
__ CallRuntime(Runtime::kToFastProperties, 1); |
+ |
+ if (is_strong(language_mode())) { |
+ __ LoadP(scratch, |
+ FieldMemOperand(r3, JSFunction::kPrototypeOrInitialMapOffset)); |
+ __ Push(r3, scratch); |
+ __ CallRuntime(Runtime::kObjectFreeze, 1); |
+ // TODO(conradw): It would be more efficient to define the properties with |
+ // the right attributes the first time round. |
+ __ CallRuntime(Runtime::kObjectFreeze, 1); |
+ } |
} |