diff options
author | 2024-11-20 14:55:49 +0000 | |
---|---|---|
committer | 2024-11-25 07:36:44 +0000 | |
commit | 98ffb6ed4cfe81af20815fe52aaf6f75b5150432 (patch) | |
tree | 593534fd0d609c76907b2f7e97dd6d55fc9267b6 /compiler/dex/inline_method_analyser.cc | |
parent | 581aa379c235065caf81845fcfd0146af8a54871 (diff) |
verifier: Faster primitive assignability checks.
Rewrite primitive assignability checks to use the cache id
directly without going through the corresponding `RegType`.
Use the pre-calculated assignability table and protect
against unreachable `Assignability` values with `DCHECK()`,
avoiding unnecessary runtime checks in release builds.
Move failure output to `NO_INLINE` functions to avoid code
bloat from inlining.
Note that this change leaves field and array access and
invoke argument checks untouched because that code needs
to deal with references and narrowing conversions as well.
The verification of `return` is also untouched because the
special-casing of narrowing conversions is a mess - this
should be cleaned up with a standalone change.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 181943478
Change-Id: I8dc24d2d1c09762f38e58ce065ca914490967642
Diffstat (limited to 'compiler/dex/inline_method_analyser.cc')
0 files changed, 0 insertions, 0 deletions