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 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 SKIP_ICACHE_FLUSH); | 314 SKIP_ICACHE_FLUSH); |
315 } else { | 315 } else { |
316 Assembler::set_target_address_at(isolate, pc_, host_, NULL); | 316 Assembler::set_target_address_at(isolate, pc_, host_, NULL); |
317 } | 317 } |
318 } | 318 } |
319 | 319 |
320 template <typename ObjectVisitor> | 320 template <typename ObjectVisitor> |
321 void RelocInfo::Visit(Isolate* isolate, ObjectVisitor* visitor) { | 321 void RelocInfo::Visit(Isolate* isolate, ObjectVisitor* visitor) { |
322 RelocInfo::Mode mode = rmode(); | 322 RelocInfo::Mode mode = rmode(); |
323 if (mode == RelocInfo::EMBEDDED_OBJECT) { | 323 if (mode == RelocInfo::EMBEDDED_OBJECT) { |
324 visitor->VisitEmbeddedPointer(this); | 324 visitor->VisitEmbeddedPointer(host(), this); |
325 } else if (RelocInfo::IsCodeTarget(mode)) { | 325 } else if (RelocInfo::IsCodeTarget(mode)) { |
326 visitor->VisitCodeTarget(this); | 326 visitor->VisitCodeTarget(host(), this); |
327 } else if (mode == RelocInfo::CELL) { | 327 } else if (mode == RelocInfo::CELL) { |
328 visitor->VisitCell(this); | 328 visitor->VisitCell(host(), this); |
329 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { | 329 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { |
330 visitor->VisitExternalReference(this); | 330 visitor->VisitExternalReference(host(), this); |
331 } else if (mode == RelocInfo::INTERNAL_REFERENCE || | 331 } else if (mode == RelocInfo::INTERNAL_REFERENCE || |
332 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { | 332 mode == RelocInfo::INTERNAL_REFERENCE_ENCODED) { |
333 visitor->VisitInternalReference(this); | 333 visitor->VisitInternalReference(host(), this); |
334 } else if (RelocInfo::IsCodeAgeSequence(mode)) { | 334 } else if (RelocInfo::IsCodeAgeSequence(mode)) { |
335 visitor->VisitCodeAgeSequence(this); | 335 visitor->VisitCodeAgeSequence(host(), this); |
336 } else if (RelocInfo::IsDebugBreakSlot(mode) && | 336 } else if (RelocInfo::IsDebugBreakSlot(mode) && |
337 IsPatchedDebugBreakSlotSequence()) { | 337 IsPatchedDebugBreakSlotSequence()) { |
338 visitor->VisitDebugTarget(this); | 338 visitor->VisitDebugTarget(host(), this); |
339 } else if (IsRuntimeEntry(mode)) { | 339 } else if (IsRuntimeEntry(mode)) { |
340 visitor->VisitRuntimeEntry(this); | 340 visitor->VisitRuntimeEntry(host(), this); |
341 } | 341 } |
342 } | 342 } |
343 | 343 |
344 | 344 |
345 template <typename StaticVisitor> | 345 template <typename StaticVisitor> |
346 void RelocInfo::Visit(Heap* heap) { | 346 void RelocInfo::Visit(Heap* heap) { |
347 RelocInfo::Mode mode = rmode(); | 347 RelocInfo::Mode mode = rmode(); |
348 if (mode == RelocInfo::EMBEDDED_OBJECT) { | 348 if (mode == RelocInfo::EMBEDDED_OBJECT) { |
349 StaticVisitor::VisitEmbeddedPointer(heap, this); | 349 StaticVisitor::VisitEmbeddedPointer(heap, this); |
350 } else if (RelocInfo::IsCodeTarget(mode)) { | 350 } else if (RelocInfo::IsCodeTarget(mode)) { |
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
678 } | 678 } |
679 #endif | 679 #endif |
680 return; | 680 return; |
681 } | 681 } |
682 UNREACHABLE(); | 682 UNREACHABLE(); |
683 } | 683 } |
684 } // namespace internal | 684 } // namespace internal |
685 } // namespace v8 | 685 } // namespace v8 |
686 | 686 |
687 #endif // V8_PPC_ASSEMBLER_PPC_INL_H_ | 687 #endif // V8_PPC_ASSEMBLER_PPC_INL_H_ |
OLD | NEW |