99 static uintx _the_empty_klass_bitmap;
100
101 // array of preallocated error objects with backtrace
102 static OopHandle _preallocated_out_of_memory_error_array;
103
104 // number of preallocated error objects available for use
105 static volatile jint _preallocated_out_of_memory_error_avail_count;
106
107 // preallocated message detail strings for error objects
108 static OopHandle _msg_metaspace;
109 static OopHandle _msg_class_metaspace;
110
111 // References waiting to be transferred to the ReferenceHandler
112 static OopHandle _reference_pending_list;
113
114 // The particular choice of collected heap.
115 static CollectedHeap* _collectedHeap;
116
117 static intptr_t _non_oop_bits;
118
119 // array of dummy objects used with +FullGCAlot
120 DEBUG_ONLY(static OopHandle _fullgc_alot_dummy_array;)
121 DEBUG_ONLY(static int _fullgc_alot_dummy_next;)
122
123 // Compiler/dispatch support
124 static int _base_vtable_size; // Java vtbl size of klass Object (in words)
125
126 // Initialization
127 static bool _bootstrapping; // true during genesis
128 static bool _module_initialized; // true after call_initPhase2 called
129 static bool _fully_initialized; // true after universe_init and initialize_vtables called
130
131 // Shutdown
132 static volatile bool _is_shutting_down;
133
134 // the array of preallocated errors with backtraces
135 static objArrayOop preallocated_out_of_memory_errors();
136
137 static objArrayOop out_of_memory_errors();
138 // generate an out of memory error; if possible using an error with preallocated backtrace;
238 static oop the_null_string();
239 static oop the_min_jint_string();
240
241 static oop null_ptr_exception_instance();
242 static oop arithmetic_exception_instance();
243 static oop internal_error_instance();
244 static oop array_index_out_of_bounds_exception_instance();
245 static oop array_store_exception_instance();
246 static oop class_cast_exception_instance();
247 static oop vm_exception() { return internal_error_instance(); }
248
249 static Array<Klass*>* the_array_interfaces_array() { return _the_array_interfaces_array; }
250 static uintx the_array_interfaces_bitmap() { return _the_array_interfaces_bitmap; }
251
252 static Method* finalizer_register_method();
253 static Method* loader_addClass_method();
254 static Method* throw_illegal_access_error();
255 static Method* throw_no_such_method_error();
256 static Method* do_stack_walk_method();
257
258 static oop the_null_sentinel();
259 static address the_null_sentinel_addr() { return (address) &_the_null_sentinel; }
260
261 // Function to initialize these
262 static void initialize_known_methods(JavaThread* current);
263
264 static void create_preallocated_out_of_memory_errors(TRAPS);
265
266 // Reference pending list manipulation. Access is protected by
267 // Heap_lock. The getter, setter and predicate require the caller
268 // owns the lock. Swap is used by parallel non-concurrent reference
269 // processing threads, where some higher level controller owns
270 // Heap_lock, so requires the lock is locked, but not necessarily by
271 // the current thread.
272 static oop reference_pending_list();
273 static void clear_reference_pending_list();
274 static bool has_reference_pending_list();
275 static oop swap_reference_pending_list(oop list);
276
277 static Array<int>* the_empty_int_array() { return _the_empty_int_array; }
|
99 static uintx _the_empty_klass_bitmap;
100
101 // array of preallocated error objects with backtrace
102 static OopHandle _preallocated_out_of_memory_error_array;
103
104 // number of preallocated error objects available for use
105 static volatile jint _preallocated_out_of_memory_error_avail_count;
106
107 // preallocated message detail strings for error objects
108 static OopHandle _msg_metaspace;
109 static OopHandle _msg_class_metaspace;
110
111 // References waiting to be transferred to the ReferenceHandler
112 static OopHandle _reference_pending_list;
113
114 // The particular choice of collected heap.
115 static CollectedHeap* _collectedHeap;
116
117 static intptr_t _non_oop_bits;
118
119
120 // array of dummy objects used with +FullGCAlot
121 DEBUG_ONLY(static OopHandle _fullgc_alot_dummy_array;)
122 DEBUG_ONLY(static int _fullgc_alot_dummy_next;)
123
124 // Compiler/dispatch support
125 static int _base_vtable_size; // Java vtbl size of klass Object (in words)
126
127 // Initialization
128 static bool _bootstrapping; // true during genesis
129 static bool _module_initialized; // true after call_initPhase2 called
130 static bool _fully_initialized; // true after universe_init and initialize_vtables called
131
132 // Shutdown
133 static volatile bool _is_shutting_down;
134
135 // the array of preallocated errors with backtraces
136 static objArrayOop preallocated_out_of_memory_errors();
137
138 static objArrayOop out_of_memory_errors();
139 // generate an out of memory error; if possible using an error with preallocated backtrace;
239 static oop the_null_string();
240 static oop the_min_jint_string();
241
242 static oop null_ptr_exception_instance();
243 static oop arithmetic_exception_instance();
244 static oop internal_error_instance();
245 static oop array_index_out_of_bounds_exception_instance();
246 static oop array_store_exception_instance();
247 static oop class_cast_exception_instance();
248 static oop vm_exception() { return internal_error_instance(); }
249
250 static Array<Klass*>* the_array_interfaces_array() { return _the_array_interfaces_array; }
251 static uintx the_array_interfaces_bitmap() { return _the_array_interfaces_bitmap; }
252
253 static Method* finalizer_register_method();
254 static Method* loader_addClass_method();
255 static Method* throw_illegal_access_error();
256 static Method* throw_no_such_method_error();
257 static Method* do_stack_walk_method();
258
259 static Method* is_substitutable_method();
260 static Method* value_object_hash_code_method();
261
262 static oop the_null_sentinel();
263 static address the_null_sentinel_addr() { return (address) &_the_null_sentinel; }
264
265 // Function to initialize these
266 static void initialize_known_methods(JavaThread* current);
267
268 static void create_preallocated_out_of_memory_errors(TRAPS);
269
270 // Reference pending list manipulation. Access is protected by
271 // Heap_lock. The getter, setter and predicate require the caller
272 // owns the lock. Swap is used by parallel non-concurrent reference
273 // processing threads, where some higher level controller owns
274 // Heap_lock, so requires the lock is locked, but not necessarily by
275 // the current thread.
276 static oop reference_pending_list();
277 static void clear_reference_pending_list();
278 static bool has_reference_pending_list();
279 static oop swap_reference_pending_list(oop list);
280
281 static Array<int>* the_empty_int_array() { return _the_empty_int_array; }
|