Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1222)

Unified Diff: src/type-info.cc

Issue 148223002: Remove CallICs (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Update test262 status file Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/type-info.h ('k') | src/typing.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/type-info.cc
diff --git a/src/type-info.cc b/src/type-info.cc
index d2b2bd1df10ce0d21a3e7a550cdd6f408c5f4338..2ca04b88fcccd1128d9d386626573a271ada0836 100644
--- a/src/type-info.cc
+++ b/src/type-info.cc
@@ -82,16 +82,6 @@ bool TypeFeedbackOracle::LoadIsUninitialized(TypeFeedbackId id) {
}
-bool TypeFeedbackOracle::LoadIsPreMonomorphic(TypeFeedbackId id) {
- Handle<Object> maybe_code = GetInfo(id);
- if (maybe_code->IsCode()) {
- Handle<Code> code = Handle<Code>::cast(maybe_code);
- return code->is_inline_cache_stub() && code->ic_state() == PREMONOMORPHIC;
- }
- return false;
-}
-
-
bool TypeFeedbackOracle::StoreIsUninitialized(TypeFeedbackId ast_id) {
Handle<Object> maybe_code = GetInfo(ast_id);
if (!maybe_code->IsCode()) return false;
@@ -100,16 +90,6 @@ bool TypeFeedbackOracle::StoreIsUninitialized(TypeFeedbackId ast_id) {
}
-bool TypeFeedbackOracle::StoreIsPreMonomorphic(TypeFeedbackId ast_id) {
- Handle<Object> maybe_code = GetInfo(ast_id);
- if (maybe_code->IsCode()) {
- Handle<Code> code = Handle<Code>::cast(maybe_code);
- return code->ic_state() == PREMONOMORPHIC;
- }
- return false;
-}
-
-
bool TypeFeedbackOracle::StoreIsKeyedPolymorphic(TypeFeedbackId ast_id) {
Handle<Object> maybe_code = GetInfo(ast_id);
if (maybe_code->IsCode()) {
@@ -123,15 +103,7 @@ bool TypeFeedbackOracle::StoreIsKeyedPolymorphic(TypeFeedbackId ast_id) {
bool TypeFeedbackOracle::CallIsMonomorphic(TypeFeedbackId id) {
Handle<Object> value = GetInfo(id);
- return value->IsAllocationSite() || value->IsJSFunction() || value->IsSmi() ||
- (value->IsCode() && Handle<Code>::cast(value)->ic_state() == MONOMORPHIC);
-}
-
-
-bool TypeFeedbackOracle::KeyedArrayCallIsHoley(TypeFeedbackId id) {
- Handle<Object> value = GetInfo(id);
- Handle<Code> code = Handle<Code>::cast(value);
- return KeyedArrayCallStub::IsHoley(code);
+ return value->IsAllocationSite() || value->IsJSFunction();
}
@@ -162,25 +134,6 @@ KeyedAccessStoreMode TypeFeedbackOracle::GetStoreMode(
}
-void TypeFeedbackOracle::CallReceiverTypes(TypeFeedbackId id,
- Handle<String> name,
- int arity,
- SmallMapList* types) {
- Code::Flags flags = Code::ComputeMonomorphicFlags(
- Code::CALL_IC, kNoExtraICState, OWN_MAP, Code::NORMAL, arity);
- CollectReceiverTypes(id, name, flags, types);
-}
-
-
-CheckType TypeFeedbackOracle::GetCallCheckType(TypeFeedbackId id) {
- Handle<Object> value = GetInfo(id);
- if (!value->IsSmi()) return RECEIVER_MAP_CHECK;
- CheckType check = static_cast<CheckType>(Smi::cast(*value)->value());
- ASSERT(check != RECEIVER_MAP_CHECK);
- return check;
-}
-
-
Handle<JSFunction> TypeFeedbackOracle::GetCallTarget(TypeFeedbackId id) {
Handle<Object> info = GetInfo(id);
if (info->IsAllocationSite()) {
@@ -504,15 +457,8 @@ void TypeFeedbackOracle::ProcessRelocInfos(ZoneList<RelocInfo>* infos) {
TypeFeedbackId(static_cast<unsigned>((*infos)[i].data()));
Code* target = Code::GetCodeFromTargetAddress(target_address);
switch (target->kind()) {
- case Code::CALL_IC:
- if (target->ic_state() == MONOMORPHIC &&
- target->check_type() != RECEIVER_MAP_CHECK) {
- SetInfo(ast_id, Smi::FromInt(target->check_type()));
- break;
- }
case Code::LOAD_IC:
case Code::STORE_IC:
- case Code::KEYED_CALL_IC:
case Code::KEYED_LOAD_IC:
case Code::KEYED_STORE_IC:
case Code::BINARY_OP_IC:
« no previous file with comments | « src/type-info.h ('k') | src/typing.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698