| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index a6d891586cb51942f59f3cb91194610a7ae6efaf..6ef9bb7e5553398ff56ad5c279201a2a9e9297a9 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -3285,9 +3285,9 @@ class HConstant V8_FINAL : public HTemplateInstruction<0> {
|
| return new_constant;
|
| }
|
|
|
| - Handle<Object> handle() {
|
| + Handle<Object> handle(Isolate* isolate) {
|
| if (handle_.is_null()) {
|
| - Factory* factory = Isolate::Current()->factory();
|
| + Factory* factory = isolate->factory();
|
| // Default arguments to is_not_in_new_space depend on this heap number
|
| // to be tenured so that it's guaranteed not be be located in new space.
|
| handle_ = factory->NewNumber(double_value_, TENURED);
|
| @@ -3298,7 +3298,7 @@ class HConstant V8_FINAL : public HTemplateInstruction<0> {
|
| }
|
|
|
| bool HasMap(Handle<Map> map) {
|
| - Handle<Object> constant_object = handle();
|
| + Handle<Object> constant_object = handle(map->GetIsolate());
|
| return constant_object->IsHeapObject() &&
|
| Handle<HeapObject>::cast(constant_object)->map() == *map;
|
| }
|
| @@ -3358,7 +3358,6 @@ class HConstant V8_FINAL : public HTemplateInstruction<0> {
|
|
|
| virtual bool EmitAtUses() V8_OVERRIDE;
|
| virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
|
| - bool IsInteger() { return handle()->IsSmi(); }
|
| HConstant* CopyToRepresentation(Representation r, Zone* zone) const;
|
| Maybe<HConstant*> CopyToTruncatedInt32(Zone* zone);
|
| Maybe<HConstant*> CopyToTruncatedNumber(Zone* zone);
|
| @@ -6105,7 +6104,8 @@ class HStoreNamedField V8_FINAL : public HTemplateInstruction<3> {
|
|
|
| Handle<Map> transition_map() const {
|
| if (has_transition()) {
|
| - return Handle<Map>::cast(HConstant::cast(transition())->handle());
|
| + return Handle<Map>::cast(
|
| + HConstant::cast(transition())->handle(Isolate::Current()));
|
| } else {
|
| return Handle<Map>();
|
| }
|
| @@ -6113,7 +6113,7 @@ class HStoreNamedField V8_FINAL : public HTemplateInstruction<3> {
|
|
|
| void SetTransition(HConstant* map_constant, CompilationInfo* info) {
|
| ASSERT(!has_transition()); // Only set once.
|
| - Handle<Map> map = Handle<Map>::cast(map_constant->handle());
|
| + Handle<Map> map = Handle<Map>::cast(map_constant->handle(info->isolate()));
|
| if (map->CanBeDeprecated()) {
|
| map->AddDependentCompilationInfo(DependentCode::kTransitionGroup, info);
|
| }
|
|
|