--- a/hotspot/src/share/vm/code/nmethod.cpp Wed Nov 04 13:09:57 2015 -0500
+++ b/hotspot/src/share/vm/code/nmethod.cpp Wed Nov 04 20:02:54 2015 +0000
@@ -680,10 +680,6 @@
return nm;
}
-#ifdef _MSC_VER
-#pragma warning(push)
-#pragma warning(disable:4355) // warning C4355: 'this' : used in base member initializer list
-#endif
// For native wrappers
nmethod::nmethod(
Method* method,
@@ -773,10 +769,6 @@
}
}
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-
void* nmethod::operator new(size_t size, int nmethod_size, int comp_level) throw () {
return CodeCache::allocate(nmethod_size, CodeCache::get_code_blob_type(comp_level));
}
--- a/hotspot/src/share/vm/gc/cms/parNewGeneration.cpp Wed Nov 04 13:09:57 2015 -0500
+++ b/hotspot/src/share/vm/gc/cms/parNewGeneration.cpp Wed Nov 04 20:02:54 2015 +0000
@@ -57,10 +57,6 @@
#include "utilities/globalDefinitions.hpp"
#include "utilities/stack.inline.hpp"
-#ifdef _MSC_VER
-#pragma warning( push )
-#pragma warning( disable:4355 ) // 'this' : used in base member initializer list
-#endif
ParScanThreadState::ParScanThreadState(Space* to_space_,
ParNewGeneration* young_gen_,
Generation* old_gen_,
@@ -104,9 +100,6 @@
_old_gen_closure.set_generation(old_gen_);
_old_gen_root_closure.set_generation(old_gen_);
}
-#ifdef _MSC_VER
-#pragma warning( pop )
-#endif
void ParScanThreadState::record_survivor_plab(HeapWord* plab_start,
size_t plab_word_size) {
@@ -597,10 +590,6 @@
par_scan_state.evacuate_followers_closure().do_void();
}
-#ifdef _MSC_VER
-#pragma warning( push )
-#pragma warning( disable:4355 ) // 'this' : used in base member initializer list
-#endif
ParNewGeneration::ParNewGeneration(ReservedSpace rs, size_t initial_byte_size)
: DefNewGeneration(rs, initial_byte_size, "PCopy"),
_overflow_list(NULL),
@@ -643,9 +632,6 @@
ParallelGCThreads, CHECK);
}
}
-#ifdef _MSC_VER
-#pragma warning( pop )
-#endif
// ParNewGeneration::
ParKeepAliveClosure::ParKeepAliveClosure(ParScanWeakRefClosure* cl) :
--- a/hotspot/src/share/vm/gc/g1/concurrentMark.cpp Wed Nov 04 13:09:57 2015 -0500
+++ b/hotspot/src/share/vm/gc/g1/concurrentMark.cpp Wed Nov 04 20:02:54 2015 +0000
@@ -454,10 +454,6 @@
return true;
}
-#ifdef _MSC_VER // the use of 'this' below gets a warning, make it go away
-#pragma warning( disable:4355 ) // 'this' : used in base member initializer list
-#endif // _MSC_VER
-
uint ConcurrentMark::scale_parallel_threads(uint n_par_threads) {
return MAX2((n_par_threads + 2) / 4, 1U);
}
--- a/hotspot/src/share/vm/gc/g1/dirtyCardQueue.cpp Wed Nov 04 13:09:57 2015 -0500
+++ b/hotspot/src/share/vm/gc/g1/dirtyCardQueue.cpp Wed Nov 04 20:02:54 2015 +0000
@@ -82,10 +82,6 @@
return true;
}
-#ifdef _MSC_VER // the use of 'this' below gets a warning, make it go away
-#pragma warning( disable:4355 ) // 'this' : used in base member initializer list
-#endif // _MSC_VER
-
DirtyCardQueueSet::DirtyCardQueueSet(bool notify_when_complete) :
PtrQueueSet(notify_when_complete),
_mut_process_closure(NULL),
--- a/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp Wed Nov 04 13:09:57 2015 -0500
+++ b/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp Wed Nov 04 20:02:54 2015 +0000
@@ -1807,11 +1807,6 @@
// Public methods.
-#ifdef _MSC_VER // the use of 'this' below gets a warning, make it go away
-#pragma warning( disable:4355 ) // 'this' : used in base member initializer list
-#endif // _MSC_VER
-
-
G1CollectedHeap::G1CollectedHeap(G1CollectorPolicy* policy_) :
CollectedHeap(),
_g1_policy(policy_),
--- a/hotspot/src/share/vm/gc/g1/satbQueue.cpp Wed Nov 04 13:09:57 2015 -0500
+++ b/hotspot/src/share/vm/gc/g1/satbQueue.cpp Wed Nov 04 20:02:54 2015 +0000
@@ -205,10 +205,6 @@
}
#endif // PRODUCT
-#ifdef _MSC_VER // the use of 'this' below gets a warning, make it go away
-#pragma warning( disable:4355 ) // 'this' : used in base member initializer list
-#endif // _MSC_VER
-
SATBMarkQueueSet::SATBMarkQueueSet() :
PtrQueueSet(),
_shared_satb_queue(this, true /* permanent */) { }
--- a/hotspot/src/share/vm/gc/parallel/psParallelCompact.hpp Wed Nov 04 13:09:57 2015 -0500
+++ b/hotspot/src/share/vm/gc/parallel/psParallelCompact.hpp Wed Nov 04 20:02:54 2015 +0000
@@ -347,7 +347,7 @@
HeapWord* _partial_obj_addr;
region_sz_t _partial_obj_size;
region_sz_t volatile _dc_and_los;
- bool _blocks_filled;
+ bool volatile _blocks_filled;
#ifdef ASSERT
size_t _blocks_filled_count; // Number of block table fills.
@@ -498,7 +498,9 @@
inline bool
ParallelCompactData::RegionData::blocks_filled() const
{
- return _blocks_filled;
+ bool result = _blocks_filled;
+ OrderAccess::acquire();
+ return result;
}
#ifdef ASSERT
@@ -512,6 +514,7 @@
inline void
ParallelCompactData::RegionData::set_blocks_filled()
{
+ OrderAccess::release();
_blocks_filled = true;
// Debug builds count the number of times the table was filled.
DEBUG_ONLY(Atomic::inc_ptr(&_blocks_filled_count));
--- a/hotspot/src/share/vm/utilities/globalDefinitions_visCPP.hpp Wed Nov 04 13:09:57 2015 -0500
+++ b/hotspot/src/share/vm/utilities/globalDefinitions_visCPP.hpp Wed Nov 04 20:02:54 2015 +0000
@@ -171,9 +171,11 @@
#define strdup _strdup
#endif
+#if _MSC_VER < 1800
// Visual Studio 2013 introduced strtoull(); before, one has to use _strtoui64() instead.
-#if _MSC_VER < 1800
#define strtoull _strtoui64
+// Fixes some wrong warnings about 'this' : used in base member initializer list
+#pragma warning( disable : 4355 )
#endif