Re: RFR - 8072450: 9-dev build failed on elinux-i586 and rlinux-i586

2015-02-04 Thread Daniel Fuchs

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

2015-02-04 Thread Christian Thalinger

 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

2015-02-04 Thread Christian Thalinger

 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

2015-02-04 Thread David Holmes

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

2015-02-04 Thread Staffan Larsen
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

2015-02-04 Thread David Holmes

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