27 #ifndef JAVAOBJECTS_HPP_
28 #define JAVAOBJECTS_HPP_ 1
59 template<
class T>
static inline T
raw_get(
void*
address,
const off_t offset);
60 template<
class T>
static inline void raw_set(
void* address,
const off_t offset, T value);
66 T* p = (T*) (((uintptr_t) address) + offset);
73 T* p = (T*) (((uintptr_t) address) + offset);
87 template<
class T>
static inline T
get(
java_handle_t* h,
const off_t offset);
88 template<
class T>
static inline void set(
java_handle_t* h,
const off_t offset, T value);
103 return raw_get<T>(ho, offset);
135 raw_set(o, offset, ovalue);
146 return raw_get<volatile T>(ho, offset);
167 raw_set(ho, offset, (
volatile T) value);
233 #if defined(ENABLE_GC_CACAO)
241 return (int32_t) (intptr_t) o;
513 #if defined(ENABLE_JAVASE)
530 # if defined(ENABLE_ANNOTATIONS)
571 # endif // ENABLE_ANNOTATIONS
573 #endif // ENABLE_JAVASE
578 #if defined(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)
775 namespace runtime_str_ops {
1798 #endif // WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH
1801 #if defined(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK)
1820 static const off_t offset_classEnabled =
MEMORY_ALIGN(offset_classes + SIZEOF_VOID_P, SIZEOF_VOID_P);
1821 static const off_t offset_packages =
MEMORY_ALIGN(offset_classEnabled + SIZEOF_VOID_P, SIZEOF_VOID_P);
1822 static const off_t offset_packageEnabled =
MEMORY_ALIGN(offset_packages + SIZEOF_VOID_P, SIZEOF_VOID_P);
1823 static const off_t offset_deflt =
MEMORY_ALIGN(offset_packageEnabled + SIZEOF_VOID_P,
sizeof(int32_t));
1842 set(_handle, offset_classes, classes);
1843 set(_handle, offset_classEnabled, classEnabled);
1844 set(_handle, offset_packages, packages);
1845 set(_handle, offset_packageEnabled, packageEnabled);
1860 static off_t offset_classLoader;
1869 static void set_classLoader_offset(int32_t off) { offset_classLoader = off; }
1872 inline void java_lang_Class::set_classLoader(
java_handle_t* value)
1874 if (offset_classLoader)
1972 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
1985 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
1992 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2000 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2015 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2026 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2043 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2055 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2056 namespace jdk6_str_ops {
2071 namespace jdk7_str_ops {
2086 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2087 namespace runtime_str_ops = jdk6_str_ops;
2089 namespace runtime_str_ops = jdk7_str_ops;
2101 static off_t offset_uncaughtExceptionHandler;
2102 static off_t offset_threadStatus;
2103 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2104 static off_t offset_me;
2117 void set_priority (int32_t value);
2119 void set_threadStatus(int32_t value);
2120 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2128 static void set_uncaughtExceptionHandler_offset(int32_t off) { offset_uncaughtExceptionHandler = off; }
2129 static void set_threadStatus_offset(int32_t off) { offset_threadStatus = off; }
2130 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2131 static void set_me_offset(int32_t off) { offset_me = off; }
2151 inline java_handle_t* java_lang_Thread::get_uncaughtExceptionHandler()
const
2153 return get<java_handle_t*>(
_handle, offset_uncaughtExceptionHandler);
2157 inline void java_lang_Thread::set_priority(int32_t value)
2167 inline void java_lang_Thread::set_threadStatus(int32_t value)
2172 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2216 set_backtrace(backtrace);
2222 return get<java_handle_bytearray_t*>(
_handle, offset_backtrace);
2268 #ifdef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2269 static const off_t offset_securityCheckCache =
MEMORY_ALIGN(offset_override +
sizeof(int32_t), SIZEOF_VOID_P);
2271 static const off_t offset_clazz =
MEMORY_ALIGN(offset_securityCheckCache +
sizeof(int32_t), SIZEOF_VOID_P);
2273 static const off_t offset_clazz =
MEMORY_ALIGN(offset_override +
sizeof(int32_t), SIZEOF_VOID_P);
2275 static const off_t offset_slot =
MEMORY_ALIGN(offset_clazz + SIZEOF_VOID_P,
sizeof(int32_t));
2276 static const off_t offset_parameterTypes =
MEMORY_ALIGN(offset_slot +
sizeof(int32_t), SIZEOF_VOID_P);
2277 static const off_t offset_exceptionTypes =
MEMORY_ALIGN(offset_parameterTypes + SIZEOF_VOID_P, SIZEOF_VOID_P);
2278 static const off_t offset_modifiers =
MEMORY_ALIGN(offset_exceptionTypes + SIZEOF_VOID_P,
sizeof(int32_t));
2279 static const off_t offset_signature =
MEMORY_ALIGN(offset_modifiers +
sizeof(int32_t), SIZEOF_VOID_P);
2280 static const off_t offset_genericInfo =
MEMORY_ALIGN(offset_signature + SIZEOF_VOID_P, SIZEOF_VOID_P);
2281 static const off_t offset_annotations =
MEMORY_ALIGN(offset_genericInfo + SIZEOF_VOID_P, SIZEOF_VOID_P);
2282 static const off_t offset_parameterAnnotations =
MEMORY_ALIGN(offset_annotations + SIZEOF_VOID_P, SIZEOF_VOID_P);
2283 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2284 static const off_t offset_securityCheckCache =
MEMORY_ALIGN(offset_parameterAnnotations + SIZEOF_VOID_P, SIZEOF_VOID_P);
2286 static const off_t offset_constructorAccessor =
MEMORY_ALIGN(offset_securityCheckCache + SIZEOF_VOID_P, SIZEOF_VOID_P);
2287 static const off_t offset_root =
MEMORY_ALIGN(offset_constructorAccessor + SIZEOF_VOID_P, SIZEOF_VOID_P);
2288 static const off_t offset_declaredAnnotations =
MEMORY_ALIGN(offset_root + SIZEOF_VOID_P, SIZEOF_VOID_P);
2299 int32_t get_slot ()
const;
2304 void set_slot (int32_t value);
2307 void set_modifiers (int32_t value);
2330 set_clazz(m->
clazz);
2332 set_parameterTypes(parameterTypes);
2333 set_exceptionTypes(exceptionTypes);
2336 set_annotations(annotations);
2337 set_parameterAnnotations(parameterAnnotations);
2343 return get<int32_t>(
_handle, offset_override);
2346 inline classinfo* java_lang_reflect_Constructor::get_clazz()
const
2348 return get<classinfo*>(
_handle, offset_clazz);
2351 inline int32_t java_lang_reflect_Constructor::get_slot()
const
2353 return get<int32_t>(
_handle, offset_slot);
2358 return get<java_handle_bytearray_t*>(
_handle, offset_annotations);
2362 inline void java_lang_reflect_Constructor::set_clazz(
classinfo* value)
2367 inline void java_lang_reflect_Constructor::set_slot(int32_t value)
2382 inline void java_lang_reflect_Constructor::set_modifiers(int32_t value)
2387 inline void java_lang_reflect_Constructor::set_signature(
java_handle_t* value)
2399 set(
_handle, offset_parameterAnnotations, value);
2406 int32_t
slot = get_slot();
2441 #ifdef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2442 static const off_t offset_securityCheckCache =
MEMORY_ALIGN(offset_override +
sizeof(int32_t), SIZEOF_VOID_P);
2444 static const off_t offset_clazz =
MEMORY_ALIGN(offset_securityCheckCache +
sizeof(int32_t), SIZEOF_VOID_P);
2446 static const off_t offset_clazz =
MEMORY_ALIGN(offset_override +
sizeof(int32_t), SIZEOF_VOID_P);
2448 static const off_t offset_slot =
MEMORY_ALIGN(offset_clazz + SIZEOF_VOID_P,
sizeof(int32_t));
2449 static const off_t offset_name =
MEMORY_ALIGN(offset_slot +
sizeof(int32_t), SIZEOF_VOID_P);
2450 static const off_t offset_type =
MEMORY_ALIGN(offset_name + SIZEOF_VOID_P, SIZEOF_VOID_P);
2451 static const off_t offset_modifiers =
MEMORY_ALIGN(offset_type + SIZEOF_VOID_P,
sizeof(int32_t));
2452 static const off_t offset_signature =
MEMORY_ALIGN(offset_modifiers +
sizeof(int32_t), SIZEOF_VOID_P);
2453 static const off_t offset_genericInfo =
MEMORY_ALIGN(offset_signature + SIZEOF_VOID_P, SIZEOF_VOID_P);
2454 static const off_t offset_annotations =
MEMORY_ALIGN(offset_genericInfo + SIZEOF_VOID_P, SIZEOF_VOID_P);
2455 static const off_t offset_fieldAccessor =
MEMORY_ALIGN(offset_annotations + SIZEOF_VOID_P, SIZEOF_VOID_P);
2456 static const off_t offset_overrideFieldAccessor =
MEMORY_ALIGN(offset_fieldAccessor + SIZEOF_VOID_P, SIZEOF_VOID_P);
2457 static const off_t offset_root =
MEMORY_ALIGN(offset_overrideFieldAccessor + SIZEOF_VOID_P, SIZEOF_VOID_P);
2458 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2459 static const off_t offset_securityCheckCache =
MEMORY_ALIGN(offset_root + SIZEOF_VOID_P, SIZEOF_VOID_P);
2460 static const off_t offset_securityCheckTargetClassCache =
MEMORY_ALIGN(offset_securityCheckCache + SIZEOF_VOID_P, SIZEOF_VOID_P);
2461 static const off_t offset_declaredAnnotations =
MEMORY_ALIGN(offset_securityCheckTargetClassCache + SIZEOF_VOID_P, SIZEOF_VOID_P);
2469 int32_t get_override ()
const;
2471 int32_t get_slot ()
const;
2476 void set_slot (int32_t value);
2479 void set_modifiers (int32_t value);
2496 set_clazz(f->
clazz);
2500 set_modifiers(f->
flags);
2506 inline int32_t java_lang_reflect_Field::get_override()
const
2508 return get<int32_t>(
_handle, offset_override);
2511 inline classinfo* java_lang_reflect_Field::get_clazz()
const
2513 return get<classinfo*>(
_handle, offset_clazz);
2516 inline int32_t java_lang_reflect_Field::get_slot()
const
2518 return get<int32_t>(
_handle, offset_slot);
2523 return get<java_handle_bytearray_t*>(
_handle, offset_annotations);
2527 inline void java_lang_reflect_Field::set_clazz(
classinfo* value)
2532 inline void java_lang_reflect_Field::set_slot(int32_t value)
2537 inline void java_lang_reflect_Field::set_name(
java_handle_t* value)
2542 inline void java_lang_reflect_Field::set_type(
classinfo* value)
2547 inline void java_lang_reflect_Field::set_modifiers(int32_t value)
2552 inline void java_lang_reflect_Field::set_signature(
java_handle_t* value)
2566 int32_t
slot = get_slot();
2604 #ifdef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2605 static const off_t offset_securityCheckCache =
MEMORY_ALIGN(offset_override +
sizeof(int32_t), SIZEOF_VOID_P);
2607 static const off_t offset_clazz =
MEMORY_ALIGN(offset_securityCheckCache +
sizeof(int32_t), SIZEOF_VOID_P);
2609 static const off_t offset_clazz =
MEMORY_ALIGN(offset_override +
sizeof(int32_t), SIZEOF_VOID_P);
2611 static const off_t offset_slot =
MEMORY_ALIGN(offset_clazz + SIZEOF_VOID_P,
sizeof(int32_t));
2612 static const off_t offset_name =
MEMORY_ALIGN(offset_slot +
sizeof(int32_t), SIZEOF_VOID_P);
2613 static const off_t offset_returnType =
MEMORY_ALIGN(offset_name + SIZEOF_VOID_P, SIZEOF_VOID_P);
2614 static const off_t offset_parameterTypes =
MEMORY_ALIGN(offset_returnType + SIZEOF_VOID_P, SIZEOF_VOID_P);
2615 static const off_t offset_exceptionTypes =
MEMORY_ALIGN(offset_parameterTypes + SIZEOF_VOID_P, SIZEOF_VOID_P);
2616 static const off_t offset_modifiers =
MEMORY_ALIGN(offset_exceptionTypes + SIZEOF_VOID_P,
sizeof(int32_t));
2617 static const off_t offset_signature =
MEMORY_ALIGN(offset_modifiers +
sizeof(int32_t), SIZEOF_VOID_P);
2618 static const off_t offset_genericInfo =
MEMORY_ALIGN(offset_signature + SIZEOF_VOID_P, SIZEOF_VOID_P);
2619 static const off_t offset_annotations =
MEMORY_ALIGN(offset_genericInfo + SIZEOF_VOID_P, SIZEOF_VOID_P);
2620 static const off_t offset_parameterAnnotations =
MEMORY_ALIGN(offset_annotations + SIZEOF_VOID_P, SIZEOF_VOID_P);
2621 static const off_t offset_annotationDefault =
MEMORY_ALIGN(offset_parameterAnnotations + SIZEOF_VOID_P, SIZEOF_VOID_P);
2622 static const off_t offset_methodAccessor =
MEMORY_ALIGN(offset_annotationDefault + SIZEOF_VOID_P, SIZEOF_VOID_P);
2623 static const off_t offset_root =
MEMORY_ALIGN(offset_methodAccessor + SIZEOF_VOID_P, SIZEOF_VOID_P);
2624 #ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7
2625 static const off_t offset_securityCheckCache =
MEMORY_ALIGN(offset_root + SIZEOF_VOID_P, SIZEOF_VOID_P);
2626 static const off_t offset_securityCheckTargetClassCache =
MEMORY_ALIGN(offset_securityCheckCache + SIZEOF_VOID_P, SIZEOF_VOID_P);
2627 static const off_t offset_declaredAnnotations =
MEMORY_ALIGN(offset_securityCheckTargetClassCache + SIZEOF_VOID_P, SIZEOF_VOID_P);
2639 int32_t get_slot ()
const;
2674 return get<int32_t>(
_handle, offset_override);
2677 inline classinfo* java_lang_reflect_Method::get_clazz()
const
2679 return get<classinfo*>(
_handle, offset_clazz);
2682 inline int32_t java_lang_reflect_Method::get_slot()
const
2684 return get<int32_t>(
_handle, offset_slot);
2689 return get<java_handle_bytearray_t*>(
_handle, offset_annotations);
2694 return get<java_handle_bytearray_t*>(
_handle, offset_parameterAnnotations);
2699 return get<java_handle_bytearray_t*>(
_handle, offset_annotationDefault);
2706 int32_t
slot = get_slot();
2738 void* get_address()
const;
2739 int32_t get_capacity()
const;
2743 inline void* java_nio_Buffer::get_address()
const
2748 inline int32_t java_nio_Buffer::get_capacity()
const
2750 return get<int32_t>(
_handle, offset_capacity);
2753 #endif // WITH_JAVA_RUNTIME_LIBRARY_OPENJDK
2756 #if defined(WITH_JAVA_RUNTIME_LIBRARY_CLDC1_1)
2773 static const off_t offset_position =
MEMORY_ALIGN(offset_pointer +
sizeof(int64_t),
sizeof(int32_t));
2774 static const off_t offset_length =
MEMORY_ALIGN(offset_position +
sizeof(int32_t),
sizeof(int32_t));
2778 com_sun_cldchi_jvm_FileDescriptor(
java_handle_t* h, int64_t pointer, int32_t position, int32_t
length);
2779 com_sun_cldchi_jvm_FileDescriptor(
java_handle_t* h, com_sun_cldchi_jvm_FileDescriptor& fd);
2782 int64_t get_pointer ()
const;
2783 int32_t get_position()
const;
2784 int32_t get_length ()
const;
2787 void set_pointer (int64_t value);
2788 void set_position(int32_t value);
2789 void set_length (int32_t value);
2795 set_pointer(pointer);
2796 set_position(position);
2800 inline com_sun_cldchi_jvm_FileDescriptor::com_sun_cldchi_jvm_FileDescriptor(
java_handle_t* h, com_sun_cldchi_jvm_FileDescriptor& fd) :
java_lang_Object(h)
2802 com_sun_cldchi_jvm_FileDescriptor(h, fd.get_pointer(), fd.get_position(), fd.get_length());
2806 inline int64_t com_sun_cldchi_jvm_FileDescriptor::get_pointer()
const
2808 return get<int64_t>(_handle, offset_pointer);
2811 inline int32_t com_sun_cldchi_jvm_FileDescriptor::get_position()
const
2813 return get<int32_t>(_handle, offset_position);
2816 inline int32_t com_sun_cldchi_jvm_FileDescriptor::get_length()
const
2818 return get<int32_t>(_handle, offset_length);
2822 inline void com_sun_cldchi_jvm_FileDescriptor::set_pointer(int64_t value)
2824 set(_handle, offset_pointer, value);
2827 inline void com_sun_cldchi_jvm_FileDescriptor::set_position(int32_t value)
2829 set(_handle, offset_position, value);
2832 inline void com_sun_cldchi_jvm_FileDescriptor::set_length(int32_t value)
2834 set(_handle, offset_length, value);
2945 static const off_t offset_vm_thread =
MEMORY_ALIGN(offset_runnable + SIZEOF_VOID_P, SIZEOF_VOID_P);
2946 static const off_t offset_is_terminated =
MEMORY_ALIGN(offset_vm_thread + SIZEOF_VOID_P,
sizeof(int32_t));
2947 static const off_t offset_is_stillborn =
MEMORY_ALIGN(offset_is_terminated +
sizeof(int32_t),
sizeof(int32_t));
2969 inline threadobject* java_lang_Thread::get_vm_thread()
const
2971 return get<threadobject*>(
_handle, offset_vm_thread);
2980 inline void java_lang_Thread::set_vm_thread(
threadobject* value)
3021 return get<java_handle_bytearray_t*>(
_handle, offset_backtrace);
3030 #endif // WITH_JAVA_RUNTIME_LIBRARY_CLDC1_1
3032 #endif // JAVAOBJECTS_HPP_
java_lang_Thread(java_handle_t *h)
void set_data(void *value)
java_handle_t * get_address() const
java_lang_reflect_Constructor(java_handle_t *h)
jlong jlong jlong jlong jint jmethodID jint slot
int32_t get_priority() const
static const off_t offset_offset
void set_clazz(classinfo *value)
java_handle_bytearray_t * get_parameterAnnotations() const
static void set_group_offset(int32_t off)
java_lang_Short(java_handle_t *h)
static const off_t offset_f
java_lang_Object(java_handle_t *h)
void set_f(java_handle_t *value)
void set_cons(java_handle_t *value)
classinfo * class_java_lang_reflect_Field
static off_t offset_exceptionHandler
virtual java_handle_t * get_handle() const
java_lang_VMThrowable(java_handle_t *h)
classinfo * get_clazz() const
java_lang_management_MemoryUsage(java_handle_t *h)
void set_annotations(java_handle_bytearray_t *value)
static const off_t offset_p
GNU Classpath java/lang/VMThread.
static const off_t offset_constantPoolOop
java_lang_Integer(java_handle_t *h)
static const off_t offset_name
int32_t get_hashcode() const
static const off_t offset_value
java_lang_reflect_Method(java_handle_t *h)
static const off_t offset_cons
void set_value(int16_t value)
GNU Classpath java/nio/Buffer.
void set_constantPoolOop(classinfo *value)
static const off_t offset_count
void set_annotations(java_handle_bytearray_t *value)
vftbl_t * get_vftbl() const
static JavaString from_utf8(Utf8String)
static const off_t offset_flag
classinfo * field_get_type(fieldinfo *f)
static const off_t offset_array_offset
static const off_t offset_f
java_handle_t * get_name() const
java_handle_t * get_vmState() const
classinfo * get_clazz() const
java_handle_chararray_t * get_value() const
OpenJDK sun/reflect/ConstantPool.
static const off_t offset_value
java_handle_t * get_declaredAnnotations() const
java_handle_bytearray_t * method_get_annotations(methodinfo *m)
static const off_t offset_parameterAnnotations
static const off_t offset_owner
static const off_t offset_annotations
static off_t offset_priority
classinfo * class_java_lang_reflect_VMMethod
void set_slot(int32_t value)
GNU Classpath java/lang/reflect/VMConstructor.
void jobjects_register_dyn_offsets()
void set_vmdata(threadobject *value)
static const off_t offset_value
java_handle_bytearray_t * get_annotations() const
void set_pd(java_handle_t *value)
GNU Classpath java/lang/reflect/Field.
s4 heap_get_hashcode(java_object_t *o)
void set_value(float value)
void set_value(int64_t value)
static void set_priority_offset(int32_t off)
static const off_t offset_declaredAnnotations
classinfo * get_clazz() const
static void set(java_handle_t *h, const off_t offset, T value)
static const off_t offset_clazz
classinfo * get_Class() const
classinfo * load_class_bootstrap(Utf8String name)
static off_t offset_vmThread
java_handle_bytearray_t * get_annotations() const
void set_m(java_handle_t *value)
void set_thread(java_handle_t *value)
static const off_t offset_detailMessage
static void set_daemon_offset(int32_t off)
void set_vmdata(java_handle_bytearray_t *value)
int32_t get_override() const
static const off_t offset_signers
alloc::set< EdgeType >::type & set
static const off_t offset_thread
static const off_t offset_flag
void set_count(int32_t value)
static const off_t offset_limit
GNU Classpath java/lang/StackTraceElement.
static void set_fields(java_handle_t *str, java_handle_chararray_t *value)
JNIEnv jclass jobject const char * name
static const off_t offset_m
java_handle_objectarray_t * method_get_parametertypearray(methodinfo *m)
static T get(java_handle_t *h, const off_t offset)
static void set_vmThread_offset(int32_t off)
static const off_t offset_clazz
static const off_t offset_mark
static int32_t get_count(java_handle_t *str)
static std::set< Utf8String > & packages()
GNU Classpath java/lang/VMThrowable.
static const off_t offset_flag
java_handle_t * builtin_new(classinfo *c)
static const off_t offset_vmState
GNU Classpath java/lang/reflect/Constructor.
java_lang_Long(java_handle_t *h)
static const off_t offset_parameterAnnotations
static void set_volatile(java_handle_t *h, const off_t offset, T value)
java_handle_t * get_parent() const
java_handle_t * get_group() const
java_lang_reflect_VMField(java_handle_t *h)
java_handle_t * invoke(java_handle_t *o, java_handle_objectarray_t *args)
Invokes the given method.
static T get_volatile(java_handle_t *h, const off_t offset)
int32_t get_daemon() const
static const off_t offset_stackTrace
java_handle_t * get_f() const
static const off_t offset_cause
java_handle_bytearray_t * get_annotations() const
static const off_t offset_declaredAnnotations
java/lang/management/MemoryUsage
java_handle_t * get_thread() const
java_lang_Class(java_handle_t *h)
Critical section for the GC.
static const off_t offset_vmdata
java_nio_DirectByteBufferImpl(java_handle_t *h)
int32_t get_length() const
This classes provides functions to access Java object instance fields.
java_lang_reflect_Field(java_handle_t *h)
fieldinfo * get_field() const
static const off_t offset_cons
classinfo * class_java_lang_reflect_VMField
java_lang_ClassLoader(java_handle_t *h)
static const off_t offset_cachedHashCode
static const off_t offset_declaringClass
static const off_t offset_value
static void set_name_offset(int32_t off)
methodinfo * get_method() const
bool jobjects_run_dynoffsets_hook(classinfo *c)
static off_t offset_daemon
int32_t get_override() const
static const off_t offset_name
static const off_t offset_m
void set_declaredAnnotations(java_handle_t *value)
java_handle_t * get_declaredAnnotations() const
java_lang_Character(java_handle_t *h)
static const off_t offset_fileName
GNU Classpath java/lang/reflect/Method.
static const off_t offset_pos
java_lang_Float(java_handle_t *h)
java_handle_bytearray_t * get_vmdata() const
java_lang_Double(java_handle_t *h)
classinfo * class_java_lang_reflect_Method
static const off_t offset_pos
void set_value(double value)
virtual ~java_lang_Object()
static const off_t offset_vmdata
void set_declaredAnnotations(java_handle_t *value)
static Utf8String from_utf8(const char *, size_t)
JNIEnv jthread jmethodID void * address
void set_clazz(classinfo *value)
static const off_t offset_value
static const off_t offset_parent
static const off_t offset_slot
GNU Classpath java/lang/Throwable.
static const off_t offset_address
static void raw_set(void *address, const off_t offset, T value)
static const off_t offset_declaredAnnotations
static const off_t offset_slot
void set_value(int8_t value)
void set_cons(java_handle_t *value)
jsize get_string_offset(const java_lang_String &s)
void set_value(int32_t value)
static const off_t offset_p
classinfo * method_returntype_get(methodinfo *m)
java_lang_reflect_VMConstructor(java_handle_t *h)
static const off_t offset_p
static const off_t offset_definedPackages
void set_group(java_handle_t *value)
static const off_t offset_data
static java_handle_t * invoke_getSystemClassLoader()
Invokes the static Java method getSystemClassLoader().
java_lang_VMThread(java_handle_t *h)
void set_clazz(classinfo *value)
static const off_t offset_vmdata
java_lang_StackTraceElement(java_handle_t *h)
void set_value(uint16_t value)
GNU Classpath java/nio/DirectByteBufferImpl.
static const off_t offset_value
static const off_t offset_cap
void set_parameterAnnotations(java_handle_bytearray_t *value)
java_handle_bytearray_t * field_get_annotations(fieldinfo *f)
This class provides low-level functions to access Java object instance fields.
static const off_t offset_value
void set_name(java_handle_t *value)
GNU Classpath java/lang/ClassLoader.
sun_reflect_ConstantPool(java_handle_t *h)
java_handle_t * get_vmThread() const
static const off_t offset_methodName
java_handle_t * new_instance(java_handle_objectarray_t *args)
Constructs a Java object with the given java.lang.reflect.Constructor.
void set_annotations(java_handle_bytearray_t *value)
GNU Classpath java/lang/String.
java_lang_reflect_VMMethod(java_handle_t *h)
static const off_t offset_lineNumber
java_handle_bytearray_t * get_parameterAnnotations() const
void memory_barrier(void)
methodinfo * get_method() const
void set_name(java_handle_t *value)
int32_t get_offset() const
static const off_t offset_running
static const off_t offset_clazz
void set_slot(int32_t value)
java_lang_Throwable(java_handle_t *h)
GNU Classpath java/lang/reflect/VMMethod.
java_handle_bytearray_t * get_annotationDefault() const
void set_value(java_handle_chararray_t *value)
void set_declaredAnnotations(java_handle_t *value)
static const off_t offset_isNative
java_handle_t * get_declaredAnnotations() const
void set_offset(int32_t value)
java_lang_Boolean(java_handle_t *h)
static const off_t offset_cap
#define MEMORY_ALIGN(pos, size)
static off_t offset_group
methodinfo * get_method() const
java_handle_t * get_cause() const
java_handle_bytearray_t * method_get_annotationdefault(methodinfo *m)
java_handle_t * get_f() const
void set_f(java_handle_t *value)
threadobject * get_vmdata() const
java_handle_t * get_detailMessage() const
GNU Classpath java/lang/Thread.
static const off_t offset_annotations
fieldinfo * get_field() const
void set_value(uint8_t value)
java_handle_t * get_exceptionHandler() const
java_handle_t * get_cons() const
void set_slot(int32_t value)
classinfo * class_java_lang_reflect_VMConstructor
jsize get_string_count(const java_lang_String &s)
#define LLNI_classinfo_unwrap(clazz)
classinfo * class_java_lang_StackTraceElement
static const off_t offset_mark
static const off_t offset_value
static const off_t offset_limit
static T raw_get(void *address, const off_t offset)
java_handle_t * get_m() const
GNU Classpath java/lang/Class.
classinfo * class_java_lang_reflect_Constructor
void set_parameterAnnotations(java_handle_bytearray_t *value)
java_handle_objectarray_t * method_get_exceptionarray(methodinfo *m)
static JavaString literal(Utf8String)
static const off_t offset_constructor
static const off_t offset_pd
java_handle_t * get_m() const
static const off_t offset_slot
java_nio_Buffer(java_handle_t *h)
static const off_t offset_endian
const char const void jint length
void set_annotationDefault(java_handle_bytearray_t *value)
static const off_t offset_backing_buffer
static const off_t offset_annotations
static const off_t offset_address
java_handle_bytearray_t * method_get_parameterannotations(methodinfo *m)
GNU Classpath java/lang/reflect/VMField.
GNU Classpath gnu/classpath/Pointer.
methodinfo * get_method()
static int32_t get_offset(java_handle_t *str)
void set_m(java_handle_t *value)
int32_t get_count() const
java_lang_String(java_handle_t *h)
java_lang_Byte(java_handle_t *h)
gnu_classpath_Pointer(java_handle_t *h)
static void set_exceptionHandler_offset(int32_t off)
static java_handle_chararray_t * get_value(java_handle_t *str)
static const off_t offset_value
java_handle_t * get_cons() const
static const off_t offset_annotationDefault