diff options
author | Razvan A Lupusoru <razvan.a.lupusoru@intel.com> | 2014-02-06 13:18:43 -0800 |
---|---|---|
committer | Razvan A Lupusoru <razvan.a.lupusoru@intel.com> | 2014-02-13 14:00:16 -0800 |
commit | 3bc01748ef1c3e43361bdf520947a9d656658bf8 (patch) | |
tree | 9ac4f9cfd8079f2e89c85986bb60205a6f3e7579 /runtime/stack.h | |
parent | 68bb649b128cd8760732524bd7ba58b49780d9d3 (diff) | |
download | art-3bc01748ef1c3e43361bdf520947a9d656658bf8.zip art-3bc01748ef1c3e43361bdf520947a9d656658bf8.tar.gz art-3bc01748ef1c3e43361bdf520947a9d656658bf8.tar.bz2 |
GenSpecialCase support for x86
Moved GenSpecialCase from being ARM specific to common code to allow
it to be used by x86 quick as well.
Change-Id: I728733e8f4c4da99af6091ef77e5c76ae0fee850
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Diffstat (limited to 'runtime/stack.h')
-rw-r--r-- | runtime/stack.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/runtime/stack.h b/runtime/stack.h index 8466069..2d56a74 100644 --- a/runtime/stack.h +++ b/runtime/stack.h @@ -654,10 +654,16 @@ class StackVisitor { } else if (reg < num_regs) { return locals_start + (reg * sizeof(uint32_t)); } else { - return frame_size + ((reg - num_regs) * sizeof(uint32_t)) + sizeof(uint32_t); // Dalvik in. + // Handle ins. + return frame_size + ((reg - num_regs) * sizeof(uint32_t)) + sizeof(StackReference<mirror::ArtMethod>); } } + static int GetOutVROffset(uint16_t out_num) { + // According to stack model, the first out is above the Method ptr. + return sizeof(StackReference<mirror::ArtMethod>) + (out_num * sizeof(uint32_t)); + } + uintptr_t GetCurrentQuickFramePc() const { return cur_quick_frame_pc_; } |