< prev index next >

src/hotspot/share/gc/shared/collectedHeap.inline.hpp

Print this page
rev 47223 : [mq]: heapz8


 141   if (UseTLAB) {
 142     result = allocate_from_tlab(klass, THREAD, size);
 143     if (result != NULL) {
 144       assert(!HAS_PENDING_EXCEPTION,
 145              "Unexpected exception, will result in uninitialized storage");
 146       return result;
 147     }
 148   }
 149   bool gc_overhead_limit_was_exceeded = false;
 150   result = Universe::heap()->mem_allocate(size,
 151                                           &gc_overhead_limit_was_exceeded);
 152   if (result != NULL) {
 153     NOT_PRODUCT(Universe::heap()->
 154       check_for_non_bad_heap_word_value(result, size));
 155     assert(!HAS_PENDING_EXCEPTION,
 156            "Unexpected exception, will result in uninitialized storage");
 157     THREAD->incr_allocated_bytes(size * HeapWordSize);
 158 
 159     AllocTracer::send_allocation_outside_tlab_event(klass, size * HeapWordSize);
 160 

 161     return result;
 162   }
 163 
 164 
 165   if (!gc_overhead_limit_was_exceeded) {
 166     // -XX:+HeapDumpOnOutOfMemoryError and -XX:OnOutOfMemoryError support
 167     report_java_out_of_memory("Java heap space");
 168 
 169     if (JvmtiExport::should_post_resource_exhausted()) {
 170       JvmtiExport::post_resource_exhausted(
 171         JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR | JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP,
 172         "Java heap space");
 173     }
 174 
 175     THROW_OOP_0(Universe::out_of_memory_error_java_heap());
 176   } else {
 177     // -XX:+HeapDumpOnOutOfMemoryError and -XX:OnOutOfMemoryError support
 178     report_java_out_of_memory("GC overhead limit exceeded");
 179 
 180     if (JvmtiExport::should_post_resource_exhausted()) {




 141   if (UseTLAB) {
 142     result = allocate_from_tlab(klass, THREAD, size);
 143     if (result != NULL) {
 144       assert(!HAS_PENDING_EXCEPTION,
 145              "Unexpected exception, will result in uninitialized storage");
 146       return result;
 147     }
 148   }
 149   bool gc_overhead_limit_was_exceeded = false;
 150   result = Universe::heap()->mem_allocate(size,
 151                                           &gc_overhead_limit_was_exceeded);
 152   if (result != NULL) {
 153     NOT_PRODUCT(Universe::heap()->
 154       check_for_non_bad_heap_word_value(result, size));
 155     assert(!HAS_PENDING_EXCEPTION,
 156            "Unexpected exception, will result in uninitialized storage");
 157     THREAD->incr_allocated_bytes(size * HeapWordSize);
 158 
 159     AllocTracer::send_allocation_outside_tlab_event(klass, size * HeapWordSize);
 160 
 161     THREAD->tlab().handle_sample(THREAD, result, size);
 162     return result;
 163   }
 164 
 165 
 166   if (!gc_overhead_limit_was_exceeded) {
 167     // -XX:+HeapDumpOnOutOfMemoryError and -XX:OnOutOfMemoryError support
 168     report_java_out_of_memory("Java heap space");
 169 
 170     if (JvmtiExport::should_post_resource_exhausted()) {
 171       JvmtiExport::post_resource_exhausted(
 172         JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR | JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP,
 173         "Java heap space");
 174     }
 175 
 176     THROW_OOP_0(Universe::out_of_memory_error_java_heap());
 177   } else {
 178     // -XX:+HeapDumpOnOutOfMemoryError and -XX:OnOutOfMemoryError support
 179     report_java_out_of_memory("GC overhead limit exceeded");
 180 
 181     if (JvmtiExport::should_post_resource_exhausted()) {


< prev index next >