@@ -369,6 +369,9 @@ ReservedSpace ReservedSpace::space_for_range(char* base, size_t size, size_t ali
369
369
return space;
370
370
}
371
371
372
+ // Compressed oop support is not relevant in 32bit builds.
373
+ #ifdef _LP64
374
+
372
375
static size_t noaccess_prefix_size (size_t alignment) {
373
376
return lcm (os::vm_page_size (), alignment);
374
377
}
@@ -594,8 +597,8 @@ void ReservedHeapSpace::initialize_compressed_heap(const size_t size, size_t ali
594
597
// Try to attach at addresses that are aligned to OopEncodingHeapMax. Disjointbase mode.
595
598
char ** addresses = get_attach_addresses_for_disjoint_mode ();
596
599
int i = 0 ;
597
- while (addresses[i] && // End of array not yet reached.
598
- ((_base == nullptr ) || // No previous try succeeded.
600
+ while (( addresses[i] != nullptr ) && // End of array not yet reached.
601
+ ((_base == nullptr ) || // No previous try succeeded.
599
602
(_base + size > (char *)OopEncodingHeapMax && // Not zerobased or unscaled address.
600
603
!CompressedOops::is_disjoint_heap_base_address ((address)_base)))) { // Not disjoint address.
601
604
char * const attach_point = addresses[i];
@@ -612,6 +615,8 @@ void ReservedHeapSpace::initialize_compressed_heap(const size_t size, size_t ali
612
615
}
613
616
}
614
617
618
+ #endif // _LP64
619
+
615
620
ReservedHeapSpace::ReservedHeapSpace (size_t size, size_t alignment, size_t page_size, const char * heap_allocation_directory) : ReservedSpace() {
616
621
617
622
if (size == 0 ) {
@@ -636,13 +641,17 @@ ReservedHeapSpace::ReservedHeapSpace(size_t size, size_t alignment, size_t page_
636
641
guarantee (is_aligned (size, alignment), " set by caller" );
637
642
638
643
if (UseCompressedOops) {
644
+ #ifdef _LP64
639
645
initialize_compressed_heap (size, alignment, page_size);
640
646
if (_size > size) {
641
647
// We allocated heap with noaccess prefix.
642
648
// It can happen we get a zerobased/unscaled heap with noaccess prefix,
643
649
// if we had to try at arbitrary address.
644
650
establish_noaccess_prefix ();
645
651
}
652
+ #else
653
+ ShouldNotReachHere ();
654
+ #endif // _LP64
646
655
} else {
647
656
initialize (size, alignment, page_size, nullptr , false );
648
657
}
0 commit comments