summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator.h
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2015-06-03 11:23:52 +0100
committerNicolas Geoffray <ngeoffray@google.com>2015-06-03 11:23:52 +0100
commitfd88f16100cceafbfde1b4f095f17e89444d6fa8 (patch)
treefdb6d0520ca419acef9e953e74dcbd7d908bc4dd /compiler/optimizing/code_generator.h
parent1aebdae18678403bdac078cbbe1f7dd4243c44f3 (diff)
Factorize code for common LocationSummary of HInvoke.
This is one step forward, we could factorize more, but I wanted to get this out of the way first. Change-Id: I6ae411a737eebaecb64974f47af507ce0cfbae85
Diffstat (limited to 'compiler/optimizing/code_generator.h')
-rw-r--r--compiler/optimizing/code_generator.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator.h b/compiler/optimizing/code_generator.h
index 3012098e73..c6ebf6dbd8 100644
--- a/compiler/optimizing/code_generator.h
+++ b/compiler/optimizing/code_generator.h
@@ -115,6 +115,8 @@ class SlowPathCode : public ArenaObject<kArenaAllocSlowPaths> {
class InvokeDexCallingConventionVisitor {
public:
virtual Location GetNextLocation(Primitive::Type type) = 0;
+ virtual Location GetReturnLocation(Primitive::Type type) const = 0;
+ virtual Location GetMethodLocation() const = 0;
protected:
InvokeDexCallingConventionVisitor() {}
@@ -338,6 +340,9 @@ class CodeGenerator {
virtual ParallelMoveResolver* GetMoveResolver() = 0;
+ static void CreateCommonInvokeLocationSummary(
+ HInvoke* invoke, InvokeDexCallingConventionVisitor* visitor);
+
protected:
CodeGenerator(HGraph* graph,
size_t number_of_core_registers,