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

Coleen Phillimore coleen.phillimore at oracle.com
Wed Oct 17 10:16:34 PDT 2012


Yumin,

I'm confused what this file is supposed to do.   Why is this rewriting 
bytecodes?   Or is it reversing bytecode rewriting?

Before rewriting _ldc points to a constant pool index.  After, only ldc 
bytecodes that point to string or jsr 292 oops will be rewritten to 
point to the resolved_references array and the bytecode is changed to 
_fast_aldc, otherwise the ldc index is left alone.   So if it's 
reversing rewriting, then changing lines 145 and 152 to _fast_aldc would 
make whatever this does work.

It looks like jsr 292 code is not reflected in this file.   More copying 
for another day unless this whole SA is rearchitected.

thanks,
Coleen

On 10/17/2012 12:51 AM, 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


More information about the hotspot-runtime-dev mailing list