diff options
author | 2024-10-07 13:48:54 +0100 | |
---|---|---|
committer | 2024-10-15 09:27:57 +0000 | |
commit | b544a1017753bfef7b91a2ea3024ffbde6cd5bb9 (patch) | |
tree | 0b54d507a49e9980337893949ed51e681b82fc83 /compiler/optimizing/scheduler_test.cc | |
parent | d3af812dd1c95e9f87c55cfa996354a115c08414 (diff) |
Arm64: Fix PackedSwitch codegen for large methods.
This patch fixes a bug in arm64 PackedSwitch code generation
for very large methods where we exceeded the range of Adr
instruction - jump tables were emited in the very end of the
method. Instead we now emit the jump table in-place as part of
the PackedSwitch visitor - in the same way how it is done
in arm32 backend.
This patch also removes an incorrect assumption that the size of
a method has a linear dependency on the number of its HIR
instructions. This was used to choose whether to emit a jump
table for a PackedSwitch.
Test: art/test.py --target --host --optimizing
Test: art/test.py --gtest art_compiler_tests
Change-Id: I0795811a6408a25021879ab6be9e23ef5f1f50e4
Diffstat (limited to 'compiler/optimizing/scheduler_test.cc')
0 files changed, 0 insertions, 0 deletions