diff options
Diffstat (limited to 'runtime/runtime.h')
-rw-r--r-- | runtime/runtime.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/runtime/runtime.h b/runtime/runtime.h index 1ee0b1add3..07b47c3619 100644 --- a/runtime/runtime.h +++ b/runtime/runtime.h @@ -34,6 +34,7 @@ #include "instrumentation.h" #include "jobject_comparator.h" #include "object_callbacks.h" +#include "quick/quick_method_frame_info.h" #include "runtime_stats.h" #include "safe_map.h" #include "fault_handler.h" @@ -325,20 +326,25 @@ class Runtime { return callee_save_methods_[type]; } + QuickMethodFrameInfo GetCalleeSaveMethodFrameInfo(CalleeSaveType type) const { + return callee_save_method_frame_infos_[type]; + } + + QuickMethodFrameInfo GetRuntimeMethodFrameInfo(mirror::ArtMethod* method) const; + static size_t GetCalleeSaveMethodOffset(CalleeSaveType type) { return OFFSETOF_MEMBER(Runtime, callee_save_methods_[type]); } - void SetCalleeSaveMethod(mirror::ArtMethod* method, CalleeSaveType type); + InstructionSet GetInstructionSet() const { + return instruction_set_; + } - mirror::ArtMethod* CreateCalleeSaveMethod(InstructionSet instruction_set, - CalleeSaveType type) - SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + void SetInstructionSet(InstructionSet instruction_set); - mirror::ArtMethod* CreateRefOnlyCalleeSaveMethod(InstructionSet instruction_set) - SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + void SetCalleeSaveMethod(mirror::ArtMethod* method, CalleeSaveType type); - mirror::ArtMethod* CreateRefAndArgsCalleeSaveMethod(InstructionSet instruction_set) + mirror::ArtMethod* CreateCalleeSaveMethod(CalleeSaveType type) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); int32_t GetStat(int kind); @@ -468,6 +474,9 @@ class Runtime { mirror::ArtMethod* imt_conflict_method_; mirror::ObjectArray<mirror::ArtMethod>* default_imt_; + InstructionSet instruction_set_; + QuickMethodFrameInfo callee_save_method_frame_infos_[kLastCalleeSaveType]; + CompilerCallbacks* compiler_callbacks_; bool is_zygote_; bool is_concurrent_gc_enabled_; |