Node::_idx is declared as node_idx_t (unsigned int) but at several places we cast it to int. For example, in escape.cpp:
uint ni = n->_idx;
[...]
const TypeOopPtr* tinst = t->cast_to_instance_id(ni);
with TypeOopPtr::cast_to_instance_id(int instance_id). This should be fixed to use unsigned int consistently.
uint ni = n->_idx;
[...]
const TypeOopPtr* tinst = t->cast_to_instance_id(ni);
with TypeOopPtr::cast_to_instance_id(int instance_id). This should be fixed to use unsigned int consistently.
- relates to
-
JDK-8038348 Instance field load is replaced by wrong data Phi
- Resolved
-
JDK-8345580 Remove const from Node::_idx which is modified
- Open