| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 break; | 266 break; |
| 267 } | 267 } |
| 268 case CONSTANT_FUNCTION: | 268 case CONSTANT_FUNCTION: |
| 269 descs->GetConstantFunction(i)->ShortPrint(out); | 269 descs->GetConstantFunction(i)->ShortPrint(out); |
| 270 PrintF(out, " (constant function)\n"); | 270 PrintF(out, " (constant function)\n"); |
| 271 break; | 271 break; |
| 272 case CALLBACKS: | 272 case CALLBACKS: |
| 273 descs->GetCallbacksObject(i)->ShortPrint(out); | 273 descs->GetCallbacksObject(i)->ShortPrint(out); |
| 274 PrintF(out, " (callback)\n"); | 274 PrintF(out, " (callback)\n"); |
| 275 break; | 275 break; |
| 276 case ELEMENTS_TRANSITION: { | |
| 277 PrintF(out, "(elements transition to "); | |
| 278 Object* descriptor_contents = descs->GetValue(i); | |
| 279 if (descriptor_contents->IsMap()) { | |
| 280 Map* map = Map::cast(descriptor_contents); | |
| 281 PrintElementsKind(out, map->elements_kind()); | |
| 282 } else { | |
| 283 FixedArray* map_array = FixedArray::cast(descriptor_contents); | |
| 284 for (int i = 0; i < map_array->length(); ++i) { | |
| 285 Map* map = Map::cast(map_array->get(i)); | |
| 286 if (i != 0) { | |
| 287 PrintF(out, ", "); | |
| 288 } | |
| 289 PrintElementsKind(out, map->elements_kind()); | |
| 290 } | |
| 291 } | |
| 292 PrintF(out, ")\n"); | |
| 293 break; | |
| 294 } | |
| 295 case MAP_TRANSITION: | 276 case MAP_TRANSITION: |
| 296 PrintF(out, "(map transition)\n"); | 277 PrintF(out, "(map transition)\n"); |
| 297 break; | 278 break; |
| 298 case CONSTANT_TRANSITION: | 279 case CONSTANT_TRANSITION: |
| 299 PrintF(out, "(constant transition)\n"); | 280 PrintF(out, "(constant transition)\n"); |
| 300 break; | 281 break; |
| 301 case NULL_DESCRIPTOR: | 282 case NULL_DESCRIPTOR: |
| 302 PrintF(out, "(null descriptor)\n"); | 283 PrintF(out, "(null descriptor)\n"); |
| 303 break; | 284 break; |
| 304 case NORMAL: // only in slow mode | 285 case NORMAL: // only in slow mode |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 431 | 412 |
| 432 void JSObject::JSObjectPrint(FILE* out) { | 413 void JSObject::JSObjectPrint(FILE* out) { |
| 433 PrintF(out, "%p: [JSObject]\n", reinterpret_cast<void*>(this)); | 414 PrintF(out, "%p: [JSObject]\n", reinterpret_cast<void*>(this)); |
| 434 PrintF(out, " - map = %p [", reinterpret_cast<void*>(map())); | 415 PrintF(out, " - map = %p [", reinterpret_cast<void*>(map())); |
| 435 // Don't call GetElementsKind, its validation code can cause the printer to | 416 // Don't call GetElementsKind, its validation code can cause the printer to |
| 436 // fail when debugging. | 417 // fail when debugging. |
| 437 PrintElementsKind(out, this->map()->elements_kind()); | 418 PrintElementsKind(out, this->map()->elements_kind()); |
| 438 PrintF(out, | 419 PrintF(out, |
| 439 "]\n - prototype = %p\n", | 420 "]\n - prototype = %p\n", |
| 440 reinterpret_cast<void*>(GetPrototype())); | 421 reinterpret_cast<void*>(GetPrototype())); |
| 422 PrintF(out, |
| 423 " - elements transition to = %p\n", |
| 424 reinterpret_cast<void*>(map()->elements_transition_map())); |
| 441 PrintF(out, " {\n"); | 425 PrintF(out, " {\n"); |
| 442 PrintProperties(out); | 426 PrintProperties(out); |
| 443 PrintElements(out); | 427 PrintElements(out); |
| 444 PrintF(out, " }\n"); | 428 PrintF(out, " }\n"); |
| 445 } | 429 } |
| 446 | 430 |
| 447 | 431 |
| 448 void JSModule::JSModulePrint(FILE* out) { | 432 void JSModule::JSModulePrint(FILE* out) { |
| 449 HeapObject::PrintHeader(out, "JSModule"); | 433 HeapObject::PrintHeader(out, "JSModule"); |
| 450 PrintF(out, " - map = 0x%p\n", reinterpret_cast<void*>(map())); | 434 PrintF(out, " - map = 0x%p\n", reinterpret_cast<void*>(map())); |
| (...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1033 desc.Print(out); | 1017 desc.Print(out); |
| 1034 } | 1018 } |
| 1035 PrintF(out, "\n"); | 1019 PrintF(out, "\n"); |
| 1036 } | 1020 } |
| 1037 | 1021 |
| 1038 | 1022 |
| 1039 #endif // OBJECT_PRINT | 1023 #endif // OBJECT_PRINT |
| 1040 | 1024 |
| 1041 | 1025 |
| 1042 } } // namespace v8::internal | 1026 } } // namespace v8::internal |
| OLD | NEW |