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 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
433 unique_entries_.clear(); | 433 unique_entries_.clear(); |
434 first_use_ = -1; | 434 first_use_ = -1; |
435 } | 435 } |
436 | 436 |
437 | 437 |
438 bool ConstPool::CanBeShared(RelocInfo::Mode mode) { | 438 bool ConstPool::CanBeShared(RelocInfo::Mode mode) { |
439 // Constant pool currently does not support 32-bit entries. | 439 // Constant pool currently does not support 32-bit entries. |
440 DCHECK(mode != RelocInfo::NONE32); | 440 DCHECK(mode != RelocInfo::NONE32); |
441 | 441 |
442 return RelocInfo::IsNone(mode) || | 442 return RelocInfo::IsNone(mode) || |
443 (!assm_->serializer_enabled() && (mode >= RelocInfo::CELL)); | 443 (!assm_->serializer_enabled() && |
| 444 (mode >= RelocInfo::FIRST_SHAREABLE_RELOC_MODE)); |
444 } | 445 } |
445 | 446 |
446 | 447 |
447 void ConstPool::EmitMarker() { | 448 void ConstPool::EmitMarker() { |
448 // A constant pool size is expressed in number of 32-bits words. | 449 // A constant pool size is expressed in number of 32-bits words. |
449 // Currently all entries are 64-bit. | 450 // Currently all entries are 64-bit. |
450 // + 1 is for the crash guard. | 451 // + 1 is for the crash guard. |
451 // + 0/1 for alignment. | 452 // + 0/1 for alignment. |
452 int word_count = EntryCount() * 2 + 1 + | 453 int word_count = EntryCount() * 2 + 1 + |
453 (IsAligned(assm_->pc_offset(), 8) ? 0 : 1); | 454 (IsAligned(assm_->pc_offset(), 8) ? 0 : 1); |
(...skipping 2686 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3140 movk(scratch, (target_offset >> 32) & 0xFFFF, 32); | 3141 movk(scratch, (target_offset >> 32) & 0xFFFF, 32); |
3141 DCHECK((target_offset >> 48) == 0); | 3142 DCHECK((target_offset >> 48) == 0); |
3142 add(rd, rd, scratch); | 3143 add(rd, rd, scratch); |
3143 } | 3144 } |
3144 | 3145 |
3145 | 3146 |
3146 } // namespace internal | 3147 } // namespace internal |
3147 } // namespace v8 | 3148 } // namespace v8 |
3148 | 3149 |
3149 #endif // V8_TARGET_ARCH_ARM64 | 3150 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |