summaryrefslogtreecommitdiff
path: root/compiler/exception_test.cc
diff options
context:
space:
mode:
author Santiago Aboy Solanes <solanes@google.com> 2022-06-24 11:16:35 +0100
committer Santiago Aboy Solanes <solanes@google.com> 2022-10-07 14:48:14 +0000
commitab1d559aee05873f70494514922ad4b767c6a709 (patch)
tree0a0831e8b9fe543b050a56fc03b2e395721cca46 /compiler/exception_test.cc
parent8c5e881904c30de5dbc03536ea67bbe2d48088fd (diff)
Runtime implementation of try catch inlining
The main differences in the runtime are: 1) We now use a list of dex_pcs to find the correct catch handler instead of a single dex pc 2) We now need to restore vregs of the whole frame, which may be an inline frame. Bug: 227283224 Test: art/test/testrunner/testrunner.py --host --64 --optimizing -b Change-Id: I95d2f32088e1d420c83962a1693be18f3b63f8b4
Diffstat (limited to 'compiler/exception_test.cc')
-rw-r--r--compiler/exception_test.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/compiler/exception_test.cc b/compiler/exception_test.cc
index f86e0b9b01..f55ba8e0e5 100644
--- a/compiler/exception_test.cc
+++ b/compiler/exception_test.cc
@@ -194,15 +194,13 @@ TEST_F(ExceptionTest, StackTraceElement) {
OatQuickMethodHeader* header = OatQuickMethodHeader::FromEntryPoint(
method_g_->GetEntryPointFromQuickCompiledCode());
- fake_stack.push_back(header->ToNativeQuickPc(
- method_g_, kDexPc, /* is_for_catch_handler= */ false)); // return pc
+ fake_stack.push_back(header->ToNativeQuickPc(method_g_, kDexPc)); // return pc
// Create/push fake 16byte stack frame for method g
fake_stack.push_back(reinterpret_cast<uintptr_t>(method_g_));
fake_stack.push_back(0);
fake_stack.push_back(0);
- fake_stack.push_back(header->ToNativeQuickPc(
- method_g_, kDexPc, /* is_for_catch_handler= */ false)); // return pc
+ fake_stack.push_back(header->ToNativeQuickPc(method_g_, kDexPc)); // return pc
// Create/push fake 16byte stack frame for method f
fake_stack.push_back(reinterpret_cast<uintptr_t>(method_f_));