While adding support for the off-heap feature, a separate path was added in value propagation to handle array transformations for off-heap.
This can be consolidated by using the added array transformation APIs but the array-lets runs reach the same path unexpectedly and causes the JVM to crash. Hence the addition of a separate path for offheap while keeping non-offheap code the same.
While adding support for the off-heap feature, a separate path was added in value propagation to handle array transformations for off-heap. This can be consolidated by using the added array transformation APIs but the array-lets runs reach the same path unexpectedly and causes the JVM to crash. Hence the addition of a separate path for offheap while keeping non-offheap code the same.
Consolidating opportunities:
generateArrayTranslateNode
generateLenForArrayCopy
generateArrayAddressTree
Reference: https://github.com/eclipse/omr/pull/7296#issuecomment-2072393934
Original commit that concolidate the paths: https://github.com/rmnattas/omr/commit/ed01b6dc36e7362986eda898463cc960135a82a5 Updated commit using separate paths: https://github.com/rmnattas/omr/commit/29e0c01b54255684bc74b0d950c6ea9d4bb4d656