Index: src/ic.cc |
diff --git a/src/ic.cc b/src/ic.cc |
index 7c899705c8d9f53ae4764457fb9d659c19cef497..0f76a9a06cb6385652b3cfcbd59e2097f9d6401f 100644 |
--- a/src/ic.cc |
+++ b/src/ic.cc |
@@ -61,8 +61,7 @@ static char TransitionMarkFromState(IC::State state) { |
void IC::TraceIC(const char* type, |
Handle<Object> name, |
State old_state, |
- Code* new_target, |
- const char* extra_info) { |
+ Code* new_target) { |
if (FLAG_trace_ic) { |
State new_state = StateFrom(new_target, |
HEAP->undefined_value(), |
@@ -94,10 +93,9 @@ void IC::TraceIC(const char* type, |
} else { |
PrintF("<unknown>"); |
} |
- PrintF(" (%c->%c)%s", |
+ PrintF(" (%c->%c)", |
TransitionMarkFromState(old_state), |
- TransitionMarkFromState(new_state), |
- extra_info); |
+ TransitionMarkFromState(new_state)); |
name->Print(); |
PrintF("]\n"); |
} |
@@ -326,7 +324,6 @@ void CallICBase::Clear(Address address, Code* target) { |
Code* code = |
Isolate::Current()->stub_cache()->FindCallInitialize( |
target->arguments_count(), |
- target->ic_in_loop(), |
contextual ? RelocInfo::CODE_TARGET_CONTEXT : RelocInfo::CODE_TARGET, |
target->kind()); |
SetTargetAtAddress(address, code); |
@@ -604,13 +601,11 @@ MaybeObject* CallICBase::ComputeMonomorphicStub( |
Handle<Object> object, |
Handle<String> name) { |
int argc = target()->arguments_count(); |
- InLoopFlag in_loop = target()->ic_in_loop(); |
MaybeObject* maybe_code = NULL; |
switch (lookup->type()) { |
case FIELD: { |
int index = lookup->GetFieldIndex(); |
maybe_code = isolate()->stub_cache()->ComputeCallField(argc, |
- in_loop, |
kind_, |
extra_ic_state, |
*name, |
@@ -626,7 +621,6 @@ MaybeObject* CallICBase::ComputeMonomorphicStub( |
JSFunction* function = lookup->GetConstantFunction(); |
maybe_code = |
isolate()->stub_cache()->ComputeCallConstant(argc, |
- in_loop, |
kind_, |
extra_ic_state, |
*name, |
@@ -646,7 +640,6 @@ MaybeObject* CallICBase::ComputeMonomorphicStub( |
if (!cell->value()->IsJSFunction()) return NULL; |
JSFunction* function = JSFunction::cast(cell->value()); |
maybe_code = isolate()->stub_cache()->ComputeCallGlobal(argc, |
- in_loop, |
kind_, |
extra_ic_state, |
*name, |
@@ -661,7 +654,6 @@ MaybeObject* CallICBase::ComputeMonomorphicStub( |
// applicable. |
if (lookup->holder() != *receiver) return NULL; |
maybe_code = isolate()->stub_cache()->ComputeCallNormal(argc, |
- in_loop, |
kind_, |
extra_ic_state, |
*name, |
@@ -706,7 +698,6 @@ void CallICBase::UpdateCaches(LookupResult* lookup, |
// Compute the number of arguments. |
int argc = target()->arguments_count(); |
- InLoopFlag in_loop = target()->ic_in_loop(); |
MaybeObject* maybe_code = NULL; |
bool had_proto_failure = false; |
if (state == UNINITIALIZED) { |
@@ -715,7 +706,6 @@ void CallICBase::UpdateCaches(LookupResult* lookup, |
// setting the monomorphic state. |
maybe_code = |
isolate()->stub_cache()->ComputeCallPreMonomorphic(argc, |
- in_loop, |
kind_, |
extra_ic_state); |
} else if (state == MONOMORPHIC) { |
@@ -739,7 +729,6 @@ void CallICBase::UpdateCaches(LookupResult* lookup, |
} else { |
maybe_code = |
isolate()->stub_cache()->ComputeCallMegamorphic(argc, |
- in_loop, |
kind_, |
extra_ic_state); |
} |
@@ -776,7 +765,7 @@ void CallICBase::UpdateCaches(LookupResult* lookup, |
#ifdef DEBUG |
if (had_proto_failure) state = MONOMORPHIC_PROTOTYPE_FAILURE; |
TraceIC(kind_ == Code::CALL_IC ? "CallIC" : "KeyedCallIC", |
- name, state, target(), in_loop ? " (in-loop)" : ""); |
+ name, state, target()); |
#endif |
} |
@@ -797,31 +786,28 @@ MaybeObject* KeyedCallIC::LoadFunction(State state, |
if (FLAG_use_ic && state != MEGAMORPHIC && object->IsHeapObject()) { |
int argc = target()->arguments_count(); |
- InLoopFlag in_loop = target()->ic_in_loop(); |
Heap* heap = Handle<HeapObject>::cast(object)->GetHeap(); |
Map* map = heap->non_strict_arguments_elements_map(); |
if (object->IsJSObject() && |
Handle<JSObject>::cast(object)->elements()->map() == map) { |
MaybeObject* maybe_code = isolate()->stub_cache()->ComputeCallArguments( |
- argc, in_loop, Code::KEYED_CALL_IC); |
+ argc, Code::KEYED_CALL_IC); |
Object* code; |
if (maybe_code->ToObject(&code)) { |
set_target(Code::cast(code)); |
#ifdef DEBUG |
- TraceIC( |
- "KeyedCallIC", key, state, target(), in_loop ? " (in-loop)" : ""); |
+ TraceIC("KeyedCallIC", key, state, target()); |
#endif |
} |
} else if (FLAG_use_ic && state != MEGAMORPHIC && |
!object->IsAccessCheckNeeded()) { |
MaybeObject* maybe_code = isolate()->stub_cache()->ComputeCallMegamorphic( |
- argc, in_loop, Code::KEYED_CALL_IC, Code::kNoExtraICState); |
+ argc, Code::KEYED_CALL_IC, Code::kNoExtraICState); |
Object* code; |
if (maybe_code->ToObject(&code)) { |
set_target(Code::cast(code)); |
#ifdef DEBUG |
- TraceIC( |
- "KeyedCallIC", key, state, target(), in_loop ? " (in-loop)" : ""); |
+ TraceIC("KeyedCallIC", key, state, target()); |
#endif |
} |
} |
@@ -1650,7 +1636,6 @@ MaybeObject* KeyedIC::ComputeStub(JSObject* receiver, |
PolymorphicCodeCache* cache = isolate()->heap()->polymorphic_code_cache(); |
Code::Flags flags = Code::ComputeFlags(this->kind(), |
- NOT_IN_LOOP, |
MEGAMORPHIC, |
strict_mode); |
Object* maybe_cached_stub = cache->Lookup(&target_receiver_maps, flags); |
@@ -1905,16 +1890,11 @@ void KeyedStoreIC::UpdateCaches(LookupResult* lookup, |
// |
static JSFunction* CompileFunction(Isolate* isolate, |
- JSFunction* function, |
- InLoopFlag in_loop) { |
+ JSFunction* function) { |
// Compile now with optimization. |
HandleScope scope(isolate); |
Handle<JSFunction> function_handle(function, isolate); |
- if (in_loop == IN_LOOP) { |
- CompileLazyInLoop(function_handle, CLEAR_EXCEPTION); |
- } else { |
- CompileLazy(function_handle, CLEAR_EXCEPTION); |
- } |
+ CompileLazy(function_handle, CLEAR_EXCEPTION); |
return *function_handle; |
} |
@@ -1943,9 +1923,7 @@ RUNTIME_FUNCTION(MaybeObject*, CallIC_Miss) { |
if (!result->IsJSFunction() || JSFunction::cast(result)->is_compiled()) { |
return result; |
} |
- return CompileFunction(isolate, |
- JSFunction::cast(result), |
- ic.target()->ic_in_loop()); |
+ return CompileFunction(isolate, JSFunction::cast(result)); |
} |
@@ -1964,9 +1942,7 @@ RUNTIME_FUNCTION(MaybeObject*, KeyedCallIC_Miss) { |
if (!result->IsJSFunction() || JSFunction::cast(result)->is_compiled()) { |
return result; |
} |
- return CompileFunction(isolate, |
- JSFunction::cast(result), |
- ic.target()->ic_in_loop()); |
+ return CompileFunction(isolate, JSFunction::cast(result)); |
} |