RFR(M): 6700100: optimize inline_native_clone() for small objects with exact klass

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Oct 9 19:32:19 UTC 2014


Hi roland,

Sorry it took so long.

Could you explain changes in fieldStreams.hpp? How it worked before?
I see that the change only affects code in FieldStreamBase(Array<u2>* 
fields, constantPoolHandle constants, int start, int limit).

And can it be simple done as?:

return num_fields + _index;

StressArrayCopyMacroNode flag is used in product code. Make it diagnostic.

Why you skip klasses with injected fields? I thought 
nof_nonstatic_fields() includes them. Add comment.

How we benefit from doing this optimization during parsing? Why you need 
StressArrayCopyMacroNode?

Otherwise changes looks reasonable.

Thanks,
Vladimir

On 10/8/14 5:33 AM, Roland Westrelin wrote:
> http://cr.openjdk.java.net/~roland/6700100/webrev.00/
>
> Converts ArrayCopy nodes for small instance clones to series of loads/stores + a little bit of cleanup.
>
> Small array clones & copies as loads/stores are coming next in another change.
>
> Roland.
>


More information about the hotspot-compiler-dev mailing list