Index: src/deoptimizer.cc |
diff --git a/src/deoptimizer.cc b/src/deoptimizer.cc |
index 7c79c89078b98a74e8d65bfb766e2670a8850ba4..befb0f3b85acf264b312e02ea902f5480903625f 100644 |
--- a/src/deoptimizer.cc |
+++ b/src/deoptimizer.cc |
@@ -3389,7 +3389,11 @@ Handle<Object> SlotRefValueBuilder::GetNext(Isolate* isolate, int lvl) { |
case SlotRef::UINT32: |
case SlotRef::DOUBLE: |
case SlotRef::LITERAL: { |
- return slot.GetValue(isolate); |
+ Handle<Object> value = slot.GetValue(isolate); |
+ if (value->IsMutableHeapNumber()) { |
Igor Sheludko
2015/02/17 15:07:54
I think we could save some cycles if we put this c
Jarin
2015/02/17 15:20:48
Done. (Even though there is so much stuff going on
|
+ HeapNumber::cast(*value)->set_map(isolate->heap()->heap_number_map()); |
+ } |
+ return value; |
} |
case SlotRef::ARGUMENTS_OBJECT: { |
// We should never need to materialize an arguments object, |