One of my CI servers fails after JDK-8017163 with:
In file included from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/gc/g1/g1CardSetFreeMemoryTask.hpp:29:0,
from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/gc/g1/g1CollectedHeap.hpp:31,
from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp:28,
from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/gc/g1/heapRegion.inline.hpp:31,
from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/gc/g1/g1AllocRegion.inline.hpp:30,
from /home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/gc/g1/g1AllocRegion.cpp:26:
/home/buildbot/worker/build-jdkX-linux/build/src/hotspot/share/gc/g1/g1CardSetMemory.hpp:203:54: error: template argument 2 is invalid
typedef LockFreeStack<G1CardSetContainer, &next_ptr> NodeStack;
^
I believe the cause is that next_ptr is the member of template<class Elem> class G1CardSetAllocator, so this confuses the compiler.