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 

Otherwise changes looks reasonable.


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