summaryrefslogtreecommitdiff
path: root/runtime/stack_map.h
diff options
context:
space:
mode:
author Santiago Aboy Solanes <solanes@google.com> 2021-11-01 09:02:09 +0000
committer Treehugger Robot <treehugger-gerrit@google.com> 2021-11-01 10:45:06 +0000
commite43aa3f55fd01ce0887059b309a41b6441521e7c (patch)
tree7ba4ef9adfbb77e6baa1891c3fabd783fb03d580 /runtime/stack_map.h
parent808d8cc8114e0c5ee3116639fe9d31be5a70403a (diff)
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
Diffstat (limited to 'runtime/stack_map.h')
-rw-r--r--runtime/stack_map.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/runtime/stack_map.h b/runtime/stack_map.h
index 103402baa6..714895744b 100644
--- a/runtime/stack_map.h
+++ b/runtime/stack_map.h
@@ -262,10 +262,13 @@ class RegisterMask : public BitTableAccessor<2> {
// 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 @@ class CodeInfo {
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 {