| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index 0a5215cb405164a8df8044ac986fb5dda4288796..bb193ea8042648c9fe392daa53eba7f96d24bc9c 100644
|
| --- a/src/objects-inl.h
|
| +++ b/src/objects-inl.h
|
| @@ -567,12 +567,18 @@ TYPE_CHECKER(JSFunctionProxy, JS_FUNCTION_PROXY_TYPE)
|
| TYPE_CHECKER(JSSet, JS_SET_TYPE)
|
| TYPE_CHECKER(JSMap, JS_MAP_TYPE)
|
| TYPE_CHECKER(JSWeakMap, JS_WEAK_MAP_TYPE)
|
| +TYPE_CHECKER(JSWeakSet, JS_WEAK_SET_TYPE)
|
| TYPE_CHECKER(JSContextExtensionObject, JS_CONTEXT_EXTENSION_OBJECT_TYPE)
|
| TYPE_CHECKER(Map, MAP_TYPE)
|
| TYPE_CHECKER(FixedArray, FIXED_ARRAY_TYPE)
|
| TYPE_CHECKER(FixedDoubleArray, FIXED_DOUBLE_ARRAY_TYPE)
|
|
|
|
|
| +bool Object::IsWeakCollection() {
|
| + return IsJSWeakMap() || IsJSWeakSet();
|
| +}
|
| +
|
| +
|
| bool Object::IsDescriptorArray() {
|
| return IsFixedArray();
|
| }
|
| @@ -1688,6 +1694,8 @@ int JSObject::GetHeaderSize() {
|
| return JSMap::kSize;
|
| case JS_WEAK_MAP_TYPE:
|
| return JSWeakMap::kSize;
|
| + case JS_WEAK_SET_TYPE:
|
| + return JSWeakSet::kSize;
|
| case JS_REGEXP_TYPE:
|
| return JSRegExp::kSize;
|
| case JS_CONTEXT_EXTENSION_OBJECT_TYPE:
|
| @@ -2569,6 +2577,7 @@ CAST_ACCESSOR(JSFunctionProxy)
|
| CAST_ACCESSOR(JSSet)
|
| CAST_ACCESSOR(JSMap)
|
| CAST_ACCESSOR(JSWeakMap)
|
| +CAST_ACCESSOR(JSWeakSet)
|
| CAST_ACCESSOR(Foreign)
|
| CAST_ACCESSOR(ByteArray)
|
| CAST_ACCESSOR(FreeSpace)
|
| @@ -5092,8 +5101,8 @@ void JSProxy::InitializeBody(int object_size, Object* value) {
|
|
|
| ACCESSORS(JSSet, table, Object, kTableOffset)
|
| ACCESSORS(JSMap, table, Object, kTableOffset)
|
| -ACCESSORS(JSWeakMap, table, Object, kTableOffset)
|
| -ACCESSORS(JSWeakMap, next, Object, kNextOffset)
|
| +ACCESSORS(WeakCollection, table, Object, kTableOffset)
|
| +ACCESSORS(WeakCollection, next, Object, kNextOffset)
|
|
|
|
|
| Address Foreign::foreign_address() {
|
|
|