Index: src/ic.cc |
diff --git a/src/ic.cc b/src/ic.cc |
index c4c204bbf46fdc597e5b43e55fd93b454761c11a..9bea13b9484d769cfaf3165a3d8ef38dd2cd325c 100644 |
--- a/src/ic.cc |
+++ b/src/ic.cc |
@@ -315,10 +315,13 @@ void IC::PostPatching(Address address, Code* target, Code* old_target) { |
if (delta != 0) { |
Code* host = target->GetHeap()->isolate()-> |
inner_pointer_to_code_cache()->GetCacheEntry(address)->code; |
- TypeFeedbackInfo* info = |
- TypeFeedbackInfo::cast(host->type_feedback_info()); |
- info->set_ic_with_typeinfo_count( |
- info->ic_with_typeinfo_count() + delta); |
+ // Not all Code objects have TypeFeedbackInfo. |
+ if (host->type_feedback_info()->IsTypeFeedbackInfo()) { |
+ TypeFeedbackInfo* info = |
+ TypeFeedbackInfo::cast(host->type_feedback_info()); |
+ info->set_ic_with_typeinfo_count( |
+ info->ic_with_typeinfo_count() + delta); |
+ } |
} |
} |
} |