[RESUMED] Re: RFR: 8158946 - btree009 fails with assert(s > 0) failed: Bad size calculated
thomas.schatzl at oracle.com
Tue Jun 21 22:36:30 UTC 2016
On Tue, 2016-06-21 at 18:27 -0400, Derek White wrote:
> Here's a more complete solution to the problem.
> As Kim mentioned, the new version sets the object size field of a
> java.lang.Class object before it sets the object's header, so GC can
> reliably get the size of any object with it's header set.
just briefly looking over the code (maybe I am overlooking something
obvious, I am only looking at the webrev) - wouldn't the code need some
compiler and memory barriers that make sure that this required
read/write orderings are observed?
> This fix works by adding a CollectedHeap::class_allocate() method and
> associated helpers. These are implemented in CollectedHeap.inline.hpp
> only because they share so much structure and code with
> CollectedHeap::obj_allocate() that I thought it best to keep them
> together (even though there is no performance reason to have the new
> code inlined).
> Webrev: http://cr.openjdk.java.net/~drwhite/8158946/webrev.02
> jprt in progress...
More information about the hotspot-gc-dev