| commit | 85af16e673c58cef1eb6d764468b7218bc343dae | [log] [tgz] |
|---|---|---|
| author | Nicolas Geoffray <ngeoffray@google.com> | Tue May 12 15:36:52 2020 +0100 |
| committer | Nicolas Geoffray <ngeoffray@google.com> | Tue May 12 16:54:30 2020 +0000 |
| tree | ef52df17437ac4db52b450199d6406e9875f1987 | |
| parent | 5b0bbf33180bbf9e7fbe8c952eda16096c637f8c [diff] [blame] |
Fix two bugs around aput-object. - Fix LSE by not removing stores that may throw. - Fix nterp to export the PC before calling the aput-object helper. Test: 726-array-store Change-Id: I4fa6c608fc657433dc62ef72a4e94260281db660
diff --git a/compiler/optimizing/load_store_elimination.cc b/compiler/optimizing/load_store_elimination.cc index 4c150da..24041e9 100644 --- a/compiler/optimizing/load_store_elimination.cc +++ b/compiler/optimizing/load_store_elimination.cc
@@ -668,7 +668,7 @@ // Keep the store inside irreducible loops. } } - if (possibly_redundant) { + if (possibly_redundant && !instruction->CanThrow()) { possibly_removed_stores_.push_back(instruction); }