132 static oop _int_mirror;
133 static oop _float_mirror;
134 static oop _double_mirror;
135 static oop _byte_mirror;
136 static oop _bool_mirror;
137 static oop _char_mirror;
138 static oop _long_mirror;
139 static oop _short_mirror;
140 static oop _void_mirror;
141
142 static oop _main_thread_group; // Reference to the main thread group object
143 static oop _system_thread_group; // Reference to the system thread group object
144
145 static objArrayOop _the_empty_class_klass_array; // Canonicalized obj array of type java.lang.Class
146 static oop _the_null_string; // A cache of "null" as a Java string
147 static oop _the_min_jint_string; // A cache of "-2147483648" as a Java string
148 static LatestMethodCache* _finalizer_register_cache; // static method for registering finalizable objects
149 static LatestMethodCache* _loader_addClass_cache; // method for registering loaded classes in class loader vector
150 static LatestMethodCache* _pd_implies_cache; // method for checking protection domain attributes
151 static LatestMethodCache* _throw_illegal_access_error_cache; // Unsafe.throwIllegalAccessError() method
152
153 // preallocated error objects (no backtrace)
154 static oop _out_of_memory_error_java_heap;
155 static oop _out_of_memory_error_metaspace;
156 static oop _out_of_memory_error_class_metaspace;
157 static oop _out_of_memory_error_array_size;
158 static oop _out_of_memory_error_gc_overhead_limit;
159 static oop _out_of_memory_error_realloc_objects;
160
161 static Array<int>* _the_empty_int_array; // Canonicalized int array
162 static Array<u2>* _the_empty_short_array; // Canonicalized short array
163 static Array<Klass*>* _the_empty_klass_array; // Canonicalized klass obj array
164 static Array<Method*>* _the_empty_method_array; // Canonicalized method obj array
165
166 static Array<Klass*>* _the_array_interfaces_array;
167
168 // array of preallocated error objects with backtrace
169 static objArrayOop _preallocated_out_of_memory_error_array;
170
171 // number of preallocated error objects available for use
297 assert((uint)t < T_VOID+1, "range check");
298 return check_mirror(_mirrors[t]);
299 }
300 static oop main_thread_group() { return _main_thread_group; }
301 static void set_main_thread_group(oop group) { _main_thread_group = group;}
302
303 static oop system_thread_group() { return _system_thread_group; }
304 static void set_system_thread_group(oop group) { _system_thread_group = group;}
305
306 static objArrayOop the_empty_class_klass_array () { return _the_empty_class_klass_array; }
307 static Array<Klass*>* the_array_interfaces_array() { return _the_array_interfaces_array; }
308 static oop the_null_string() { return _the_null_string; }
309 static oop the_min_jint_string() { return _the_min_jint_string; }
310
311 static Method* finalizer_register_method() { return _finalizer_register_cache->get_method(); }
312 static Method* loader_addClass_method() { return _loader_addClass_cache->get_method(); }
313
314 static Method* protection_domain_implies_method() { return _pd_implies_cache->get_method(); }
315 static Method* throw_illegal_access_error() { return _throw_illegal_access_error_cache->get_method(); }
316
317 static oop null_ptr_exception_instance() { return _null_ptr_exception_instance; }
318 static oop arithmetic_exception_instance() { return _arithmetic_exception_instance; }
319 static oop virtual_machine_error_instance() { return _virtual_machine_error_instance; }
320 static oop vm_exception() { return _vm_exception; }
321
322 static inline oop allocation_context_notification_obj();
323 static inline void set_allocation_context_notification_obj(oop obj);
324
325 static Array<int>* the_empty_int_array() { return _the_empty_int_array; }
326 static Array<u2>* the_empty_short_array() { return _the_empty_short_array; }
327 static Array<Method*>* the_empty_method_array() { return _the_empty_method_array; }
328 static Array<Klass*>* the_empty_klass_array() { return _the_empty_klass_array; }
329
330 // OutOfMemoryError support. Returns an error with the required message. The returned error
331 // may or may not have a backtrace. If error has a backtrace then the stack trace is already
332 // filled in.
333 static oop out_of_memory_error_java_heap() { return gen_out_of_memory_error(_out_of_memory_error_java_heap); }
334 static oop out_of_memory_error_metaspace() { return gen_out_of_memory_error(_out_of_memory_error_metaspace); }
335 static oop out_of_memory_error_class_metaspace() { return gen_out_of_memory_error(_out_of_memory_error_class_metaspace); }
336 static oop out_of_memory_error_array_size() { return gen_out_of_memory_error(_out_of_memory_error_array_size); }
|
132 static oop _int_mirror;
133 static oop _float_mirror;
134 static oop _double_mirror;
135 static oop _byte_mirror;
136 static oop _bool_mirror;
137 static oop _char_mirror;
138 static oop _long_mirror;
139 static oop _short_mirror;
140 static oop _void_mirror;
141
142 static oop _main_thread_group; // Reference to the main thread group object
143 static oop _system_thread_group; // Reference to the system thread group object
144
145 static objArrayOop _the_empty_class_klass_array; // Canonicalized obj array of type java.lang.Class
146 static oop _the_null_string; // A cache of "null" as a Java string
147 static oop _the_min_jint_string; // A cache of "-2147483648" as a Java string
148 static LatestMethodCache* _finalizer_register_cache; // static method for registering finalizable objects
149 static LatestMethodCache* _loader_addClass_cache; // method for registering loaded classes in class loader vector
150 static LatestMethodCache* _pd_implies_cache; // method for checking protection domain attributes
151 static LatestMethodCache* _throw_illegal_access_error_cache; // Unsafe.throwIllegalAccessError() method
152 static LatestMethodCache* _do_stack_walk_cache; // method for stack walker callback
153
154 // preallocated error objects (no backtrace)
155 static oop _out_of_memory_error_java_heap;
156 static oop _out_of_memory_error_metaspace;
157 static oop _out_of_memory_error_class_metaspace;
158 static oop _out_of_memory_error_array_size;
159 static oop _out_of_memory_error_gc_overhead_limit;
160 static oop _out_of_memory_error_realloc_objects;
161
162 static Array<int>* _the_empty_int_array; // Canonicalized int array
163 static Array<u2>* _the_empty_short_array; // Canonicalized short array
164 static Array<Klass*>* _the_empty_klass_array; // Canonicalized klass obj array
165 static Array<Method*>* _the_empty_method_array; // Canonicalized method obj array
166
167 static Array<Klass*>* _the_array_interfaces_array;
168
169 // array of preallocated error objects with backtrace
170 static objArrayOop _preallocated_out_of_memory_error_array;
171
172 // number of preallocated error objects available for use
298 assert((uint)t < T_VOID+1, "range check");
299 return check_mirror(_mirrors[t]);
300 }
301 static oop main_thread_group() { return _main_thread_group; }
302 static void set_main_thread_group(oop group) { _main_thread_group = group;}
303
304 static oop system_thread_group() { return _system_thread_group; }
305 static void set_system_thread_group(oop group) { _system_thread_group = group;}
306
307 static objArrayOop the_empty_class_klass_array () { return _the_empty_class_klass_array; }
308 static Array<Klass*>* the_array_interfaces_array() { return _the_array_interfaces_array; }
309 static oop the_null_string() { return _the_null_string; }
310 static oop the_min_jint_string() { return _the_min_jint_string; }
311
312 static Method* finalizer_register_method() { return _finalizer_register_cache->get_method(); }
313 static Method* loader_addClass_method() { return _loader_addClass_cache->get_method(); }
314
315 static Method* protection_domain_implies_method() { return _pd_implies_cache->get_method(); }
316 static Method* throw_illegal_access_error() { return _throw_illegal_access_error_cache->get_method(); }
317
318 static Method* do_stack_walk_method() { return _do_stack_walk_cache->get_method(); }
319
320 static oop null_ptr_exception_instance() { return _null_ptr_exception_instance; }
321 static oop arithmetic_exception_instance() { return _arithmetic_exception_instance; }
322 static oop virtual_machine_error_instance() { return _virtual_machine_error_instance; }
323 static oop vm_exception() { return _vm_exception; }
324
325 static inline oop allocation_context_notification_obj();
326 static inline void set_allocation_context_notification_obj(oop obj);
327
328 static Array<int>* the_empty_int_array() { return _the_empty_int_array; }
329 static Array<u2>* the_empty_short_array() { return _the_empty_short_array; }
330 static Array<Method*>* the_empty_method_array() { return _the_empty_method_array; }
331 static Array<Klass*>* the_empty_klass_array() { return _the_empty_klass_array; }
332
333 // OutOfMemoryError support. Returns an error with the required message. The returned error
334 // may or may not have a backtrace. If error has a backtrace then the stack trace is already
335 // filled in.
336 static oop out_of_memory_error_java_heap() { return gen_out_of_memory_error(_out_of_memory_error_java_heap); }
337 static oop out_of_memory_error_metaspace() { return gen_out_of_memory_error(_out_of_memory_error_metaspace); }
338 static oop out_of_memory_error_class_metaspace() { return gen_out_of_memory_error(_out_of_memory_error_class_metaspace); }
339 static oop out_of_memory_error_array_size() { return gen_out_of_memory_error(_out_of_memory_error_array_size); }
|