summaryrefslogtreecommitdiff
path: root/compiler/dex/inline_method_analyser.cc
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2024-11-20 14:55:49 +0000
committer VladimĂ­r Marko <vmarko@google.com> 2024-11-25 07:36:44 +0000
commit98ffb6ed4cfe81af20815fe52aaf6f75b5150432 (patch)
tree593534fd0d609c76907b2f7e97dd6d55fc9267b6 /compiler/dex/inline_method_analyser.cc
parent581aa379c235065caf81845fcfd0146af8a54871 (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