| Index: src/ic.cc
|
| diff --git a/src/ic.cc b/src/ic.cc
|
| index 5de1a2a4bce778f8bbc204e96280301a934229cc..9d62a0c1bdee62a24780eff7243ca386da29b018 100644
|
| --- a/src/ic.cc
|
| +++ b/src/ic.cc
|
| @@ -320,13 +320,17 @@ void IC::PostPatching(Address address, Code* target, Code* old_target) {
|
| int delta = ComputeTypeInfoCountDelta(old_target->ic_state(),
|
| target->ic_state());
|
| // Not all Code objects have TypeFeedbackInfo.
|
| - if (delta != 0 && host->type_feedback_info()->IsTypeFeedbackInfo()) {
|
| + if (host->type_feedback_info()->IsTypeFeedbackInfo() && delta != 0) {
|
| TypeFeedbackInfo* info =
|
| TypeFeedbackInfo::cast(host->type_feedback_info());
|
| - info->set_ic_with_type_info_count(
|
| - info->ic_with_type_info_count() + delta);
|
| + info->change_ic_with_type_info_count(delta);
|
| }
|
| }
|
| + if (host->type_feedback_info()->IsTypeFeedbackInfo()) {
|
| + TypeFeedbackInfo* info =
|
| + TypeFeedbackInfo::cast(host->type_feedback_info());
|
| + info->change_own_type_change_checksum();
|
| + }
|
| if (FLAG_watch_ic_patching) {
|
| host->set_profiler_ticks(0);
|
| Isolate::Current()->runtime_profiler()->NotifyICChanged();
|
|
|