Index: src/type-info.cc |
diff --git a/src/type-info.cc b/src/type-info.cc |
index 1757bee767381c68ddafbae97e9457592514fe19..d52536ed0c59c14c6095726ec3b618e72c96a953 100644 |
--- a/src/type-info.cc |
+++ b/src/type-info.cc |
@@ -192,13 +192,14 @@ Handle<Map> TypeFeedbackOracle::LoadMonomorphicReceiverType(Property* expr) { |
Handle<Object> map_or_code = GetInfo(expr->PropertyFeedbackId()); |
if (map_or_code->IsCode()) { |
Handle<Code> code = Handle<Code>::cast(map_or_code); |
- Map* first_map = code->FindFirstMap(); |
- ASSERT(first_map != NULL); |
- return CanRetainOtherContext(first_map, *native_context_) |
+ Handle<Map> first_map(code->FindFirstMap()); |
+ ASSERT(!first_map.is_null()); |
+ first_map = Map::CurrentMapForDeprecated(first_map); |
+ return CanRetainOtherContext(*first_map, *native_context_) |
? Handle<Map>::null() |
- : Handle<Map>(first_map); |
+ : first_map; |
} |
- return Handle<Map>::cast(map_or_code); |
+ return Map::CurrentMapForDeprecated(Handle<Map>::cast(map_or_code)); |
} |
@@ -208,13 +209,14 @@ Handle<Map> TypeFeedbackOracle::StoreMonomorphicReceiverType( |
Handle<Object> map_or_code = GetInfo(ast_id); |
if (map_or_code->IsCode()) { |
Handle<Code> code = Handle<Code>::cast(map_or_code); |
- Map* first_map = code->FindFirstMap(); |
- ASSERT(first_map != NULL); |
- return CanRetainOtherContext(first_map, *native_context_) |
+ Handle<Map> first_map(code->FindFirstMap()); |
+ ASSERT(!first_map.is_null()); |
+ first_map = Map::CurrentMapForDeprecated(first_map); |
+ return CanRetainOtherContext(*first_map, *native_context_) |
? Handle<Map>::null() |
- : Handle<Map>(first_map); |
+ : first_map; |
} |
- return Handle<Map>::cast(map_or_code); |
+ return Map::CurrentMapForDeprecated(Handle<Map>::cast(map_or_code)); |
} |
@@ -223,7 +225,9 @@ Handle<Map> TypeFeedbackOracle::CompareNilMonomorphicReceiverType( |
Handle<Object> maybe_code = GetInfo(id); |
if (maybe_code->IsCode()) { |
Map* first_map = Handle<Code>::cast(maybe_code)->FindFirstMap(); |
- if (first_map != NULL) return Handle<Map>(first_map); |
+ if (first_map != NULL) { |
+ return Map::CurrentMapForDeprecated(Handle<Map>(first_map)); |
+ } |
} |
return Handle<Map>(); |
} |
@@ -347,7 +351,8 @@ ElementsKind TypeFeedbackOracle::GetCallNewElementsKind(CallNew* expr) { |
Handle<Map> TypeFeedbackOracle::GetObjectLiteralStoreMap( |
ObjectLiteral::Property* prop) { |
ASSERT(ObjectLiteralStoreIsMonomorphic(prop)); |
- return Handle<Map>::cast(GetInfo(prop->key()->LiteralFeedbackId())); |
+ return Map::CurrentMapForDeprecated( |
+ Handle<Map>::cast(GetInfo(prop->key()->LiteralFeedbackId()))); |
} |
@@ -426,11 +431,12 @@ Handle<Map> TypeFeedbackOracle::GetCompareMap(CompareOperation* expr) { |
if (state != CompareIC::KNOWN_OBJECT) { |
return Handle<Map>::null(); |
} |
- Map* first_map = code->FindFirstMap(); |
- ASSERT(first_map != NULL); |
- return CanRetainOtherContext(first_map, *native_context_) |
+ Handle<Map> first_map(code->FindFirstMap()); |
+ ASSERT(!first_map.is_null()); |
+ first_map = Map::CurrentMapForDeprecated(first_map); |
+ return CanRetainOtherContext(*first_map, *native_context_) |
? Handle<Map>::null() |
- : Handle<Map>(first_map); |
+ : first_map; |
} |