Index: src/ic/ic.cc |
diff --git a/src/ic/ic.cc b/src/ic/ic.cc |
index c59fa5da6b4cd4b756b18c7ae918f300987399f3..7771b05c64c50481f2a373e068870f7d89b48f99 100644 |
--- a/src/ic/ic.cc |
+++ b/src/ic/ic.cc |
@@ -549,7 +549,7 @@ void KeyedStoreIC::Clear(Isolate* isolate, Address address, Code* target, |
void CompareIC::Clear(Isolate* isolate, Address address, Code* target, |
ConstantPoolArray* constant_pool) { |
DCHECK(CodeStub::GetMajorKey(target) == CodeStub::CompareIC); |
- CompareICStub stub(target->stub_key()); |
+ CompareICStub stub(target->stub_key(), isolate); |
// Only clear CompareICs that can retain objects. |
if (stub.state() != KNOWN_OBJECT) return; |
SetTargetAtAddress(address, GetRawUninitialized(isolate, stub.op()), |
@@ -2746,7 +2746,7 @@ Type* CompareIC::StateToType(Zone* zone, CompareIC::State state, |
void CompareIC::StubInfoToType(uint32_t stub_key, Type** left_type, |
Type** right_type, Type** overall_type, |
Handle<Map> map, Zone* zone) { |
- CompareICStub stub(stub_key); |
+ CompareICStub stub(stub_key, map->GetIsolate()); |
*left_type = StateToType(zone, stub.left()); |
*right_type = StateToType(zone, stub.right()); |
*overall_type = StateToType(zone, stub.state(), map); |
@@ -2859,7 +2859,7 @@ CompareIC::State CompareIC::TargetState(State old_state, State old_left, |
Code* CompareIC::UpdateCaches(Handle<Object> x, Handle<Object> y) { |
HandleScope scope(isolate()); |
- CompareICStub old_stub(target()->stub_key()); |
+ CompareICStub old_stub(target()->stub_key(), isolate()); |
State new_left = NewInputState(old_stub.left(), x); |
State new_right = NewInputState(old_stub.right(), y); |
State state = TargetState(old_stub.state(), old_stub.left(), old_stub.right(), |