| Index: src/compiler/js-native-context-specialization.cc
|
| diff --git a/src/compiler/js-native-context-specialization.cc b/src/compiler/js-native-context-specialization.cc
|
| index 649c208113682f6ebaa0f83a6f4214743b72f6de..374f7b9702319a47e4630cb4de14705e36f4b8db 100644
|
| --- a/src/compiler/js-native-context-specialization.cc
|
| +++ b/src/compiler/js-native-context-specialization.cc
|
| @@ -312,19 +312,21 @@ Reduction JSNativeContextSpecialization::ReduceNamedAccess(
|
| !FLAG_unbox_double_fields) {
|
| if (access_info.HasTransitionMap()) {
|
| // Allocate a MutableHeapNumber for the new property.
|
| - Callable callable =
|
| - CodeFactory::AllocateMutableHeapNumber(isolate());
|
| - CallDescriptor* desc = Linkage::GetStubCallDescriptor(
|
| - isolate(), jsgraph()->zone(), callable.descriptor(), 0,
|
| - CallDescriptor::kNoFlags, Operator::kNoThrow);
|
| - Node* this_box = this_effect = graph()->NewNode(
|
| - common()->Call(desc),
|
| - jsgraph()->HeapConstant(callable.code()),
|
| - jsgraph()->NoContextConstant(), this_effect, this_control);
|
| + this_effect =
|
| + graph()->NewNode(common()->BeginRegion(), this_effect);
|
| + Node* this_box = this_effect =
|
| + graph()->NewNode(simplified()->Allocate(NOT_TENURED),
|
| + jsgraph()->Constant(HeapNumber::kSize),
|
| + this_effect, this_control);
|
| + this_effect = graph()->NewNode(
|
| + simplified()->StoreField(AccessBuilder::ForMap()), this_box,
|
| + jsgraph()->HeapConstant(factory()->mutable_heap_number_map()),
|
| + this_effect, this_control);
|
| this_effect = graph()->NewNode(
|
| simplified()->StoreField(AccessBuilder::ForHeapNumberValue()),
|
| this_box, this_value, this_effect, this_control);
|
| - this_value = this_box;
|
| + this_value = this_effect = graph()->NewNode(
|
| + common()->FinishRegion(), this_box, this_effect);
|
|
|
| field_access.type = Type::TaggedPointer();
|
| } else {
|
|
|