2
#include "java_lang_Object.h"
3
#include "java_lang_ref_ReferenceQueue.h"
5
#include "java_lang_ref_WeakReference.h"
7
#define XMLVM_CURRENT_CLASS_NAME WeakReference
8
#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_ref_WeakReference
10
__TIB_DEFINITION_java_lang_ref_WeakReference __TIB_java_lang_ref_WeakReference = {
11
0, // classInitializationBegan
12
0, // classInitialized
13
-1, // initializerThreadId
14
__INIT_java_lang_ref_WeakReference, // classInitializer
15
"java.lang.ref.WeakReference", // className
16
"java.lang.ref", // package
17
JAVA_NULL, // enclosingClassName
18
JAVA_NULL, // enclosingMethodName
19
"<T:Ljava/lang/Object;>Ljava/lang/ref/Reference<TT;>;", // signature
20
(__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ref_Reference, // extends
21
sizeof(java_lang_ref_WeakReference), // sizeInstance
24
JAVA_OBJECT __CLASS_java_lang_ref_WeakReference;
25
JAVA_OBJECT __CLASS_java_lang_ref_WeakReference_1ARRAY;
26
JAVA_OBJECT __CLASS_java_lang_ref_WeakReference_2ARRAY;
27
JAVA_OBJECT __CLASS_java_lang_ref_WeakReference_3ARRAY;
28
//XMLVM_BEGIN_IMPLEMENTATION
29
//XMLVM_END_IMPLEMENTATION
32
#include "xmlvm-reflection.h"
34
static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
37
static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
40
static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
42
XMLVM_NOT_IMPLEMENTED();
45
static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
48
static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
50
XMLVM_NOT_IMPLEMENTED();
53
void __INIT_java_lang_ref_WeakReference()
55
staticInitializerLock(&__TIB_java_lang_ref_WeakReference);
57
// While the static initializer mutex is locked, locally store the value of
58
// whether class initialization began or not
59
int initBegan = __TIB_java_lang_ref_WeakReference.classInitializationBegan;
61
// Whether or not class initialization had already began, it has begun now
62
__TIB_java_lang_ref_WeakReference.classInitializationBegan = 1;
64
staticInitializerUnlock(&__TIB_java_lang_ref_WeakReference);
66
JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
68
if (__TIB_java_lang_ref_WeakReference.initializerThreadId != curThreadId) {
69
// Busy wait until the other thread finishes initializing this class
70
while (!__TIB_java_lang_ref_WeakReference.classInitialized) {
75
__TIB_java_lang_ref_WeakReference.initializerThreadId = curThreadId;
76
XMLVM_CLASS_USED("java.lang.ref.WeakReference")
77
__INIT_IMPL_java_lang_ref_WeakReference();
81
void __INIT_IMPL_java_lang_ref_WeakReference()
83
// Initialize base class if necessary
84
XMLVM_CLASS_INIT(java_lang_ref_Reference)
85
__TIB_java_lang_ref_WeakReference.newInstanceFunc = __NEW_INSTANCE_java_lang_ref_WeakReference;
86
// Copy vtable from base class
87
XMLVM_MEMCPY(__TIB_java_lang_ref_WeakReference.vtable, __TIB_java_lang_ref_Reference.vtable, sizeof(__TIB_java_lang_ref_Reference.vtable));
88
// Initialize vtable for this class
89
// Initialize interface information
90
__TIB_java_lang_ref_WeakReference.numImplementedInterfaces = 0;
91
__TIB_java_lang_ref_WeakReference.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
93
// Initialize interfaces if necessary and assign tib to implementedInterfaces
95
__TIB_java_lang_ref_WeakReference.declaredFields = &__field_reflection_data[0];
96
__TIB_java_lang_ref_WeakReference.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
97
__TIB_java_lang_ref_WeakReference.constructorDispatcherFunc = constructor_dispatcher;
98
__TIB_java_lang_ref_WeakReference.declaredConstructors = &__constructor_reflection_data[0];
99
__TIB_java_lang_ref_WeakReference.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
100
__TIB_java_lang_ref_WeakReference.methodDispatcherFunc = method_dispatcher;
101
__TIB_java_lang_ref_WeakReference.declaredMethods = &__method_reflection_data[0];
102
__TIB_java_lang_ref_WeakReference.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
103
__CLASS_java_lang_ref_WeakReference = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_ref_WeakReference);
104
__TIB_java_lang_ref_WeakReference.clazz = __CLASS_java_lang_ref_WeakReference;
105
__TIB_java_lang_ref_WeakReference.baseType = JAVA_NULL;
106
__CLASS_java_lang_ref_WeakReference_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_WeakReference);
107
__CLASS_java_lang_ref_WeakReference_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_WeakReference_1ARRAY);
108
__CLASS_java_lang_ref_WeakReference_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_WeakReference_2ARRAY);
109
//XMLVM_BEGIN_WRAPPER[__INIT_java_lang_ref_WeakReference]
112
__TIB_java_lang_ref_WeakReference.classInitialized = 1;
115
void __DELETE_java_lang_ref_WeakReference(void* me, void* client_data)
117
//XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_ref_WeakReference]
121
void __INIT_INSTANCE_MEMBERS_java_lang_ref_WeakReference(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
123
__INIT_INSTANCE_MEMBERS_java_lang_ref_Reference(me, 0 || derivedClassWillRegisterFinalizer);
124
//XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_ref_WeakReference]
128
JAVA_OBJECT __NEW_java_lang_ref_WeakReference()
129
{ XMLVM_CLASS_INIT(java_lang_ref_WeakReference)
130
java_lang_ref_WeakReference* me = (java_lang_ref_WeakReference*) XMLVM_MALLOC(sizeof(java_lang_ref_WeakReference));
131
me->tib = &__TIB_java_lang_ref_WeakReference;
132
__INIT_INSTANCE_MEMBERS_java_lang_ref_WeakReference(me, 0);
133
//XMLVM_BEGIN_WRAPPER[__NEW_java_lang_ref_WeakReference]
138
JAVA_OBJECT __NEW_INSTANCE_java_lang_ref_WeakReference()
140
JAVA_OBJECT me = JAVA_NULL;
144
void java_lang_ref_WeakReference___INIT____java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
146
//XMLVM_BEGIN_WRAPPER[java_lang_ref_WeakReference___INIT____java_lang_Object]
147
XMLVM_ENTER_METHOD("java.lang.ref.WeakReference", "<init>", "?")
152
XMLVM_SOURCE_POSITION("WeakReference.java", 82)
154
java_lang_ref_Reference___INIT___(_r0.o);
155
XMLVM_SOURCE_POSITION("WeakReference.java", 83)
157
java_lang_ref_Reference_initReference___java_lang_Object(_r0.o, _r1.o);
158
XMLVM_SOURCE_POSITION("WeakReference.java", 84)
164
void java_lang_ref_WeakReference___INIT____java_lang_Object_java_lang_ref_ReferenceQueue(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
166
//XMLVM_BEGIN_WRAPPER[java_lang_ref_WeakReference___INIT____java_lang_Object_java_lang_ref_ReferenceQueue]
167
XMLVM_ENTER_METHOD("java.lang.ref.WeakReference", "<init>", "?")
174
XMLVM_SOURCE_POSITION("WeakReference.java", 96)
176
java_lang_ref_Reference___INIT___(_r0.o);
177
XMLVM_SOURCE_POSITION("WeakReference.java", 97)
179
java_lang_ref_Reference_initReference___java_lang_Object_java_lang_ref_ReferenceQueue(_r0.o, _r1.o, _r2.o);
180
XMLVM_SOURCE_POSITION("WeakReference.java", 98)