| 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);
|
| + }
|
| }
|
| }
|
| }
|
|
|