RFR (S): 8151499: gc/g1/g1OopClosures.inline.hpp: assert(_from->is_in_reserved(p)) failed: p is not in from
tom.benson at oracle.com
Fri Apr 1 15:38:05 UTC 2016
On 4/1/2016 11:16 AM, Thomas Schatzl wrote:
> On Fri, 2016-04-01 at 10:41 -0400, Tom Benson wrote:
>> Hi Thomas,
>> It doesn't seem like the test at line 181 is strictly necessary,
>> the comparison on the following line would fail if it was false:
>> 181 _g1->heap_region_containing(p)->is_humongous() &&
>> 182 _from->humongous_start_region() == _g1
> 182 would then sigsev and fail if p were not in a humongous region,
> yes. Humongous_start_region() is NULL for non-humongous regions. I
> prefer an assert message though... :)
Right, _g1 ->heap_region_containing(p)->humongous_start_region())
would return NULL, and thus not be == to _from->humongous_start_region()
. Shouldn't SEGV... ?
>> Also, should the test require be expanded to @requires vm.gc ==
>> "G1" |
>> vm.gc == null ?
> One of the tests runs uses parallel gc, so we only allow no gc
OK. I thought you'd want it run even if G1 was explicit.
> I added the test to the requires gc_g1 group to make sure it is only
> run when both parallel and g1 are compiled in. This seems to be the
> thing to do if you want to test specifically on g1 and other collectors
> only. See TestSystemGC.java (I think) in the same directory.
> Not sure.
More information about the hotspot-gc-dev