RFR 8229539: [lworld] Incorrect result of sorting test with -XX:ValueArrayElemMaxFlatSize=0

Frederic Parain frederic.parain at oracle.com
Thu Aug 29 15:44:28 UTC 2019


Nice to have ARRAYCOPY_NOTNULL as part of the Access API.
Fixes in objArrayKlass and valueArrayKlass look good too.
Thank you for cleaning up the old tests.

Reviewed.

Fred


> On Aug 29, 2019, at 10:46, David Simms <david.simms at oracle.com> wrote:
> 
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8229539
> 
> Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8229539/
> 
> "ObjArrayKlass::copy_array()" had implemented it's own copy logic just so it could enforce "null-free" array copy (which happens in ObjArrayKlass when flattening is disabled). There was bug in the copy code for *conjoint overlapping copies* (i.e. broke System.arraycopy()). Rather than "fix" the logic, I removed it completely, and with Erik Österlund's help added a new decorator to the Access API: "ARRAYCOPY_NOTNULL" (pushing down the null check into the existing API, reduce the amount of "special code", or simply duplicated code).
> 
> I did note that the same bug exists for valueArrayKlass, this is now fixed as part of the patch. Said fix is temporary though, in that we should start moving to using the Access API for value stores. I limited the scope of this patch to the immediate bug fix.
> 
> Whilst adding some new tests, I noted some really old code use "_WithField" and various javac compiler flags that are no longer required. So I took the opportunity to clean out some of those.
> 
> Cheers
> 
> /David Simms
> 
> 
> 
> 



More information about the valhalla-dev mailing list