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