diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2017-01-23 09:03:12 +0000 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2017-01-23 09:06:48 +0000 |
commit | e807ff725159dabab3a3028bbb76f83ebcfa40de (patch) | |
tree | edf6929cca3b17e97621505aae9051e982274446 /compiler/optimizing/code_generator_arm.cc | |
parent | a90b3dd3f22ce0674970365a5903571276a8fc01 (diff) |
Allow multiple HArmDexCacheArrayBase.
So that even graphs with irreducible loops can use it
and avoid loading methods through KDexCacheViaMethod.
Test: test-art-target
Change-Id: I913eece1c134ebe9ea989064e477f694b8895d8f
Diffstat (limited to 'compiler/optimizing/code_generator_arm.cc')
-rw-r--r-- | compiler/optimizing/code_generator_arm.cc | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/compiler/optimizing/code_generator_arm.cc b/compiler/optimizing/code_generator_arm.cc index b566334725..4c96867efb 100644 --- a/compiler/optimizing/code_generator_arm.cc +++ b/compiler/optimizing/code_generator_arm.cc @@ -7151,18 +7151,7 @@ void CodeGeneratorARM::GenerateReadBarrierForRootSlow(HInstruction* instruction, HInvokeStaticOrDirect::DispatchInfo CodeGeneratorARM::GetSupportedInvokeStaticOrDirectDispatch( const HInvokeStaticOrDirect::DispatchInfo& desired_dispatch_info, HInvokeStaticOrDirect* invoke ATTRIBUTE_UNUSED) { - HInvokeStaticOrDirect::DispatchInfo dispatch_info = desired_dispatch_info; - // We disable pc-relative load when there is an irreducible loop, as the optimization - // is incompatible with it. - // TODO: Create as many ArmDexCacheArraysBase instructions as needed for methods - // with irreducible loops. - if (GetGraph()->HasIrreducibleLoops() && - (dispatch_info.method_load_kind == - HInvokeStaticOrDirect::MethodLoadKind::kDexCachePcRelative)) { - dispatch_info.method_load_kind = HInvokeStaticOrDirect::MethodLoadKind::kDexCacheViaMethod; - } - - return dispatch_info; + return desired_dispatch_info; } Register CodeGeneratorARM::GetInvokeStaticOrDirectExtraParameter(HInvokeStaticOrDirect* invoke, |