Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index c292a176792f410f4461121aaa3be77dacb14923..11643dee7bed582222c260756eae8ba5c2a9c10b 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -5372,7 +5372,8 @@ HInstruction* HOptimizedGraphBuilder::BuildStoreNamedField( |
HType::HeapNumber(), |
pretenure_flag, |
HEAP_NUMBER_TYPE); |
Igor Sheludko
2014/03/27 11:30:16
MUTABLE_HEAP_NUMBER_TYPE?
|
- AddStoreMapConstant(heap_number, isolate()->factory()->heap_number_map()); |
+ AddStoreMapConstant( |
+ heap_number, isolate()->factory()->mutable_heap_number_map()); |
Add<HStoreNamedField>(heap_number, HObjectAccess::ForHeapNumberValue(), |
value); |
instr = New<HStoreNamedField>(checked_object->ActualValue(), |
@@ -9911,9 +9912,12 @@ void HOptimizedGraphBuilder::BuildEmitInObjectProperties( |
Add<HAllocate>(heap_number_constant, HType::HeapNumber(), |
Igor Sheludko
2014/03/27 11:30:16
Don't we need a HType::MutableHeapNumber() thing?
|
pretenure_flag, HEAP_NUMBER_TYPE); |
Igor Sheludko
2014/03/27 11:30:16
MUTABLE_HEAP_NUMBER_TYPE?
|
AddStoreMapConstant(double_box, |
- isolate()->factory()->heap_number_map()); |
- Add<HStoreNamedField>(double_box, HObjectAccess::ForHeapNumberValue(), |
- Add<HConstant>(value)); |
+ isolate()->factory()->mutable_heap_number_map()); |
+ // Unwrap the mutable heap number from the boilerplate. |
+ HValue* double_value = |
+ Add<HConstant>(Handle<HeapNumber>::cast(value)->value()); |
Igor Sheludko
2014/03/27 11:30:16
value->Number()
|
+ Add<HStoreNamedField>( |
+ double_box, HObjectAccess::ForHeapNumberValue(), double_value); |
value_instruction = double_box; |
} else if (representation.IsSmi()) { |
value_instruction = value->IsUninitialized() |