changeset 7343:4187dc92e90b hs25.60-b15

Merge
author amurillo
date Thu, 07 May 2015 19:17:48 -0700
parents ade5be2b1758 (current diff) 9a23a160ca57 (diff)
children b99f1bf208f3
files
diffstat 7 files changed, 55 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/make/hotspot_version	Wed May 06 13:12:02 2015 -0700
+++ b/make/hotspot_version	Thu May 07 19:17:48 2015 -0700
@@ -35,7 +35,7 @@
 
 HS_MAJOR_VER=25
 HS_MINOR_VER=60
-HS_BUILD_NUMBER=14
+HS_BUILD_NUMBER=15
 
 JDK_MAJOR_VER=1
 JDK_MINOR_VER=8
--- a/src/os/bsd/vm/os_bsd.cpp	Wed May 06 13:12:02 2015 -0700
+++ b/src/os/bsd/vm/os_bsd.cpp	Thu May 07 19:17:48 2015 -0700
@@ -1197,12 +1197,18 @@
   guarantee(retval != 0, "just checking");
   return retval;
 
-#elif __FreeBSD__
+#else
+  #ifdef __FreeBSD__
   retval = syscall(SYS_thr_self);
-#elif __OpenBSD__
+  #else
+    #ifdef __OpenBSD__
   retval = syscall(SYS_getthrid);
-#elif __NetBSD__
+    #else
+      #ifdef __NetBSD__
   retval = (pid_t) syscall(SYS__lwp_self);
+      #endif
+    #endif
+  #endif
 #endif
 
   if (retval == -1) {
--- a/src/os/linux/vm/os_linux.cpp	Wed May 06 13:12:02 2015 -0700
+++ b/src/os/linux/vm/os_linux.cpp	Thu May 07 19:17:48 2015 -0700
@@ -209,17 +209,23 @@
 
 #ifndef SYS_gettid
 // i386: 224, ia64: 1105, amd64: 186, sparc 143
-#ifdef __ia64__
-#define SYS_gettid 1105
-#elif __i386__
-#define SYS_gettid 224
-#elif __amd64__
-#define SYS_gettid 186
-#elif __sparc__
-#define SYS_gettid 143
-#else
-#error define gettid for the arch
-#endif
+  #ifdef __ia64__
+    #define SYS_gettid 1105
+  #else
+    #ifdef __i386__
+      #define SYS_gettid 224
+    #else
+      #ifdef __amd64__
+        #define SYS_gettid 186
+      #else
+        #ifdef __sparc__
+          #define SYS_gettid 143
+        #else
+          #error define gettid for the arch
+        #endif
+      #endif
+    #endif
+  #endif
 #endif
 
 // Cpu architecture string
--- a/src/os/windows/vm/os_windows.cpp	Wed May 06 13:12:02 2015 -0700
+++ b/src/os/windows/vm/os_windows.cpp	Thu May 07 19:17:48 2015 -0700
@@ -110,11 +110,13 @@
 static FILETIME process_kernel_time;
 
 #ifdef _M_IA64
-#define __CPU__ ia64
-#elif _M_AMD64
-#define __CPU__ amd64
+  #define __CPU__ ia64
 #else
-#define __CPU__ i486
+  #ifdef _M_AMD64
+    #define __CPU__ amd64
+  #else
+    #define __CPU__ i486
+  #endif
 #endif
 
 // save DLL module handle, used by GetModuleFileName
@@ -2138,20 +2140,22 @@
   // at the beginning of the target bundle.
   exceptionInfo->ContextRecord->StIPSR &= 0xFFFFF9FFFFFFFFFF;
   assert(((DWORD64)handler & 0xF) == 0, "Target address must point to the beginning of a bundle!");
-#elif _M_AMD64
+#else
+  #ifdef _M_AMD64
   // Do not blow up if no thread info available.
   if (thread) {
     thread->set_saved_exception_pc((address)(DWORD_PTR)exceptionInfo->ContextRecord->Rip);
   }
   // Set pc to handler
   exceptionInfo->ContextRecord->Rip = (DWORD64)handler;
-#else
+  #else
   // Do not blow up if no thread info available.
   if (thread) {
     thread->set_saved_exception_pc((address)(DWORD_PTR)exceptionInfo->ContextRecord->Eip);
   }
   // Set pc to handler
   exceptionInfo->ContextRecord->Eip = (DWORD)(DWORD_PTR)handler;
+  #endif
 #endif
 
   // Continue the execution
@@ -2250,7 +2254,8 @@
   // (division by zero is handled explicitly)
 #ifdef _M_IA64
   assert(0, "Fix Handle_IDiv_Exception");
-#elif _M_AMD64
+#else
+  #ifdef  _M_AMD64
   PCONTEXT ctx = exceptionInfo->ContextRecord;
   address pc = (address)ctx->Rip;
   assert(pc[0] == 0xF7, "not an idiv opcode");
@@ -2261,7 +2266,7 @@
   ctx->Rax = (DWORD)min_jint;      // result
   ctx->Rdx = (DWORD)0;             // remainder
   // Continue the execution
-#else
+  #else
   PCONTEXT ctx = exceptionInfo->ContextRecord;
   address pc = (address)ctx->Eip;
   assert(pc[0] == 0xF7, "not an idiv opcode");
@@ -2272,6 +2277,7 @@
   ctx->Eax = (DWORD)min_jint;      // result
   ctx->Edx = (DWORD)0;             // remainder
   // Continue the execution
+  #endif
 #endif
   return EXCEPTION_CONTINUE_EXECUTION;
 }
@@ -2351,10 +2357,12 @@
   // This is needed for IA64 because "relocation" / "implicit null check" / "poll instruction"
   // information is saved in the Unix format.
   address pc_unix_format = (address) ((((uint64_t)pc) & 0xFFFFFFFFFFFFFFF0) | ((((uint64_t)pc) & 0xF) >> 2));
-#elif _M_AMD64
+#else
+  #ifdef _M_AMD64
   address pc = (address) exceptionInfo->ContextRecord->Rip;
-#else
+  #else
   address pc = (address) exceptionInfo->ContextRecord->Eip;
+  #endif
 #endif
   Thread* t = ThreadLocalStorage::get_thread_slow();          // slow & steady
 
--- a/src/share/vm/interpreter/interpreterRuntime.cpp	Wed May 06 13:12:02 2015 -0700
+++ b/src/share/vm/interpreter/interpreterRuntime.cpp	Thu May 07 19:17:48 2015 -0700
@@ -1306,6 +1306,8 @@
       member_name_oop = java_lang_invoke_DirectMethodHandle::member(member_name_oop);
     }
     thread->set_vm_result(member_name_oop);
+  } else {
+    thread->set_vm_result(NULL);
   }
 IRT_END
 #endif // INCLUDE_JVMTI
--- a/src/share/vm/memory/allocation.inline.hpp	Wed May 06 13:12:02 2015 -0700
+++ b/src/share/vm/memory/allocation.inline.hpp	Thu May 07 19:17:48 2015 -0700
@@ -62,11 +62,18 @@
   }
   return p;
 }
+
+#ifdef __GNUC__
+__attribute__((always_inline))
+#endif
 inline char* AllocateHeap(size_t size, MEMFLAGS flags,
     AllocFailType alloc_failmode = AllocFailStrategy::EXIT_OOM) {
   return AllocateHeap(size, flags, CURRENT_PC, alloc_failmode);
 }
 
+#ifdef __GNUC__
+__attribute__((always_inline))
+#endif
 inline char* ReallocateHeap(char *old, size_t size, MEMFLAGS flag,
     AllocFailType alloc_failmode = AllocFailStrategy::EXIT_OOM) {
   char* p = (char*) os::realloc(old, size, flag, CURRENT_PC);
--- a/test/runtime/lambda-features/InvokespecialInterface.java	Wed May 06 13:12:02 2015 -0700
+++ b/test/runtime/lambda-features/InvokespecialInterface.java	Thu May 07 19:17:48 2015 -0700
@@ -28,7 +28,7 @@
  * @bug 8025937
  * @bug 8033528
  * @summary [JDK 8] Test invokespecial and invokeinterface with the same JVM_CONSTANT_InterfaceMethodref
- * @run main/othervm -XX:+StressRewriter InvokespecialInterface
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+StressRewriter InvokespecialInterface
  */
 import java.util.function.*;
 import java.util.*;