On 8/7/14, 1:48 AM, Florian Weimer wrote:
On 07/29/2014 01:09 AM, Ioi Lam wrote:
Hi Folks,
Please review the following clean up and refactoring of the CDS code,
for JDK9
http://cr.openjdk.java.net/~iklam/8046070-cds-cleanup-v2/
https://bugs.openjdk.java.net/browse/JDK-8046070
Can you check if this bit in
hotspot/src/share/vm/runtime/arguments.cpp is still up-to-date?
1566 #ifdef COMPILER2
1567 // Shared spaces work fine with other GCs but causes bytecode
rewriting
1568 // to be disabled, which hurts interpreter performance and
decreases
1569 // server performance. When -server is specified, keep the
default off
1570 // unless it is asked for. Future work: either add bytecode
rewriting
1571 // at link time, or rewrite bytecodes in non-shared methods.
1572 if (!DumpSharedSpaces && !RequireSharedSpaces &&
1573 (FLAG_IS_DEFAULT(UseSharedSpaces) || !UseSharedSpaces)) {
1574 no_shared_spaces("COMPILER2 default: -Xshare:auto | off, have
to manually setup to on.");
1575 }
1576 #endif
Unfortunately this is still true. I think there's a bug on this and we
don't have time to address that within this patch.
I think with tiered compilation, the server VM should suffer less from
the lack of bytecode rewriting because early C1 compilation reduces
the dependency on interpreter performance. Or is this not true?
It might help, but I have not run any benchmarks to verify this.
Thanks
- Ioi
Thanks,
Florian