RFR: ObjChunkedArrayTask enum constants overflow
Aleksey Shipilev
shade at redhat.com
Tue Mar 21 13:49:19 UTC 2017
Hi,
This is caught by MSVC x86_64. We apparently cannot use large enum constants,
because they would not fit into whatever MSVC is allocating for enum type. I
would scope the enum to use uintptr_t, but this is only available since C++11.
The apparent way out is to keep only small enum constants, and inline others to
get the typing right:
http://cr.openjdk.java.net/~shade/shenandoah/build/tq-enums/webrev.01/
While this affects 8u too, this patch is only for 9. This is because the amount
of testing needed for Linux x86_64, i586, Windows x86_64. We will backport this
to 8u once 9 builds fully on Windows x86_64.
I eyeballed the compiled object code to see we still constant-fold these properly.
Testing: builds on Linux x86_64, i586, Windows x86_64; Linux x86_64
hotspot_gc_shenandoah.
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list