Skip to content

Changes

Summary

  1. OffHeap: Disable EA and idiom recognition till fixed for OffHeap (commit: b19d6c7) (details)
  2. Fix bug in lowering trees marked as internal pointer (commit: e29b0ae) (details)
  3. Move APIs from OpenJ9 to OMR to help with array access (commit: 0aaf99b) (details)
  4. Update Array helper APIs in ValuePropogationCommon for OffHeap (commit: 644c1ce) (details)
  5. Treat contiguousArrayDataAddrFieldSymbol as Int64 (commit: a6e711a) (details)
Commit b19d6c76da84bdcd135667a71d98a1ecf49581f7 by Abdulrahman Alattas
OffHeap: Disable EA and idiom recognition till fixed for OffHeap

Signed-off-by: Shubham Verma <shubhamv.sv@gmail.com>
(commit: b19d6c7)
The file was modified compiler/control/OMROptions.cpp (diff)
Commit e29b0aee6fccc9fd3a13a0dcdbcc9c7ada6a208d by Abdulrahman Alattas
Fix bug in lowering trees marked as internal pointer
Keep the internal pointer flag for the new nodes when
lowering trees.

Signed-off-by: Shubham Verma <shubhamv.sv@gmail.com>
(commit: e29b0ae)
The file was modified compiler/z/codegen/OMRCodeGenerator.cpp (diff)
Commit 0aaf99b71edafb4f0317ee718403bc5a68d53db4 by Abdulrahman Alattas
Move APIs from OpenJ9 to OMR to help with array access

APIs are:
`generateDataAddrLoadTrees`
`generateArrayAddressTrees` named `generateArrayElementAddressTrees`
`generateArrayStartTrees` named `generateFirstArrayElementAddressTrees`
`generateArrayOffsetTrees` named `generateConvertArrayElementIndexToOffsetTrees`

OpenJ9 commit to revert: https://github.com/eclipse-openj9/openj9/commit/e76675526bac40b6962133701dabbbfebaf82321

Signed-off-by: Abdulrahman Alattas <rmnattas@gmail.com>

name
(commit: 0aaf99b)
The file was modified compiler/optimizer/OMRTransformUtil.cpp (diff)
The file was modified compiler/optimizer/OMRTransformUtil.hpp (diff)
Commit 644c1ce8ab9276dd09769449ad0f863c2576f56b by Abdulrahman Alattas
Update Array helper APIs in ValuePropogationCommon for OffHeap

This commit is based on ed01b6dc36e7362986eda898463cc960135a82a5
Instead of modifying the code to support off-heap which as-is breaks
runs with arraylet environments, this commit adds separate paths for
off-heap while keeping the original paths as-is.

Code can be modified similar to the based-on commit to have gencon
runs using the array helper APIs while not affecting arraylet runs.

Signed-off-by: Abdulrahman Alattas <rmnattas@gmail.com>
(commit: 644c1ce)
The file was modified compiler/optimizer/OMRTransformUtil.cpp (diff)
The file was modified compiler/optimizer/ValuePropagationCommon.cpp (diff)
Commit a6e711a06f9929a3ea63c685fe0aa4ab8eaac481 by Abdulrahman Alattas
Treat contiguousArrayDataAddrFieldSymbol as Int64

dataAddr field width is always 64 bit so treating it as TR::Address results in
null being loaded from top 32 bits in compressed refs. We need the symbol to be
TR::Int64 for it be loaded correctly.

Signed-off-by: Shubham Verma <shubhamv.sv@gmail.com>
(commit: a6e711a)
The file was modified compiler/compile/OMRSymbolReferenceTable.cpp (diff)