| 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 4768 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4779 BlockConstPoolFor(1); | 4779 BlockConstPoolFor(1); |
| 4780 } | 4780 } |
| 4781 | 4781 |
| 4782 if (!RelocInfo::IsNone(rmode)) { | 4782 if (!RelocInfo::IsNone(rmode)) { |
| 4783 // Don't record external references unless the heap will be serialized. | 4783 // Don't record external references unless the heap will be serialized. |
| 4784 if (rmode == RelocInfo::EXTERNAL_REFERENCE && | 4784 if (rmode == RelocInfo::EXTERNAL_REFERENCE && |
| 4785 !serializer_enabled() && !emit_debug_code()) { | 4785 !serializer_enabled() && !emit_debug_code()) { |
| 4786 return; | 4786 return; |
| 4787 } | 4787 } |
| 4788 DCHECK(buffer_space() >= kMaxRelocSize); // too late to grow buffer here | 4788 DCHECK(buffer_space() >= kMaxRelocSize); // too late to grow buffer here |
| 4789 DCHECK(rmode != RelocInfo::CODE_TARGET_WITH_ID); | |
| 4790 reloc_info_writer.Write(&rinfo); | 4789 reloc_info_writer.Write(&rinfo); |
| 4791 } | 4790 } |
| 4792 } | 4791 } |
| 4793 | 4792 |
| 4794 | 4793 |
| 4795 void Assembler::BlockConstPoolFor(int instructions) { | 4794 void Assembler::BlockConstPoolFor(int instructions) { |
| 4796 int pc_limit = pc_offset() + instructions * kInstructionSize; | 4795 int pc_limit = pc_offset() + instructions * kInstructionSize; |
| 4797 if (no_const_pool_before_ < pc_limit) { | 4796 if (no_const_pool_before_ < pc_limit) { |
| 4798 no_const_pool_before_ = pc_limit; | 4797 no_const_pool_before_ = pc_limit; |
| 4799 // Make sure the pool won't be blocked for too long. | 4798 // Make sure the pool won't be blocked for too long. |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5020 movk(scratch, (target_offset >> 32) & 0xFFFF, 32); | 5019 movk(scratch, (target_offset >> 32) & 0xFFFF, 32); |
| 5021 DCHECK((target_offset >> 48) == 0); | 5020 DCHECK((target_offset >> 48) == 0); |
| 5022 add(rd, rd, scratch); | 5021 add(rd, rd, scratch); |
| 5023 } | 5022 } |
| 5024 | 5023 |
| 5025 | 5024 |
| 5026 } // namespace internal | 5025 } // namespace internal |
| 5027 } // namespace v8 | 5026 } // namespace v8 |
| 5028 | 5027 |
| 5029 #endif // V8_TARGET_ARCH_ARM64 | 5028 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |