Skip to content
Success

Changes

Summary

  1. Disable local CSE for offheap (commit: 8efb420) (details)
  2. Disable commoning dataAddrPointer in createStoresForVar (commit: c86da7e) (details)
  3. Teach InductionVariable about OffHeap structure (commit: 8fabd3a) (details)
Commit 8efb420c99724e2e4772623252012784daab4745 by Abdulrahman Alattas
Disable local CSE for offheap

Signed-off-by: Shubham Verma <shubhamv.sv@gmail.com>
(commit: 8efb420)
The file was modified compiler/optimizer/LocalAnalysis.cpp (diff)
The file was modified compiler/optimizer/OMRLocalCSE.cpp (diff)
Commit c86da7e3aae883dd226d3a23c1010e01cb4d2dbc by Abdulrahman Alattas
Disable commoning dataAddrPointer in createStoresForVar

The dataAddrPointer holds an internal-pointer and commoning it
requires handling cases of pinning-array movement.
This commit disables commoning at least for now.

be77a52de5a2fae28e1c999b0214fe3710e4e98c has the code to have pinning-array slot in dataAddrPointer
but needs further testing with commoning enabled as the
internal-pointer nodes previously had assumed opcodes
and tree shapes.

Signed-off-by: Abdulrahman Alattas <rmnattas@gmail.com>
(commit: c86da7e)
The file was modified compiler/optimizer/OMROptimizer.cpp (diff)
The file was modified compiler/il/OMRNode.cpp (diff)
The file was modified compiler/optimizer/Inliner.cpp (diff)
Commit 8fabd3ac0be911997838e4873075b3bf016b54a8 by Abdulrahman Alattas
Teach InductionVariable about OffHeap structure

The final code teaches inductionVariable about OffHeap array access
tree structure and skipping examining dataAddress nodes as traditional
internalPointers (trying to find the induction variable in its children).

Induction variable can hoist computations for OffHeap.

Signed-off-by: Abdulrahman Alattas <rmnattas@gmail.com>
(commit: 8fabd3a)
The file was modified compiler/optimizer/InductionVariable.cpp (diff)
The file was modified compiler/il/OMRNode.cpp (diff)