Mercurial > hg > graal-compiler
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 |