OLD | NEW |
1 | 1 |
2 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 2 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
3 // All Rights Reserved. | 3 // All Rights Reserved. |
4 // | 4 // |
5 // Redistribution and use in source and binary forms, with or without | 5 // Redistribution and use in source and binary forms, with or without |
6 // modification, are permitted provided that the following conditions are | 6 // modification, are permitted provided that the following conditions are |
7 // met: | 7 // met: |
8 // | 8 // |
9 // - Redistributions of source code must retain the above copyright notice, | 9 // - Redistributions of source code must retain the above copyright notice, |
10 // this list of conditions and the following disclaimer. | 10 // this list of conditions and the following disclaimer. |
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 } else if (mode == RelocInfo::CELL) { | 410 } else if (mode == RelocInfo::CELL) { |
411 visitor->VisitCell(this); | 411 visitor->VisitCell(this); |
412 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { | 412 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { |
413 visitor->VisitExternalReference(this); | 413 visitor->VisitExternalReference(this); |
414 } else if (mode == RelocInfo::INTERNAL_REFERENCE || | 414 } else if (mode == RelocInfo::INTERNAL_REFERENCE || |
415 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { | 415 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { |
416 visitor->VisitInternalReference(this); | 416 visitor->VisitInternalReference(this); |
417 } else if (RelocInfo::IsCodeAgeSequence(mode)) { | 417 } else if (RelocInfo::IsCodeAgeSequence(mode)) { |
418 visitor->VisitCodeAgeSequence(this); | 418 visitor->VisitCodeAgeSequence(this); |
419 } else if (RelocInfo::IsDebugBreakSlot(mode) && | 419 } else if (RelocInfo::IsDebugBreakSlot(mode) && |
420 IsPatchedDebugBreakSlotSequence() && | 420 IsPatchedDebugBreakSlotSequence()) { |
421 isolate->debug()->has_break_points()) { | |
422 visitor->VisitDebugTarget(this); | 421 visitor->VisitDebugTarget(this); |
423 } else if (RelocInfo::IsRuntimeEntry(mode)) { | 422 } else if (RelocInfo::IsRuntimeEntry(mode)) { |
424 visitor->VisitRuntimeEntry(this); | 423 visitor->VisitRuntimeEntry(this); |
425 } | 424 } |
426 } | 425 } |
427 | 426 |
428 | 427 |
429 template<typename StaticVisitor> | 428 template<typename StaticVisitor> |
430 void RelocInfo::Visit(Heap* heap) { | 429 void RelocInfo::Visit(Heap* heap) { |
431 RelocInfo::Mode mode = rmode(); | 430 RelocInfo::Mode mode = rmode(); |
432 if (mode == RelocInfo::EMBEDDED_OBJECT) { | 431 if (mode == RelocInfo::EMBEDDED_OBJECT) { |
433 StaticVisitor::VisitEmbeddedPointer(heap, this); | 432 StaticVisitor::VisitEmbeddedPointer(heap, this); |
434 } else if (RelocInfo::IsCodeTarget(mode)) { | 433 } else if (RelocInfo::IsCodeTarget(mode)) { |
435 StaticVisitor::VisitCodeTarget(heap, this); | 434 StaticVisitor::VisitCodeTarget(heap, this); |
436 } else if (mode == RelocInfo::CELL) { | 435 } else if (mode == RelocInfo::CELL) { |
437 StaticVisitor::VisitCell(heap, this); | 436 StaticVisitor::VisitCell(heap, this); |
438 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { | 437 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { |
439 StaticVisitor::VisitExternalReference(this); | 438 StaticVisitor::VisitExternalReference(this); |
440 } else if (mode == RelocInfo::INTERNAL_REFERENCE || | 439 } else if (mode == RelocInfo::INTERNAL_REFERENCE || |
441 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { | 440 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { |
442 StaticVisitor::VisitInternalReference(this); | 441 StaticVisitor::VisitInternalReference(this); |
443 } else if (RelocInfo::IsCodeAgeSequence(mode)) { | 442 } else if (RelocInfo::IsCodeAgeSequence(mode)) { |
444 StaticVisitor::VisitCodeAgeSequence(heap, this); | 443 StaticVisitor::VisitCodeAgeSequence(heap, this); |
445 } else if (heap->isolate()->debug()->has_break_points() && | 444 } else if (RelocInfo::IsDebugBreakSlot(mode) && |
446 RelocInfo::IsDebugBreakSlot(mode) && | |
447 IsPatchedDebugBreakSlotSequence()) { | 445 IsPatchedDebugBreakSlotSequence()) { |
448 StaticVisitor::VisitDebugTarget(heap, this); | 446 StaticVisitor::VisitDebugTarget(heap, this); |
449 } else if (RelocInfo::IsRuntimeEntry(mode)) { | 447 } else if (RelocInfo::IsRuntimeEntry(mode)) { |
450 StaticVisitor::VisitRuntimeEntry(this); | 448 StaticVisitor::VisitRuntimeEntry(this); |
451 } | 449 } |
452 } | 450 } |
453 | 451 |
454 | 452 |
455 // ----------------------------------------------------------------------------- | 453 // ----------------------------------------------------------------------------- |
456 // Assembler. | 454 // Assembler. |
(...skipping 29 matching lines...) Expand all Loading... |
486 } | 484 } |
487 *reinterpret_cast<uint64_t*>(pc_) = x; | 485 *reinterpret_cast<uint64_t*>(pc_) = x; |
488 pc_ += kInstrSize * 2; | 486 pc_ += kInstrSize * 2; |
489 CheckTrampolinePoolQuick(); | 487 CheckTrampolinePoolQuick(); |
490 } | 488 } |
491 | 489 |
492 | 490 |
493 } } // namespace v8::internal | 491 } } // namespace v8::internal |
494 | 492 |
495 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ | 493 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ |
OLD | NEW |