< prev index next >

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

Print this page
rev 13139 : [mq]: heap7


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

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




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


< prev index next >