summaryrefslogtreecommitdiff
path: root/deps/v8/src/objects/descriptor-array-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/objects/descriptor-array-inl.h')
-rw-r--r--deps/v8/src/objects/descriptor-array-inl.h34
1 files changed, 19 insertions, 15 deletions
diff --git a/deps/v8/src/objects/descriptor-array-inl.h b/deps/v8/src/objects/descriptor-array-inl.h
index a59d4e5a75..1cd64c1bf1 100644
--- a/deps/v8/src/objects/descriptor-array-inl.h
+++ b/deps/v8/src/objects/descriptor-array-inl.h
@@ -7,16 +7,16 @@
#include "src/objects/descriptor-array.h"
-#include "src/field-type.h"
+#include "src/execution/isolate.h"
+#include "src/handles/maybe-handles-inl.h"
#include "src/heap/heap-write-barrier.h"
#include "src/heap/heap.h"
-#include "src/isolate.h"
-#include "src/lookup-cache-inl.h"
-#include "src/maybe-handles-inl.h"
+#include "src/objects/field-type.h"
#include "src/objects/heap-object-inl.h"
-#include "src/objects/maybe-object.h"
+#include "src/objects/lookup-cache-inl.h"
+#include "src/objects/maybe-object-inl.h"
+#include "src/objects/property.h"
#include "src/objects/struct-inl.h"
-#include "src/property.h"
// Has to be the last include (doesn't have include guards):
#include "src/objects/object-macros.h"
@@ -59,25 +59,25 @@ inline int16_t DescriptorArray::CompareAndSwapRawNumberOfMarkedDescriptors(
}
void DescriptorArray::CopyEnumCacheFrom(DescriptorArray array) {
- set_enum_cache(array->enum_cache());
+ set_enum_cache(array.enum_cache());
}
int DescriptorArray::Search(Name name, int valid_descriptors) {
- DCHECK(name->IsUniqueName());
+ DCHECK(name.IsUniqueName());
return internal::Search<VALID_ENTRIES>(this, name, valid_descriptors,
nullptr);
}
int DescriptorArray::Search(Name name, Map map) {
- DCHECK(name->IsUniqueName());
- int number_of_own_descriptors = map->NumberOfOwnDescriptors();
+ DCHECK(name.IsUniqueName());
+ int number_of_own_descriptors = map.NumberOfOwnDescriptors();
if (number_of_own_descriptors == 0) return kNotFound;
return Search(name, number_of_own_descriptors);
}
int DescriptorArray::SearchWithCache(Isolate* isolate, Name name, Map map) {
- DCHECK(name->IsUniqueName());
- int number_of_own_descriptors = map->NumberOfOwnDescriptors();
+ DCHECK(name.IsUniqueName());
+ int number_of_own_descriptors = map.NumberOfOwnDescriptors();
if (number_of_own_descriptors == 0) return kNotFound;
DescriptorLookupCache* cache = isolate->descriptor_lookup_cache();
@@ -92,7 +92,11 @@ int DescriptorArray::SearchWithCache(Isolate* isolate, Name name, Map map) {
}
ObjectSlot DescriptorArray::GetFirstPointerSlot() {
- return RawField(DescriptorArray::kPointersStartOffset);
+ static_assert(kEndOfStrongFieldsOffset == kStartOfWeakFieldsOffset,
+ "Weak and strong fields are continuous.");
+ static_assert(kEndOfWeakFieldsOffset == kHeaderSize,
+ "Weak fields extend up to the end of the header.");
+ return RawField(DescriptorArray::kStartOfStrongFieldsOffset);
}
ObjectSlot DescriptorArray::GetDescriptorSlot(int descriptor) {
@@ -105,7 +109,7 @@ ObjectSlot DescriptorArray::GetDescriptorSlot(int descriptor) {
ObjectSlot DescriptorArray::GetKeySlot(int descriptor) {
DCHECK_LE(descriptor, number_of_all_descriptors());
ObjectSlot slot = GetDescriptorSlot(descriptor) + kEntryKeyIndex;
- DCHECK((*slot)->IsObject());
+ DCHECK((*slot).IsObject());
return slot;
}
@@ -194,7 +198,7 @@ void DescriptorArray::Append(Descriptor* desc) {
for (insertion = descriptor_number; insertion > 0; --insertion) {
Name key = GetSortedKey(insertion - 1);
- if (key->Hash() <= hash) break;
+ if (key.Hash() <= hash) break;
SetSortedKey(insertion, GetSortedKeyIndex(insertion - 1));
}