From e8fcd013493b800227bd7ea5f38f6cc27e9b90d1 Mon Sep 17 00:00:00 2001 From: Mingyao Yang Date: Fri, 20 Jan 2017 10:43:30 -0800 Subject: Revert "Revert "CHA for abstract methods."" This reverts commit 8ebc8bf055e8bd8f6f167e65a69cf4dae136db55. When we set the single-implementation method for an abstract method, it need to be protected by the cha-lock. Test: new testcase and ART_TEST_JIT=true m -j20 test-art-host-run-test Change-Id: I66acb20ffa7e49dd9c391f001e3bb52f961872e4 --- compiler/optimizing/inliner.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'compiler/optimizing') diff --git a/compiler/optimizing/inliner.cc b/compiler/optimizing/inliner.cc index 5d40f75618..7772e8f973 100644 --- a/compiler/optimizing/inliner.cc +++ b/compiler/optimizing/inliner.cc @@ -304,7 +304,8 @@ ArtMethod* HInliner::TryCHADevirtualization(ArtMethod* resolved_method) { // We do not support HDeoptimize in OSR methods. return nullptr; } - return resolved_method->GetSingleImplementation(); + PointerSize pointer_size = caller_compilation_unit_.GetClassLinker()->GetImagePointerSize(); + return resolved_method->GetSingleImplementation(pointer_size); } bool HInliner::TryInline(HInvoke* invoke_instruction) { -- cgit v1.2.3-59-g8ed1b