Helpers and refactorings to prepare for interpreter optimizations (x64)
- Add data structure offsets that will be used in assembly code.
- Be explicit about a stack overflow in a fault handler.
- Move assembly helper code in asm_support so interpreter can use it.
- Support putting literals in InterpreterCache.
- Fix artHandleFillArrayDataFromCode for x64.
Bug: 119800099
Test: test.py
Change-Id: I2729f87fe5d09c04ae2e7081636f0cd89ac14c21
diff --git a/runtime/oat_quick_method_header.h b/runtime/oat_quick_method_header.h
index 9d0883b..0d08149 100644
--- a/runtime/oat_quick_method_header.h
+++ b/runtime/oat_quick_method_header.h
@@ -83,7 +83,7 @@
// ART compiled method are prefixed with header, but we can also easily
// accidentally use a function pointer to one of the stubs/trampolines.
// We prefix those with 0xFF in the aseembly so that we can do DCHECKs.
- CHECK_NE(code_size_, 0xFFFFFFFF) << code_;
+ CHECK_NE(code_size_, 0xFFFFFFFF) << code_size_;
return code_size_ & kCodeSizeMask;
}
@@ -148,7 +148,9 @@
bool is_for_catch_handler,
bool abort_on_failure = true) const;
- uint32_t ToDexPc(ArtMethod* method, const uintptr_t pc, bool abort_on_failure = true) const;
+ uint32_t ToDexPc(ArtMethod** frame,
+ const uintptr_t pc,
+ bool abort_on_failure = true) const;
void SetHasShouldDeoptimizeFlag() {
DCHECK_EQ(code_size_ & kShouldDeoptimizeMask, 0u);