591 uintptr_t epsilon = (uintptr_t) MinObjAlignment; 592 uintptr_t heap_start = (uintptr_t) heap->_reserved.start(); 593 uintptr_t heap_end = (uintptr_t) heap->_reserved.end(); 594 595 // Test that NULL is not in the heap. 596 assert(!heap->is_in(NULL), "NULL is unexpectedly in the heap"); 597 598 // Test that a pointer to before the heap start is reported as outside the heap. 599 assert(heap_start >= ((uintptr_t)NULL + epsilon), "sanity"); 600 void* before_heap = (void*)(heap_start - epsilon); 601 assert(!heap->is_in(before_heap), 602 err_msg("before_heap: " PTR_FORMAT " is unexpectedly in the heap", p2i(before_heap))); 603 604 // Test that a pointer to after the heap end is reported as outside the heap. 605 assert(heap_end <= ((uintptr_t)-1 - epsilon), "sanity"); 606 void* after_heap = (void*)(heap_end + epsilon); 607 assert(!heap->is_in(after_heap), 608 err_msg("after_heap: " PTR_FORMAT " is unexpectedly in the heap", p2i(after_heap))); 609 } 610 #endif | 591 uintptr_t epsilon = (uintptr_t) MinObjAlignment; 592 uintptr_t heap_start = (uintptr_t) heap->_reserved.start(); 593 uintptr_t heap_end = (uintptr_t) heap->_reserved.end(); 594 595 // Test that NULL is not in the heap. 596 assert(!heap->is_in(NULL), "NULL is unexpectedly in the heap"); 597 598 // Test that a pointer to before the heap start is reported as outside the heap. 599 assert(heap_start >= ((uintptr_t)NULL + epsilon), "sanity"); 600 void* before_heap = (void*)(heap_start - epsilon); 601 assert(!heap->is_in(before_heap), 602 err_msg("before_heap: " PTR_FORMAT " is unexpectedly in the heap", p2i(before_heap))); 603 604 // Test that a pointer to after the heap end is reported as outside the heap. 605 assert(heap_end <= ((uintptr_t)-1 - epsilon), "sanity"); 606 void* after_heap = (void*)(heap_end + epsilon); 607 assert(!heap->is_in(after_heap), 608 err_msg("after_heap: " PTR_FORMAT " is unexpectedly in the heap", p2i(after_heap))); 609 } 610 #endif 611 612 void CollectedHeap::shutdown() { 613 // Default implementation does nothing. 614 } 615 616 void CollectedHeap::accumulate_statistics_all_gclabs() { 617 // Default implementation does nothing. 618 } 619 620 bool CollectedHeap::supports_object_pinning() const { 621 return false; 622 } 623 624 oop CollectedHeap::pin_object(JavaThread* thread, oop obj) { 625 ShouldNotReachHere(); 626 return NULL; 627 } 628 629 void CollectedHeap::unpin_object(JavaThread* thread, oop obj) { 630 ShouldNotReachHere(); 631 } |