summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator.h
diff options
context:
space:
mode:
author Roland Levillain <rpl@google.com> 2015-04-29 13:48:42 +0000
committer Android Git Automerger <android-git-automerger@android.com> 2015-04-29 13:48:42 +0000
commitabc574c14d86ab629d507da42155fa6ec125d7eb (patch)
treea52e27bb653fd2351045724c9ab669cbe07a9298 /compiler/optimizing/code_generator.h
parent588f1f3ca8026485cff4e9d5b37d6eca913bf8b7 (diff)
parentb6829c2ee05124d64a19c7a52ada4a23f624fb91 (diff)
am b6829c2e: Merge "Refactor InvokeDexCallingConventionVisitor in Optimizing."
* commit 'b6829c2ee05124d64a19c7a52ada4a23f624fb91': 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