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 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
417 } else if (mode == RelocInfo::CELL) { | 417 } else if (mode == RelocInfo::CELL) { |
418 visitor->VisitCell(this); | 418 visitor->VisitCell(this); |
419 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { | 419 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { |
420 visitor->VisitExternalReference(this); | 420 visitor->VisitExternalReference(this); |
421 } else if (mode == RelocInfo::INTERNAL_REFERENCE || | 421 } else if (mode == RelocInfo::INTERNAL_REFERENCE || |
422 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { | 422 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { |
423 visitor->VisitInternalReference(this); | 423 visitor->VisitInternalReference(this); |
424 } else if (RelocInfo::IsCodeAgeSequence(mode)) { | 424 } else if (RelocInfo::IsCodeAgeSequence(mode)) { |
425 visitor->VisitCodeAgeSequence(this); | 425 visitor->VisitCodeAgeSequence(this); |
426 } else if (RelocInfo::IsDebugBreakSlot(mode) && | 426 } else if (RelocInfo::IsDebugBreakSlot(mode) && |
427 IsPatchedDebugBreakSlotSequence() && | 427 IsPatchedDebugBreakSlotSequence()) { |
428 isolate->debug()->has_break_points()) { | |
429 visitor->VisitDebugTarget(this); | 428 visitor->VisitDebugTarget(this); |
430 } else if (RelocInfo::IsRuntimeEntry(mode)) { | 429 } else if (RelocInfo::IsRuntimeEntry(mode)) { |
431 visitor->VisitRuntimeEntry(this); | 430 visitor->VisitRuntimeEntry(this); |
432 } | 431 } |
433 } | 432 } |
434 | 433 |
435 | 434 |
436 template<typename StaticVisitor> | 435 template<typename StaticVisitor> |
437 void RelocInfo::Visit(Heap* heap) { | 436 void RelocInfo::Visit(Heap* heap) { |
438 RelocInfo::Mode mode = rmode(); | 437 RelocInfo::Mode mode = rmode(); |
439 if (mode == RelocInfo::EMBEDDED_OBJECT) { | 438 if (mode == RelocInfo::EMBEDDED_OBJECT) { |
440 StaticVisitor::VisitEmbeddedPointer(heap, this); | 439 StaticVisitor::VisitEmbeddedPointer(heap, this); |
441 } else if (RelocInfo::IsCodeTarget(mode)) { | 440 } else if (RelocInfo::IsCodeTarget(mode)) { |
442 StaticVisitor::VisitCodeTarget(heap, this); | 441 StaticVisitor::VisitCodeTarget(heap, this); |
443 } else if (mode == RelocInfo::CELL) { | 442 } else if (mode == RelocInfo::CELL) { |
444 StaticVisitor::VisitCell(heap, this); | 443 StaticVisitor::VisitCell(heap, this); |
445 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { | 444 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { |
446 StaticVisitor::VisitExternalReference(this); | 445 StaticVisitor::VisitExternalReference(this); |
447 } else if (mode == RelocInfo::INTERNAL_REFERENCE || | 446 } else if (mode == RelocInfo::INTERNAL_REFERENCE || |
448 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { | 447 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { |
449 StaticVisitor::VisitInternalReference(this); | 448 StaticVisitor::VisitInternalReference(this); |
450 } else if (RelocInfo::IsCodeAgeSequence(mode)) { | 449 } else if (RelocInfo::IsCodeAgeSequence(mode)) { |
451 StaticVisitor::VisitCodeAgeSequence(heap, this); | 450 StaticVisitor::VisitCodeAgeSequence(heap, this); |
452 } else if (heap->isolate()->debug()->has_break_points() && | 451 } else if (RelocInfo::IsDebugBreakSlot(mode) && |
453 RelocInfo::IsDebugBreakSlot(mode) && | |
454 IsPatchedDebugBreakSlotSequence()) { | 452 IsPatchedDebugBreakSlotSequence()) { |
455 StaticVisitor::VisitDebugTarget(heap, this); | 453 StaticVisitor::VisitDebugTarget(heap, this); |
456 } else if (RelocInfo::IsRuntimeEntry(mode)) { | 454 } else if (RelocInfo::IsRuntimeEntry(mode)) { |
457 StaticVisitor::VisitRuntimeEntry(this); | 455 StaticVisitor::VisitRuntimeEntry(this); |
458 } | 456 } |
459 } | 457 } |
460 | 458 |
461 | 459 |
462 // ----------------------------------------------------------------------------- | 460 // ----------------------------------------------------------------------------- |
463 // Assembler. | 461 // Assembler. |
(...skipping 19 matching lines...) Expand all Loading... |
483 } | 481 } |
484 *reinterpret_cast<Instr*>(pc_) = x; | 482 *reinterpret_cast<Instr*>(pc_) = x; |
485 pc_ += kInstrSize; | 483 pc_ += kInstrSize; |
486 CheckTrampolinePoolQuick(); | 484 CheckTrampolinePoolQuick(); |
487 } | 485 } |
488 | 486 |
489 | 487 |
490 } } // namespace v8::internal | 488 } } // namespace v8::internal |
491 | 489 |
492 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ | 490 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ |
OLD | NEW |