summaryrefslogtreecommitdiff
path: root/compiler/optimizing/instruction_simplifier_test.cc
AgeCommit message (Collapse)Author
2021-06-02Avoid race on Thread::tlsPtr_::top_handle_scope.Vladimir Marko
Require mutator lock for that field and update tests to hold the mutator lock when needed. This prevents GC thread that executes a thread roots flip on behalf of suspended threads from racing against construction or destruction of handle scopes by those threads and possibly seeing invalid values. (cherry picked from commit 1d326f94a3fdd6292ccdf0022cedfb2a2b8acfee) Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Bug: 189439174 Merged-In: I268a0ef6e5aa838347956febca0d3b6e02fe3ae5 Change-Id: If4cdcf4a488e77cb5aa7748de7c77c49f04388b0
2021-04-26Fix issue with Partial LSE and casts/instanceofAlex Light
If PartialLSE encounters an instanceof or check-cast before the escapes it could not correctly handle it. Due to how java language code is typically developed and compiled this is generally not a problem but could lead to incorrect codegen on release builds or DCHECK failures on debug builds. This fixes the issues by (1) causing partial LSE to consider check-cast and instance-ofs to be escaping. This also updates the instruction simplifier to be much more aggressive in removing instance-of and check-casts. Test: ./test.py --host Bug: 186041085 Change-Id: Ia513c4210a87a0dfa92f10adc530e17ee631d006
2021-03-30Fix simplifier issue with predicated ifield getAlex Light
In cases where all targets of a HPredicatedInstanceFieldGet instruction are known to not be null the simplifier would attempt to replace the default value with a null instruction. This would cause a null-pointer dereference. Correct the simplifier to handle this case correctly. Moved some LSE test helper functions to CommonCompilerTestHelper to avoid duplicating code. Fixed an incorrect (though until now unused) constructor for HPredicatatedInstanceFieldGet (the default value and target we swapped). Test: ./test.py --host Test: ./art/tools/compile_jars.py --profile-file bad-compile.txt ~/imgur.apk Bug: 183942773 Change-Id: I66f4ce37d768d5e457047a3f80bd4cb9aa4546a3