From 680af93c36e6e829a616dad32572fd237c20eda8 Mon Sep 17 00:00:00 2001 From: "mstarzinger@chromium.org" Date: Tue, 17 Sep 2013 10:27:19 +0000 Subject: [PATCH] Ensure escape analysis preserves boxed HeapNumber. R=hpayer@chromium.org Review URL: https://codereview.chromium.org/23940005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/deoptimizer.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/deoptimizer.cc b/src/deoptimizer.cc index c979a53..0c9760e 100644 --- a/src/deoptimizer.cc +++ b/src/deoptimizer.cc @@ -1617,9 +1617,10 @@ Handle Deoptimizer::MaterializeNextHeapObject() { Handle map = Handle::cast(MaterializeNextValue()); switch (map->instance_type()) { case HEAP_NUMBER_TYPE: { - Handle number = - Handle::cast(MaterializeNextValue()); - materialized_objects_->Add(number); + Handle object = isolate_->factory()->NewHeapNumber(0.0); + materialized_objects_->Add(object); + Handle number = MaterializeNextValue(); + object->set_value(number->Number()); materialization_value_index_ += kDoubleSize / kPointerSize - 1; break; } -- 2.7.4