Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index cb787374c81378898ba0f13c204776fa6b719eae..85d581d9b07d800d21665f52e7503ed293237aed 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -1112,8 +1112,7 @@ MaybeHandle<Object> JSReceiver::GetPrototype(Isolate* isolate, |
Handle<JSReceiver> receiver) { |
// We don't expect access checks to be needed on JSProxy objects. |
DCHECK(!receiver->IsAccessCheckNeeded() || receiver->IsJSObject()); |
- PrototypeIterator iter(isolate, receiver, |
- PrototypeIterator::START_AT_RECEIVER, |
+ PrototypeIterator iter(isolate, receiver, kStartAtReceiver, |
PrototypeIterator::END_AT_NON_HIDDEN); |
do { |
if (!iter.AdvanceFollowingProxies()) return MaybeHandle<Object>(); |
@@ -4576,6 +4575,10 @@ bool Map::is_prototype_map() const { |
return IsPrototypeMapBits::decode(bit_field2()); |
} |
+bool Map::should_be_fast_prototype_map() const { |
+ if (!prototype_info()->IsPrototypeInfo()) return false; |
+ return PrototypeInfo::cast(prototype_info())->should_be_fast_map(); |
+} |
void Map::set_elements_kind(ElementsKind elements_kind) { |
DCHECK(static_cast<int>(elements_kind) < kElementsKindCount); |
@@ -5511,6 +5514,8 @@ ACCESSORS(Box, value, Object, kValueOffset) |
ACCESSORS(PrototypeInfo, prototype_users, Object, kPrototypeUsersOffset) |
SMI_ACCESSORS(PrototypeInfo, registry_slot, kRegistrySlotOffset) |
ACCESSORS(PrototypeInfo, validity_cell, Object, kValidityCellOffset) |
+SMI_ACCESSORS(PrototypeInfo, bit_field, kBitFieldOffset) |
+BOOL_ACCESSORS(PrototypeInfo, bit_field, should_be_fast_map, kShouldBeFastBit) |
ACCESSORS(SloppyBlockWithEvalContextExtension, scope_info, ScopeInfo, |
kScopeInfoOffset) |