Skip to content

Changes

Summary

  1. Split warm and cold blocks (commit: 9b184d4) (details)
Commit 9b184d4ebea1734cafabec7beafde834934b5451 by Gita Koblents
Split warm and cold blocks

OMR already provides warm and cold code cache and some platforms already
place some code into the cold cache, but not cold blocks. The goal is to
provide a capability of placing cold blocks into the cold cache. This can
help with the future footprint reduction work:

- find last warm block during tree lowering
- identify last warm instruction during instruction selection
  (currently, only in openj9)
- switch to the cold code cache after last warm instruction
  during binary encoding (currently, only on x platform)
- the code is only enabled if -Xjit:splitWarmAndColdBlocks option is on
- print cold code cache info in verbose #METHOD STATS
(commit: 9b184d4)
The file was modified compiler/codegen/OMRInstructionFlagEnum.hpp (diff)
The file was modified compiler/x/codegen/OMRCodeGenerator.cpp (diff)
The file was modified compiler/compile/OMRCompilation.hpp (diff)
The file was modified compiler/codegen/OMRCodeGenerator.cpp (diff)
The file was modified compiler/control/OMROptions.cpp (diff)
The file was modified compiler/control/OMROptions.hpp (diff)
The file was modified compiler/il/OMRBlock.hpp (diff)
The file was modified compiler/codegen/OMRCodeGenerator.hpp (diff)
The file was modified compiler/codegen/OMRInstruction.hpp (diff)
The file was modified compiler/compile/OMRCompilation.cpp (diff)