OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // | 2 // |
3 // Redistribution and use in source and binary forms, with or without | 3 // Redistribution and use in source and binary forms, with or without |
4 // modification, are permitted provided that the following conditions are | 4 // modification, are permitted provided that the following conditions are |
5 // met: | 5 // met: |
6 // | 6 // |
7 // * Redistributions of source code must retain the above copyright | 7 // * Redistributions of source code must retain the above copyright |
8 // notice, this list of conditions and the following disclaimer. | 8 // notice, this list of conditions and the following disclaimer. |
9 // * Redistributions in binary form must reproduce the above | 9 // * Redistributions in binary form must reproduce the above |
10 // copyright notice, this list of conditions and the following | 10 // copyright notice, this list of conditions and the following |
(...skipping 2853 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2864 } | 2864 } |
2865 | 2865 |
2866 // Pending relocation entries are also relative, no need to relocate. | 2866 // Pending relocation entries are also relative, no need to relocate. |
2867 } | 2867 } |
2868 | 2868 |
2869 | 2869 |
2870 void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) { | 2870 void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) { |
2871 // We do not try to reuse pool constants. | 2871 // We do not try to reuse pool constants. |
2872 RelocInfo rinfo(isolate(), reinterpret_cast<byte*>(pc_), rmode, data, NULL); | 2872 RelocInfo rinfo(isolate(), reinterpret_cast<byte*>(pc_), rmode, data, NULL); |
2873 if (((rmode >= RelocInfo::COMMENT) && | 2873 if (((rmode >= RelocInfo::COMMENT) && |
2874 (rmode <= RelocInfo::DEBUG_BREAK_SLOT_AT_CONSTRUCT_CALL)) || | 2874 (rmode <= RelocInfo::DEBUG_BREAK_SLOT_AT_CALL)) || |
2875 (rmode == RelocInfo::INTERNAL_REFERENCE) || | 2875 (rmode == RelocInfo::INTERNAL_REFERENCE) || |
2876 (rmode == RelocInfo::CONST_POOL) || (rmode == RelocInfo::VENEER_POOL) || | 2876 (rmode == RelocInfo::CONST_POOL) || (rmode == RelocInfo::VENEER_POOL) || |
2877 (rmode == RelocInfo::DEOPT_REASON) || | 2877 (rmode == RelocInfo::DEOPT_REASON) || |
2878 (rmode == RelocInfo::GENERATOR_CONTINUATION)) { | 2878 (rmode == RelocInfo::GENERATOR_CONTINUATION)) { |
2879 // Adjust code for new modes. | 2879 // Adjust code for new modes. |
2880 DCHECK(RelocInfo::IsDebugBreakSlot(rmode) || RelocInfo::IsComment(rmode) || | 2880 DCHECK(RelocInfo::IsDebugBreakSlot(rmode) || RelocInfo::IsComment(rmode) || |
2881 RelocInfo::IsDeoptReason(rmode) || RelocInfo::IsPosition(rmode) || | 2881 RelocInfo::IsDeoptReason(rmode) || RelocInfo::IsPosition(rmode) || |
2882 RelocInfo::IsInternalReference(rmode) || | 2882 RelocInfo::IsInternalReference(rmode) || |
2883 RelocInfo::IsConstPool(rmode) || RelocInfo::IsVeneerPool(rmode) || | 2883 RelocInfo::IsConstPool(rmode) || RelocInfo::IsVeneerPool(rmode) || |
2884 RelocInfo::IsGeneratorContinuation(rmode)); | 2884 RelocInfo::IsGeneratorContinuation(rmode)); |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3137 movk(scratch, (target_offset >> 32) & 0xFFFF, 32); | 3137 movk(scratch, (target_offset >> 32) & 0xFFFF, 32); |
3138 DCHECK((target_offset >> 48) == 0); | 3138 DCHECK((target_offset >> 48) == 0); |
3139 add(rd, rd, scratch); | 3139 add(rd, rd, scratch); |
3140 } | 3140 } |
3141 | 3141 |
3142 | 3142 |
3143 } // namespace internal | 3143 } // namespace internal |
3144 } // namespace v8 | 3144 } // namespace v8 |
3145 | 3145 |
3146 #endif // V8_TARGET_ARCH_ARM64 | 3146 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |