8022880: False sharing between PSPromotionManager instances

Pad the PSPromotionManager instances in the manager array.

Reviewed-by: brutisso, jmasa
This commit is contained in:
Stefan Karlsson 2013-05-31 14:32:44 +02:00
parent 7cea3820af
commit 70f22c649b
10 changed files with 189 additions and 47 deletions

View file

@ -225,6 +225,22 @@ void report_untested(const char* file, int line, const char* message);
void warning(const char* format, ...);
#ifdef ASSERT
// Compile-time asserts.
template <bool> struct StaticAssert;
template <> struct StaticAssert<true> {};
// Only StaticAssert<true> is defined, so if cond evaluates to false we get
// a compile time exception when trying to use StaticAssert<false>.
#define STATIC_ASSERT(cond) \
do { \
StaticAssert<(cond)> DUMMY_STATIC_ASSERT; \
(void)DUMMY_STATIC_ASSERT; /* ignore */ \
} while (false)
#else
#define STATIC_ASSERT(cond)
#endif
// out of shared space reporting
enum SharedSpaceType {
SharedPermGen,