Index: src/ic.cc |
diff --git a/src/ic.cc b/src/ic.cc |
index 77d5dc5ab9f6256f88027117cf8c0c7dd2704c71..ee46961769695b62b3e572c2274412748ecb97b0 100644 |
--- a/src/ic.cc |
+++ b/src/ic.cc |
@@ -822,10 +822,10 @@ MaybeObject* LoadIC::Load(State state, |
stub = pre_monomorphic_stub(); |
} else if (state == PREMONOMORPHIC) { |
StringLengthStub string_length_stub(kind(), !object->IsString()); |
- stub = string_length_stub.GetCode(); |
+ stub = string_length_stub.GetCode(isolate()); |
} else if (state == MONOMORPHIC && object->IsStringWrapper()) { |
StringLengthStub string_length_stub(kind(), true); |
- stub = string_length_stub.GetCode(); |
+ stub = string_length_stub.GetCode(isolate()); |
} else if (state != MEGAMORPHIC) { |
ASSERT(state != GENERIC); |
stub = megamorphic_stub(); |
@@ -851,7 +851,7 @@ MaybeObject* LoadIC::Load(State state, |
stub = pre_monomorphic_stub(); |
} else if (state == PREMONOMORPHIC) { |
ArrayLengthStub array_length_stub(kind()); |
- stub = array_length_stub.GetCode(); |
+ stub = array_length_stub.GetCode(isolate()); |
} else if (state != MEGAMORPHIC) { |
ASSERT(state != GENERIC); |
stub = megamorphic_stub(); |
@@ -874,7 +874,7 @@ MaybeObject* LoadIC::Load(State state, |
stub = pre_monomorphic_stub(); |
} else if (state == PREMONOMORPHIC) { |
FunctionPrototypeStub function_prototype_stub(kind()); |
- stub = function_prototype_stub.GetCode(); |
+ stub = function_prototype_stub.GetCode(isolate()); |
} else if (state != MEGAMORPHIC) { |
ASSERT(state != GENERIC); |
stub = megamorphic_stub(); |
@@ -1398,7 +1398,8 @@ MaybeObject* StoreIC::Store(State state, |
name->Equals(isolate()->heap()->length_symbol()) && |
Handle<JSArray>::cast(receiver)->AllowsSetElementsLength() && |
receiver->HasFastProperties()) { |
- Handle<Code> stub = StoreArrayLengthStub(kind(), strict_mode).GetCode(); |
+ Handle<Code> stub = |
+ StoreArrayLengthStub(kind(), strict_mode).GetCode(isolate()); |
set_target(*stub); |
TRACE_IC("StoreIC", name, state, *stub); |
return receiver->SetProperty(*name, *value, NONE, strict_mode, store_mode); |
@@ -2147,7 +2148,7 @@ RUNTIME_FUNCTION(MaybeObject*, UnaryOp_Patch) { |
type = UnaryOpIC::ComputeNewType(type, previous_type); |
UnaryOpStub stub(op, mode, type); |
- Handle<Code> code = stub.GetCode(); |
+ Handle<Code> code = stub.GetCode(isolate); |
if (!code.is_null()) { |
if (FLAG_trace_ic) { |
PrintF("[UnaryOpIC in "); |
@@ -2275,7 +2276,7 @@ RUNTIME_FUNCTION(MaybeObject*, BinaryOp_Patch) { |
} |
BinaryOpStub stub(key, new_left, new_right, result_type); |
- Handle<Code> code = stub.GetCode(); |
+ Handle<Code> code = stub.GetCode(isolate); |
if (!code.is_null()) { |
#ifdef DEBUG |
if (FLAG_trace_ic) { |
@@ -2365,9 +2366,9 @@ Code* CompareIC::GetRawUninitialized(Token::Value op) { |
} |
-Handle<Code> CompareIC::GetUninitialized(Token::Value op) { |
+Handle<Code> CompareIC::GetUninitialized(Isolate* isolate, Token::Value op) { |
ICCompareStub stub(op, UNINITIALIZED, UNINITIALIZED, UNINITIALIZED); |
- return stub.GetCode(); |
+ return stub.GetCode(isolate); |
} |
@@ -2494,7 +2495,7 @@ void CompareIC::UpdateCaches(Handle<Object> x, Handle<Object> y) { |
if (state == KNOWN_OBJECTS) { |
stub.set_known_map(Handle<Map>(Handle<JSObject>::cast(x)->map())); |
} |
- set_target(*stub.GetCode()); |
+ set_target(*stub.GetCode(isolate())); |
#ifdef DEBUG |
if (FLAG_trace_ic) { |
@@ -2508,7 +2509,7 @@ void CompareIC::UpdateCaches(Handle<Object> x, Handle<Object> y) { |
GetStateName(new_right), |
GetStateName(state), |
Token::Name(op_), |
- static_cast<void*>(*stub.GetCode())); |
+ static_cast<void*>(*stub.GetCode(isolate()))); |
} |
#endif |
@@ -2542,7 +2543,7 @@ RUNTIME_FUNCTION(MaybeObject*, ToBoolean_Patch) { |
old_types.TraceTransition(new_types); |
ToBooleanStub stub(tos, new_types); |
- Handle<Code> code = stub.GetCode(); |
+ Handle<Code> code = stub.GetCode(isolate); |
ToBooleanIC ic(isolate); |
ic.patch(*code); |
return Smi::FromInt(to_boolean_value ? 1 : 0); |