Index: src/ic/ic.cc |
diff --git a/src/ic/ic.cc b/src/ic/ic.cc |
index a73e4ea976e82d7a42d5e007bce60007c467fa2f..7e0fd2b62a26ead000a5d91bed53f0fbf2095412 100644 |
--- a/src/ic/ic.cc |
+++ b/src/ic/ic.cc |
@@ -2223,9 +2223,9 @@ |
// Are we the array function? |
Handle<JSFunction> array_function = |
Handle<JSFunction>(isolate()->native_context()->array_function()); |
- CallICNexus* nexus = casted_nexus<CallICNexus>(); |
if (array_function.is_identical_to(Handle<JSFunction>::cast(function))) { |
// Alter the slot. |
+ CallICNexus* nexus = casted_nexus<CallICNexus>(); |
nexus->ConfigureMonomorphicArray(); |
// Vector-based ICs have a different calling convention in optimized code |
@@ -2247,48 +2247,6 @@ |
OnTypeFeedbackChanged(isolate(), get_host(), nexus->vector(), state(), |
MONOMORPHIC); |
return true; |
- } else { |
- Handle<JSFunction> maybe_builtin(Handle<JSFunction>::cast(function)); |
- if (maybe_builtin->shared()->HasBuiltinFunctionId()) { |
- BuiltinFunctionId id = maybe_builtin->shared()->builtin_function_id(); |
- switch (id) { |
- case kMathRound: { |
- nexus->ConfigureMonomorphicMathFunction(maybe_builtin); |
- if (AddressIsOptimizedCode()) { |
- CallIC_RoundStub stub(isolate(), callic_state); |
- set_target(*stub.GetCode()); |
- } else { |
- CallIC_RoundTrampolineStub stub(isolate(), callic_state); |
- set_target(*stub.GetCode()); |
- } |
- return true; |
- } |
- case kMathFloor: |
- nexus->ConfigureMonomorphicMathFunction(maybe_builtin); |
- if (AddressIsOptimizedCode()) { |
- CallIC_FloorStub stub(isolate(), callic_state); |
- set_target(*stub.GetCode()); |
- } else { |
- CallIC_FloorTrampolineStub stub(isolate(), callic_state); |
- set_target(*stub.GetCode()); |
- } |
- return true; |
- break; |
- case kMathCeil: |
- nexus->ConfigureMonomorphicMathFunction(maybe_builtin); |
- if (AddressIsOptimizedCode()) { |
- CallIC_CeilStub stub(isolate(), callic_state); |
- set_target(*stub.GetCode()); |
- } else { |
- CallIC_CeilTrampolineStub stub(isolate(), callic_state); |
- set_target(*stub.GetCode()); |
- } |
- return true; |
- break; |
- default: |
- break; |
- } |
- } |
} |
return false; |
} |