42using heap_reference_t = uint32_t;
51 heap_reference_t klass;
53 T brooks_read_barrier;
58 heap_reference_t klass;
61template<
class T = no_brooks_read_barrier_t>
62struct ALIGNED_(4) jarray_t {
68template<
class T = no_brooks_read_barrier_t>
69struct ALIGNED_(4) jclass_t {
72 heap_reference_t class_loader;
73 heap_reference_t component_type;
74 heap_reference_t dex_cache;
75 heap_reference_t dex_cache_strings;
76 heap_reference_t iftable;
77 heap_reference_t name;
78 heap_reference_t super_class;
79 heap_reference_t verify_error_class;
80 heap_reference_t vtable;
82 uint32_t access_flags;
83 uint64_t direct_methods;
86 uint64_t virtual_methods;
88 uint32_t clinit_thread_id;
89 int32_t dex_class_def_idx;
91 uint32_t num_direct_methods;
92 uint32_t num_instance_fields;
93 uint32_t num_reference_instance_fields;
94 uint32_t num_reference_static_fields;
95 uint32_t num_static_fields;
96 uint32_t num_virtual_methods;
98 uint32_t primitive_type;
99 uint32_t reference_instance_offsets;
103template<
class T = no_brooks_read_barrier_t>
104struct ALIGNED_(4) jstring_t {
111template<
class T = no_brooks_read_barrier_t>
112struct ALIGNED_(4) jdex_cache_t {
115 heap_reference_t dex;
116 heap_reference_t location;
117 heap_reference_t resolved_fields;
118 heap_reference_t resolved_methods;
119 heap_reference_t resolved_types;
120 heap_reference_t strings;
135using heap_reference_t = ART_17::Java::heap_reference_t;
138template<
class T = no_brooks_read_barrier_t>
141template<
class T = no_brooks_read_barrier_t>
142using jarray_t = ART_17::Java::jarray_t<T>;
144template<
class T = no_brooks_read_barrier_t>
145struct ALIGNED_(4) jclass_t {
148 heap_reference_t annotation_type;
149 heap_reference_t class_loader;
150 heap_reference_t component_type;
151 heap_reference_t dex_cache;
153 heap_reference_t iftable;
154 heap_reference_t name;
155 heap_reference_t super_class;
156 heap_reference_t verify_error;
157 heap_reference_t vtable;
159 uint32_t access_flags;
160 uint64_t dex_cache_strings;
164 uint32_t class_flags;
166 uint32_t clinit_thread_id;
167 int32_t dex_class_def_idx;
168 int32_t dex_type_idx;
171 uint32_t num_reference_instance_fields;
172 uint32_t num_reference_static_fields;
175 uint32_t object_size;
176 uint32_t primitive_type;
177 uint32_t reference_instance_offsets;
180 uint16_t copied_methods_offset;
181 uint16_t virtual_methods_offset;
186template<
class T = no_brooks_read_barrier_t>
187using jstring_t = ART_17::Java::jstring_t<T>;
189template<
class T = no_brooks_read_barrier_t>
190struct ALIGNED_(4) jdex_cache_t {
193 heap_reference_t dex;
194 heap_reference_t location;
196 uint64_t resolved_fields;
197 uint64_t resolved_methods;
198 uint64_t resolved_types;
200 uint32_t num_resolved_fields;
201 uint32_t num_resolved_methods;
202 uint32_t num_resolved_types;
203 uint32_t num_strings;
221using heap_reference_t = ART_29::Java::heap_reference_t;
224template<
class T = no_brooks_read_barrier_t>
227template<
class T = no_brooks_read_barrier_t>
228using jarray_t = ART_29::Java::jarray_t<T>;
230template<
class T = no_brooks_read_barrier_t>
231using jclass_t = ART_29::Java::jclass_t<T>;
234template<
class T = no_brooks_read_barrier_t>
235using jstring_t = ART_29::Java::jstring_t<T>;
238template<
class T = no_brooks_read_barrier_t>
239using jdex_cache_t = ART_29::Java::jdex_cache_t<T>;
253using heap_reference_t = ART_30::Java::heap_reference_t;
256template<
class T = no_brooks_read_barrier_t>
259template<
class T = no_brooks_read_barrier_t>
260using jarray_t = ART_30::Java::jarray_t<T>;
262template<
class T = no_brooks_read_barrier_t>
263struct ALIGNED_(4) jclass_t {
267 heap_reference_t class_loader;
268 heap_reference_t component_type;
269 heap_reference_t dex_cache;
270 heap_reference_t ext_data;
271 heap_reference_t iftable;
272 heap_reference_t name;
273 heap_reference_t super_class;
275 heap_reference_t vtable;
282 uint32_t access_flags;
283 uint32_t class_flags;
285 uint32_t clinit_thread_id;
286 int32_t dex_class_def_idx;
287 int32_t dex_type_idx;
288 uint32_t num_reference_instance_fields;
289 uint32_t num_reference_static_fields;
290 uint32_t object_size;
291 uint32_t object_size_alloc_fast_path;
292 uint32_t primitive_type;
293 uint32_t reference_instance_offsets;
295 uint16_t copied_methods_offset;
296 uint16_t virtual_methods_offset;
304template<
class T = no_brooks_read_barrier_t>
305using jstring_t = ART_30::Java::jstring_t<T>;
307template<
class T = no_brooks_read_barrier_t>
308struct ALIGNED_(4) jdex_cache_t {
312 heap_reference_t location;
313 uint32_t num_resolved_call_sites;
315 uint64_t resolved_call_sites;
316 uint64_t resolved_fields;
317 uint64_t resolved_method_types;
318 uint64_t resolved_methods;
319 uint64_t resolved_types;
321 uint32_t num_resolved_fields;
322 uint32_t num_resolved_methods_types;
323 uint32_t num_resolved_methods;
324 uint32_t num_resolved_types;
325 uint32_t num_strings;
341using heap_reference_t = ART_44::Java::heap_reference_t;
344template<
class T = no_brooks_read_barrier_t>
347template<
class T = no_brooks_read_barrier_t>
348using jarray_t = ART_44::Java::jarray_t<T>;
350template<
class T = no_brooks_read_barrier_t>
351using jclass_t = ART_44::Java::jclass_t<T>;
353template<
class T = no_brooks_read_barrier_t>
354using jstring_t = ART_44::Java::jstring_t<T>;
356template<
class T = no_brooks_read_barrier_t>
357using jdex_cache_t = ART_44::Java::jdex_cache_t<T>;
370using heap_reference_t = ART_46::Java::heap_reference_t;
373template<
class T = no_brooks_read_barrier_t>
376template<
class T = no_brooks_read_barrier_t>
377using jarray_t = ART_46::Java::jarray_t<T>;
379template<
class T = no_brooks_read_barrier_t>
380using jclass_t = ART_46::Java::jclass_t<T>;
382template<
class T = no_brooks_read_barrier_t>
383using jstring_t = ART_46::Java::jstring_t<T>;
385template<
class T = no_brooks_read_barrier_t>
386using jdex_cache_t = ART_46::Java::jdex_cache_t<T>;