Chromium Code Reviews| Index: src/deoptimizer.h |
| diff --git a/src/deoptimizer.h b/src/deoptimizer.h |
| index 1a9d6938c6b05cd74d37b234515b2ec20334ba43..6279074bd5be662d3cf4bf91f1241b2109339769 100644 |
| --- a/src/deoptimizer.h |
| +++ b/src/deoptimizer.h |
| @@ -733,36 +733,35 @@ class SlotRef BASE_EMBEDDED { |
| SlotRef(Address addr, SlotRepresentation representation) |
| : addr_(addr), representation_(representation) { } |
| - explicit SlotRef(Object* literal) |
| - : literal_(literal), representation_(LITERAL) { } |
| + explicit SlotRef(Isolate* isolate, Object* literal) |
|
Michael Starzinger
2013/02/25 10:50:58
No longer needs to be marked as "explicit" as it h
Sven Panne
2013/02/25 14:44:43
Done.
|
| + : literal_(literal, isolate), representation_(LITERAL) { } |
| - Handle<Object> GetValue() { |
| + Handle<Object> GetValue(Isolate* isolate) { |
| switch (representation_) { |
| case TAGGED: |
| - return Handle<Object>(Memory::Object_at(addr_)); |
| + return Handle<Object>(Memory::Object_at(addr_), isolate); |
| case INT32: { |
| int value = Memory::int32_at(addr_); |
| if (Smi::IsValid(value)) { |
| - return Handle<Object>(Smi::FromInt(value)); |
| + return Handle<Object>(Smi::FromInt(value), isolate); |
| } else { |
| - return Isolate::Current()->factory()->NewNumberFromInt(value); |
| + return isolate->factory()->NewNumberFromInt(value); |
| } |
| } |
| case UINT32: { |
| uint32_t value = Memory::uint32_at(addr_); |
| if (value <= static_cast<uint32_t>(Smi::kMaxValue)) { |
| - return Handle<Object>(Smi::FromInt(static_cast<int>(value))); |
| + return Handle<Object>(Smi::FromInt(static_cast<int>(value)), isolate); |
| } else { |
| - return Isolate::Current()->factory()->NewNumber( |
| - static_cast<double>(value)); |
| + return isolate->factory()->NewNumber(static_cast<double>(value)); |
| } |
| } |
| case DOUBLE: { |
| double value = Memory::double_at(addr_); |
| - return Isolate::Current()->factory()->NewNumber(value); |
| + return isolate->factory()->NewNumber(value); |
| } |
| case LITERAL: |