diff options
author | Sebastien Hertz <shertz@google.com> | 2015-06-09 14:09:14 +0200 |
---|---|---|
committer | Mingyao Yang <mingyao@google.com> | 2015-06-18 14:14:29 -0700 |
commit | bf1fa2ccb5e7409910b99dc46b616e44c66ade68 (patch) | |
tree | 652b3ae6787c63955b745693da6919407cf5ebf5 /runtime/quick_exception_handler.cc | |
parent | ef484d442a3dcae2cd1842c5be0623f5cf71e4ab (diff) | |
download | android_art-bf1fa2ccb5e7409910b99dc46b616e44c66ade68.tar.gz android_art-bf1fa2ccb5e7409910b99dc46b616e44c66ade68.tar.bz2 android_art-bf1fa2ccb5e7409910b99dc46b616e44c66ade68.zip |
Follow up on CL 151605
- Fixes return type of StackedShadowFrameRecord::GetType
- Makes StackedShadowFrameType an enum class (scoped enum)
- Moves DeoptimizationReturnValueRecord and StackedShadowFrameRecord
to thread.cc file and use forward declaration in thread.h header
- Fixes tools/generate-operator-out.py for scoped enum classes.
Bug: 20845490
(cherry picked from commit f795869da0a1fa006fdcdacd8afb6149a63fc1a7)
Change-Id: I6b67e288b1db563699161e58ec2e2330d42dd8f5
Diffstat (limited to 'runtime/quick_exception_handler.cc')
-rw-r--r-- | runtime/quick_exception_handler.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/runtime/quick_exception_handler.cc b/runtime/quick_exception_handler.cc index a10c5c8200..02baad758f 100644 --- a/runtime/quick_exception_handler.cc +++ b/runtime/quick_exception_handler.cc @@ -178,7 +178,7 @@ class DeoptimizeStackVisitor FINAL : public StackVisitor { // In case there is no deoptimized shadow frame for this upcall, we still // need to push a nullptr to the stack since there is always a matching pop after // the long jump. - self_->PushStackedShadowFrame(nullptr, kDeoptimizationShadowFrame); + self_->PushStackedShadowFrame(nullptr, StackedShadowFrameType::kDeoptimizationShadowFrame); stacked_shadow_frame_pushed_ = true; } return false; // End stack walk. @@ -212,7 +212,8 @@ class DeoptimizeStackVisitor FINAL : public StackVisitor { CHECK(verifier_success) << PrettyMethod(m); ShadowFrame* new_frame = ShadowFrame::CreateDeoptimizedFrame(num_regs, nullptr, m, dex_pc); { - ScopedStackedShadowFramePusher pusher(self_, new_frame, kShadowFrameUnderConstruction); + ScopedStackedShadowFramePusher pusher(self_, new_frame, + StackedShadowFrameType::kShadowFrameUnderConstruction); const std::vector<int32_t> kinds(verifier.DescribeVRegs(dex_pc)); // Markers for dead values, used when the verifier knows a Dex register is undefined, @@ -318,7 +319,7 @@ class DeoptimizeStackVisitor FINAL : public StackVisitor { // Will be popped after the long jump after DeoptimizeStack(), // right before interpreter::EnterInterpreterFromDeoptimize(). stacked_shadow_frame_pushed_ = true; - self_->PushStackedShadowFrame(new_frame, kDeoptimizationShadowFrame); + self_->PushStackedShadowFrame(new_frame, StackedShadowFrameType::kDeoptimizationShadowFrame); } prev_shadow_frame_ = new_frame; return true; |