< prev index next >

src/hotspot/share/memory/universe.hpp

Print this page
rev 52361 : [mq]: webrev.2.incr


 120   // Primitive objects
 121   static oop _int_mirror;
 122   static oop _float_mirror;
 123   static oop _double_mirror;
 124   static oop _byte_mirror;
 125   static oop _bool_mirror;
 126   static oop _char_mirror;
 127   static oop _long_mirror;
 128   static oop _short_mirror;
 129   static oop _void_mirror;
 130 
 131   static oop          _main_thread_group;             // Reference to the main thread group object
 132   static oop          _system_thread_group;           // Reference to the system thread group object
 133 
 134   static objArrayOop  _the_empty_class_klass_array;   // Canonicalized obj array of type java.lang.Class
 135   static oop          _the_null_sentinel;             // A unique object pointer unused except as a sentinel for null.
 136   static oop          _the_null_string;               // A cache of "null" as a Java string
 137   static oop          _the_min_jint_string;          // A cache of "-2147483648" as a Java string
 138   static LatestMethodCache* _finalizer_register_cache; // static method for registering finalizable objects
 139   static LatestMethodCache* _loader_addClass_cache;    // method for registering loaded classes in class loader vector
 140   static LatestMethodCache* _pd_implies_cache;         // method for checking protection domain attributes
 141   static LatestMethodCache* _throw_illegal_access_error_cache; // Unsafe.throwIllegalAccessError() method
 142   static LatestMethodCache* _do_stack_walk_cache;      // method for stack walker callback
 143 
 144   // preallocated error objects (no backtrace)
 145   static oop          _out_of_memory_error_java_heap;
 146   static oop          _out_of_memory_error_metaspace;
 147   static oop          _out_of_memory_error_class_metaspace;
 148   static oop          _out_of_memory_error_array_size;
 149   static oop          _out_of_memory_error_gc_overhead_limit;
 150   static oop          _out_of_memory_error_realloc_objects;
 151   static oop          _out_of_memory_error_retry;
 152 
 153   // preallocated cause message for delayed StackOverflowError
 154   static oop          _delayed_stack_overflow_error_message;
 155 
 156   static Array<int>*            _the_empty_int_array;            // Canonicalized int array
 157   static Array<u2>*             _the_empty_short_array;          // Canonicalized short array
 158   static Array<Klass*>*         _the_empty_klass_array;          // Canonicalized klass array
 159   static Array<InstanceKlass*>* _the_empty_instance_klass_array; // Canonicalized instance klass array
 160   static Array<Method*>*        _the_empty_method_array;         // Canonicalized method array


 305   static oop _mirrors[T_VOID+1];
 306 
 307   static oop java_mirror(BasicType t) {
 308     assert((uint)t < T_VOID+1, "range check");
 309     return check_mirror(_mirrors[t]);
 310   }
 311   static oop      main_thread_group()                 { return _main_thread_group; }
 312   static void set_main_thread_group(oop group)        { _main_thread_group = group;}
 313 
 314   static oop      system_thread_group()               { return _system_thread_group; }
 315   static void set_system_thread_group(oop group)      { _system_thread_group = group;}
 316 
 317   static objArrayOop  the_empty_class_klass_array ()  { return _the_empty_class_klass_array;   }
 318   static Array<Klass*>* the_array_interfaces_array() { return _the_array_interfaces_array;   }
 319   static oop          the_null_string()               { return _the_null_string;               }
 320   static oop          the_min_jint_string()          { return _the_min_jint_string;          }
 321 
 322   static Method*      finalizer_register_method()     { return _finalizer_register_cache->get_method(); }
 323   static Method*      loader_addClass_method()        { return _loader_addClass_cache->get_method(); }
 324 
 325   static Method*      protection_domain_implies_method() { return _pd_implies_cache->get_method(); }
 326   static Method*      throw_illegal_access_error()    { return _throw_illegal_access_error_cache->get_method(); }
 327 
 328   static Method*      do_stack_walk_method()          { return _do_stack_walk_cache->get_method(); }
 329 
 330   static oop          the_null_sentinel()             { return _the_null_sentinel;             }
 331   static address      the_null_sentinel_addr()        { return (address) &_the_null_sentinel;  }
 332 
 333   // Function to initialize these
 334   static void initialize_known_methods(TRAPS);
 335 
 336   static oop          null_ptr_exception_instance()   { return _null_ptr_exception_instance;   }
 337   static oop          arithmetic_exception_instance() { return _arithmetic_exception_instance; }
 338   static oop          virtual_machine_error_instance() { return _virtual_machine_error_instance; }
 339   static oop          vm_exception()                  { return _vm_exception; }
 340 
 341   // Reference pending list manipulation.  Access is protected by
 342   // Heap_lock.  The getter, setter and predicate require the caller
 343   // owns the lock.  Swap is used by parallel non-concurrent reference
 344   // processing threads, where some higher level controller owns
 345   // Heap_lock, so requires the lock is locked, but not necessarily by




 120   // Primitive objects
 121   static oop _int_mirror;
 122   static oop _float_mirror;
 123   static oop _double_mirror;
 124   static oop _byte_mirror;
 125   static oop _bool_mirror;
 126   static oop _char_mirror;
 127   static oop _long_mirror;
 128   static oop _short_mirror;
 129   static oop _void_mirror;
 130 
 131   static oop          _main_thread_group;             // Reference to the main thread group object
 132   static oop          _system_thread_group;           // Reference to the system thread group object
 133 
 134   static objArrayOop  _the_empty_class_klass_array;   // Canonicalized obj array of type java.lang.Class
 135   static oop          _the_null_sentinel;             // A unique object pointer unused except as a sentinel for null.
 136   static oop          _the_null_string;               // A cache of "null" as a Java string
 137   static oop          _the_min_jint_string;          // A cache of "-2147483648" as a Java string
 138   static LatestMethodCache* _finalizer_register_cache; // static method for registering finalizable objects
 139   static LatestMethodCache* _loader_addClass_cache;    // method for registering loaded classes in class loader vector

 140   static LatestMethodCache* _throw_illegal_access_error_cache; // Unsafe.throwIllegalAccessError() method
 141   static LatestMethodCache* _do_stack_walk_cache;      // method for stack walker callback
 142 
 143   // preallocated error objects (no backtrace)
 144   static oop          _out_of_memory_error_java_heap;
 145   static oop          _out_of_memory_error_metaspace;
 146   static oop          _out_of_memory_error_class_metaspace;
 147   static oop          _out_of_memory_error_array_size;
 148   static oop          _out_of_memory_error_gc_overhead_limit;
 149   static oop          _out_of_memory_error_realloc_objects;
 150   static oop          _out_of_memory_error_retry;
 151 
 152   // preallocated cause message for delayed StackOverflowError
 153   static oop          _delayed_stack_overflow_error_message;
 154 
 155   static Array<int>*            _the_empty_int_array;            // Canonicalized int array
 156   static Array<u2>*             _the_empty_short_array;          // Canonicalized short array
 157   static Array<Klass*>*         _the_empty_klass_array;          // Canonicalized klass array
 158   static Array<InstanceKlass*>* _the_empty_instance_klass_array; // Canonicalized instance klass array
 159   static Array<Method*>*        _the_empty_method_array;         // Canonicalized method array


 304   static oop _mirrors[T_VOID+1];
 305 
 306   static oop java_mirror(BasicType t) {
 307     assert((uint)t < T_VOID+1, "range check");
 308     return check_mirror(_mirrors[t]);
 309   }
 310   static oop      main_thread_group()                 { return _main_thread_group; }
 311   static void set_main_thread_group(oop group)        { _main_thread_group = group;}
 312 
 313   static oop      system_thread_group()               { return _system_thread_group; }
 314   static void set_system_thread_group(oop group)      { _system_thread_group = group;}
 315 
 316   static objArrayOop  the_empty_class_klass_array ()  { return _the_empty_class_klass_array;   }
 317   static Array<Klass*>* the_array_interfaces_array() { return _the_array_interfaces_array;   }
 318   static oop          the_null_string()               { return _the_null_string;               }
 319   static oop          the_min_jint_string()          { return _the_min_jint_string;          }
 320 
 321   static Method*      finalizer_register_method()     { return _finalizer_register_cache->get_method(); }
 322   static Method*      loader_addClass_method()        { return _loader_addClass_cache->get_method(); }
 323 

 324   static Method*      throw_illegal_access_error()    { return _throw_illegal_access_error_cache->get_method(); }
 325 
 326   static Method*      do_stack_walk_method()          { return _do_stack_walk_cache->get_method(); }
 327 
 328   static oop          the_null_sentinel()             { return _the_null_sentinel;             }
 329   static address      the_null_sentinel_addr()        { return (address) &_the_null_sentinel;  }
 330 
 331   // Function to initialize these
 332   static void initialize_known_methods(TRAPS);
 333 
 334   static oop          null_ptr_exception_instance()   { return _null_ptr_exception_instance;   }
 335   static oop          arithmetic_exception_instance() { return _arithmetic_exception_instance; }
 336   static oop          virtual_machine_error_instance() { return _virtual_machine_error_instance; }
 337   static oop          vm_exception()                  { return _vm_exception; }
 338 
 339   // Reference pending list manipulation.  Access is protected by
 340   // Heap_lock.  The getter, setter and predicate require the caller
 341   // owns the lock.  Swap is used by parallel non-concurrent reference
 342   // processing threads, where some higher level controller owns
 343   // Heap_lock, so requires the lock is locked, but not necessarily by


< prev index next >