Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
x86-64: Inline small array copy size for int and long arrays
(1) Inline small array copy size without using `rep movs` for int array and long array - If AVX-512 is supported and copy size <= 128 bytes, the inlined copy sequence is used. - If AVX is supported, the threshold for inlined sequence is 64 bytes instead. - The enhancement for 32 bit and 64 bit arrays will be reused in the downstream OpenJ9 project for reference arrays. (2) Refactor char array enhancement implementation to support both `rep movsw` and `rep movsd` if the copysize is greater than the supported enhancement threshold. (3) Add the following options to disable the enhancement - `disableArrayCopyIntArrayInlineSmallSizeWithoutREPMOVS`: disable the enhancement for int array - `disableArrayCopyLongArrayInlineSmallSizeWithoutREPMOVS`: disable the enhancement for long array - `disableArrayCopyReferenceArrayInlineSmallSizeWithoutREPMOVS`: disable the enhancement for reference array, which will be implemented in downstream project OpenJ9. Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
- Loading branch information