| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/objects.h" | 5 #include "src/objects.h" |
| 6 | 6 |
| 7 #include <iomanip> | 7 #include <iomanip> |
| 8 #include <memory> | 8 #include <memory> |
| 9 | 9 |
| 10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 break; | 143 break; |
| 144 | 144 |
| 145 case FILLER_TYPE: | 145 case FILLER_TYPE: |
| 146 os << "filler"; | 146 os << "filler"; |
| 147 break; | 147 break; |
| 148 case JS_OBJECT_TYPE: // fall through | 148 case JS_OBJECT_TYPE: // fall through |
| 149 case JS_API_OBJECT_TYPE: | 149 case JS_API_OBJECT_TYPE: |
| 150 case JS_SPECIAL_API_OBJECT_TYPE: | 150 case JS_SPECIAL_API_OBJECT_TYPE: |
| 151 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: | 151 case JS_CONTEXT_EXTENSION_OBJECT_TYPE: |
| 152 case JS_GENERATOR_OBJECT_TYPE: | 152 case JS_GENERATOR_OBJECT_TYPE: |
| 153 case JS_ASYNC_GENERATOR_OBJECT_TYPE: |
| 153 case JS_ARGUMENTS_TYPE: | 154 case JS_ARGUMENTS_TYPE: |
| 154 case JS_ERROR_TYPE: | 155 case JS_ERROR_TYPE: |
| 155 case JS_PROMISE_CAPABILITY_TYPE: | 156 case JS_PROMISE_CAPABILITY_TYPE: |
| 156 JSObject::cast(this)->JSObjectPrint(os); | 157 JSObject::cast(this)->JSObjectPrint(os); |
| 157 break; | 158 break; |
| 158 case JS_PROMISE_TYPE: | 159 case JS_PROMISE_TYPE: |
| 159 JSPromise::cast(this)->JSPromisePrint(os); | 160 JSPromise::cast(this)->JSPromisePrint(os); |
| 160 break; | 161 break; |
| 161 case JS_ARRAY_TYPE: | 162 case JS_ARRAY_TYPE: |
| 162 JSArray::cast(this)->JSArrayPrint(os); | 163 JSArray::cast(this)->JSArrayPrint(os); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 232 break; | 233 break; |
| 233 case JS_ARRAY_BUFFER_TYPE: | 234 case JS_ARRAY_BUFFER_TYPE: |
| 234 JSArrayBuffer::cast(this)->JSArrayBufferPrint(os); | 235 JSArrayBuffer::cast(this)->JSArrayBufferPrint(os); |
| 235 break; | 236 break; |
| 236 case JS_TYPED_ARRAY_TYPE: | 237 case JS_TYPED_ARRAY_TYPE: |
| 237 JSTypedArray::cast(this)->JSTypedArrayPrint(os); | 238 JSTypedArray::cast(this)->JSTypedArrayPrint(os); |
| 238 break; | 239 break; |
| 239 case JS_DATA_VIEW_TYPE: | 240 case JS_DATA_VIEW_TYPE: |
| 240 JSDataView::cast(this)->JSDataViewPrint(os); | 241 JSDataView::cast(this)->JSDataViewPrint(os); |
| 241 break; | 242 break; |
| 243 case JS_ASYNC_FROM_SYNC_ITERATOR_TYPE: |
| 244 JSAsyncFromSyncIterator::cast(this)->JSAsyncFromSyncIteratorPrint(os); |
| 245 break; |
| 242 #define MAKE_STRUCT_CASE(NAME, Name, name) \ | 246 #define MAKE_STRUCT_CASE(NAME, Name, name) \ |
| 243 case NAME##_TYPE: \ | 247 case NAME##_TYPE: \ |
| 244 Name::cast(this)->Name##Print(os); \ | 248 Name::cast(this)->Name##Print(os); \ |
| 245 break; | 249 break; |
| 246 STRUCT_LIST(MAKE_STRUCT_CASE) | 250 STRUCT_LIST(MAKE_STRUCT_CASE) |
| 247 #undef MAKE_STRUCT_CASE | 251 #undef MAKE_STRUCT_CASE |
| 248 | 252 |
| 249 default: | 253 default: |
| 250 os << "UNKNOWN TYPE " << map()->instance_type(); | 254 os << "UNKNOWN TYPE " << map()->instance_type(); |
| 251 UNREACHABLE(); | 255 UNREACHABLE(); |
| (...skipping 1005 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1257 os << "\n - tasks: " << Brief(tasks()); | 1261 os << "\n - tasks: " << Brief(tasks()); |
| 1258 os << "\n - deferred_promise: " << Brief(deferred_promise()); | 1262 os << "\n - deferred_promise: " << Brief(deferred_promise()); |
| 1259 os << "\n - deferred_on_resolve: " << Brief(deferred_on_resolve()); | 1263 os << "\n - deferred_on_resolve: " << Brief(deferred_on_resolve()); |
| 1260 os << "\n - deferred_on_reject: " << Brief(deferred_on_reject()); | 1264 os << "\n - deferred_on_reject: " << Brief(deferred_on_reject()); |
| 1261 os << "\n - debug id: " << debug_id(); | 1265 os << "\n - debug id: " << debug_id(); |
| 1262 os << "\n - debug name: " << debug_name(); | 1266 os << "\n - debug name: " << debug_name(); |
| 1263 os << "\n - reaction context: " << Brief(context()); | 1267 os << "\n - reaction context: " << Brief(context()); |
| 1264 os << "\n"; | 1268 os << "\n"; |
| 1265 } | 1269 } |
| 1266 | 1270 |
| 1271 void AsyncGeneratorRequest::AsyncGeneratorRequestPrint( |
| 1272 std::ostream& os) { // NOLINT |
| 1273 HeapObject::PrintHeader(os, "AsyncGeneratorRequest"); |
| 1274 const char* mode = "Invalid!"; |
| 1275 switch (resume_mode()) { |
| 1276 case JSGeneratorObject::kNext: |
| 1277 mode = ".next()"; |
| 1278 break; |
| 1279 case JSGeneratorObject::kReturn: |
| 1280 mode = ".return()"; |
| 1281 break; |
| 1282 case JSGeneratorObject::kThrow: |
| 1283 mode = ".throw()"; |
| 1284 break; |
| 1285 } |
| 1286 os << "\n - resume mode: " << mode; |
| 1287 os << "\n - value: " << Brief(value()); |
| 1288 os << "\n"; |
| 1289 } |
| 1290 |
| 1267 void ModuleInfoEntry::ModuleInfoEntryPrint(std::ostream& os) { // NOLINT | 1291 void ModuleInfoEntry::ModuleInfoEntryPrint(std::ostream& os) { // NOLINT |
| 1268 HeapObject::PrintHeader(os, "ModuleInfoEntry"); | 1292 HeapObject::PrintHeader(os, "ModuleInfoEntry"); |
| 1269 os << "\n - export_name: " << Brief(export_name()); | 1293 os << "\n - export_name: " << Brief(export_name()); |
| 1270 os << "\n - local_name: " << Brief(local_name()); | 1294 os << "\n - local_name: " << Brief(local_name()); |
| 1271 os << "\n - import_name: " << Brief(import_name()); | 1295 os << "\n - import_name: " << Brief(import_name()); |
| 1272 os << "\n - module_request: " << module_request(); | 1296 os << "\n - module_request: " << module_request(); |
| 1273 os << "\n - cell_index: " << cell_index(); | 1297 os << "\n - cell_index: " << cell_index(); |
| 1274 os << "\n - beg_pos: " << beg_pos(); | 1298 os << "\n - beg_pos: " << beg_pos(); |
| 1275 os << "\n - end_pos: " << end_pos(); | 1299 os << "\n - end_pos: " << end_pos(); |
| 1276 os << "\n"; | 1300 os << "\n"; |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1596 os << "\n"; | 1620 os << "\n"; |
| 1597 } | 1621 } |
| 1598 | 1622 |
| 1599 | 1623 |
| 1600 void TransitionArray::Print() { | 1624 void TransitionArray::Print() { |
| 1601 OFStream os(stdout); | 1625 OFStream os(stdout); |
| 1602 TransitionArray::PrintTransitions(os, this); | 1626 TransitionArray::PrintTransitions(os, this); |
| 1603 os << "\n" << std::flush; | 1627 os << "\n" << std::flush; |
| 1604 } | 1628 } |
| 1605 | 1629 |
| 1630 void JSAsyncFromSyncIterator::JSAsyncFromSyncIteratorPrint( |
| 1631 std::ostream& os) { // NOLINT |
| 1632 HeapObject::PrintHeader(os, "JSAsyncFromSyncIterator"); |
| 1633 std::stringstream ss; |
| 1634 os << "\n sync_iterator: " << Brief(sync_iterator()); |
| 1635 os << "\n"; |
| 1636 } |
| 1606 | 1637 |
| 1607 void TransitionArray::PrintTransitions(std::ostream& os, Object* transitions, | 1638 void TransitionArray::PrintTransitions(std::ostream& os, Object* transitions, |
| 1608 bool print_header) { // NOLINT | 1639 bool print_header) { // NOLINT |
| 1609 int num_transitions = NumberOfTransitions(transitions); | 1640 int num_transitions = NumberOfTransitions(transitions); |
| 1610 if (print_header) { | 1641 if (print_header) { |
| 1611 os << "Transition array #" << num_transitions << ":"; | 1642 os << "Transition array #" << num_transitions << ":"; |
| 1612 } | 1643 } |
| 1613 for (int i = 0; i < num_transitions; i++) { | 1644 for (int i = 0; i < num_transitions; i++) { |
| 1614 Name* key = GetKey(transitions, i); | 1645 Name* key = GetKey(transitions, i); |
| 1615 Map* target = GetTarget(transitions, i); | 1646 Map* target = GetTarget(transitions, i); |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1704 printf("Not a transition array\n"); | 1735 printf("Not a transition array\n"); |
| 1705 } else { | 1736 } else { |
| 1706 reinterpret_cast<i::TransitionArray*>(object)->Print(); | 1737 reinterpret_cast<i::TransitionArray*>(object)->Print(); |
| 1707 } | 1738 } |
| 1708 } | 1739 } |
| 1709 | 1740 |
| 1710 extern void _v8_internal_Print_StackTrace() { | 1741 extern void _v8_internal_Print_StackTrace() { |
| 1711 i::Isolate* isolate = i::Isolate::Current(); | 1742 i::Isolate* isolate = i::Isolate::Current(); |
| 1712 isolate->PrintStack(stdout); | 1743 isolate->PrintStack(stdout); |
| 1713 } | 1744 } |
| OLD | NEW |