summaryrefslogtreecommitdiff
path: root/runtime/quick_exception_handler.cc
diff options
context:
space:
mode:
authorDavid Srbecky <dsrbecky@google.com>2019-07-01 15:31:41 +0100
committerDavid Srbecky <dsrbecky@google.com>2019-07-22 13:11:49 +0000
commitcffa254b3b7c307b557ba2250fc822db352d3293 (patch)
treeef49730b09bd0f4ebb26387311ed4501db3e29bf /runtime/quick_exception_handler.cc
parent9a8634a7bc4f69e6c89933f906ddd0a45dd05aa7 (diff)
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
Diffstat (limited to 'runtime/quick_exception_handler.cc')
-rw-r--r--runtime/quick_exception_handler.cc10
1 files changed, 6 insertions, 4 deletions
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() << ", "