427 // For UseCompressedClassPointers
428 static address narrow_klass_base() { return _narrow_klass._base; }
429 static bool is_narrow_klass_base(void* addr) { return (narrow_klass_base() == (address)addr); }
430 static int narrow_klass_shift() { return _narrow_klass._shift; }
431 static bool narrow_klass_use_implicit_null_checks() { return _narrow_klass._use_implicit_null_checks; }
432
433 static address* narrow_ptrs_base_addr() { return &_narrow_ptrs_base; }
434 static void set_narrow_ptrs_base(address a) { _narrow_ptrs_base = a; }
435 static address narrow_ptrs_base() { return _narrow_ptrs_base; }
436
437 static void print_compressed_oops_mode(outputStream* st);
438
439 // this is set in vm_version on sparc (and then reset in universe afaict)
440 static void set_narrow_oop_shift(int shift) {
441 _narrow_oop._shift = shift;
442 }
443
444 static void set_narrow_klass_shift(int shift) {
445 assert(shift == 0 || shift == LogKlassAlignmentInBytes, "invalid shift for klass ptrs");
446 _narrow_klass._shift = shift;
447 _oop_metadata_odd_mask = (shift) ? 1 : KlassPtrEvenOddMask;
448 }
449
450 static int oop_metadata_odd_mask() { return _oop_metadata_odd_mask; }
451
452
453 // Reserve Java heap and determine CompressedOops mode
454 static ReservedSpace reserve_heap(size_t heap_size, size_t alignment);
455
456 // Historic gc information
457 static size_t get_heap_capacity_at_last_gc() { return _heap_capacity_at_last_gc; }
458 static size_t get_heap_free_at_last_gc() { return _heap_capacity_at_last_gc - _heap_used_at_last_gc; }
459 static size_t get_heap_used_at_last_gc() { return _heap_used_at_last_gc; }
460 static void update_heap_info_at_gc();
461
462 // Testers
463 static bool is_bootstrapping() { return _bootstrapping; }
464 static bool is_module_initialized() { return _module_initialized; }
465 static bool is_fully_initialized() { return _fully_initialized; }
466
467 static inline bool element_type_should_be_aligned(BasicType type);
|
427 // For UseCompressedClassPointers
428 static address narrow_klass_base() { return _narrow_klass._base; }
429 static bool is_narrow_klass_base(void* addr) { return (narrow_klass_base() == (address)addr); }
430 static int narrow_klass_shift() { return _narrow_klass._shift; }
431 static bool narrow_klass_use_implicit_null_checks() { return _narrow_klass._use_implicit_null_checks; }
432
433 static address* narrow_ptrs_base_addr() { return &_narrow_ptrs_base; }
434 static void set_narrow_ptrs_base(address a) { _narrow_ptrs_base = a; }
435 static address narrow_ptrs_base() { return _narrow_ptrs_base; }
436
437 static void print_compressed_oops_mode(outputStream* st);
438
439 // this is set in vm_version on sparc (and then reset in universe afaict)
440 static void set_narrow_oop_shift(int shift) {
441 _narrow_oop._shift = shift;
442 }
443
444 static void set_narrow_klass_shift(int shift) {
445 assert(shift == 0 || shift == LogKlassAlignmentInBytes, "invalid shift for klass ptrs");
446 _narrow_klass._shift = shift;
447 if (shift == LogKlassAlignmentInBytes) {
448 _oop_metadata_odd_mask = 1;
449 }
450 }
451
452 static int oop_metadata_odd_mask() { return _oop_metadata_odd_mask; }
453
454
455 // Reserve Java heap and determine CompressedOops mode
456 static ReservedSpace reserve_heap(size_t heap_size, size_t alignment);
457
458 // Historic gc information
459 static size_t get_heap_capacity_at_last_gc() { return _heap_capacity_at_last_gc; }
460 static size_t get_heap_free_at_last_gc() { return _heap_capacity_at_last_gc - _heap_used_at_last_gc; }
461 static size_t get_heap_used_at_last_gc() { return _heap_used_at_last_gc; }
462 static void update_heap_info_at_gc();
463
464 // Testers
465 static bool is_bootstrapping() { return _bootstrapping; }
466 static bool is_module_initialized() { return _module_initialized; }
467 static bool is_fully_initialized() { return _fully_initialized; }
468
469 static inline bool element_type_should_be_aligned(BasicType type);
|