diff options
author | Mathieu Chartier <mathieuc@google.com> | 2015-04-22 13:56:20 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2015-05-29 18:45:49 -0700 |
commit | e401d146407d61eeb99f8d6176b2ac13c4df1e33 (patch) | |
tree | 17927f9bfe7d2041b5942c89832d55f9dedb24c5 /runtime/quick_exception_handler.h | |
parent | 2006b7b9b8e32722bd0d640c62549d8a0ac624b6 (diff) |
Move mirror::ArtMethod to native
Optimizing + quick tests are passing, devices boot.
TODO: Test and fix bugs in mips64.
Saves 16 bytes per most ArtMethod, 7.5MB reduction in system PSS.
Some of the savings are from removal of virtual methods and direct
methods object arrays.
Bug: 19264997
Change-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d
Diffstat (limited to 'runtime/quick_exception_handler.h')
-rw-r--r-- | runtime/quick_exception_handler.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/runtime/quick_exception_handler.h b/runtime/quick_exception_handler.h index 7ee4118a8b..8d7cd12216 100644 --- a/runtime/quick_exception_handler.h +++ b/runtime/quick_exception_handler.h @@ -25,9 +25,9 @@ namespace art { namespace mirror { -class ArtMethod; class Throwable; } // namespace mirror +class ArtMethod; class Context; class Thread; class ShadowFrame; @@ -48,7 +48,7 @@ class QuickExceptionHandler { void UpdateInstrumentationStack() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); NO_RETURN void DoLongJump() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); - void SetHandlerQuickFrame(StackReference<mirror::ArtMethod>* handler_quick_frame) { + void SetHandlerQuickFrame(ArtMethod** handler_quick_frame) { handler_quick_frame_ = handler_quick_frame; } @@ -56,11 +56,11 @@ class QuickExceptionHandler { handler_quick_frame_pc_ = handler_quick_frame_pc; } - mirror::ArtMethod* GetHandlerMethod() const { + ArtMethod* GetHandlerMethod() const { return handler_method_; } - void SetHandlerMethod(mirror::ArtMethod* handler_quick_method) { + void SetHandlerMethod(ArtMethod* handler_quick_method) { handler_method_ = handler_quick_method; } @@ -87,11 +87,11 @@ class QuickExceptionHandler { // Is method tracing active? const bool method_tracing_active_; // Quick frame with found handler or last frame if no handler found. - StackReference<mirror::ArtMethod>* handler_quick_frame_; + ArtMethod** handler_quick_frame_; // PC to branch to for the handler. uintptr_t handler_quick_frame_pc_; // The handler method to report to the debugger. - mirror::ArtMethod* handler_method_; + ArtMethod* handler_method_; // The handler's dex PC, zero implies an uncaught exception. uint32_t handler_dex_pc_; // Should the exception be cleared as the catch block has no move-exception? |