Request for reviews (M): 7069452: Cleanup NodeFlags
vladimir.kozlov at oracle.com
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