Index: src/type-info.cc |
diff --git a/src/type-info.cc b/src/type-info.cc |
index fa479b2e515b5c811b30c67bae9ce4c3fd4c9e09..926043719d97bf1ee2557a498e306add317c8597 100644 |
--- a/src/type-info.cc |
+++ b/src/type-info.cc |
@@ -154,6 +154,13 @@ bool TypeFeedbackOracle::CallNewIsMonomorphic(CallNew* expr) { |
} |
+bool TypeFeedbackOracle::ObjectLiteralStoreIsMonomorphic( |
+ ObjectLiteral::Property* prop) { |
+ Handle<Object> map_or_code = GetInfo(prop->key()->id()); |
+ return map_or_code->IsMap(); |
+} |
+ |
+ |
bool TypeFeedbackOracle::IsForInFastCase(ForInStatement* stmt) { |
Handle<Object> value = GetInfo(stmt->PrepareId()); |
return value->IsSmi() && |
@@ -268,6 +275,13 @@ Handle<JSFunction> TypeFeedbackOracle::GetCallNewTarget(CallNew* expr) { |
} |
+Handle<Map> TypeFeedbackOracle::GetObjectLiteralStoreMap( |
+ ObjectLiteral::Property* prop) { |
+ ASSERT(ObjectLiteralStoreIsMonomorphic(prop)); |
+ return Handle<Map>::cast(GetInfo(prop->key()->id())); |
+} |
+ |
+ |
bool TypeFeedbackOracle::LoadIsBuiltin(Property* expr, Builtins::Name id) { |
return *GetInfo(expr->id()) == |
isolate_->builtins()->builtin(id); |