OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 } else if (mode == RelocInfo::CELL) { | 368 } else if (mode == RelocInfo::CELL) { |
369 visitor->VisitCell(this); | 369 visitor->VisitCell(this); |
370 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { | 370 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { |
371 visitor->VisitExternalReference(this); | 371 visitor->VisitExternalReference(this); |
372 } else if (mode == RelocInfo::INTERNAL_REFERENCE || | 372 } else if (mode == RelocInfo::INTERNAL_REFERENCE || |
373 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { | 373 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { |
374 visitor->VisitInternalReference(this); | 374 visitor->VisitInternalReference(this); |
375 } else if (RelocInfo::IsCodeAgeSequence(mode)) { | 375 } else if (RelocInfo::IsCodeAgeSequence(mode)) { |
376 visitor->VisitCodeAgeSequence(this); | 376 visitor->VisitCodeAgeSequence(this); |
377 } else if (RelocInfo::IsDebugBreakSlot(mode) && | 377 } else if (RelocInfo::IsDebugBreakSlot(mode) && |
378 IsPatchedDebugBreakSlotSequence() && | 378 IsPatchedDebugBreakSlotSequence()) { |
379 isolate->debug()->has_break_points()) { | |
380 visitor->VisitDebugTarget(this); | 379 visitor->VisitDebugTarget(this); |
381 } else if (IsRuntimeEntry(mode)) { | 380 } else if (IsRuntimeEntry(mode)) { |
382 visitor->VisitRuntimeEntry(this); | 381 visitor->VisitRuntimeEntry(this); |
383 } | 382 } |
384 } | 383 } |
385 | 384 |
386 | 385 |
387 template <typename StaticVisitor> | 386 template <typename StaticVisitor> |
388 void RelocInfo::Visit(Heap* heap) { | 387 void RelocInfo::Visit(Heap* heap) { |
389 RelocInfo::Mode mode = rmode(); | 388 RelocInfo::Mode mode = rmode(); |
390 if (mode == RelocInfo::EMBEDDED_OBJECT) { | 389 if (mode == RelocInfo::EMBEDDED_OBJECT) { |
391 StaticVisitor::VisitEmbeddedPointer(heap, this); | 390 StaticVisitor::VisitEmbeddedPointer(heap, this); |
392 } else if (RelocInfo::IsCodeTarget(mode)) { | 391 } else if (RelocInfo::IsCodeTarget(mode)) { |
393 StaticVisitor::VisitCodeTarget(heap, this); | 392 StaticVisitor::VisitCodeTarget(heap, this); |
394 } else if (mode == RelocInfo::CELL) { | 393 } else if (mode == RelocInfo::CELL) { |
395 StaticVisitor::VisitCell(heap, this); | 394 StaticVisitor::VisitCell(heap, this); |
396 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { | 395 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { |
397 StaticVisitor::VisitExternalReference(this); | 396 StaticVisitor::VisitExternalReference(this); |
398 } else if (mode == RelocInfo::INTERNAL_REFERENCE || | 397 } else if (mode == RelocInfo::INTERNAL_REFERENCE || |
399 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { | 398 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { |
400 StaticVisitor::VisitInternalReference(this); | 399 StaticVisitor::VisitInternalReference(this); |
401 } else if (RelocInfo::IsCodeAgeSequence(mode)) { | 400 } else if (RelocInfo::IsCodeAgeSequence(mode)) { |
402 StaticVisitor::VisitCodeAgeSequence(heap, this); | 401 StaticVisitor::VisitCodeAgeSequence(heap, this); |
403 } else if (heap->isolate()->debug()->has_break_points() && | 402 } else if (RelocInfo::IsDebugBreakSlot(mode) && |
404 RelocInfo::IsDebugBreakSlot(mode) && | |
405 IsPatchedDebugBreakSlotSequence()) { | 403 IsPatchedDebugBreakSlotSequence()) { |
406 StaticVisitor::VisitDebugTarget(heap, this); | 404 StaticVisitor::VisitDebugTarget(heap, this); |
407 } else if (IsRuntimeEntry(mode)) { | 405 } else if (IsRuntimeEntry(mode)) { |
408 StaticVisitor::VisitRuntimeEntry(this); | 406 StaticVisitor::VisitRuntimeEntry(this); |
409 } | 407 } |
410 } | 408 } |
411 | 409 |
412 Operand::Operand(intptr_t immediate, RelocInfo::Mode rmode) { | 410 Operand::Operand(intptr_t immediate, RelocInfo::Mode rmode) { |
413 rm_ = no_reg; | 411 rm_ = no_reg; |
414 imm_ = immediate; | 412 imm_ = immediate; |
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
719 } | 717 } |
720 #endif | 718 #endif |
721 return; | 719 return; |
722 } | 720 } |
723 UNREACHABLE(); | 721 UNREACHABLE(); |
724 } | 722 } |
725 } | 723 } |
726 } // namespace v8::internal | 724 } // namespace v8::internal |
727 | 725 |
728 #endif // V8_PPC_ASSEMBLER_PPC_INL_H_ | 726 #endif // V8_PPC_ASSEMBLER_PPC_INL_H_ |
OLD | NEW |