8044775: Improve usage of umbrella header atomic.inline.hpp.
Reviewed-by: stefank, kvn
--- a/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -37,6 +37,7 @@
#include "prims/jvmtiExport.hpp"
#include "prims/jvmtiThreadState.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/frame.inline.hpp"
#include "runtime/interfaceSupport.hpp"
--- a/hotspot/src/os/aix/vm/osThread_aix.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/os/aix/vm/osThread_aix.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -24,17 +24,13 @@
*/
// no precompiled headers
-#include "runtime/atomic.hpp"
+
#include "runtime/handles.inline.hpp"
#include "runtime/mutexLocker.hpp"
#include "runtime/os.hpp"
#include "runtime/osThread.hpp"
#include "runtime/safepoint.hpp"
#include "runtime/vmThread.hpp"
-#ifdef TARGET_ARCH_ppc
-# include "assembler_ppc.inline.hpp"
-#endif
-
void OSThread::pd_initialize() {
assert(this != NULL, "check");
--- a/hotspot/src/os/aix/vm/os_aix.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/os/aix/vm/os_aix.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -48,6 +48,7 @@
#include "prims/jvm.h"
#include "prims/jvm_misc.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/extendedPC.hpp"
#include "runtime/globals.hpp"
#include "runtime/interfaceSupport.hpp"
--- a/hotspot/src/os/bsd/vm/os_bsd.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/os/bsd/vm/os_bsd.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -41,6 +41,7 @@
#include "prims/jvm.h"
#include "prims/jvm_misc.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/extendedPC.hpp"
#include "runtime/globals.hpp"
#include "runtime/interfaceSupport.hpp"
--- a/hotspot/src/os/linux/vm/os_linux.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/os/linux/vm/os_linux.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -41,6 +41,7 @@
#include "prims/jvm.h"
#include "prims/jvm_misc.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/extendedPC.hpp"
#include "runtime/globals.hpp"
#include "runtime/interfaceSupport.hpp"
--- a/hotspot/src/os/solaris/vm/osThread_solaris.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/os/solaris/vm/osThread_solaris.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -23,7 +23,6 @@
*/
// no precompiled headers
-#include "runtime/atomic.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/mutexLocker.hpp"
#include "runtime/os.hpp"
--- a/hotspot/src/os/solaris/vm/os_solaris.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/os/solaris/vm/os_solaris.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -41,6 +41,7 @@
#include "prims/jvm.h"
#include "prims/jvm_misc.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/extendedPC.hpp"
#include "runtime/globals.hpp"
#include "runtime/interfaceSupport.hpp"
--- a/hotspot/src/os/solaris/vm/thread_solaris.inline.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/os/solaris/vm/thread_solaris.inline.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -29,7 +29,6 @@
#error "This file should only be included from thread.inline.hpp"
#endif
-#include "runtime/atomic.inline.hpp"
#include "runtime/thread.hpp"
#include "runtime/threadLocalStorage.hpp"
--- a/hotspot/src/os/windows/vm/osThread_windows.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/os/windows/vm/osThread_windows.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -23,7 +23,6 @@
*/
// no precompiled headers
-#include "runtime/atomic.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/mutexLocker.hpp"
#include "runtime/os.hpp"
--- a/hotspot/src/os/windows/vm/os_windows.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/os/windows/vm/os_windows.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -44,6 +44,7 @@
#include "prims/jvm.h"
#include "prims/jvm_misc.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/extendedPC.hpp"
#include "runtime/globals.hpp"
#include "runtime/interfaceSupport.hpp"
--- a/hotspot/src/os/windows/vm/threadCritical_windows.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/os/windows/vm/threadCritical_windows.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -23,6 +23,7 @@
*/
#include "precompiled.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/thread.inline.hpp"
#include "runtime/threadCritical.hpp"
--- a/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -38,6 +38,7 @@
#include "prims/jvm.h"
#include "prims/jvm_misc.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/extendedPC.hpp"
#include "runtime/frame.inline.hpp"
#include "runtime/interfaceSupport.hpp"
--- a/hotspot/src/share/vm/asm/assembler.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/asm/assembler.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -26,7 +26,6 @@
#include "asm/macroAssembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "asm/codeBuffer.hpp"
-#include "runtime/atomic.hpp"
#include "runtime/atomic.inline.hpp"
#include "runtime/icache.hpp"
#include "runtime/os.hpp"
--- a/hotspot/src/share/vm/c1/c1_Runtime1.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/c1/c1_Runtime1.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -47,6 +47,7 @@
#include "memory/resourceArea.hpp"
#include "oops/objArrayKlass.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/biasedLocking.hpp"
#include "runtime/compilationPolicy.hpp"
#include "runtime/interfaceSupport.hpp"
--- a/hotspot/src/share/vm/classfile/classLoaderData.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/classfile/classLoaderData.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -57,6 +57,7 @@
#include "memory/metadataFactory.hpp"
#include "memory/metaspaceShared.hpp"
#include "memory/oopFactory.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/jniHandles.hpp"
#include "runtime/mutex.hpp"
#include "runtime/safepoint.hpp"
--- a/hotspot/src/share/vm/classfile/stringTable.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/classfile/stringTable.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -33,6 +33,7 @@
#include "memory/gcLocker.inline.hpp"
#include "oops/oop.inline.hpp"
#include "oops/oop.inline2.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/mutexLocker.hpp"
#include "utilities/hashtable.inline.hpp"
#if INCLUDE_ALL_GCS
--- a/hotspot/src/share/vm/classfile/symbolTable.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/classfile/symbolTable.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -33,6 +33,7 @@
#include "memory/gcLocker.inline.hpp"
#include "oops/oop.inline.hpp"
#include "oops/oop.inline2.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/mutexLocker.hpp"
#include "utilities/hashtable.inline.hpp"
--- a/hotspot/src/share/vm/code/nmethod.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/code/nmethod.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -37,6 +37,7 @@
#include "oops/methodData.hpp"
#include "prims/jvmtiRedefineClassesTrace.hpp"
#include "prims/jvmtiImpl.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/orderAccess.inline.hpp"
#include "runtime/sharedRuntime.hpp"
#include "runtime/sweeper.hpp"
--- a/hotspot/src/share/vm/compiler/compileBroker.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/compiler/compileBroker.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -36,6 +36,7 @@
#include "oops/oop.inline.hpp"
#include "prims/nativeLookup.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/compilationPolicy.hpp"
#include "runtime/init.hpp"
#include "runtime/interfaceSupport.hpp"
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -56,6 +56,7 @@
#include "memory/tenuredGeneration.hpp"
#include "oops/oop.inline.hpp"
#include "prims/jvmtiExport.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/globals_extension.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/java.hpp"
--- a/hotspot/src/share/vm/gc_implementation/g1/collectionSetChooser.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/collectionSetChooser.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -28,6 +28,7 @@
#include "gc_implementation/g1/g1CollectorPolicy.hpp"
#include "gc_implementation/g1/g1ErgoVerbose.hpp"
#include "memory/space.inline.hpp"
+#include "runtime/atomic.inline.hpp"
// Even though we don't use the GC efficiency in our heuristics as
// much as we used to, we still order according to GC efficiency. This
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -45,6 +45,7 @@
#include "oops/oop.inline.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/java.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/prefetch.inline.hpp"
#include "services/memTracker.hpp"
--- a/hotspot/src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -26,7 +26,7 @@
#include "gc_implementation/g1/dirtyCardQueue.hpp"
#include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
#include "gc_implementation/g1/heapRegionRemSet.hpp"
-#include "runtime/atomic.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/mutexLocker.hpp"
#include "runtime/safepoint.hpp"
#include "runtime/thread.inline.hpp"
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -62,6 +62,7 @@
#include "memory/referenceProcessor.hpp"
#include "oops/oop.inline.hpp"
#include "oops/oop.pcgc.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/prefetch.inline.hpp"
#include "runtime/orderAccess.inline.hpp"
#include "runtime/vmThread.hpp"
--- a/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -28,6 +28,7 @@
#include "gc_implementation/g1/g1GCPhaseTimes.hpp"
#include "gc_implementation/g1/g1Log.hpp"
#include "gc_implementation/g1/g1StringDedup.hpp"
+#include "runtime/atomic.inline.hpp"
// Helper class for avoiding interleaved logging
class LineBuffer: public StackObj {
--- a/hotspot/src/share/vm/gc_implementation/g1/g1HotCardCache.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1HotCardCache.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -28,7 +28,7 @@
#include "gc_implementation/g1/g1HotCardCache.hpp"
#include "gc_implementation/g1/g1RemSet.hpp"
#include "gc_implementation/g1/heapRegion.hpp"
-#include "runtime/atomic.hpp"
+#include "runtime/atomic.inline.hpp"
G1HotCardCache::G1HotCardCache(G1CollectedHeap *g1h):
_g1h(g1h), _hot_cache(NULL), _use_cache(false), _card_counts(g1h) {}
--- a/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -44,6 +44,7 @@
#include "oops/instanceRefKlass.hpp"
#include "oops/oop.inline.hpp"
#include "prims/jvmtiExport.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/biasedLocking.hpp"
#include "runtime/fprofiler.hpp"
#include "runtime/synchronizer.hpp"
--- a/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -26,6 +26,7 @@
#include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
#include "gc_implementation/g1/heapRegion.hpp"
#include "gc_implementation/g1/satbQueue.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/mutexLocker.hpp"
#include "runtime/orderAccess.inline.hpp"
#include "runtime/thread.inline.hpp"
--- a/hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -31,6 +31,7 @@
#include "gc_implementation/g1/g1StringDedupStat.hpp"
#include "gc_implementation/g1/g1StringDedupTable.hpp"
#include "gc_implementation/g1/g1StringDedupThread.hpp"
+#include "runtime/atomic.inline.hpp"
bool G1StringDedup::_enabled = false;
@@ -211,3 +212,16 @@
G1StringDedupTable::finish_rehash(_rehashed_table);
}
}
+
+// Atomically claims the next available queue for exclusive access by
+// the current thread. Returns the queue number of the claimed queue.
+size_t G1StringDedupUnlinkOrOopsDoClosure::claim_queue() {
+ return (size_t)Atomic::add_ptr(1, &_next_queue) - 1;
+}
+
+// Atomically claims the next available table partition for exclusive
+// access by the current thread. Returns the table bucket number where
+// the claimed partition starts.
+size_t G1StringDedupUnlinkOrOopsDoClosure::claim_table_partition(size_t partition_size) {
+ return (size_t)Atomic::add_ptr(partition_size, &_next_bucket) - partition_size;
+}
--- a/hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -84,6 +84,7 @@
#include "memory/allocation.hpp"
#include "oops/oop.hpp"
+#include "runtime/atomic.hpp"
class OopClosure;
class BoolObjectClosure;
@@ -174,16 +175,12 @@
// Atomically claims the next available queue for exclusive access by
// the current thread. Returns the queue number of the claimed queue.
- size_t claim_queue() {
- return (size_t)Atomic::add_ptr(1, &_next_queue) - 1;
- }
+ size_t claim_queue();
// Atomically claims the next available table partition for exclusive
// access by the current thread. Returns the table bucket number where
// the claimed partition starts.
- size_t claim_table_partition(size_t partition_size) {
- return (size_t)Atomic::add_ptr(partition_size, &_next_bucket) - partition_size;
- }
+ size_t claim_table_partition(size_t partition_size);
// Applies and returns the result from the is_alive closure, or
// returns true if no such closure was provided.
--- a/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -26,6 +26,7 @@
#include "classfile/javaClasses.hpp"
#include "gc_implementation/g1/g1StringDedupQueue.hpp"
#include "memory/gcLocker.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/mutexLocker.hpp"
#include "utilities/stack.inline.hpp"
--- a/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupThread.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupThread.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -28,6 +28,7 @@
#include "gc_implementation/g1/g1StringDedupTable.hpp"
#include "gc_implementation/g1/g1StringDedupThread.hpp"
#include "gc_implementation/g1/g1StringDedupQueue.hpp"
+#include "runtime/atomic.inline.hpp"
G1StringDedupThread* G1StringDedupThread::_thread = NULL;
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -34,6 +34,7 @@
#include "memory/iterator.hpp"
#include "memory/space.inline.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/orderAccess.inline.hpp"
PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -32,6 +32,7 @@
#include "memory/padded.inline.hpp"
#include "memory/space.inline.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "utilities/bitMap.inline.hpp"
#include "utilities/globalDefinitions.hpp"
#include "utilities/growableArray.hpp"
--- a/hotspot/src/share/vm/gc_implementation/g1/sparsePRT.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/sparsePRT.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -29,6 +29,7 @@
#include "memory/allocation.inline.hpp"
#include "memory/cardTableModRefBS.hpp"
#include "memory/space.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/mutexLocker.hpp"
#define SPARSE_PRT_VERBOSE 0
--- a/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -47,6 +47,7 @@
#include "oops/objArrayOop.hpp"
#include "oops/oop.inline.hpp"
#include "oops/oop.pcgc.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/handles.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/java.hpp"
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -26,6 +26,7 @@
#include "gc_implementation/parallelScavenge/parMarkBitMap.hpp"
#include "gc_implementation/parallelScavenge/psParallelCompact.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/os.hpp"
#include "utilities/bitMap.inline.hpp"
#include "services/memTracker.hpp"
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -34,6 +34,7 @@
#include "oops/objArrayKlass.inline.hpp"
#include "oops/oop.inline.hpp"
#include "oops/oop.pcgc.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "utilities/stack.inline.hpp"
PSOldGen* ParCompactionManager::_old_gen = NULL;
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -51,6 +51,7 @@
#include "oops/methodData.hpp"
#include "oops/oop.inline.hpp"
#include "oops/oop.pcgc.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/fprofiler.hpp"
#include "runtime/safepoint.hpp"
#include "runtime/vmThread.hpp"
--- a/hotspot/src/share/vm/gc_implementation/shared/ageTable.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/shared/ageTable.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -28,6 +28,7 @@
#include "memory/collectorPolicy.hpp"
#include "memory/resourceArea.hpp"
#include "memory/sharedHeap.hpp"
+#include "runtime/atomic.inline.hpp"
#include "utilities/copy.hpp"
/* Copyright (c) 1992-2009 Oracle and/or its affiliates, and Stanford University.
--- a/hotspot/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -28,6 +28,7 @@
#include "gc_implementation/shared/spaceDecorator.hpp"
#include "memory/sharedHeap.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/thread.inline.hpp"
PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
--- a/hotspot/src/share/vm/gc_implementation/shared/mutableSpace.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/gc_implementation/shared/mutableSpace.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -23,6 +23,7 @@
*/
#include "precompiled.hpp"
+#include "runtime/atomic.inline.hpp"
#include "utilities/macros.hpp"
#if INCLUDE_ALL_GCS
#include "gc_implementation/shared/mutableSpace.hpp"
--- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -37,6 +37,7 @@
#include "oops/oop.inline.hpp"
#include "prims/jvmtiExport.hpp"
#include "prims/jvmtiThreadState.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/biasedLocking.hpp"
#include "runtime/frame.inline.hpp"
#include "runtime/handles.inline.hpp"
--- a/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -42,6 +42,7 @@
#include "oops/symbol.hpp"
#include "prims/jvmtiExport.hpp"
#include "prims/nativeLookup.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/biasedLocking.hpp"
#include "runtime/compilationPolicy.hpp"
#include "runtime/deoptimization.hpp"
--- a/hotspot/src/share/vm/memory/allocation.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/memory/allocation.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -29,7 +29,7 @@
#include "memory/metaspaceShared.hpp"
#include "memory/resourceArea.hpp"
#include "memory/universe.hpp"
-#include "runtime/atomic.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/os.hpp"
#include "runtime/task.hpp"
#include "runtime/threadCritical.hpp"
--- a/hotspot/src/share/vm/memory/cardTableRS.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/memory/cardTableRS.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -29,6 +29,7 @@
#include "memory/generation.hpp"
#include "memory/space.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/java.hpp"
#include "runtime/os.hpp"
#include "utilities/macros.hpp"
--- a/hotspot/src/share/vm/memory/defNewGeneration.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/memory/defNewGeneration.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -41,6 +41,7 @@
#include "memory/space.inline.hpp"
#include "oops/instanceRefKlass.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/java.hpp"
#include "runtime/prefetch.inline.hpp"
#include "runtime/thread.inline.hpp"
--- a/hotspot/src/share/vm/memory/gcLocker.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/memory/gcLocker.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -26,6 +26,7 @@
#include "memory/gcLocker.inline.hpp"
#include "memory/resourceArea.hpp"
#include "memory/sharedHeap.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/thread.inline.hpp"
volatile jint GC_locker::_jni_lock_count = 0;
@@ -59,6 +60,17 @@
assert(_jni_lock_count == count, "must be equal");
}
}
+
+// In debug mode track the locking state at all times
+void GC_locker::increment_debug_jni_lock_count() {
+ assert(_debug_jni_lock_count >= 0, "bad value");
+ Atomic::inc(&_debug_jni_lock_count);
+}
+
+void GC_locker::decrement_debug_jni_lock_count() {
+ assert(_debug_jni_lock_count > 0, "bad value");
+ Atomic::dec(&_debug_jni_lock_count);
+}
#endif
bool GC_locker::check_active_before_gc() {
--- a/hotspot/src/share/vm/memory/gcLocker.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/memory/gcLocker.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -94,18 +94,8 @@
}
// In debug mode track the locking state at all times
- static void increment_debug_jni_lock_count() {
-#ifdef ASSERT
- assert(_debug_jni_lock_count >= 0, "bad value");
- Atomic::inc(&_debug_jni_lock_count);
-#endif
- }
- static void decrement_debug_jni_lock_count() {
-#ifdef ASSERT
- assert(_debug_jni_lock_count > 0, "bad value");
- Atomic::dec(&_debug_jni_lock_count);
-#endif
- }
+ static void increment_debug_jni_lock_count() NOT_DEBUG_RETURN;
+ static void decrement_debug_jni_lock_count() NOT_DEBUG_RETURN;
// Set the current lock count
static void set_jni_lock_count(int count) {
--- a/hotspot/src/share/vm/memory/space.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/memory/space.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -37,6 +37,7 @@
#include "oops/oop.inline.hpp"
#include "oops/oop.inline2.hpp"
#include "runtime/java.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/prefetch.inline.hpp"
#include "runtime/orderAccess.inline.hpp"
#include "runtime/safepoint.hpp"
--- a/hotspot/src/share/vm/memory/specialized_oop_closures.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/memory/specialized_oop_closures.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -25,7 +25,6 @@
#ifndef SHARE_VM_MEMORY_SPECIALIZED_OOP_CLOSURES_HPP
#define SHARE_VM_MEMORY_SPECIALIZED_OOP_CLOSURES_HPP
-#include "runtime/atomic.hpp"
#include "utilities/macros.hpp"
#if INCLUDE_ALL_GCS
#include "gc_implementation/g1/g1_specialized_oop_closures.hpp"
--- a/hotspot/src/share/vm/memory/threadLocalAllocBuffer.inline.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/memory/threadLocalAllocBuffer.inline.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -27,7 +27,6 @@
#include "gc_interface/collectedHeap.hpp"
#include "memory/threadLocalAllocBuffer.hpp"
-#include "runtime/atomic.hpp"
#include "runtime/thread.hpp"
#include "utilities/copy.hpp"
--- a/hotspot/src/share/vm/memory/universe.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/memory/universe.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -53,6 +53,7 @@
#include "oops/typeArrayKlass.hpp"
#include "prims/jvmtiRedefineClassesTrace.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/fprofiler.hpp"
#include "runtime/handles.inline.hpp"
--- a/hotspot/src/share/vm/oops/compiledICHolder.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/oops/compiledICHolder.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -27,11 +27,27 @@
#include "oops/klass.hpp"
#include "oops/method.hpp"
#include "oops/oop.inline2.hpp"
+#include "runtime/atomic.inline.hpp"
volatile int CompiledICHolder::_live_count;
volatile int CompiledICHolder::_live_not_claimed_count;
+CompiledICHolder::CompiledICHolder(Method* method, Klass* klass)
+ : _holder_method(method), _holder_klass(klass) {
+#ifdef ASSERT
+ Atomic::inc(&_live_count);
+ Atomic::inc(&_live_not_claimed_count);
+#endif // ASSERT
+}
+
+#ifdef ASSERT
+CompiledICHolder::~CompiledICHolder() {
+ assert(_live_count > 0, "underflow");
+ Atomic::dec(&_live_count);
+}
+#endif // ASSERT
+
// Printing
void CompiledICHolder::print_on(outputStream* st) const {
@@ -51,3 +67,11 @@
guarantee(holder_method()->is_method(), "should be method");
guarantee(holder_klass()->is_klass(), "should be klass");
}
+
+#ifdef ASSERT
+
+void CompiledICHolder::claim() {
+ Atomic::dec(&_live_not_claimed_count);
+}
+
+#endif // ASSERT
--- a/hotspot/src/share/vm/oops/compiledICHolder.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/oops/compiledICHolder.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -26,6 +26,7 @@
#define SHARE_VM_OOPS_COMPILEDICHOLDEROOP_HPP
#include "oops/oop.hpp"
+#include "utilities/macros.hpp"
// A CompiledICHolder* is a helper object for the inline cache implementation.
// It holds an intermediate value (method+klass pair) used when converting from
@@ -50,20 +51,8 @@
public:
// Constructor
- CompiledICHolder(Method* method, Klass* klass)
- : _holder_method(method), _holder_klass(klass) {
-#ifdef ASSERT
- Atomic::inc(&_live_count);
- Atomic::inc(&_live_not_claimed_count);
-#endif
- }
-
- ~CompiledICHolder() {
-#ifdef ASSERT
- assert(_live_count > 0, "underflow");
- Atomic::dec(&_live_count);
-#endif
- }
+ CompiledICHolder(Method* method, Klass* klass);
+ ~CompiledICHolder() NOT_DEBUG_RETURN;
static int live_count() { return _live_count; }
static int live_not_claimed_count() { return _live_not_claimed_count; }
@@ -91,11 +80,7 @@
const char* internal_name() const { return "{compiledICHolder}"; }
- void claim() {
-#ifdef ASSERT
- Atomic::dec(&_live_not_claimed_count);
-#endif
- }
+ void claim() NOT_DEBUG_RETURN;
};
#endif // SHARE_VM_OOPS_COMPILEDICHOLDEROOP_HPP
--- a/hotspot/src/share/vm/oops/cpCache.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/oops/cpCache.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -32,6 +32,7 @@
#include "oops/oop.inline.hpp"
#include "prims/jvmtiRedefineClassesTrace.hpp"
#include "prims/methodHandles.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/orderAccess.inline.hpp"
#include "utilities/macros.hpp"
--- a/hotspot/src/share/vm/oops/instanceKlass.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -51,6 +51,7 @@
#include "prims/jvmtiRedefineClasses.hpp"
#include "prims/jvmtiThreadState.hpp"
#include "prims/methodComparator.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/fieldDescriptor.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/javaCalls.hpp"
--- a/hotspot/src/share/vm/oops/instanceKlass.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/oops/instanceKlass.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -32,7 +32,6 @@
#include "oops/fieldInfo.hpp"
#include "oops/instanceOop.hpp"
#include "oops/klassVtable.hpp"
-#include "runtime/atomic.hpp"
#include "runtime/handles.hpp"
#include "runtime/os.hpp"
#include "utilities/accessFlags.hpp"
--- a/hotspot/src/share/vm/oops/oop.pcgc.inline.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/oops/oop.pcgc.inline.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -26,6 +26,7 @@
#define SHARE_VM_OOPS_OOP_PCGC_INLINE_HPP
#include "utilities/macros.hpp"
+#include "runtime/atomic.inline.hpp"
#if INCLUDE_ALL_GCS
#include "gc_implementation/parNew/parNewGeneration.hpp"
#include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
--- a/hotspot/src/share/vm/oops/symbol.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/oops/symbol.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -26,11 +26,11 @@
#include "precompiled.hpp"
#include "classfile/altHashing.hpp"
#include "classfile/classLoaderData.hpp"
+#include "memory/allocation.inline.hpp"
+#include "memory/resourceArea.hpp"
#include "oops/symbol.hpp"
#include "runtime/atomic.inline.hpp"
#include "runtime/os.hpp"
-#include "memory/allocation.inline.hpp"
-#include "memory/resourceArea.hpp"
Symbol::Symbol(const u1* name, int length, int refcount) {
_refcount = refcount;
--- a/hotspot/src/share/vm/opto/matcher.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/opto/matcher.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -36,7 +36,6 @@
#include "opto/runtime.hpp"
#include "opto/type.hpp"
#include "opto/vectornode.hpp"
-#include "runtime/atomic.hpp"
#include "runtime/os.hpp"
#ifdef TARGET_ARCH_MODEL_x86_32
# include "adfiles/ad_x86_32.hpp"
--- a/hotspot/src/share/vm/opto/runtime.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/opto/runtime.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -55,6 +55,7 @@
#include "opto/mulnode.hpp"
#include "opto/runtime.hpp"
#include "opto/subnode.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/fprofiler.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/interfaceSupport.hpp"
--- a/hotspot/src/share/vm/prims/jni.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/prims/jni.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -59,6 +59,7 @@
#include "prims/jvm_misc.hpp"
#include "prims/jvmtiExport.hpp"
#include "prims/jvmtiThreadState.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/compilationPolicy.hpp"
#include "runtime/fieldDescriptor.hpp"
#include "runtime/fprofiler.hpp"
--- a/hotspot/src/share/vm/prims/jvm.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/prims/jvm.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -44,6 +44,7 @@
#include "prims/nativeLookup.hpp"
#include "prims/privilegedStack.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/dtraceJSDT.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/init.hpp"
@@ -55,6 +56,7 @@
#include "runtime/os.hpp"
#include "runtime/perfData.hpp"
#include "runtime/reflection.hpp"
+#include "runtime/thread.inline.hpp"
#include "runtime/vframe.hpp"
#include "runtime/vm_operations.hpp"
#include "services/attachListener.hpp"
--- a/hotspot/src/share/vm/prims/jvmtiImpl.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/prims/jvmtiImpl.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -32,7 +32,7 @@
#include "prims/jvmtiEventController.inline.hpp"
#include "prims/jvmtiImpl.hpp"
#include "prims/jvmtiRedefineClasses.hpp"
-#include "runtime/atomic.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/handles.hpp"
#include "runtime/handles.inline.hpp"
--- a/hotspot/src/share/vm/prims/jvmtiRawMonitor.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/prims/jvmtiRawMonitor.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -24,6 +24,7 @@
#include "precompiled.hpp"
#include "prims/jvmtiRawMonitor.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/interfaceSupport.hpp"
#include "runtime/orderAccess.inline.hpp"
#include "runtime/thread.inline.hpp"
--- a/hotspot/src/share/vm/prims/unsafe.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/prims/unsafe.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -31,6 +31,7 @@
#include "memory/allocation.inline.hpp"
#include "prims/jni.h"
#include "prims/jvm.h"
+#include "runtime/atomic.inline.hpp"
#include "runtime/globals.hpp"
#include "runtime/interfaceSupport.hpp"
#include "runtime/prefetch.inline.hpp"
--- a/hotspot/src/share/vm/runtime/biasedLocking.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/biasedLocking.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -25,6 +25,7 @@
#include "precompiled.hpp"
#include "oops/klass.inline.hpp"
#include "oops/markOop.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/basicLock.hpp"
#include "runtime/biasedLocking.hpp"
#include "runtime/task.hpp"
--- a/hotspot/src/share/vm/runtime/extendedPC.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/extendedPC.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -25,6 +25,9 @@
#ifndef SHARE_VM_RUNTIME_EXTENDEDPC_HPP
#define SHARE_VM_RUNTIME_EXTENDEDPC_HPP
+#include "memory/allocation.hpp"
+#include "utilities/globalDefinitions.hpp"
+
// An ExtendedPC contains the _pc from a signal handler in a platform
// independent way.
--- a/hotspot/src/share/vm/runtime/frame.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/frame.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -44,6 +44,7 @@
#include "runtime/signature.hpp"
#include "runtime/stubCodeGenerator.hpp"
#include "runtime/stubRoutines.hpp"
+#include "runtime/thread.inline.hpp"
#include "utilities/decoder.hpp"
#ifdef TARGET_ARCH_x86
--- a/hotspot/src/share/vm/runtime/handles.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/handles.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -26,6 +26,7 @@
#include "memory/allocation.inline.hpp"
#include "oops/constantPool.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/thread.inline.hpp"
#ifdef TARGET_OS_FAMILY_linux
--- a/hotspot/src/share/vm/runtime/interfaceSupport.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/interfaceSupport.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -28,6 +28,7 @@
#include "gc_interface/collectedHeap.inline.hpp"
#include "memory/genCollectedHeap.hpp"
#include "memory/resourceArea.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/init.hpp"
#include "runtime/interfaceSupport.hpp"
#include "runtime/orderAccess.inline.hpp"
--- a/hotspot/src/share/vm/runtime/mutex.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/mutex.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -24,6 +24,7 @@
*/
#include "precompiled.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/mutex.hpp"
#include "runtime/orderAccess.inline.hpp"
#include "runtime/osThread.hpp"
--- a/hotspot/src/share/vm/runtime/objectMonitor.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/objectMonitor.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -27,6 +27,7 @@
#include "memory/resourceArea.hpp"
#include "oops/markOop.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/interfaceSupport.hpp"
#include "runtime/mutexLocker.hpp"
--- a/hotspot/src/share/vm/runtime/os.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/os.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -40,6 +40,7 @@
#include "prims/jvm_misc.hpp"
#include "prims/privilegedStack.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/frame.inline.hpp"
#include "runtime/interfaceSupport.hpp"
#include "runtime/java.hpp"
--- a/hotspot/src/share/vm/runtime/os.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/os.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -26,7 +26,6 @@
#define SHARE_VM_RUNTIME_OS_HPP
#include "jvmtifiles/jvmti.h"
-#include "runtime/atomic.hpp"
#include "runtime/extendedPC.hpp"
#include "runtime/handles.hpp"
#include "utilities/top.hpp"
--- a/hotspot/src/share/vm/runtime/safepoint.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/safepoint.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -32,10 +32,12 @@
#include "code/scopeDesc.hpp"
#include "gc_interface/collectedHeap.hpp"
#include "interpreter/interpreter.hpp"
+#include "memory/gcLocker.inline.hpp"
#include "memory/resourceArea.hpp"
#include "memory/universe.inline.hpp"
#include "oops/oop.inline.hpp"
#include "oops/symbol.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/compilationPolicy.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/frame.inline.hpp"
--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -42,6 +42,7 @@
#include "prims/jvmtiRedefineClassesTrace.hpp"
#include "prims/methodHandles.hpp"
#include "prims/nativeLookup.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/arguments.hpp"
#include "runtime/biasedLocking.hpp"
#include "runtime/handles.inline.hpp"
--- a/hotspot/src/share/vm/runtime/sweeper.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/sweeper.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -30,7 +30,7 @@
#include "compiler/compileBroker.hpp"
#include "memory/resourceArea.hpp"
#include "oops/method.hpp"
-#include "runtime/atomic.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/compilationPolicy.hpp"
#include "runtime/mutexLocker.hpp"
#include "runtime/orderAccess.inline.hpp"
--- a/hotspot/src/share/vm/runtime/synchronizer.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/synchronizer.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -27,6 +27,7 @@
#include "memory/resourceArea.hpp"
#include "oops/markOop.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/biasedLocking.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/interfaceSupport.hpp"
--- a/hotspot/src/share/vm/runtime/thread.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/thread.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -46,6 +46,7 @@
#include "prims/jvmtiThreadState.hpp"
#include "prims/privilegedStack.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/biasedLocking.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/fprofiler.hpp"
--- a/hotspot/src/share/vm/runtime/thread.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/thread.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -343,42 +343,16 @@
bool has_async_exception() const { return (_suspend_flags & _has_async_exception) != 0; }
- void set_suspend_flag(SuspendFlags f) {
- assert(sizeof(jint) == sizeof(_suspend_flags), "size mismatch");
- uint32_t flags;
- do {
- flags = _suspend_flags;
- }
- while (Atomic::cmpxchg((jint)(flags | f),
- (volatile jint*)&_suspend_flags,
- (jint)flags) != (jint)flags);
- }
- void clear_suspend_flag(SuspendFlags f) {
- assert(sizeof(jint) == sizeof(_suspend_flags), "size mismatch");
- uint32_t flags;
- do {
- flags = _suspend_flags;
- }
- while (Atomic::cmpxchg((jint)(flags & ~f),
- (volatile jint*)&_suspend_flags,
- (jint)flags) != (jint)flags);
- }
+ inline void set_suspend_flag(SuspendFlags f);
+ inline void clear_suspend_flag(SuspendFlags f);
- void set_has_async_exception() {
- set_suspend_flag(_has_async_exception);
- }
- void clear_has_async_exception() {
- clear_suspend_flag(_has_async_exception);
- }
+ inline void set_has_async_exception();
+ inline void clear_has_async_exception();
bool do_critical_native_unlock() const { return (_suspend_flags & _critical_native_unlock) != 0; }
- void set_critical_native_unlock() {
- set_suspend_flag(_critical_native_unlock);
- }
- void clear_critical_native_unlock() {
- clear_suspend_flag(_critical_native_unlock);
- }
+ inline void set_critical_native_unlock();
+ inline void clear_critical_native_unlock();
// Support for Unhandled Oop detection
#ifdef CHECK_UNHANDLED_OOPS
@@ -1074,8 +1048,8 @@
// Suspend/resume support for JavaThread
private:
- void set_ext_suspended() { set_suspend_flag (_ext_suspended); }
- void clear_ext_suspended() { clear_suspend_flag(_ext_suspended); }
+ inline void set_ext_suspended();
+ inline void clear_ext_suspended();
public:
void java_suspend();
@@ -1123,11 +1097,11 @@
// via the appropriate -XX options.
bool wait_for_ext_suspend_completion(int count, int delay, uint32_t *bits);
- void set_external_suspend() { set_suspend_flag (_external_suspend); }
- void clear_external_suspend() { clear_suspend_flag(_external_suspend); }
+ inline void set_external_suspend();
+ inline void clear_external_suspend();
- void set_deopt_suspend() { set_suspend_flag (_deopt_suspend); }
- void clear_deopt_suspend() { clear_suspend_flag(_deopt_suspend); }
+ inline void set_deopt_suspend();
+ inline void clear_deopt_suspend();
bool is_deopt_suspend() { return (_suspend_flags & _deopt_suspend) != 0; }
bool is_external_suspend() const {
@@ -1215,11 +1189,7 @@
void set_pending_unsafe_access_error() { _special_runtime_exit_condition = _async_unsafe_access_error; }
- void set_pending_async_exception(oop e) {
- _pending_async_exception = e;
- _special_runtime_exit_condition = _async_exception;
- set_has_async_exception();
- }
+ inline void set_pending_async_exception(oop e);
// Fast-locking support
bool is_lock_owned(address adr) const;
--- a/hotspot/src/share/vm/runtime/thread.inline.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/runtime/thread.inline.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -27,6 +27,7 @@
#define SHARE_VM_RUNTIME_THREAD_INLINE_HPP_SCOPE
+#include "runtime/atomic.inline.hpp"
#include "runtime/thread.hpp"
#ifdef TARGET_OS_FAMILY_linux
# include "thread_linux.inline.hpp"
@@ -46,6 +47,40 @@
#undef SHARE_VM_RUNTIME_THREAD_INLINE_HPP_SCOPE
+inline void Thread::set_suspend_flag(SuspendFlags f) {
+ assert(sizeof(jint) == sizeof(_suspend_flags), "size mismatch");
+ uint32_t flags;
+ do {
+ flags = _suspend_flags;
+ }
+ while (Atomic::cmpxchg((jint)(flags | f),
+ (volatile jint*)&_suspend_flags,
+ (jint)flags) != (jint)flags);
+}
+inline void Thread::clear_suspend_flag(SuspendFlags f) {
+ assert(sizeof(jint) == sizeof(_suspend_flags), "size mismatch");
+ uint32_t flags;
+ do {
+ flags = _suspend_flags;
+ }
+ while (Atomic::cmpxchg((jint)(flags & ~f),
+ (volatile jint*)&_suspend_flags,
+ (jint)flags) != (jint)flags);
+}
+
+inline void Thread::set_has_async_exception() {
+ set_suspend_flag(_has_async_exception);
+}
+inline void Thread::clear_has_async_exception() {
+ clear_suspend_flag(_has_async_exception);
+}
+inline void Thread::set_critical_native_unlock() {
+ set_suspend_flag(_critical_native_unlock);
+}
+inline void Thread::clear_critical_native_unlock() {
+ clear_suspend_flag(_critical_native_unlock);
+}
+
inline jlong Thread::cooked_allocated_bytes() {
jlong allocated_bytes = OrderAccess::load_acquire(&_allocated_bytes);
if (UseTLAB) {
@@ -59,6 +94,33 @@
return allocated_bytes;
}
+inline void JavaThread::set_ext_suspended() {
+ set_suspend_flag (_ext_suspended);
+}
+inline void JavaThread::clear_ext_suspended() {
+ clear_suspend_flag(_ext_suspended);
+}
+
+inline void JavaThread::set_external_suspend() {
+ set_suspend_flag(_external_suspend);
+}
+inline void JavaThread::clear_external_suspend() {
+ clear_suspend_flag(_external_suspend);
+}
+
+inline void JavaThread::set_deopt_suspend() {
+ set_suspend_flag(_deopt_suspend);
+}
+inline void JavaThread::clear_deopt_suspend() {
+ clear_suspend_flag(_deopt_suspend);
+}
+
+inline void JavaThread::set_pending_async_exception(oop e) {
+ _pending_async_exception = e;
+ _special_runtime_exit_condition = _async_exception;
+ set_has_async_exception();
+}
+
#ifdef PPC64
inline JavaThreadState JavaThread::thread_state() const {
return (JavaThreadState) OrderAccess::load_acquire((volatile jint*)&_thread_state);
--- a/hotspot/src/share/vm/services/memPtr.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/services/memPtr.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -23,6 +23,7 @@
*/
#include "precompiled.hpp"
+#include "runtime/atomic.inline.hpp"
#include "services/memPtr.hpp"
#include "services/memTracker.hpp"
--- a/hotspot/src/share/vm/services/memPtr.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/services/memPtr.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -26,7 +26,6 @@
#define SHARE_VM_SERVICES_MEM_PTR_HPP
#include "memory/allocation.hpp"
-#include "runtime/atomic.hpp"
#include "runtime/os.hpp"
#include "runtime/safepoint.hpp"
--- a/hotspot/src/share/vm/services/memRecorder.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/services/memRecorder.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -24,7 +24,7 @@
#include "precompiled.hpp"
-#include "runtime/atomic.hpp"
+#include "runtime/atomic.inline.hpp"
#include "services/memBaseline.hpp"
#include "services/memRecorder.hpp"
#include "services/memPtr.hpp"
--- a/hotspot/src/share/vm/services/memTracker.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/services/memTracker.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -24,7 +24,7 @@
#include "precompiled.hpp"
#include "oops/instanceKlass.hpp"
-#include "runtime/atomic.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/interfaceSupport.hpp"
#include "runtime/mutexLocker.hpp"
#include "runtime/safepoint.hpp"
--- a/hotspot/src/share/vm/services/threadService.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/services/threadService.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -29,6 +29,7 @@
#include "memory/oopFactory.hpp"
#include "oops/instanceKlass.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/init.hpp"
#include "runtime/thread.hpp"
--- a/hotspot/src/share/vm/shark/sharkRuntime.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/shark/sharkRuntime.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -24,6 +24,7 @@
*/
#include "precompiled.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/biasedLocking.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/thread.hpp"
--- a/hotspot/src/share/vm/utilities/accessFlags.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/utilities/accessFlags.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -24,6 +24,7 @@
#include "precompiled.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "utilities/accessFlags.hpp"
#ifdef TARGET_OS_FAMILY_linux
# include "os_linux.inline.hpp"
--- a/hotspot/src/share/vm/utilities/bitMap.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/utilities/bitMap.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -25,6 +25,7 @@
#include "precompiled.hpp"
#include "memory/allocation.inline.hpp"
#include "memory/resourceArea.hpp"
+#include "runtime/atomic.inline.hpp"
#include "utilities/bitMap.inline.hpp"
#include "utilities/copy.hpp"
#ifdef TARGET_OS_FAMILY_linux
--- a/hotspot/src/share/vm/utilities/bitMap.inline.hpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/utilities/bitMap.inline.hpp Wed Jun 04 11:56:44 2014 +0200
@@ -25,7 +25,7 @@
#ifndef SHARE_VM_UTILITIES_BITMAP_INLINE_HPP
#define SHARE_VM_UTILITIES_BITMAP_INLINE_HPP
-#include "runtime/atomic.hpp"
+#include "runtime/atomic.inline.hpp"
#include "utilities/bitMap.hpp"
#ifdef ASSERT
--- a/hotspot/src/share/vm/utilities/debug.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/utilities/debug.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -39,6 +39,7 @@
#include "oops/oop.inline.hpp"
#include "prims/privilegedStack.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/frame.hpp"
#include "runtime/java.hpp"
#include "runtime/sharedRuntime.hpp"
--- a/hotspot/src/share/vm/utilities/histogram.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/utilities/histogram.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -24,6 +24,7 @@
#include "precompiled.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "utilities/histogram.hpp"
#ifdef ASSERT
--- a/hotspot/src/share/vm/utilities/taskqueue.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/utilities/taskqueue.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -24,6 +24,7 @@
#include "precompiled.hpp"
#include "oops/oop.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/os.hpp"
#include "runtime/thread.inline.hpp"
#include "utilities/debug.hpp"
--- a/hotspot/src/share/vm/utilities/vmError.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/utilities/vmError.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -27,6 +27,7 @@
#include "gc_interface/collectedHeap.hpp"
#include "prims/whitebox.hpp"
#include "runtime/arguments.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/frame.inline.hpp"
#include "runtime/init.hpp"
#include "runtime/os.hpp"
--- a/hotspot/src/share/vm/utilities/workgroup.cpp Thu Jun 19 13:31:14 2014 +0200
+++ b/hotspot/src/share/vm/utilities/workgroup.cpp Wed Jun 04 11:56:44 2014 +0200
@@ -25,6 +25,7 @@
#include "precompiled.hpp"
#include "memory/allocation.hpp"
#include "memory/allocation.inline.hpp"
+#include "runtime/atomic.inline.hpp"
#include "runtime/os.hpp"
#include "utilities/workgroup.hpp"