Merge
authorphh
Mon, 19 Dec 2011 21:38:51 -0800
changeset 11255 7d28e253b4b0
parent 11254 e2dd3c32a7cb (current diff)
parent 11253 8d06f82cbd11 (diff)
child 11256 025cd1741566
child 11257 b98dfa12a8f7
Merge
--- a/.hgtags	Mon Dec 19 15:50:47 2011 -0500
+++ b/.hgtags	Mon Dec 19 21:38:51 2011 -0800
@@ -138,3 +138,4 @@
 9ffaa48dbfb0f5936c2b789867d0785faec7071d jdk8-b14
 b5060eae3b32fd9f884a09774338cd8186d7fafa jdk8-b15
 736a63b854f321c7824b7e47890135f80aee05e3 jdk8-b16
+f0eccb2946986fb9626efde7d8ed9c8192623f5c jdk8-b17
--- a/.hgtags-top-repo	Mon Dec 19 15:50:47 2011 -0500
+++ b/.hgtags-top-repo	Mon Dec 19 21:38:51 2011 -0800
@@ -137,3 +137,5 @@
 26fb81a1e9ceb9baffba216acd9ded62e9e9d5ab jdk8-b13
 23aa7f2c80a2fa354c80decf03e7c2018177ef4e jdk8-b14
 a4f28069d44a379cda99dd1d921d19f819726d22 jdk8-b15
+4e06ae613e99549835896720c7a68c29ad5543f5 jdk8-b17
+4e06ae613e99549835896720c7a68c29ad5543f5 jdk8-b16
--- a/corba/.hgtags	Mon Dec 19 15:50:47 2011 -0500
+++ b/corba/.hgtags	Mon Dec 19 21:38:51 2011 -0800
@@ -137,3 +137,5 @@
 5b9d9b839d3d7fe02347827221c97c6d242a6f96 jdk8-b13
 e59c47de1ad8982ff3b0e843773a6902b36c2337 jdk8-b14
 7da69e7175a7c7564ee6d0e52255cbb8a57ef577 jdk8-b15
+82dc033975bb9b553b4ef97b6d483eda8de32e0f jdk8-b17
+82dc033975bb9b553b4ef97b6d483eda8de32e0f jdk8-b16
--- a/hotspot/.hgtags	Mon Dec 19 15:50:47 2011 -0500
+++ b/hotspot/.hgtags	Mon Dec 19 21:38:51 2011 -0800
@@ -201,4 +201,7 @@
 088d09a130ff02d8f5f05e92256baabe412f0439 jdk8-b14
 6c2a55d4902f202e1c2de1df17b7da083a2c31e8 hs23-b06
 fde2a39ed7f39233b287fbc278f437aac06c275b jdk8-b15
+d1f29d4e0bc60e8bd7ae961f1306d8ab33290212 jdk8-b17
+d1f29d4e0bc60e8bd7ae961f1306d8ab33290212 jdk8-b16
 6de8c9ba5907e4c5ca05ac4b8d84a8e2cbd92399 hs23-b07
+a2fef924d8e6f37dac2a887315e3502876cc8e24 hs23-b08
--- a/hotspot/make/hotspot_version	Mon Dec 19 15:50:47 2011 -0500
+++ b/hotspot/make/hotspot_version	Mon Dec 19 21:38:51 2011 -0800
@@ -35,7 +35,7 @@
 
 HS_MAJOR_VER=23
 HS_MINOR_VER=0
-HS_BUILD_NUMBER=08
+HS_BUILD_NUMBER=09
 
 JDK_MAJOR_VER=1
 JDK_MINOR_VER=8
--- a/hotspot/src/cpu/x86/vm/assembler_x86.cpp	Mon Dec 19 15:50:47 2011 -0500
+++ b/hotspot/src/cpu/x86/vm/assembler_x86.cpp	Mon Dec 19 21:38:51 2011 -0800
@@ -5968,7 +5968,9 @@
   assert(number_of_arguments >= 0   , "cannot have negative number of arguments");
   LP64_ONLY(assert(java_thread == r15_thread, "unexpected register"));
 #ifdef ASSERT
-  LP64_ONLY(if (UseCompressedOops) verify_heapbase("call_VM_base");)
+  // TraceBytecodes does not use r12 but saves it over the call, so don't verify
+  // r12 is the heapbase.
+  LP64_ONLY(if (UseCompressedOops && !TraceBytecodes) verify_heapbase("call_VM_base");)
 #endif // ASSERT
 
   assert(java_thread != oop_result  , "cannot use the same register for java_thread & oop_result");
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp	Mon Dec 19 15:50:47 2011 -0500
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp	Mon Dec 19 21:38:51 2011 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -53,6 +53,9 @@
   case noop_task:
     result = "noop task";
     break;
+  case idle_task:
+    result = "idle task";
+    break;
   }
   return result;
 };
@@ -782,6 +785,12 @@
 void GCTaskManager::execute_and_wait(GCTaskQueue* list) {
   WaitForBarrierGCTask* fin = WaitForBarrierGCTask::create();
   list->enqueue(fin);
+  // The barrier task will be read by one of the GC
+  // workers once it is added to the list of tasks.
+  // Be sure that is globally visible before the
+  // GC worker reads it (which is after the task is added
+  // to the list of tasks below).
+  OrderAccess::storestore();
   add_list(list);
   fin->wait_for(true /* reset */);
   // We have to release the barrier tasks!
@@ -833,11 +842,15 @@
 
 IdleGCTask* IdleGCTask::create() {
   IdleGCTask* result = new IdleGCTask(false);
+  assert(UseDynamicNumberOfGCThreads,
+    "Should only be used with dynamic GC thread");
   return result;
 }
 
 IdleGCTask* IdleGCTask::create_on_c_heap() {
   IdleGCTask* result = new(ResourceObj::C_HEAP) IdleGCTask(true);
+  assert(UseDynamicNumberOfGCThreads,
+    "Should only be used with dynamic GC thread");
   return result;
 }
 
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp	Mon Dec 19 15:50:47 2011 -0500
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp	Mon Dec 19 21:38:51 2011 -0800
@@ -1,6 +1,6 @@
 
 /*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -129,6 +129,8 @@
     for (; /* break */; ) {
       // This will block until there is a task to be gotten.
       GCTask* task = manager()->get_task(which());
+      // Record if this is an idle task for later use.
+      bool is_idle_task = task->is_idle_task();
       // In case the update is costly
       if (PrintGCTaskTimeStamps) {
         timer.update();
@@ -137,9 +139,13 @@
       jlong entry_time = timer.ticks();
       char* name = task->name();
 
+      // If this is the barrier task, it can be destroyed
+      // by the GC task manager once the do_it() executes.
       task->do_it(manager(), which());
 
-      if (!task->is_idle_task()) {
+      // Use the saved value of is_idle_task because references
+      // using "task" are not reliable for the barrier task.
+      if (!is_idle_task) {
         manager()->note_completion(which());
 
         if (PrintGCTaskTimeStamps) {
--- a/jaxp/.hgtags	Mon Dec 19 15:50:47 2011 -0500
+++ b/jaxp/.hgtags	Mon Dec 19 21:38:51 2011 -0800
@@ -137,3 +137,5 @@
 bcc739229f6384786c7ac0b52c1822c85674dcf1 jdk8-b13
 9d0c9d638757cb09de18933b946fa04b4f3fb94f jdk8-b14
 804f666d6d44e33caac12ad8da3d2780ac44ef72 jdk8-b15
+09eb517404b059607aca30cdd1af83ffc57eafeb jdk8-b17
+09eb517404b059607aca30cdd1af83ffc57eafeb jdk8-b16
--- a/jaxws/.hgtags	Mon Dec 19 15:50:47 2011 -0500
+++ b/jaxws/.hgtags	Mon Dec 19 21:38:51 2011 -0800
@@ -137,3 +137,5 @@
 adf2a6b5fde14090beb9ebc40c4114132ddee731 jdk8-b13
 54c4bf4b83ecc191351747d5d28da849d34c0243 jdk8-b14
 c9ab96ff23d52d85d5dcce1f9c0fd7a3de418c74 jdk8-b15
+3d45ab79643d5b4cc7e050ae2d9c08b4d89d665e jdk8-b17
+3d45ab79643d5b4cc7e050ae2d9c08b4d89d665e jdk8-b16
--- a/jdk/.hgtags	Mon Dec 19 15:50:47 2011 -0500
+++ b/jdk/.hgtags	Mon Dec 19 21:38:51 2011 -0800
@@ -137,3 +137,5 @@
 4cb2e8679b27432854690cb688ea06d3b2d8e008 jdk8-b13
 99632935785e2038b2fc836da9f2ede69dea294b jdk8-b14
 3c248d0e2c486624cc0d7aba1e4df45ae5774ff7 jdk8-b15
+b71d1acfae5240d8c1359443cd02b5ddb587231c jdk8-b17
+929597c6e777f742ad252660045ebaa4a3ea4772 jdk8-b16
--- a/jdk/make/common/shared/Sanity.gmk	Mon Dec 19 15:50:47 2011 -0500
+++ b/jdk/make/common/shared/Sanity.gmk	Mon Dec 19 21:38:51 2011 -0800
@@ -1555,60 +1555,6 @@
   endif
 endif
 
-
-######################################################
-# SECURITY_BASELINE_131 test
-######################################################
-security_baseline_131:
-ifeq ($(PLATFORM), windows)
-	@if [ -z "$(SECURITY_BASELINE_131)" ]; then \
-	    $(ECHO) "WARNING: Your SECURITY_BASELINE_131 setting is empty.\n" \
-		"        Setting it to the default value of 1.3.1_20.\n" \
-		"        It is recommended to set SECURITY_BASELINE_131.\n" \
-		"" >> $(WARNING_FILE) ; \
-	fi
-endif
-
-######################################################
-# SECURITY_BASELINE_142 test
-######################################################
-security_baseline_142:
-ifeq ($(PLATFORM), windows)
-	@if [ -z "$(SECURITY_BASELINE_142)" ]; then \
-	    $(ECHO) "WARNING: Your SECURITY_BASELINE_142 setting is empty.\n" \
-		"        Setting it to the default value of 1.4.2_10.\n" \
-		"        It is recommended to set SECURITY_BASELINE_142.\n" \
-		"" >> $(WARNING_FILE) ; \
-	fi
-endif
-
-######################################################
-# SECURITY_BASELINE_150 test
-######################################################
-security_baseline_150:
-ifeq ($(PLATFORM), windows)
-	@if [ -z "$(SECURITY_BASELINE_150)" ]; then \
-	    $(ECHO) "WARNING: Your SECURITY_BASELINE_150 setting is empty.\n" \
-		"        Setting it to the default value of 1.5.0_07.\n" \
-		"        It is recommended to set SECURITY_BASELINE_150.\n" \
-		"" >> $(WARNING_FILE) ; \
-	fi
-endif
-
-######################################################
-# SECURITY_BASELINE_160 test
-######################################################
-security_baseline_160:
-ifeq ($(PLATFORM), windows)
-	@if [ -z "$(SECURITY_BASELINE_160)" ]; then \
-	    $(ECHO) "WARNING: Your SECURITY_BASELINE_160 setting is empty.\n" \
-		"        Setting it to the default value of 1.6.0_11.\n" \
-		"        It is recommended to set SECURITY_BASELINE_160.\n" \
-		"" >> $(WARNING_FILE) ; \
-	fi
-endif
-
-
 ######################################################
 # this should be the last rule in any target's sanity rule.
 ######################################################
--- a/langtools/.hgtags	Mon Dec 19 15:50:47 2011 -0500
+++ b/langtools/.hgtags	Mon Dec 19 21:38:51 2011 -0800
@@ -137,3 +137,5 @@
 ae25163501bc7477cd907e26a006a6f1b05fdb6d jdk8-b13
 58f1325d72b2bacc901f5189ee5e4e81e81ea657 jdk8-b14
 07599bd780cab1f40da7915e1dc6774629b0cf8c jdk8-b15
+1cbe86c11ba69521875c0b0357d7540781eb334d jdk8-b17
+ec2c0973cc31e143cffc05ceb63d98fae76f97d4 jdk8-b16