diff options
author | 2025-01-13 14:54:24 +0000 | |
---|---|---|
committer | 2025-01-15 00:13:07 -0800 | |
commit | b5419617cfcaa2d8fc2b6e1bf36edf21701c13bf (patch) | |
tree | b931c859524044ad8f94e42ef09042cce7b3a66c /compiler/optimizing/instruction_builder.cc | |
parent | 55bed4cd5c61546f9d65f16c0e84cc26728d88c5 (diff) |
verifier: Clean up `HandleMoveException`.
Stop processing the instruction on hard failure. Previously,
we could have hit a soft failure after a hard failure. (And
we would also unnecessarily update the register type.)
Pull the `move-exception` handling code out of the
`PotentiallyMarkRuntimeThrow()`. The calls between this
function and `Fail()` were confusing and seemingly recursive
even though there was no recursion thanks to the parameters
we were passing. The `PotentiallyMarkRuntimeThrow()` was
also keeping `flags_.have_pending_runtime_throw_failure_` as
false for `move-exception`, further adding to the confusion.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: I991ff9b93c4d50a206cb0964de875e9687c07aba
Diffstat (limited to 'compiler/optimizing/instruction_builder.cc')
0 files changed, 0 insertions, 0 deletions