| Index: src/runtime/runtime-literals.cc
|
| diff --git a/src/runtime/runtime-literals.cc b/src/runtime/runtime-literals.cc
|
| index 122b0456915e62a52a79aa19ef86269dc565cc46..522411829abe4fc7a0d556a96360a40ef14d8a13 100644
|
| --- a/src/runtime/runtime-literals.cc
|
| +++ b/src/runtime/runtime-literals.cc
|
| @@ -48,13 +48,13 @@ MUST_USE_RESULT static MaybeHandle<Object> CreateObjectLiteralBoilerplate(
|
| // slow properties mode for now. We don't go in the map cache because
|
| // maps with constant functions can't be shared if the functions are
|
| // not the same (which is the common case).
|
| - // TODO(rossberg): handle strong objects with function literals
|
| bool is_result_from_cache = false;
|
| Handle<Map> map = has_function_literal
|
| - ? Handle<Map>(context->object_function()->initial_map())
|
| - : ComputeObjectLiteralMap(context, constant_properties,
|
| - is_strong,
|
| - &is_result_from_cache);
|
| + ? Handle<Map>(is_strong
|
| + ? context->js_object_strong_map()
|
| + : context->object_function()->initial_map())
|
| + : ComputeObjectLiteralMap(context, constant_properties, is_strong,
|
| + &is_result_from_cache);
|
|
|
| PretenureFlag pretenure_flag =
|
| isolate->heap()->InNewSpace(*literals) ? NOT_TENURED : TENURED;
|
|
|