Request for reviews (M): 7069452: Cleanup NodeFlags

Vladimir Kozlov vladimir.kozlov at
Fri Jul 22 11:06:55 PDT 2011

Fixed 7069452: Cleanup NodeFlags

We are almost out of bits (16) for Node::NodeFlags. I removed flags which 
duplicate information in Node::NodeClasses.
is_Call() uses class_id check and is now valid only for ideal CallNode.
is_Goto() checks ideal_opcode().
is_Vector() is replaced with check for Vector,VectorLoad,VectorStore classes.
MachProjNode was added to class_id check to avoid calling Opcode() in many 
places. MulNode was removed from class_id since it was used only in one place.

I removed all logic associated with is_pc_relative flag. It was only checked in 
one place during long to short branch replacement. I replaced it with check in 
adlc parser - short branches should be defined only for a branch to a label, 
which means branch with PC relative offset. To relay on developer to set 
ins_pc_relative() was mistake since it could be used in wrong places. For 
example, it was specified for table jumps, calls and FastLock/FastUnlock.

More information about the hotspot-compiler-dev mailing list