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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 | 44 |
45 | 45 |
46 namespace v8 { | 46 namespace v8 { |
47 namespace internal { | 47 namespace internal { |
48 | 48 |
49 | 49 |
50 bool CpuFeatures::SupportsCrankshaft() { return true; } | 50 bool CpuFeatures::SupportsCrankshaft() { return true; } |
51 | 51 |
52 | 52 |
53 void RelocInfo::apply(intptr_t delta, ICacheFlushMode icache_flush_mode) { | 53 void RelocInfo::apply(intptr_t delta, ICacheFlushMode icache_flush_mode) { |
54 #if ABI_USES_FUNCTION_DESCRIPTORS || V8_OOL_CONSTANT_POOL | 54 if (IsInternalReference(rmode_) || IsInternalReferenceEncoded(rmode_)) { |
55 if (RelocInfo::IsInternalReference(rmode_)) { | |
56 // absolute code pointer inside code object moves with the code object. | 55 // absolute code pointer inside code object moves with the code object. |
57 Assembler::RelocateInternalReference(pc_, delta, 0, icache_flush_mode); | 56 Assembler::RelocateInternalReference(pc_, delta, 0, rmode_, |
| 57 icache_flush_mode); |
58 } | 58 } |
59 #endif | |
60 // We do not use pc relative addressing on PPC, so there is | |
61 // nothing else to do. | |
62 } | 59 } |
63 | 60 |
64 | 61 |
65 Address RelocInfo::target_address() { | 62 Address RelocInfo::target_address() { |
66 DCHECK(IsCodeTarget(rmode_) || IsRuntimeEntry(rmode_)); | 63 DCHECK(IsCodeTarget(rmode_) || IsRuntimeEntry(rmode_)); |
67 return Assembler::target_address_at(pc_, host_); | 64 return Assembler::target_address_at(pc_, host_); |
68 } | 65 } |
69 | 66 |
70 | 67 |
71 Address RelocInfo::target_address_address() { | 68 Address RelocInfo::target_address_address() { |
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
584 target; | 581 target; |
585 #else | 582 #else |
586 UNREACHABLE(); | 583 UNREACHABLE(); |
587 #endif | 584 #endif |
588 } | 585 } |
589 } | 586 } |
590 } | 587 } |
591 } // namespace v8::internal | 588 } // namespace v8::internal |
592 | 589 |
593 #endif // V8_PPC_ASSEMBLER_PPC_INL_H_ | 590 #endif // V8_PPC_ASSEMBLER_PPC_INL_H_ |
OLD | NEW |