From 9437b78780f9e6ffa5797ebe82de8e8d7f3a5ed6 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Wed, 25 Mar 2015 10:08:51 +0000 Subject: Revert "Revert "Inline across dex files."" This reverts commit 6a816cf624ba56bf2872916d7b65b18fd9a411ef. Change-Id: I36cb524108786dd7996f2aea0443675be1f1b859 --- compiler/optimizing/nodes.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'compiler/optimizing/nodes.h') diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index db7873b14e..a38ee45eec 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -1220,6 +1220,8 @@ class HInstruction : public ArenaObject { return NeedsEnvironment() || IsLoadClass() || IsLoadString(); } + virtual bool NeedsDexCache() const { return false; } + protected: virtual const HUserRecord InputRecordAt(size_t i) const = 0; virtual void SetRawInputRecordAt(size_t index, const HUserRecord& input) = 0; @@ -2114,6 +2116,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); @@ -2996,6 +2999,8 @@ class HLoadClass : public HExpression<0> { return loaded_class_rti_.IsExact(); } + bool NeedsDexCache() const OVERRIDE { return !is_referrers_class_; } + DECLARE_INSTRUCTION(LoadClass); private: @@ -3031,6 +3036,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); -- cgit v1.2.3-59-g8ed1b