summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/code_generator.h
diff options
context:
space:
mode:
authorRoland Levillain <rpl@google.com>2015-04-29 13:37:57 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-04-29 13:37:58 +0000
commitb6829c2ee05124d64a19c7a52ada4a23f624fb91 (patch)
treea52e27bb653fd2351045724c9ab669cbe07a9298 /compiler/optimizing/code_generator.h
parentf073a36d1ed866e786f7d7784c709c86b00bc58e (diff)
parent2d27c8e338af7262dbd4aaa66127bb8fa1758b86 (diff)
downloadart-b6829c2ee05124d64a19c7a52ada4a23f624fb91.tar.gz
art-b6829c2ee05124d64a19c7a52ada4a23f624fb91.tar.bz2
art-b6829c2ee05124d64a19c7a52ada4a23f624fb91.zip
Merge "Refactor InvokeDexCallingConventionVisitor in Optimizing."
Diffstat (limited to 'compiler/optimizing/code_generator.h')
-rw-r--r--compiler/optimizing/code_generator.h19
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