2
#include "java_lang_Object.h"
3
#include "java_lang_ref_Reference.h"
4
#include "java_lang_ref_ReferenceQueue.h"
5
#include "java_util_Collection.h"
6
#include "java_util_Set.h"
7
#include "java_util_WeakHashMap_Entry.h"
9
#include "java_util_WeakHashMap.h"
11
#define XMLVM_CURRENT_CLASS_NAME WeakHashMap
12
#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_WeakHashMap
14
__TIB_DEFINITION_java_util_WeakHashMap __TIB_java_util_WeakHashMap = {
15
0, // classInitializationBegan
16
0, // classInitialized
17
-1, // initializerThreadId
18
__INIT_java_util_WeakHashMap, // classInitializer
19
"java.util.WeakHashMap", // className
20
"java.util", // package
21
JAVA_NULL, // enclosingClassName
22
JAVA_NULL, // enclosingMethodName
23
"<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/AbstractMap<TK;TV;>;Ljava/util/Map<TK;TV;>;", // signature
24
(__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractMap, // extends
25
sizeof(java_util_WeakHashMap), // sizeInstance
28
JAVA_OBJECT __CLASS_java_util_WeakHashMap;
29
JAVA_OBJECT __CLASS_java_util_WeakHashMap_1ARRAY;
30
JAVA_OBJECT __CLASS_java_util_WeakHashMap_2ARRAY;
31
JAVA_OBJECT __CLASS_java_util_WeakHashMap_3ARRAY;
32
//XMLVM_BEGIN_IMPLEMENTATION
33
//XMLVM_END_IMPLEMENTATION
35
static JAVA_INT _STATIC_java_util_WeakHashMap_DEFAULT_SIZE;
37
#include "xmlvm-reflection.h"
39
static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
42
static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
45
static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
47
XMLVM_NOT_IMPLEMENTED();
50
static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
53
static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
55
XMLVM_NOT_IMPLEMENTED();
58
void __INIT_java_util_WeakHashMap()
60
staticInitializerLock(&__TIB_java_util_WeakHashMap);
62
// While the static initializer mutex is locked, locally store the value of
63
// whether class initialization began or not
64
int initBegan = __TIB_java_util_WeakHashMap.classInitializationBegan;
66
// Whether or not class initialization had already began, it has begun now
67
__TIB_java_util_WeakHashMap.classInitializationBegan = 1;
69
staticInitializerUnlock(&__TIB_java_util_WeakHashMap);
71
JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
73
if (__TIB_java_util_WeakHashMap.initializerThreadId != curThreadId) {
74
// Busy wait until the other thread finishes initializing this class
75
while (!__TIB_java_util_WeakHashMap.classInitialized) {
80
__TIB_java_util_WeakHashMap.initializerThreadId = curThreadId;
81
XMLVM_CLASS_USED("java.util.WeakHashMap")
82
__INIT_IMPL_java_util_WeakHashMap();
86
void __INIT_IMPL_java_util_WeakHashMap()
88
// Initialize base class if necessary
89
XMLVM_CLASS_INIT(java_util_AbstractMap)
90
__TIB_java_util_WeakHashMap.newInstanceFunc = __NEW_INSTANCE_java_util_WeakHashMap;
91
// Copy vtable from base class
92
XMLVM_MEMCPY(__TIB_java_util_WeakHashMap.vtable, __TIB_java_util_AbstractMap.vtable, sizeof(__TIB_java_util_AbstractMap.vtable));
93
// Initialize vtable for this class
94
__TIB_java_util_WeakHashMap.vtable[6] = (VTABLE_PTR) &java_util_WeakHashMap_clear__;
95
__TIB_java_util_WeakHashMap.vtable[7] = (VTABLE_PTR) &java_util_WeakHashMap_containsKey___java_lang_Object;
96
__TIB_java_util_WeakHashMap.vtable[9] = (VTABLE_PTR) &java_util_WeakHashMap_entrySet__;
97
__TIB_java_util_WeakHashMap.vtable[12] = (VTABLE_PTR) &java_util_WeakHashMap_keySet__;
98
__TIB_java_util_WeakHashMap.vtable[17] = (VTABLE_PTR) &java_util_WeakHashMap_values__;
99
__TIB_java_util_WeakHashMap.vtable[10] = (VTABLE_PTR) &java_util_WeakHashMap_get___java_lang_Object;
100
__TIB_java_util_WeakHashMap.vtable[8] = (VTABLE_PTR) &java_util_WeakHashMap_containsValue___java_lang_Object;
101
__TIB_java_util_WeakHashMap.vtable[11] = (VTABLE_PTR) &java_util_WeakHashMap_isEmpty__;
102
__TIB_java_util_WeakHashMap.vtable[14] = (VTABLE_PTR) &java_util_WeakHashMap_put___java_lang_Object_java_lang_Object;
103
__TIB_java_util_WeakHashMap.vtable[13] = (VTABLE_PTR) &java_util_WeakHashMap_putAll___java_util_Map;
104
__TIB_java_util_WeakHashMap.vtable[15] = (VTABLE_PTR) &java_util_WeakHashMap_remove___java_lang_Object;
105
__TIB_java_util_WeakHashMap.vtable[16] = (VTABLE_PTR) &java_util_WeakHashMap_size__;
106
// Initialize interface information
107
__TIB_java_util_WeakHashMap.numImplementedInterfaces = 1;
108
__TIB_java_util_WeakHashMap.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
110
// Initialize interfaces if necessary and assign tib to implementedInterfaces
112
XMLVM_CLASS_INIT(java_util_Map)
114
__TIB_java_util_WeakHashMap.implementedInterfaces[0][0] = &__TIB_java_util_Map;
115
// Initialize itable for this class
116
__TIB_java_util_WeakHashMap.itableBegin = &__TIB_java_util_WeakHashMap.itable[0];
117
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_clear__] = __TIB_java_util_WeakHashMap.vtable[6];
118
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsKey___java_lang_Object] = __TIB_java_util_WeakHashMap.vtable[7];
119
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsValue___java_lang_Object] = __TIB_java_util_WeakHashMap.vtable[8];
120
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_entrySet__] = __TIB_java_util_WeakHashMap.vtable[9];
121
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_equals___java_lang_Object] = __TIB_java_util_WeakHashMap.vtable[1];
122
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object] = __TIB_java_util_WeakHashMap.vtable[10];
123
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_hashCode__] = __TIB_java_util_WeakHashMap.vtable[4];
124
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__] = __TIB_java_util_WeakHashMap.vtable[11];
125
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_keySet__] = __TIB_java_util_WeakHashMap.vtable[12];
126
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_putAll___java_util_Map] = __TIB_java_util_WeakHashMap.vtable[13];
127
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object] = __TIB_java_util_WeakHashMap.vtable[14];
128
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object] = __TIB_java_util_WeakHashMap.vtable[15];
129
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_size__] = __TIB_java_util_WeakHashMap.vtable[16];
130
__TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_values__] = __TIB_java_util_WeakHashMap.vtable[17];
132
_STATIC_java_util_WeakHashMap_DEFAULT_SIZE = 16;
134
__TIB_java_util_WeakHashMap.declaredFields = &__field_reflection_data[0];
135
__TIB_java_util_WeakHashMap.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
136
__TIB_java_util_WeakHashMap.constructorDispatcherFunc = constructor_dispatcher;
137
__TIB_java_util_WeakHashMap.declaredConstructors = &__constructor_reflection_data[0];
138
__TIB_java_util_WeakHashMap.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
139
__TIB_java_util_WeakHashMap.methodDispatcherFunc = method_dispatcher;
140
__TIB_java_util_WeakHashMap.declaredMethods = &__method_reflection_data[0];
141
__TIB_java_util_WeakHashMap.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
142
__CLASS_java_util_WeakHashMap = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_WeakHashMap);
143
__TIB_java_util_WeakHashMap.clazz = __CLASS_java_util_WeakHashMap;
144
__TIB_java_util_WeakHashMap.baseType = JAVA_NULL;
145
__CLASS_java_util_WeakHashMap_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_WeakHashMap);
146
__CLASS_java_util_WeakHashMap_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_WeakHashMap_1ARRAY);
147
__CLASS_java_util_WeakHashMap_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_WeakHashMap_2ARRAY);
148
//XMLVM_BEGIN_WRAPPER[__INIT_java_util_WeakHashMap]
151
__TIB_java_util_WeakHashMap.classInitialized = 1;
154
void __DELETE_java_util_WeakHashMap(void* me, void* client_data)
156
//XMLVM_BEGIN_WRAPPER[__DELETE_java_util_WeakHashMap]
160
void __INIT_INSTANCE_MEMBERS_java_util_WeakHashMap(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
162
__INIT_INSTANCE_MEMBERS_java_util_AbstractMap(me, 0 || derivedClassWillRegisterFinalizer);
163
((java_util_WeakHashMap*) me)->fields.java_util_WeakHashMap.referenceQueue_ = (java_lang_ref_ReferenceQueue*) JAVA_NULL;
164
((java_util_WeakHashMap*) me)->fields.java_util_WeakHashMap.elementCount_ = 0;
165
((java_util_WeakHashMap*) me)->fields.java_util_WeakHashMap.elementData_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
166
((java_util_WeakHashMap*) me)->fields.java_util_WeakHashMap.loadFactor_ = 0;
167
((java_util_WeakHashMap*) me)->fields.java_util_WeakHashMap.threshold_ = 0;
168
((java_util_WeakHashMap*) me)->fields.java_util_WeakHashMap.modCount_ = 0;
169
//XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_WeakHashMap]
173
JAVA_OBJECT __NEW_java_util_WeakHashMap()
174
{ XMLVM_CLASS_INIT(java_util_WeakHashMap)
175
java_util_WeakHashMap* me = (java_util_WeakHashMap*) XMLVM_MALLOC(sizeof(java_util_WeakHashMap));
176
me->tib = &__TIB_java_util_WeakHashMap;
177
__INIT_INSTANCE_MEMBERS_java_util_WeakHashMap(me, 0);
178
//XMLVM_BEGIN_WRAPPER[__NEW_java_util_WeakHashMap]
183
JAVA_OBJECT __NEW_INSTANCE_java_util_WeakHashMap()
185
JAVA_OBJECT me = JAVA_NULL;
186
me = __NEW_java_util_WeakHashMap();
187
java_util_WeakHashMap___INIT___(me);
191
JAVA_INT java_util_WeakHashMap_GET_DEFAULT_SIZE()
193
XMLVM_CLASS_INIT(java_util_WeakHashMap)
194
return _STATIC_java_util_WeakHashMap_DEFAULT_SIZE;
197
void java_util_WeakHashMap_PUT_DEFAULT_SIZE(JAVA_INT v)
199
XMLVM_CLASS_INIT(java_util_WeakHashMap)
200
_STATIC_java_util_WeakHashMap_DEFAULT_SIZE = v;
203
JAVA_OBJECT java_util_WeakHashMap_newEntryArray___int(JAVA_INT n1)
205
XMLVM_CLASS_INIT(java_util_WeakHashMap)
206
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_newEntryArray___int]
207
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "newEntryArray", "?")
211
XMLVM_SOURCE_POSITION("WeakHashMap.java", 53)
212
XMLVM_CLASS_INIT(java_util_WeakHashMap_Entry)
213
_r0.o = XMLVMArray_createSingleDimension(__CLASS_java_util_WeakHashMap_Entry, _r1.i);
219
void java_util_WeakHashMap___INIT___(JAVA_OBJECT me)
221
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap___INIT___]
222
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "<init>", "?")
226
XMLVM_SOURCE_POSITION("WeakHashMap.java", 188)
229
java_util_WeakHashMap___INIT____int(_r1.o, _r0.i);
230
XMLVM_SOURCE_POSITION("WeakHashMap.java", 189)
236
void java_util_WeakHashMap___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
238
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap___INIT____int]
239
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "<init>", "?")
245
XMLVM_SOURCE_POSITION("WeakHashMap.java", 200)
247
java_util_AbstractMap___INIT___(_r1.o);
248
XMLVM_SOURCE_POSITION("WeakHashMap.java", 201)
249
if (_r2.i < 0) goto label34;
250
XMLVM_SOURCE_POSITION("WeakHashMap.java", 202)
253
((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.elementCount_ = _r0.i;
254
XMLVM_SOURCE_POSITION("WeakHashMap.java", 203)
255
if (_r2.i != 0) goto label32;
258
_r0.o = java_util_WeakHashMap_newEntryArray___int(_r0.i);
260
((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.elementData_ = _r0.o;
261
XMLVM_SOURCE_POSITION("WeakHashMap.java", 204)
264
((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.loadFactor_ = _r0.i;
265
XMLVM_SOURCE_POSITION("WeakHashMap.java", 205)
267
java_util_WeakHashMap_computeMaxSize__(_r1.o);
268
XMLVM_SOURCE_POSITION("WeakHashMap.java", 206)
269
_r0.o = __NEW_java_lang_ref_ReferenceQueue();
271
java_lang_ref_ReferenceQueue___INIT___(_r0.o);
273
((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.referenceQueue_ = _r0.o;
274
XMLVM_SOURCE_POSITION("WeakHashMap.java", 210)
281
XMLVM_SOURCE_POSITION("WeakHashMap.java", 208)
284
// Red class access removed: java.lang.IllegalArgumentException::new-instance
285
XMLVM_RED_CLASS_DEPENDENCY();
288
// Red class access removed: java.lang.IllegalArgumentException::<init>
289
XMLVM_RED_CLASS_DEPENDENCY();
290
XMLVM_THROW_CUSTOM(_r0.o)
294
void java_util_WeakHashMap___INIT____int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2)
296
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap___INIT____int_float]
297
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "<init>", "?")
305
XMLVM_SOURCE_POSITION("WeakHashMap.java", 224)
307
java_util_AbstractMap___INIT___(_r1.o);
308
XMLVM_SOURCE_POSITION("WeakHashMap.java", 225)
309
if (_r2.i < 0) goto label42;
311
_r0.i = _r3.f > _r0.f ? 1 : (_r3.f == _r0.f ? 0 : -1);
312
if (_r0.i <= 0) goto label42;
313
XMLVM_SOURCE_POSITION("WeakHashMap.java", 226)
316
((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.elementCount_ = _r0.i;
317
XMLVM_SOURCE_POSITION("WeakHashMap.java", 227)
318
if (_r2.i != 0) goto label40;
321
_r0.o = java_util_WeakHashMap_newEntryArray___int(_r0.i);
323
((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.elementData_ = _r0.o;
324
XMLVM_SOURCE_POSITION("WeakHashMap.java", 228)
326
_r0.f = _r0.f * _r3.f;
327
_r0.i = (JAVA_INT) _r0.f;
329
((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.loadFactor_ = _r0.i;
330
XMLVM_SOURCE_POSITION("WeakHashMap.java", 229)
332
java_util_WeakHashMap_computeMaxSize__(_r1.o);
333
XMLVM_SOURCE_POSITION("WeakHashMap.java", 230)
334
_r0.o = __NEW_java_lang_ref_ReferenceQueue();
336
java_lang_ref_ReferenceQueue___INIT___(_r0.o);
338
((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.referenceQueue_ = _r0.o;
339
XMLVM_SOURCE_POSITION("WeakHashMap.java", 234)
346
XMLVM_SOURCE_POSITION("WeakHashMap.java", 232)
349
// Red class access removed: java.lang.IllegalArgumentException::new-instance
350
XMLVM_RED_CLASS_DEPENDENCY();
353
// Red class access removed: java.lang.IllegalArgumentException::<init>
354
XMLVM_RED_CLASS_DEPENDENCY();
355
XMLVM_THROW_CUSTOM(_r0.o)
359
void java_util_WeakHashMap___INIT____java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
361
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap___INIT____java_util_Map]
362
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "<init>", "?")
369
XMLVM_SOURCE_POSITION("WeakHashMap.java", 244)
371
_r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r3.o);
373
if (_r0.i >= _r1.i) goto label16;
377
java_util_WeakHashMap___INIT____int(_r2.o, _r0.i);
378
XMLVM_SOURCE_POSITION("WeakHashMap.java", 245)
380
java_util_WeakHashMap_putAllImpl___java_util_Map(_r2.o, _r3.o);
381
XMLVM_SOURCE_POSITION("WeakHashMap.java", 246)
386
_r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r3.o);
392
void java_util_WeakHashMap_clear__(JAVA_OBJECT me)
394
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_clear__]
395
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "clear", "?")
400
XMLVM_SOURCE_POSITION("WeakHashMap.java", 256)
402
_r0.i = ((java_util_WeakHashMap*) _r2.o)->fields.java_util_WeakHashMap.elementCount_;
403
if (_r0.i <= 0) goto label27;
404
XMLVM_SOURCE_POSITION("WeakHashMap.java", 257)
407
((java_util_WeakHashMap*) _r2.o)->fields.java_util_WeakHashMap.elementCount_ = _r0.i;
408
XMLVM_SOURCE_POSITION("WeakHashMap.java", 258)
410
_r0.o = ((java_util_WeakHashMap*) _r2.o)->fields.java_util_WeakHashMap.elementData_;
414
// Red class access removed: java.util.Arrays::fill
415
XMLVM_RED_CLASS_DEPENDENCY();
416
XMLVM_SOURCE_POSITION("WeakHashMap.java", 259)
418
_r0.i = ((java_util_WeakHashMap*) _r2.o)->fields.java_util_WeakHashMap.modCount_;
421
((java_util_WeakHashMap*) _r2.o)->fields.java_util_WeakHashMap.modCount_ = _r0.i;
423
XMLVM_SOURCE_POSITION("WeakHashMap.java", 260)
425
_r0.o = ((java_util_WeakHashMap*) _r2.o)->fields.java_util_WeakHashMap.referenceQueue_;
427
_r0.o = java_lang_ref_ReferenceQueue_poll__(_r0.o);
428
if (_r0.o != JAVA_NULL) goto label19;
430
XMLVM_SOURCE_POSITION("WeakHashMap.java", 264)
436
void java_util_WeakHashMap_computeMaxSize__(JAVA_OBJECT me)
438
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_computeMaxSize__]
439
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "computeMaxSize", "?")
446
XMLVM_SOURCE_POSITION("WeakHashMap.java", 267)
448
_r0.o = ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.elementData_;
449
_r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
450
_r0.l = (JAVA_LONG) _r0.i;
452
_r2.i = ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.loadFactor_;
453
_r2.l = (JAVA_LONG) _r2.i;
454
_r0.l = _r0.l * _r2.l;
456
_r0.l = _r0.l / _r2.l;
457
_r0.i = (JAVA_INT) _r0.l;
459
((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.threshold_ = _r0.i;
460
XMLVM_SOURCE_POSITION("WeakHashMap.java", 268)
466
JAVA_BOOLEAN java_util_WeakHashMap_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
468
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_containsKey___java_lang_Object]
469
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "containsKey", "?")
475
XMLVM_SOURCE_POSITION("WeakHashMap.java", 280)
477
_r0.o = java_util_WeakHashMap_getEntry___java_lang_Object(_r1.o, _r2.o);
478
if (_r0.o == JAVA_NULL) goto label8;
489
JAVA_OBJECT java_util_WeakHashMap_entrySet__(JAVA_OBJECT me)
491
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_entrySet__]
492
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "entrySet", "?")
496
XMLVM_SOURCE_POSITION("WeakHashMap.java", 293)
498
java_util_WeakHashMap_poll__(_r1.o);
499
XMLVM_SOURCE_POSITION("WeakHashMap.java", 294)
502
// Red class access removed: java.util.WeakHashMap$1::new-instance
503
XMLVM_RED_CLASS_DEPENDENCY();
506
// Red class access removed: java.util.WeakHashMap$1::<init>
507
XMLVM_RED_CLASS_DEPENDENCY();
513
JAVA_OBJECT java_util_WeakHashMap_keySet__(JAVA_OBJECT me)
515
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_keySet__]
516
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "keySet", "?")
520
XMLVM_SOURCE_POSITION("WeakHashMap.java", 351)
522
java_util_WeakHashMap_poll__(_r1.o);
523
XMLVM_SOURCE_POSITION("WeakHashMap.java", 352)
525
_r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_;
526
if (_r0.o != JAVA_NULL) goto label14;
527
XMLVM_SOURCE_POSITION("WeakHashMap.java", 353)
530
// Red class access removed: java.util.WeakHashMap$2::new-instance
531
XMLVM_RED_CLASS_DEPENDENCY();
534
// Red class access removed: java.util.WeakHashMap$2::<init>
535
XMLVM_RED_CLASS_DEPENDENCY();
537
((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_ = _r0.o;
539
XMLVM_SOURCE_POSITION("WeakHashMap.java", 408)
541
_r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_;
547
JAVA_OBJECT java_util_WeakHashMap_values__(JAVA_OBJECT me)
549
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_values__]
550
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "values", "?")
554
XMLVM_SOURCE_POSITION("WeakHashMap.java", 432)
556
java_util_WeakHashMap_poll__(_r1.o);
557
XMLVM_SOURCE_POSITION("WeakHashMap.java", 433)
559
_r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_;
560
if (_r0.o != JAVA_NULL) goto label14;
561
XMLVM_SOURCE_POSITION("WeakHashMap.java", 434)
564
// Red class access removed: java.util.WeakHashMap$3::new-instance
565
XMLVM_RED_CLASS_DEPENDENCY();
568
// Red class access removed: java.util.WeakHashMap$3::<init>
569
XMLVM_RED_CLASS_DEPENDENCY();
571
((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_ = _r0.o;
573
XMLVM_SOURCE_POSITION("WeakHashMap.java", 460)
575
_r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_;
581
JAVA_OBJECT java_util_WeakHashMap_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
583
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_get___java_lang_Object]
584
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "get", "?")
593
XMLVM_SOURCE_POSITION("WeakHashMap.java", 473)
595
java_util_WeakHashMap_poll__(_r3.o);
596
XMLVM_SOURCE_POSITION("WeakHashMap.java", 474)
597
if (_r4.o == JAVA_NULL) goto label42;
598
XMLVM_SOURCE_POSITION("WeakHashMap.java", 475)
599
//java_lang_Object_hashCode__[4]
601
_r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[4])(_r4.o);
603
_r0.i = _r0.i & _r1.i;
605
_r1.o = ((java_util_WeakHashMap*) _r3.o)->fields.java_util_WeakHashMap.elementData_;
606
_r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
607
_r0.i = _r0.i % _r1.i;
608
XMLVM_SOURCE_POSITION("WeakHashMap.java", 476)
610
_r1.o = ((java_util_WeakHashMap*) _r3.o)->fields.java_util_WeakHashMap.elementData_;
612
XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
613
_r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
615
XMLVM_SOURCE_POSITION("WeakHashMap.java", 477)
616
if (_r0.o != JAVA_NULL) goto label26;
619
XMLVM_SOURCE_POSITION("WeakHashMap.java", 483)
620
XMLVM_SOURCE_POSITION("WeakHashMap.java", 492)
624
XMLVM_SOURCE_POSITION("WeakHashMap.java", 478)
626
_r1.o = java_lang_ref_Reference_get__(_r0.o);
627
//java_lang_Object_equals___java_lang_Object[1]
629
_r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r1.o);
630
if (_r1.i == 0) goto label39;
631
XMLVM_SOURCE_POSITION("WeakHashMap.java", 479)
633
_r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.value_;
636
XMLVM_SOURCE_POSITION("WeakHashMap.java", 481)
638
_r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_;
641
XMLVM_SOURCE_POSITION("WeakHashMap.java", 485)
643
_r0.o = ((java_util_WeakHashMap*) _r3.o)->fields.java_util_WeakHashMap.elementData_;
646
XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
647
_r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
649
XMLVM_SOURCE_POSITION("WeakHashMap.java", 486)
650
if (_r0.o != JAVA_NULL) goto label51;
654
XMLVM_SOURCE_POSITION("WeakHashMap.java", 487)
656
_r1.i = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.isNull_;
657
if (_r1.i == 0) goto label58;
658
XMLVM_SOURCE_POSITION("WeakHashMap.java", 488)
660
_r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.value_;
663
XMLVM_SOURCE_POSITION("WeakHashMap.java", 490)
665
_r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_;
670
JAVA_OBJECT java_util_WeakHashMap_getEntry___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
672
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_getEntry___java_lang_Object]
673
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "getEntry", "?")
682
XMLVM_SOURCE_POSITION("WeakHashMap.java", 496)
684
java_util_WeakHashMap_poll__(_r3.o);
685
XMLVM_SOURCE_POSITION("WeakHashMap.java", 497)
686
if (_r4.o == JAVA_NULL) goto label39;
687
XMLVM_SOURCE_POSITION("WeakHashMap.java", 498)
688
//java_lang_Object_hashCode__[4]
690
_r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[4])(_r4.o);
692
_r0.i = _r0.i & _r1.i;
694
_r1.o = ((java_util_WeakHashMap*) _r3.o)->fields.java_util_WeakHashMap.elementData_;
695
_r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
696
_r0.i = _r0.i % _r1.i;
697
XMLVM_SOURCE_POSITION("WeakHashMap.java", 499)
699
_r1.o = ((java_util_WeakHashMap*) _r3.o)->fields.java_util_WeakHashMap.elementData_;
701
XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
702
_r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
704
XMLVM_SOURCE_POSITION("WeakHashMap.java", 500)
705
if (_r0.o != JAVA_NULL) goto label26;
708
XMLVM_SOURCE_POSITION("WeakHashMap.java", 506)
709
XMLVM_SOURCE_POSITION("WeakHashMap.java", 515)
713
XMLVM_SOURCE_POSITION("WeakHashMap.java", 501)
715
_r1.o = java_lang_ref_Reference_get__(_r0.o);
716
//java_lang_Object_equals___java_lang_Object[1]
718
_r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r1.o);
719
if (_r1.i != 0) goto label25;
720
XMLVM_SOURCE_POSITION("WeakHashMap.java", 504)
722
_r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_;
725
XMLVM_SOURCE_POSITION("WeakHashMap.java", 508)
727
_r0.o = ((java_util_WeakHashMap*) _r3.o)->fields.java_util_WeakHashMap.elementData_;
730
XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
731
_r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
733
XMLVM_SOURCE_POSITION("WeakHashMap.java", 509)
734
if (_r0.o != JAVA_NULL) goto label48;
738
XMLVM_SOURCE_POSITION("WeakHashMap.java", 510)
740
_r1.i = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.isNull_;
741
if (_r1.i != 0) goto label25;
742
XMLVM_SOURCE_POSITION("WeakHashMap.java", 513)
744
_r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_;
749
JAVA_BOOLEAN java_util_WeakHashMap_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
751
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_containsValue___java_lang_Object]
752
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "containsValue", "?")
762
XMLVM_SOURCE_POSITION("WeakHashMap.java", 528)
764
java_util_WeakHashMap_poll__(_r4.o);
765
XMLVM_SOURCE_POSITION("WeakHashMap.java", 529)
766
if (_r5.o == JAVA_NULL) goto label44;
767
XMLVM_SOURCE_POSITION("WeakHashMap.java", 530)
769
_r0.o = ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.elementData_;
770
_r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
773
if (_r0.i >= 0) goto label15;
775
XMLVM_SOURCE_POSITION("WeakHashMap.java", 553)
781
XMLVM_SOURCE_POSITION("WeakHashMap.java", 531)
783
_r1.o = ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.elementData_;
785
XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
786
_r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
788
XMLVM_SOURCE_POSITION("WeakHashMap.java", 532)
789
if (_r1.o == JAVA_NULL) goto label9;
790
XMLVM_SOURCE_POSITION("WeakHashMap.java", 533)
792
_r2.o = java_lang_ref_Reference_get__(_r1.o);
793
XMLVM_SOURCE_POSITION("WeakHashMap.java", 534)
794
if (_r2.o != JAVA_NULL) goto label31;
796
_r2.i = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.isNull_;
797
if (_r2.i == 0) goto label41;
799
XMLVM_SOURCE_POSITION("WeakHashMap.java", 535)
801
_r2.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.value_;
802
//java_lang_Object_equals___java_lang_Object[1]
804
_r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r5.o)->tib->vtable[1])(_r5.o, _r2.o);
805
if (_r2.i == 0) goto label41;
807
XMLVM_SOURCE_POSITION("WeakHashMap.java", 536)
810
XMLVM_SOURCE_POSITION("WeakHashMap.java", 538)
812
_r1.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_;
815
XMLVM_SOURCE_POSITION("WeakHashMap.java", 542)
817
_r0.o = ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.elementData_;
818
_r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
821
if (_r0.i < 0) goto label13;
822
XMLVM_SOURCE_POSITION("WeakHashMap.java", 543)
824
_r1.o = ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.elementData_;
826
XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
827
_r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
829
XMLVM_SOURCE_POSITION("WeakHashMap.java", 544)
830
if (_r1.o == JAVA_NULL) goto label47;
831
XMLVM_SOURCE_POSITION("WeakHashMap.java", 545)
833
_r2.o = java_lang_ref_Reference_get__(_r1.o);
834
XMLVM_SOURCE_POSITION("WeakHashMap.java", 546)
835
if (_r2.o != JAVA_NULL) goto label67;
837
_r2.i = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.isNull_;
838
if (_r2.i == 0) goto label73;
841
_r2.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.value_;
842
if (_r2.o != JAVA_NULL) goto label73;
844
XMLVM_SOURCE_POSITION("WeakHashMap.java", 547)
847
XMLVM_SOURCE_POSITION("WeakHashMap.java", 549)
849
_r1.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_;
854
JAVA_BOOLEAN java_util_WeakHashMap_isEmpty__(JAVA_OBJECT me)
856
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_isEmpty__]
857
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "isEmpty", "?")
861
XMLVM_SOURCE_POSITION("WeakHashMap.java", 563)
862
//java_util_WeakHashMap_size__[16]
864
_r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_WeakHashMap*) _r1.o)->tib->vtable[16])(_r1.o);
865
if (_r0.i != 0) goto label8;
876
void java_util_WeakHashMap_poll__(JAVA_OBJECT me)
878
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_poll__]
879
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "poll", "?")
884
XMLVM_SOURCE_POSITION("WeakHashMap.java", 569)
886
_r0.o = ((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.referenceQueue_;
888
_r0.o = java_lang_ref_ReferenceQueue_poll__(_r0.o);
890
if (_r0.o != JAVA_NULL) goto label11;
891
XMLVM_SOURCE_POSITION("WeakHashMap.java", 572)
895
XMLVM_SOURCE_POSITION("WeakHashMap.java", 570)
897
java_util_WeakHashMap_removeEntry___java_util_WeakHashMap_Entry(_r1.o, _r0.o);
902
void java_util_WeakHashMap_removeEntry___java_util_WeakHashMap_Entry(JAVA_OBJECT me, JAVA_OBJECT n1)
904
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_removeEntry___java_util_WeakHashMap_Entry]
905
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "removeEntry", "?")
915
XMLVM_SOURCE_POSITION("WeakHashMap.java", 575)
917
XMLVM_SOURCE_POSITION("WeakHashMap.java", 576)
919
_r1.i = ((java_util_WeakHashMap_Entry*) _r6.o)->fields.java_util_WeakHashMap_Entry.hash_;
921
_r1.i = _r1.i & _r2.i;
923
_r2.o = ((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.elementData_;
924
_r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
925
_r1.i = _r1.i % _r2.i;
926
XMLVM_SOURCE_POSITION("WeakHashMap.java", 577)
928
_r2.o = ((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.elementData_;
930
XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
931
_r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
933
XMLVM_SOURCE_POSITION("WeakHashMap.java", 580)
934
if (_r2.o != JAVA_NULL) goto label18;
936
XMLVM_SOURCE_POSITION("WeakHashMap.java", 594)
940
XMLVM_SOURCE_POSITION("WeakHashMap.java", 581)
941
if (_r6.o != _r2.o) goto label46;
942
XMLVM_SOURCE_POSITION("WeakHashMap.java", 582)
944
_r3.i = ((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.modCount_;
947
((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.modCount_ = _r3.i;
948
XMLVM_SOURCE_POSITION("WeakHashMap.java", 583)
949
if (_r0.o != JAVA_NULL) goto label41;
950
XMLVM_SOURCE_POSITION("WeakHashMap.java", 584)
952
_r0.o = ((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.elementData_;
954
_r2.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.next_;
956
XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
957
((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
959
XMLVM_SOURCE_POSITION("WeakHashMap.java", 588)
961
_r0.i = ((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.elementCount_;
963
_r0.i = _r0.i - _r1.i;
965
((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.elementCount_ = _r0.i;
968
XMLVM_SOURCE_POSITION("WeakHashMap.java", 586)
970
_r1.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.next_;
972
((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_ = _r1.o;
975
XMLVM_SOURCE_POSITION("WeakHashMap.java", 592)
977
_r0.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.next_;
985
JAVA_OBJECT java_util_WeakHashMap_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
987
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_put___java_lang_Object_java_lang_Object]
988
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "put", "?")
1003
XMLVM_SOURCE_POSITION("WeakHashMap.java", 608)
1005
java_util_WeakHashMap_poll__(_r6.o);
1006
XMLVM_SOURCE_POSITION("WeakHashMap.java", 611)
1007
if (_r7.o == JAVA_NULL) goto label83;
1008
XMLVM_SOURCE_POSITION("WeakHashMap.java", 612)
1009
//java_lang_Object_hashCode__[4]
1011
_r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[4])(_r7.o);
1012
_r0.i = _r0.i & _r4.i;
1014
_r1.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
1015
_r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
1016
_r0.i = _r0.i % _r1.i;
1017
XMLVM_SOURCE_POSITION("WeakHashMap.java", 613)
1019
_r1.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
1021
XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
1022
_r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
1024
XMLVM_SOURCE_POSITION("WeakHashMap.java", 614)
1025
if (_r1.o == JAVA_NULL) goto label116;
1027
_r2.o = java_lang_ref_Reference_get__(_r1.o);
1028
//java_lang_Object_equals___java_lang_Object[1]
1030
_r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[1])(_r7.o, _r2.o);
1031
if (_r2.i == 0) goto label80;
1036
XMLVM_SOURCE_POSITION("WeakHashMap.java", 623)
1037
if (_r0.o != JAVA_NULL) goto label108;
1038
XMLVM_SOURCE_POSITION("WeakHashMap.java", 624)
1040
_r0.i = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.modCount_;
1043
((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.modCount_ = _r0.i;
1044
XMLVM_SOURCE_POSITION("WeakHashMap.java", 625)
1046
_r0.i = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementCount_;
1049
((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementCount_ = _r0.i;
1051
_r2.i = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.threshold_;
1052
if (_r0.i <= _r2.i) goto label114;
1053
XMLVM_SOURCE_POSITION("WeakHashMap.java", 626)
1055
java_util_WeakHashMap_rehash__(_r6.o);
1056
XMLVM_SOURCE_POSITION("WeakHashMap.java", 627)
1057
if (_r7.o != JAVA_NULL) goto label98;
1060
XMLVM_SOURCE_POSITION("WeakHashMap.java", 630)
1061
_r1.o = __NEW_java_util_WeakHashMap_Entry();
1063
_r2.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.referenceQueue_;
1065
java_util_WeakHashMap_Entry___INIT____java_lang_Object_java_lang_Object_java_lang_ref_ReferenceQueue(_r1.o, _r7.o, _r8.o, _r2.o);
1066
XMLVM_SOURCE_POSITION("WeakHashMap.java", 631)
1068
_r2.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
1070
XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
1071
_r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
1073
((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_ = _r2.o;
1074
XMLVM_SOURCE_POSITION("WeakHashMap.java", 632)
1076
_r2.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
1078
XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
1079
((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r1.o;
1080
XMLVM_SOURCE_POSITION("WeakHashMap.java", 633)
1083
XMLVM_SOURCE_POSITION("WeakHashMap.java", 637)
1087
XMLVM_SOURCE_POSITION("WeakHashMap.java", 615)
1089
_r1.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_;
1092
XMLVM_SOURCE_POSITION("WeakHashMap.java", 618)
1094
_r0.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
1096
XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
1097
_r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
1099
XMLVM_SOURCE_POSITION("WeakHashMap.java", 619)
1100
if (_r0.o == JAVA_NULL) goto label93;
1102
_r1.i = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.isNull_;
1103
if (_r1.i == 0) goto label95;
1108
XMLVM_SOURCE_POSITION("WeakHashMap.java", 620)
1110
_r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_;
1113
//java_lang_Object_hashCode__[4]
1115
_r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[4])(_r7.o);
1116
_r0.i = _r0.i & _r4.i;
1117
XMLVM_SOURCE_POSITION("WeakHashMap.java", 628)
1119
_r1.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
1120
_r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
1121
_r0.i = _r0.i % _r1.i;
1124
XMLVM_SOURCE_POSITION("WeakHashMap.java", 635)
1126
_r1.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.value_;
1127
XMLVM_SOURCE_POSITION("WeakHashMap.java", 636)
1129
((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.value_ = _r8.o;
1143
void java_util_WeakHashMap_rehash__(JAVA_OBJECT me)
1145
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_rehash__]
1146
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "rehash", "?")
1158
XMLVM_SOURCE_POSITION("WeakHashMap.java", 641)
1160
_r0.o = ((java_util_WeakHashMap*) _r8.o)->fields.java_util_WeakHashMap.elementData_;
1161
_r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
1163
if (_r0.i != 0) goto label9;
1164
XMLVM_SOURCE_POSITION("WeakHashMap.java", 642)
1165
XMLVM_SOURCE_POSITION("WeakHashMap.java", 643)
1168
XMLVM_SOURCE_POSITION("WeakHashMap.java", 645)
1169
_r1.o = java_util_WeakHashMap_newEntryArray___int(_r0.i);
1172
XMLVM_SOURCE_POSITION("WeakHashMap.java", 646)
1174
_r3.o = ((java_util_WeakHashMap*) _r8.o)->fields.java_util_WeakHashMap.elementData_;
1175
_r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
1176
if (_r2.i < _r3.i) goto label25;
1177
XMLVM_SOURCE_POSITION("WeakHashMap.java", 657)
1179
((java_util_WeakHashMap*) _r8.o)->fields.java_util_WeakHashMap.elementData_ = _r1.o;
1180
XMLVM_SOURCE_POSITION("WeakHashMap.java", 658)
1182
java_util_WeakHashMap_computeMaxSize__(_r8.o);
1183
XMLVM_SOURCE_POSITION("WeakHashMap.java", 659)
1187
XMLVM_SOURCE_POSITION("WeakHashMap.java", 647)
1189
_r3.o = ((java_util_WeakHashMap*) _r8.o)->fields.java_util_WeakHashMap.elementData_;
1191
XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
1192
_r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
1194
XMLVM_SOURCE_POSITION("WeakHashMap.java", 648)
1195
if (_r3.o != JAVA_NULL) goto label34;
1199
XMLVM_SOURCE_POSITION("WeakHashMap.java", 649)
1201
_r4.i = ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.isNull_;
1202
if (_r4.i == 0) goto label49;
1205
XMLVM_SOURCE_POSITION("WeakHashMap.java", 651)
1207
_r5.o = ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.next_;
1208
XMLVM_SOURCE_POSITION("WeakHashMap.java", 652)
1210
XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
1211
_r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
1213
((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.next_ = _r6.o;
1214
XMLVM_SOURCE_POSITION("WeakHashMap.java", 653)
1216
XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
1217
((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r3.o;
1219
XMLVM_SOURCE_POSITION("WeakHashMap.java", 654)
1223
_r4.i = ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.hash_;
1225
_r4.i = _r4.i & _r5.i;
1226
XMLVM_SOURCE_POSITION("WeakHashMap.java", 650)
1227
_r4.i = _r4.i % _r0.i;
1232
void java_util_WeakHashMap_putAll___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
1234
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_putAll___java_util_Map]
1235
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "putAll", "?")
1240
XMLVM_SOURCE_POSITION("WeakHashMap.java", 673)
1242
java_util_WeakHashMap_putAllImpl___java_util_Map(_r0.o, _r1.o);
1243
XMLVM_SOURCE_POSITION("WeakHashMap.java", 674)
1249
JAVA_OBJECT java_util_WeakHashMap_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
1251
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_remove___java_lang_Object]
1252
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "remove", "?")
1265
XMLVM_SOURCE_POSITION("WeakHashMap.java", 686)
1267
java_util_WeakHashMap_poll__(_r6.o);
1268
XMLVM_SOURCE_POSITION("WeakHashMap.java", 689)
1269
if (_r7.o == JAVA_NULL) goto label72;
1270
XMLVM_SOURCE_POSITION("WeakHashMap.java", 690)
1271
//java_lang_Object_hashCode__[4]
1273
_r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[4])(_r7.o);
1275
_r0.i = _r0.i & _r1.i;
1277
_r1.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
1278
_r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
1279
_r0.i = _r0.i % _r1.i;
1280
XMLVM_SOURCE_POSITION("WeakHashMap.java", 691)
1282
_r1.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
1284
XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
1285
_r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
1289
XMLVM_SOURCE_POSITION("WeakHashMap.java", 692)
1290
if (_r2.o == JAVA_NULL) goto label99;
1292
_r3.o = java_lang_ref_Reference_get__(_r2.o);
1293
//java_lang_Object_equals___java_lang_Object[1]
1295
_r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[1])(_r7.o, _r3.o);
1296
if (_r3.i == 0) goto label66;
1302
XMLVM_SOURCE_POSITION("WeakHashMap.java", 703)
1303
if (_r1.o == JAVA_NULL) goto label97;
1304
XMLVM_SOURCE_POSITION("WeakHashMap.java", 704)
1306
_r3.i = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.modCount_;
1309
((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.modCount_ = _r3.i;
1310
XMLVM_SOURCE_POSITION("WeakHashMap.java", 705)
1311
if (_r0.o != JAVA_NULL) goto label92;
1312
XMLVM_SOURCE_POSITION("WeakHashMap.java", 706)
1314
_r0.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
1316
_r3.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_;
1318
XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
1319
((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.o;
1321
XMLVM_SOURCE_POSITION("WeakHashMap.java", 710)
1323
_r0.i = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementCount_;
1325
_r0.i = _r0.i - _r2.i;
1327
((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementCount_ = _r0.i;
1328
XMLVM_SOURCE_POSITION("WeakHashMap.java", 711)
1330
_r0.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.value_;
1332
XMLVM_SOURCE_POSITION("WeakHashMap.java", 713)
1336
XMLVM_SOURCE_POSITION("WeakHashMap.java", 694)
1338
_r1.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.next_;
1344
XMLVM_SOURCE_POSITION("WeakHashMap.java", 697)
1346
_r0.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
1348
XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
1349
_r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
1353
XMLVM_SOURCE_POSITION("WeakHashMap.java", 698)
1354
if (_r1.o == JAVA_NULL) goto label84;
1356
_r2.i = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.isNull_;
1357
if (_r2.i == 0) goto label86;
1362
XMLVM_SOURCE_POSITION("WeakHashMap.java", 700)
1364
_r0.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_;
1370
XMLVM_SOURCE_POSITION("WeakHashMap.java", 708)
1372
_r2.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_;
1374
((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_ = _r2.o;
1388
JAVA_INT java_util_WeakHashMap_size__(JAVA_OBJECT me)
1390
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_size__]
1391
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "size", "?")
1395
XMLVM_SOURCE_POSITION("WeakHashMap.java", 723)
1397
java_util_WeakHashMap_poll__(_r1.o);
1398
XMLVM_SOURCE_POSITION("WeakHashMap.java", 724)
1400
_r0.i = ((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.elementCount_;
1406
void java_util_WeakHashMap_putAllImpl___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
1408
//XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_putAllImpl___java_util_Map]
1409
XMLVM_ENTER_METHOD("java.util.WeakHashMap", "putAllImpl", "?")
1415
XMLVM_SOURCE_POSITION("WeakHashMap.java", 728)
1417
_r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_entrySet__])(_r2.o);
1418
if (_r0.o == JAVA_NULL) goto label9;
1419
XMLVM_SOURCE_POSITION("WeakHashMap.java", 729)
1421
java_util_AbstractMap_putAll___java_util_Map(_r1.o, _r2.o);
1423
XMLVM_SOURCE_POSITION("WeakHashMap.java", 731)