Home
last modified time | relevance | path

Searched refs:OatQuickMethodHeader (Results 1 – 25 of 47) sorted by relevance

12

/art/runtime/oat/
Doat_quick_method_header.h39 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 …]
Doat_quick_method_header.cc36 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()
Doat_file-inl.h28 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()
Dstack_map.cc61 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()
Dstack_map.h41 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);
Djni_stub_hash_map_test.cc286 OatQuickMethodHeader::FromEntryPoint(boot_jni_stub)->GetCodeSize(); in TEST_F()
288 OatQuickMethodHeader::FromEntryPoint(cmp_jni_stub)->GetCodeSize(); in TEST_F()
/art/test/566-polymorphic-inlining/
Dpolymorphic_inline.cc35 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/
Djit_code_cache.cc127 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 …]
Djit_code_cache.h48 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)
Djit_memory_region.cc363 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/
Dcha_test.cc32 #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()
Dcha.h89 using MethodAndMethodHeaderPair = std::pair<ArtMethod*, OatQuickMethodHeader*>;
98 OatQuickMethodHeader* dependent_header) REQUIRES(Locks::cha_lock_);
111 const std::unordered_set<OatQuickMethodHeader*>& method_headers)
Dquick_exception_handler.h38 class OatQuickMethodHeader; variable
95 void SetHandlerMethodHeader(const OatQuickMethodHeader* handler_method_header) { in SetHandlerMethodHeader()
159 const OatQuickMethodHeader* handler_method_header_;
Dcha.cc37 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()
Dart_method.cc585 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 …]
Dstack.h41 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_;
Dstack.cc87 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()
Dinstrumentation.cc238 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/
Dexception_test.cc97 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()
Dcommon_compiler_test.cc58 : 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/
Dosr.cc68 const OatQuickMethodHeader* header = in Java_Main_isInOsrCode()
90 const OatQuickMethodHeader* header = in Java_Main_isInInterpreter()
/art/dex2oat/linker/arm64/
Drelative_patcher_arm64_test.cc117 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/
Drelative_patcher_thumb2_test.cc150 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/
Drelative_patcher_test.h119 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/
Dstack_walk_refmap_jni.cc26 const OatQuickMethodHeader* method_header = GetCurrentOatQuickMethodHeader(); \

12