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 2857 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2868 } | 2868 } |
2869 | 2869 |
2870 // Pending relocation entries are also relative, no need to relocate. | 2870 // Pending relocation entries are also relative, no need to relocate. |
2871 } | 2871 } |
2872 | 2872 |
2873 | 2873 |
2874 void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) { | 2874 void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) { |
2875 // We do not try to reuse pool constants. | 2875 // We do not try to reuse pool constants. |
2876 RelocInfo rinfo(isolate(), reinterpret_cast<byte*>(pc_), rmode, data, NULL); | 2876 RelocInfo rinfo(isolate(), reinterpret_cast<byte*>(pc_), rmode, data, NULL); |
2877 if (((rmode >= RelocInfo::COMMENT) && | 2877 if (((rmode >= RelocInfo::COMMENT) && |
2878 (rmode <= RelocInfo::DEBUG_BREAK_SLOT_AT_CALL)) || | 2878 (rmode <= RelocInfo::DEBUG_BREAK_SLOT_AT_TAIL_CALL)) || |
2879 (rmode == RelocInfo::INTERNAL_REFERENCE) || | 2879 (rmode == RelocInfo::INTERNAL_REFERENCE) || |
2880 (rmode == RelocInfo::CONST_POOL) || (rmode == RelocInfo::VENEER_POOL) || | 2880 (rmode == RelocInfo::CONST_POOL) || (rmode == RelocInfo::VENEER_POOL) || |
2881 (rmode == RelocInfo::DEOPT_REASON) || | 2881 (rmode == RelocInfo::DEOPT_REASON) || |
2882 (rmode == RelocInfo::GENERATOR_CONTINUATION)) { | 2882 (rmode == RelocInfo::GENERATOR_CONTINUATION)) { |
2883 // Adjust code for new modes. | 2883 // Adjust code for new modes. |
2884 DCHECK(RelocInfo::IsDebugBreakSlot(rmode) || RelocInfo::IsComment(rmode) || | 2884 DCHECK(RelocInfo::IsDebugBreakSlot(rmode) || RelocInfo::IsComment(rmode) || |
2885 RelocInfo::IsDeoptReason(rmode) || RelocInfo::IsPosition(rmode) || | 2885 RelocInfo::IsDeoptReason(rmode) || RelocInfo::IsPosition(rmode) || |
2886 RelocInfo::IsInternalReference(rmode) || | 2886 RelocInfo::IsInternalReference(rmode) || |
2887 RelocInfo::IsConstPool(rmode) || RelocInfo::IsVeneerPool(rmode) || | 2887 RelocInfo::IsConstPool(rmode) || RelocInfo::IsVeneerPool(rmode) || |
2888 RelocInfo::IsGeneratorContinuation(rmode)); | 2888 RelocInfo::IsGeneratorContinuation(rmode)); |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3141 movk(scratch, (target_offset >> 32) & 0xFFFF, 32); | 3141 movk(scratch, (target_offset >> 32) & 0xFFFF, 32); |
3142 DCHECK((target_offset >> 48) == 0); | 3142 DCHECK((target_offset >> 48) == 0); |
3143 add(rd, rd, scratch); | 3143 add(rd, rd, scratch); |
3144 } | 3144 } |
3145 | 3145 |
3146 | 3146 |
3147 } // namespace internal | 3147 } // namespace internal |
3148 } // namespace v8 | 3148 } // namespace v8 |
3149 | 3149 |
3150 #endif // V8_TARGET_ARCH_ARM64 | 3150 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |