From: mstarzinger@chromium.org Date: Tue, 17 Sep 2013 10:27:19 +0000 (+0000) Subject: Ensure escape analysis preserves boxed HeapNumber. X-Git-Tag: upstream/4.7.83~12467 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=680af93c36e6e829a616dad32572fd237c20eda8;p=platform%2Fupstream%2Fv8.git 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 --- 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; }