RFR(10)(S): 8181503: Can't compile hotspot with c++11
Gerard Ziemski
gerard.ziemski at oracle.com
Tue Jun 13 19:28:40 UTC 2017
Thank you Thomas!
> On Jun 12, 2017, at 11:13 AM, Thomas Stüfe <thomas.stuefe at gmail.com> wrote:
>
> Hi Gerard,
>
> looks fine.
>
> I cannot comment on the asm syntax changes in the bsd code.
>
> methodMatcher.cpp: this is a real bug.
>
> compiledIC.cpp: this too but as false is usually defined as 0, so it probably never mattered.
>
> Kind Regards, Thomas
>
>
> On Mon, Jun 12, 2017 at 4:29 PM, Gerard Ziemski <gerard.ziemski at oracle.com> wrote:
> hi all,
>
> Please review this small fix, which addresses 4 issues caught by c++11 compiler on a Mac:
>
>
> #1 Error in src/share/vm/utilities/debug.hpp
>
> jdk10/hotspot/src/share/vm/utilities/vmError.cpp:450:13: error: case value evaluates to 3758096384, which cannot be narrowed to type 'int' [-Wc++11-narrowing]
> case INTERNAL_ERROR:
>
> For a fix see http://cr.openjdk.java.net/~gziemski/8181503_rev1/src/share/vm/utilities/vmError.cpp.udiff.html and http://cr.openjdk.java.net/~gziemski/8181503_rev1/src/share/vm/utilities/vmError.hpp.udiff.html
>
>
> #2 Error in src/share/vm/compiler/methodMatcher.cpp
>
> jdk10/hotspot/src/share/vm/compiler/methodMatcher.cpp:99:19: error: comparison between pointer and integer ('char *' and 'int')
> if (colon + 2 != '\0') {
> ~~~~~~~~~ ^ ~~~~
>
> For a fix see http://cr.openjdk.java.net/~gziemski/8181503_rev1/src/share/vm/compiler/methodMatcher.cpp.udiff.html
>
>
> #3 Error in src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp
>
> jdk10/hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp:282:19: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
> __asm__("mov %%"SPELL_REG_SP", %0":"=r"(esp));
>
> For a fix see http://cr.openjdk.java.net/~gziemski/8181503_rev1/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp.udiff.html
>
>
> #4 Error in src/share/vm/code/compiledIC.cpp
>
> /Volumes/Work/jdk10/hotspot/src/share/vm/code/compiledIC.cpp:227:15: error: comparison between pointer and integer ('address' (aka 'unsigned char *') and 'int')
> if (entry == false) {
> ~~~~~ ^ ~~~~~
>
> For a fix see http://cr.openjdk.java.net/~gziemski/8181503_rev1/src/share/vm/code/compiledIC.cpp.udiff.html
>
> References:
> bug link at https://bugs.openjdk.java.net/browse/JDK-8181503
> webrev at http://cr.openjdk.java.net/~gziemski/8181503_rev1
>
> Tested with JPRT hotspot.
>
>
> cheers
>
More information about the hotspot-dev
mailing list