Revert^2 "Inline across dex files for bootclaspath's methods"
This reverts commit 8cb989f1019c4fa30845bf2deb5bc996ed4e8966, so we
are re-enabling commit d690f8ae8f8e2675bc52089a83ac18c749f8e6d2.
Reason for revert: Failing test was fixed here
https://android-review.googlesource.com/c/platform/art/+/1873567
Bug: 154012332
Test: ART tests
Change-Id: If159b29583e35abcfe753f30483f83990208b1b9
diff --git a/runtime/stack_map.h b/runtime/stack_map.h
index 103402b..7148957 100644
--- a/runtime/stack_map.h
+++ b/runtime/stack_map.h
@@ -262,10 +262,13 @@
// Method indices are not very dedup friendly.
// Separating them greatly improves dedup efficiency of the other tables.
-class MethodInfo : public BitTableAccessor<1> {
+class MethodInfo : public BitTableAccessor<2> {
public:
BIT_TABLE_HEADER(MethodInfo)
BIT_TABLE_COLUMN(0, MethodIndex)
+ BIT_TABLE_COLUMN(1, DexFileIndex)
+
+ static constexpr uint32_t kSameDexFile = -1;
};
/**
@@ -360,8 +363,12 @@
return stack_maps_.NumRows();
}
+ MethodInfo GetMethodInfoOf(InlineInfo inline_info) const {
+ return method_infos_.GetRow(inline_info.GetMethodInfoIndex());
+ }
+
uint32_t GetMethodIndexOf(InlineInfo inline_info) const {
- return method_infos_.GetRow(inline_info.GetMethodInfoIndex()).GetMethodIndex();
+ return GetMethodInfoOf(inline_info).GetMethodIndex();
}
ALWAYS_INLINE DexRegisterMap GetDexRegisterMapOf(StackMap stack_map) const {