< prev index next >

src/hotspot/share/utilities/globalDefinitions.hpp

Print this page

 514 extern bool DynamicDumpSharedSpaces;
 515 extern bool RequireSharedSpaces;
 516 extern "C" {
 517 // Make sure UseSharedSpaces is accessible to the serviceability agent.
 518 extern JNIEXPORT jboolean UseSharedSpaces;
 519 }
 520 
 521 //----------------------------------------------------------------------------------------------------
 522 // Object alignment, in units of HeapWords.
 523 //
 524 // Minimum is max(BytesPerLong, BytesPerDouble, BytesPerOop) / HeapWordSize, so jlong, jdouble and
 525 // reference fields can be naturally aligned.
 526 
 527 extern int MinObjAlignment;
 528 extern int MinObjAlignmentInBytes;
 529 extern int MinObjAlignmentInBytesMask;
 530 
 531 extern int LogMinObjAlignment;
 532 extern int LogMinObjAlignmentInBytes;
 533 
 534 const int LogKlassAlignmentInBytes = 3;
 535 const int LogKlassAlignment        = LogKlassAlignmentInBytes - LogHeapWordSize;
 536 const int KlassAlignmentInBytes    = 1 << LogKlassAlignmentInBytes;
 537 const int KlassAlignment           = KlassAlignmentInBytes / HeapWordSize;
 538 
 539 // Maximal size of heap where unscaled compression can be used. Also upper bound
 540 // for heap placement: 4GB.
 541 const  uint64_t UnscaledOopHeapMax = (uint64_t(max_juint) + 1);
 542 // Maximal size of heap where compressed oops can be used. Also upper bound for heap
 543 // placement for zero based compression algorithm: UnscaledOopHeapMax << LogMinObjAlignmentInBytes.
 544 extern uint64_t OopEncodingHeapMax;
 545 
 546 // Maximal size of compressed class space. Above this limit compression is not possible.
 547 // Also upper bound for placement of zero based class space. (Class space is further limited
 548 // to be < 3G, see arguments.cpp.)
 549 const  uint64_t KlassEncodingMetaspaceMax = (uint64_t(max_juint) + 1) << LogKlassAlignmentInBytes;
 550 
 551 // Machine dependent stuff
 552 
 553 // The maximum size of the code cache.  Can be overridden by targets.
 554 #define CODE_CACHE_SIZE_LIMIT (2*G)
 555 // Allow targets to reduce the default size of the code cache.
 556 #define CODE_CACHE_DEFAULT_LIMIT CODE_CACHE_SIZE_LIMIT
 557 
 558 #include CPU_HEADER(globalDefinitions)
 559 
 560 // To assure the IRIW property on processors that are not multiple copy
 561 // atomic, sync instructions must be issued between volatile reads to
 562 // assure their ordering, instead of after volatile stores.
 563 // (See "A Tutorial Introduction to the ARM and POWER Relaxed Memory Models"
 564 // by Luc Maranget, Susmit Sarkar and Peter Sewell, INRIA/Cambridge)
 565 #ifdef CPU_MULTI_COPY_ATOMIC
 566 // Not needed.
 567 const bool support_IRIW_for_not_multiple_copy_atomic_cpu = false;
 568 #else
 569 // From all non-multi-copy-atomic architectures, only PPC64 supports IRIW at the moment.
 570 // Final decision is subject to JEP 188: Java Memory Model Update.

 514 extern bool DynamicDumpSharedSpaces;
 515 extern bool RequireSharedSpaces;
 516 extern "C" {
 517 // Make sure UseSharedSpaces is accessible to the serviceability agent.
 518 extern JNIEXPORT jboolean UseSharedSpaces;
 519 }
 520 
 521 //----------------------------------------------------------------------------------------------------
 522 // Object alignment, in units of HeapWords.
 523 //
 524 // Minimum is max(BytesPerLong, BytesPerDouble, BytesPerOop) / HeapWordSize, so jlong, jdouble and
 525 // reference fields can be naturally aligned.
 526 
 527 extern int MinObjAlignment;
 528 extern int MinObjAlignmentInBytes;
 529 extern int MinObjAlignmentInBytesMask;
 530 
 531 extern int LogMinObjAlignment;
 532 extern int LogMinObjAlignmentInBytes;
 533 





 534 // Maximal size of heap where unscaled compression can be used. Also upper bound
 535 // for heap placement: 4GB.
 536 const  uint64_t UnscaledOopHeapMax = (uint64_t(max_juint) + 1);
 537 // Maximal size of heap where compressed oops can be used. Also upper bound for heap
 538 // placement for zero based compression algorithm: UnscaledOopHeapMax << LogMinObjAlignmentInBytes.
 539 extern uint64_t OopEncodingHeapMax;
 540 





 541 // Machine dependent stuff
 542 
 543 // The maximum size of the code cache.  Can be overridden by targets.
 544 #define CODE_CACHE_SIZE_LIMIT (2*G)
 545 // Allow targets to reduce the default size of the code cache.
 546 #define CODE_CACHE_DEFAULT_LIMIT CODE_CACHE_SIZE_LIMIT
 547 
 548 #include CPU_HEADER(globalDefinitions)
 549 
 550 // To assure the IRIW property on processors that are not multiple copy
 551 // atomic, sync instructions must be issued between volatile reads to
 552 // assure their ordering, instead of after volatile stores.
 553 // (See "A Tutorial Introduction to the ARM and POWER Relaxed Memory Models"
 554 // by Luc Maranget, Susmit Sarkar and Peter Sewell, INRIA/Cambridge)
 555 #ifdef CPU_MULTI_COPY_ATOMIC
 556 // Not needed.
 557 const bool support_IRIW_for_not_multiple_copy_atomic_cpu = false;
 558 #else
 559 // From all non-multi-copy-atomic architectures, only PPC64 supports IRIW at the moment.
 560 // Final decision is subject to JEP 188: Java Memory Model Update.
< prev index next >