diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2015-03-23 17:52:58 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-03-23 17:52:59 +0000 |
commit | d24ba2c44c76a2b2dd13aafe8f7981c15be31a98 (patch) | |
tree | 0e1d0813c1d8d1c7239a900c1653296975713df0 /compiler/optimizing/nodes.h | |
parent | 90d480c26f7524f35323a11d6ba2880ff3db789a (diff) | |
parent | 7e4c3508e4f5512650b63c41f7872a749e99aee9 (diff) | |
download | android_art-d24ba2c44c76a2b2dd13aafe8f7981c15be31a98.tar.gz android_art-d24ba2c44c76a2b2dd13aafe8f7981c15be31a98.tar.bz2 android_art-d24ba2c44c76a2b2dd13aafe8f7981c15be31a98.zip |
Merge "Inline across dex files."
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r-- | compiler/optimizing/nodes.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index a35fa1d8c3..07ff8ba010 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -1200,6 +1200,8 @@ class HInstruction : public ArenaObject<kArenaAllocMisc> { return NeedsEnvironment() || IsLoadClass() || IsLoadString(); } + virtual bool NeedsDexCache() const { return false; } + protected: virtual const HUserRecord<HInstruction*> InputRecordAt(size_t i) const = 0; virtual void SetRawInputRecordAt(size_t index, const HUserRecord<HInstruction*>& input) = 0; @@ -2090,6 +2092,7 @@ class HInvokeStaticOrDirect : public HInvoke { InvokeType GetInvokeType() const { return invoke_type_; } bool IsRecursive() const { return is_recursive_; } + bool NeedsDexCache() const OVERRIDE { return !IsRecursive(); } DECLARE_INSTRUCTION(InvokeStaticOrDirect); @@ -2972,6 +2975,8 @@ class HLoadClass : public HExpression<0> { return loaded_class_rti_.IsExact(); } + bool NeedsDexCache() const OVERRIDE { return !is_referrers_class_; } + DECLARE_INSTRUCTION(LoadClass); private: @@ -3007,6 +3012,7 @@ class HLoadString : public HExpression<0> { // TODO: Can we deopt or debug when we resolve a string? bool NeedsEnvironment() const OVERRIDE { return false; } + bool NeedsDexCache() const OVERRIDE { return true; } DECLARE_INSTRUCTION(LoadString); |