From cffa254b3b7c307b557ba2250fc822db352d3293 Mon Sep 17 00:00:00 2001 From: David Srbecky Date: Mon, 1 Jul 2019 15:31:41 +0100 Subject: Add fast path for exception vreg copying. It is not necessary to decode CodeInfo in GetVReg since the caller already did it. Test: ./art/test.py -b --host --64 --interpreter Change-Id: I0f8941f43acdc0f2c43b78ef87d3e796e320c959 --- runtime/quick_exception_handler.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'runtime/quick_exception_handler.cc') diff --git a/runtime/quick_exception_handler.cc b/runtime/quick_exception_handler.cc index 1777b3d0ff..727bdf02e1 100644 --- a/runtime/quick_exception_handler.cc +++ b/runtime/quick_exception_handler.cc @@ -325,10 +325,12 @@ void QuickExceptionHandler::SetCatchEnvironmentForOptimizedHandler(StackVisitor* // Get vreg value from its current location. uint32_t vreg_value; VRegKind vreg_kind = ToVRegKind(throw_vreg_map[vreg].GetKind()); - bool get_vreg_success = stack_visitor->GetVReg(stack_visitor->GetMethod(), - vreg, - vreg_kind, - &vreg_value); + bool get_vreg_success = + stack_visitor->GetVReg(stack_visitor->GetMethod(), + vreg, + vreg_kind, + &vreg_value, + throw_vreg_map[vreg]); CHECK(get_vreg_success) << "VReg " << vreg << " was optimized out (" << "method=" << ArtMethod::PrettyMethod(stack_visitor->GetMethod()) << ", dex_pc=" << stack_visitor->GetDexPc() << ", " -- cgit v1.2.3-59-g8ed1b