-
Enhancement
-
Resolution: Fixed
-
P3
-
1.4.2
-
tiger
-
generic, sparc
-
generic, solaris_9
Compilation time costs customer wall-clock time and reduces performance.
Analyzer Examples:
------------------
Azeem) Type::hashcons() costs 2.9% of compilation time
1.2% of which comes from calling Insert after doing a find to determine that
the input type is not already in the dictionary. The 'insert' can be done
by the lookup code as was implemented in hash_find_insert() for GVN.
) Many sections of the compiler unnecessarily call Compile::current()
A pointer to the thread's Compile object is installed into each Phase and
is available at many use sites. Using the pointer in a Phase saves both
compilation time and code space.
) Evaluate tradeoff between virtual call and field in object instance
Examples Node::Opcode, Node::is_CFG, Node::pinned, MachNode::ideal_reg(), ...
Analyzer Examples:
------------------
Azeem) Type::hashcons() costs 2.9% of compilation time
1.2% of which comes from calling Insert after doing a find to determine that
the input type is not already in the dictionary. The 'insert' can be done
by the lookup code as was implemented in hash_find_insert() for GVN.
) Many sections of the compiler unnecessarily call Compile::current()
A pointer to the thread's Compile object is installed into each Phase and
is available at many use sites. Using the pointer in a Phase saves both
compilation time and code space.
) Evaluate tradeoff between virtual call and field in object instance
Examples Node::Opcode, Node::is_CFG, Node::pinned, MachNode::ideal_reg(), ...
- duplicates
-
JDK-4854190 c2 performance: very high compile times while running SPECjvm98 javac
-
- Closed
-