Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index 9349dc5abe87f89539a651b4e84c45dd9f684e1e..07b463bd859d82c1fac89d6663e79b999edcd152 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -8045,11 +8045,14 @@ static MaybeObject* Runtime_SetNewFunctionAttributes(Arguments args) { |
HandleScope scope; |
ASSERT(args.length() == 1); |
CONVERT_ARG_CHECKED(JSFunction, func, 0); |
- ASSERT(func->map()->instance_type() == |
- Top::function_instance_map()->instance_type()); |
- ASSERT(func->map()->instance_size() == |
- Top::function_instance_map()->instance_size()); |
- func->set_map(*Top::function_instance_map()); |
+ |
+ Handle<Map> map = func->shared()->strict_mode() |
+ ? Top::function_instance_map_strict() |
+ : Top::function_instance_map(); |
+ |
+ ASSERT(func->map()->instance_type() == map->instance_type()); |
+ ASSERT(func->map()->instance_size() == map->instance_size()); |
+ func->set_map(*map); |
return *func; |
} |