439
440 #define HOTSWAP
441
442 //----------------------------------------------------------------------------------------------------
443 // Object alignment, in units of HeapWords.
444 //
445 // Minimum is max(BytesPerLong, BytesPerDouble, BytesPerOop) / HeapWordSize, so jlong, jdouble and
446 // reference fields can be naturally aligned.
447
448 extern int MinObjAlignment;
449 extern int MinObjAlignmentInBytes;
450 extern int MinObjAlignmentInBytesMask;
451
452 extern int LogMinObjAlignment;
453 extern int LogMinObjAlignmentInBytes;
454
455 const int LogKlassAlignmentInBytes = 3;
456 const int LogKlassAlignment = LogKlassAlignmentInBytes - LogHeapWordSize;
457 const int KlassAlignmentInBytes = 1 << LogKlassAlignmentInBytes;
458 const int KlassAlignment = KlassAlignmentInBytes / HeapWordSize;
459 const int KlassPtrValueTypeMask = (1 << (LogKlassAlignmentInBytes + 1)) - 1;
460
461 // Maximal size of heap where unscaled compression can be used. Also upper bound
462 // for heap placement: 4GB.
463 const uint64_t UnscaledOopHeapMax = (uint64_t(max_juint) + 1);
464 // Maximal size of heap where compressed oops can be used. Also upper bound for heap
465 // placement for zero based compression algorithm: UnscaledOopHeapMax << LogMinObjAlignmentInBytes.
466 extern uint64_t OopEncodingHeapMax;
467
468 // Maximal size of compressed class space. Above this limit compression is not possible.
469 // Also upper bound for placement of zero based class space. (Class space is further limited
470 // to be < 3G, see arguments.cpp.)
471 const uint64_t KlassEncodingMetaspaceMax = (uint64_t(max_juint) + 1) << LogKlassAlignmentInBytes;
472
473 // Machine dependent stuff
474
475 // The maximum size of the code cache. Can be overridden by targets.
476 #define CODE_CACHE_SIZE_LIMIT (2*G)
477 // Allow targets to reduce the default size of the code cache.
478 #define CODE_CACHE_DEFAULT_LIMIT CODE_CACHE_SIZE_LIMIT
479
|
439
440 #define HOTSWAP
441
442 //----------------------------------------------------------------------------------------------------
443 // Object alignment, in units of HeapWords.
444 //
445 // Minimum is max(BytesPerLong, BytesPerDouble, BytesPerOop) / HeapWordSize, so jlong, jdouble and
446 // reference fields can be naturally aligned.
447
448 extern int MinObjAlignment;
449 extern int MinObjAlignmentInBytes;
450 extern int MinObjAlignmentInBytesMask;
451
452 extern int LogMinObjAlignment;
453 extern int LogMinObjAlignmentInBytes;
454
455 const int LogKlassAlignmentInBytes = 3;
456 const int LogKlassAlignment = LogKlassAlignmentInBytes - LogHeapWordSize;
457 const int KlassAlignmentInBytes = 1 << LogKlassAlignmentInBytes;
458 const int KlassAlignment = KlassAlignmentInBytes / HeapWordSize;
459
460 // Maximal size of heap where unscaled compression can be used. Also upper bound
461 // for heap placement: 4GB.
462 const uint64_t UnscaledOopHeapMax = (uint64_t(max_juint) + 1);
463 // Maximal size of heap where compressed oops can be used. Also upper bound for heap
464 // placement for zero based compression algorithm: UnscaledOopHeapMax << LogMinObjAlignmentInBytes.
465 extern uint64_t OopEncodingHeapMax;
466
467 // Maximal size of compressed class space. Above this limit compression is not possible.
468 // Also upper bound for placement of zero based class space. (Class space is further limited
469 // to be < 3G, see arguments.cpp.)
470 const uint64_t KlassEncodingMetaspaceMax = (uint64_t(max_juint) + 1) << LogKlassAlignmentInBytes;
471
472 // Machine dependent stuff
473
474 // The maximum size of the code cache. Can be overridden by targets.
475 #define CODE_CACHE_SIZE_LIMIT (2*G)
476 // Allow targets to reduce the default size of the code cache.
477 #define CODE_CACHE_DEFAULT_LIMIT CODE_CACHE_SIZE_LIMIT
478
|