Hi Per, > Hi Roman, > > On 11/26/18 10:39 PM, Roman Kennke wrote: > [...] >> *) shared-serviceability >> <http://cr.openjdk.java.net/~rkennke/shenandoah-upstream/00/shared-serviceability/> >> >> - The usual code to support another GC > > Just had a quick look at the SA part. I was thinking you'd have the same > problem as ZGC here, with regards to parsing the heap and potentially > reading garbage when you step on a Klass* which had been unloaded?
Possible. I am myself not very familiar with SA. I guess it depends on how SA does it: if it iterates objects via CH::object_iterate() (e.g. same entry point as, e.g., heap-dumping code), then we should be fine. We're kicking off a traversal rather than straight scan there. If however SA somehow makes a raw scan itself, then we'd have the problem you describe. Roman