summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2015-01-29 10:55:11 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-01-29 10:55:12 +0000
commit0d5917fedc6f62715759c24f14810733c409ebff (patch)
tree70a8b60c768894d635cf63b0a480baa5073d2bed /compiler/optimizing/nodes.h
parent4a50662eeaa0b1a26be66e7584fb765151dabc59 (diff)
parent1cf95287364948689f6a1a320567acd7728e94a3 (diff)
Merge "Small optimization for recursive calls: avoid dex cache."
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r--compiler/optimizing/nodes.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h
index 2cc021cccf..1a0ebe562d 100644
--- a/compiler/optimizing/nodes.h
+++ b/compiler/optimizing/nodes.h
@@ -1711,9 +1711,11 @@ class HInvokeStaticOrDirect : public HInvoke {
Primitive::Type return_type,
uint32_t dex_pc,
uint32_t dex_method_index,
+ bool is_recursive,
InvokeType invoke_type)
: HInvoke(arena, number_of_arguments, return_type, dex_pc, dex_method_index),
- invoke_type_(invoke_type) {}
+ invoke_type_(invoke_type),
+ is_recursive_(is_recursive) {}
bool CanDoImplicitNullCheck() const OVERRIDE {
// We access the method via the dex cache so we can't do an implicit null check.
@@ -1722,11 +1724,13 @@ class HInvokeStaticOrDirect : public HInvoke {
}
InvokeType GetInvokeType() const { return invoke_type_; }
+ bool IsRecursive() const { return is_recursive_; }
DECLARE_INSTRUCTION(InvokeStaticOrDirect);
private:
const InvokeType invoke_type_;
+ const bool is_recursive_;
DISALLOW_COPY_AND_ASSIGN(HInvokeStaticOrDirect);
};