RFR: 8000818: SA constant pool need to reference to reference map after permgen removal

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Wed Oct 17 13:05:31 PDT 2012


Hi Yumin,

I have a question.
ByteCodeRewriter.java:
65 return (short)cpool.objectToCPIndex(refIndex & 0xff);

   Why the mask 0xff is used above? The refIndex can be a short value, 
right?
   Otherwise, why would you need to swap bytes at the line 62 ? :
     62 case 3: refIndex = 
bytes.swapShort(method.getBytecodeShortArg(bci)); break;

And I agree with David that one of these assignements seems to be redundant:
    58 int refIndex = method.getBytecodeByteArg(bci);
61 case 2: refIndex = method.getBytecodeByteArg(bci); break;


Thanks,
Serguei


On 10/16/12 9: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.
> 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.
>
> Reviewed-by:
> Contributed-by: yumin.qi at oracle.com
>
>
> Thanks
> Yumin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20121017/c0eae28b/attachment.html 


More information about the hotspot-runtime-dev mailing list