RFR: 8069367: assert(_nextMarkBitMap->isMarked((HeapWord*) obj)) failed
bengt.rutisson at oracle.com
Wed Mar 18 14:31:30 UTC 2015
On 2015-03-18 15:32, Kim Barrett wrote:
> On Mar 18, 2015, at 10:02 AM, Bengt Rutisson <bengt.rutisson at oracle.com> wrote:
>> Hi Kim,
>> On 2015-03-17 22:23, Kim Barrett wrote:
>>> On Mar 13, 2015, at 1:51 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
>>>> On Mar 13, 2015, at 4:45 AM, Bengt Rutisson <bengt.rutisson at oracle.com> wrote:
>>>>> Another alternative would be to let initial marking note all humongous objects that were live after initial mark. Then we can just make sure that early reclaim does not reclaim any of those humongous objects while marking is active. That should be a pretty simple fix that can be backported if necessary.
>>>> Bengt and I talked about this some more; I’m going to have a look at the code for this, as it seems likely better.
>>> Here’s a new webrev, following Bengt’s suggestion.
>> The change looks good to me. One minor nit. The command line for the @run command in the test is not aligned:
>> 30 * @run main/othervm -XX:+UseG1GC -Xss32m -Xmx128m -XX:G1HeapRegionSize=1m
>> 31 * -XX:+UnlockExperimentalVMOptions
>> 32 * -XX:+G1EagerReclaimHumongousObjects
>> 33 * -XX:+G1EagerReclaimHumongousObjectsWithStaleRefs
>> 34 * TestGreyReclaimedHumongousObjects 1048576 90
> Thanks for your review, and especially for suggesting a much better solution.
> That was intentional - extra indentation of the experimental options under the associated unlock. But I don’t feel strongly about it.
Ah. Ok. I didn't realize this. In that case I'm fine either way. No
> The experimental options are also not presently required, since they both default to being enabled. But I’m not certain that will remain true all the way through to product, since there is some small overhead for this feature for applications that don’t benefit from it. And since this test is pretty much pointless without that set of features being enabled…
Agreed. It is probably a good idea to explicitly set these flags.
More information about the hotspot-gc-dev