Index: src/ic/ic-inl.h |
diff --git a/src/ic/ic-inl.h b/src/ic/ic-inl.h |
index 74b1404f9697ab3aa6f9aa87438b1ec696fd93f4..9e5efa18befd19b9c43ad79ed5c9d66e1b7f6323 100644 |
--- a/src/ic/ic-inl.h |
+++ b/src/ic/ic-inl.h |
@@ -54,25 +54,13 @@ void IC::SetTargetAtAddress(Address address, Code* target, |
Address constant_pool) { |
if (AddressIsDeoptimizedCode(target->GetIsolate(), address)) return; |
- DCHECK(target->is_inline_cache_stub() || target->is_compare_ic_stub()); |
- |
- DCHECK(!target->is_inline_cache_stub() || |
- (target->kind() != Code::LOAD_IC && |
- target->kind() != Code::KEYED_LOAD_IC && |
- target->kind() != Code::STORE_IC && |
- target->kind() != Code::KEYED_STORE_IC)); |
+ // Only these three old-style ICs still do code patching. |
+ DCHECK(target->is_binary_op_stub() || target->is_compare_ic_stub() || |
+ target->is_to_boolean_ic_stub()); |
Heap* heap = target->GetHeap(); |
Code* old_target = GetTargetAtAddress(address, constant_pool); |
-#ifdef DEBUG |
- // STORE_IC and KEYED_STORE_IC use Code::extra_ic_state() to mark |
- // ICs as language mode. The language mode of the IC must be preserved. |
- if (old_target->kind() == Code::STORE_IC || |
- old_target->kind() == Code::KEYED_STORE_IC) { |
- DCHECK(StoreICState::GetLanguageMode(old_target->extra_ic_state()) == |
- StoreICState::GetLanguageMode(target->extra_ic_state())); |
- } |
-#endif |
+ |
Assembler::set_target_address_at(heap->isolate(), address, constant_pool, |
target->instruction_start()); |
if (heap->gc_state() == Heap::MARK_COMPACT) { |