| Index: src/deoptimizer.h
|
| diff --git a/src/deoptimizer.h b/src/deoptimizer.h
|
| index 1a9d6938c6b05cd74d37b234515b2ec20334ba43..6682c2ee9e9904ac04f1efd90b6013628898e3df 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) { }
|
| + SlotRef(Isolate* isolate, Object* literal)
|
| + : 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:
|
|
|