RFR(L): 8034812: remove IDX_INIT macro hack in Node class
john.r.rose at oracle.com
Fri May 16 16:07:37 UTC 2014
On May 16, 2014, at 8:58 AM, John Rose <john.r.rose at oracle.com> wrote:
> On May 15, 2014, at 2:27 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>> Changes are fine but I am concern about compilation speed.
>> Please, test compilation performance (-XX:+TimeCompiler) on x86 and sparc. You need to build optimized VM for that to exclude assert but keep statistic code. I would suggest to run one of nashorn octane benchmarks with -Xcomp -XX:-TieredCompilation to get compilation with big graphs.
> A little software archeology brings up some of the history behind the "new(N,C)" hack:
> D 1.156 05/06/29 16:29:14 vkozlov 258 257
> 6219945: C2 virtual methods cleanup. Reduce calls Compile::current().
> So it's been 9 years; do we still want to reduce calls to Compile::current()? As a wild guess, it could cause a 1% regression in compile speed.
> — John
P.S. The IDX_INIT trick comes from this delta:
D 1.212 05/12/01 13:25:41 jrose 374 372
6175499 Stick contextual annotations onto newly-created nodes.
(Also, remove a frequent call to Compile::current().)
The "frequent call" was in the Node::Node constructors:
Node::Node( Node *n0 )
_idx( Compile::current()->next_unique() ),
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-compiler-dev