| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 return; | 75 return; |
| 76 } | 76 } |
| 77 | 77 |
| 78 switch (instance_type) { | 78 switch (instance_type) { |
| 79 case MAP_TYPE: | 79 case MAP_TYPE: |
| 80 Map::cast(this)->MapPrint(out); | 80 Map::cast(this)->MapPrint(out); |
| 81 break; | 81 break; |
| 82 case HEAP_NUMBER_TYPE: | 82 case HEAP_NUMBER_TYPE: |
| 83 HeapNumber::cast(this)->HeapNumberPrint(out); | 83 HeapNumber::cast(this)->HeapNumberPrint(out); |
| 84 break; | 84 break; |
| 85 case FIXED_DOUBLE_ARRAY_TYPE: |
| 86 FixedDoubleArray::cast(this)->FixedDoubleArrayPrint(out); |
| 87 break; |
| 85 case FIXED_ARRAY_TYPE: | 88 case FIXED_ARRAY_TYPE: |
| 86 FixedArray::cast(this)->FixedArrayPrint(out); | 89 FixedArray::cast(this)->FixedArrayPrint(out); |
| 87 break; | 90 break; |
| 88 case BYTE_ARRAY_TYPE: | 91 case BYTE_ARRAY_TYPE: |
| 89 ByteArray::cast(this)->ByteArrayPrint(out); | 92 ByteArray::cast(this)->ByteArrayPrint(out); |
| 90 break; | 93 break; |
| 94 case FREE_SPACE_TYPE: |
| 95 FreeSpace::cast(this)->FreeSpacePrint(out); |
| 96 break; |
| 91 case EXTERNAL_PIXEL_ARRAY_TYPE: | 97 case EXTERNAL_PIXEL_ARRAY_TYPE: |
| 92 ExternalPixelArray::cast(this)->ExternalPixelArrayPrint(out); | 98 ExternalPixelArray::cast(this)->ExternalPixelArrayPrint(out); |
| 93 break; | 99 break; |
| 94 case EXTERNAL_BYTE_ARRAY_TYPE: | 100 case EXTERNAL_BYTE_ARRAY_TYPE: |
| 95 ExternalByteArray::cast(this)->ExternalByteArrayPrint(out); | 101 ExternalByteArray::cast(this)->ExternalByteArrayPrint(out); |
| 96 break; | 102 break; |
| 97 case EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE: | 103 case EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE: |
| 98 ExternalUnsignedByteArray::cast(this) | 104 ExternalUnsignedByteArray::cast(this) |
| 99 ->ExternalUnsignedByteArrayPrint(out); | 105 ->ExternalUnsignedByteArrayPrint(out); |
| 100 break; | 106 break; |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 break; | 188 break; |
| 183 } | 189 } |
| 184 } | 190 } |
| 185 | 191 |
| 186 | 192 |
| 187 void ByteArray::ByteArrayPrint(FILE* out) { | 193 void ByteArray::ByteArrayPrint(FILE* out) { |
| 188 PrintF(out, "byte array, data starts at %p", GetDataStartAddress()); | 194 PrintF(out, "byte array, data starts at %p", GetDataStartAddress()); |
| 189 } | 195 } |
| 190 | 196 |
| 191 | 197 |
| 198 void FreeSpace::FreeSpacePrint(FILE* out) { |
| 199 PrintF(out, "free space, size %d", Size()); |
| 200 } |
| 201 |
| 202 |
| 192 void ExternalPixelArray::ExternalPixelArrayPrint(FILE* out) { | 203 void ExternalPixelArray::ExternalPixelArrayPrint(FILE* out) { |
| 193 PrintF(out, "external pixel array"); | 204 PrintF(out, "external pixel array"); |
| 194 } | 205 } |
| 195 | 206 |
| 196 | 207 |
| 197 void ExternalByteArray::ExternalByteArrayPrint(FILE* out) { | 208 void ExternalByteArray::ExternalByteArrayPrint(FILE* out) { |
| 198 PrintF(out, "external byte array"); | 209 PrintF(out, "external byte array"); |
| 199 } | 210 } |
| 200 | 211 |
| 201 | 212 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 227 void ExternalFloatArray::ExternalFloatArrayPrint(FILE* out) { | 238 void ExternalFloatArray::ExternalFloatArrayPrint(FILE* out) { |
| 228 PrintF(out, "external float array"); | 239 PrintF(out, "external float array"); |
| 229 } | 240 } |
| 230 | 241 |
| 231 | 242 |
| 232 void ExternalDoubleArray::ExternalDoubleArrayPrint(FILE* out) { | 243 void ExternalDoubleArray::ExternalDoubleArrayPrint(FILE* out) { |
| 233 PrintF(out, "external double array"); | 244 PrintF(out, "external double array"); |
| 234 } | 245 } |
| 235 | 246 |
| 236 | 247 |
| 248 static void PrintElementsKind(FILE* out, ElementsKind kind) { |
| 249 switch (kind) { |
| 250 case FAST_SMI_ONLY_ELEMENTS: |
| 251 PrintF(out, "FAST_SMI_ONLY_ELEMENTS"); |
| 252 break; |
| 253 case FAST_ELEMENTS: |
| 254 PrintF(out, "FAST_ELEMENTS"); |
| 255 break; |
| 256 case FAST_DOUBLE_ELEMENTS: |
| 257 PrintF(out, "FAST_DOUBLE_ELEMENTS"); |
| 258 break; |
| 259 case DICTIONARY_ELEMENTS: |
| 260 PrintF(out, "DICTIONARY_ELEMENTS"); |
| 261 break; |
| 262 case NON_STRICT_ARGUMENTS_ELEMENTS: |
| 263 PrintF(out, "NON_STRICT_ARGUMENTS_ELEMENTS"); |
| 264 break; |
| 265 case EXTERNAL_BYTE_ELEMENTS: |
| 266 PrintF(out, "EXTERNAL_BYTE_ELEMENTS"); |
| 267 break; |
| 268 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: |
| 269 PrintF(out, "EXTERNAL_UNSIGNED_BYTE_ELEMENTS"); |
| 270 break; |
| 271 case EXTERNAL_SHORT_ELEMENTS: |
| 272 PrintF(out, "EXTERNAL_SHORT_ELEMENTS"); |
| 273 break; |
| 274 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: |
| 275 PrintF(out, "EXTERNAL_UNSIGNED_SHORT_ELEMENTS"); |
| 276 break; |
| 277 case EXTERNAL_INT_ELEMENTS: |
| 278 PrintF(out, "EXTERNAL_INT_ELEMENTS"); |
| 279 break; |
| 280 case EXTERNAL_UNSIGNED_INT_ELEMENTS: |
| 281 PrintF(out, "EXTERNAL_UNSIGNED_INT_ELEMENTS"); |
| 282 break; |
| 283 case EXTERNAL_FLOAT_ELEMENTS: |
| 284 PrintF(out, "EXTERNAL_FLOAT_ELEMENTS"); |
| 285 break; |
| 286 case EXTERNAL_DOUBLE_ELEMENTS: |
| 287 PrintF(out, "EXTERNAL_DOUBLE_ELEMENTS"); |
| 288 break; |
| 289 case EXTERNAL_PIXEL_ELEMENTS: |
| 290 PrintF(out, "EXTERNAL_DOUBLE_ELEMENTS"); |
| 291 break; |
| 292 } |
| 293 } |
| 294 |
| 295 |
| 237 void JSObject::PrintProperties(FILE* out) { | 296 void JSObject::PrintProperties(FILE* out) { |
| 238 if (HasFastProperties()) { | 297 if (HasFastProperties()) { |
| 239 DescriptorArray* descs = map()->instance_descriptors(); | 298 DescriptorArray* descs = map()->instance_descriptors(); |
| 240 for (int i = 0; i < descs->number_of_descriptors(); i++) { | 299 for (int i = 0; i < descs->number_of_descriptors(); i++) { |
| 241 PrintF(out, " "); | 300 PrintF(out, " "); |
| 242 descs->GetKey(i)->StringPrint(out); | 301 descs->GetKey(i)->StringPrint(out); |
| 243 PrintF(out, ": "); | 302 PrintF(out, ": "); |
| 244 switch (descs->GetType(i)) { | 303 switch (descs->GetType(i)) { |
| 245 case FIELD: { | 304 case FIELD: { |
| 246 int index = descs->GetFieldIndex(i); | 305 int index = descs->GetFieldIndex(i); |
| 247 FastPropertyAt(index)->ShortPrint(out); | 306 FastPropertyAt(index)->ShortPrint(out); |
| 248 PrintF(out, " (field at offset %d)\n", index); | 307 PrintF(out, " (field at offset %d)\n", index); |
| 249 break; | 308 break; |
| 250 } | 309 } |
| 251 case CONSTANT_FUNCTION: | 310 case CONSTANT_FUNCTION: |
| 252 descs->GetConstantFunction(i)->ShortPrint(out); | 311 descs->GetConstantFunction(i)->ShortPrint(out); |
| 253 PrintF(out, " (constant function)\n"); | 312 PrintF(out, " (constant function)\n"); |
| 254 break; | 313 break; |
| 255 case CALLBACKS: | 314 case CALLBACKS: |
| 256 descs->GetCallbacksObject(i)->ShortPrint(out); | 315 descs->GetCallbacksObject(i)->ShortPrint(out); |
| 257 PrintF(out, " (callback)\n"); | 316 PrintF(out, " (callback)\n"); |
| 258 break; | 317 break; |
| 318 case ELEMENTS_TRANSITION: { |
| 319 PrintF(out, "(elements transition to "); |
| 320 Object* descriptor_contents = descs->GetValue(i); |
| 321 if (descriptor_contents->IsMap()) { |
| 322 Map* map = Map::cast(descriptor_contents); |
| 323 PrintElementsKind(out, map->elements_kind()); |
| 324 } else { |
| 325 FixedArray* map_array = FixedArray::cast(descriptor_contents); |
| 326 for (int i = 0; i < map_array->length(); ++i) { |
| 327 Map* map = Map::cast(map_array->get(i)); |
| 328 if (i != 0) { |
| 329 PrintF(out, ", "); |
| 330 } |
| 331 PrintElementsKind(out, map->elements_kind()); |
| 332 } |
| 333 } |
| 334 PrintF(out, ")\n"); |
| 335 break; |
| 336 } |
| 259 case MAP_TRANSITION: | 337 case MAP_TRANSITION: |
| 260 PrintF(out, " (map transition)\n"); | 338 PrintF(out, "(map transition)\n"); |
| 261 break; | 339 break; |
| 262 case CONSTANT_TRANSITION: | 340 case CONSTANT_TRANSITION: |
| 263 PrintF(out, " (constant transition)\n"); | 341 PrintF(out, "(constant transition)\n"); |
| 264 break; | 342 break; |
| 265 case NULL_DESCRIPTOR: | 343 case NULL_DESCRIPTOR: |
| 266 PrintF(out, " (null descriptor)\n"); | 344 PrintF(out, "(null descriptor)\n"); |
| 267 break; | 345 break; |
| 268 default: | 346 default: |
| 269 UNREACHABLE(); | 347 UNREACHABLE(); |
| 270 break; | 348 break; |
| 271 } | 349 } |
| 272 } | 350 } |
| 273 } else { | 351 } else { |
| 274 property_dictionary()->Print(out); | 352 property_dictionary()->Print(out); |
| 275 } | 353 } |
| 276 } | 354 } |
| 277 | 355 |
| 278 | 356 |
| 279 void JSObject::PrintElements(FILE* out) { | 357 void JSObject::PrintElements(FILE* out) { |
| 280 switch (GetElementsKind()) { | 358 // Don't call GetElementsKind, its validation code can cause the printer to |
| 359 // fail when debugging. |
| 360 switch (map()->elements_kind()) { |
| 361 case FAST_SMI_ONLY_ELEMENTS: |
| 281 case FAST_ELEMENTS: { | 362 case FAST_ELEMENTS: { |
| 282 // Print in array notation for non-sparse arrays. | 363 // Print in array notation for non-sparse arrays. |
| 283 FixedArray* p = FixedArray::cast(elements()); | 364 FixedArray* p = FixedArray::cast(elements()); |
| 284 for (int i = 0; i < p->length(); i++) { | 365 for (int i = 0; i < p->length(); i++) { |
| 285 PrintF(out, " %d: ", i); | 366 PrintF(out, " %d: ", i); |
| 286 p->get(i)->ShortPrint(out); | 367 p->get(i)->ShortPrint(out); |
| 287 PrintF(out, "\n"); | 368 PrintF(out, "\n"); |
| 288 } | 369 } |
| 289 break; | 370 break; |
| 290 } | 371 } |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 PrintF(out, "\n"); | 459 PrintF(out, "\n"); |
| 379 } | 460 } |
| 380 break; | 461 break; |
| 381 } | 462 } |
| 382 } | 463 } |
| 383 } | 464 } |
| 384 | 465 |
| 385 | 466 |
| 386 void JSObject::JSObjectPrint(FILE* out) { | 467 void JSObject::JSObjectPrint(FILE* out) { |
| 387 PrintF(out, "%p: [JSObject]\n", reinterpret_cast<void*>(this)); | 468 PrintF(out, "%p: [JSObject]\n", reinterpret_cast<void*>(this)); |
| 388 PrintF(out, " - map = %p\n", reinterpret_cast<void*>(map())); | 469 PrintF(out, " - map = %p [", reinterpret_cast<void*>(map())); |
| 389 PrintF(out, " - prototype = %p\n", reinterpret_cast<void*>(GetPrototype())); | 470 // Don't call GetElementsKind, its validation code can cause the printer to |
| 471 // fail when debugging. |
| 472 PrintElementsKind(out, this->map()->elements_kind()); |
| 473 PrintF(out, |
| 474 "]\n - prototype = %p\n", |
| 475 reinterpret_cast<void*>(GetPrototype())); |
| 390 PrintF(out, " {\n"); | 476 PrintF(out, " {\n"); |
| 391 PrintProperties(out); | 477 PrintProperties(out); |
| 392 PrintElements(out); | 478 PrintElements(out); |
| 393 PrintF(out, " }\n"); | 479 PrintF(out, " }\n"); |
| 394 } | 480 } |
| 395 | 481 |
| 396 | 482 |
| 397 static const char* TypeToString(InstanceType type) { | 483 static const char* TypeToString(InstanceType type) { |
| 398 switch (type) { | 484 switch (type) { |
| 399 case INVALID_TYPE: return "INVALID"; | 485 case INVALID_TYPE: return "INVALID"; |
| 400 case MAP_TYPE: return "MAP"; | 486 case MAP_TYPE: return "MAP"; |
| 401 case HEAP_NUMBER_TYPE: return "HEAP_NUMBER"; | 487 case HEAP_NUMBER_TYPE: return "HEAP_NUMBER"; |
| 402 case SYMBOL_TYPE: return "SYMBOL"; | 488 case SYMBOL_TYPE: return "SYMBOL"; |
| 403 case ASCII_SYMBOL_TYPE: return "ASCII_SYMBOL"; | 489 case ASCII_SYMBOL_TYPE: return "ASCII_SYMBOL"; |
| 404 case CONS_SYMBOL_TYPE: return "CONS_SYMBOL"; | 490 case CONS_SYMBOL_TYPE: return "CONS_SYMBOL"; |
| 405 case CONS_ASCII_SYMBOL_TYPE: return "CONS_ASCII_SYMBOL"; | 491 case CONS_ASCII_SYMBOL_TYPE: return "CONS_ASCII_SYMBOL"; |
| 406 case EXTERNAL_ASCII_SYMBOL_TYPE: | 492 case EXTERNAL_ASCII_SYMBOL_TYPE: |
| 407 case EXTERNAL_SYMBOL_WITH_ASCII_DATA_TYPE: | 493 case EXTERNAL_SYMBOL_WITH_ASCII_DATA_TYPE: |
| 408 case EXTERNAL_SYMBOL_TYPE: return "EXTERNAL_SYMBOL"; | 494 case EXTERNAL_SYMBOL_TYPE: return "EXTERNAL_SYMBOL"; |
| 409 case ASCII_STRING_TYPE: return "ASCII_STRING"; | 495 case ASCII_STRING_TYPE: return "ASCII_STRING"; |
| 410 case STRING_TYPE: return "TWO_BYTE_STRING"; | 496 case STRING_TYPE: return "TWO_BYTE_STRING"; |
| 411 case CONS_STRING_TYPE: | 497 case CONS_STRING_TYPE: |
| 412 case CONS_ASCII_STRING_TYPE: return "CONS_STRING"; | 498 case CONS_ASCII_STRING_TYPE: return "CONS_STRING"; |
| 413 case EXTERNAL_ASCII_STRING_TYPE: | 499 case EXTERNAL_ASCII_STRING_TYPE: |
| 414 case EXTERNAL_STRING_WITH_ASCII_DATA_TYPE: | 500 case EXTERNAL_STRING_WITH_ASCII_DATA_TYPE: |
| 415 case EXTERNAL_STRING_TYPE: return "EXTERNAL_STRING"; | 501 case EXTERNAL_STRING_TYPE: return "EXTERNAL_STRING"; |
| 416 case FIXED_ARRAY_TYPE: return "FIXED_ARRAY"; | 502 case FIXED_ARRAY_TYPE: return "FIXED_ARRAY"; |
| 417 case BYTE_ARRAY_TYPE: return "BYTE_ARRAY"; | 503 case BYTE_ARRAY_TYPE: return "BYTE_ARRAY"; |
| 504 case FREE_SPACE_TYPE: return "FREE_SPACE"; |
| 418 case EXTERNAL_PIXEL_ARRAY_TYPE: return "EXTERNAL_PIXEL_ARRAY"; | 505 case EXTERNAL_PIXEL_ARRAY_TYPE: return "EXTERNAL_PIXEL_ARRAY"; |
| 419 case EXTERNAL_BYTE_ARRAY_TYPE: return "EXTERNAL_BYTE_ARRAY"; | 506 case EXTERNAL_BYTE_ARRAY_TYPE: return "EXTERNAL_BYTE_ARRAY"; |
| 420 case EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE: | 507 case EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE: |
| 421 return "EXTERNAL_UNSIGNED_BYTE_ARRAY"; | 508 return "EXTERNAL_UNSIGNED_BYTE_ARRAY"; |
| 422 case EXTERNAL_SHORT_ARRAY_TYPE: return "EXTERNAL_SHORT_ARRAY"; | 509 case EXTERNAL_SHORT_ARRAY_TYPE: return "EXTERNAL_SHORT_ARRAY"; |
| 423 case EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE: | 510 case EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE: |
| 424 return "EXTERNAL_UNSIGNED_SHORT_ARRAY"; | 511 return "EXTERNAL_UNSIGNED_SHORT_ARRAY"; |
| 425 case EXTERNAL_INT_ARRAY_TYPE: return "EXTERNAL_INT_ARRAY"; | 512 case EXTERNAL_INT_ARRAY_TYPE: return "EXTERNAL_INT_ARRAY"; |
| 426 case EXTERNAL_UNSIGNED_INT_ARRAY_TYPE: | 513 case EXTERNAL_UNSIGNED_INT_ARRAY_TYPE: |
| 427 return "EXTERNAL_UNSIGNED_INT_ARRAY"; | 514 return "EXTERNAL_UNSIGNED_INT_ARRAY"; |
| (...skipping 23 matching lines...) Expand all Loading... |
| 451 default: return "UNKNOWN"; | 538 default: return "UNKNOWN"; |
| 452 } | 539 } |
| 453 } | 540 } |
| 454 | 541 |
| 455 | 542 |
| 456 void Map::MapPrint(FILE* out) { | 543 void Map::MapPrint(FILE* out) { |
| 457 HeapObject::PrintHeader(out, "Map"); | 544 HeapObject::PrintHeader(out, "Map"); |
| 458 PrintF(out, " - type: %s\n", TypeToString(instance_type())); | 545 PrintF(out, " - type: %s\n", TypeToString(instance_type())); |
| 459 PrintF(out, " - instance size: %d\n", instance_size()); | 546 PrintF(out, " - instance size: %d\n", instance_size()); |
| 460 PrintF(out, " - inobject properties: %d\n", inobject_properties()); | 547 PrintF(out, " - inobject properties: %d\n", inobject_properties()); |
| 461 PrintF(out, " - pre-allocated property fields: %d\n", | 548 PrintF(out, " - elements kind: "); |
| 549 PrintElementsKind(out, elements_kind()); |
| 550 PrintF(out, "\n - pre-allocated property fields: %d\n", |
| 462 pre_allocated_property_fields()); | 551 pre_allocated_property_fields()); |
| 463 PrintF(out, " - unused property fields: %d\n", unused_property_fields()); | 552 PrintF(out, " - unused property fields: %d\n", unused_property_fields()); |
| 464 if (is_hidden_prototype()) { | 553 if (is_hidden_prototype()) { |
| 465 PrintF(out, " - hidden_prototype\n"); | 554 PrintF(out, " - hidden_prototype\n"); |
| 466 } | 555 } |
| 467 if (has_named_interceptor()) { | 556 if (has_named_interceptor()) { |
| 468 PrintF(out, " - named_interceptor\n"); | 557 PrintF(out, " - named_interceptor\n"); |
| 469 } | 558 } |
| 470 if (has_indexed_interceptor()) { | 559 if (has_indexed_interceptor()) { |
| 471 PrintF(out, " - indexed_interceptor\n"); | 560 PrintF(out, " - indexed_interceptor\n"); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 HeapObject::PrintHeader(out, "FixedArray"); | 598 HeapObject::PrintHeader(out, "FixedArray"); |
| 510 PrintF(out, " - length: %d", length()); | 599 PrintF(out, " - length: %d", length()); |
| 511 for (int i = 0; i < length(); i++) { | 600 for (int i = 0; i < length(); i++) { |
| 512 PrintF(out, "\n [%d]: ", i); | 601 PrintF(out, "\n [%d]: ", i); |
| 513 get(i)->ShortPrint(out); | 602 get(i)->ShortPrint(out); |
| 514 } | 603 } |
| 515 PrintF(out, "\n"); | 604 PrintF(out, "\n"); |
| 516 } | 605 } |
| 517 | 606 |
| 518 | 607 |
| 608 void FixedDoubleArray::FixedDoubleArrayPrint(FILE* out) { |
| 609 HeapObject::PrintHeader(out, "FixedDoubleArray"); |
| 610 PrintF(out, " - length: %d", length()); |
| 611 for (int i = 0; i < length(); i++) { |
| 612 PrintF(out, "\n [%d]: %g", i, get_scalar(i)); |
| 613 } |
| 614 PrintF(out, "\n"); |
| 615 } |
| 616 |
| 617 |
| 519 void JSValue::JSValuePrint(FILE* out) { | 618 void JSValue::JSValuePrint(FILE* out) { |
| 520 HeapObject::PrintHeader(out, "ValueObject"); | 619 HeapObject::PrintHeader(out, "ValueObject"); |
| 521 value()->Print(out); | 620 value()->Print(out); |
| 522 } | 621 } |
| 523 | 622 |
| 524 | 623 |
| 525 void JSMessageObject::JSMessageObjectPrint(FILE* out) { | 624 void JSMessageObject::JSMessageObjectPrint(FILE* out) { |
| 526 HeapObject::PrintHeader(out, "JSMessageObject"); | 625 HeapObject::PrintHeader(out, "JSMessageObject"); |
| 527 PrintF(out, " - type: "); | 626 PrintF(out, " - type: "); |
| 528 type()->ShortPrint(out); | 627 type()->ShortPrint(out); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 580 buffer[length()] = 0; | 679 buffer[length()] = 0; |
| 581 return buffer; | 680 return buffer; |
| 582 } | 681 } |
| 583 | 682 |
| 584 | 683 |
| 585 void JSProxy::JSProxyPrint(FILE* out) { | 684 void JSProxy::JSProxyPrint(FILE* out) { |
| 586 HeapObject::PrintHeader(out, "JSProxy"); | 685 HeapObject::PrintHeader(out, "JSProxy"); |
| 587 PrintF(out, " - map = 0x%p\n", reinterpret_cast<void*>(map())); | 686 PrintF(out, " - map = 0x%p\n", reinterpret_cast<void*>(map())); |
| 588 PrintF(out, " - handler = "); | 687 PrintF(out, " - handler = "); |
| 589 handler()->Print(out); | 688 handler()->Print(out); |
| 689 PrintF(out, " - hash = "); |
| 690 hash()->Print(out); |
| 590 PrintF(out, "\n"); | 691 PrintF(out, "\n"); |
| 591 } | 692 } |
| 592 | 693 |
| 593 | 694 |
| 594 void JSFunctionProxy::JSFunctionProxyPrint(FILE* out) { | 695 void JSFunctionProxy::JSFunctionProxyPrint(FILE* out) { |
| 595 HeapObject::PrintHeader(out, "JSFunctionProxy"); | 696 HeapObject::PrintHeader(out, "JSFunctionProxy"); |
| 596 PrintF(out, " - map = 0x%p\n", reinterpret_cast<void*>(map())); | 697 PrintF(out, " - map = 0x%p\n", reinterpret_cast<void*>(map())); |
| 597 PrintF(out, " - handler = "); | 698 PrintF(out, " - handler = "); |
| 598 handler()->Print(out); | 699 handler()->Print(out); |
| 599 PrintF(out, " - call_trap = "); | 700 PrintF(out, " - call_trap = "); |
| 600 call_trap()->Print(out); | 701 call_trap()->Print(out); |
| 601 PrintF(out, " - construct_trap = "); | 702 PrintF(out, " - construct_trap = "); |
| 602 construct_trap()->Print(out); | 703 construct_trap()->Print(out); |
| 603 PrintF(out, "\n"); | 704 PrintF(out, "\n"); |
| 604 } | 705 } |
| 605 | 706 |
| 606 | 707 |
| 607 void JSWeakMap::JSWeakMapPrint(FILE* out) { | 708 void JSWeakMap::JSWeakMapPrint(FILE* out) { |
| 608 HeapObject::PrintHeader(out, "JSWeakMap"); | 709 HeapObject::PrintHeader(out, "JSWeakMap"); |
| 609 PrintF(out, " - map = 0x%p\n", reinterpret_cast<void*>(map())); | 710 PrintF(out, " - map = 0x%p\n", reinterpret_cast<void*>(map())); |
| 610 PrintF(out, " - number of elements = %d\n", table()->NumberOfElements()); | |
| 611 PrintF(out, " - table = "); | 711 PrintF(out, " - table = "); |
| 612 table()->ShortPrint(out); | 712 table()->ShortPrint(out); |
| 613 PrintF(out, "\n"); | 713 PrintF(out, "\n"); |
| 614 } | 714 } |
| 615 | 715 |
| 616 | 716 |
| 617 void JSFunction::JSFunctionPrint(FILE* out) { | 717 void JSFunction::JSFunctionPrint(FILE* out) { |
| 618 HeapObject::PrintHeader(out, "Function"); | 718 HeapObject::PrintHeader(out, "Function"); |
| 619 PrintF(out, " - map = 0x%p\n", reinterpret_cast<void*>(map())); | 719 PrintF(out, " - map = 0x%p\n", reinterpret_cast<void*>(map())); |
| 620 PrintF(out, " - initial_map = "); | 720 PrintF(out, " - initial_map = "); |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 795 PrintF(out, "\n - hidden_prototype: %s", | 895 PrintF(out, "\n - hidden_prototype: %s", |
| 796 hidden_prototype() ? "true" : "false"); | 896 hidden_prototype() ? "true" : "false"); |
| 797 PrintF(out, "\n - undetectable: %s", undetectable() ? "true" : "false"); | 897 PrintF(out, "\n - undetectable: %s", undetectable() ? "true" : "false"); |
| 798 PrintF(out, "\n - need_access_check: %s", | 898 PrintF(out, "\n - need_access_check: %s", |
| 799 needs_access_check() ? "true" : "false"); | 899 needs_access_check() ? "true" : "false"); |
| 800 } | 900 } |
| 801 | 901 |
| 802 | 902 |
| 803 void ObjectTemplateInfo::ObjectTemplateInfoPrint(FILE* out) { | 903 void ObjectTemplateInfo::ObjectTemplateInfoPrint(FILE* out) { |
| 804 HeapObject::PrintHeader(out, "ObjectTemplateInfo"); | 904 HeapObject::PrintHeader(out, "ObjectTemplateInfo"); |
| 905 PrintF(out, " - tag: "); |
| 906 tag()->ShortPrint(out); |
| 907 PrintF(out, "\n - property_list: "); |
| 908 property_list()->ShortPrint(out); |
| 805 PrintF(out, "\n - constructor: "); | 909 PrintF(out, "\n - constructor: "); |
| 806 constructor()->ShortPrint(out); | 910 constructor()->ShortPrint(out); |
| 807 PrintF(out, "\n - internal_field_count: "); | 911 PrintF(out, "\n - internal_field_count: "); |
| 808 internal_field_count()->ShortPrint(out); | 912 internal_field_count()->ShortPrint(out); |
| 913 PrintF(out, "\n"); |
| 809 } | 914 } |
| 810 | 915 |
| 811 | 916 |
| 812 void SignatureInfo::SignatureInfoPrint(FILE* out) { | 917 void SignatureInfo::SignatureInfoPrint(FILE* out) { |
| 813 HeapObject::PrintHeader(out, "SignatureInfo"); | 918 HeapObject::PrintHeader(out, "SignatureInfo"); |
| 814 PrintF(out, "\n - receiver: "); | 919 PrintF(out, "\n - receiver: "); |
| 815 receiver()->ShortPrint(out); | 920 receiver()->ShortPrint(out); |
| 816 PrintF(out, "\n - args: "); | 921 PrintF(out, "\n - args: "); |
| 817 args()->ShortPrint(out); | 922 args()->ShortPrint(out); |
| 818 } | 923 } |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 891 desc.Print(out); | 996 desc.Print(out); |
| 892 } | 997 } |
| 893 PrintF(out, "\n"); | 998 PrintF(out, "\n"); |
| 894 } | 999 } |
| 895 | 1000 |
| 896 | 1001 |
| 897 #endif // OBJECT_PRINT | 1002 #endif // OBJECT_PRINT |
| 898 | 1003 |
| 899 | 1004 |
| 900 } } // namespace v8::internal | 1005 } } // namespace v8::internal |
| OLD | NEW |