16#ifndef LIEF_ART_JAVA_STRUCTURES_H
17#define LIEF_ART_JAVA_STRUCTURES_H
58template<
class T = no_brooks_read_barrier_t>
65template<
class T = no_brooks_read_barrier_t>
79 uint32_t access_flags;
80 uint64_t direct_methods;
83 uint64_t virtual_methods;
85 uint32_t clinit_thread_id;
86 int32_t dex_class_def_idx;
88 uint32_t num_direct_methods;
89 uint32_t num_instance_fields;
90 uint32_t num_reference_instance_fields;
91 uint32_t num_reference_static_fields;
92 uint32_t num_static_fields;
93 uint32_t num_virtual_methods;
95 uint32_t primitive_type;
96 uint32_t reference_instance_offsets;
100template<
class T = no_brooks_read_barrier_t>
108template<
class T = no_brooks_read_barrier_t>
135template<
class T = no_brooks_read_barrier_t>
138template<
class T = no_brooks_read_barrier_t>
141template<
class T = no_brooks_read_barrier_t>
156 uint32_t access_flags;
157 uint64_t dex_cache_strings;
161 uint32_t class_flags;
163 uint32_t clinit_thread_id;
164 int32_t dex_class_def_idx;
165 int32_t dex_type_idx;
168 uint32_t num_reference_instance_fields;
169 uint32_t num_reference_static_fields;
172 uint32_t object_size;
173 uint32_t primitive_type;
174 uint32_t reference_instance_offsets;
177 uint16_t copied_methods_offset;
178 uint16_t virtual_methods_offset;
183template<
class T = no_brooks_read_barrier_t>
186template<
class T = no_brooks_read_barrier_t>
193 uint64_t resolved_fields;
194 uint64_t resolved_methods;
195 uint64_t resolved_types;
197 uint32_t num_resolved_fields;
198 uint32_t num_resolved_methods;
199 uint32_t num_resolved_types;
200 uint32_t num_strings;
219template<
class T = no_brooks_read_barrier_t>
222template<
class T = no_brooks_read_barrier_t>
225template<
class T = no_brooks_read_barrier_t>
229template<
class T = no_brooks_read_barrier_t>
233template<
class T = no_brooks_read_barrier_t>
251template<
class T = no_brooks_read_barrier_t>
254template<
class T = no_brooks_read_barrier_t>
257template<
class T = no_brooks_read_barrier_t>
277 uint32_t access_flags;
278 uint32_t class_flags;
280 uint32_t clinit_thread_id;
281 int32_t dex_class_def_idx;
282 int32_t dex_type_idx;
283 uint32_t num_reference_instance_fields;
284 uint32_t num_reference_static_fields;
285 uint32_t object_size;
286 uint32_t object_size_alloc_fast_path;
287 uint32_t primitive_type;
288 uint32_t reference_instance_offsets;
290 uint16_t copied_methods_offset;
291 uint16_t virtual_methods_offset;
299template<
class T = no_brooks_read_barrier_t>
302template<
class T = no_brooks_read_barrier_t>
308 uint32_t num_resolved_call_sites;
310 uint64_t resolved_call_sites;
311 uint64_t resolved_fields;
312 uint64_t resolved_method_types;
313 uint64_t resolved_methods;
314 uint64_t resolved_types;
316 uint32_t num_resolved_fields;
317 uint32_t num_resolved_methods_types;
318 uint32_t num_resolved_methods;
319 uint32_t num_resolved_types;
320 uint32_t num_strings;
339template<
class T = no_brooks_read_barrier_t>
342template<
class T = no_brooks_read_barrier_t>
345template<
class T = no_brooks_read_barrier_t>
348template<
class T = no_brooks_read_barrier_t>
351template<
class T = no_brooks_read_barrier_t>
368template<
class T = no_brooks_read_barrier_t>
371template<
class T = no_brooks_read_barrier_t>
374template<
class T = no_brooks_read_barrier_t>
377template<
class T = no_brooks_read_barrier_t>
380template<
class T = no_brooks_read_barrier_t>
Namespace related to the Java part of ART 17.
Definition java_structures.hpp:37
uint32_t heap_reference_t
Definition java_structures.hpp:39
struct ALIGNED_(4) jarray_t
Definition java_structures.hpp:59
Namespace related to the Java part of ART 29.
Definition java_structures.hpp:131
ART_17::Java::jstring_t< T > jstring_t
Definition java_structures.hpp:184
struct ALIGNED_(4) jclass_t
Definition java_structures.hpp:142
ART_17::Java::jobject_t< T > jobject_t
Definition java_structures.hpp:136
ART_17::Java::jarray_t< T > jarray_t
Definition java_structures.hpp:139
ART_17::Java::brooks_read_barrier_t brooks_read_barrier_t
Definition java_structures.hpp:133
ART_17::Java::heap_reference_t heap_reference_t
Definition java_structures.hpp:132
Namespace related to the Java part of ART 30.
Definition java_structures.hpp:214
ART_29::Java::jstring_t< T > jstring_t
Definition java_structures.hpp:230
ART_29::Java::jdex_cache_t< T > jdex_cache_t
Definition java_structures.hpp:234
ART_29::Java::jarray_t< T > jarray_t
Definition java_structures.hpp:223
ART_29::Java::brooks_read_barrier_t brooks_read_barrier_t
Definition java_structures.hpp:217
ART_29::Java::jobject_t< T > jobject_t
Definition java_structures.hpp:220
ART_29::Java::heap_reference_t heap_reference_t
Definition java_structures.hpp:216
ART_29::Java::jclass_t< T > jclass_t
Definition java_structures.hpp:226
Namespace related to the Java part of ART 44.
Definition java_structures.hpp:245
ART_30::Java::jstring_t< T > jstring_t
Definition java_structures.hpp:300
ART_30::Java::heap_reference_t heap_reference_t
Definition java_structures.hpp:248
struct ALIGNED_(4) jclass_t
Definition java_structures.hpp:258
ART_30::Java::jobject_t< T > jobject_t
Definition java_structures.hpp:252
ART_30::Java::jarray_t< T > jarray_t
Definition java_structures.hpp:255
ART_30::Java::brooks_read_barrier_t brooks_read_barrier_t
Definition java_structures.hpp:249
Namespace related to the Java part of ART 46.
Definition java_structures.hpp:334
ART_44::Java::heap_reference_t heap_reference_t
Definition java_structures.hpp:336
ART_44::Java::jstring_t< T > jstring_t
Definition java_structures.hpp:349
ART_44::Java::jobject_t< T > jobject_t
Definition java_structures.hpp:340
ART_44::Java::jdex_cache_t< T > jdex_cache_t
Definition java_structures.hpp:352
ART_44::Java::jclass_t< T > jclass_t
Definition java_structures.hpp:346
ART_44::Java::brooks_read_barrier_t brooks_read_barrier_t
Definition java_structures.hpp:337
ART_44::Java::jarray_t< T > jarray_t
Definition java_structures.hpp:343
Namespace related to the Java part of ART 46.
Definition java_structures.hpp:363
ART_46::Java::jstring_t< T > jstring_t
Definition java_structures.hpp:378
ART_46::Java::jclass_t< T > jclass_t
Definition java_structures.hpp:375
ART_46::Java::jdex_cache_t< T > jdex_cache_t
Definition java_structures.hpp:381
ART_46::Java::jobject_t< T > jobject_t
Definition java_structures.hpp:369
ART_46::Java::jarray_t< T > jarray_t
Definition java_structures.hpp:372
ART_46::Java::brooks_read_barrier_t brooks_read_barrier_t
Definition java_structures.hpp:366
ART_46::Java::heap_reference_t heap_reference_t
Definition java_structures.hpp:365
Namespace related to the LIEF's ART module.
Definition java_structures.hpp:27
Definition java_structures.hpp:41
uint32_t x_rb_ptr
Definition java_structures.hpp:42
uint32_t x_xpadding
Definition java_structures.hpp:43
heap_reference_t klass
Definition java_structures.hpp:55
uint32_t monitor
Definition java_structures.hpp:56
Definition java_structures.hpp:47
heap_reference_t klass
Definition java_structures.hpp:48
uint32_t monitor
Definition java_structures.hpp:49
T brooks_read_barrier
Definition java_structures.hpp:50
Definition java_structures.hpp:29