Skip to content
Success

Changes

Summary

  1. x86-64: Implement an enhancement for char array System.arraycopy (commit: 5eb9e92) (details)
  2. x86-64: Implement an enhancement for byte array System.arraycopy (commit: ff6e4cd) (details)
  3. Add JIT options that disable array copy enhancement (commit: a81d5c0) (details)
Commit 5eb9e923fd6282c5f777b5745bc5dc3692e723ad by Annabelle Huo
x86-64: Implement an enhancement for char array System.arraycopy

The setup to run `rep movsd` is not efficient on copying smaller sizes.
The enhancement inlines copy size equal or less than 64 bytes without
using `rep movsd`.

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
(commit: 5eb9e92)
The file was modified compiler/x/codegen/OMRTreeEvaluator.cpp (diff)
Commit ff6e4cd1bc3be3acdd387f46d4255084377b7137 by Annabelle Huo
x86-64: Implement an enhancement for byte array System.arraycopy

The setup to run `rep movsb` is not efficient on copying smaller sizes.
The enhancement inlines copy size equal or less than 64 bytes without
using `rep movsb`.

Co-Authored-By: Henry Zongaro <zongaro@ca.ibm.com>
Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
(commit: ff6e4cd)
The file was modified compiler/x/codegen/OMRTreeEvaluator.cpp (diff)
Commit a81d5c0bb861ee5cc3508f8cb9df9c7f281c3a65 by Annabelle Huo
Add JIT options that disable array copy enhancement

`disableArrayCopyByteArrayInlineSmallSizeWithoutREPMOVS`
- Disable array copy enhancement for 8 bit primitive array

`disableArrayCopyCharArrayInlineSmallSizeWithoutREPMOVS`
- Disable array copy enhancement for 16 bit primitive array

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
(commit: a81d5c0)
The file was modified compiler/control/OMROptions.cpp (diff)
The file was modified compiler/control/OMROptions.hpp (diff)
The file was modified compiler/x/codegen/OMRTreeEvaluator.cpp (diff)