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 // the array of preallocated errors with backtraces
132 static objArrayOop preallocated_out_of_memory_errors();
133
134 static objArrayOop out_of_memory_errors();
135 // generate an out of memory error; if possible using an error with preallocated backtrace;
136 // otherwise return the given default error.
137 static oop gen_out_of_memory_error(oop default_err);
138
226 static oop the_null_string();
227 static oop the_min_jint_string();
228
229 static oop null_ptr_exception_instance();
230 static oop arithmetic_exception_instance();
231 static oop internal_error_instance();
232 static oop array_index_out_of_bounds_exception_instance();
233 static oop array_store_exception_instance();
234 static oop class_cast_exception_instance();
235 static oop vm_exception() { return internal_error_instance(); }
236
237 static Array<Klass*>* the_array_interfaces_array() { return _the_array_interfaces_array; }
238 static uintx the_array_interfaces_bitmap() { return _the_array_interfaces_bitmap; }
239
240 static Method* finalizer_register_method();
241 static Method* loader_addClass_method();
242 static Method* throw_illegal_access_error();
243 static Method* throw_no_such_method_error();
244 static Method* do_stack_walk_method();
245
246 static oop the_null_sentinel();
247 static address the_null_sentinel_addr() { return (address) &_the_null_sentinel; }
248
249 // Function to initialize these
250 static void initialize_known_methods(JavaThread* current);
251
252 static void create_preallocated_out_of_memory_errors(TRAPS);
253
254 // Reference pending list manipulation. Access is protected by
255 // Heap_lock. The getter, setter and predicate require the caller
256 // owns the lock. Swap is used by parallel non-concurrent reference
257 // processing threads, where some higher level controller owns
258 // Heap_lock, so requires the lock is locked, but not necessarily by
259 // the current thread.
260 static oop reference_pending_list();
261 static void clear_reference_pending_list();
262 static bool has_reference_pending_list();
263 static oop swap_reference_pending_list(oop list);
264
265 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 // 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 Method* is_substitutable_method();
248 static Method* value_object_hash_code_method();
249
250 static oop the_null_sentinel();
251 static address the_null_sentinel_addr() { return (address) &_the_null_sentinel; }
252
253 // Function to initialize these
254 static void initialize_known_methods(JavaThread* current);
255
256 static void create_preallocated_out_of_memory_errors(TRAPS);
257
258 // Reference pending list manipulation. Access is protected by
259 // Heap_lock. The getter, setter and predicate require the caller
260 // owns the lock. Swap is used by parallel non-concurrent reference
261 // processing threads, where some higher level controller owns
262 // Heap_lock, so requires the lock is locked, but not necessarily by
263 // the current thread.
264 static oop reference_pending_list();
265 static void clear_reference_pending_list();
266 static bool has_reference_pending_list();
267 static oop swap_reference_pending_list(oop list);
268
269 static Array<int>* the_empty_int_array() { return _the_empty_int_array; }
|