src/hotspot/share/memory/universe.cpp
changeset 52033 d6aa9ea2405d
parent 51959 db0c3952de52
child 52062 8dbf1a13af49
equal deleted inserted replaced
52032:2f7a2e7c3221 52033:d6aa9ea2405d
   111 oop Universe::_out_of_memory_error_metaspace          = NULL;
   111 oop Universe::_out_of_memory_error_metaspace          = NULL;
   112 oop Universe::_out_of_memory_error_class_metaspace    = NULL;
   112 oop Universe::_out_of_memory_error_class_metaspace    = NULL;
   113 oop Universe::_out_of_memory_error_array_size         = NULL;
   113 oop Universe::_out_of_memory_error_array_size         = NULL;
   114 oop Universe::_out_of_memory_error_gc_overhead_limit  = NULL;
   114 oop Universe::_out_of_memory_error_gc_overhead_limit  = NULL;
   115 oop Universe::_out_of_memory_error_realloc_objects    = NULL;
   115 oop Universe::_out_of_memory_error_realloc_objects    = NULL;
       
   116 oop Universe::_out_of_memory_error_retry              = NULL;
   116 oop Universe::_delayed_stack_overflow_error_message   = NULL;
   117 oop Universe::_delayed_stack_overflow_error_message   = NULL;
   117 objArrayOop Universe::_preallocated_out_of_memory_error_array = NULL;
   118 objArrayOop Universe::_preallocated_out_of_memory_error_array = NULL;
   118 volatile jint Universe::_preallocated_out_of_memory_error_avail_count = 0;
   119 volatile jint Universe::_preallocated_out_of_memory_error_avail_count = 0;
   119 bool Universe::_verify_in_progress                    = false;
   120 bool Universe::_verify_in_progress                    = false;
   120 long Universe::verify_flags                           = Universe::Verify_All;
   121 long Universe::verify_flags                           = Universe::Verify_All;
   193   f->do_oop((oop*)&_out_of_memory_error_metaspace);
   194   f->do_oop((oop*)&_out_of_memory_error_metaspace);
   194   f->do_oop((oop*)&_out_of_memory_error_class_metaspace);
   195   f->do_oop((oop*)&_out_of_memory_error_class_metaspace);
   195   f->do_oop((oop*)&_out_of_memory_error_array_size);
   196   f->do_oop((oop*)&_out_of_memory_error_array_size);
   196   f->do_oop((oop*)&_out_of_memory_error_gc_overhead_limit);
   197   f->do_oop((oop*)&_out_of_memory_error_gc_overhead_limit);
   197   f->do_oop((oop*)&_out_of_memory_error_realloc_objects);
   198   f->do_oop((oop*)&_out_of_memory_error_realloc_objects);
       
   199   f->do_oop((oop*)&_out_of_memory_error_retry);
   198   f->do_oop((oop*)&_delayed_stack_overflow_error_message);
   200   f->do_oop((oop*)&_delayed_stack_overflow_error_message);
   199   f->do_oop((oop*)&_preallocated_out_of_memory_error_array);
   201   f->do_oop((oop*)&_preallocated_out_of_memory_error_array);
   200   f->do_oop((oop*)&_null_ptr_exception_instance);
   202   f->do_oop((oop*)&_null_ptr_exception_instance);
   201   f->do_oop((oop*)&_arithmetic_exception_instance);
   203   f->do_oop((oop*)&_arithmetic_exception_instance);
   202   f->do_oop((oop*)&_virtual_machine_error_instance);
   204   f->do_oop((oop*)&_virtual_machine_error_instance);
   563   return ((!oopDesc::equals(throwable(), Universe::_out_of_memory_error_java_heap)) &&
   565   return ((!oopDesc::equals(throwable(), Universe::_out_of_memory_error_java_heap)) &&
   564           (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_metaspace))  &&
   566           (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_metaspace))  &&
   565           (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_class_metaspace))  &&
   567           (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_class_metaspace))  &&
   566           (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_array_size)) &&
   568           (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_array_size)) &&
   567           (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_gc_overhead_limit)) &&
   569           (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_gc_overhead_limit)) &&
   568           (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_realloc_objects)));
   570           (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_realloc_objects)) &&
       
   571           (!oopDesc::equals(throwable(), Universe::_out_of_memory_error_retry)));
   569 }
   572 }
   570 
   573 
   571 
   574 
   572 oop Universe::gen_out_of_memory_error(oop default_err) {
   575 oop Universe::gen_out_of_memory_error(oop default_err) {
   573   // generate an out of memory error:
   576   // generate an out of memory error:
   972   Universe::_out_of_memory_error_class_metaspace = ik->allocate_instance(CHECK_false);
   975   Universe::_out_of_memory_error_class_metaspace = ik->allocate_instance(CHECK_false);
   973   Universe::_out_of_memory_error_array_size = ik->allocate_instance(CHECK_false);
   976   Universe::_out_of_memory_error_array_size = ik->allocate_instance(CHECK_false);
   974   Universe::_out_of_memory_error_gc_overhead_limit =
   977   Universe::_out_of_memory_error_gc_overhead_limit =
   975     ik->allocate_instance(CHECK_false);
   978     ik->allocate_instance(CHECK_false);
   976   Universe::_out_of_memory_error_realloc_objects = ik->allocate_instance(CHECK_false);
   979   Universe::_out_of_memory_error_realloc_objects = ik->allocate_instance(CHECK_false);
       
   980   Universe::_out_of_memory_error_retry = ik->allocate_instance(CHECK_false);
   977 
   981 
   978   // Setup preallocated cause message for delayed StackOverflowError
   982   // Setup preallocated cause message for delayed StackOverflowError
   979   if (StackReservedPages > 0) {
   983   if (StackReservedPages > 0) {
   980     Universe::_delayed_stack_overflow_error_message =
   984     Universe::_delayed_stack_overflow_error_message =
   981       java_lang_String::create_oop_from_str("Delayed StackOverflowError due to ReservedStackAccess annotated method", CHECK_false);
   985       java_lang_String::create_oop_from_str("Delayed StackOverflowError due to ReservedStackAccess annotated method", CHECK_false);
  1016   msg = java_lang_String::create_from_str("GC overhead limit exceeded", CHECK_false);
  1020   msg = java_lang_String::create_from_str("GC overhead limit exceeded", CHECK_false);
  1017   java_lang_Throwable::set_message(Universe::_out_of_memory_error_gc_overhead_limit, msg());
  1021   java_lang_Throwable::set_message(Universe::_out_of_memory_error_gc_overhead_limit, msg());
  1018 
  1022 
  1019   msg = java_lang_String::create_from_str("Java heap space: failed reallocation of scalar replaced objects", CHECK_false);
  1023   msg = java_lang_String::create_from_str("Java heap space: failed reallocation of scalar replaced objects", CHECK_false);
  1020   java_lang_Throwable::set_message(Universe::_out_of_memory_error_realloc_objects, msg());
  1024   java_lang_Throwable::set_message(Universe::_out_of_memory_error_realloc_objects, msg());
       
  1025 
       
  1026   msg = java_lang_String::create_from_str("Java heap space: failed retryable allocation", CHECK_false);
       
  1027   java_lang_Throwable::set_message(Universe::_out_of_memory_error_retry, msg());
  1021 
  1028 
  1022   msg = java_lang_String::create_from_str("/ by zero", CHECK_false);
  1029   msg = java_lang_String::create_from_str("/ by zero", CHECK_false);
  1023   java_lang_Throwable::set_message(Universe::_arithmetic_exception_instance, msg());
  1030   java_lang_Throwable::set_message(Universe::_arithmetic_exception_instance, msg());
  1024 
  1031 
  1025   // Setup the array of errors that have preallocated backtrace
  1032   // Setup the array of errors that have preallocated backtrace