2
#include "java_lang_Object.h"
3
#include "java_lang_String.h"
4
#include "java_lang_StringBuilder.h"
5
#include "java_lang_ref_ReferenceQueue.h"
7
#include "java_util_WeakHashMap_Entry.h"
9
#define XMLVM_CURRENT_CLASS_NAME WeakHashMap_Entry
10
#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_WeakHashMap_Entry
12
__TIB_DEFINITION_java_util_WeakHashMap_Entry __TIB_java_util_WeakHashMap_Entry = {
13
0, // classInitializationBegan
14
0, // classInitialized
15
-1, // initializerThreadId
16
__INIT_java_util_WeakHashMap_Entry, // classInitializer
17
"java.util.WeakHashMap$Entry", // className
18
"java.util", // package
19
JAVA_NULL, // enclosingClassName
20
JAVA_NULL, // enclosingMethodName
21
"<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/ref/WeakReference<TK;>;Ljava/util/Map$Entry<TK;TV;>;", // signature
22
(__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ref_WeakReference, // extends
23
sizeof(java_util_WeakHashMap_Entry), // sizeInstance
26
JAVA_OBJECT __CLASS_java_util_WeakHashMap_Entry;
27
JAVA_OBJECT __CLASS_java_util_WeakHashMap_Entry_1ARRAY;
28
JAVA_OBJECT __CLASS_java_util_WeakHashMap_Entry_2ARRAY;
29
JAVA_OBJECT __CLASS_java_util_WeakHashMap_Entry_3ARRAY;
30
//XMLVM_BEGIN_IMPLEMENTATION
31
//XMLVM_END_IMPLEMENTATION
34
#include "xmlvm-reflection.h"
36
static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
39
static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
42
static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
44
XMLVM_NOT_IMPLEMENTED();
47
static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
50
static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
52
XMLVM_NOT_IMPLEMENTED();
55
void __INIT_java_util_WeakHashMap_Entry()
57
staticInitializerLock(&__TIB_java_util_WeakHashMap_Entry);
59
// While the static initializer mutex is locked, locally store the value of
60
// whether class initialization began or not
61
int initBegan = __TIB_java_util_WeakHashMap_Entry.classInitializationBegan;
63
// Whether or not class initialization had already began, it has begun now
64
__TIB_java_util_WeakHashMap_Entry.classInitializationBegan = 1;
66
staticInitializerUnlock(&__TIB_java_util_WeakHashMap_Entry);
68
JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
70
if (__TIB_java_util_WeakHashMap_Entry.initializerThreadId != curThreadId) {
71
// Busy wait until the other thread finishes initializing this class
72
while (!__TIB_java_util_WeakHashMap_Entry.classInitialized) {
77
__TIB_java_util_WeakHashMap_Entry.initializerThreadId = curThreadId;
78
XMLVM_CLASS_USED("java.util.WeakHashMap$Entry")
79
__INIT_IMPL_java_util_WeakHashMap_Entry();
83
void __INIT_IMPL_java_util_WeakHashMap_Entry()
85
// Initialize base class if necessary
86
XMLVM_CLASS_INIT(java_lang_ref_WeakReference)
87
__TIB_java_util_WeakHashMap_Entry.newInstanceFunc = __NEW_INSTANCE_java_util_WeakHashMap_Entry;
88
// Copy vtable from base class
89
XMLVM_MEMCPY(__TIB_java_util_WeakHashMap_Entry.vtable, __TIB_java_lang_ref_WeakReference.vtable, sizeof(__TIB_java_lang_ref_WeakReference.vtable));
90
// Initialize vtable for this class
91
__TIB_java_util_WeakHashMap_Entry.vtable[6] = (VTABLE_PTR) &java_util_WeakHashMap_Entry_getKey__;
92
__TIB_java_util_WeakHashMap_Entry.vtable[7] = (VTABLE_PTR) &java_util_WeakHashMap_Entry_getValue__;
93
__TIB_java_util_WeakHashMap_Entry.vtable[8] = (VTABLE_PTR) &java_util_WeakHashMap_Entry_setValue___java_lang_Object;
94
__TIB_java_util_WeakHashMap_Entry.vtable[1] = (VTABLE_PTR) &java_util_WeakHashMap_Entry_equals___java_lang_Object;
95
__TIB_java_util_WeakHashMap_Entry.vtable[4] = (VTABLE_PTR) &java_util_WeakHashMap_Entry_hashCode__;
96
__TIB_java_util_WeakHashMap_Entry.vtable[5] = (VTABLE_PTR) &java_util_WeakHashMap_Entry_toString__;
97
// Initialize interface information
98
__TIB_java_util_WeakHashMap_Entry.numImplementedInterfaces = 1;
99
__TIB_java_util_WeakHashMap_Entry.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
101
// Initialize interfaces if necessary and assign tib to implementedInterfaces
103
XMLVM_CLASS_INIT(java_util_Map_Entry)
105
__TIB_java_util_WeakHashMap_Entry.implementedInterfaces[0][0] = &__TIB_java_util_Map_Entry;
106
// Initialize itable for this class
107
__TIB_java_util_WeakHashMap_Entry.itableBegin = &__TIB_java_util_WeakHashMap_Entry.itable[0];
108
__TIB_java_util_WeakHashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_equals___java_lang_Object] = __TIB_java_util_WeakHashMap_Entry.vtable[1];
109
__TIB_java_util_WeakHashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__] = __TIB_java_util_WeakHashMap_Entry.vtable[6];
110
__TIB_java_util_WeakHashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__] = __TIB_java_util_WeakHashMap_Entry.vtable[7];
111
__TIB_java_util_WeakHashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_hashCode__] = __TIB_java_util_WeakHashMap_Entry.vtable[4];
112
__TIB_java_util_WeakHashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_setValue___java_lang_Object] = __TIB_java_util_WeakHashMap_Entry.vtable[8];
115
__TIB_java_util_WeakHashMap_Entry.declaredFields = &__field_reflection_data[0];
116
__TIB_java_util_WeakHashMap_Entry.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
117
__TIB_java_util_WeakHashMap_Entry.constructorDispatcherFunc = constructor_dispatcher;
118
__TIB_java_util_WeakHashMap_Entry.declaredConstructors = &__constructor_reflection_data[0];
119
__TIB_java_util_WeakHashMap_Entry.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
120
__TIB_java_util_WeakHashMap_Entry.methodDispatcherFunc = method_dispatcher;
121
__TIB_java_util_WeakHashMap_Entry.declaredMethods = &__method_reflection_data[0];
122
__TIB_java_util_WeakHashMap_Entry.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
123
__CLASS_java_util_WeakHashMap_Entry = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_WeakHashMap_Entry);
124
__TIB_java_util_WeakHashMap_Entry.clazz = __CLASS_java_util_WeakHashMap_Entry;
125
__TIB_java_util_WeakHashMap_Entry.baseType = JAVA_NULL;
126
__CLASS_java_util_WeakHashMap_Entry_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_WeakHashMap_Entry);
127
__CLASS_java_util_WeakHashMap_Entry_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_WeakHashMap_Entry_1ARRAY);
128
__CLASS_java_util_WeakHashMap_Entry_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_WeakHashMap_Entry_2ARRAY);
129
//XMLVM_BEGIN_WRAPPER[__INIT_java_util_WeakHashMap_Entry]
132
__TIB_java_util_WeakHashMap_Entry.classInitialized = 1;
135
void __DELETE_java_util_WeakHashMap_Entry(void* me, void* client_data)
137
//XMLVM_BEGIN_WRAPPER[__DELETE_java_util_WeakHashMap_Entry]
141
void __INIT_INSTANCE_MEMBERS_java_util_WeakHashMap_Entry(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
143
__INIT_INSTANCE_MEMBERS_java_lang_ref_WeakReference(me, 0 || derivedClassWillRegisterFinalizer);
144
((java_util_WeakHashMap_Entry*) me)->fields.java_util_WeakHashMap_Entry.hash_ = 0;
145
((java_util_WeakHashMap_Entry*) me)->fields.java_util_WeakHashMap_Entry.isNull_ = 0;
146
((java_util_WeakHashMap_Entry*) me)->fields.java_util_WeakHashMap_Entry.value_ = (java_lang_Object*) JAVA_NULL;
147
((java_util_WeakHashMap_Entry*) me)->fields.java_util_WeakHashMap_Entry.next_ = (java_util_WeakHashMap_Entry*) JAVA_NULL;
148
//XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_WeakHashMap_Entry]
152
JAVA_OBJECT __NEW_java_util_WeakHashMap_Entry()
153
{ XMLVM_CLASS_INIT(java_util_WeakHashMap_Entry)
154
java_util_WeakHashMap_Entry* me = (java_util_WeakHashMap_Entry*) XMLVM_MALLOC(sizeof(java_util_WeakHashMap_Entry));
155
me->tib = &__TIB_java_util_WeakHashMap_Entry;
156
__INIT_INSTANCE_MEMBERS_java_util_WeakHashMap_Entry(me, 0);
157
//XMLVM_BEGIN_WRAPPER[__NEW_java_util_WeakHashMap_Entry]
162
JAVA_OBJECT __NEW_INSTANCE_java_util_WeakHashMap_Entry()
164
JAVA_OBJECT me = JAVA_NULL;
168
void java_util_WeakHashMap_Entry___INIT____java_lang_Object_java_lang_Object_java_lang_ref_ReferenceQueue(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
170
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry___INIT____java_lang_Object_java_lang_Object_java_lang_ref_ReferenceQueue]
171
XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "<init>", "?")
183
XMLVM_SOURCE_POSITION("WeakHashMap.java", 71)
185
java_lang_ref_WeakReference___INIT____java_lang_Object_java_lang_ref_ReferenceQueue(_r2.o, _r3.o, _r5.o);
186
XMLVM_SOURCE_POSITION("WeakHashMap.java", 72)
187
if (_r3.o != JAVA_NULL) goto label19;
191
((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.isNull_ = _r0.i;
192
XMLVM_SOURCE_POSITION("WeakHashMap.java", 73)
194
_r0.i = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.isNull_;
195
if (_r0.i == 0) goto label21;
199
((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.hash_ = _r0.i;
200
XMLVM_SOURCE_POSITION("WeakHashMap.java", 74)
202
((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.value_ = _r4.o;
203
XMLVM_SOURCE_POSITION("WeakHashMap.java", 75)
210
//java_lang_Object_hashCode__[4]
212
_r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[4])(_r3.o);
217
JAVA_OBJECT java_util_WeakHashMap_Entry_getKey__(JAVA_OBJECT me)
219
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry_getKey__]
220
XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "getKey", "?")
224
XMLVM_SOURCE_POSITION("WeakHashMap.java", 78)
226
_r0.o = java_lang_ref_Reference_get__(_r1.o);
232
JAVA_OBJECT java_util_WeakHashMap_Entry_getValue__(JAVA_OBJECT me)
234
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry_getValue__]
235
XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "getValue", "?")
239
XMLVM_SOURCE_POSITION("WeakHashMap.java", 82)
241
_r0.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.value_;
247
JAVA_OBJECT java_util_WeakHashMap_Entry_setValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
249
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry_setValue___java_lang_Object]
250
XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "setValue", "?")
256
XMLVM_SOURCE_POSITION("WeakHashMap.java", 86)
258
_r0.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.value_;
259
XMLVM_SOURCE_POSITION("WeakHashMap.java", 87)
261
((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.value_ = _r2.o;
262
XMLVM_SOURCE_POSITION("WeakHashMap.java", 88)
268
JAVA_BOOLEAN java_util_WeakHashMap_Entry_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
270
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry_equals___java_lang_Object]
271
XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "equals", "?")
280
XMLVM_SOURCE_POSITION("WeakHashMap.java", 93)
281
XMLVM_CLASS_INIT(java_util_Map_Entry)
282
_r0.i = XMLVM_ISA(_r4.o, __CLASS_java_util_Map_Entry);
283
if (_r0.i != 0) goto label7;
286
XMLVM_SOURCE_POSITION("WeakHashMap.java", 94)
287
XMLVM_SOURCE_POSITION("WeakHashMap.java", 101)
291
XMLVM_SOURCE_POSITION("WeakHashMap.java", 96)
293
XMLVM_SOURCE_POSITION("WeakHashMap.java", 97)
295
_r0.o = java_lang_ref_Reference_get__(_r3.o);
296
XMLVM_SOURCE_POSITION("WeakHashMap.java", 98)
297
if (_r0.o != JAVA_NULL) goto label35;
299
_r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r4.o);
300
if (_r0.o != _r1.o) goto label45;
302
XMLVM_SOURCE_POSITION("WeakHashMap.java", 100)
304
_r0.o = ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.value_;
305
if (_r0.o != JAVA_NULL) goto label47;
307
_r0.o = ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.value_;
309
_r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r4.o);
310
if (_r0.o != _r1.o) goto label45;
315
XMLVM_SOURCE_POSITION("WeakHashMap.java", 99)
317
_r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r4.o);
318
//java_lang_Object_equals___java_lang_Object[1]
320
_r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
321
if (_r0.i != 0) goto label21;
327
_r0.o = ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.value_;
329
_r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r4.o);
330
//java_lang_Object_equals___java_lang_Object[1]
332
_r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
333
if (_r0.i == 0) goto label45;
338
JAVA_INT java_util_WeakHashMap_Entry_hashCode__(JAVA_OBJECT me)
340
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry_hashCode__]
341
XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "hashCode", "?")
346
XMLVM_SOURCE_POSITION("WeakHashMap.java", 106)
348
_r0.i = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.hash_;
350
_r1.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.value_;
351
if (_r1.o != JAVA_NULL) goto label9;
354
_r0.i = _r0.i + _r1.i;
359
_r1.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.value_;
360
//java_lang_Object_hashCode__[4]
362
_r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[4])(_r1.o);
367
JAVA_OBJECT java_util_WeakHashMap_Entry_toString__(JAVA_OBJECT me)
369
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry_toString__]
370
XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "toString", "?")
375
XMLVM_SOURCE_POSITION("WeakHashMap.java", 111)
376
_r0.o = __NEW_java_lang_StringBuilder();
378
java_lang_StringBuilder___INIT___(_r0.o);
380
_r1.o = java_lang_ref_Reference_get__(_r2.o);
382
_r0.o = java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r1.o);
384
_r1.o = xmlvm_create_java_string_from_pool(648);
386
_r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
388
_r1.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.value_;
390
_r0.o = java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r1.o);
391
//java_lang_StringBuilder_toString__[5]
393
_r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);