From fc1ce4e8be0d977e3d41699f5ec746d68f63c024 Mon Sep 17 00:00:00 2001 From: Alex Light Date: Fri, 22 Jan 2021 14:05:13 +0000 Subject: Revert^2 "Partial Load Store Elimination" This reverts commit 47ac53100303e7e864b7f6d65f17b23088ccf1d6. There was a bug in LSE where we would incorrectly record the shadow$_monitor_ field as not having a default initial value. This caused partial LSE to be unable to compile the Object.identityHashCode function, causing crashes. This issue was fixed in a parent CL. Also updated all Offsets in LSE_test to be outside of the object header regardless of configuration. Test: ./test.py --host Bug: 67037140 Reason for revert: Fixed issue with shadow$_monitor_ field and offsets Change-Id: I4fb2afff4d410da818db38ed833927dfc0f6be33 --- compiler/optimizing/loop_analysis.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'compiler/optimizing/loop_analysis.cc') diff --git a/compiler/optimizing/loop_analysis.cc b/compiler/optimizing/loop_analysis.cc index 78505171cb..a776c37f36 100644 --- a/compiler/optimizing/loop_analysis.cc +++ b/compiler/optimizing/loop_analysis.cc @@ -214,6 +214,9 @@ class X86_64LoopHelper : public ArchDefaultLoopHelper { return 3; case HInstruction::InstructionKind::kIf: return 2; + case HInstruction::InstructionKind::kPredicatedInstanceFieldGet: + // test + cond-jump + IFieldGet + return 4; case HInstruction::InstructionKind::kInstanceFieldGet: return 2; case HInstruction::InstructionKind::kInstanceFieldSet: -- cgit v1.2.3-59-g8ed1b