[RESUMED] Re: RFR: 8158946 - btree009 fails with assert(s > 0) failed: Bad size calculated

Thomas Schatzl 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 mailing list