Doing a minimalistic build ( for buildjdk, as part of cross-compilation process) with only parallelGC ( --with-jvm-features=-zgc,-compiler2,-epsilongc,-g1gc,-jfr,-jni-check,-jvmci,-jvmti,-shenandoahgc ) and getting this error:
/jdk/src/hotspot/share/cds/filemap.cpp: In member function 'void FileMapHeader::populate(FileMapInfo*, size_t, size_t, size_t, size_t)':
/jdk/src/hotspot/share/cds/filemap.cpp:258:32: error: 'G1CollectedHeap' has not been declared
258 | address start = (address)G1CollectedHeap::heap()->reserved().start();
| ^~~~~~~~~~~~~~~
/jdk/src/hotspot/share/cds/filemap.cpp:259:30: error: 'G1CollectedHeap' has not been declared
259 | address end = (address)G1CollectedHeap::heap()->reserved().end();
| ^~~~~~~~~~~~~~~
/jdk/src/hotspot/share/cds/filemap.cpp: In member function 'void FileMapInfo::write_region(int, char*, size_t, bool, bool)':
/jdk/src/hotspot/share/cds/filemap.cpp:1525:48: error: 'G1CollectedHeap' has not been declared
1525 | mapping_offset = requested_base - (char*)G1CollectedHeap::heap()->reserved().start();
| ^~~~~~~~~~~~~~~
cds is using G1 classes unconditionally
/jdk/src/hotspot/share/cds/filemap.cpp: In member function 'void FileMapHeader::populate(FileMapInfo*, size_t, size_t, size_t, size_t)':
/jdk/src/hotspot/share/cds/filemap.cpp:258:32: error: 'G1CollectedHeap' has not been declared
258 | address start = (address)G1CollectedHeap::heap()->reserved().start();
| ^~~~~~~~~~~~~~~
/jdk/src/hotspot/share/cds/filemap.cpp:259:30: error: 'G1CollectedHeap' has not been declared
259 | address end = (address)G1CollectedHeap::heap()->reserved().end();
| ^~~~~~~~~~~~~~~
/jdk/src/hotspot/share/cds/filemap.cpp: In member function 'void FileMapInfo::write_region(int, char*, size_t, bool, bool)':
/jdk/src/hotspot/share/cds/filemap.cpp:1525:48: error: 'G1CollectedHeap' has not been declared
1525 | mapping_offset = requested_base - (char*)G1CollectedHeap::heap()->reserved().start();
| ^~~~~~~~~~~~~~~
cds is using G1 classes unconditionally