Index: src/full-codegen.cc |
diff --git a/src/full-codegen.cc b/src/full-codegen.cc |
index 636698122617ee491f72ea7862c2bc08547d4c36..a97ea22134af4e9ea52765b1471b51d74921e791 100644 |
--- a/src/full-codegen.cc |
+++ b/src/full-codegen.cc |
@@ -1204,6 +1204,13 @@ void FullCodeGenerator::VisitClassLiteral(ClassLiteral* lit) { |
// Verify that compilation exactly consumed the number of store ic slots |
// that the ClassLiteral node had to offer. |
DCHECK(!FLAG_vector_stores || store_slot_index == lit->slot_count()); |
+ |
+ if (is_strong(language_mode())) { |
+ // TODO(conradw): It would be more efficient to define the properties with |
+ // the right attributes the first time round. |
+ __ Push(result_register()); |
+ __ CallRuntime(Runtime::kObjectFreeze, 1); |
+ } |
} |
context()->Plug(result_register()); |