[9] RFR(M): 8129847: Compiling methods generated by Nashorn triggers high memory usage in C2
Aleksey Shipilev
aleksey.shipilev at oracle.com
Thu Nov 26 13:54:22 UTC 2015
Hi Zoltan,
This is a very interesting approach indeed!
On 11/25/2015 05:57 PM, Zoltán Majó wrote:
> [9]: http://cr.openjdk.java.net/~zmajo/8129847-9/webrev.04/
I have a few specific comments:
a) The interaction between Remove_Useless and Renumber_Live is unclear
from the code like this:
47 Remove_Useless, // Remove useless nodes
48 Renumber_Live, // First, remove useless nodes from
the graph. Then, renumber live nodes.
It seems that Renumber_Live completely subsumes the Remove_Useless?
Maybe a better name would be Remove_Useless_And_Renumber to capture
that? Or the inclination is that Remove_Useless is a cleanup action that
runs multiple times anyway? If so, there seem to be no reason to mention
it in the phase description.
b) Can you add the compilation time counters: TracePhase, &timers, etc.,
so that a new phase time is visible in -XX:+CITime?
c) Does this renumbering break Ideal Graph Visualizer, i.e. does IGV
depend on the node indexes stability in any way?
d) It seems odd to have a check for RenumberLiveNodes in
PhaseRenumberLive::PhaseRenumberLive super constructor call, when all
calls to PhaseRenumberLive seem to be predicated externally with it?
472 PhaseRenumberLive::PhaseRenumberLive(...
473 ...
474 ...) :
475 PhaseRemoveUseless(gvn, worklist, RenumberLiveNodes ?
Renumber_Live : Remove_Useless) {
Thanks,
-Aleksey
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20151126/79900777/signature-0001.asc>
More information about the hotspot-compiler-dev
mailing list