Reviewers: Vyacheslav Egorov,
Message:
As discussed on Friday. Please take a quick look.
Description:
Profiler experiments: be more careful when accessing TypeFeedbackInfo
Please review this at https://chromiumcodereview.appspot.com/9471008/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/ic.cc
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);
+ }
}
}
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev