/art/runtime/oat/ |
D | oat_quick_method_header.h | 39 class PACKED(4) OatQuickMethodHeader { 41 OatQuickMethodHeader(uint32_t code_info_offset = 0) { 45 static OatQuickMethodHeader* NterpMethodHeader; 52 return OatQuickMethodHeader::NterpMethodHeader != nullptr && in IsNterpPc() 53 OatQuickMethodHeader::NterpMethodHeader->Contains(pc); in IsNterpPc() 56 static OatQuickMethodHeader* FromCodePointer(const void* code_ptr) { in FromCodePointer() 58 uintptr_t header = code - OFFSETOF_MEMBER(OatQuickMethodHeader, code_); in FromCodePointer() 62 return reinterpret_cast<OatQuickMethodHeader*>(header); in FromCodePointer() 65 static OatQuickMethodHeader* FromEntryPoint(const void* entry_point) { in FromEntryPoint() 70 return RoundUp(sizeof(OatQuickMethodHeader), GetInstructionSetCodeAlignment(kRuntimeISA)); in InstructionAlignedSize() [all …]
|
D | oat_quick_method_header.cc | 36 uint32_t OatQuickMethodHeader::ToDexPc(ArtMethod** frame, in ToDexPc() 64 uintptr_t OatQuickMethodHeader::ToNativeQuickPc(ArtMethod* method, in ToNativeQuickPc() 87 uintptr_t OatQuickMethodHeader::ToNativeQuickPcForCatchHandlers( in ToNativeQuickPcForCatchHandlers() 125 static inline OatQuickMethodHeader* GetNterpMethodHeader() { in GetNterpMethodHeader() 132 return reinterpret_cast<OatQuickMethodHeader*>(nterp_code_pointer - sizeof(OatQuickMethodHeader)); in GetNterpMethodHeader() 135 OatQuickMethodHeader* OatQuickMethodHeader::NterpMethodHeader = GetNterpMethodHeader(); 137 ArrayRef<const uint8_t> OatQuickMethodHeader::NterpWithClinitImpl = 140 ArrayRef<const uint8_t> OatQuickMethodHeader::NterpImpl = interpreter::NterpImpl(); 142 bool OatQuickMethodHeader::IsNterpMethodHeader() const { in IsNterpMethodHeader() 172 std::optional<bool> OatQuickMethodHeader::IsStub(const uint8_t* pc) { in IsStub()
|
D | oat_file-inl.h | 28 inline const OatQuickMethodHeader* OatFile::OatMethod::GetOatQuickMethodHeader() const { in GetOatQuickMethodHeader() 34 return reinterpret_cast<const OatQuickMethodHeader*>(code) - 1; in GetOatQuickMethodHeader() 38 const OatQuickMethodHeader* method_header = GetOatQuickMethodHeader(); in GetOatQuickMethodHeaderOffset() 50 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetFrameInfo().FrameSizeInBytes(); in GetFrameSizeInBytes() 58 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetFrameInfo().CoreSpillMask(); in GetCoreSpillMask() 66 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetFrameInfo().FpSpillMask(); in GetFpSpillMask() 79 uint32_t offset = reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetCodeInfoOffset(); in GetVmapTable() 91 return reinterpret_cast<const OatQuickMethodHeader*>(code)[-1].GetCodeSize(); in GetQuickCodeSize()
|
D | stack_map.cc | 61 CodeInfo::CodeInfo(const OatQuickMethodHeader* header) in CodeInfo() 64 CodeInfo CodeInfo::DecodeGcMasksOnly(const OatQuickMethodHeader* header) { in DecodeGcMasksOnly() 73 CodeInfo CodeInfo::DecodeInlineInfoOnly(const OatQuickMethodHeader* header) { in DecodeInlineInfoOnly()
|
D | stack_map.h | 41 class OatQuickMethodHeader; variable 292 EXPORT ALWAYS_INLINE explicit CodeInfo(const OatQuickMethodHeader* header); 295 static CodeInfo DecodeGcMasksOnly(const OatQuickMethodHeader* header); 296 static CodeInfo DecodeInlineInfoOnly(const OatQuickMethodHeader* header);
|
D | jni_stub_hash_map_test.cc | 286 OatQuickMethodHeader::FromEntryPoint(boot_jni_stub)->GetCodeSize(); in TEST_F() 288 OatQuickMethodHeader::FromEntryPoint(cmp_jni_stub)->GetCodeSize(); in TEST_F()
|
/art/test/566-polymorphic-inlining/ |
D | polymorphic_inline.cc | 35 OatQuickMethodHeader* header = nullptr; in do_checks() 41 OatQuickMethodHeader::FromEntryPoint(pc)->GetOptimizedCodeInfoPtr())) { in do_checks() 42 header = OatQuickMethodHeader::FromEntryPoint(pc); in do_checks()
|
/art/runtime/jit/ |
D | jit_code_cache.cc | 127 DCHECK(entrypoint == OatQuickMethodHeader::FromCodePointer(GetCode())->GetEntryPoint()); in UpdateEntryPoints() 350 OatQuickMethodHeader* method_header = OatQuickMethodHeader::FromCodePointer(code_ptr); in GetSavedEntryPointOfPreCompiledMethod() 368 return reinterpret_cast<uintptr_t>(code) - RoundUp(sizeof(OatQuickMethodHeader), alignment); in FromCodeToAllocation() 373 return reinterpret_cast<const void*>(alloc + RoundUp(sizeof(OatQuickMethodHeader), alignment)); in FromAllocationToCode() 404 OatQuickMethodHeader* method_header = OatQuickMethodHeader::FromCodePointer(code_ptr); in GetRootTable() 474 if (OatQuickMethodHeader::FromCodePointer(code_ptr)->IsOptimized()) { in FreeCodeAndData() 482 const std::unordered_set<OatQuickMethodHeader*>& method_headers) { in FreeAllMethodHeaders() 495 for (const OatQuickMethodHeader* method_header : method_headers) { in FreeAllMethodHeaders() 536 std::unordered_set<OatQuickMethodHeader*> method_headers; in RemoveMethodsIn() 545 method_headers.insert(OatQuickMethodHeader::FromCodePointer(it->second.GetCode())); in RemoveMethodsIn() [all …]
|
D | jit_code_cache.h | 48 class OatQuickMethodHeader; variable 297 OatQuickMethodHeader* LookupMethodHeader(uintptr_t pc, ArtMethod* method) 301 EXPORT OatQuickMethodHeader* LookupOsrMethodHeader(ArtMethod* method) 348 void InvalidateCompiledCodeFor(ArtMethod* method, const OatQuickMethodHeader* code) 453 void FreeAllMethodHeaders(const std::unordered_set<OatQuickMethodHeader*>& method_headers)
|
D | jit_memory_region.cc | 363 size_t header_size = OatQuickMethodHeader::InstructionAlignedSize(); in CommitCode() 381 OatQuickMethodHeader* method_header = in CommitCode() 382 OatQuickMethodHeader::FromCodePointer(w_memory + header_size); in CommitCode() 383 new (method_header) OatQuickMethodHeader((stack_map != nullptr) ? result - stack_map : 0u); in CommitCode()
|
/art/runtime/ |
D | cha_test.cc | 32 #define METHOD_HEADER1 (reinterpret_cast<OatQuickMethodHeader*>(128u)) 33 #define METHOD_HEADER2 (reinterpret_cast<OatQuickMethodHeader*>(136u)) 34 #define METHOD_HEADER3 (reinterpret_cast<OatQuickMethodHeader*>(144u)) 62 std::unordered_set<OatQuickMethodHeader*> headers; in TEST_F()
|
D | cha.h | 89 using MethodAndMethodHeaderPair = std::pair<ArtMethod*, OatQuickMethodHeader*>; 98 OatQuickMethodHeader* dependent_header) REQUIRES(Locks::cha_lock_); 111 const std::unordered_set<OatQuickMethodHeader*>& method_headers)
|
D | quick_exception_handler.h | 38 class OatQuickMethodHeader; variable 95 void SetHandlerMethodHeader(const OatQuickMethodHeader* handler_method_header) { in SetHandlerMethodHeader() 159 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() 229 const std::unordered_set<OatQuickMethodHeader*>& method_headers_; 236 explicit CHACheckpoint(const std::unordered_set<OatQuickMethodHeader*>& method_headers) in CHACheckpoint() 259 const std::unordered_set<OatQuickMethodHeader*>& method_headers_; 623 std::unordered_set<OatQuickMethodHeader*> dependent_method_headers; in InvalidateSingleImplementationMethods() 631 std::vector<std::pair<ArtMethod*, OatQuickMethodHeader*>> headers; in InvalidateSingleImplementationMethods() 657 OatQuickMethodHeader* method_header = dependent.second; in InvalidateSingleImplementationMethods()
|
D | art_method.cc | 585 const OatQuickMethodHeader* ArtMethod::GetOatQuickMethodHeader(uintptr_t pc) { in GetOatQuickMethodHeader() 612 !OatQuickMethodHeader::IsStub( in GetOatQuickMethodHeader() 614 OatQuickMethodHeader* method_header = in GetOatQuickMethodHeader() 615 OatQuickMethodHeader::FromEntryPoint(existing_entry_point); in GetOatQuickMethodHeader() 622 if (OatQuickMethodHeader::IsNterpPc(pc)) { in GetOatQuickMethodHeader() 623 return OatQuickMethodHeader::NterpMethodHeader; in GetOatQuickMethodHeader() 630 OatQuickMethodHeader* method_header = code_cache->LookupMethodHeader(pc, this); in GetOatQuickMethodHeader() 671 << " size: " << OatQuickMethodHeader::FromEntryPoint(existing_entry_point)->GetCodeSize() in GetOatQuickMethodHeader() 687 << reinterpret_cast<uintptr_t>(OatQuickMethodHeader::NterpImpl.data()) in GetOatQuickMethodHeader() 690 OatQuickMethodHeader::NterpImpl.data() + OatQuickMethodHeader::NterpImpl.size()); in GetOatQuickMethodHeader() [all …]
|
D | stack.h | 41 class OatQuickMethodHeader; variable 303 const OatQuickMethodHeader* GetCurrentOatQuickMethodHeader() const { in GetCurrentOatQuickMethodHeader() 392 const OatQuickMethodHeader* cur_oat_quick_method_header_; 404 mutable std::pair<const OatQuickMethodHeader*, CodeInfo> cur_inline_info_;
|
D | stack.cc | 87 const OatQuickMethodHeader* header = GetCurrentOatQuickMethodHeader(); in GetCurrentInlineInfo() 96 const OatQuickMethodHeader* header = GetCurrentOatQuickMethodHeader(); in GetCurrentStackMap() 303 const OatQuickMethodHeader* method_header = GetCurrentOatQuickMethodHeader(); in GetVRegFromOptimizedCode() 841 cur_oat_quick_method_header_ = OatQuickMethodHeader::FromCodePointer(code); in WalkStack() 854 OatQuickMethodHeader::FromEntryPoint(existing_entry_point); in WalkStack() 858 cur_oat_quick_method_header_ = OatQuickMethodHeader::FromEntryPoint(code); in WalkStack() 879 cur_oat_quick_method_header_ = OatQuickMethodHeader::FromCodePointer(code); in WalkStack()
|
D | instrumentation.cc | 238 OatQuickMethodHeader* header = OatQuickMethodHeader::FromEntryPoint(entry_point); in CodeSupportsEntryExitHooks() 461 const OatQuickMethodHeader* header) { in MethodSupportsExitEvents() 529 const OatQuickMethodHeader* method_header = GetCurrentOatQuickMethodHeader(); in InstrumentationInstallStack() 609 const OatQuickMethodHeader* method_header = GetCurrentOatQuickMethodHeader(); in ReportMethodEntryForOnStackMethods() 666 const OatQuickMethodHeader* method_header = GetCurrentOatQuickMethodHeader(); in InstrumentationRestoreStack() 701 const OatQuickMethodHeader* method_header = GetCurrentOatQuickMethodHeader(); in HasFramesNeedingForceDeopt() 1174 } else if (OatQuickMethodHeader::IsStub(reinterpret_cast<const uint8_t*>(code)).value_or(false)) { in EntryPointString() 1766 const OatQuickMethodHeader* header = caller->GetOatQuickMethodHeader(caller_pc); in ShouldDeoptimizeCaller()
|
/art/compiler/ |
D | exception_test.cc | 97 const size_t header_size = sizeof(OatQuickMethodHeader); in SetUp() 113 OatQuickMethodHeader method_header(code_ptr - fake_header_code_and_maps_); in SetUp() 114 static_assert(std::is_trivially_copyable<OatQuickMethodHeader>::value, "Cannot use memcpy"); in SetUp() 208 OatQuickMethodHeader* header = OatQuickMethodHeader::FromEntryPoint( in TEST_F()
|
D | common_compiler_test.cc | 58 : sizeof(OatQuickMethodHeader) + vmap_table.size(); in CodeAndMetadata() 59 OatQuickMethodHeader method_header(vmap_table_offset); in CodeAndMetadata() 88 static_assert(std::is_trivially_copyable<OatQuickMethodHeader>::value, "Cannot use memcpy"); in CodeAndMetadata()
|
/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() 437 kTrampolineSize + CodeAlignmentSize(kTrampolineSize) + sizeof(OatQuickMethodHeader); in TestAdrpInsn2Ldr() 487 kTrampolineSize + CodeAlignmentSize(kTrampolineSize) + sizeof(OatQuickMethodHeader); in TestAdrpInsn2Add() 750 if (sizeof(OatQuickMethodHeader) < kArm64CodeAlignment) { in TEST_F() 763 method_after_thunk_offset - sizeof(OatQuickMethodHeader); in TEST_F() 1180 1 * MB - RoundUp(raw_code1.size() + sizeof(OatQuickMethodHeader), kArm64CodeAlignment); in TEST_F() 1195 1 * MB - RoundUp(thunk_size + sizeof(OatQuickMethodHeader), kArm64CodeAlignment) 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() 586 if (sizeof(OatQuickMethodHeader) < kArmCodeAlignment) { in TEST_F() 598 method_after_thunk_offset - sizeof(OatQuickMethodHeader); in TEST_F() 983 RoundUp(raw_code1.size() + sizeof(OatQuickMethodHeader), kArmCodeAlignment); in TEST_F() 1004 - RoundUp(thunk_size + sizeof(OatQuickMethodHeader), kArmCodeAlignment) in TEST_F() 1005 - RoundUp(kNopCode.size() + sizeof(OatQuickMethodHeader), kArmCodeAlignment) in TEST_F() 1006 - sizeof(OatQuickMethodHeader); in TEST_F() [all …]
|
/art/dex2oat/linker/ |
D | relative_patcher_test.h | 119 uint32_t unaligned_code_offset = header_offset_to_align + sizeof(OatQuickMethodHeader); in CodeAlignmentSize() 136 offset += sizeof(OatQuickMethodHeader); in Link() 157 uint8_t fake_header[sizeof(OatQuickMethodHeader)]; in Link() 167 out_->WriteFully(fake_header, sizeof(OatQuickMethodHeader)); in Link() 168 offset += sizeof(OatQuickMethodHeader); in Link()
|
/art/test/004-ReferenceMap/ |
D | stack_walk_refmap_jni.cc | 26 const OatQuickMethodHeader* method_header = GetCurrentOatQuickMethodHeader(); \
|