diff options
Diffstat (limited to 'deps/v8/src/diagnostics/objects-printer.cc')
-rw-r--r-- | deps/v8/src/diagnostics/objects-printer.cc | 73 |
1 files changed, 40 insertions, 33 deletions
diff --git a/deps/v8/src/diagnostics/objects-printer.cc b/deps/v8/src/diagnostics/objects-printer.cc index 39614091c7..20afb9e520 100644 --- a/deps/v8/src/diagnostics/objects-printer.cc +++ b/deps/v8/src/diagnostics/objects-printer.cc @@ -215,25 +215,25 @@ void HeapObject::HeapObjectPrint(std::ostream& os) { // NOLINT case JS_API_OBJECT_TYPE: case JS_SPECIAL_API_OBJECT_TYPE: case JS_CONTEXT_EXTENSION_OBJECT_TYPE: - case JS_ARGUMENTS_TYPE: + case JS_ARGUMENTS_OBJECT_TYPE: case JS_ERROR_TYPE: // TODO(titzer): debug printing for more wasm objects - case WASM_EXCEPTION_TYPE: + case WASM_EXCEPTION_OBJECT_TYPE: JSObject::cast(*this).JSObjectPrint(os); break; - case WASM_MODULE_TYPE: + case WASM_MODULE_OBJECT_TYPE: WasmModuleObject::cast(*this).WasmModuleObjectPrint(os); break; - case WASM_MEMORY_TYPE: + case WASM_MEMORY_OBJECT_TYPE: WasmMemoryObject::cast(*this).WasmMemoryObjectPrint(os); break; - case WASM_TABLE_TYPE: + case WASM_TABLE_OBJECT_TYPE: WasmTableObject::cast(*this).WasmTableObjectPrint(os); break; - case WASM_GLOBAL_TYPE: + case WASM_GLOBAL_OBJECT_TYPE: WasmGlobalObject::cast(*this).WasmGlobalObjectPrint(os); break; - case WASM_INSTANCE_TYPE: + case WASM_INSTANCE_OBJECT_TYPE: WasmInstanceObject::cast(*this).WasmInstanceObjectPrint(os); break; case JS_ASYNC_FUNCTION_OBJECT_TYPE: @@ -247,10 +247,10 @@ void HeapObject::HeapObjectPrint(std::ostream& os) { // NOLINT case JS_ARRAY_TYPE: JSArray::cast(*this).JSArrayPrint(os); break; - case JS_REGEXP_TYPE: + case JS_REG_EXP_TYPE: JSRegExp::cast(*this).JSRegExpPrint(os); break; - case JS_REGEXP_STRING_ITERATOR_TYPE: + case JS_REG_EXP_STRING_ITERATOR_TYPE: JSRegExpStringIterator::cast(*this).JSRegExpStringIteratorPrint(os); break; case ODDBALL_TYPE: @@ -362,34 +362,34 @@ void HeapObject::HeapObjectPrint(std::ostream& os) { // NOLINT JSDataView::cast(*this).JSDataViewPrint(os); break; #ifdef V8_INTL_SUPPORT - case JS_INTL_V8_BREAK_ITERATOR_TYPE: + case JS_V8_BREAK_ITERATOR_TYPE: JSV8BreakIterator::cast(*this).JSV8BreakIteratorPrint(os); break; - case JS_INTL_COLLATOR_TYPE: + case JS_COLLATOR_TYPE: JSCollator::cast(*this).JSCollatorPrint(os); break; - case JS_INTL_DATE_TIME_FORMAT_TYPE: + case JS_DATE_TIME_FORMAT_TYPE: JSDateTimeFormat::cast(*this).JSDateTimeFormatPrint(os); break; - case JS_INTL_LIST_FORMAT_TYPE: + case JS_LIST_FORMAT_TYPE: JSListFormat::cast(*this).JSListFormatPrint(os); break; - case JS_INTL_LOCALE_TYPE: + case JS_LOCALE_TYPE: JSLocale::cast(*this).JSLocalePrint(os); break; - case JS_INTL_NUMBER_FORMAT_TYPE: + case JS_NUMBER_FORMAT_TYPE: JSNumberFormat::cast(*this).JSNumberFormatPrint(os); break; - case JS_INTL_PLURAL_RULES_TYPE: + case JS_PLURAL_RULES_TYPE: JSPluralRules::cast(*this).JSPluralRulesPrint(os); break; - case JS_INTL_RELATIVE_TIME_FORMAT_TYPE: + case JS_RELATIVE_TIME_FORMAT_TYPE: JSRelativeTimeFormat::cast(*this).JSRelativeTimeFormatPrint(os); break; - case JS_INTL_SEGMENT_ITERATOR_TYPE: + case JS_SEGMENT_ITERATOR_TYPE: JSSegmentIterator::cast(*this).JSSegmentIteratorPrint(os); break; - case JS_INTL_SEGMENTER_TYPE: + case JS_SEGMENTER_TYPE: JSSegmenter::cast(*this).JSSegmenterPrint(os); break; #endif // V8_INTL_SUPPORT @@ -477,8 +477,8 @@ bool JSObject::PrintProperties(std::ostream& os) { // NOLINT if (HasFastProperties()) { DescriptorArray descs = map().instance_descriptors(); int nof_inobject_properties = map().GetInObjectProperties(); - int i = 0; - for (; i < map().NumberOfOwnDescriptors(); i++) { + for (InternalIndex i : + InternalIndex::Range(map().NumberOfOwnDescriptors())) { os << "\n "; descs.GetKey(i).NamePrint(os); os << ": "; @@ -506,7 +506,7 @@ bool JSObject::PrintProperties(std::ostream& os) { // NOLINT os << " properties[" << field_index << "]"; } } - return i > 0; + return map().NumberOfOwnDescriptors() > 0; } else if (IsJSGlobalObject()) { JSGlobalObject::cast(*this).global_dictionary().Print(os); } else { @@ -1379,7 +1379,6 @@ void JSArrayBuffer::JSArrayBufferPrint(std::ostream& os) { // NOLINT if (is_detachable()) os << "\n - detachable"; if (was_detached()) os << "\n - detached"; if (is_shared()) os << "\n - shared"; - if (is_wasm_memory()) os << "\n - is_wasm_memory"; JSObjectPrintBody(os, *this, !was_detached()); } @@ -1389,6 +1388,12 @@ void JSTypedArray::JSTypedArrayPrint(std::ostream& os) { // NOLINT os << "\n - byte_offset: " << byte_offset(); os << "\n - byte_length: " << byte_length(); os << "\n - length: " << length(); + os << "\n - data_ptr: " << DataPtr(); + Tagged_t base_ptr = static_cast<Tagged_t>(base_pointer().ptr()); + os << "\n - base_pointer: " + << reinterpret_cast<void*>(static_cast<Address>(base_ptr)); + os << "\n - external_pointer: " + << reinterpret_cast<void*>(external_pointer()); if (!buffer().IsJSArrayBuffer()) { os << "\n <invalid buffer>\n"; return; @@ -1627,7 +1632,7 @@ void Code::CodePrint(std::ostream& os) { // NOLINT os << "\n"; #ifdef ENABLE_DISASSEMBLER if (FLAG_use_verbose_printer) { - Disassemble(nullptr, os); + Disassemble(nullptr, os, GetIsolate()); } #endif } @@ -1911,9 +1916,6 @@ void WasmModuleObject::WasmModuleObjectPrint(std::ostream& os) { // NOLINT if (has_asm_js_offset_table()) { os << "\n - asm_js_offset_table: " << Brief(asm_js_offset_table()); } - if (has_breakpoint_infos()) { - os << "\n - breakpoint_infos: " << Brief(breakpoint_infos()); - } os << "\n"; } @@ -2146,6 +2148,9 @@ void Script::ScriptPrint(std::ostream& os) { // NOLINT os << "\n - wrapped arguments: " << Brief(wrapped_arguments()); } os << "\n - eval from position: " << eval_from_position(); + if (has_wasm_breakpoint_infos()) { + os << "\n - wasm_breakpoint_infos: " << Brief(wasm_breakpoint_infos()); + } os << "\n - shared function infos: " << Brief(shared_function_infos()); os << "\n"; } @@ -2280,6 +2285,7 @@ void ScopeInfo::ScopeInfoPrint(std::ostream& os) { // NOLINT os << "\n - receiver: " << ReceiverVariableField::decode(flags); } if (HasClassBrand()) os << "\n - has class brand"; + if (HasSavedClassVariableIndex()) os << "\n - has saved class variable index"; if (HasNewTarget()) os << "\n - needs new target"; if (HasFunctionName()) { os << "\n - function name(" << FunctionVariableField::decode(flags) @@ -2578,9 +2584,9 @@ void Map::MapPrint(std::ostream& os) { // NOLINT } void DescriptorArray::PrintDescriptors(std::ostream& os) { - for (int i = 0; i < number_of_descriptors(); i++) { + for (InternalIndex i : InternalIndex::Range(number_of_descriptors())) { Name key = GetKey(i); - os << "\n [" << i << "]: "; + os << "\n [" << i.as_int() << "]: "; #ifdef OBJECT_PRINT key.NamePrint(os); #else @@ -2592,7 +2598,8 @@ void DescriptorArray::PrintDescriptors(std::ostream& os) { os << "\n"; } -void DescriptorArray::PrintDescriptorDetails(std::ostream& os, int descriptor, +void DescriptorArray::PrintDescriptorDetails(std::ostream& os, + InternalIndex descriptor, PropertyDetails::PrintMode mode) { PropertyDetails details = GetDetails(descriptor); details.PrintAsFastTo(os, mode); @@ -2655,7 +2662,7 @@ void TransitionsAccessor::PrintOneTransition(std::ostream& os, Name key, } else { DCHECK(!IsSpecialTransition(roots, key)); os << "(transition to "; - int descriptor = target.LastAdded(); + InternalIndex descriptor = target.LastAdded(); DescriptorArray descriptors = target.instance_descriptors(); descriptors.PrintDescriptorDetails(os, descriptor, PropertyDetails::kForTransitions); @@ -2733,7 +2740,7 @@ void TransitionsAccessor::PrintTransitionTree(std::ostream& os, int level, os << " "; DCHECK(!IsSpecialTransition(ReadOnlyRoots(isolate_), key)); os << "to "; - int descriptor = target.LastAdded(); + InternalIndex descriptor = target.LastAdded(); DescriptorArray descriptors = target.instance_descriptors(); descriptors.PrintDescriptorDetails(os, descriptor, PropertyDetails::kForTransitions); @@ -2816,7 +2823,7 @@ V8_EXPORT_PRIVATE extern void _v8_internal_Print_Code(void* object) { } #ifdef ENABLE_DISASSEMBLER i::StdoutStream os; - code.Disassemble(nullptr, os, address); + code.Disassemble(nullptr, os, isolate, address); #else // ENABLE_DISASSEMBLER code.Print(); #endif // ENABLE_DISASSEMBLER |