Remove next field from JSWeakCollection

The GC now stores EphemeronHashTables in a Worklist.

Bug: chromium:844008
Change-Id: I6ad95b3b49484901d75c6fd92b59065c438fcd03
Reviewed-on: https://chromium-review.googlesource.com/1093092
Commit-Queue: Dominik Inführ <dinfuehr@google.com>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53620}
This commit is contained in:
Dominik Inführ 2018-06-08 19:46:05 +02:00 committed by Commit Bot
parent 16586b5296
commit d14decc3eb
3 changed files with 2 additions and 8 deletions

View File

@ -366,8 +366,7 @@ class PrototypeInfo::BodyDescriptor final : public BodyDescriptorBase {
class JSWeakCollection::BodyDescriptorImpl final : public BodyDescriptorBase {
public:
STATIC_ASSERT(kTableOffset + kPointerSize == kNextOffset);
STATIC_ASSERT(kNextOffset + kPointerSize == kSize);
STATIC_ASSERT(kTableOffset + kPointerSize == kSize);
static bool IsValidSlot(Map* map, HeapObject* obj, int offset) {
return IsValidSlotImpl(map, obj, offset);

View File

@ -18,7 +18,6 @@ ACCESSORS(JSCollectionIterator, table, Object, kTableOffset)
ACCESSORS(JSCollectionIterator, index, Object, kIndexOffset)
ACCESSORS(JSWeakCollection, table, Object, kTableOffset)
ACCESSORS(JSWeakCollection, next, Object, kNextOffset)
CAST_ACCESSOR(JSSet)
CAST_ACCESSOR(JSSetIterator)

View File

@ -95,9 +95,6 @@ class JSWeakCollection : public JSObject {
// [table]: the backing hash table mapping keys to values.
DECL_ACCESSORS(table, Object)
// [next]: linked list of encountered weak maps during GC.
DECL_ACCESSORS(next, Object)
static void Initialize(Handle<JSWeakCollection> collection, Isolate* isolate);
static void Set(Handle<JSWeakCollection> collection, Handle<Object> key,
Handle<Object> value, int32_t hash);
@ -107,8 +104,7 @@ class JSWeakCollection : public JSObject {
int max_entries);
static const int kTableOffset = JSObject::kHeaderSize;
static const int kNextOffset = kTableOffset + kPointerSize;
static const int kSize = kNextOffset + kPointerSize;
static const int kSize = kTableOffset + kPointerSize;
// Iterates the function object according to the visiting policy.
class BodyDescriptorImpl;