diff options
author | Roland Levillain <rpl@google.com> | 2015-04-28 15:48:45 +0100 |
---|---|---|
committer | Roland Levillain <rpl@google.com> | 2015-04-29 14:09:17 +0100 |
commit | 2d27c8e338af7262dbd4aaa66127bb8fa1758b86 (patch) | |
tree | e01e0bc57359df0bdf00c3da694c5403fb7fc9e6 /compiler/optimizing/code_generator.h | |
parent | 3adfc4bbe6c42d574bd2069d8e38a13d5ad98ccf (diff) | |
download | art-2d27c8e338af7262dbd4aaa66127bb8fa1758b86.tar.gz art-2d27c8e338af7262dbd4aaa66127bb8fa1758b86.tar.bz2 art-2d27c8e338af7262dbd4aaa66127bb8fa1758b86.zip |
Refactor InvokeDexCallingConventionVisitor in Optimizing.
Change-Id: I7ede0f59d5109644887bf5d39201d4e1bf043f34
Diffstat (limited to 'compiler/optimizing/code_generator.h')
-rw-r--r-- | compiler/optimizing/code_generator.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator.h b/compiler/optimizing/code_generator.h index 6342f91684..beaff5cc4c 100644 --- a/compiler/optimizing/code_generator.h +++ b/compiler/optimizing/code_generator.h @@ -105,6 +105,25 @@ class SlowPathCode : public ArenaObject<kArenaAllocSlowPaths> { DISALLOW_COPY_AND_ASSIGN(SlowPathCode); }; +class InvokeDexCallingConventionVisitor { + public: + virtual Location GetNextLocation(Primitive::Type type) = 0; + + protected: + InvokeDexCallingConventionVisitor() {} + virtual ~InvokeDexCallingConventionVisitor() {} + + // The current index for core registers. + uint32_t gp_index_ = 0u; + // The current index for floating-point registers. + uint32_t float_index_ = 0u; + // The current stack index. + uint32_t stack_index_ = 0u; + + private: + DISALLOW_COPY_AND_ASSIGN(InvokeDexCallingConventionVisitor); +}; + class CodeGenerator { public: // Compiles the graph to executable instructions. Returns whether the compilation |