Commit 4d6ddf1b authored by Stephen Roettger's avatar Stephen Roettger Committed by V8 LUCI CQ

Remove deprecated AccessorSignatures

Bug: chromium:1310790
Change-Id: I739161f47fc1fc32d832f106d5ef6b7df4aed213
Fixed: chromium:1310790
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3654096Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
Commit-Queue: Stephen Röttger <sroettger@google.com>
Cr-Commit-Position: refs/heads/main@{#80639}
parent 3904606c
......@@ -14,7 +14,6 @@
namespace v8 {
class AccessorSignature;
class CFunction;
class FunctionTemplate;
class ObjectTemplate;
......@@ -83,28 +82,7 @@ class V8_EXPORT Template : public Data {
* cross-context access.
* \param attribute The attributes of the property for which an accessor
* is added.
* \param signature The signature describes valid receivers for the accessor
* and is used to perform implicit instance checks against them. If the
* receiver is incompatible (i.e. is not an instance of the constructor as
* defined by FunctionTemplate::HasInstance()), an implicit TypeError is
* thrown and no callback is invoked.
*/
V8_DEPRECATED("Do signature check in accessor")
void SetNativeDataProperty(
Local<String> name, AccessorGetterCallback getter,
AccessorSetterCallback setter, Local<Value> data,
PropertyAttribute attribute, Local<AccessorSignature> signature,
AccessControl settings = DEFAULT,
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
V8_DEPRECATED("Do signature check in accessor")
void SetNativeDataProperty(
Local<Name> name, AccessorNameGetterCallback getter,
AccessorNameSetterCallback setter, Local<Value> data,
PropertyAttribute attribute, Local<AccessorSignature> signature,
AccessControl settings = DEFAULT,
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
void SetNativeDataProperty(
Local<String> name, AccessorGetterCallback getter,
AccessorSetterCallback setter = nullptr,
......@@ -821,27 +799,7 @@ class V8_EXPORT ObjectTemplate : public Template {
* cross-context access.
* \param attribute The attributes of the property for which an accessor
* is added.
* \param signature The signature describes valid receivers for the accessor
* and is used to perform implicit instance checks against them. If the
* receiver is incompatible (i.e. is not an instance of the constructor as
* defined by FunctionTemplate::HasInstance()), an implicit TypeError is
* thrown and no callback is invoked.
*/
V8_DEPRECATED("Do signature check in accessor")
void SetAccessor(
Local<String> name, AccessorGetterCallback getter,
AccessorSetterCallback setter, Local<Value> data, AccessControl settings,
PropertyAttribute attribute, Local<AccessorSignature> signature,
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
V8_DEPRECATED("Do signature check in accessor")
void SetAccessor(
Local<Name> name, AccessorNameGetterCallback getter,
AccessorNameSetterCallback setter, Local<Value> data,
AccessControl settings, PropertyAttribute attribute,
Local<AccessorSignature> signature,
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
void SetAccessor(
Local<String> name, AccessorGetterCallback getter,
AccessorSetterCallback setter = nullptr,
......@@ -1019,24 +977,6 @@ class V8_EXPORT Signature : public Data {
static void CheckCast(Data* that);
};
/**
* An AccessorSignature specifies which receivers are valid parameters
* to an accessor callback.
*/
class V8_EXPORT AccessorSignature : public Data {
public:
static Local<AccessorSignature> New(
Isolate* isolate,
Local<FunctionTemplate> receiver = Local<FunctionTemplate>());
V8_INLINE static AccessorSignature* Cast(Data* data);
private:
AccessorSignature();
static void CheckCast(Data* that);
};
// --- Implementation ---
void Template::Set(Isolate* isolate, const char* name, Local<Data> value,
......@@ -1067,13 +1007,6 @@ Signature* Signature::Cast(Data* data) {
return reinterpret_cast<Signature*>(data);
}
AccessorSignature* AccessorSignature::Cast(Data* data) {
#ifdef V8_ENABLE_CHECKS
CheckCast(data);
#endif
return reinterpret_cast<AccessorSignature*>(data);
}
} // namespace v8
#endif // INCLUDE_V8_TEMPLATE_H_
......@@ -96,7 +96,6 @@ TYPED_ARRAYS(MAKE_TO_LOCAL_TYPED_ARRAY)
MAKE_TO_LOCAL(ToLocal, FunctionTemplateInfo, FunctionTemplate)
MAKE_TO_LOCAL(ToLocal, ObjectTemplateInfo, ObjectTemplate)
MAKE_TO_LOCAL(SignatureToLocal, FunctionTemplateInfo, Signature)
MAKE_TO_LOCAL(AccessorSignatureToLocal, FunctionTemplateInfo, AccessorSignature)
MAKE_TO_LOCAL(MessageToLocal, Object, Message)
MAKE_TO_LOCAL(PromiseToLocal, JSObject, Promise)
MAKE_TO_LOCAL(StackTraceToLocal, FixedArray, StackTrace)
......
......@@ -1435,11 +1435,6 @@ Local<Signature> Signature::New(Isolate* v8_isolate,
return Utils::SignatureToLocal(Utils::OpenHandle(*receiver));
}
Local<AccessorSignature> AccessorSignature::New(
Isolate* v8_isolate, Local<FunctionTemplate> receiver) {
return Utils::AccessorSignatureToLocal(Utils::OpenHandle(*receiver));
}
#define SET_FIELD_WRAPPED(i_isolate, obj, setter, cdata) \
do { \
i::Handle<i::Object> foreign = FromCData(i_isolate, cdata); \
......@@ -1496,8 +1491,7 @@ template <typename Getter, typename Setter>
i::Handle<i::AccessorInfo> MakeAccessorInfo(
i::Isolate* i_isolate, v8::Local<Name> name, Getter getter, Setter setter,
v8::Local<Value> data, v8::AccessControl settings,
v8::Local<AccessorSignature> signature, bool is_special_data_property,
bool replace_on_access) {
bool is_special_data_property, bool replace_on_access) {
i::Handle<i::AccessorInfo> obj = i_isolate->factory()->NewAccessorInfo();
SET_FIELD_WRAPPED(i_isolate, obj, set_getter, getter);
DCHECK_IMPLIES(replace_on_access,
......@@ -1529,9 +1523,6 @@ i::Handle<i::AccessorInfo> MakeAccessorInfo(
if (settings & ALL_CAN_READ) raw_obj.set_all_can_read(true);
if (settings & ALL_CAN_WRITE) raw_obj.set_all_can_write(true);
raw_obj.set_initial_property_attributes(i::NONE);
if (!signature.IsEmpty()) {
raw_obj.set_expected_receiver_type(*Utils::OpenHandle(*signature));
}
return obj;
}
......@@ -1632,7 +1623,6 @@ template <typename Getter, typename Setter, typename Data, typename Template>
void TemplateSetAccessor(Template* template_obj, v8::Local<Name> name,
Getter getter, Setter setter, Data data,
AccessControl settings, PropertyAttribute attribute,
v8::Local<AccessorSignature> signature,
bool is_special_data_property, bool replace_on_access,
SideEffectType getter_side_effect_type,
SideEffectType setter_side_effect_type) {
......@@ -1642,7 +1632,7 @@ void TemplateSetAccessor(Template* template_obj, v8::Local<Name> name,
i::HandleScope scope(i_isolate);
i::Handle<i::AccessorInfo> accessor_info =
MakeAccessorInfo(i_isolate, name, getter, setter, data, settings,
signature, is_special_data_property, replace_on_access);
is_special_data_property, replace_on_access);
{
i::DisallowGarbageCollection no_gc;
i::AccessorInfo raw = *accessor_info;
......@@ -1664,18 +1654,7 @@ void Template::SetNativeDataProperty(v8::Local<String> name,
SideEffectType getter_side_effect_type,
SideEffectType setter_side_effect_type) {
TemplateSetAccessor(this, name, getter, setter, data, settings, attribute,
Local<AccessorSignature>(), true, false,
getter_side_effect_type, setter_side_effect_type);
}
void Template::SetNativeDataProperty(
v8::Local<String> name, AccessorGetterCallback getter,
AccessorSetterCallback setter, v8::Local<Value> data,
PropertyAttribute attribute, v8::Local<AccessorSignature> signature,
AccessControl settings, SideEffectType getter_side_effect_type,
SideEffectType setter_side_effect_type) {
TemplateSetAccessor(this, name, getter, setter, data, settings, attribute,
signature, true, false, getter_side_effect_type,
true, false, getter_side_effect_type,
setter_side_effect_type);
}
......@@ -1688,18 +1667,7 @@ void Template::SetNativeDataProperty(v8::Local<Name> name,
SideEffectType getter_side_effect_type,
SideEffectType setter_side_effect_type) {
TemplateSetAccessor(this, name, getter, setter, data, settings, attribute,
Local<AccessorSignature>(), true, false,
getter_side_effect_type, setter_side_effect_type);
}
void Template::SetNativeDataProperty(
v8::Local<Name> name, AccessorNameGetterCallback getter,
AccessorNameSetterCallback setter, v8::Local<Value> data,
PropertyAttribute attribute, v8::Local<AccessorSignature> signature,
AccessControl settings, SideEffectType getter_side_effect_type,
SideEffectType setter_side_effect_type) {
TemplateSetAccessor(this, name, getter, setter, data, settings, attribute,
signature, true, false, getter_side_effect_type,
true, false, getter_side_effect_type,
setter_side_effect_type);
}
......@@ -1711,8 +1679,8 @@ void Template::SetLazyDataProperty(v8::Local<Name> name,
SideEffectType setter_side_effect_type) {
TemplateSetAccessor(this, name, getter,
static_cast<AccessorNameSetterCallback>(nullptr), data,
DEFAULT, attribute, Local<AccessorSignature>(), true,
true, getter_side_effect_type, setter_side_effect_type);
DEFAULT, attribute, true, true, getter_side_effect_type,
setter_side_effect_type);
}
void Template::SetIntrinsicDataProperty(Local<Name> name, Intrinsic intrinsic,
......@@ -1734,7 +1702,6 @@ void ObjectTemplate::SetAccessor(v8::Local<String> name,
SideEffectType getter_side_effect_type,
SideEffectType setter_side_effect_type) {
TemplateSetAccessor(this, name, getter, setter, data, settings, attribute,
Local<AccessorSignature>(),
i::FLAG_disable_old_api_accessors, false,
getter_side_effect_type, setter_side_effect_type);
}
......@@ -1747,37 +1714,10 @@ void ObjectTemplate::SetAccessor(v8::Local<Name> name,
SideEffectType getter_side_effect_type,
SideEffectType setter_side_effect_type) {
TemplateSetAccessor(this, name, getter, setter, data, settings, attribute,
Local<AccessorSignature>(),
i::FLAG_disable_old_api_accessors, false,
getter_side_effect_type, setter_side_effect_type);
}
void ObjectTemplate::SetAccessor(v8::Local<String> name,
AccessorGetterCallback getter,
AccessorSetterCallback setter,
v8::Local<Value> data, AccessControl settings,
PropertyAttribute attribute,
v8::Local<AccessorSignature> signature,
SideEffectType getter_side_effect_type,
SideEffectType setter_side_effect_type) {
TemplateSetAccessor(this, name, getter, setter, data, settings, attribute,
signature, i::FLAG_disable_old_api_accessors, false,
getter_side_effect_type, setter_side_effect_type);
}
void ObjectTemplate::SetAccessor(v8::Local<Name> name,
AccessorNameGetterCallback getter,
AccessorNameSetterCallback setter,
v8::Local<Value> data, AccessControl settings,
PropertyAttribute attribute,
v8::Local<AccessorSignature> signature,
SideEffectType getter_side_effect_type,
SideEffectType setter_side_effect_type) {
TemplateSetAccessor(this, name, getter, setter, data, settings, attribute,
signature, i::FLAG_disable_old_api_accessors, false,
getter_side_effect_type, setter_side_effect_type);
}
namespace {
template <typename Getter, typename Setter, typename Query, typename Descriptor,
typename Deleter, typename Enumerator, typename Definer>
......@@ -4870,10 +4810,9 @@ static Maybe<bool> ObjectSetAccessor(
if (!Utils::OpenHandle(self)->IsJSObject()) return Just(false);
i::Handle<i::JSObject> obj =
i::Handle<i::JSObject>::cast(Utils::OpenHandle(self));
v8::Local<AccessorSignature> signature;
i::Handle<i::AccessorInfo> info =
MakeAccessorInfo(i_isolate, name, getter, setter, data, settings,
signature, is_special_data_property, replace_on_access);
is_special_data_property, replace_on_access);
info->set_getter_side_effect_type(getter_side_effect_type);
info->set_setter_side_effect_type(setter_side_effect_type);
if (info.is_null()) return Nothing<bool>();
......@@ -6719,12 +6658,6 @@ void v8::Signature::CheckCast(Data* that) {
"Value is not a Signature");
}
void v8::AccessorSignature::CheckCast(Data* that) {
i::Handle<i::Object> obj = Utils::OpenHandle(that);
Utils::ApiCheck(obj->IsFunctionTemplateInfo(), "v8::AccessorSignature::Cast",
"Value is not an AccessorSignature");
}
MaybeLocal<v8::Function> FunctionTemplate::GetFunction(Local<Context> context) {
PREPARE_FOR_EXECUTION(context, FunctionTemplate, GetFunction, Function);
auto self = Utils::OpenHandle(this);
......
......@@ -28,7 +28,6 @@
namespace v8 {
class AccessorSignature;
class Extension;
class Signature;
class Template;
......@@ -99,7 +98,6 @@ class RegisteredExtension {
V(FunctionTemplate, FunctionTemplateInfo) \
V(ObjectTemplate, ObjectTemplateInfo) \
V(Signature, FunctionTemplateInfo) \
V(AccessorSignature, FunctionTemplateInfo) \
V(Data, Object) \
V(RegExp, JSRegExp) \
V(Object, JSReceiver) \
......@@ -244,8 +242,6 @@ class Utils {
v8::internal::Handle<v8::internal::ObjectTemplateInfo> obj);
static inline Local<Signature> SignatureToLocal(
v8::internal::Handle<v8::internal::FunctionTemplateInfo> obj);
static inline Local<AccessorSignature> AccessorSignatureToLocal(
v8::internal::Handle<v8::internal::FunctionTemplateInfo> obj);
static inline Local<External> ExternalToLocal(
v8::internal::Handle<v8::internal::JSObject> obj);
static inline Local<Function> CallableToLocal(
......
......@@ -1108,7 +1108,6 @@ Handle<Object> LoadIC::ComputeHandler(LookupIterator* lookup) {
}
if (v8::ToCData<Address>(info->getter()) == kNullAddress ||
!AccessorInfo::IsCompatibleReceiverMap(info, map) ||
!holder->HasFastProperties() ||
(info->is_sloppy() && !receiver->IsJSReceiver())) {
TRACE_HANDLER_STATS(isolate(), LoadIC_SlowStub);
......@@ -2042,12 +2041,6 @@ MaybeObjectHandle StoreIC::ComputeHandler(LookupIterator* lookup) {
TRACE_HANDLER_STATS(isolate(), StoreIC_SlowStub);
return MaybeObjectHandle(StoreHandler::StoreSlow(isolate()));
}
if (!AccessorInfo::IsCompatibleReceiverMap(info,
lookup_start_object_map())) {
set_slow_stub_reason("incompatible receiver type");
TRACE_HANDLER_STATS(isolate(), StoreIC_SlowStub);
return MaybeObjectHandle(StoreHandler::StoreSlow(isolate()));
}
Handle<Smi> smi_handler = StoreHandler::StoreNativeDataProperty(
isolate(), lookup->GetAccessorIndex());
......@@ -3307,8 +3300,6 @@ RUNTIME_FUNCTION(Runtime_StoreCallbackProperty) {
}
#endif
DCHECK(info->IsCompatibleReceiver(*receiver));
PropertyCallbackArguments arguments(isolate, info->data(), *receiver, *holder,
Nothing<ShouldThrow>());
arguments.CallAccessorSetter(info, name, value);
......
......@@ -77,17 +77,6 @@ void AccessorInfo::set_setter_side_effect_type(SideEffectType value) {
BIT_FIELD_ACCESSORS(AccessorInfo, flags, initial_property_attributes,
AccessorInfo::InitialAttributesBits)
bool AccessorInfo::IsCompatibleReceiver(Object receiver) {
if (!HasExpectedReceiverType()) return true;
if (!receiver.IsJSObject()) return false;
return FunctionTemplateInfo::cast(expected_receiver_type())
.IsTemplateFor(JSObject::cast(receiver).map());
}
bool AccessorInfo::HasExpectedReceiverType() {
return expected_receiver_type().IsFunctionTemplateInfo();
}
BOOL_ACCESSORS(InterceptorInfo, flags, can_intercept_symbols,
CanInterceptSymbolsBit::kShift)
BOOL_ACCESSORS(InterceptorInfo, flags, all_can_read, AllCanReadBit::kShift)
......
......@@ -71,8 +71,6 @@ class AccessorInfo : public TorqueGeneratedAccessorInfo<AccessorInfo, Struct> {
using BodyDescriptor = StructBodyDescriptor;
private:
inline bool HasExpectedReceiverType();
// Bit positions in |flags|.
DEFINE_TORQUE_GENERATED_ACCESSOR_INFO_FLAGS()
......
......@@ -51,7 +51,6 @@ bitfield struct AccessorInfoFlags extends uint31 {
extern class AccessorInfo extends Struct {
name: Name;
flags: SmiTagged<AccessorInfoFlags>;
expected_receiver_type: Object;
setter: NonNullForeign|Zero;
getter: NonNullForeign|Zero;
// This either points at the same as above, or a trampoline in case we are
......
......@@ -1418,12 +1418,6 @@ MaybeHandle<Object> Object::GetPropertyWithAccessor(LookupIterator* it) {
if (structure->IsAccessorInfo()) {
Handle<Name> name = it->GetName();
Handle<AccessorInfo> info = Handle<AccessorInfo>::cast(structure);
if (!info->IsCompatibleReceiver(*receiver)) {
THROW_NEW_ERROR(isolate,
NewTypeError(MessageTemplate::kIncompatibleMethodReceiver,
name, receiver),
Object);
}
if (!info->has_getter()) return isolate->factory()->undefined_value();
......@@ -1492,14 +1486,6 @@ Address CallHandlerInfo::redirected_callback() const {
return ExternalReference::Create(&fun, type).address();
}
bool AccessorInfo::IsCompatibleReceiverMap(Handle<AccessorInfo> info,
Handle<Map> map) {
if (!info->HasExpectedReceiverType()) return true;
if (!map->IsJSObjectMap()) return false;
return FunctionTemplateInfo::cast(info->expected_receiver_type())
.IsTemplateFor(*map);
}
Maybe<bool> Object::SetPropertyWithAccessor(
LookupIterator* it, Handle<Object> value,
Maybe<ShouldThrow> maybe_should_throw) {
......@@ -1521,11 +1507,6 @@ Maybe<bool> Object::SetPropertyWithAccessor(
if (structure->IsAccessorInfo()) {
Handle<Name> name = it->GetName();
Handle<AccessorInfo> info = Handle<AccessorInfo>::cast(structure);
if (!info->IsCompatibleReceiver(*receiver)) {
isolate->Throw(*isolate->factory()->NewTypeError(
MessageTemplate::kIncompatibleMethodReceiver, name, receiver));
return Nothing<bool>();
}
if (!info->has_setter()) {
// TODO(verwaest): We should not get here anymore once all AccessorInfos
......
......@@ -1484,9 +1484,6 @@ void V8HeapExplorer::ExtractAccessorInfoReferences(HeapEntry* entry,
AccessorInfo accessor_info) {
SetInternalReference(entry, "name", accessor_info.name(),
AccessorInfo::kNameOffset);
SetInternalReference(entry, "expected_receiver_type",
accessor_info.expected_receiver_type(),
AccessorInfo::kExpectedReceiverTypeOffset);
SetInternalReference(entry, "getter", accessor_info.getter(),
AccessorInfo::kGetterOffset);
SetInternalReference(entry, "setter", accessor_info.setter(),
......
......@@ -3596,10 +3596,6 @@ UNINITIALIZED_TEST(SnapshotCreatorAddData) {
v8::Local<v8::Signature> signature =
v8::Signature::New(isolate, v8::FunctionTemplate::New(isolate));
v8::Local<v8::AccessorSignature> accessor_signature =
v8::AccessorSignature::New(isolate,
v8::FunctionTemplate::New(isolate));
v8::ScriptOrigin origin(isolate, v8_str(""), {}, {}, {}, {}, {}, {}, {},
true);
v8::ScriptCompiler::Source source(
......@@ -3625,7 +3621,6 @@ UNINITIALIZED_TEST(SnapshotCreatorAddData) {
CHECK_EQ(3u, creator.AddData(v8::FunctionTemplate::New(isolate)));
CHECK_EQ(4u, creator.AddData(private_symbol));
CHECK_EQ(5u, creator.AddData(signature));
CHECK_EQ(6u, creator.AddData(accessor_signature));
}
blob =
......@@ -3714,11 +3709,6 @@ UNINITIALIZED_TEST(SnapshotCreatorAddData) {
isolate->GetDataFromSnapshotOnce<v8::Signature>(5).ToLocalChecked();
CHECK(isolate->GetDataFromSnapshotOnce<v8::Signature>(5).IsEmpty());
isolate->GetDataFromSnapshotOnce<v8::AccessorSignature>(6)
.ToLocalChecked();
CHECK(
isolate->GetDataFromSnapshotOnce<v8::AccessorSignature>(6).IsEmpty());
CHECK(isolate->GetDataFromSnapshotOnce<v8::Value>(7).IsEmpty());
}
isolate->Dispose();
......
......@@ -500,66 +500,66 @@ KNOWN_OBJECTS = {
("read_only_space", 0x03661): "NativeScopeInfo",
("read_only_space", 0x03679): "HashSeed",
("old_space", 0x04241): "ArgumentsIteratorAccessor",
("old_space", 0x04285): "ArrayLengthAccessor",
("old_space", 0x042c9): "BoundFunctionLengthAccessor",
("old_space", 0x0430d): "BoundFunctionNameAccessor",
("old_space", 0x04351): "ErrorStackAccessor",
("old_space", 0x04395): "FunctionArgumentsAccessor",
("old_space", 0x043d9): "FunctionCallerAccessor",
("old_space", 0x0441d): "FunctionNameAccessor",
("old_space", 0x04461): "FunctionLengthAccessor",
("old_space", 0x044a5): "FunctionPrototypeAccessor",
("old_space", 0x044e9): "StringLengthAccessor",
("old_space", 0x0452d): "WrappedFunctionLengthAccessor",
("old_space", 0x04571): "WrappedFunctionNameAccessor",
("old_space", 0x045b5): "InvalidPrototypeValidityCell",
("old_space", 0x045bd): "EmptyScript",
("old_space", 0x04601): "ManyClosuresCell",
("old_space", 0x0460d): "ArrayConstructorProtector",
("old_space", 0x04621): "NoElementsProtector",
("old_space", 0x04635): "MegaDOMProtector",
("old_space", 0x04649): "IsConcatSpreadableProtector",
("old_space", 0x0465d): "ArraySpeciesProtector",
("old_space", 0x04671): "TypedArraySpeciesProtector",
("old_space", 0x04685): "PromiseSpeciesProtector",
("old_space", 0x04699): "RegExpSpeciesProtector",
("old_space", 0x046ad): "StringLengthProtector",
("old_space", 0x046c1): "ArrayIteratorProtector",
("old_space", 0x046d5): "ArrayBufferDetachingProtector",
("old_space", 0x046e9): "PromiseHookProtector",
("old_space", 0x046fd): "PromiseResolveProtector",
("old_space", 0x04711): "MapIteratorProtector",
("old_space", 0x04725): "PromiseThenProtector",
("old_space", 0x04739): "SetIteratorProtector",
("old_space", 0x0474d): "StringIteratorProtector",
("old_space", 0x04761): "SingleCharacterStringCache",
("old_space", 0x04b69): "StringSplitCache",
("old_space", 0x04f71): "RegExpMultipleCache",
("old_space", 0x05379): "BuiltinsConstantsTable",
("old_space", 0x057ad): "AsyncFunctionAwaitRejectSharedFun",
("old_space", 0x057d1): "AsyncFunctionAwaitResolveSharedFun",
("old_space", 0x057f5): "AsyncGeneratorAwaitRejectSharedFun",
("old_space", 0x05819): "AsyncGeneratorAwaitResolveSharedFun",
("old_space", 0x0583d): "AsyncGeneratorYieldResolveSharedFun",
("old_space", 0x05861): "AsyncGeneratorReturnResolveSharedFun",
("old_space", 0x05885): "AsyncGeneratorReturnClosedRejectSharedFun",
("old_space", 0x058a9): "AsyncGeneratorReturnClosedResolveSharedFun",
("old_space", 0x058cd): "AsyncIteratorValueUnwrapSharedFun",
("old_space", 0x058f1): "PromiseAllResolveElementSharedFun",
("old_space", 0x05915): "PromiseAllSettledResolveElementSharedFun",
("old_space", 0x05939): "PromiseAllSettledRejectElementSharedFun",
("old_space", 0x0595d): "PromiseAnyRejectElementSharedFun",
("old_space", 0x05981): "PromiseCapabilityDefaultRejectSharedFun",
("old_space", 0x059a5): "PromiseCapabilityDefaultResolveSharedFun",
("old_space", 0x059c9): "PromiseCatchFinallySharedFun",
("old_space", 0x059ed): "PromiseGetCapabilitiesExecutorSharedFun",
("old_space", 0x05a11): "PromiseThenFinallySharedFun",
("old_space", 0x05a35): "PromiseThrowerFinallySharedFun",
("old_space", 0x05a59): "PromiseValueThunkFinallySharedFun",
("old_space", 0x05a7d): "ProxyRevokeSharedFun",
("old_space", 0x05aa1): "ShadowRealmImportValueFulfilledSFI",
("old_space", 0x05ac5): "SourceTextModuleExecuteAsyncModuleFulfilledSFI",
("old_space", 0x05ae9): "SourceTextModuleExecuteAsyncModuleRejectedSFI",
("old_space", 0x04281): "ArrayLengthAccessor",
("old_space", 0x042c1): "BoundFunctionLengthAccessor",
("old_space", 0x04301): "BoundFunctionNameAccessor",
("old_space", 0x04341): "ErrorStackAccessor",
("old_space", 0x04381): "FunctionArgumentsAccessor",
("old_space", 0x043c1): "FunctionCallerAccessor",
("old_space", 0x04401): "FunctionNameAccessor",
("old_space", 0x04441): "FunctionLengthAccessor",
("old_space", 0x04481): "FunctionPrototypeAccessor",
("old_space", 0x044c1): "StringLengthAccessor",
("old_space", 0x04501): "WrappedFunctionLengthAccessor",
("old_space", 0x04541): "WrappedFunctionNameAccessor",
("old_space", 0x04581): "InvalidPrototypeValidityCell",
("old_space", 0x04589): "EmptyScript",
("old_space", 0x045cd): "ManyClosuresCell",
("old_space", 0x045d9): "ArrayConstructorProtector",
("old_space", 0x045ed): "NoElementsProtector",
("old_space", 0x04601): "MegaDOMProtector",
("old_space", 0x04615): "IsConcatSpreadableProtector",
("old_space", 0x04629): "ArraySpeciesProtector",
("old_space", 0x0463d): "TypedArraySpeciesProtector",
("old_space", 0x04651): "PromiseSpeciesProtector",
("old_space", 0x04665): "RegExpSpeciesProtector",
("old_space", 0x04679): "StringLengthProtector",
("old_space", 0x0468d): "ArrayIteratorProtector",
("old_space", 0x046a1): "ArrayBufferDetachingProtector",
("old_space", 0x046b5): "PromiseHookProtector",
("old_space", 0x046c9): "PromiseResolveProtector",
("old_space", 0x046dd): "MapIteratorProtector",
("old_space", 0x046f1): "PromiseThenProtector",
("old_space", 0x04705): "SetIteratorProtector",
("old_space", 0x04719): "StringIteratorProtector",
("old_space", 0x0472d): "SingleCharacterStringCache",
("old_space", 0x04b35): "StringSplitCache",
("old_space", 0x04f3d): "RegExpMultipleCache",
("old_space", 0x05345): "BuiltinsConstantsTable",
("old_space", 0x05779): "AsyncFunctionAwaitRejectSharedFun",
("old_space", 0x0579d): "AsyncFunctionAwaitResolveSharedFun",
("old_space", 0x057c1): "AsyncGeneratorAwaitRejectSharedFun",
("old_space", 0x057e5): "AsyncGeneratorAwaitResolveSharedFun",
("old_space", 0x05809): "AsyncGeneratorYieldResolveSharedFun",
("old_space", 0x0582d): "AsyncGeneratorReturnResolveSharedFun",
("old_space", 0x05851): "AsyncGeneratorReturnClosedRejectSharedFun",
("old_space", 0x05875): "AsyncGeneratorReturnClosedResolveSharedFun",
("old_space", 0x05899): "AsyncIteratorValueUnwrapSharedFun",
("old_space", 0x058bd): "PromiseAllResolveElementSharedFun",
("old_space", 0x058e1): "PromiseAllSettledResolveElementSharedFun",
("old_space", 0x05905): "PromiseAllSettledRejectElementSharedFun",
("old_space", 0x05929): "PromiseAnyRejectElementSharedFun",
("old_space", 0x0594d): "PromiseCapabilityDefaultRejectSharedFun",
("old_space", 0x05971): "PromiseCapabilityDefaultResolveSharedFun",
("old_space", 0x05995): "PromiseCatchFinallySharedFun",
("old_space", 0x059b9): "PromiseGetCapabilitiesExecutorSharedFun",
("old_space", 0x059dd): "PromiseThenFinallySharedFun",
("old_space", 0x05a01): "PromiseThrowerFinallySharedFun",
("old_space", 0x05a25): "PromiseValueThunkFinallySharedFun",
("old_space", 0x05a49): "ProxyRevokeSharedFun",
("old_space", 0x05a6d): "ShadowRealmImportValueFulfilledSFI",
("old_space", 0x05a91): "SourceTextModuleExecuteAsyncModuleFulfilledSFI",
("old_space", 0x05ab5): "SourceTextModuleExecuteAsyncModuleRejectedSFI",
}
# Lower 32 bits of first page addresses for various heap spaces.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment