Version 3.9.22
Enabled count-based profiler by default.
Implemented a hash based look-up to speed up address checks in large object space (issue 853).
Performance and stability improvements on all platforms.
git-svn-id: http://v8.googlecode.com/svn/trunk@11093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/type-info.cc b/src/type-info.cc
index 78fb47a..159be6a 100644
--- a/src/type-info.cc
+++ b/src/type-info.cc
@@ -77,6 +77,17 @@
}
+bool TypeFeedbackOracle::LoadIsUninitialized(Property* expr) {
+ Handle<Object> map_or_code = GetInfo(expr->id());
+ if (map_or_code->IsMap()) return false;
+ if (map_or_code->IsCode()) {
+ Handle<Code> code = Handle<Code>::cast(map_or_code);
+ return code->is_inline_cache_stub() && code->ic_state() == UNINITIALIZED;
+ }
+ return false;
+}
+
+
bool TypeFeedbackOracle::LoadIsMonomorphicNormal(Property* expr) {
Handle<Object> map_or_code = GetInfo(expr->id());
if (map_or_code->IsMap()) return true;
@@ -649,7 +660,7 @@
SetInfo(ast_id, map);
}
}
- } else if (target->ic_state() == MEGAMORPHIC) {
+ } else {
SetInfo(ast_id, target);
}
break;