/art/runtime/gc/accounting/ |
D | bitmap-inl.h | 32 inline bool Bitmap::AtomicTestAndSetBit(uintptr_t bit_index) { in AtomicTestAndSetBit() 35 const uintptr_t word_mask = BitIndexToMask(bit_index); in AtomicTestAndSetBit() 36 auto* atomic_entry = reinterpret_cast<Atomic<uintptr_t>*>(&bitmap_begin_[word_index]); in AtomicTestAndSetBit() 37 uintptr_t old_word; in AtomicTestAndSetBit() 51 inline bool Bitmap::TestBit(uintptr_t bit_index) const { in TestBit() 57 inline void Bitmap::VisitSetBits(uintptr_t bit_start, uintptr_t bit_end, const Visitor& visitor) in VisitSetBits() 61 const uintptr_t index_start = BitIndexToWordIndex(bit_start); in VisitSetBits() 62 const uintptr_t index_end = BitIndexToWordIndex(bit_end); in VisitSetBits() 75 uintptr_t left_edge = bitmap_begin_[index_start]; in VisitSetBits() 77 left_edge &= ~((static_cast<uintptr_t>(1) << (bit_start % kBitsPerBitmapWord)) - 1); in VisitSetBits() [all …]
|
D | space_bitmap-inl.h | 34 uintptr_t addr = reinterpret_cast<uintptr_t>(obj); in AtomicTestAndSet() 36 const uintptr_t offset = addr - heap_begin_; in AtomicTestAndSet() 38 const uintptr_t mask = OffsetToMask(offset); in AtomicTestAndSet() 39 Atomic<uintptr_t>* atomic_entry = reinterpret_cast<Atomic<uintptr_t>*>(&bitmap_begin_[index]); in AtomicTestAndSet() 41 uintptr_t old_word; in AtomicTestAndSet() 56 uintptr_t addr = reinterpret_cast<uintptr_t>(obj); in Test() 60 const uintptr_t offset = addr - heap_begin_; in Test() 65 inline void SpaceBitmap<kAlignment>::VisitMarkedRange(uintptr_t visit_begin, uintptr_t visit_end, in VisitMarkedRange() 69 for (uintptr_t i = visit_begin; i < visit_end; i += kAlignment) { in VisitMarkedRange() 79 const uintptr_t offset_start = visit_begin - heap_begin_; in VisitMarkedRange() [all …]
|
D | card_table-inl.h | 37 const size_t shift_in_bytes = reinterpret_cast<uintptr_t>(address) % sizeof(uintptr_t); in byte_cas() 41 Atomic<uintptr_t>* word_atomic = reinterpret_cast<Atomic<uintptr_t>*>(address); in byte_cas() 44 const uintptr_t cur_word = word_atomic->LoadRelaxed() & in byte_cas() 45 ~(static_cast<uintptr_t>(0xFF) << shift_in_bits); in byte_cas() 46 const uintptr_t old_word = cur_word | (static_cast<uintptr_t>(old_value) << shift_in_bits); in byte_cas() 47 const uintptr_t new_word = cur_word | (static_cast<uintptr_t>(new_value) << shift_in_bits); in byte_cas() 67 uintptr_t start = reinterpret_cast<uintptr_t>(AddrFromCard(card_cur)); in Scan() 78 (reinterpret_cast<uintptr_t>(card_end) & (sizeof(uintptr_t) - 1)); in Scan() 80 uintptr_t* word_end = reinterpret_cast<uintptr_t*>(aligned_end); in Scan() 81 for (uintptr_t* word_cur = reinterpret_cast<uintptr_t*>(card_cur); word_cur < word_end; in Scan() [all …]
|
D | bitmap.h | 49 static ALWAYS_INLINE constexpr size_t BitIndexToWordIndex(uintptr_t offset) { in BitIndexToWordIndex() 58 static ALWAYS_INLINE constexpr uintptr_t BitIndexToMask(uintptr_t bit_index) { in BitIndexToMask() 59 return static_cast<uintptr_t>(1) << (bit_index % kBitsPerBitmapWord); in BitIndexToMask() 81 void VisitSetBits(uintptr_t visit_begin, size_t visit_end, const Visitor& visitor) const; 86 uintptr_t* Begin() { in Begin() 103 static constexpr size_t kBitsPerBitmapWord = sizeof(uintptr_t) * kBitsPerByte; 112 ALWAYS_INLINE bool ModifyBit(uintptr_t bit_index); 118 uintptr_t* const bitmap_begin_; 131 static MemoryRangeBitmap* Create(const std::string& name, uintptr_t cover_begin, 132 uintptr_t cover_end); [all …]
|
D | space_bitmap.h | 71 static constexpr uintptr_t OffsetToMask(uintptr_t offset) { in OffsetToMask() 96 const uintptr_t offset = reinterpret_cast<uintptr_t>(obj) - heap_begin_; in HasAddress() 101 void VisitRange(uintptr_t base, uintptr_t max, ObjectCallback* callback, void* arg) const; 117 void VisitRange(uintptr_t visit_begin, uintptr_t visit_end, const Visitor& visitor) const { in VisitRange() 127 void VisitMarkedRange(uintptr_t visit_begin, uintptr_t visit_end, const Visitor& visitor) const 143 static void SweepWalk(const SpaceBitmap& live, const SpaceBitmap& mark, uintptr_t base, 144 uintptr_t max, SweepCallback* thunk, void* arg); 149 uintptr_t* Begin() { in Begin() 169 uintptr_t HeapBegin() const { in HeapBegin() 179 void SetHeapLimit(uintptr_t new_end); [all …]
|
D | space_bitmap.cc | 46 uintptr_t* bitmap_begin = reinterpret_cast<uintptr_t*>(mem_map->Begin()); in CreateFromMemMap() 52 SpaceBitmap<kAlignment>::SpaceBitmap(const std::string& name, MemMap* mem_map, uintptr_t* bitmap_be… in SpaceBitmap() 55 heap_begin_(reinterpret_cast<uintptr_t>(heap_begin)), in SpaceBitmap() 81 void SpaceBitmap<kAlignment>::SetHeapLimit(uintptr_t new_end) { in SetHeapLimit() 115 uintptr_t end = OffsetToIndex(HeapLimit() - heap_begin_ - 1); in Walk() 116 uintptr_t* bitmap_begin = bitmap_begin_; in Walk() 117 for (uintptr_t i = 0; i <= end; ++i) { in Walk() 118 uintptr_t w = bitmap_begin[i]; in Walk() 120 uintptr_t ptr_base = IndexToOffset(i) + heap_begin_; in Walk() 125 w ^= (static_cast<uintptr_t>(1)) << shift; in Walk() [all …]
|
D | card_table.cc | 78 uint8_t* biased_begin = reinterpret_cast<uint8_t*>(reinterpret_cast<uintptr_t>(cardtable_begin) - in Create() 79 (reinterpret_cast<uintptr_t>(heap_begin) >> kCardShift)); in Create() 80 uintptr_t biased_byte = reinterpret_cast<uintptr_t>(biased_begin) & 0xff; in Create() 86 CHECK_EQ(reinterpret_cast<uintptr_t>(biased_begin) & 0xff, kCardDirty); in Create() 115 CHECK_ALIGNED(reinterpret_cast<uintptr_t>(start), kCardSize); in ClearCardRange() 116 CHECK_ALIGNED(reinterpret_cast<uintptr_t>(end), kCardSize); in ClearCardRange() 131 return IsValidCard(biased_begin_ + ((uintptr_t)addr >> kCardShift)); in AddrIsInCardTable() 135 uint8_t* card_addr = biased_begin_ + ((uintptr_t)addr >> kCardShift); in CheckAddrIsInCardTable()
|
/art/runtime/arch/x86/ |
D | fault_handler_x86.cc | 247 uc->CTX_JMP_BUF = reinterpret_cast<uintptr_t>(*self->GetNestedSignalState()); in HandleNestedSignal() 248 uc->CTX_EIP = reinterpret_cast<uintptr_t>(art_nested_signal_return); in HandleNestedSignal() 253 uintptr_t* out_return_pc, uintptr_t* out_sp) { in GetMethodAndReturnPcAndSp() 255 *out_sp = static_cast<uintptr_t>(uc->CTX_ESP); in GetMethodAndReturnPcAndSp() 263 uintptr_t* fault_addr = reinterpret_cast<uintptr_t*>(siginfo->si_addr); in GetMethodAndReturnPcAndSp() 264 uintptr_t* overflow_addr = reinterpret_cast<uintptr_t*>( in GetMethodAndReturnPcAndSp() 292 *out_return_pc = reinterpret_cast<uintptr_t>(pc + instr_size); in GetMethodAndReturnPcAndSp() 312 uintptr_t retaddr = reinterpret_cast<uintptr_t>(pc + instr_size); in Action() 313 uintptr_t* next_sp = reinterpret_cast<uintptr_t*>(sp - sizeof(uintptr_t)); in Action() 315 uc->CTX_ESP = reinterpret_cast<uintptr_t>(next_sp); in Action() [all …]
|
D | context_x86.h | 39 void SetSP(uintptr_t new_sp) OVERRIDE { in SetSP() 43 void SetPC(uintptr_t new_pc) OVERRIDE { in SetPC() 52 uintptr_t* GetGPRAddress(uint32_t reg) OVERRIDE { in GetGPRAddress() 57 uintptr_t GetGPR(uint32_t reg) OVERRIDE { in GetGPR() 63 void SetGPR(uint32_t reg, uintptr_t value) OVERRIDE; 70 uintptr_t GetFPR(uint32_t reg) OVERRIDE { in GetFPR() 76 void SetFPR(uint32_t reg, uintptr_t value) OVERRIDE; 96 uintptr_t* gprs_[kNumberOfCpuRegisters]; 101 uintptr_t esp_, eip_;
|
D | context_x86.cc | 26 static constexpr uintptr_t gZero = 0; 69 gprs_[EAX] = const_cast<uintptr_t*>(&gZero); in SmashCallerSaves() 70 gprs_[EDX] = const_cast<uintptr_t*>(&gZero); in SmashCallerSaves() 76 void X86Context::SetGPR(uint32_t reg, uintptr_t value) { in SetGPR() 83 void X86Context::SetFPR(uint32_t reg, uintptr_t value) { in SetFPR() 94 volatile uintptr_t gprs[kNumberOfCpuRegisters + 1]; in DoLongJump() 103 uintptr_t esp = gprs[kNumberOfCpuRegisters - ESP - 1] - sizeof(intptr_t); in DoLongJump() 105 *(reinterpret_cast<uintptr_t*>(esp)) = eip_; in DoLongJump()
|
/art/runtime/base/ |
D | bit_field.h | 25 static constexpr uintptr_t kUintPtrTOne = 1U; 34 return (static_cast<uintptr_t>(value) & ~((kUintPtrTOne << size) - 1)) == 0; in IsValid() 38 static uintptr_t Mask() { in Mask() 44 static uintptr_t MaskInPlace() { in MaskInPlace() 60 static uintptr_t Encode(T value) { in Encode() 62 return static_cast<uintptr_t>(value) << position; in Encode() 66 static T Decode(uintptr_t value) { in Decode() 73 static uintptr_t Update(T value, uintptr_t original) { in Update() 75 return (static_cast<uintptr_t>(value) << position) | in Update()
|
/art/runtime/arch/mips/ |
D | fault_handler_mips.cc | 44 uintptr_t* out_return_pc, uintptr_t* out_sp) { in GetMethodAndReturnPcAndSp() 47 *out_sp = static_cast<uintptr_t>(sc->sc_regs[29]); // SP register in GetMethodAndReturnPcAndSp() 55 uintptr_t* fault_addr = reinterpret_cast<uintptr_t*>(siginfo->si_addr); // BVA addr in GetMethodAndReturnPcAndSp() 56 uintptr_t* overflow_addr = reinterpret_cast<uintptr_t*>( in GetMethodAndReturnPcAndSp() 84 sc->sc_pc = reinterpret_cast<uintptr_t>(art_quick_throw_null_pointer_exception); in Action() 114 uintptr_t sp = sc->sc_regs[29]; // SP register in Action() 117 uintptr_t fault_addr = reinterpret_cast<uintptr_t>(info->si_addr); // BVA addr in Action() 122 uintptr_t overflow_addr = sp - GetStackOverflowReservedBytes(kMips); in Action() 136 sc->sc_pc = reinterpret_cast<uintptr_t>(art_quick_throw_stack_overflow); in Action()
|
D | context_mips.h | 39 void SetSP(uintptr_t new_sp) OVERRIDE { in SetSP() 43 void SetPC(uintptr_t new_pc) OVERRIDE { in SetPC() 52 uintptr_t* GetGPRAddress(uint32_t reg) OVERRIDE { in GetGPRAddress() 57 uintptr_t GetGPR(uint32_t reg) OVERRIDE { in GetGPR() 63 void SetGPR(uint32_t reg, uintptr_t value) OVERRIDE; 70 uintptr_t GetFPR(uint32_t reg) OVERRIDE { in GetFPR() 76 void SetFPR(uint32_t reg, uintptr_t value) OVERRIDE; 83 uintptr_t* gprs_[kNumberOfCoreRegisters]; 86 uintptr_t sp_, ra_;
|
/art/runtime/arch/mips64/ |
D | fault_handler_mips64.cc | 44 uintptr_t* out_return_pc, uintptr_t* out_sp) { in GetMethodAndReturnPcAndSp() 47 *out_sp = static_cast<uintptr_t>(sc->sc_regs[29]); // SP register in GetMethodAndReturnPcAndSp() 55 uintptr_t* fault_addr = reinterpret_cast<uintptr_t*>(siginfo->si_addr); // BVA addr in GetMethodAndReturnPcAndSp() 56 uintptr_t* overflow_addr = reinterpret_cast<uintptr_t*>( in GetMethodAndReturnPcAndSp() 84 sc->sc_pc = reinterpret_cast<uintptr_t>(art_quick_throw_null_pointer_exception); in Action() 114 uintptr_t sp = sc->sc_regs[29]; // SP register in Action() 117 uintptr_t fault_addr = reinterpret_cast<uintptr_t>(info->si_addr); // BVA addr in Action() 122 uintptr_t overflow_addr = sp - GetStackOverflowReservedBytes(kMips64); in Action() 136 sc->sc_pc = reinterpret_cast<uintptr_t>(art_quick_throw_stack_overflow); in Action()
|
D | context_mips64.h | 39 void SetSP(uintptr_t new_sp) OVERRIDE { in SetSP() 43 void SetPC(uintptr_t new_pc) OVERRIDE { in SetPC() 52 uintptr_t* GetGPRAddress(uint32_t reg) OVERRIDE { in GetGPRAddress() 57 uintptr_t GetGPR(uint32_t reg) OVERRIDE { in GetGPR() 63 void SetGPR(uint32_t reg, uintptr_t value) OVERRIDE; 70 uintptr_t GetFPR(uint32_t reg) OVERRIDE { in GetFPR() 76 void SetFPR(uint32_t reg, uintptr_t value) OVERRIDE; 83 uintptr_t* gprs_[kNumberOfGpuRegisters]; 86 uintptr_t sp_, ra_;
|
/art/runtime/arch/arm64/ |
D | fault_handler_arm64.cc | 51 sc->regs[0] = reinterpret_cast<uintptr_t>(*self->GetNestedSignalState()); in HandleNestedSignal() 53 sc->pc = reinterpret_cast<uintptr_t>(longjmp); in HandleNestedSignal() 58 uintptr_t* out_return_pc, uintptr_t* out_sp) { in GetMethodAndReturnPcAndSp() 61 *out_sp = static_cast<uintptr_t>(sc->sp); in GetMethodAndReturnPcAndSp() 69 uintptr_t* fault_addr = reinterpret_cast<uintptr_t*>(sc->fault_address); in GetMethodAndReturnPcAndSp() 70 uintptr_t* overflow_addr = reinterpret_cast<uintptr_t*>( in GetMethodAndReturnPcAndSp() 98 sc->pc = reinterpret_cast<uintptr_t>(art_quick_throw_null_pointer_exception); in Action() 152 sc->pc = reinterpret_cast<uintptr_t>(art_quick_implicit_suspend); in Action() 169 uintptr_t sp = sc->sp; in Action() 172 uintptr_t fault_addr = sc->fault_address; in Action() [all …]
|
D | context_arm64.h | 40 void SetSP(uintptr_t new_sp) OVERRIDE { in SetSP() 44 void SetPC(uintptr_t new_lr) OVERRIDE { in SetPC() 53 uintptr_t* GetGPRAddress(uint32_t reg) OVERRIDE { in GetGPRAddress() 58 uintptr_t GetGPR(uint32_t reg) OVERRIDE { in GetGPR() 64 void SetGPR(uint32_t reg, uintptr_t value) OVERRIDE; 71 uintptr_t GetFPR(uint32_t reg) OVERRIDE { in GetFPR() 77 void SetFPR(uint32_t reg, uintptr_t value) OVERRIDE; 84 uintptr_t* gprs_[kNumberOfXRegisters]; 87 uintptr_t sp_, pc_;
|
/art/runtime/ |
D | memory_region.h | 39 MemoryRegion(void* pointer_in, uintptr_t size_in) : pointer_(pointer_in), size_(size_in) {} in MemoryRegion() 55 ALWAYS_INLINE T Load(uintptr_t offset) const { in Load() 65 ALWAYS_INLINE void Store(uintptr_t offset, T value) const { in Store() 74 ALWAYS_INLINE T LoadUnaligned(uintptr_t offset) const { in LoadUnaligned() 89 ALWAYS_INLINE void StoreUnaligned(uintptr_t offset, T value) const { in StoreUnaligned() 101 ALWAYS_INLINE T* PointerTo(uintptr_t offset) const { in PointerTo() 107 ALWAYS_INLINE bool LoadBit(uintptr_t bit_offset) const { in LoadBit() 113 ALWAYS_INLINE void StoreBit(uintptr_t bit_offset, bool value) const { in StoreBit() 127 uint32_t LoadBits(uintptr_t bit_offset, size_t length) const { in LoadBits() 140 void StoreBits(uintptr_t bit_offset, uint32_t value, size_t length) { in StoreBits() [all …]
|
D | monitor_pool.cc | 45 uintptr_t* new_backing = new uintptr_t[capacity_]; in AllocateChunk() 49 uintptr_t* new_backing = new uintptr_t[new_capacity]; in AllocateChunk() 50 uintptr_t* old_backing = monitor_chunks_.LoadRelaxed(); in AllocateChunk() 51 memcpy(new_backing, old_backing, sizeof(uintptr_t) * capacity_); in AllocateChunk() 62 CHECK_NE(reinterpret_cast<uintptr_t>(nullptr), reinterpret_cast<uintptr_t>(chunk)); in AllocateChunk() 64 CHECK_EQ(0U, reinterpret_cast<uintptr_t>(chunk) % kMonitorAlignment); in AllocateChunk() 67 *(monitor_chunks_.LoadRelaxed() + num_chunks_) = reinterpret_cast<uintptr_t>(chunk); in AllocateChunk() 71 Monitor* last = reinterpret_cast<Monitor*>(reinterpret_cast<uintptr_t>(chunk) + in AllocateChunk() 78 Monitor* before = reinterpret_cast<Monitor*>(reinterpret_cast<uintptr_t>(last) - in AllocateChunk()
|
/art/runtime/arch/arm/ |
D | fault_handler_arm.cc | 61 sc->arm_r0 = reinterpret_cast<uintptr_t>(*self->GetNestedSignalState()); in HandleNestedSignal() 63 sc->arm_pc = reinterpret_cast<uintptr_t>(longjmp); in HandleNestedSignal() 69 uintptr_t* out_return_pc, uintptr_t* out_sp) { in GetMethodAndReturnPcAndSp() 72 *out_sp = static_cast<uintptr_t>(sc->arm_sp); in GetMethodAndReturnPcAndSp() 80 uintptr_t* fault_addr = reinterpret_cast<uintptr_t*>(sc->fault_address); in GetMethodAndReturnPcAndSp() 81 uintptr_t* overflow_addr = reinterpret_cast<uintptr_t*>( in GetMethodAndReturnPcAndSp() 87 *out_method = reinterpret_cast<ArtMethod*>(reinterpret_cast<uintptr_t*>(*out_sp)[0]); in GetMethodAndReturnPcAndSp() 125 sc->arm_pc = reinterpret_cast<uintptr_t>(art_quick_throw_null_pointer_exception); in Action() 183 sc->arm_pc = reinterpret_cast<uintptr_t>(art_quick_implicit_suspend); in Action() 215 uintptr_t sp = sc->arm_sp; in Action() [all …]
|
D | context_arm.h | 40 void SetSP(uintptr_t new_sp) OVERRIDE { in SetSP() 44 void SetPC(uintptr_t new_pc) OVERRIDE { in SetPC() 53 uintptr_t* GetGPRAddress(uint32_t reg) OVERRIDE { in GetGPRAddress() 58 uintptr_t GetGPR(uint32_t reg) OVERRIDE { in GetGPR() 64 void SetGPR(uint32_t reg, uintptr_t value) OVERRIDE; 71 uintptr_t GetFPR(uint32_t reg) OVERRIDE { in GetFPR() 77 void SetFPR(uint32_t reg, uintptr_t value) OVERRIDE; 84 uintptr_t* gprs_[kNumberOfCoreRegisters]; 87 uintptr_t sp_, pc_;
|
/art/runtime/arch/x86_64/ |
D | context_x86_64.h | 39 void SetSP(uintptr_t new_sp) OVERRIDE { in SetSP() 43 void SetPC(uintptr_t new_pc) OVERRIDE { in SetPC() 52 uintptr_t* GetGPRAddress(uint32_t reg) OVERRIDE { in GetGPRAddress() 57 uintptr_t GetGPR(uint32_t reg) OVERRIDE { in GetGPR() 63 void SetGPR(uint32_t reg, uintptr_t value) OVERRIDE; 70 uintptr_t GetFPR(uint32_t reg) OVERRIDE { in GetFPR() 76 void SetFPR(uint32_t reg, uintptr_t value) OVERRIDE; 83 uintptr_t* gprs_[kNumberOfCpuRegisters]; 88 uintptr_t rsp_, rip_;
|
D | context_x86_64.cc | 26 static constexpr uintptr_t gZero = 0; 66 gprs_[RAX] = const_cast<uintptr_t*>(&gZero); in SmashCallerSaves() 67 gprs_[RDX] = const_cast<uintptr_t*>(&gZero); in SmashCallerSaves() 89 void X86_64Context::SetGPR(uint32_t reg, uintptr_t value) { in SetGPR() 96 void X86_64Context::SetFPR(uint32_t reg, uintptr_t value) { in SetFPR() 103 extern "C" NO_RETURN void art_quick_do_long_jump(uintptr_t*, uintptr_t*); 107 uintptr_t gprs[kNumberOfCpuRegisters + 1]; in DoLongJump() 108 uintptr_t fprs[kNumberOfFloatRegisters]; in DoLongJump() 118 uintptr_t rsp = gprs[kNumberOfCpuRegisters - RSP - 1] - sizeof(intptr_t); in DoLongJump() 120 *(reinterpret_cast<uintptr_t*>(rsp)) = rip_; in DoLongJump()
|
/art/runtime/arch/ |
D | context.h | 48 virtual void SetSP(uintptr_t new_sp) = 0; 51 virtual void SetPC(uintptr_t new_pc) = 0; 57 virtual uintptr_t* GetGPRAddress(uint32_t reg) = 0; 61 virtual uintptr_t GetGPR(uint32_t reg) = 0; 65 virtual void SetGPR(uint32_t reg, uintptr_t value) = 0; 72 virtual uintptr_t GetFPR(uint32_t reg) = 0; 76 virtual void SetFPR(uint32_t reg, uintptr_t value) = 0;
|
/art/runtime/gc/collector/ |
D | immune_region.h | 49 return reinterpret_cast<uintptr_t>(obj) - reinterpret_cast<uintptr_t>(begin_) < size_; in ContainsObject() 72 size_ = reinterpret_cast<uintptr_t>(end_) - reinterpret_cast<uintptr_t>(begin_); in UpdateSize() 77 uintptr_t size_;
|