Re: RFR - 8072450: 9-dev build failed on elinux-i586 and rlinux-i586
On 04/02/15 17:21, Christian Thalinger wrote: -const jlong MAX_DIFF_SECS = 0x01; // 2^32 +const jlong MAX_DIFF_SECS = 0x01LL; // 2^32 Don’t use LL directly; we have a compiler-dependent macro for this: CONST64 Hi Christian, I have pushed the change as it was reviewed by David, Coleen, Staffan. I have logged https://bugs.openjdk.java.net/browse/JDK-8072482 (assigned to myself) as a followup bug. best regards, -- daniel
Re: RFR - 8072450: 9-dev build failed on elinux-i586 and rlinux-i586
On Feb 4, 2015, at 3:31 AM, Daniel Fuchs daniel.fu...@oracle.com wrote: Hi, Please find below a fix for: 8072450: 9-dev build failed on elinux-i586 and rlinux-i586 My fix for JDK-8068730 which was integrated from hs-rt into jdk9-dev yesterday is causing a build failure in the jdk9/dev nightly on two platforms. It appears that these platforms have a slightly older version of the compiler - which chokes on jvm.cpp with the following error: hotspot/src/share/vm/prims/jvm.cpp:307: error: integer constant is too large for ���long��� type Adding a LL suffix should solve the issue: ## diff --git a/src/share/vm/prims/jvm.cpp b/src/share/vm/prims/jvm.cpp --- a/src/share/vm/prims/jvm.cpp +++ b/src/share/vm/prims/jvm.cpp @@ -304,7 +304,7 @@ // java.lang.System, but we choose to keep it here so that it stays next // to JVM_CurrentTimeMillis and JVM_NanoTime -const jlong MAX_DIFF_SECS = 0x01; // 2^32 +const jlong MAX_DIFF_SECS = 0x01LL; // 2^32 Don’t use LL directly; we have a compiler-dependent macro for this: CONST64 const jlong MIN_DIFF_SECS = -MAX_DIFF_SECS; // -2^32 JVM_LEAF(jlong, JVM_GetNanoTimeAdjustment(JNIEnv *env, jclass ignored, jlong offset_secs)) ## ( or if you prefer here is a webrev: http://cr.openjdk.java.net/~dfuchs/webrev_8072450/webrev.00 ) best regards, -- daniel
Re: RFR - 8072450: 9-dev build failed on elinux-i586 and rlinux-i586
On Feb 4, 2015, at 9:44 AM, Daniel Fuchs daniel.fu...@oracle.com wrote: On 04/02/15 17:21, Christian Thalinger wrote: -const jlong MAX_DIFF_SECS = 0x01; // 2^32 +const jlong MAX_DIFF_SECS = 0x01LL; // 2^32 Don’t use LL directly; we have a compiler-dependent macro for this: CONST64 Hi Christian, I have pushed the change as it was reviewed by David, Coleen, Staffan. I have logged https://bugs.openjdk.java.net/browse/JDK-8072482 (assigned to myself) as a followup bug. That’s fine, thanks. Maybe you can fix a couple other places where LL-usage crept in too. best regards, -- daniel
Re: RFR - 8072450: 9-dev build failed on elinux-i586 and rlinux-i586
On 5/02/2015 6:17 AM, Christian Thalinger wrote: On Feb 4, 2015, at 9:44 AM, Daniel Fuchs daniel.fu...@oracle.com wrote: On 04/02/15 17:21, Christian Thalinger wrote: -const jlong MAX_DIFF_SECS = 0x01; // 2^32 +const jlong MAX_DIFF_SECS = 0x01LL; // 2^32 Don’t use LL directly; we have a compiler-dependent macro for this: Sorry my bad - I forgot we had a macro for this. :( CONST64 Hi Christian, I have pushed the change as it was reviewed by David, Coleen, Staffan. I have logged https://bugs.openjdk.java.net/browse/JDK-8072482 (assigned to myself) as a followup bug. That’s fine, thanks. Maybe you can fix a couple other places where LL-usage crept in too. ./cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp: if (op1 == (jlong) 0x8000LL op2 == -1) return op1; ./cpu/zero/vm/bytecodeInterpreter_zero.inline.hpp: if (op1 == (jlong) 0x8000LL op2 == -1) return 0; ./share/vm/opto/divnode.cpp: const uint64_t two63 = 0x8000LL; // 2**63. ./share/vm/gc_implementation/g1/g1CollectorPolicy.cpp: gclog_or_tty-print_cr(ALL PAUSES); ./os/aix/vm/os_aix.cpp:return 0xLL; ./os/aix/vm/os_aix.cpp: sys_time = thrdentry.ti_ru.ru_stime.tv_sec * 10LL + thrdentry.ti_ru.ru_stime.tv_usec * 1000LL; ./os/aix/vm/os_aix.cpp: user_time = thrdentry.ti_ru.ru_utime.tv_sec * 10LL + thrdentry.ti_ru.ru_utime.tv_usec * 1000LL; David - best regards, -- daniel
Re: RFR - 8072450: 9-dev build failed on elinux-i586 and rlinux-i586
Looks good! Thanks, /Staffan On 4 feb 2015, at 12:31, Daniel Fuchs daniel.fu...@oracle.com wrote: Hi, Please find below a fix for: 8072450: 9-dev build failed on elinux-i586 and rlinux-i586 My fix for JDK-8068730 which was integrated from hs-rt into jdk9-dev yesterday is causing a build failure in the jdk9/dev nightly on two platforms. It appears that these platforms have a slightly older version of the compiler - which chokes on jvm.cpp with the following error: hotspot/src/share/vm/prims/jvm.cpp:307: error: integer constant is too large for ���long��� type Adding a LL suffix should solve the issue: ## diff --git a/src/share/vm/prims/jvm.cpp b/src/share/vm/prims/jvm.cpp --- a/src/share/vm/prims/jvm.cpp +++ b/src/share/vm/prims/jvm.cpp @@ -304,7 +304,7 @@ // java.lang.System, but we choose to keep it here so that it stays next // to JVM_CurrentTimeMillis and JVM_NanoTime -const jlong MAX_DIFF_SECS = 0x01; // 2^32 +const jlong MAX_DIFF_SECS = 0x01LL; // 2^32 const jlong MIN_DIFF_SECS = -MAX_DIFF_SECS; // -2^32 JVM_LEAF(jlong, JVM_GetNanoTimeAdjustment(JNIEnv *env, jclass ignored, jlong offset_secs)) ## ( or if you prefer here is a webrev: http://cr.openjdk.java.net/~dfuchs/webrev_8072450/webrev.00 ) best regards, -- daniel
Re: RFR - 8072450: 9-dev build failed on elinux-i586 and rlinux-i586
Reviewed! Just to clarify for others - only nightly builds seem to be affected by this due to use of very old gcc version. So developers should be unlikely to see this. JPRT is not affected. Thanks, David On 4/02/2015 9:31 PM, Daniel Fuchs wrote: Hi, Please find below a fix for: 8072450: 9-dev build failed on elinux-i586 and rlinux-i586 My fix for JDK-8068730 which was integrated from hs-rt into jdk9-dev yesterday is causing a build failure in the jdk9/dev nightly on two platforms. It appears that these platforms have a slightly older version of the compiler - which chokes on jvm.cpp with the following error: hotspot/src/share/vm/prims/jvm.cpp:307: error: integer constant is too large for ���long��� type Adding a LL suffix should solve the issue: ## diff --git a/src/share/vm/prims/jvm.cpp b/src/share/vm/prims/jvm.cpp --- a/src/share/vm/prims/jvm.cpp +++ b/src/share/vm/prims/jvm.cpp @@ -304,7 +304,7 @@ // java.lang.System, but we choose to keep it here so that it stays next // to JVM_CurrentTimeMillis and JVM_NanoTime -const jlong MAX_DIFF_SECS = 0x01; // 2^32 +const jlong MAX_DIFF_SECS = 0x01LL; // 2^32 const jlong MIN_DIFF_SECS = -MAX_DIFF_SECS; // -2^32 JVM_LEAF(jlong, JVM_GetNanoTimeAdjustment(JNIEnv *env, jclass ignored, jlong offset_secs)) ## ( or if you prefer here is a webrev: http://cr.openjdk.java.net/~dfuchs/webrev_8072450/webrev.00 ) best regards, -- daniel