RFR: 8000818: SA constant pool need to reference to reference map after permgen removal
David Holmes
david.holmes at oracle.com
Tue Oct 16 22:26:17 PDT 2012
Hi Yumin,
Not really a review as I don't understand this part of the code.
On 17/10/2012 2:51 PM, Yumin Qi wrote:
> Hi, all
>
> May I have your codereview on
>
> http://cr.openjdk.java.net/~minqi/8000818/
> <http://cr.openjdk.java.net/%7Eminqi/8000818/>
>
> 8000818: SA constant pool need to reference to reference map after
> permgen removal
> Summary: After permgen removal, constant pool changed to put _ldc and
> _ldc_w (fast_ldc and fast_ldcw) index to reference map, no longer
> calculated via constant pool cache.
Here:
+ protected short getConstantPoolIndexFromRefMap(int rawcode, int bci) {
+ int refIndex = method.getBytecodeByteArg(bci);
+ String fmt = Bytecodes.format(rawcode);
+ switch (fmt.length()) {
+ case 2: refIndex = method.getBytecodeByteArg(bci); break;
The setting of refIndex the second time seems to be redundant.
> Also, there is a mistake in 6879063: SA should use hsdis. Bytes.swap
> should only check if the underlying platform is big endian since java
> code follows big endian. Revert it back to its orginal form, else it
> will fail ClassDump.
I think that needs its own CR. You can still combine them into a single
changeset (with two bug lines).
Also this seems to indicate a gap in our testing. How did this slip
through the 6879063 process? Have we closed that gap now?
Thanks,
David
> Reviewed-by:
> Contributed-by: yumin.qi at oracle.com
>
>
> Thanks
> Yumin
More information about the serviceability-dev
mailing list