| Index: src/deoptimizer.h
|
| diff --git a/src/deoptimizer.h b/src/deoptimizer.h
|
| index 931082171f9a0d8cfdf09c99e4c20f21a27a78c2..706d1f0523eb026b96fc0f0011aaf6bafcdea170 100644
|
| --- a/src/deoptimizer.h
|
| +++ b/src/deoptimizer.h
|
| @@ -60,17 +60,18 @@ class FrameDescription;
|
| class TranslationIterator;
|
| class DeoptimizedFrameInfo;
|
|
|
| +template<typename T>
|
| class HeapNumberMaterializationDescriptor BASE_EMBEDDED {
|
| public:
|
| - HeapNumberMaterializationDescriptor(Address slot_address, double val)
|
| - : slot_address_(slot_address), val_(val) { }
|
| + HeapNumberMaterializationDescriptor(T destination, double value)
|
| + : destination_(destination), value_(value) { }
|
|
|
| - Address slot_address() const { return slot_address_; }
|
| - double value() const { return val_; }
|
| + T destination() const { return destination_; }
|
| + double value() const { return value_; }
|
|
|
| private:
|
| - Address slot_address_;
|
| - double val_;
|
| + T destination_;
|
| + double value_;
|
| };
|
|
|
|
|
| @@ -431,9 +432,10 @@ class Deoptimizer : public Malloced {
|
|
|
| // Deferred values to be materialized.
|
| List<Object*> deferred_objects_tagged_values_;
|
| - List<double> deferred_objects_double_values_;
|
| + List<HeapNumberMaterializationDescriptor<int> >
|
| + deferred_objects_double_values_;
|
| List<ObjectMaterializationDescriptor> deferred_objects_;
|
| - List<HeapNumberMaterializationDescriptor> deferred_heap_numbers_;
|
| + List<HeapNumberMaterializationDescriptor<Address> > deferred_heap_numbers_;
|
|
|
| // Output frame information. Only used during heap object materialization.
|
| List<Handle<JSFunction> > jsframe_functions_;
|
|
|