changeset 970:682194ca1d8d

Merge
author acorn
date Thu, 10 Sep 2009 09:04:41 -0400
parents 0804a88ed4f5 (diff) b1606b3c0a8a (current diff)
children 0fc81f0a8ca8
files src/share/vm/gc_implementation/shared/coTracker.cpp src/share/vm/gc_implementation/shared/coTracker.hpp src/share/vm/gc_implementation/shared/gcOverheadReporter.cpp src/share/vm/gc_implementation/shared/gcOverheadReporter.hpp src/share/vm/oops/instanceKlass.cpp
diffstat 6 files changed, 29 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/sparc/vm/interp_masm_sparc.cpp	Fri Sep 04 05:31:37 2009 -0700
+++ b/src/cpu/sparc/vm/interp_masm_sparc.cpp	Thu Sep 10 09:04:41 2009 -0400
@@ -1696,6 +1696,9 @@
 void InterpreterMacroAssembler::record_klass_in_profile_helper(
                                         Register receiver, Register scratch,
                                         int start_row, Label& done) {
+  if (TypeProfileWidth == 0)
+    return;
+
   int last_row = VirtualCallData::row_limit() - 1;
   assert(start_row <= last_row, "must be work left to do");
   // Test this row for both the receiver and for null.
--- a/src/cpu/x86/vm/interp_masm_x86_32.cpp	Fri Sep 04 05:31:37 2009 -0700
+++ b/src/cpu/x86/vm/interp_masm_x86_32.cpp	Thu Sep 10 09:04:41 2009 -0400
@@ -1262,6 +1262,9 @@
                                         Register receiver, Register mdp,
                                         Register reg2,
                                         int start_row, Label& done) {
+  if (TypeProfileWidth == 0)
+    return;
+
   int last_row = VirtualCallData::row_limit() - 1;
   assert(start_row <= last_row, "must be work left to do");
   // Test this row for both the receiver and for null.
--- a/src/cpu/x86/vm/interp_masm_x86_64.cpp	Fri Sep 04 05:31:37 2009 -0700
+++ b/src/cpu/x86/vm/interp_masm_x86_64.cpp	Thu Sep 10 09:04:41 2009 -0400
@@ -1272,6 +1272,9 @@
                                         Register receiver, Register mdp,
                                         Register reg2,
                                         int start_row, Label& done) {
+  if (TypeProfileWidth == 0)
+    return;
+
   int last_row = VirtualCallData::row_limit() - 1;
   assert(start_row <= last_row, "must be work left to do");
   // Test this row for both the receiver and for null.
--- a/src/os/windows/vm/os_windows.cpp	Fri Sep 04 05:31:37 2009 -0700
+++ b/src/os/windows/vm/os_windows.cpp	Thu Sep 10 09:04:41 2009 -0400
@@ -1526,7 +1526,8 @@
     case 5000: st->print(" Windows 2000"); break;
     case 5001: st->print(" Windows XP"); break;
     case 5002:
-    case 6000: {
+    case 6000:
+    case 6001: {
       // Retrieve SYSTEM_INFO from GetNativeSystemInfo call so that we could
       // find out whether we are running on 64 bit processor or not.
       SYSTEM_INFO si;
@@ -1549,13 +1550,27 @@
           st->print(" Windows XP x64 Edition");
         else
             st->print(" Windows Server 2003 family");
-      } else { // os_vers == 6000
+      } else if (os_vers == 6000) {
         if (osvi.wProductType == VER_NT_WORKSTATION)
             st->print(" Windows Vista");
         else
             st->print(" Windows Server 2008");
         if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
             st->print(" , 64 bit");
+      } else if (os_vers == 6001) {
+        if (osvi.wProductType == VER_NT_WORKSTATION) {
+            st->print(" Windows 7");
+        } else {
+            // Unrecognized windows, print out its major and minor versions
+            st->print(" Windows NT %d.%d", osvi.dwMajorVersion, osvi.dwMinorVersion);
+        }
+        if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
+            st->print(" , 64 bit");
+      } else { // future os
+        // Unrecognized windows, print out its major and minor versions
+        st->print(" Windows NT %d.%d", osvi.dwMajorVersion, osvi.dwMinorVersion);
+        if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
+            st->print(" , 64 bit");
       }
       break;
     }
--- a/src/share/vm/adlc/archDesc.cpp	Fri Sep 04 05:31:37 2009 -0700
+++ b/src/share/vm/adlc/archDesc.cpp	Thu Sep 10 09:04:41 2009 -0400
@@ -1031,7 +1031,8 @@
 //---------------------------addSUNcopyright-------------------------------
 // output SUN copyright info
 void ArchDesc::addSunCopyright(char* legal, int size, FILE *fp) {
-  fwrite(legal, size, 1, fp);
+  size_t count = fwrite(legal, 1, size, fp);
+  assert(count == (size_t) size, "copyright info truncated");
   fprintf(fp,"\n");
   fprintf(fp,"// Machine Generated File.  Do Not Edit!\n");
   fprintf(fp,"\n");
--- a/src/share/vm/oops/instanceKlass.cpp	Fri Sep 04 05:31:37 2009 -0700
+++ b/src/share/vm/oops/instanceKlass.cpp	Thu Sep 10 09:04:41 2009 -0400
@@ -1085,6 +1085,7 @@
     if (indices == NULL || (length = (size_t)indices[0]) <= idnum) {
       size_t size = MAX2(idnum+1, (size_t)idnum_allocated_count());
       int* new_indices = NEW_C_HEAP_ARRAY(int, size+1);
+      new_indices[0] =(int)size;  // array size held in the first element
       // Copy the existing entries, if any
       size_t i;
       for (i = 0; i < length; i++) {