Cleanup: Remove unnecessary ContextExtension wrapper
Bug: v8:7066 Change-Id: Icfcb40b2048997c158fba5f3e250145bed4ca1e3 Reviewed-on: https://chromium-review.googlesource.com/1042386 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52981}
This commit is contained in:
parent
b9c81f51d4
commit
4c972d669a
@ -851,25 +851,6 @@ FieldAccess AccessBuilder::ForContextSlot(size_t index) {
|
||||
return access;
|
||||
}
|
||||
|
||||
// static
|
||||
FieldAccess AccessBuilder::ForContextExtensionScopeInfo() {
|
||||
FieldAccess access = {
|
||||
kTaggedBase, ContextExtension::kScopeInfoOffset,
|
||||
Handle<Name>(), MaybeHandle<Map>(),
|
||||
Type::OtherInternal(), MachineType::AnyTagged(),
|
||||
kFullWriteBarrier};
|
||||
return access;
|
||||
}
|
||||
|
||||
// static
|
||||
FieldAccess AccessBuilder::ForContextExtensionExtension() {
|
||||
FieldAccess access = {kTaggedBase, ContextExtension::kExtensionOffset,
|
||||
Handle<Name>(), MaybeHandle<Map>(),
|
||||
Type::Any(), MachineType::AnyTagged(),
|
||||
kFullWriteBarrier};
|
||||
return access;
|
||||
}
|
||||
|
||||
// static
|
||||
ElementAccess AccessBuilder::ForFixedArrayElement() {
|
||||
ElementAccess access = {kTaggedBase, FixedArray::kHeaderSize, Type::Any(),
|
||||
|
@ -273,10 +273,6 @@ class V8_EXPORT_PRIVATE AccessBuilder final
|
||||
// Provides access to Context slots.
|
||||
static FieldAccess ForContextSlot(size_t index);
|
||||
|
||||
// Provides access to ContextExtension fields.
|
||||
static FieldAccess ForContextExtensionScopeInfo();
|
||||
static FieldAccess ForContextExtensionExtension();
|
||||
|
||||
// Provides access to FixedArray elements.
|
||||
static ElementAccess ForFixedArrayElement();
|
||||
static ElementAccess ForFixedArrayElement(
|
||||
|
@ -1330,19 +1330,12 @@ Reduction JSCreateLowering::ReduceJSCreateFunctionContext(Node* node) {
|
||||
Reduction JSCreateLowering::ReduceJSCreateWithContext(Node* node) {
|
||||
DCHECK_EQ(IrOpcode::kJSCreateWithContext, node->opcode());
|
||||
Handle<ScopeInfo> scope_info = ScopeInfoOf(node->op());
|
||||
Node* object = NodeProperties::GetValueInput(node, 0);
|
||||
Node* extension = NodeProperties::GetValueInput(node, 0);
|
||||
Node* effect = NodeProperties::GetEffectInput(node);
|
||||
Node* control = NodeProperties::GetControlInput(node);
|
||||
Node* context = NodeProperties::GetContextInput(node);
|
||||
|
||||
AllocationBuilder aa(jsgraph(), effect, control);
|
||||
aa.Allocate(ContextExtension::kSize);
|
||||
aa.Store(AccessBuilder::ForMap(), factory()->context_extension_map());
|
||||
aa.Store(AccessBuilder::ForContextExtensionScopeInfo(), scope_info);
|
||||
aa.Store(AccessBuilder::ForContextExtensionExtension(), object);
|
||||
Node* extension = aa.Finish();
|
||||
|
||||
AllocationBuilder a(jsgraph(), extension, control);
|
||||
AllocationBuilder a(jsgraph(), effect, control);
|
||||
STATIC_ASSERT(Context::MIN_CONTEXT_SLOTS == 4); // Ensure fully covered.
|
||||
a.AllocateContext(Context::MIN_CONTEXT_SLOTS, factory()->with_context_map());
|
||||
a.Store(AccessBuilder::ForContextSlot(Context::SCOPE_INFO_INDEX), scope_info);
|
||||
@ -1360,27 +1353,19 @@ Reduction JSCreateLowering::ReduceJSCreateCatchContext(Node* node) {
|
||||
const CreateCatchContextParameters& parameters =
|
||||
CreateCatchContextParametersOf(node->op());
|
||||
Handle<ScopeInfo> scope_info = parameters.scope_info();
|
||||
Handle<String> catch_name = parameters.catch_name();
|
||||
Node* exception = NodeProperties::GetValueInput(node, 0);
|
||||
Node* effect = NodeProperties::GetEffectInput(node);
|
||||
Node* control = NodeProperties::GetControlInput(node);
|
||||
Node* context = NodeProperties::GetContextInput(node);
|
||||
|
||||
AllocationBuilder aa(jsgraph(), effect, control);
|
||||
aa.Allocate(ContextExtension::kSize);
|
||||
aa.Store(AccessBuilder::ForMap(), factory()->context_extension_map());
|
||||
aa.Store(AccessBuilder::ForContextExtensionScopeInfo(),
|
||||
parameters.scope_info());
|
||||
aa.Store(AccessBuilder::ForContextExtensionExtension(),
|
||||
parameters.catch_name());
|
||||
Node* extension = aa.Finish();
|
||||
|
||||
AllocationBuilder a(jsgraph(), extension, control);
|
||||
AllocationBuilder a(jsgraph(), effect, control);
|
||||
STATIC_ASSERT(Context::MIN_CONTEXT_SLOTS == 4); // Ensure fully covered.
|
||||
a.AllocateContext(Context::MIN_CONTEXT_SLOTS + 1,
|
||||
factory()->catch_context_map());
|
||||
a.Store(AccessBuilder::ForContextSlot(Context::SCOPE_INFO_INDEX), scope_info);
|
||||
a.Store(AccessBuilder::ForContextSlot(Context::PREVIOUS_INDEX), context);
|
||||
a.Store(AccessBuilder::ForContextSlot(Context::EXTENSION_INDEX), extension);
|
||||
a.Store(AccessBuilder::ForContextSlot(Context::EXTENSION_INDEX), catch_name);
|
||||
a.Store(AccessBuilder::ForContextSlot(Context::NATIVE_CONTEXT_INDEX),
|
||||
jsgraph()->HeapConstant(native_context()));
|
||||
a.Store(AccessBuilder::ForContextSlot(Context::THROWN_OBJECT_INDEX),
|
||||
|
@ -327,7 +327,6 @@ Type::bitset BitsetType::Lub(i::Map* map) {
|
||||
case WASM_SHARED_MODULE_DATA_TYPE:
|
||||
case LOAD_HANDLER_TYPE:
|
||||
case STORE_HANDLER_TYPE:
|
||||
case CONTEXT_EXTENSION_TYPE:
|
||||
case ASYNC_GENERATOR_REQUEST_TYPE:
|
||||
case CODE_DATA_CONTAINER_TYPE:
|
||||
case CALLBACK_TASK_TYPE:
|
||||
|
@ -93,10 +93,6 @@ JSObject* Context::extension_object() {
|
||||
IsEvalContext());
|
||||
HeapObject* object = extension();
|
||||
if (object->IsTheHole(GetIsolate())) return nullptr;
|
||||
if (IsBlockContext()) {
|
||||
if (!object->IsContextExtension()) return nullptr;
|
||||
object = JSObject::cast(ContextExtension::cast(object)->extension());
|
||||
}
|
||||
DCHECK(object->IsJSContextExtensionObject() ||
|
||||
(IsNativeContext() && object->IsJSGlobalObject()));
|
||||
return JSObject::cast(object);
|
||||
@ -105,9 +101,7 @@ JSObject* Context::extension_object() {
|
||||
JSReceiver* Context::extension_receiver() {
|
||||
DCHECK(IsNativeContext() || IsWithContext() || IsEvalContext() ||
|
||||
IsFunctionContext() || IsBlockContext());
|
||||
return IsWithContext() ? JSReceiver::cast(
|
||||
ContextExtension::cast(extension())->extension())
|
||||
: extension_object();
|
||||
return IsWithContext() ? JSReceiver::cast(extension()) : extension_object();
|
||||
}
|
||||
|
||||
ScopeInfo* Context::scope_info() {
|
||||
@ -124,7 +118,7 @@ Module* Context::module() {
|
||||
|
||||
String* Context::catch_name() {
|
||||
DCHECK(IsCatchContext());
|
||||
return String::cast(ContextExtension::cast(extension())->extension());
|
||||
return String::cast(extension());
|
||||
}
|
||||
|
||||
|
||||
@ -378,16 +372,13 @@ Handle<Object> Context::Lookup(Handle<String> name, ContextLookupFlags flags,
|
||||
} else if (context->IsDebugEvaluateContext()) {
|
||||
// Check materialized locals.
|
||||
Object* ext = context->get(EXTENSION_INDEX);
|
||||
if (ext->IsContextExtension()) {
|
||||
Object* obj = ContextExtension::cast(ext)->extension();
|
||||
if (obj->IsJSReceiver()) {
|
||||
Handle<JSReceiver> extension(JSReceiver::cast(obj));
|
||||
LookupIterator it(extension, name, extension);
|
||||
Maybe<bool> found = JSReceiver::HasProperty(&it);
|
||||
if (found.FromMaybe(false)) {
|
||||
*attributes = NONE;
|
||||
return extension;
|
||||
}
|
||||
if (ext->IsJSReceiver()) {
|
||||
Handle<JSReceiver> extension(JSReceiver::cast(ext));
|
||||
LookupIterator it(extension, name, extension);
|
||||
Maybe<bool> found = JSReceiver::HasProperty(&it);
|
||||
if (found.FromMaybe(false)) {
|
||||
*attributes = NONE;
|
||||
return extension;
|
||||
}
|
||||
}
|
||||
// Check the original context, but do not follow its context chain.
|
||||
|
@ -382,18 +382,15 @@ class ScriptContextTable : public FixedArray {
|
||||
//
|
||||
// [ extension ] Additional data.
|
||||
//
|
||||
// For catch contexts, it contains a ContextExtension object
|
||||
// consisting of the ScopeInfo and the name of the catch
|
||||
// For catch contexts, it contains the name of the catch
|
||||
// variable.
|
||||
//
|
||||
// For module contexts, it contains the module object.
|
||||
//
|
||||
// For block contexts, it may contain a ContextExtension
|
||||
// object consisting of the ScopeInfo and an "extension
|
||||
// object" (see below).
|
||||
// For block contexts, it may contain an "extension object"
|
||||
// (see below).
|
||||
//
|
||||
// For with contexts, it contains a ContextExtension object
|
||||
// consisting of the ScopeInfo and an "extension object".
|
||||
// For with contexts, it contains an "extension object".
|
||||
//
|
||||
// An "extension object" is used to dynamically extend a
|
||||
// context with additional variables, namely in the
|
||||
|
@ -3419,7 +3419,6 @@ void TranslatedState::InitializeCapturedObjectAt(
|
||||
case BOILERPLATE_DESCRIPTION_TYPE:
|
||||
case HASH_TABLE_TYPE:
|
||||
case PROPERTY_ARRAY_TYPE:
|
||||
case CONTEXT_EXTENSION_TYPE:
|
||||
InitializeObjectWithTaggedFieldsAt(frame, &value_index, slot, map,
|
||||
no_allocation);
|
||||
break;
|
||||
@ -3586,14 +3585,6 @@ void TranslatedState::EnsureCapturedObjectAllocatedAt(
|
||||
&value_index, worklist);
|
||||
}
|
||||
|
||||
case CONTEXT_EXTENSION_TYPE: {
|
||||
CHECK_EQ(map->instance_size(), slot->GetChildrenCount() * kPointerSize);
|
||||
slot->set_storage(AllocateStorageFor(slot));
|
||||
// Make sure all the remaining children (after the map) are allocated.
|
||||
return EnsureChildrenAllocated(slot->GetChildrenCount() - 1, frame,
|
||||
&value_index, worklist);
|
||||
}
|
||||
|
||||
default:
|
||||
CHECK(map->IsJSObjectMap());
|
||||
EnsureJSObjectAllocated(slot, map);
|
||||
|
@ -155,15 +155,6 @@ Handle<Tuple3> Factory::NewTuple3(Handle<Object> value1, Handle<Object> value2,
|
||||
return result;
|
||||
}
|
||||
|
||||
Handle<ContextExtension> Factory::NewContextExtension(
|
||||
Handle<ScopeInfo> scope_info, Handle<Object> extension) {
|
||||
Handle<ContextExtension> result = Handle<ContextExtension>::cast(
|
||||
NewStruct(CONTEXT_EXTENSION_TYPE, TENURED));
|
||||
result->set_scope_info(*scope_info);
|
||||
result->set_extension(*extension);
|
||||
return result;
|
||||
}
|
||||
|
||||
Handle<ConstantElementsPair> Factory::NewConstantElementsPair(
|
||||
ElementsKind elements_kind, Handle<FixedArrayBase> constant_values) {
|
||||
Handle<ConstantElementsPair> result =
|
||||
@ -1343,12 +1334,11 @@ Handle<Context> Factory::NewCatchContext(Handle<Context> previous,
|
||||
Handle<String> name,
|
||||
Handle<Object> thrown_object) {
|
||||
STATIC_ASSERT(Context::MIN_CONTEXT_SLOTS == Context::THROWN_OBJECT_INDEX);
|
||||
Handle<ContextExtension> extension = NewContextExtension(scope_info, name);
|
||||
Handle<Context> context = NewFixedArrayWithMap<Context>(
|
||||
Heap::kCatchContextMapRootIndex, Context::MIN_CONTEXT_SLOTS + 1);
|
||||
context->set_scope_info(*scope_info);
|
||||
context->set_previous(*previous);
|
||||
context->set_extension(*extension);
|
||||
context->set_extension(*name);
|
||||
context->set_native_context(previous->native_context());
|
||||
context->set(Context::THROWN_OBJECT_INDEX, *thrown_object);
|
||||
return context;
|
||||
@ -1361,15 +1351,15 @@ Handle<Context> Factory::NewDebugEvaluateContext(Handle<Context> previous,
|
||||
Handle<StringSet> whitelist) {
|
||||
STATIC_ASSERT(Context::WHITE_LIST_INDEX == Context::MIN_CONTEXT_SLOTS + 1);
|
||||
DCHECK(scope_info->IsDebugEvaluateScope());
|
||||
Handle<ContextExtension> context_extension = NewContextExtension(
|
||||
scope_info, extension.is_null() ? Handle<Object>::cast(undefined_value())
|
||||
: Handle<Object>::cast(extension));
|
||||
Handle<HeapObject> ext = extension.is_null()
|
||||
? Handle<HeapObject>::cast(the_hole_value())
|
||||
: Handle<HeapObject>::cast(extension);
|
||||
Handle<Context> c = NewFixedArrayWithMap<Context>(
|
||||
Heap::kDebugEvaluateContextMapRootIndex, Context::MIN_CONTEXT_SLOTS + 2);
|
||||
c->set_scope_info(*scope_info);
|
||||
c->set_previous(*previous);
|
||||
c->set_native_context(previous->native_context());
|
||||
c->set_extension(*context_extension);
|
||||
c->set_extension(*ext);
|
||||
if (!wrapped.is_null()) c->set(Context::WRAPPED_CONTEXT_INDEX, *wrapped);
|
||||
if (!whitelist.is_null()) c->set(Context::WHITE_LIST_INDEX, *whitelist);
|
||||
return c;
|
||||
@ -1378,13 +1368,11 @@ Handle<Context> Factory::NewDebugEvaluateContext(Handle<Context> previous,
|
||||
Handle<Context> Factory::NewWithContext(Handle<Context> previous,
|
||||
Handle<ScopeInfo> scope_info,
|
||||
Handle<JSReceiver> extension) {
|
||||
Handle<ContextExtension> context_extension =
|
||||
NewContextExtension(scope_info, extension);
|
||||
Handle<Context> context = NewFixedArrayWithMap<Context>(
|
||||
Heap::kWithContextMapRootIndex, Context::MIN_CONTEXT_SLOTS);
|
||||
context->set_scope_info(*scope_info);
|
||||
context->set_previous(*previous);
|
||||
context->set_extension(*context_extension);
|
||||
context->set_extension(*extension);
|
||||
context->set_native_context(previous->native_context());
|
||||
return context;
|
||||
}
|
||||
|
@ -186,10 +186,6 @@ class V8_EXPORT_PRIVATE Factory {
|
||||
Handle<Tuple3> NewTuple3(Handle<Object> value1, Handle<Object> value2,
|
||||
Handle<Object> value3, PretenureFlag pretenure);
|
||||
|
||||
// Create a new ContextExtension struct.
|
||||
Handle<ContextExtension> NewContextExtension(Handle<ScopeInfo> scope_info,
|
||||
Handle<Object> extension);
|
||||
|
||||
// Create a new ConstantElementsPair struct.
|
||||
Handle<ConstantElementsPair> NewConstantElementsPair(
|
||||
ElementsKind elements_kind, Handle<FixedArrayBase> constant_values);
|
||||
|
@ -716,8 +716,7 @@ int IncrementalMarking::VisitObject(Map* map, HeapObject* obj) {
|
||||
// unsafe layout change.
|
||||
// 4. The object is materizalized by the deoptimizer.
|
||||
DCHECK(obj->IsHashTable() || obj->IsPropertyArray() ||
|
||||
obj->IsContextExtension() || obj->IsFixedArray() ||
|
||||
obj->IsJSObject() || obj->IsString());
|
||||
obj->IsFixedArray() || obj->IsJSObject() || obj->IsString());
|
||||
}
|
||||
DCHECK(marking_state()->IsBlack(obj));
|
||||
WhiteToGreyAndPush(map);
|
||||
|
@ -1611,12 +1611,6 @@ void StoreHandler::StoreHandlerVerify() {
|
||||
// TODO(ishell): check handler integrity
|
||||
}
|
||||
|
||||
void ContextExtension::ContextExtensionVerify() {
|
||||
CHECK(IsContextExtension());
|
||||
VerifyObjectField(kScopeInfoOffset);
|
||||
VerifyObjectField(kExtensionOffset);
|
||||
}
|
||||
|
||||
void AccessorInfo::AccessorInfoVerify() {
|
||||
CHECK(IsAccessorInfo());
|
||||
VerifyPointer(name());
|
||||
|
@ -571,7 +571,6 @@ CAST_ACCESSOR(BigInt)
|
||||
CAST_ACCESSOR(BoilerplateDescription)
|
||||
CAST_ACCESSOR(Cell)
|
||||
CAST_ACCESSOR(ConstantElementsPair)
|
||||
CAST_ACCESSOR(ContextExtension)
|
||||
CAST_ACCESSOR(DescriptorArray)
|
||||
CAST_ACCESSOR(EnumCache)
|
||||
CAST_ACCESSOR(FeedbackCell)
|
||||
@ -2324,9 +2323,6 @@ ACCESSORS(Tuple2, value1, Object, kValue1Offset)
|
||||
ACCESSORS(Tuple2, value2, Object, kValue2Offset)
|
||||
ACCESSORS(Tuple3, value3, Object, kValue3Offset)
|
||||
|
||||
ACCESSORS(ContextExtension, scope_info, ScopeInfo, kScopeInfoOffset)
|
||||
ACCESSORS(ContextExtension, extension, Object, kExtensionOffset)
|
||||
|
||||
SMI_ACCESSORS(ConstantElementsPair, elements_kind, kElementsKindOffset)
|
||||
ACCESSORS(ConstantElementsPair, constant_values, FixedArrayBase,
|
||||
kConstantValuesOffset)
|
||||
|
@ -1645,13 +1645,6 @@ void StoreHandler::StoreHandlerPrint(std::ostream& os) { // NOLINT
|
||||
os << "\n";
|
||||
}
|
||||
|
||||
void ContextExtension::ContextExtensionPrint(std::ostream& os) { // NOLINT
|
||||
HeapObject::PrintHeader(os, "ContextExtension");
|
||||
os << "\n - scope_info: " << Brief(scope_info());
|
||||
os << "\n - extension: " << Brief(extension());
|
||||
os << "\n";
|
||||
}
|
||||
|
||||
void AccessorPair::AccessorPairPrint(std::ostream& os) { // NOLINT
|
||||
HeapObject::PrintHeader(os, "AccessorPair");
|
||||
os << "\n - getter: " << Brief(getter());
|
||||
|
@ -382,7 +382,6 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
|
||||
V(ALLOCATION_MEMENTO_TYPE) \
|
||||
V(ALLOCATION_SITE_TYPE) \
|
||||
V(ASYNC_GENERATOR_REQUEST_TYPE) \
|
||||
V(CONTEXT_EXTENSION_TYPE) \
|
||||
V(DEBUG_INFO_TYPE) \
|
||||
V(FUNCTION_TEMPLATE_INFO_TYPE) \
|
||||
V(INTERCEPTOR_INFO_TYPE) \
|
||||
@ -557,7 +556,6 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
|
||||
V(ALLOCATION_MEMENTO, AllocationMemento, allocation_memento) \
|
||||
V(ALLOCATION_SITE, AllocationSite, allocation_site) \
|
||||
V(ASYNC_GENERATOR_REQUEST, AsyncGeneratorRequest, async_generator_request) \
|
||||
V(CONTEXT_EXTENSION, ContextExtension, context_extension) \
|
||||
V(DEBUG_INFO, DebugInfo, debug_info) \
|
||||
V(FUNCTION_TEMPLATE_INFO, FunctionTemplateInfo, function_template_info) \
|
||||
V(INTERCEPTOR_INFO, InterceptorInfo, interceptor_info) \
|
||||
@ -752,7 +750,6 @@ enum InstanceType : uint16_t {
|
||||
ALLOCATION_MEMENTO_TYPE,
|
||||
ALLOCATION_SITE_TYPE,
|
||||
ASYNC_GENERATOR_REQUEST_TYPE,
|
||||
CONTEXT_EXTENSION_TYPE,
|
||||
DEBUG_INFO_TYPE,
|
||||
FUNCTION_TEMPLATE_INFO_TYPE,
|
||||
INTERCEPTOR_INFO_TYPE,
|
||||
@ -2988,32 +2985,6 @@ class PrototypeInfo : public Struct {
|
||||
DISALLOW_IMPLICIT_CONSTRUCTORS(PrototypeInfo);
|
||||
};
|
||||
|
||||
// Pair used to store both a ScopeInfo and an extension object in the extension
|
||||
// slot of a block, catch, or with context. Needed in the rare case where a
|
||||
// declaration block scope (a "varblock" as used to desugar parameter
|
||||
// destructuring) also contains a sloppy direct eval, or for with and catch
|
||||
// scopes. (In no other case both are needed at the same time.)
|
||||
class ContextExtension : public Struct {
|
||||
public:
|
||||
// [scope_info]: Scope info.
|
||||
DECL_ACCESSORS(scope_info, ScopeInfo)
|
||||
// [extension]: Extension object.
|
||||
DECL_ACCESSORS(extension, Object)
|
||||
|
||||
DECL_CAST(ContextExtension)
|
||||
|
||||
// Dispatched behavior.
|
||||
DECL_PRINTER(ContextExtension)
|
||||
DECL_VERIFIER(ContextExtension)
|
||||
|
||||
static const int kScopeInfoOffset = HeapObject::kHeaderSize;
|
||||
static const int kExtensionOffset = kScopeInfoOffset + kPointerSize;
|
||||
static const int kSize = kExtensionOffset + kPointerSize;
|
||||
|
||||
private:
|
||||
DISALLOW_IMPLICIT_CONSTRUCTORS(ContextExtension);
|
||||
};
|
||||
|
||||
// List of builtin functions we want to identify to improve code
|
||||
// generation.
|
||||
//
|
||||
|
@ -297,14 +297,7 @@ Object* DeclareEvalHelper(Isolate* isolate, Handle<String> name,
|
||||
object =
|
||||
isolate->factory()->NewJSObject(isolate->context_extension_function());
|
||||
|
||||
if (context->IsBlockContext()) {
|
||||
Handle<ContextExtension> extension =
|
||||
isolate->factory()->NewContextExtension(handle(context->scope_info()),
|
||||
object);
|
||||
context->set_extension(*extension);
|
||||
} else {
|
||||
context->set_extension(*object);
|
||||
}
|
||||
context->set_extension(*object);
|
||||
}
|
||||
|
||||
RETURN_FAILURE_ON_EXCEPTION(isolate, JSObject::SetOwnPropertyIgnoreAttributes(
|
||||
|
@ -61,59 +61,58 @@ INSTANCE_TYPES = {
|
||||
157: "ALLOCATION_MEMENTO_TYPE",
|
||||
158: "ALLOCATION_SITE_TYPE",
|
||||
159: "ASYNC_GENERATOR_REQUEST_TYPE",
|
||||
160: "CONTEXT_EXTENSION_TYPE",
|
||||
161: "DEBUG_INFO_TYPE",
|
||||
162: "FUNCTION_TEMPLATE_INFO_TYPE",
|
||||
163: "INTERCEPTOR_INFO_TYPE",
|
||||
164: "INTERPRETER_DATA_TYPE",
|
||||
165: "MODULE_INFO_ENTRY_TYPE",
|
||||
166: "MODULE_TYPE",
|
||||
167: "OBJECT_TEMPLATE_INFO_TYPE",
|
||||
168: "PROMISE_CAPABILITY_TYPE",
|
||||
169: "PROMISE_REACTION_TYPE",
|
||||
170: "PROTOTYPE_INFO_TYPE",
|
||||
171: "SCRIPT_TYPE",
|
||||
172: "STACK_FRAME_INFO_TYPE",
|
||||
173: "TUPLE2_TYPE",
|
||||
174: "TUPLE3_TYPE",
|
||||
175: "WASM_COMPILED_MODULE_TYPE",
|
||||
176: "WASM_DEBUG_INFO_TYPE",
|
||||
177: "WASM_SHARED_MODULE_DATA_TYPE",
|
||||
178: "CALLABLE_TASK_TYPE",
|
||||
179: "CALLBACK_TASK_TYPE",
|
||||
180: "PROMISE_FULFILL_REACTION_JOB_TASK_TYPE",
|
||||
181: "PROMISE_REJECT_REACTION_JOB_TASK_TYPE",
|
||||
182: "PROMISE_RESOLVE_THENABLE_JOB_TASK_TYPE",
|
||||
183: "FIXED_ARRAY_TYPE",
|
||||
184: "BOILERPLATE_DESCRIPTION_TYPE",
|
||||
185: "DESCRIPTOR_ARRAY_TYPE",
|
||||
186: "HASH_TABLE_TYPE",
|
||||
187: "SCOPE_INFO_TYPE",
|
||||
188: "BLOCK_CONTEXT_TYPE",
|
||||
189: "CATCH_CONTEXT_TYPE",
|
||||
190: "DEBUG_EVALUATE_CONTEXT_TYPE",
|
||||
191: "EVAL_CONTEXT_TYPE",
|
||||
192: "FUNCTION_CONTEXT_TYPE",
|
||||
193: "MODULE_CONTEXT_TYPE",
|
||||
194: "NATIVE_CONTEXT_TYPE",
|
||||
195: "SCRIPT_CONTEXT_TYPE",
|
||||
196: "WITH_CONTEXT_TYPE",
|
||||
197: "WEAK_FIXED_ARRAY_TYPE",
|
||||
198: "TRANSITION_ARRAY_TYPE",
|
||||
199: "CALL_HANDLER_INFO_TYPE",
|
||||
200: "CELL_TYPE",
|
||||
201: "CODE_DATA_CONTAINER_TYPE",
|
||||
202: "FEEDBACK_CELL_TYPE",
|
||||
203: "FEEDBACK_VECTOR_TYPE",
|
||||
204: "LOAD_HANDLER_TYPE",
|
||||
205: "PROPERTY_ARRAY_TYPE",
|
||||
206: "PROPERTY_CELL_TYPE",
|
||||
207: "SHARED_FUNCTION_INFO_TYPE",
|
||||
208: "SMALL_ORDERED_HASH_MAP_TYPE",
|
||||
209: "SMALL_ORDERED_HASH_SET_TYPE",
|
||||
210: "STORE_HANDLER_TYPE",
|
||||
211: "WEAK_CELL_TYPE",
|
||||
212: "WEAK_ARRAY_LIST_TYPE",
|
||||
160: "DEBUG_INFO_TYPE",
|
||||
161: "FUNCTION_TEMPLATE_INFO_TYPE",
|
||||
162: "INTERCEPTOR_INFO_TYPE",
|
||||
163: "INTERPRETER_DATA_TYPE",
|
||||
164: "MODULE_INFO_ENTRY_TYPE",
|
||||
165: "MODULE_TYPE",
|
||||
166: "OBJECT_TEMPLATE_INFO_TYPE",
|
||||
167: "PROMISE_CAPABILITY_TYPE",
|
||||
168: "PROMISE_REACTION_TYPE",
|
||||
169: "PROTOTYPE_INFO_TYPE",
|
||||
170: "SCRIPT_TYPE",
|
||||
171: "STACK_FRAME_INFO_TYPE",
|
||||
172: "TUPLE2_TYPE",
|
||||
173: "TUPLE3_TYPE",
|
||||
174: "WASM_COMPILED_MODULE_TYPE",
|
||||
175: "WASM_DEBUG_INFO_TYPE",
|
||||
176: "WASM_SHARED_MODULE_DATA_TYPE",
|
||||
177: "CALLABLE_TASK_TYPE",
|
||||
178: "CALLBACK_TASK_TYPE",
|
||||
179: "PROMISE_FULFILL_REACTION_JOB_TASK_TYPE",
|
||||
180: "PROMISE_REJECT_REACTION_JOB_TASK_TYPE",
|
||||
181: "PROMISE_RESOLVE_THENABLE_JOB_TASK_TYPE",
|
||||
182: "FIXED_ARRAY_TYPE",
|
||||
183: "BOILERPLATE_DESCRIPTION_TYPE",
|
||||
184: "DESCRIPTOR_ARRAY_TYPE",
|
||||
185: "HASH_TABLE_TYPE",
|
||||
186: "SCOPE_INFO_TYPE",
|
||||
187: "BLOCK_CONTEXT_TYPE",
|
||||
188: "CATCH_CONTEXT_TYPE",
|
||||
189: "DEBUG_EVALUATE_CONTEXT_TYPE",
|
||||
190: "EVAL_CONTEXT_TYPE",
|
||||
191: "FUNCTION_CONTEXT_TYPE",
|
||||
192: "MODULE_CONTEXT_TYPE",
|
||||
193: "NATIVE_CONTEXT_TYPE",
|
||||
194: "SCRIPT_CONTEXT_TYPE",
|
||||
195: "WITH_CONTEXT_TYPE",
|
||||
196: "WEAK_FIXED_ARRAY_TYPE",
|
||||
197: "TRANSITION_ARRAY_TYPE",
|
||||
198: "CALL_HANDLER_INFO_TYPE",
|
||||
199: "CELL_TYPE",
|
||||
200: "CODE_DATA_CONTAINER_TYPE",
|
||||
201: "FEEDBACK_CELL_TYPE",
|
||||
202: "FEEDBACK_VECTOR_TYPE",
|
||||
203: "LOAD_HANDLER_TYPE",
|
||||
204: "PROPERTY_ARRAY_TYPE",
|
||||
205: "PROPERTY_CELL_TYPE",
|
||||
206: "SHARED_FUNCTION_INFO_TYPE",
|
||||
207: "SMALL_ORDERED_HASH_MAP_TYPE",
|
||||
208: "SMALL_ORDERED_HASH_SET_TYPE",
|
||||
209: "STORE_HANDLER_TYPE",
|
||||
210: "WEAK_CELL_TYPE",
|
||||
211: "WEAK_ARRAY_LIST_TYPE",
|
||||
1024: "JS_PROXY_TYPE",
|
||||
1025: "JS_GLOBAL_OBJECT_TYPE",
|
||||
1026: "JS_GLOBAL_PROXY_TYPE",
|
||||
@ -162,9 +161,9 @@ KNOWN_MAPS = {
|
||||
("RO_SPACE", 0x02201): (138, "FreeSpaceMap"),
|
||||
("RO_SPACE", 0x02259): (132, "MetaMap"),
|
||||
("RO_SPACE", 0x022e1): (131, "NullMap"),
|
||||
("RO_SPACE", 0x02359): (185, "DescriptorArrayMap"),
|
||||
("RO_SPACE", 0x023c1): (183, "FixedArrayMap"),
|
||||
("RO_SPACE", 0x02429): (211, "WeakCellMap"),
|
||||
("RO_SPACE", 0x02359): (184, "DescriptorArrayMap"),
|
||||
("RO_SPACE", 0x023c1): (182, "FixedArrayMap"),
|
||||
("RO_SPACE", 0x02429): (210, "WeakCellMap"),
|
||||
("RO_SPACE", 0x024d1): (152, "OnePointerFillerMap"),
|
||||
("RO_SPACE", 0x02539): (152, "TwoPointerFillerMap"),
|
||||
("RO_SPACE", 0x025a1): (131, "UninitializedMap"),
|
||||
@ -174,60 +173,60 @@ KNOWN_MAPS = {
|
||||
("RO_SPACE", 0x02801): (131, "TheHoleMap"),
|
||||
("RO_SPACE", 0x028c9): (131, "BooleanMap"),
|
||||
("RO_SPACE", 0x029d9): (136, "ByteArrayMap"),
|
||||
("RO_SPACE", 0x02a41): (183, "FixedCOWArrayMap"),
|
||||
("RO_SPACE", 0x02aa9): (186, "HashTableMap"),
|
||||
("RO_SPACE", 0x02a41): (182, "FixedCOWArrayMap"),
|
||||
("RO_SPACE", 0x02aa9): (185, "HashTableMap"),
|
||||
("RO_SPACE", 0x02b11): (128, "SymbolMap"),
|
||||
("RO_SPACE", 0x02b79): (72, "OneByteStringMap"),
|
||||
("RO_SPACE", 0x02be1): (187, "ScopeInfoMap"),
|
||||
("RO_SPACE", 0x02c49): (207, "SharedFunctionInfoMap"),
|
||||
("RO_SPACE", 0x02be1): (186, "ScopeInfoMap"),
|
||||
("RO_SPACE", 0x02c49): (206, "SharedFunctionInfoMap"),
|
||||
("RO_SPACE", 0x02cb1): (133, "CodeMap"),
|
||||
("RO_SPACE", 0x02d19): (192, "FunctionContextMap"),
|
||||
("RO_SPACE", 0x02d81): (200, "CellMap"),
|
||||
("RO_SPACE", 0x02de9): (206, "GlobalPropertyCellMap"),
|
||||
("RO_SPACE", 0x02d19): (191, "FunctionContextMap"),
|
||||
("RO_SPACE", 0x02d81): (199, "CellMap"),
|
||||
("RO_SPACE", 0x02de9): (205, "GlobalPropertyCellMap"),
|
||||
("RO_SPACE", 0x02e51): (135, "ForeignMap"),
|
||||
("RO_SPACE", 0x02eb9): (198, "TransitionArrayMap"),
|
||||
("RO_SPACE", 0x02f21): (203, "FeedbackVectorMap"),
|
||||
("RO_SPACE", 0x02eb9): (197, "TransitionArrayMap"),
|
||||
("RO_SPACE", 0x02f21): (202, "FeedbackVectorMap"),
|
||||
("RO_SPACE", 0x02f89): (131, "ArgumentsMarkerMap"),
|
||||
("RO_SPACE", 0x03019): (131, "ExceptionMap"),
|
||||
("RO_SPACE", 0x030a9): (131, "TerminationExceptionMap"),
|
||||
("RO_SPACE", 0x03141): (131, "OptimizedOutMap"),
|
||||
("RO_SPACE", 0x031d1): (131, "StaleRegisterMap"),
|
||||
("RO_SPACE", 0x03261): (194, "NativeContextMap"),
|
||||
("RO_SPACE", 0x032c9): (193, "ModuleContextMap"),
|
||||
("RO_SPACE", 0x03331): (191, "EvalContextMap"),
|
||||
("RO_SPACE", 0x03399): (195, "ScriptContextMap"),
|
||||
("RO_SPACE", 0x03401): (188, "BlockContextMap"),
|
||||
("RO_SPACE", 0x03469): (189, "CatchContextMap"),
|
||||
("RO_SPACE", 0x034d1): (196, "WithContextMap"),
|
||||
("RO_SPACE", 0x03539): (190, "DebugEvaluateContextMap"),
|
||||
("RO_SPACE", 0x035a1): (183, "ScriptContextTableMap"),
|
||||
("RO_SPACE", 0x03261): (193, "NativeContextMap"),
|
||||
("RO_SPACE", 0x032c9): (192, "ModuleContextMap"),
|
||||
("RO_SPACE", 0x03331): (190, "EvalContextMap"),
|
||||
("RO_SPACE", 0x03399): (194, "ScriptContextMap"),
|
||||
("RO_SPACE", 0x03401): (187, "BlockContextMap"),
|
||||
("RO_SPACE", 0x03469): (188, "CatchContextMap"),
|
||||
("RO_SPACE", 0x034d1): (195, "WithContextMap"),
|
||||
("RO_SPACE", 0x03539): (189, "DebugEvaluateContextMap"),
|
||||
("RO_SPACE", 0x035a1): (182, "ScriptContextTableMap"),
|
||||
("RO_SPACE", 0x03609): (151, "FeedbackMetadataArrayMap"),
|
||||
("RO_SPACE", 0x03671): (183, "ArrayListMap"),
|
||||
("RO_SPACE", 0x03671): (182, "ArrayListMap"),
|
||||
("RO_SPACE", 0x036d9): (130, "BigIntMap"),
|
||||
("RO_SPACE", 0x03741): (184, "BoilerplateDescriptionMap"),
|
||||
("RO_SPACE", 0x03741): (183, "BoilerplateDescriptionMap"),
|
||||
("RO_SPACE", 0x037a9): (137, "BytecodeArrayMap"),
|
||||
("RO_SPACE", 0x03811): (201, "CodeDataContainerMap"),
|
||||
("RO_SPACE", 0x03811): (200, "CodeDataContainerMap"),
|
||||
("RO_SPACE", 0x03879): (150, "FixedDoubleArrayMap"),
|
||||
("RO_SPACE", 0x038e1): (186, "GlobalDictionaryMap"),
|
||||
("RO_SPACE", 0x03949): (202, "ManyClosuresCellMap"),
|
||||
("RO_SPACE", 0x039b1): (183, "ModuleInfoMap"),
|
||||
("RO_SPACE", 0x038e1): (185, "GlobalDictionaryMap"),
|
||||
("RO_SPACE", 0x03949): (201, "ManyClosuresCellMap"),
|
||||
("RO_SPACE", 0x039b1): (182, "ModuleInfoMap"),
|
||||
("RO_SPACE", 0x03a19): (134, "MutableHeapNumberMap"),
|
||||
("RO_SPACE", 0x03a81): (186, "NameDictionaryMap"),
|
||||
("RO_SPACE", 0x03ae9): (202, "NoClosuresCellMap"),
|
||||
("RO_SPACE", 0x03b51): (186, "NumberDictionaryMap"),
|
||||
("RO_SPACE", 0x03bb9): (202, "OneClosureCellMap"),
|
||||
("RO_SPACE", 0x03c21): (186, "OrderedHashMapMap"),
|
||||
("RO_SPACE", 0x03c89): (186, "OrderedHashSetMap"),
|
||||
("RO_SPACE", 0x03cf1): (205, "PropertyArrayMap"),
|
||||
("RO_SPACE", 0x03d59): (199, "SideEffectCallHandlerInfoMap"),
|
||||
("RO_SPACE", 0x03dc1): (199, "SideEffectFreeCallHandlerInfoMap"),
|
||||
("RO_SPACE", 0x03e29): (186, "SimpleNumberDictionaryMap"),
|
||||
("RO_SPACE", 0x03e91): (183, "SloppyArgumentsElementsMap"),
|
||||
("RO_SPACE", 0x03ef9): (208, "SmallOrderedHashMapMap"),
|
||||
("RO_SPACE", 0x03f61): (209, "SmallOrderedHashSetMap"),
|
||||
("RO_SPACE", 0x03fc9): (186, "StringTableMap"),
|
||||
("RO_SPACE", 0x04031): (197, "WeakFixedArrayMap"),
|
||||
("RO_SPACE", 0x04099): (212, "WeakArrayListMap"),
|
||||
("RO_SPACE", 0x03a81): (185, "NameDictionaryMap"),
|
||||
("RO_SPACE", 0x03ae9): (201, "NoClosuresCellMap"),
|
||||
("RO_SPACE", 0x03b51): (185, "NumberDictionaryMap"),
|
||||
("RO_SPACE", 0x03bb9): (201, "OneClosureCellMap"),
|
||||
("RO_SPACE", 0x03c21): (185, "OrderedHashMapMap"),
|
||||
("RO_SPACE", 0x03c89): (185, "OrderedHashSetMap"),
|
||||
("RO_SPACE", 0x03cf1): (204, "PropertyArrayMap"),
|
||||
("RO_SPACE", 0x03d59): (198, "SideEffectCallHandlerInfoMap"),
|
||||
("RO_SPACE", 0x03dc1): (198, "SideEffectFreeCallHandlerInfoMap"),
|
||||
("RO_SPACE", 0x03e29): (185, "SimpleNumberDictionaryMap"),
|
||||
("RO_SPACE", 0x03e91): (182, "SloppyArgumentsElementsMap"),
|
||||
("RO_SPACE", 0x03ef9): (207, "SmallOrderedHashMapMap"),
|
||||
("RO_SPACE", 0x03f61): (208, "SmallOrderedHashSetMap"),
|
||||
("RO_SPACE", 0x03fc9): (185, "StringTableMap"),
|
||||
("RO_SPACE", 0x04031): (196, "WeakFixedArrayMap"),
|
||||
("RO_SPACE", 0x04099): (211, "WeakArrayListMap"),
|
||||
("RO_SPACE", 0x04101): (106, "NativeSourceStringMap"),
|
||||
("RO_SPACE", 0x04169): (64, "StringMap"),
|
||||
("RO_SPACE", 0x041d1): (73, "ConsOneByteStringMap"),
|
||||
@ -261,9 +260,9 @@ KNOWN_MAPS = {
|
||||
("RO_SPACE", 0x04d31): (149, "FixedBigUint64ArrayMap"),
|
||||
("RO_SPACE", 0x04d99): (148, "FixedBigInt64ArrayMap"),
|
||||
("RO_SPACE", 0x04e01): (131, "SelfReferenceMarkerMap"),
|
||||
("RO_SPACE", 0x04e81): (173, "Tuple2Map"),
|
||||
("RO_SPACE", 0x04ef9): (171, "ScriptMap"),
|
||||
("RO_SPACE", 0x04f61): (163, "InterceptorInfoMap"),
|
||||
("RO_SPACE", 0x04e81): (172, "Tuple2Map"),
|
||||
("RO_SPACE", 0x04ef9): (170, "ScriptMap"),
|
||||
("RO_SPACE", 0x04f61): (162, "InterceptorInfoMap"),
|
||||
("RO_SPACE", 0x08e59): (154, "AccessorInfoMap"),
|
||||
("RO_SPACE", 0x09069): (153, "AccessCheckInfoMap"),
|
||||
("RO_SPACE", 0x090d1): (155, "AccessorPairMap"),
|
||||
@ -271,26 +270,25 @@ KNOWN_MAPS = {
|
||||
("RO_SPACE", 0x091a1): (157, "AllocationMementoMap"),
|
||||
("RO_SPACE", 0x09209): (158, "AllocationSiteMap"),
|
||||
("RO_SPACE", 0x09271): (159, "AsyncGeneratorRequestMap"),
|
||||
("RO_SPACE", 0x092d9): (160, "ContextExtensionMap"),
|
||||
("RO_SPACE", 0x09341): (161, "DebugInfoMap"),
|
||||
("RO_SPACE", 0x093a9): (162, "FunctionTemplateInfoMap"),
|
||||
("RO_SPACE", 0x09411): (164, "InterpreterDataMap"),
|
||||
("RO_SPACE", 0x09479): (165, "ModuleInfoEntryMap"),
|
||||
("RO_SPACE", 0x094e1): (166, "ModuleMap"),
|
||||
("RO_SPACE", 0x09549): (167, "ObjectTemplateInfoMap"),
|
||||
("RO_SPACE", 0x095b1): (168, "PromiseCapabilityMap"),
|
||||
("RO_SPACE", 0x09619): (169, "PromiseReactionMap"),
|
||||
("RO_SPACE", 0x09681): (170, "PrototypeInfoMap"),
|
||||
("RO_SPACE", 0x096e9): (172, "StackFrameInfoMap"),
|
||||
("RO_SPACE", 0x09751): (174, "Tuple3Map"),
|
||||
("RO_SPACE", 0x097b9): (175, "WasmCompiledModuleMap"),
|
||||
("RO_SPACE", 0x09821): (176, "WasmDebugInfoMap"),
|
||||
("RO_SPACE", 0x09889): (177, "WasmSharedModuleDataMap"),
|
||||
("RO_SPACE", 0x098f1): (178, "CallableTaskMap"),
|
||||
("RO_SPACE", 0x09959): (179, "CallbackTaskMap"),
|
||||
("RO_SPACE", 0x099c1): (180, "PromiseFulfillReactionJobTaskMap"),
|
||||
("RO_SPACE", 0x09a29): (181, "PromiseRejectReactionJobTaskMap"),
|
||||
("RO_SPACE", 0x09a91): (182, "PromiseResolveThenableJobTaskMap"),
|
||||
("RO_SPACE", 0x092d9): (160, "DebugInfoMap"),
|
||||
("RO_SPACE", 0x09341): (161, "FunctionTemplateInfoMap"),
|
||||
("RO_SPACE", 0x093a9): (163, "InterpreterDataMap"),
|
||||
("RO_SPACE", 0x09411): (164, "ModuleInfoEntryMap"),
|
||||
("RO_SPACE", 0x09479): (165, "ModuleMap"),
|
||||
("RO_SPACE", 0x094e1): (166, "ObjectTemplateInfoMap"),
|
||||
("RO_SPACE", 0x09549): (167, "PromiseCapabilityMap"),
|
||||
("RO_SPACE", 0x095b1): (168, "PromiseReactionMap"),
|
||||
("RO_SPACE", 0x09619): (169, "PrototypeInfoMap"),
|
||||
("RO_SPACE", 0x09681): (171, "StackFrameInfoMap"),
|
||||
("RO_SPACE", 0x096e9): (173, "Tuple3Map"),
|
||||
("RO_SPACE", 0x09751): (174, "WasmCompiledModuleMap"),
|
||||
("RO_SPACE", 0x097b9): (175, "WasmDebugInfoMap"),
|
||||
("RO_SPACE", 0x09821): (176, "WasmSharedModuleDataMap"),
|
||||
("RO_SPACE", 0x09889): (177, "CallableTaskMap"),
|
||||
("RO_SPACE", 0x098f1): (178, "CallbackTaskMap"),
|
||||
("RO_SPACE", 0x09959): (179, "PromiseFulfillReactionJobTaskMap"),
|
||||
("RO_SPACE", 0x099c1): (180, "PromiseRejectReactionJobTaskMap"),
|
||||
("RO_SPACE", 0x09a29): (181, "PromiseResolveThenableJobTaskMap"),
|
||||
("MAP_SPACE", 0x02201): (1057, "ExternalMap"),
|
||||
("MAP_SPACE", 0x02259): (1072, "JSMessageObjectMap"),
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user