diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2015-03-18 11:00:52 +0000 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2015-03-23 17:42:01 +0000 |
commit | 7e4c3508e4f5512650b63c41f7872a749e99aee9 (patch) | |
tree | b6f9f89eb384a386ee756e6dd98d9f979feef2ce /compiler/optimizing/nodes.h | |
parent | 0b1692cd451053198362993d1f6939fde90c2f50 (diff) | |
download | android_art-7e4c3508e4f5512650b63c41f7872a749e99aee9.tar.gz android_art-7e4c3508e4f5512650b63c41f7872a749e99aee9.tar.bz2 android_art-7e4c3508e4f5512650b63c41f7872a749e99aee9.zip |
Inline across dex files.
Change-Id: I5c2c44f5130b50f0bad21a6877a3935dc60b4a85
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); |