-
Bug
-
Resolution: Fixed
-
P4
-
8, 11, 17
-
b19
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8265673 | 11.0.12-oracle | Tobias Hartmann | P4 | Resolved | Fixed | b03 |
JDK-8265733 | 11.0.12 | Rickard Backman | P4 | Resolved | Fixed | b01 |
JDK-8266069 | openjdk8u302 | Rickard Backman | P4 | Resolved | Fixed | b01 |
SonarCloud instance reports the following problem:
3 uninitialized fields at the end of the constructor call
class LoopInvariantCodeMotion : public StackObj {
private:
GlobalValueNumbering* _gvn;
ShortLoopOptimizer* _short_loop_optimizer;
Instruction* _insertion_point; // <---- left uninitialized after shortcut
ValueStack * _state; // <---- left uninitialized after shortcut
bool _insert_is_pred; // <---- left uninitialized after shortcut
LoopInvariantCodeMotion::LoopInvariantCodeMotion(ShortLoopOptimizer *slo, GlobalValueNumbering* gvn, BlockBegin* loop_header, BlockList* loop_blocks)
: _gvn(gvn), _short_loop_optimizer(slo) {
...
BlockBegin* insertion_block = loop_header->dominator();
if (insertion_block->number_of_preds() == 0) {
return; // <--- shortcut from constructor
}
3 uninitialized fields at the end of the constructor call
class LoopInvariantCodeMotion : public StackObj {
private:
GlobalValueNumbering* _gvn;
ShortLoopOptimizer* _short_loop_optimizer;
Instruction* _insertion_point; // <---- left uninitialized after shortcut
ValueStack * _state; // <---- left uninitialized after shortcut
bool _insert_is_pred; // <---- left uninitialized after shortcut
LoopInvariantCodeMotion::LoopInvariantCodeMotion(ShortLoopOptimizer *slo, GlobalValueNumbering* gvn, BlockBegin* loop_header, BlockList* loop_blocks)
: _gvn(gvn), _short_loop_optimizer(slo) {
...
BlockBegin* insertion_block = loop_header->dominator();
if (insertion_block->number_of_preds() == 0) {
return; // <--- shortcut from constructor
}
- backported by
-
JDK-8265673 C1: LoopInvariantCodeMotion constructor can leave some fields uninitialized
-
- Resolved
-
-
JDK-8265733 C1: LoopInvariantCodeMotion constructor can leave some fields uninitialized
-
- Resolved
-
-
JDK-8266069 C1: LoopInvariantCodeMotion constructor can leave some fields uninitialized
-
- Resolved
-