/art/runtime/ |
D | oat_quick_method_header.h | 32 class PACKED(4) OatQuickMethodHeader { 34 OatQuickMethodHeader() = default; 35 OatQuickMethodHeader(uint32_t vmap_table_offset, in OatQuickMethodHeader() function 41 static OatQuickMethodHeader* NterpMethodHeader; 45 static OatQuickMethodHeader* FromCodePointer(const void* code_ptr) { in FromCodePointer() 47 uintptr_t header = code - OFFSETOF_MEMBER(OatQuickMethodHeader, code_); in FromCodePointer() 51 return reinterpret_cast<OatQuickMethodHeader*>(header); in FromCodePointer() 54 static OatQuickMethodHeader* FromEntryPoint(const void* entry_point) { in FromEntryPoint() 59 return RoundUp(sizeof(OatQuickMethodHeader), GetInstructionSetAlignment(kRuntimeISA)); in InstructionAlignedSize() 62 OatQuickMethodHeader(const OatQuickMethodHeader&) = default; [all …]
|
D | oat_file-inl.h | 27 inline const OatQuickMethodHeader* OatFile::OatMethod::GetOatQuickMethodHeader() const { in GetOatQuickMethodHeader() 33 return reinterpret_cast<const OatQuickMethodHeader*>(code) - 1; in GetOatQuickMethodHeader() 37 const OatQuickMethodHeader* method_header = GetOatQuickMethodHeader(); in GetOatQuickMethodHeaderOffset() 45 const OatQuickMethodHeader* method_header = GetOatQuickMethodHeader(); in GetQuickCodeSizeOffset() 57 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetFrameInfo().FrameSizeInBytes(); in GetFrameSizeInBytes() 65 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetFrameInfo().CoreSpillMask(); in GetCoreSpillMask() 73 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetFrameInfo().FpSpillMask(); in GetFpSpillMask() 82 const OatQuickMethodHeader* method_header = GetOatQuickMethodHeader(); in GetVmapTableOffsetOffset() 94 uint32_t offset = reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetVmapTableOffset(); in GetVmapTable() 106 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetCodeSize(); in GetQuickCodeSize()
|
D | oat_quick_method_header.cc | 31 uint32_t OatQuickMethodHeader::ToDexPc(ArtMethod** frame, in ToDexPc() 59 uintptr_t OatQuickMethodHeader::ToNativeQuickPc(ArtMethod* method, in ToNativeQuickPc() 92 static inline OatQuickMethodHeader* GetNterpMethodHeader() { in GetNterpMethodHeader() 101 return reinterpret_cast<OatQuickMethodHeader*>(nterp_code_pointer - sizeof(OatQuickMethodHeader)); in GetNterpMethodHeader() 104 OatQuickMethodHeader* OatQuickMethodHeader::NterpMethodHeader = GetNterpMethodHeader(); 106 bool OatQuickMethodHeader::IsNterpMethodHeader() const { in IsNterpMethodHeader()
|
D | cha_test.cc | 31 #define METHOD_HEADER1 (reinterpret_cast<OatQuickMethodHeader*>(128u)) 32 #define METHOD_HEADER2 (reinterpret_cast<OatQuickMethodHeader*>(136u)) 33 #define METHOD_HEADER3 (reinterpret_cast<OatQuickMethodHeader*>(144u)) 61 std::unordered_set<OatQuickMethodHeader*> headers; in TEST_F()
|
D | cha.h | 88 typedef std::pair<ArtMethod*, OatQuickMethodHeader*> MethodAndMethodHeaderPair; 97 OatQuickMethodHeader* dependent_header) REQUIRES(Locks::cha_lock_); 110 const std::unordered_set<OatQuickMethodHeader*>& method_headers)
|
D | quick_exception_handler.h | 34 class OatQuickMethodHeader; variable 93 void SetHandlerMethodHeader(const OatQuickMethodHeader* handler_method_header) { in SetHandlerMethodHeader() 150 const OatQuickMethodHeader* handler_method_header_;
|
D | cha.cc | 37 OatQuickMethodHeader* dependent_header) { in AddDependency() 59 const std::unordered_set<OatQuickMethodHeader*>& method_headers) { in RemoveDependentsWithMethodHeaders() 189 const std::unordered_set<OatQuickMethodHeader*>& method_headers) in CHAStackVisitor() 209 const OatQuickMethodHeader* method_header = GetCurrentOatQuickMethodHeader(); in VisitFrame() 244 const std::unordered_set<OatQuickMethodHeader*>& method_headers_; 251 explicit CHACheckpoint(const std::unordered_set<OatQuickMethodHeader*>& method_headers) in CHACheckpoint() 275 const std::unordered_set<OatQuickMethodHeader*>& method_headers_; 636 std::unordered_set<OatQuickMethodHeader*> dependent_method_headers; in InvalidateSingleImplementationMethods() 644 std::vector<std::pair<ArtMethod*, OatQuickMethodHeader*>> headers; in InvalidateSingleImplementationMethods() 670 OatQuickMethodHeader* method_header = dependent.second; in InvalidateSingleImplementationMethods()
|
D | stack.h | 39 class OatQuickMethodHeader; variable 298 const OatQuickMethodHeader* GetCurrentOatQuickMethodHeader() const { in GetCurrentOatQuickMethodHeader() 359 const OatQuickMethodHeader* cur_oat_quick_method_header_; 371 mutable std::pair<const OatQuickMethodHeader*, CodeInfo> cur_inline_info_;
|
D | art_method.cc | 564 const OatQuickMethodHeader* ArtMethod::GetOatQuickMethodHeader(uintptr_t pc) { in GetOatQuickMethodHeader() 589 OatQuickMethodHeader* method_header = in GetOatQuickMethodHeader() 590 OatQuickMethodHeader::FromEntryPoint(existing_entry_point); in GetOatQuickMethodHeader() 597 if (OatQuickMethodHeader::NterpMethodHeader != nullptr && in GetOatQuickMethodHeader() 598 OatQuickMethodHeader::NterpMethodHeader->Contains(pc)) { in GetOatQuickMethodHeader() 599 return OatQuickMethodHeader::NterpMethodHeader; in GetOatQuickMethodHeader() 606 OatQuickMethodHeader* method_header = code_cache->LookupMethodHeader(pc, this); in GetOatQuickMethodHeader() 636 return OatQuickMethodHeader::FromEntryPoint(existing_entry_point); in GetOatQuickMethodHeader() 644 OatQuickMethodHeader* method_header = OatQuickMethodHeader::FromEntryPoint(oat_entry_point); in GetOatQuickMethodHeader()
|
D | stack_map.h | 35 class OatQuickMethodHeader; variable 296 ALWAYS_INLINE explicit CodeInfo(const OatQuickMethodHeader* header); 300 static CodeInfo DecodeGcMasksOnly(const OatQuickMethodHeader* header); 301 static CodeInfo DecodeInlineInfoOnly(const OatQuickMethodHeader* header);
|
D | stack.cc | 86 const OatQuickMethodHeader* header = GetCurrentOatQuickMethodHeader(); in GetCurrentInlineInfo() 95 const OatQuickMethodHeader* header = GetCurrentOatQuickMethodHeader(); in GetCurrentStackMap() 280 const OatQuickMethodHeader* method_header = GetCurrentOatQuickMethodHeader(); in GetVRegFromOptimizedCode() 707 uint32_t code_size = OatQuickMethodHeader::FromEntryPoint(code)->GetCodeSize(); in AssertPcIsWithinQuickCode() 868 OatQuickMethodHeader::FromEntryPoint(existing_entry_point); in WalkStack() 872 cur_oat_quick_method_header_ = OatQuickMethodHeader::FromEntryPoint(code); in WalkStack() 878 cur_oat_quick_method_header_ = OatQuickMethodHeader::FromCodePointer(code); in WalkStack()
|
D | stack_map.cc | 61 CodeInfo::CodeInfo(const OatQuickMethodHeader* header) in CodeInfo() 71 CodeInfo CodeInfo::DecodeGcMasksOnly(const OatQuickMethodHeader* header) { in DecodeGcMasksOnly() 80 CodeInfo CodeInfo::DecodeInlineInfoOnly(const OatQuickMethodHeader* header) { in DecodeInlineInfoOnly()
|
D | oat_file.h | 49 class OatQuickMethodHeader; variable 199 const OatQuickMethodHeader* GetOatQuickMethodHeader() const;
|
D | quick_exception_handler.cc | 323 const OatQuickMethodHeader* GetSingleFrameDeoptQuickMethodHeader() const { in GetSingleFrameDeoptQuickMethodHeader() 458 const OatQuickMethodHeader* method_header = GetCurrentOatQuickMethodHeader(); in HandleOptimizingDeoptimization() 550 const OatQuickMethodHeader* single_frame_deopt_quick_method_header_;
|
/art/runtime/jit/ |
D | jit_code_cache.cc | 125 DCHECK(entrypoint == OatQuickMethodHeader::FromCodePointer(GetCode())->GetEntryPoint()); in UpdateEntryPoints() 364 OatQuickMethodHeader* method_header = OatQuickMethodHeader::FromCodePointer(code_ptr); in GetSavedEntryPointOfPreCompiledMethod() 382 return reinterpret_cast<uintptr_t>(code) - RoundUp(sizeof(OatQuickMethodHeader), alignment); in FromCodeToAllocation() 387 return reinterpret_cast<const void*>(alloc + RoundUp(sizeof(OatQuickMethodHeader), alignment)); in FromAllocationToCode() 418 OatQuickMethodHeader* method_header = OatQuickMethodHeader::FromCodePointer(code_ptr); in GetRootTable() 479 if (OatQuickMethodHeader::FromCodePointer(code_ptr)->IsOptimized()) { in FreeCodeAndData() 487 const std::unordered_set<OatQuickMethodHeader*>& method_headers) { in FreeAllMethodHeaders() 499 for (const OatQuickMethodHeader* method_header : method_headers) { in FreeAllMethodHeaders() 533 std::unordered_set<OatQuickMethodHeader*> method_headers; in RemoveMethodsIn() 543 method_headers.insert(OatQuickMethodHeader::FromCodePointer(it->second.GetCode())); in RemoveMethodsIn() [all …]
|
D | jit_code_cache.h | 46 class OatQuickMethodHeader; variable 293 OatQuickMethodHeader* LookupMethodHeader(uintptr_t pc, ArtMethod* method) 297 OatQuickMethodHeader* LookupOsrMethodHeader(ArtMethod* method) 342 void InvalidateCompiledCodeFor(ArtMethod* method, const OatQuickMethodHeader* code) 434 void FreeAllMethodHeaders(const std::unordered_set<OatQuickMethodHeader*>& method_headers)
|
D | jit_memory_region.cc | 361 size_t header_size = OatQuickMethodHeader::InstructionAlignedSize(); in CommitCode() 379 OatQuickMethodHeader* method_header = in CommitCode() 380 OatQuickMethodHeader::FromCodePointer(w_memory + header_size); in CommitCode() 381 new (method_header) OatQuickMethodHeader( in CommitCode()
|
/art/test/566-polymorphic-inlining/ |
D | polymorphic_inline.cc | 36 OatQuickMethodHeader* header = nullptr; in do_checks() 41 header = OatQuickMethodHeader::FromEntryPoint(pc); in do_checks()
|
/art/test/570-checker-osr/ |
D | osr.cc | 68 const OatQuickMethodHeader* header = in Java_Main_isInOsrCode() 90 const OatQuickMethodHeader* header = in Java_Main_isInInterpreter()
|
/art/dex2oat/linker/arm64/ |
D | relative_patcher_arm64_test.cc | 117 kTrampolineSize + CodeAlignmentSize(kTrampolineSize) + sizeof(OatQuickMethodHeader); in Create2MethodsWithGap() 124 const uint32_t gap_end = last_method_offset - sizeof(OatQuickMethodHeader); in Create2MethodsWithGap() 140 chunk_size - CodeAlignmentSize(chunk_start) - sizeof(OatQuickMethodHeader); in Create2MethodsWithGap() 163 CHECK_EQ(last_result.second, header_offset + sizeof(OatQuickMethodHeader)); in Create2MethodsWithGap() 431 kTrampolineSize + CodeAlignmentSize(kTrampolineSize) + sizeof(OatQuickMethodHeader); in TestAdrpInsn2Ldr() 481 kTrampolineSize + CodeAlignmentSize(kTrampolineSize) + sizeof(OatQuickMethodHeader); in TestAdrpInsn2Add() 736 if (sizeof(OatQuickMethodHeader) < kArm64Alignment) { in TEST_F() 748 method_after_thunk_offset - sizeof(OatQuickMethodHeader); in TEST_F() 1158 1 * MB - RoundUp(raw_code1.size() + sizeof(OatQuickMethodHeader), kArm64Alignment); in TEST_F() 1173 1 * MB - RoundUp(thunk_size + sizeof(OatQuickMethodHeader), kArm64Alignment) in TEST_F() [all …]
|
/art/dex2oat/linker/arm/ |
D | relative_patcher_thumb2_test.cc | 150 kTrampolineSize + CodeAlignmentSize(kTrampolineSize) + sizeof(OatQuickMethodHeader); in Create2MethodsWithGap() 157 const uint32_t gap_end = last_method_offset - sizeof(OatQuickMethodHeader); in Create2MethodsWithGap() 173 chunk_size - CodeAlignmentSize(chunk_start) - sizeof(OatQuickMethodHeader); in Create2MethodsWithGap() 197 header_offset + sizeof(OatQuickMethodHeader) + 1 /* thumb mode */); in Create2MethodsWithGap() 565 if (sizeof(OatQuickMethodHeader) < kArmAlignment) { in TEST_F() 577 method_after_thunk_offset - sizeof(OatQuickMethodHeader); in TEST_F() 950 RoundUp(raw_code1.size() + sizeof(OatQuickMethodHeader), kArmAlignment); in TEST_F() 971 - RoundUp(thunk_size + sizeof(OatQuickMethodHeader), kArmAlignment) in TEST_F() 972 - RoundUp(kNopCode.size() + sizeof(OatQuickMethodHeader), kArmAlignment) in TEST_F() 973 - sizeof(OatQuickMethodHeader); in TEST_F() [all …]
|
/art/test/004-ReferenceMap/ |
D | stack_walk_refmap_jni.cc | 26 const OatQuickMethodHeader* method_header = GetCurrentOatQuickMethodHeader(); \
|
/art/compiler/ |
D | exception_test.cc | 87 const size_t header_size = sizeof(OatQuickMethodHeader); in SetUp() 96 OatQuickMethodHeader method_header(code_ptr - fake_header_code_and_maps_.data(), code_size); in SetUp() 97 static_assert(std::is_trivially_copyable<OatQuickMethodHeader>::value, "Cannot use memcpy"); in SetUp()
|
D | common_compiler_test.cc | 69 : sizeof(OatQuickMethodHeader) + vmap_table.size(); in MakeExecutable() 70 OatQuickMethodHeader method_header(vmap_table_offset, code_size); in MakeExecutable() 78 static_assert(std::is_trivially_copyable<OatQuickMethodHeader>::value, "Cannot use memcpy"); in MakeExecutable()
|
/art/dex2oat/linker/ |
D | relative_patcher_test.h | 117 uint32_t unaligned_code_offset = header_offset_to_align + sizeof(OatQuickMethodHeader); in CodeAlignmentSize() 134 offset += sizeof(OatQuickMethodHeader); in Link() 155 uint8_t fake_header[sizeof(OatQuickMethodHeader)]; in Link() 165 out_->WriteFully(fake_header, sizeof(OatQuickMethodHeader)); in Link() 166 offset += sizeof(OatQuickMethodHeader); in Link()
|