comparison src/share/vm/utilities/globalDefinitions.hpp @ 14909:4ca6dc0799b6

Backout jdk9 merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Tue, 01 Apr 2014 13:57:07 +0200
parents 24cd779e5d94
children 52b4284cb496
comparison
equal deleted inserted replaced
14908:8db6e76cb658 14909:4ca6dc0799b6
36 # include "utilities/globalDefinitions_visCPP.hpp" 36 # include "utilities/globalDefinitions_visCPP.hpp"
37 #endif 37 #endif
38 #ifdef TARGET_COMPILER_sparcWorks 38 #ifdef TARGET_COMPILER_sparcWorks
39 # include "utilities/globalDefinitions_sparcWorks.hpp" 39 # include "utilities/globalDefinitions_sparcWorks.hpp"
40 #endif 40 #endif
41 #ifdef TARGET_COMPILER_xlc
42 # include "utilities/globalDefinitions_xlc.hpp"
43 #endif
44 41
45 #include "utilities/macros.hpp" 42 #include "utilities/macros.hpp"
46 43
47 // This file holds all globally used constants & types, class (forward) 44 // This file holds all globally used constants & types, class (forward)
48 // declarations and a few frequently used utility functions. 45 // declarations and a few frequently used utility functions.
150 const int LogHeapWordsPerLong = LogBytesPerLong - LogHeapWordSize; 147 const int LogHeapWordsPerLong = LogBytesPerLong - LogHeapWordSize;
151 148
152 // The larger HeapWordSize for 64bit requires larger heaps 149 // The larger HeapWordSize for 64bit requires larger heaps
153 // for the same application running in 64bit. See bug 4967770. 150 // for the same application running in 64bit. See bug 4967770.
154 // The minimum alignment to a heap word size is done. Other 151 // The minimum alignment to a heap word size is done. Other
155 // parts of the memory system may require additional alignment 152 // parts of the memory system may required additional alignment
156 // and are responsible for those alignments. 153 // and are responsible for those alignments.
157 #ifdef _LP64 154 #ifdef _LP64
158 #define ScaleForWordSize(x) align_size_down_((x) * 13 / 10, HeapWordSize) 155 #define ScaleForWordSize(x) align_size_down_((x) * 13 / 10, HeapWordSize)
159 #else 156 #else
160 #define ScaleForWordSize(x) (x) 157 #define ScaleForWordSize(x) (x)
394 * the platform specific globalDefinitions (above) 391 * the platform specific globalDefinitions (above)
395 * can set PLATFORM_NATIVE_STACK_WALKING_SUPPORTED to 0 392 * can set PLATFORM_NATIVE_STACK_WALKING_SUPPORTED to 0
396 */ 393 */
397 #ifndef PLATFORM_NATIVE_STACK_WALKING_SUPPORTED 394 #ifndef PLATFORM_NATIVE_STACK_WALKING_SUPPORTED
398 #define PLATFORM_NATIVE_STACK_WALKING_SUPPORTED 1 395 #define PLATFORM_NATIVE_STACK_WALKING_SUPPORTED 1
399 #endif
400
401 // To assure the IRIW property on processors that are not multiple copy
402 // atomic, sync instructions must be issued between volatile reads to
403 // assure their ordering, instead of after volatile stores.
404 // (See "A Tutorial Introduction to the ARM and POWER Relaxed Memory Models"
405 // by Luc Maranget, Susmit Sarkar and Peter Sewell, INRIA/Cambridge)
406 #ifdef CPU_NOT_MULTIPLE_COPY_ATOMIC
407 const bool support_IRIW_for_not_multiple_copy_atomic_cpu = true;
408 #else
409 const bool support_IRIW_for_not_multiple_copy_atomic_cpu = false;
410 #endif 396 #endif
411 397
412 // The byte alignment to be used by Arena::Amalloc. See bugid 4169348. 398 // The byte alignment to be used by Arena::Amalloc. See bugid 4169348.
413 // Note: this value must be a power of 2 399 // Note: this value must be a power of 2
414 400