| Index: src/ic.cc
|
| ===================================================================
|
| --- src/ic.cc (revision 4359)
|
| +++ src/ic.cc (working copy)
|
| @@ -224,7 +224,8 @@
|
| case Code::STORE_IC: return StoreIC::Clear(address, target);
|
| case Code::KEYED_STORE_IC: return KeyedStoreIC::Clear(address, target);
|
| case Code::CALL_IC: return CallIC::Clear(address, target);
|
| - case Code::BINARY_OP_IC: return BinaryOpIC::Clear(address, target);
|
| + case Code::BINARY_OP_IC: return; // Clearing these is tricky and does not
|
| + // make any performance difference.
|
| default: UNREACHABLE();
|
| }
|
| }
|
| @@ -1404,25 +1405,6 @@
|
| }
|
|
|
|
|
| -void BinaryOpIC::Clear(Address address, Code* target) {
|
| - if (target->ic_state() == UNINITIALIZED) return;
|
| -
|
| - // At the end of a fast case stub there should be a reference to
|
| - // a corresponding UNINITIALIZED stub, so look for the last reloc info item.
|
| - RelocInfo* rinfo = NULL;
|
| - for (RelocIterator it(target, RelocInfo::kCodeTargetMask);
|
| - !it.done(); it.next()) {
|
| - rinfo = it.rinfo();
|
| - }
|
| -
|
| - ASSERT(rinfo != NULL);
|
| - Code* uninit_stub = Code::GetCodeFromTargetAddress(rinfo->target_address());
|
| - ASSERT(uninit_stub->ic_state() == UNINITIALIZED &&
|
| - uninit_stub->kind() == Code::BINARY_OP_IC);
|
| - SetTargetAtAddress(address, uninit_stub);
|
| -}
|
| -
|
| -
|
| const char* BinaryOpIC::GetName(TypeInfo type_info) {
|
| switch (type_info) {
|
| case DEFAULT: return "Default";
|
|
|