RFR: Fix Windows builds

Aleksey Shipilev shade at openjdk.java.net
Tue May 4 09:00:20 UTC 2021


On Tue, 4 May 2021 08:50:57 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> Windows builds are currently failing with:
>> 
>> 
>> c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\shenandoahOldGC.cpp(149): error C2131: expression did not evaluate to a constant
>> c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\shenandoahOldGC.cpp(149): note: failure was caused by a read of a variable outside its lifetime
>> c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\shenandoahOldGC.cpp(149): note: see usage of 'coalesce_and_fill_regions_count'
>> make[3]: *** [lib/CompileJvm.gmk:143: /cygdrive/c/buildbot/worker/build-shenandoah-jdkx-windows/build/build/windows-x86_64-server-fastdebug/hotspot/variant-server/libjvm/objs/shenandoahOldGC.obj] Error 1
>> 
>> 
>> ...and:
>> 
>> 
>> c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\heuristics\shenandoahOldHeuristics.cpp(239): error C2220: the following warning is treated as an error
>> c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\heuristics\shenandoahOldHeuristics.cpp(239): warning C4267: '=': conversion from 'size_t' to 'uint', possible loss of data
>> c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\heuristics\shenandoahOldHeuristics.cpp(240): warning C4267: '=': conversion from 'size_t' to 'uint', possible loss of data
>> c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\heuristics\shenandoahOldHeuristics.cpp(241): warning C4267: '=': conversion from 'size_t' to 'uint', possible loss of data
>> c:\buildbot\worker\build-shenandoah-jdkx-windows\build\src\hotspot\share\gc\shenandoah\heuristics\shenandoahOldHeuristics.cpp(255): warning C4267: '=': conversion from 'size_t' to 'uint', possible loss of data
>> make[3]: *** [lib/CompileJvm.gmk:143: /cygdrive/c/buildbot/worker/build-shenandoah-jdkx-windows/build/build/windows-x86_64-server-fastdebug/hotspot/variant-server/libjvm/objs/shenandoahOldHeuristics.obj] Error 1
>> make[2]: *** [make/Main.gmk:252: hotspot-server-libs] Error 2
>> 
>> 
>> Additional testing:
>>  - [x] Windows x86_64 builds
>>  - [x] Linux x86_64 hotspot_gc_shenandoah
>
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp line 241:
> 
>> 239:       _hidden_old_collection_candidates = (uint)i;
>> 240:       _first_coalesce_and_fill_candidate = (uint)i;
>> 241:       _old_coalesce_and_fill_candidates = (uint)(cand_idx - i);
> 
> I wonder if it would be more useful to change the type of i to uint, or maybe the fields to size_t instead?

Maybe. That code seems to be in flux, so I would just fix the builds at this time, and then reconsider changing the types more globally.

-------------

PR: https://git.openjdk.java.net/shenandoah/pull/35


More information about the shenandoah-dev mailing list