351 };
352 static NARROW_OOP_MODE narrow_oop_mode();
353 static const char* narrow_oop_mode_to_string(NARROW_OOP_MODE mode);
354 static char* preferred_heap_base(size_t heap_size, size_t alignment, NARROW_OOP_MODE mode);
355 static char* preferred_metaspace_base(size_t heap_size, NARROW_OOP_MODE mode);
356 static address narrow_oop_base() { return _narrow_oop._base; }
357 static bool is_narrow_oop_base(void* addr) { return (narrow_oop_base() == (address)addr); }
358 static int narrow_oop_shift() { return _narrow_oop._shift; }
359 static bool narrow_oop_use_implicit_null_checks() { return _narrow_oop._use_implicit_null_checks; }
360
361 // For UseCompressedClassPointers
362 static address narrow_klass_base() { return _narrow_klass._base; }
363 static bool is_narrow_klass_base(void* addr) { return (narrow_klass_base() == (address)addr); }
364 static int narrow_klass_shift() { return _narrow_klass._shift; }
365 static bool narrow_klass_use_implicit_null_checks() { return _narrow_klass._use_implicit_null_checks; }
366
367 static address* narrow_ptrs_base_addr() { return &_narrow_ptrs_base; }
368 static void set_narrow_ptrs_base(address a) { _narrow_ptrs_base = a; }
369 static address narrow_ptrs_base() { return _narrow_ptrs_base; }
370
371 // this is set in vm_version on sparc (and then reset in universe afaict)
372 static void set_narrow_oop_shift(int shift) {
373 _narrow_oop._shift = shift;
374 }
375
376 static void set_narrow_klass_shift(int shift) {
377 assert(shift == 0 || shift == LogKlassAlignmentInBytes, "invalid shift for klass ptrs");
378 _narrow_klass._shift = shift;
379 }
380
381 // Reserve Java heap and determine CompressedOops mode
382 static ReservedSpace reserve_heap(size_t heap_size, size_t alignment);
383
384 // Historic gc information
385 static size_t get_heap_capacity_at_last_gc() { return _heap_capacity_at_last_gc; }
386 static size_t get_heap_free_at_last_gc() { return _heap_capacity_at_last_gc - _heap_used_at_last_gc; }
387 static size_t get_heap_used_at_last_gc() { return _heap_used_at_last_gc; }
388 static void update_heap_info_at_gc();
389
390 // Testers
|
351 };
352 static NARROW_OOP_MODE narrow_oop_mode();
353 static const char* narrow_oop_mode_to_string(NARROW_OOP_MODE mode);
354 static char* preferred_heap_base(size_t heap_size, size_t alignment, NARROW_OOP_MODE mode);
355 static char* preferred_metaspace_base(size_t heap_size, NARROW_OOP_MODE mode);
356 static address narrow_oop_base() { return _narrow_oop._base; }
357 static bool is_narrow_oop_base(void* addr) { return (narrow_oop_base() == (address)addr); }
358 static int narrow_oop_shift() { return _narrow_oop._shift; }
359 static bool narrow_oop_use_implicit_null_checks() { return _narrow_oop._use_implicit_null_checks; }
360
361 // For UseCompressedClassPointers
362 static address narrow_klass_base() { return _narrow_klass._base; }
363 static bool is_narrow_klass_base(void* addr) { return (narrow_klass_base() == (address)addr); }
364 static int narrow_klass_shift() { return _narrow_klass._shift; }
365 static bool narrow_klass_use_implicit_null_checks() { return _narrow_klass._use_implicit_null_checks; }
366
367 static address* narrow_ptrs_base_addr() { return &_narrow_ptrs_base; }
368 static void set_narrow_ptrs_base(address a) { _narrow_ptrs_base = a; }
369 static address narrow_ptrs_base() { return _narrow_ptrs_base; }
370
371 static void print_compressed_oops_mode();
372
373 // this is set in vm_version on sparc (and then reset in universe afaict)
374 static void set_narrow_oop_shift(int shift) {
375 _narrow_oop._shift = shift;
376 }
377
378 static void set_narrow_klass_shift(int shift) {
379 assert(shift == 0 || shift == LogKlassAlignmentInBytes, "invalid shift for klass ptrs");
380 _narrow_klass._shift = shift;
381 }
382
383 // Reserve Java heap and determine CompressedOops mode
384 static ReservedSpace reserve_heap(size_t heap_size, size_t alignment);
385
386 // Historic gc information
387 static size_t get_heap_capacity_at_last_gc() { return _heap_capacity_at_last_gc; }
388 static size_t get_heap_free_at_last_gc() { return _heap_capacity_at_last_gc - _heap_used_at_last_gc; }
389 static size_t get_heap_used_at_last_gc() { return _heap_used_at_last_gc; }
390 static void update_heap_info_at_gc();
391
392 // Testers
|