Inline some type checks of instanceof and checkcast in nterp.
Spotted in an app-startup profile that the type checks are hot.
Implement for arm/arm64/x64, and a reduced version on x86 due to lack of
available registers.
Test: test.py
Bug: 112676029
Change-Id: If2c2517b4012e5fc5d12b240ad3b8c28de261cec
diff --git a/tools/cpp-define-generator/mirror_class.def b/tools/cpp-define-generator/mirror_class.def
index 6df6c41..8cfd54e 100644
--- a/tools/cpp-define-generator/mirror_class.def
+++ b/tools/cpp-define-generator/mirror_class.def
@@ -44,3 +44,8 @@
art::mirror::Class::ImtPtrOffset(art::PointerSize::k32).Int32Value())
ASM_DEFINE(MIRROR_CLASS_IMT_PTR_OFFSET_64,
art::mirror::Class::ImtPtrOffset(art::PointerSize::k64).Int32Value())
+ASM_DEFINE(MIRROR_CLASS_SUPER_CLASS_OFFSET,
+ art::mirror::Class::SuperClassOffset().Int32Value())
+ASM_DEFINE(MIRROR_CLASS_IS_INTERFACE_FLAG, art::kAccInterface)
+ASM_DEFINE(MIRROR_CLASS_IS_INTERFACE_FLAG_BIT,
+ art::WhichPowerOf2(art::kAccInterface))