--- 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