Commit 8255eeb9 authored by Camillo Bruni's avatar Camillo Bruni Committed by Commit Bot

[runtime] Add SCOPE_INFO_TYPE InstanceType

Bug: v8:7310
Change-Id: I82e7ada4c0f7e415887a859719eb01bb45fd3012
Reviewed-on: https://chromium-review.googlesource.com/921742Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51324}
parent c140e29b
......@@ -276,6 +276,7 @@ Type::bitset BitsetType::Lub(i::Map* map) {
case FEEDBACK_VECTOR_TYPE:
case PROPERTY_ARRAY_TYPE:
case FOREIGN_TYPE:
case SCOPE_INFO_TYPE:
case SCRIPT_TYPE:
case CODE_TYPE:
case PROPERTY_CELL_TYPE:
......
// Copyright 2015 the V8 project authors. All rights reserved.
//
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
......@@ -681,8 +682,6 @@ void ObjectStatsCollectorImpl::RecordVirtualSharedFunctionInfoDetails(
nullptr, info, ObjectStats::UNCOMPILED_SHARED_FUNCTION_INFO_TYPE);
}
// SharedFunctonInfo::feedback_metadata() is a COW array.
RecordSimpleVirtualObjectStats(info, info->scope_info(),
ObjectStats::SCOPE_INFO_TYPE);
FeedbackMetadata* fm = FeedbackMetadata::cast(info->feedback_metadata());
RecordVirtualObjectStats(info, fm, ObjectStats::FEEDBACK_METADATA_TYPE,
fm->Size(), ObjectStats::kNoOverAllocation,
......
......@@ -57,7 +57,6 @@
V(PROTOTYPE_USERS_TYPE) \
V(REGEXP_MULTIPLE_CACHE_TYPE) \
V(RETAINED_MAPS_TYPE) \
V(SCOPE_INFO_TYPE) \
V(SCRIPT_LIST_TYPE) \
V(SCRIPT_SHARED_FUNCTION_INFOS_TYPE) \
V(SCRIPT_SOURCE_EXTERNAL_TYPE) \
......
......@@ -222,7 +222,7 @@ bool Heap::CreateInitialMaps() {
(constructor_function_index)); \
}
ALLOCATE_VARSIZE_MAP(FIXED_ARRAY_TYPE, scope_info)
ALLOCATE_VARSIZE_MAP(SCOPE_INFO_TYPE, scope_info)
ALLOCATE_VARSIZE_MAP(FIXED_ARRAY_TYPE, module_info)
ALLOCATE_VARSIZE_MAP(FEEDBACK_VECTOR_TYPE, feedback_vector)
ALLOCATE_PRIMITIVE_MAP(HEAP_NUMBER_TYPE, HeapNumber::kSize, heap_number,
......
......@@ -450,6 +450,7 @@ ReturnType BodyDescriptorApply(InstanceType type, T1 p1, T2 p2, T3 p3) {
switch (type) {
case HASH_TABLE_TYPE:
case FIXED_ARRAY_TYPE:
case SCOPE_INFO_TYPE:
return Op::template apply<FixedArray::BodyDescriptor>(p1, p2, p3);
case FIXED_DOUBLE_ARRAY_TYPE:
return ReturnType();
......
......@@ -87,12 +87,13 @@ void HeapObject::HeapObjectVerify() {
CHECK(map()->IsMap());
InstanceType instance_type = map()->instance_type();
if (instance_type < FIRST_NONSTRING_TYPE) {
String::cast(this)->StringVerify();
return;
}
switch (instance_type) {
#define STRING_TYPE_CASE(TYPE, size, name, camel_name) case TYPE:
STRING_TYPE_LIST(STRING_TYPE_CASE)
#undef STRING_TYPE_CASE
String::cast(this)->StringVerify();
break;
case SYMBOL_TYPE:
Symbol::cast(this)->SymbolVerify();
break;
......@@ -108,6 +109,7 @@ void HeapObject::HeapObjectVerify() {
break;
case HASH_TABLE_TYPE:
case FIXED_ARRAY_TYPE:
case SCOPE_INFO_TYPE:
FixedArray::cast(this)->FixedArrayVerify();
break;
case FIXED_DOUBLE_ARRAY_TYPE:
......@@ -289,10 +291,6 @@ void HeapObject::HeapObjectVerify() {
case STORE_HANDLER_TYPE:
StoreHandler::cast(this)->StoreHandlerVerify();
break;
default:
UNREACHABLE();
break;
}
}
......
......@@ -78,8 +78,8 @@ int PropertyDetails::field_width_in_words() const {
}
TYPE_CHECKER(BigInt, BIGINT_TYPE)
TYPE_CHECKER(BreakPoint, TUPLE2_TYPE)
TYPE_CHECKER(BreakPointInfo, TUPLE2_TYPE)
TYPE_CHECKER(BreakPoint, TUPLE2_TYPE)
TYPE_CHECKER(CallHandlerInfo, TUPLE3_TYPE)
TYPE_CHECKER(Cell, CELL_TYPE)
TYPE_CHECKER(ConstantElementsPair, TUPLE2_TYPE)
......@@ -109,6 +109,7 @@ TYPE_CHECKER(PreParsedScopeData, TUPLE2_TYPE)
TYPE_CHECKER(PropertyArray, PROPERTY_ARRAY_TYPE)
TYPE_CHECKER(PropertyCell, PROPERTY_CELL_TYPE)
TYPE_CHECKER(PropertyDescriptorObject, FIXED_ARRAY_TYPE)
TYPE_CHECKER(ScopeInfo, SCOPE_INFO_TYPE)
TYPE_CHECKER(SmallOrderedHashMap, SMALL_ORDERED_HASH_MAP_TYPE)
TYPE_CHECKER(SmallOrderedHashSet, SMALL_ORDERED_HASH_SET_TYPE)
TYPE_CHECKER(SourcePositionTableWithFrameCache, TUPLE2_TYPE)
......@@ -402,10 +403,6 @@ bool HeapObject::IsScriptContextTable() const {
return map() == GetHeap()->script_context_table_map();
}
bool HeapObject::IsScopeInfo() const {
return map() == GetHeap()->scope_info_map();
}
template <>
inline bool Is<JSFunction>(Object* obj) {
return obj->IsJSFunction();
......
......@@ -41,7 +41,6 @@ void Object::Print(std::ostream& os) { // NOLINT
}
}
void HeapObject::PrintHeader(std::ostream& os, const char* id) { // NOLINT
os << reinterpret_cast<void*>(this) << ": [";
if (id != nullptr) {
......@@ -51,6 +50,7 @@ void HeapObject::PrintHeader(std::ostream& os, const char* id) { // NOLINT
}
os << "]";
if (GetHeap()->InOldSpace(this)) os << " in OldSpace";
os << "\n - map = " << Brief(map());
}
......@@ -244,10 +244,12 @@ void HeapObject::HeapObjectPrint(std::ostream& os) { // NOLINT
case LOAD_HANDLER_TYPE:
LoadHandler::cast(this)->LoadHandlerPrint(os);
break;
case STORE_HANDLER_TYPE:
StoreHandler::cast(this)->StoreHandlerPrint(os);
break;
case SCOPE_INFO_TYPE:
ScopeInfo::cast(this)->ScopeInfoPrint(os);
break;
default:
os << "UNKNOWN TYPE " << map()->instance_type();
......@@ -661,7 +663,6 @@ void FixedArray::FixedArrayPrint(std::ostream& os) { // NOLINT
void PropertyArray::PropertyArrayPrint(std::ostream& os) { // NOLINT
HeapObject::PrintHeader(os, "PropertyArray");
os << "\n - map = " << Brief(map());
os << "\n - length: " << length();
os << "\n - hash: " << Hash();
PrintFixedArrayElements(os, this);
......@@ -670,7 +671,6 @@ void PropertyArray::PropertyArrayPrint(std::ostream& os) { // NOLINT
void FixedDoubleArray::FixedDoubleArrayPrint(std::ostream& os) { // NOLINT
HeapObject::PrintHeader(os, "FixedDoubleArray");
os << "\n - map = " << Brief(map());
os << "\n - length: " << length();
DoPrintElements<FixedDoubleArray>(os, this);
os << "\n";
......@@ -942,7 +942,6 @@ void JSDate::JSDatePrint(std::ostream& os) { // NOLINT
void JSProxy::JSProxyPrint(std::ostream& os) { // NOLINT
HeapObject::PrintHeader(os, "JSProxy");
os << "\n - map = " << reinterpret_cast<void*>(map());
os << "\n - target = ";
target()->ShortPrint(os);
os << "\n - handler = ";
......@@ -1205,6 +1204,7 @@ void SharedFunctionInfo::SharedFunctionInfoPrint(std::ostream& os) { // NOLINT
} else {
os << "\n - no debug info";
}
os << "\n - scope info" << Brief(scope_info());
os << "\n - length = " << length();
os << "\n - feedback_metadata = ";
feedback_metadata()->FeedbackMetadataPrint(os);
......@@ -1646,6 +1646,53 @@ void Script::ScriptPrint(std::ostream& os) { // NOLINT
os << "\n";
}
namespace {
void PrintScopeInfoList(ScopeInfo* scope_info, std::ostream& os,
const char* list_name, int nof_internal_slots,
int start, int length) {
if (length <= 0) return;
int end = start + length;
os << "\n - " << list_name;
if (nof_internal_slots > 0) {
os << " " << start << "-" << end << " [internal slots]";
}
os << " {\n";
for (int i = nof_internal_slots; start < end; ++i, ++start) {
os << " - " << i << ": ";
String::cast(scope_info->get(start))->ShortPrint(os);
os << "\n";
}
os << " }";
}
} // namespace
void ScopeInfo::ScopeInfoPrint(std::ostream& os) { // NOLINT
HeapObject::PrintHeader(os, "ScopeInfo");
os << "\n - scope type: " << scope_type();
os << "\n - language mode: " << language_mode();
os << "\n - local count: " << LocalCount();
os << "\n - stack slot count: " << StackSlotCount();
if (HasReceiver()) os << "\n - has receiver";
if (HasNewTarget()) os << "\n - needs new target";
if (HasOuterScopeInfo()) {
os << "\n - outer scope info: " << Brief(OuterScopeInfo());
}
if (HasFunctionName()) {
os << "\n - function name: ";
FunctionName()->ShortPrint(os);
}
os << "\n - length: " << length();
if (length() > 0) {
PrintScopeInfoList(this, os, "parameters", 0, ParameterNamesIndex(),
ParameterCount());
PrintScopeInfoList(this, os, "stack slots", 0, StackLocalNamesIndex(),
StackLocalCount());
PrintScopeInfoList(this, os, "context slots", Context::MIN_CONTEXT_SLOTS,
ContextLocalNamesIndex(), ContextLocalCount());
// TODO(neis): Print module stuff if present.
}
os << "\n";
}
void DebugInfo::DebugInfoPrint(std::ostream& os) { // NOLINT
HeapObject::PrintHeader(os, "DebugInfo");
......
......@@ -3103,6 +3103,7 @@ VisitorId Map::GetVisitorId(Map* map) {
case HASH_TABLE_TYPE:
case FIXED_ARRAY_TYPE:
case DESCRIPTOR_ARRAY_TYPE:
case SCOPE_INFO_TYPE:
return kVisitFixedArray;
case FIXED_DOUBLE_ARRAY_TYPE:
......@@ -3434,6 +3435,9 @@ void HeapObject::HeapObjectShortPrint(std::ostream& os) { // NOLINT
break;
STRUCT_LIST(MAKE_STRUCT_CASE)
#undef MAKE_STRUCT_CASE
case SCOPE_INFO_TYPE:
os << "<ScopeInfo[" << ScopeInfo::cast(this)->length() << "]>";
break;
case CODE_TYPE: {
Code* code = Code::cast(this);
os << "<Code " << Code::Kind2String(code->kind());
......
......@@ -390,6 +390,7 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1;
V(FIXED_ARRAY_TYPE) \
V(DESCRIPTOR_ARRAY_TYPE) \
V(HASH_TABLE_TYPE) \
V(SCOPE_INFO_TYPE) \
V(TRANSITION_ARRAY_TYPE) \
\
V(CELL_TYPE) \
......@@ -773,6 +774,7 @@ enum InstanceType : uint16_t {
FIXED_ARRAY_TYPE, // FIRST_FIXED_ARRAY_TYPE
DESCRIPTOR_ARRAY_TYPE,
HASH_TABLE_TYPE,
SCOPE_INFO_TYPE,
TRANSITION_ARRAY_TYPE, // LAST_FIXED_ARRAY_TYPE
// Misc.
......
......@@ -781,47 +781,6 @@ void ScopeInfo::ModuleVariable(int i, String** name, int* index,
}
}
#ifdef DEBUG
static void PrintList(const char* list_name, int nof_internal_slots, int start,
int end, ScopeInfo* scope_info) {
if (start < end) {
PrintF("\n // %s\n", list_name);
if (nof_internal_slots > 0) {
PrintF(" %2d - %2d [internal slots]\n", 0, nof_internal_slots - 1);
}
for (int i = nof_internal_slots; start < end; ++i, ++start) {
PrintF(" %2d ", i);
String::cast(scope_info->get(start))->ShortPrint();
PrintF("\n");
}
}
}
void ScopeInfo::Print() {
PrintF("ScopeInfo ");
if (HasFunctionName()) {
FunctionName()->ShortPrint();
} else {
PrintF("/* no function name */");
}
PrintF("{");
if (length() > 0) {
PrintList("parameters", 0, ParameterNamesIndex(),
ParameterNamesIndex() + ParameterCount(), this);
PrintList("stack slots", 0, StackLocalNamesIndex(),
StackLocalNamesIndex() + StackLocalCount(), this);
PrintList("context slots", Context::MIN_CONTEXT_SLOTS,
ContextLocalNamesIndex(),
ContextLocalNamesIndex() + ContextLocalCount(), this);
// TODO(neis): Print module stuff if present.
}
PrintF("}\n");
}
#endif // DEBUG
Handle<ModuleInfoEntry> ModuleInfoEntry::New(Isolate* isolate,
Handle<Object> export_name,
Handle<Object> local_name,
......
......@@ -35,6 +35,7 @@ class Zone;
class ScopeInfo : public FixedArray {
public:
DECL_CAST(ScopeInfo)
DECL_PRINTER(ScopeInfo)
// Return the type of this scope.
ScopeType scope_type();
......@@ -187,10 +188,6 @@ class ScopeInfo : public FixedArray {
// Serializes empty scope info.
V8_EXPORT_PRIVATE static ScopeInfo* Empty(Isolate* isolate);
#ifdef DEBUG
void Print();
#endif
// The layout of the static part of a ScopeInfo is as follows. Each entry is
// numeric and occupies one array slot.
// 1. A set of properties of the scope.
......
......@@ -107,7 +107,7 @@ constant pool: [
Smi [15],
Smi [7],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [6],
Smi [20],
Smi [23],
......@@ -237,7 +237,7 @@ constant pool: [
Smi [15],
Smi [7],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [6],
Smi [20],
Smi [23],
......@@ -480,12 +480,12 @@ constant pool: [
Smi [15],
Smi [7],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
Smi [6],
Smi [14],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [402],
Smi [6],
Smi [20],
......@@ -720,7 +720,7 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [388],
Smi [289],
Smi [6],
......
......@@ -723,7 +723,7 @@ bytecodes: [
/* 137 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
......
......@@ -121,7 +121,7 @@ bytecodes: [
/* 103 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
......@@ -174,7 +174,7 @@ bytecodes: [
/* 162 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
......
......@@ -81,13 +81,13 @@ bytecodes: [
/* 138 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
FIXED_ARRAY_TYPE,
SHARED_FUNCTION_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"],
SHARED_FUNCTION_INFO_TYPE,
SYMBOL_TYPE,
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
FIXED_ARRAY_TYPE,
SHARED_FUNCTION_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
......@@ -226,7 +226,7 @@ bytecodes: [
/* 356 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
FIXED_ARRAY_TYPE,
FIXED_ARRAY_TYPE,
SHARED_FUNCTION_INFO_TYPE,
......@@ -234,14 +234,14 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"],
SHARED_FUNCTION_INFO_TYPE,
SYMBOL_TYPE,
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
FIXED_ARRAY_TYPE,
FIXED_ARRAY_TYPE,
SHARED_FUNCTION_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
FIXED_ARRAY_TYPE,
SHARED_FUNCTION_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
......
......@@ -122,7 +122,7 @@ bytecodes: [
/* 101 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
......
......@@ -245,10 +245,10 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [6],
Smi [9],
]
......@@ -508,12 +508,12 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
Smi [6],
Smi [14],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [6],
Smi [19],
Smi [22],
......@@ -775,10 +775,10 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [6],
Smi [9],
]
......@@ -985,12 +985,12 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
Smi [6],
Smi [14],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [6],
Smi [19],
Smi [22],
......
......@@ -126,7 +126,7 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
......@@ -262,7 +262,7 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
Smi [6],
......@@ -406,7 +406,7 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
......@@ -546,7 +546,7 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
Smi [6],
......
......@@ -129,7 +129,7 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
......@@ -296,16 +296,16 @@ bytecodes: [
/* 54 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["1"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
......@@ -446,10 +446,10 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
......@@ -600,7 +600,7 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
......@@ -755,7 +755,7 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
......@@ -929,7 +929,7 @@ constant pool: [
Smi [15],
Smi [7],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
Smi [6],
......@@ -1124,10 +1124,10 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [6],
Smi [9],
]
......@@ -1341,10 +1341,10 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [6],
Smi [9],
]
......
......@@ -252,7 +252,7 @@ constant pool: [
Smi [15],
Smi [7],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
Smi [6],
......
......@@ -41,7 +41,7 @@ bytecodes: [
]
constant pool: [
Smi [36],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [10],
Smi [7],
]
......@@ -82,7 +82,7 @@ bytecodes: [
]
constant pool: [
Smi [36],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [10],
Smi [7],
]
......@@ -138,7 +138,7 @@ bytecodes: [
]
constant pool: [
Smi [36],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [10],
Smi [7],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["goo"],
......@@ -194,7 +194,7 @@ bytecodes: [
]
constant pool: [
Smi [36],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [10],
Smi [7],
]
......@@ -252,7 +252,7 @@ bytecodes: [
]
constant pool: [
Smi [42],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [10],
Smi [7],
]
......@@ -310,7 +310,7 @@ bytecodes: [
]
constant pool: [
Smi [42],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [10],
Smi [7],
]
......@@ -356,7 +356,7 @@ bytecodes: [
]
constant pool: [
Smi [42],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [10],
Smi [7],
SHARED_FUNCTION_INFO_TYPE,
......@@ -412,7 +412,7 @@ bytecodes: [
]
constant pool: [
Smi [42],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [10],
Smi [7],
FIXED_ARRAY_TYPE,
......@@ -455,7 +455,7 @@ bytecodes: [
]
constant pool: [
Smi [36],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [10],
Smi [7],
]
......@@ -496,7 +496,7 @@ bytecodes: [
]
constant pool: [
Smi [36],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [10],
Smi [7],
]
......@@ -547,7 +547,7 @@ bytecodes: [
]
constant pool: [
Smi [48],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [10],
Smi [7],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f"],
......
......@@ -132,8 +132,8 @@ bytecodes: [
/* 61 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["1"],
]
......@@ -207,7 +207,7 @@ bytecodes: [
/* 80 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
......@@ -454,7 +454,7 @@ bytecodes: [
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [6],
Smi [9],
]
......@@ -562,7 +562,7 @@ bytecodes: [
constant pool: [
Smi [58],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
Smi [6],
Smi [9],
]
......
......@@ -112,7 +112,7 @@ bytecodes: [
/* 215 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
FIXED_ARRAY_TYPE,
SHARED_FUNCTION_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"],
......@@ -121,7 +121,7 @@ constant pool: [
SHARED_FUNCTION_INFO_TYPE,
SYMBOL_TYPE,
SHARED_FUNCTION_INFO_TYPE,
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
FIXED_ARRAY_TYPE,
SHARED_FUNCTION_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
......@@ -308,7 +308,7 @@ bytecodes: [
/* 483 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
FIXED_ARRAY_TYPE,
FIXED_ARRAY_TYPE,
SHARED_FUNCTION_INFO_TYPE,
......@@ -319,7 +319,7 @@ constant pool: [
SHARED_FUNCTION_INFO_TYPE,
SYMBOL_TYPE,
SHARED_FUNCTION_INFO_TYPE,
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
FIXED_ARRAY_TYPE,
FIXED_ARRAY_TYPE,
SHARED_FUNCTION_INFO_TYPE,
......@@ -327,7 +327,7 @@ constant pool: [
SHARED_FUNCTION_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
FIXED_ARRAY_TYPE,
SHARED_FUNCTION_INFO_TYPE,
SHARED_FUNCTION_INFO_TYPE,
......
......@@ -33,7 +33,7 @@ bytecodes: [
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["e"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
]
handlers: [
[4, 7, 9],
......@@ -83,9 +83,9 @@ bytecodes: [
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["e1"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["e2"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
]
handlers: [
[4, 8, 10],
......
......@@ -100,7 +100,7 @@ bytecodes: [
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["e"],
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
]
handlers: [
[8, 39, 47],
......@@ -171,8 +171,8 @@ bytecodes: [
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["e"],
FIXED_ARRAY_TYPE,
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
SCOPE_INFO_TYPE,
]
handlers: [
[4, 62, 70],
......
......@@ -25,7 +25,7 @@ bytecodes: [
]
constant pool: [
FIXED_ARRAY_TYPE,
FIXED_ARRAY_TYPE,
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
]
handlers: [
......
......@@ -80,18 +80,19 @@ INSTANCE_TYPES = {
176: "FIXED_ARRAY_TYPE",
177: "DESCRIPTOR_ARRAY_TYPE",
178: "HASH_TABLE_TYPE",
179: "TRANSITION_ARRAY_TYPE",
180: "CELL_TYPE",
181: "CODE_DATA_CONTAINER_TYPE",
182: "FEEDBACK_VECTOR_TYPE",
183: "LOAD_HANDLER_TYPE",
184: "PROPERTY_ARRAY_TYPE",
185: "PROPERTY_CELL_TYPE",
186: "SHARED_FUNCTION_INFO_TYPE",
187: "SMALL_ORDERED_HASH_MAP_TYPE",
188: "SMALL_ORDERED_HASH_SET_TYPE",
189: "STORE_HANDLER_TYPE",
190: "WEAK_CELL_TYPE",
179: "SCOPE_INFO_TYPE",
180: "TRANSITION_ARRAY_TYPE",
181: "CELL_TYPE",
182: "CODE_DATA_CONTAINER_TYPE",
183: "FEEDBACK_VECTOR_TYPE",
184: "LOAD_HANDLER_TYPE",
185: "PROPERTY_ARRAY_TYPE",
186: "PROPERTY_CELL_TYPE",
187: "SHARED_FUNCTION_INFO_TYPE",
188: "SMALL_ORDERED_HASH_MAP_TYPE",
189: "SMALL_ORDERED_HASH_SET_TYPE",
190: "STORE_HANDLER_TYPE",
191: "WEAK_CELL_TYPE",
1024: "JS_PROXY_TYPE",
1025: "JS_GLOBAL_OBJECT_TYPE",
1026: "JS_GLOBAL_PROXY_TYPE",
......@@ -187,16 +188,16 @@ KNOWN_MAPS = {
0x026b1: (178, "HashTableMap"),
0x02701: (128, "SymbolMap"),
0x02751: (72, "OneByteStringMap"),
0x027a1: (176, "ScopeInfoMap"),
0x027f1: (186, "SharedFunctionInfoMap"),
0x027a1: (179, "ScopeInfoMap"),
0x027f1: (187, "SharedFunctionInfoMap"),
0x02841: (133, "CodeMap"),
0x02891: (176, "FunctionContextMap"),
0x028e1: (180, "CellMap"),
0x02931: (190, "WeakCellMap"),
0x02981: (185, "GlobalPropertyCellMap"),
0x028e1: (181, "CellMap"),
0x02931: (191, "WeakCellMap"),
0x02981: (186, "GlobalPropertyCellMap"),
0x029d1: (135, "ForeignMap"),
0x02a21: (179, "TransitionArrayMap"),
0x02a71: (182, "FeedbackVectorMap"),
0x02a21: (180, "TransitionArrayMap"),
0x02a71: (183, "FeedbackVectorMap"),
0x02ac1: (131, "ArgumentsMarkerMap"),
0x02b11: (131, "ExceptionMap"),
0x02b61: (131, "TerminationExceptionMap"),
......@@ -223,17 +224,17 @@ KNOWN_MAPS = {
0x031f1: (178, "StringTableMap"),
0x03241: (178, "WeakHashTableMap"),
0x03291: (176, "SloppyArgumentsElementsMap"),
0x032e1: (187, "SmallOrderedHashMapMap"),
0x03331: (188, "SmallOrderedHashSetMap"),
0x03381: (181, "CodeDataContainerMap"),
0x032e1: (188, "SmallOrderedHashMapMap"),
0x03331: (189, "SmallOrderedHashSetMap"),
0x03381: (182, "CodeDataContainerMap"),
0x033d1: (1071, "JSMessageObjectMap"),
0x03421: (1057, "ExternalMap"),
0x03471: (137, "BytecodeArrayMap"),
0x034c1: (176, "ModuleInfoMap"),
0x03511: (180, "NoClosuresCellMap"),
0x03561: (180, "OneClosureCellMap"),
0x035b1: (180, "ManyClosuresCellMap"),
0x03601: (184, "PropertyArrayMap"),
0x03511: (181, "NoClosuresCellMap"),
0x03561: (181, "OneClosureCellMap"),
0x035b1: (181, "ManyClosuresCellMap"),
0x03601: (185, "PropertyArrayMap"),
0x03651: (130, "BigIntMap"),
0x036a1: (106, "NativeSourceStringMap"),
0x036f1: (64, "StringMap"),
......
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