~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to tests/nbody-java/java_util_HashMap.c

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-06-11 15:45:24 UTC
  • mfrom: (1.2.1) (2.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20130611154524-rppb3w6tixlegv4n
Tags: 1.4.7~20130611~a1eb425-1
* New snapshot release
* Upload to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "xmlvm.h"
 
2
#include "java_lang_Object.h"
 
3
#include "java_util_Collection.h"
 
4
#include "java_util_HashMap_Entry.h"
 
5
#include "java_util_Iterator.h"
 
6
#include "java_util_Map_Entry.h"
 
7
#include "java_util_Set.h"
 
8
 
 
9
#include "java_util_HashMap.h"
 
10
 
 
11
#define XMLVM_CURRENT_CLASS_NAME HashMap
 
12
#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_HashMap
 
13
 
 
14
__TIB_DEFINITION_java_util_HashMap __TIB_java_util_HashMap = {
 
15
    0, // classInitializationBegan
 
16
    0, // classInitialized
 
17
    -1, // initializerThreadId
 
18
    __INIT_java_util_HashMap, // classInitializer
 
19
    "java.util.HashMap", // 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;>;Ljava/lang/Cloneable;Ljava/io/Serializable;", // signature
 
24
    (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractMap, // extends
 
25
    sizeof(java_util_HashMap), // sizeInstance
 
26
    XMLVM_TYPE_CLASS};
 
27
 
 
28
JAVA_OBJECT __CLASS_java_util_HashMap;
 
29
JAVA_OBJECT __CLASS_java_util_HashMap_1ARRAY;
 
30
JAVA_OBJECT __CLASS_java_util_HashMap_2ARRAY;
 
31
JAVA_OBJECT __CLASS_java_util_HashMap_3ARRAY;
 
32
//XMLVM_BEGIN_IMPLEMENTATION
 
33
//XMLVM_END_IMPLEMENTATION
 
34
 
 
35
static JAVA_LONG _STATIC_java_util_HashMap_serialVersionUID;
 
36
static JAVA_INT _STATIC_java_util_HashMap_DEFAULT_SIZE;
 
37
 
 
38
#include "xmlvm-reflection.h"
 
39
 
 
40
static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
 
41
};
 
42
 
 
43
static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
 
44
};
 
45
 
 
46
static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
 
47
{
 
48
    XMLVM_NOT_IMPLEMENTED();
 
49
}
 
50
 
 
51
static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
 
52
};
 
53
 
 
54
static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
 
55
{
 
56
    XMLVM_NOT_IMPLEMENTED();
 
57
}
 
58
 
 
59
void __INIT_java_util_HashMap()
 
60
{
 
61
    staticInitializerLock(&__TIB_java_util_HashMap);
 
62
 
 
63
    // While the static initializer mutex is locked, locally store the value of
 
64
    // whether class initialization began or not
 
65
    int initBegan = __TIB_java_util_HashMap.classInitializationBegan;
 
66
 
 
67
    // Whether or not class initialization had already began, it has begun now
 
68
    __TIB_java_util_HashMap.classInitializationBegan = 1;
 
69
 
 
70
    staticInitializerUnlock(&__TIB_java_util_HashMap);
 
71
 
 
72
    JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
 
73
    if (initBegan) {
 
74
        if (__TIB_java_util_HashMap.initializerThreadId != curThreadId) {
 
75
            // Busy wait until the other thread finishes initializing this class
 
76
            while (!__TIB_java_util_HashMap.classInitialized) {
 
77
                // do nothing
 
78
            }
 
79
        }
 
80
    } else {
 
81
        __TIB_java_util_HashMap.initializerThreadId = curThreadId;
 
82
        XMLVM_CLASS_USED("java.util.HashMap")
 
83
        __INIT_IMPL_java_util_HashMap();
 
84
    }
 
85
}
 
86
 
 
87
void __INIT_IMPL_java_util_HashMap()
 
88
{
 
89
    // Initialize base class if necessary
 
90
    XMLVM_CLASS_INIT(java_util_AbstractMap)
 
91
    __TIB_java_util_HashMap.newInstanceFunc = __NEW_INSTANCE_java_util_HashMap;
 
92
    // Copy vtable from base class
 
93
    XMLVM_MEMCPY(__TIB_java_util_HashMap.vtable, __TIB_java_util_AbstractMap.vtable, sizeof(__TIB_java_util_AbstractMap.vtable));
 
94
    // Initialize vtable for this class
 
95
    __TIB_java_util_HashMap.vtable[6] = (VTABLE_PTR) &java_util_HashMap_clear__;
 
96
    __TIB_java_util_HashMap.vtable[0] = (VTABLE_PTR) &java_util_HashMap_clone__;
 
97
    __TIB_java_util_HashMap.vtable[7] = (VTABLE_PTR) &java_util_HashMap_containsKey___java_lang_Object;
 
98
    __TIB_java_util_HashMap.vtable[8] = (VTABLE_PTR) &java_util_HashMap_containsValue___java_lang_Object;
 
99
    __TIB_java_util_HashMap.vtable[9] = (VTABLE_PTR) &java_util_HashMap_entrySet__;
 
100
    __TIB_java_util_HashMap.vtable[10] = (VTABLE_PTR) &java_util_HashMap_get___java_lang_Object;
 
101
    __TIB_java_util_HashMap.vtable[11] = (VTABLE_PTR) &java_util_HashMap_isEmpty__;
 
102
    __TIB_java_util_HashMap.vtable[12] = (VTABLE_PTR) &java_util_HashMap_keySet__;
 
103
    __TIB_java_util_HashMap.vtable[14] = (VTABLE_PTR) &java_util_HashMap_put___java_lang_Object_java_lang_Object;
 
104
    __TIB_java_util_HashMap.vtable[13] = (VTABLE_PTR) &java_util_HashMap_putAll___java_util_Map;
 
105
    __TIB_java_util_HashMap.vtable[15] = (VTABLE_PTR) &java_util_HashMap_remove___java_lang_Object;
 
106
    __TIB_java_util_HashMap.vtable[16] = (VTABLE_PTR) &java_util_HashMap_size__;
 
107
    __TIB_java_util_HashMap.vtable[17] = (VTABLE_PTR) &java_util_HashMap_values__;
 
108
    // Initialize interface information
 
109
    __TIB_java_util_HashMap.numImplementedInterfaces = 3;
 
110
    __TIB_java_util_HashMap.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
 
111
 
 
112
    // Initialize interfaces if necessary and assign tib to implementedInterfaces
 
113
 
 
114
    XMLVM_CLASS_INIT(java_io_Serializable)
 
115
 
 
116
    __TIB_java_util_HashMap.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
 
117
 
 
118
    XMLVM_CLASS_INIT(java_lang_Cloneable)
 
119
 
 
120
    __TIB_java_util_HashMap.implementedInterfaces[0][1] = &__TIB_java_lang_Cloneable;
 
121
 
 
122
    XMLVM_CLASS_INIT(java_util_Map)
 
123
 
 
124
    __TIB_java_util_HashMap.implementedInterfaces[0][2] = &__TIB_java_util_Map;
 
125
    // Initialize itable for this class
 
126
    __TIB_java_util_HashMap.itableBegin = &__TIB_java_util_HashMap.itable[0];
 
127
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_clear__] = __TIB_java_util_HashMap.vtable[6];
 
128
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsKey___java_lang_Object] = __TIB_java_util_HashMap.vtable[7];
 
129
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsValue___java_lang_Object] = __TIB_java_util_HashMap.vtable[8];
 
130
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_entrySet__] = __TIB_java_util_HashMap.vtable[9];
 
131
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_equals___java_lang_Object] = __TIB_java_util_HashMap.vtable[1];
 
132
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object] = __TIB_java_util_HashMap.vtable[10];
 
133
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_hashCode__] = __TIB_java_util_HashMap.vtable[4];
 
134
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__] = __TIB_java_util_HashMap.vtable[11];
 
135
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_keySet__] = __TIB_java_util_HashMap.vtable[12];
 
136
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_putAll___java_util_Map] = __TIB_java_util_HashMap.vtable[13];
 
137
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object] = __TIB_java_util_HashMap.vtable[14];
 
138
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object] = __TIB_java_util_HashMap.vtable[15];
 
139
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_size__] = __TIB_java_util_HashMap.vtable[16];
 
140
    __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_values__] = __TIB_java_util_HashMap.vtable[17];
 
141
 
 
142
    _STATIC_java_util_HashMap_serialVersionUID = 362498820763181265;
 
143
    _STATIC_java_util_HashMap_DEFAULT_SIZE = 16;
 
144
 
 
145
    __TIB_java_util_HashMap.declaredFields = &__field_reflection_data[0];
 
146
    __TIB_java_util_HashMap.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
 
147
    __TIB_java_util_HashMap.constructorDispatcherFunc = constructor_dispatcher;
 
148
    __TIB_java_util_HashMap.declaredConstructors = &__constructor_reflection_data[0];
 
149
    __TIB_java_util_HashMap.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
 
150
    __TIB_java_util_HashMap.methodDispatcherFunc = method_dispatcher;
 
151
    __TIB_java_util_HashMap.declaredMethods = &__method_reflection_data[0];
 
152
    __TIB_java_util_HashMap.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
 
153
    __CLASS_java_util_HashMap = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_HashMap);
 
154
    __TIB_java_util_HashMap.clazz = __CLASS_java_util_HashMap;
 
155
    __TIB_java_util_HashMap.baseType = JAVA_NULL;
 
156
    __CLASS_java_util_HashMap_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_HashMap);
 
157
    __CLASS_java_util_HashMap_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_HashMap_1ARRAY);
 
158
    __CLASS_java_util_HashMap_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_HashMap_2ARRAY);
 
159
    //XMLVM_BEGIN_WRAPPER[__INIT_java_util_HashMap]
 
160
    //XMLVM_END_WRAPPER
 
161
 
 
162
    __TIB_java_util_HashMap.classInitialized = 1;
 
163
}
 
164
 
 
165
void __DELETE_java_util_HashMap(void* me, void* client_data)
 
166
{
 
167
    //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_HashMap]
 
168
    //XMLVM_END_WRAPPER
 
169
}
 
170
 
 
171
void __INIT_INSTANCE_MEMBERS_java_util_HashMap(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
 
172
{
 
173
    __INIT_INSTANCE_MEMBERS_java_util_AbstractMap(me, 0 || derivedClassWillRegisterFinalizer);
 
174
    ((java_util_HashMap*) me)->fields.java_util_HashMap.elementCount_ = 0;
 
175
    ((java_util_HashMap*) me)->fields.java_util_HashMap.elementData_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
 
176
    ((java_util_HashMap*) me)->fields.java_util_HashMap.modCount_ = 0;
 
177
    ((java_util_HashMap*) me)->fields.java_util_HashMap.loadFactor_ = 0;
 
178
    ((java_util_HashMap*) me)->fields.java_util_HashMap.threshold_ = 0;
 
179
    //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_HashMap]
 
180
    //XMLVM_END_WRAPPER
 
181
}
 
182
 
 
183
JAVA_OBJECT __NEW_java_util_HashMap()
 
184
{    XMLVM_CLASS_INIT(java_util_HashMap)
 
185
java_util_HashMap* me = (java_util_HashMap*) XMLVM_MALLOC(sizeof(java_util_HashMap));
 
186
    me->tib = &__TIB_java_util_HashMap;
 
187
    __INIT_INSTANCE_MEMBERS_java_util_HashMap(me, 0);
 
188
    //XMLVM_BEGIN_WRAPPER[__NEW_java_util_HashMap]
 
189
    //XMLVM_END_WRAPPER
 
190
    return me;
 
191
}
 
192
 
 
193
JAVA_OBJECT __NEW_INSTANCE_java_util_HashMap()
 
194
{
 
195
    JAVA_OBJECT me = JAVA_NULL;
 
196
    me = __NEW_java_util_HashMap();
 
197
    java_util_HashMap___INIT___(me);
 
198
    return me;
 
199
}
 
200
 
 
201
JAVA_LONG java_util_HashMap_GET_serialVersionUID()
 
202
{
 
203
    XMLVM_CLASS_INIT(java_util_HashMap)
 
204
    return _STATIC_java_util_HashMap_serialVersionUID;
 
205
}
 
206
 
 
207
void java_util_HashMap_PUT_serialVersionUID(JAVA_LONG v)
 
208
{
 
209
    XMLVM_CLASS_INIT(java_util_HashMap)
 
210
_STATIC_java_util_HashMap_serialVersionUID = v;
 
211
}
 
212
 
 
213
JAVA_INT java_util_HashMap_GET_DEFAULT_SIZE()
 
214
{
 
215
    XMLVM_CLASS_INIT(java_util_HashMap)
 
216
    return _STATIC_java_util_HashMap_DEFAULT_SIZE;
 
217
}
 
218
 
 
219
void java_util_HashMap_PUT_DEFAULT_SIZE(JAVA_INT v)
 
220
{
 
221
    XMLVM_CLASS_INIT(java_util_HashMap)
 
222
_STATIC_java_util_HashMap_DEFAULT_SIZE = v;
 
223
}
 
224
 
 
225
JAVA_OBJECT java_util_HashMap_newElementArray___int(JAVA_OBJECT me, JAVA_INT n1)
 
226
{
 
227
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_newElementArray___int]
 
228
    XMLVM_ENTER_METHOD("java.util.HashMap", "newElementArray", "?")
 
229
    XMLVMElem _r0;
 
230
    XMLVMElem _r1;
 
231
    XMLVMElem _r2;
 
232
    _r1.o = me;
 
233
    _r2.i = n1;
 
234
    XMLVM_SOURCE_POSITION("HashMap.java", 268)
 
235
    XMLVM_CLASS_INIT(java_util_HashMap_Entry)
 
236
    _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_util_HashMap_Entry, _r2.i);
 
237
    XMLVM_EXIT_METHOD()
 
238
    return _r0.o;
 
239
    //XMLVM_END_WRAPPER
 
240
}
 
241
 
 
242
void java_util_HashMap___INIT___(JAVA_OBJECT me)
 
243
{
 
244
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap___INIT___]
 
245
    XMLVM_ENTER_METHOD("java.util.HashMap", "<init>", "?")
 
246
    XMLVMElem _r0;
 
247
    XMLVMElem _r1;
 
248
    _r1.o = me;
 
249
    XMLVM_SOURCE_POSITION("HashMap.java", 275)
 
250
    _r0.i = 16;
 
251
    XMLVM_CHECK_NPE(1)
 
252
    java_util_HashMap___INIT____int(_r1.o, _r0.i);
 
253
    XMLVM_SOURCE_POSITION("HashMap.java", 276)
 
254
    XMLVM_EXIT_METHOD()
 
255
    return;
 
256
    //XMLVM_END_WRAPPER
 
257
}
 
258
 
 
259
void java_util_HashMap___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
 
260
{
 
261
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap___INIT____int]
 
262
    XMLVM_ENTER_METHOD("java.util.HashMap", "<init>", "?")
 
263
    XMLVMElem _r0;
 
264
    XMLVMElem _r1;
 
265
    XMLVMElem _r2;
 
266
    _r1.o = me;
 
267
    _r2.i = n1;
 
268
    XMLVM_SOURCE_POSITION("HashMap.java", 287)
 
269
    _r0.f = 0.75;
 
270
    XMLVM_CHECK_NPE(1)
 
271
    java_util_HashMap___INIT____int_float(_r1.o, _r2.i, _r0.f);
 
272
    XMLVM_SOURCE_POSITION("HashMap.java", 288)
 
273
    XMLVM_EXIT_METHOD()
 
274
    return;
 
275
    //XMLVM_END_WRAPPER
 
276
}
 
277
 
 
278
JAVA_INT java_util_HashMap_calculateCapacity___int(JAVA_INT n1)
 
279
{
 
280
    XMLVM_CLASS_INIT(java_util_HashMap)
 
281
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_calculateCapacity___int]
 
282
    XMLVM_ENTER_METHOD("java.util.HashMap", "calculateCapacity", "?")
 
283
    XMLVMElem _r0;
 
284
    XMLVMElem _r1;
 
285
    XMLVMElem _r2;
 
286
    _r2.i = n1;
 
287
    _r0.i = 1073741824;
 
288
    XMLVM_SOURCE_POSITION("HashMap.java", 299)
 
289
    if (_r2.i < _r0.i) goto label5;
 
290
    label4:;
 
291
    XMLVM_SOURCE_POSITION("HashMap.java", 311)
 
292
    XMLVM_EXIT_METHOD()
 
293
    return _r0.i;
 
294
    label5:;
 
295
    XMLVM_SOURCE_POSITION("HashMap.java", 302)
 
296
    if (_r2.i != 0) goto label10;
 
297
    XMLVM_SOURCE_POSITION("HashMap.java", 303)
 
298
    _r0.i = 16;
 
299
    goto label4;
 
300
    label10:;
 
301
    XMLVM_SOURCE_POSITION("HashMap.java", 305)
 
302
    _r0.i = _r2.i + -1;
 
303
    _r1.i = _r0.i >> 1;
 
304
    _r0.i = _r0.i | _r1.i;
 
305
    _r1.i = _r0.i >> 2;
 
306
    _r0.i = _r0.i | _r1.i;
 
307
    _r1.i = _r0.i >> 4;
 
308
    _r0.i = _r0.i | _r1.i;
 
309
    _r1.i = _r0.i >> 8;
 
310
    _r0.i = _r0.i | _r1.i;
 
311
    _r1.i = _r0.i >> 16;
 
312
    _r0.i = _r0.i | _r1.i;
 
313
    _r0.i = _r0.i + 1;
 
314
    goto label4;
 
315
    //XMLVM_END_WRAPPER
 
316
}
 
317
 
 
318
void java_util_HashMap___INIT____int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2)
 
319
{
 
320
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap___INIT____int_float]
 
321
    XMLVM_ENTER_METHOD("java.util.HashMap", "<init>", "?")
 
322
    XMLVMElem _r0;
 
323
    XMLVMElem _r1;
 
324
    XMLVMElem _r2;
 
325
    XMLVMElem _r3;
 
326
    XMLVMElem _r4;
 
327
    _r2.o = me;
 
328
    _r3.i = n1;
 
329
    _r4.f = n2;
 
330
    _r1.i = 0;
 
331
    XMLVM_SOURCE_POSITION("HashMap.java", 326)
 
332
    XMLVM_CHECK_NPE(2)
 
333
    java_util_AbstractMap___INIT___(_r2.o);
 
334
    XMLVM_SOURCE_POSITION("HashMap.java", 48)
 
335
    XMLVM_CHECK_NPE(2)
 
336
    ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.modCount_ = _r1.i;
 
337
    XMLVM_SOURCE_POSITION("HashMap.java", 327)
 
338
    if (_r3.i < 0) goto label31;
 
339
    _r0.f = 0.0;
 
340
    _r0.i = _r4.f > _r0.f ? 1 : (_r4.f == _r0.f ? 0 : -1);
 
341
    if (_r0.i <= 0) goto label31;
 
342
    XMLVM_SOURCE_POSITION("HashMap.java", 328)
 
343
    _r0.i = java_util_HashMap_calculateCapacity___int(_r3.i);
 
344
    XMLVM_SOURCE_POSITION("HashMap.java", 329)
 
345
    XMLVM_CHECK_NPE(2)
 
346
    ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementCount_ = _r1.i;
 
347
    XMLVM_SOURCE_POSITION("HashMap.java", 330)
 
348
    XMLVM_CHECK_NPE(2)
 
349
    _r0.o = java_util_HashMap_newElementArray___int(_r2.o, _r0.i);
 
350
    XMLVM_CHECK_NPE(2)
 
351
    ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_ = _r0.o;
 
352
    XMLVM_SOURCE_POSITION("HashMap.java", 331)
 
353
    XMLVM_CHECK_NPE(2)
 
354
    ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.loadFactor_ = _r4.f;
 
355
    XMLVM_SOURCE_POSITION("HashMap.java", 332)
 
356
    XMLVM_CHECK_NPE(2)
 
357
    java_util_HashMap_computeThreshold__(_r2.o);
 
358
    XMLVM_SOURCE_POSITION("HashMap.java", 336)
 
359
    XMLVM_EXIT_METHOD()
 
360
    return;
 
361
    label31:;
 
362
    XMLVM_SOURCE_POSITION("HashMap.java", 334)
 
363
 
 
364
    
 
365
    // Red class access removed: java.lang.IllegalArgumentException::new-instance
 
366
    XMLVM_RED_CLASS_DEPENDENCY();
 
367
 
 
368
    
 
369
    // Red class access removed: java.lang.IllegalArgumentException::<init>
 
370
    XMLVM_RED_CLASS_DEPENDENCY();
 
371
    XMLVM_THROW_CUSTOM(_r0.o)
 
372
    //XMLVM_END_WRAPPER
 
373
}
 
374
 
 
375
void java_util_HashMap___INIT____java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
 
376
{
 
377
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap___INIT____java_util_Map]
 
378
    XMLVM_ENTER_METHOD("java.util.HashMap", "<init>", "?")
 
379
    XMLVMElem _r0;
 
380
    XMLVMElem _r1;
 
381
    XMLVMElem _r2;
 
382
    _r1.o = me;
 
383
    _r2.o = n1;
 
384
    XMLVM_SOURCE_POSITION("HashMap.java", 346)
 
385
    XMLVM_CHECK_NPE(2)
 
386
    _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r2.o);
 
387
    _r0.i = java_util_HashMap_calculateCapacity___int(_r0.i);
 
388
    XMLVM_CHECK_NPE(1)
 
389
    java_util_HashMap___INIT____int(_r1.o, _r0.i);
 
390
    XMLVM_SOURCE_POSITION("HashMap.java", 347)
 
391
    XMLVM_CHECK_NPE(1)
 
392
    java_util_HashMap_putAllImpl___java_util_Map(_r1.o, _r2.o);
 
393
    XMLVM_SOURCE_POSITION("HashMap.java", 348)
 
394
    XMLVM_EXIT_METHOD()
 
395
    return;
 
396
    //XMLVM_END_WRAPPER
 
397
}
 
398
 
 
399
void java_util_HashMap_clear__(JAVA_OBJECT me)
 
400
{
 
401
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_clear__]
 
402
    XMLVM_ENTER_METHOD("java.util.HashMap", "clear", "?")
 
403
    XMLVMElem _r0;
 
404
    XMLVMElem _r1;
 
405
    XMLVMElem _r2;
 
406
    _r2.o = me;
 
407
    XMLVM_SOURCE_POSITION("HashMap.java", 358)
 
408
    XMLVM_CHECK_NPE(2)
 
409
    _r0.i = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementCount_;
 
410
    if (_r0.i <= 0) goto label19;
 
411
    XMLVM_SOURCE_POSITION("HashMap.java", 359)
 
412
    _r0.i = 0;
 
413
    XMLVM_CHECK_NPE(2)
 
414
    ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementCount_ = _r0.i;
 
415
    XMLVM_SOURCE_POSITION("HashMap.java", 360)
 
416
    XMLVM_CHECK_NPE(2)
 
417
    _r0.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
 
418
    _r1.o = JAVA_NULL;
 
419
 
 
420
    
 
421
    // Red class access removed: java.util.Arrays::fill
 
422
    XMLVM_RED_CLASS_DEPENDENCY();
 
423
    XMLVM_SOURCE_POSITION("HashMap.java", 361)
 
424
    XMLVM_CHECK_NPE(2)
 
425
    _r0.i = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.modCount_;
 
426
    _r0.i = _r0.i + 1;
 
427
    XMLVM_CHECK_NPE(2)
 
428
    ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.modCount_ = _r0.i;
 
429
    label19:;
 
430
    XMLVM_SOURCE_POSITION("HashMap.java", 363)
 
431
    XMLVM_EXIT_METHOD()
 
432
    return;
 
433
    //XMLVM_END_WRAPPER
 
434
}
 
435
 
 
436
JAVA_OBJECT java_util_HashMap_clone__(JAVA_OBJECT me)
 
437
{
 
438
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_clone__]
 
439
    XMLVM_ENTER_METHOD("java.util.HashMap", "clone", "?")
 
440
    volatile XMLVMElem _r0;
 
441
    volatile XMLVMElem _r1;
 
442
    volatile XMLVMElem _r2;
 
443
    _r2.o = me;
 
444
    XMLVM_TRY_BEGIN(w2219aaac14b1b2)
 
445
    // Begin try
 
446
    XMLVM_SOURCE_POSITION("HashMap.java", 374)
 
447
    XMLVM_CHECK_NPE(2)
 
448
    _r0.o = java_util_AbstractMap_clone__(_r2.o);
 
449
    _r0.o = _r0.o;
 
450
    XMLVM_SOURCE_POSITION("HashMap.java", 375)
 
451
    _r1.i = 0;
 
452
    XMLVM_CHECK_NPE(0)
 
453
    ((java_util_HashMap*) _r0.o)->fields.java_util_HashMap.elementCount_ = _r1.i;
 
454
    XMLVM_SOURCE_POSITION("HashMap.java", 376)
 
455
    XMLVM_CHECK_NPE(2)
 
456
    _r1.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
 
457
    _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
 
458
    XMLVM_CHECK_NPE(2)
 
459
    _r1.o = java_util_HashMap_newElementArray___int(_r2.o, _r1.i);
 
460
    XMLVM_CHECK_NPE(0)
 
461
    ((java_util_HashMap*) _r0.o)->fields.java_util_HashMap.elementData_ = _r1.o;
 
462
    XMLVM_SOURCE_POSITION("HashMap.java", 377)
 
463
    //java_util_HashMap_putAll___java_util_Map[13]
 
464
    XMLVM_CHECK_NPE(0)
 
465
    (*(void (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[13])(_r0.o, _r2.o);
 
466
    // End try
 
467
    XMLVM_TRY_END
 
468
    XMLVM_CATCH_BEGIN(w2219aaac14b1b2)
 
469
    XMLVM_CATCH_END(w2219aaac14b1b2)
 
470
    XMLVM_RESTORE_EXCEPTION_ENV(w2219aaac14b1b2)
 
471
    label21:;
 
472
    XMLVM_SOURCE_POSITION("HashMap.java", 381)
 
473
    XMLVM_EXIT_METHOD()
 
474
    return _r0.o;
 
475
    label22:;
 
476
    java_lang_Thread* curThread_w2219aaac14b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__();
 
477
    _r0.o = curThread_w2219aaac14b1b7->fields.java_lang_Thread.xmlvmException_;
 
478
    _r0.o = JAVA_NULL;
 
479
    goto label21;
 
480
    //XMLVM_END_WRAPPER
 
481
}
 
482
 
 
483
void java_util_HashMap_computeThreshold__(JAVA_OBJECT me)
 
484
{
 
485
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_computeThreshold__]
 
486
    XMLVM_ENTER_METHOD("java.util.HashMap", "computeThreshold", "?")
 
487
    XMLVMElem _r0;
 
488
    XMLVMElem _r1;
 
489
    XMLVMElem _r2;
 
490
    _r2.o = me;
 
491
    XMLVM_SOURCE_POSITION("HashMap.java", 389)
 
492
    XMLVM_CHECK_NPE(2)
 
493
    _r0.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
 
494
    _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
 
495
    _r0.f = (JAVA_FLOAT) _r0.i;
 
496
    XMLVM_CHECK_NPE(2)
 
497
    _r1.f = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.loadFactor_;
 
498
    _r0.f = _r0.f * _r1.f;
 
499
    _r0.i = (JAVA_INT) _r0.f;
 
500
    XMLVM_CHECK_NPE(2)
 
501
    ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.threshold_ = _r0.i;
 
502
    XMLVM_SOURCE_POSITION("HashMap.java", 390)
 
503
    XMLVM_EXIT_METHOD()
 
504
    return;
 
505
    //XMLVM_END_WRAPPER
 
506
}
 
507
 
 
508
JAVA_BOOLEAN java_util_HashMap_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
 
509
{
 
510
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_containsKey___java_lang_Object]
 
511
    XMLVM_ENTER_METHOD("java.util.HashMap", "containsKey", "?")
 
512
    XMLVMElem _r0;
 
513
    XMLVMElem _r1;
 
514
    XMLVMElem _r2;
 
515
    _r1.o = me;
 
516
    _r2.o = n1;
 
517
    XMLVM_SOURCE_POSITION("HashMap.java", 402)
 
518
    XMLVM_CHECK_NPE(1)
 
519
    _r0.o = java_util_HashMap_getEntry___java_lang_Object(_r1.o, _r2.o);
 
520
    XMLVM_SOURCE_POSITION("HashMap.java", 403)
 
521
    if (_r0.o == JAVA_NULL) goto label8;
 
522
    _r0.i = 1;
 
523
    label7:;
 
524
    XMLVM_EXIT_METHOD()
 
525
    return _r0.i;
 
526
    label8:;
 
527
    _r0.i = 0;
 
528
    goto label7;
 
529
    //XMLVM_END_WRAPPER
 
530
}
 
531
 
 
532
JAVA_BOOLEAN java_util_HashMap_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
 
533
{
 
534
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_containsValue___java_lang_Object]
 
535
    XMLVM_ENTER_METHOD("java.util.HashMap", "containsValue", "?")
 
536
    XMLVMElem _r0;
 
537
    XMLVMElem _r1;
 
538
    XMLVMElem _r2;
 
539
    XMLVMElem _r3;
 
540
    XMLVMElem _r4;
 
541
    XMLVMElem _r5;
 
542
    XMLVMElem _r6;
 
543
    _r5.o = me;
 
544
    _r6.o = n1;
 
545
    _r4.i = 1;
 
546
    _r3.i = 0;
 
547
    XMLVM_SOURCE_POSITION("HashMap.java", 416)
 
548
    if (_r6.o == JAVA_NULL) goto label34;
 
549
    _r0 = _r3;
 
550
    label5:;
 
551
    XMLVM_SOURCE_POSITION("HashMap.java", 417)
 
552
    XMLVM_CHECK_NPE(5)
 
553
    _r1.o = ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementData_;
 
554
    _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
 
555
    if (_r0.i < _r1.i) goto label12;
 
556
    label10:;
 
557
    _r0 = _r3;
 
558
    label11:;
 
559
    XMLVM_SOURCE_POSITION("HashMap.java", 437)
 
560
    XMLVM_EXIT_METHOD()
 
561
    return _r0.i;
 
562
    label12:;
 
563
    XMLVM_SOURCE_POSITION("HashMap.java", 418)
 
564
    XMLVM_CHECK_NPE(5)
 
565
    _r1.o = ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementData_;
 
566
    XMLVM_CHECK_NPE(1)
 
567
    XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
 
568
    _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
 
569
    label16:;
 
570
    XMLVM_SOURCE_POSITION("HashMap.java", 419)
 
571
    if (_r1.o != JAVA_NULL) goto label21;
 
572
    _r0.i = _r0.i + 1;
 
573
    goto label5;
 
574
    label21:;
 
575
    XMLVM_SOURCE_POSITION("HashMap.java", 420)
 
576
    XMLVM_CHECK_NPE(1)
 
577
    _r2.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_;
 
578
    _r2.i = java_util_HashMap_areEqualValues___java_lang_Object_java_lang_Object(_r6.o, _r2.o);
 
579
    if (_r2.i == 0) goto label31;
 
580
    _r0 = _r4;
 
581
    XMLVM_SOURCE_POSITION("HashMap.java", 421)
 
582
    goto label11;
 
583
    label31:;
 
584
    XMLVM_SOURCE_POSITION("HashMap.java", 423)
 
585
    XMLVM_CHECK_NPE(1)
 
586
    _r1.o = ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.next_;
 
587
    goto label16;
 
588
    label34:;
 
589
    _r0 = _r3;
 
590
    label35:;
 
591
    XMLVM_SOURCE_POSITION("HashMap.java", 427)
 
592
    XMLVM_CHECK_NPE(5)
 
593
    _r1.o = ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementData_;
 
594
    _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
 
595
    if (_r0.i >= _r1.i) goto label10;
 
596
    XMLVM_SOURCE_POSITION("HashMap.java", 428)
 
597
    XMLVM_CHECK_NPE(5)
 
598
    _r1.o = ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementData_;
 
599
    XMLVM_CHECK_NPE(1)
 
600
    XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
 
601
    _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
 
602
    label44:;
 
603
    XMLVM_SOURCE_POSITION("HashMap.java", 429)
 
604
    if (_r1.o != JAVA_NULL) goto label49;
 
605
    _r0.i = _r0.i + 1;
 
606
    goto label35;
 
607
    label49:;
 
608
    XMLVM_SOURCE_POSITION("HashMap.java", 430)
 
609
    XMLVM_CHECK_NPE(1)
 
610
    _r2.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_;
 
611
    if (_r2.o != JAVA_NULL) goto label55;
 
612
    _r0 = _r4;
 
613
    XMLVM_SOURCE_POSITION("HashMap.java", 431)
 
614
    goto label11;
 
615
    label55:;
 
616
    XMLVM_SOURCE_POSITION("HashMap.java", 433)
 
617
    XMLVM_CHECK_NPE(1)
 
618
    _r1.o = ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.next_;
 
619
    goto label44;
 
620
    //XMLVM_END_WRAPPER
 
621
}
 
622
 
 
623
JAVA_OBJECT java_util_HashMap_entrySet__(JAVA_OBJECT me)
 
624
{
 
625
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_entrySet__]
 
626
    XMLVM_ENTER_METHOD("java.util.HashMap", "entrySet", "?")
 
627
    XMLVMElem _r0;
 
628
    XMLVMElem _r1;
 
629
    _r1.o = me;
 
630
    XMLVM_SOURCE_POSITION("HashMap.java", 449)
 
631
 
 
632
    
 
633
    // Red class access removed: java.util.HashMap$HashMapEntrySet::new-instance
 
634
    XMLVM_RED_CLASS_DEPENDENCY();
 
635
 
 
636
    
 
637
    // Red class access removed: java.util.HashMap$HashMapEntrySet::<init>
 
638
    XMLVM_RED_CLASS_DEPENDENCY();
 
639
    XMLVM_EXIT_METHOD()
 
640
    return _r0.o;
 
641
    //XMLVM_END_WRAPPER
 
642
}
 
643
 
 
644
JAVA_OBJECT java_util_HashMap_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
 
645
{
 
646
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_get___java_lang_Object]
 
647
    XMLVM_ENTER_METHOD("java.util.HashMap", "get", "?")
 
648
    XMLVMElem _r0;
 
649
    XMLVMElem _r1;
 
650
    XMLVMElem _r2;
 
651
    _r1.o = me;
 
652
    _r2.o = n1;
 
653
    XMLVM_SOURCE_POSITION("HashMap.java", 462)
 
654
    XMLVM_CHECK_NPE(1)
 
655
    _r0.o = java_util_HashMap_getEntry___java_lang_Object(_r1.o, _r2.o);
 
656
    XMLVM_SOURCE_POSITION("HashMap.java", 463)
 
657
    if (_r0.o == JAVA_NULL) goto label9;
 
658
    XMLVM_SOURCE_POSITION("HashMap.java", 464)
 
659
    XMLVM_CHECK_NPE(0)
 
660
    _r0.o = ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.value_;
 
661
    label8:;
 
662
    XMLVM_SOURCE_POSITION("HashMap.java", 466)
 
663
    XMLVM_EXIT_METHOD()
 
664
    return _r0.o;
 
665
    label9:;
 
666
    _r0.o = JAVA_NULL;
 
667
    goto label8;
 
668
    //XMLVM_END_WRAPPER
 
669
}
 
670
 
 
671
JAVA_OBJECT java_util_HashMap_getEntry___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
 
672
{
 
673
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_getEntry___java_lang_Object]
 
674
    XMLVM_ENTER_METHOD("java.util.HashMap", "getEntry", "?")
 
675
    XMLVMElem _r0;
 
676
    XMLVMElem _r1;
 
677
    XMLVMElem _r2;
 
678
    XMLVMElem _r3;
 
679
    XMLVMElem _r4;
 
680
    _r3.o = me;
 
681
    _r4.o = n1;
 
682
    XMLVM_SOURCE_POSITION("HashMap.java", 471)
 
683
    if (_r4.o != JAVA_NULL) goto label7;
 
684
    XMLVM_SOURCE_POSITION("HashMap.java", 472)
 
685
    XMLVM_CHECK_NPE(3)
 
686
    _r0.o = java_util_HashMap_findNullKeyEntry__(_r3.o);
 
687
    label6:;
 
688
    XMLVM_SOURCE_POSITION("HashMap.java", 478)
 
689
    XMLVM_EXIT_METHOD()
 
690
    return _r0.o;
 
691
    label7:;
 
692
    XMLVM_SOURCE_POSITION("HashMap.java", 474)
 
693
    _r0.i = java_util_HashMap_computeHashCode___java_lang_Object(_r4.o);
 
694
    XMLVM_SOURCE_POSITION("HashMap.java", 475)
 
695
    XMLVM_CHECK_NPE(3)
 
696
    _r1.o = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementData_;
 
697
    _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
 
698
    _r2.i = 1;
 
699
    _r1.i = _r1.i - _r2.i;
 
700
    _r1.i = _r1.i & _r0.i;
 
701
    XMLVM_SOURCE_POSITION("HashMap.java", 476)
 
702
    XMLVM_CHECK_NPE(3)
 
703
    _r0.o = java_util_HashMap_findNonNullKeyEntry___java_lang_Object_int_int(_r3.o, _r4.o, _r1.i, _r0.i);
 
704
    goto label6;
 
705
    //XMLVM_END_WRAPPER
 
706
}
 
707
 
 
708
JAVA_OBJECT java_util_HashMap_findNonNullKeyEntry___java_lang_Object_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
 
709
{
 
710
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_findNonNullKeyEntry___java_lang_Object_int_int]
 
711
    XMLVM_ENTER_METHOD("java.util.HashMap", "findNonNullKeyEntry", "?")
 
712
    XMLVMElem _r0;
 
713
    XMLVMElem _r1;
 
714
    XMLVMElem _r2;
 
715
    XMLVMElem _r3;
 
716
    XMLVMElem _r4;
 
717
    XMLVMElem _r5;
 
718
    _r2.o = me;
 
719
    _r3.o = n1;
 
720
    _r4.i = n2;
 
721
    _r5.i = n3;
 
722
    XMLVM_SOURCE_POSITION("HashMap.java", 482)
 
723
    XMLVM_CHECK_NPE(2)
 
724
    _r0.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
 
725
    XMLVM_CHECK_NPE(0)
 
726
    XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r4.i);
 
727
    _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
 
728
    label4:;
 
729
    XMLVM_SOURCE_POSITION("HashMap.java", 483)
 
730
    if (_r0.o == JAVA_NULL) goto label18;
 
731
    XMLVM_SOURCE_POSITION("HashMap.java", 484)
 
732
    XMLVM_CHECK_NPE(0)
 
733
    _r1.i = ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.origKeyHash_;
 
734
    if (_r1.i != _r5.i) goto label19;
 
735
    XMLVM_CHECK_NPE(0)
 
736
    _r1.o = ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.key_;
 
737
    _r1.i = java_util_HashMap_areEqualKeys___java_lang_Object_java_lang_Object(_r3.o, _r1.o);
 
738
    if (_r1.i == 0) goto label19;
 
739
    label18:;
 
740
    XMLVM_SOURCE_POSITION("HashMap.java", 487)
 
741
    XMLVM_EXIT_METHOD()
 
742
    return _r0.o;
 
743
    label19:;
 
744
    XMLVM_SOURCE_POSITION("HashMap.java", 485)
 
745
    XMLVM_CHECK_NPE(0)
 
746
    _r0.o = ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_;
 
747
    goto label4;
 
748
    //XMLVM_END_WRAPPER
 
749
}
 
750
 
 
751
JAVA_OBJECT java_util_HashMap_findNullKeyEntry__(JAVA_OBJECT me)
 
752
{
 
753
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_findNullKeyEntry__]
 
754
    XMLVM_ENTER_METHOD("java.util.HashMap", "findNullKeyEntry", "?")
 
755
    XMLVMElem _r0;
 
756
    XMLVMElem _r1;
 
757
    XMLVMElem _r2;
 
758
    _r2.o = me;
 
759
    XMLVM_SOURCE_POSITION("HashMap.java", 491)
 
760
    XMLVM_CHECK_NPE(2)
 
761
    _r0.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
 
762
    _r1.i = 0;
 
763
    XMLVM_CHECK_NPE(0)
 
764
    XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
 
765
    _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
 
766
    label5:;
 
767
    XMLVM_SOURCE_POSITION("HashMap.java", 492)
 
768
    if (_r0.o == JAVA_NULL) goto label11;
 
769
    XMLVM_CHECK_NPE(0)
 
770
    _r1.o = ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.key_;
 
771
    if (_r1.o != JAVA_NULL) goto label12;
 
772
    label11:;
 
773
    XMLVM_SOURCE_POSITION("HashMap.java", 494)
 
774
    XMLVM_EXIT_METHOD()
 
775
    return _r0.o;
 
776
    label12:;
 
777
    XMLVM_SOURCE_POSITION("HashMap.java", 493)
 
778
    XMLVM_CHECK_NPE(0)
 
779
    _r0.o = ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_;
 
780
    goto label5;
 
781
    //XMLVM_END_WRAPPER
 
782
}
 
783
 
 
784
JAVA_BOOLEAN java_util_HashMap_isEmpty__(JAVA_OBJECT me)
 
785
{
 
786
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_isEmpty__]
 
787
    XMLVM_ENTER_METHOD("java.util.HashMap", "isEmpty", "?")
 
788
    XMLVMElem _r0;
 
789
    XMLVMElem _r1;
 
790
    _r1.o = me;
 
791
    XMLVM_SOURCE_POSITION("HashMap.java", 506)
 
792
    XMLVM_CHECK_NPE(1)
 
793
    _r0.i = ((java_util_HashMap*) _r1.o)->fields.java_util_HashMap.elementCount_;
 
794
    if (_r0.i != 0) goto label6;
 
795
    _r0.i = 1;
 
796
    label5:;
 
797
    XMLVM_EXIT_METHOD()
 
798
    return _r0.i;
 
799
    label6:;
 
800
    _r0.i = 0;
 
801
    goto label5;
 
802
    //XMLVM_END_WRAPPER
 
803
}
 
804
 
 
805
JAVA_OBJECT java_util_HashMap_keySet__(JAVA_OBJECT me)
 
806
{
 
807
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_keySet__]
 
808
    XMLVM_ENTER_METHOD("java.util.HashMap", "keySet", "?")
 
809
    XMLVMElem _r0;
 
810
    XMLVMElem _r1;
 
811
    _r1.o = me;
 
812
    XMLVM_SOURCE_POSITION("HashMap.java", 518)
 
813
    XMLVM_CHECK_NPE(1)
 
814
    _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_;
 
815
    if (_r0.o != JAVA_NULL) goto label11;
 
816
    XMLVM_SOURCE_POSITION("HashMap.java", 519)
 
817
 
 
818
    
 
819
    // Red class access removed: java.util.HashMap$1::new-instance
 
820
    XMLVM_RED_CLASS_DEPENDENCY();
 
821
 
 
822
    
 
823
    // Red class access removed: java.util.HashMap$1::<init>
 
824
    XMLVM_RED_CLASS_DEPENDENCY();
 
825
    XMLVM_CHECK_NPE(1)
 
826
    ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_ = _r0.o;
 
827
    label11:;
 
828
    XMLVM_SOURCE_POSITION("HashMap.java", 547)
 
829
    XMLVM_CHECK_NPE(1)
 
830
    _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_;
 
831
    XMLVM_EXIT_METHOD()
 
832
    return _r0.o;
 
833
    //XMLVM_END_WRAPPER
 
834
}
 
835
 
 
836
JAVA_OBJECT java_util_HashMap_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
 
837
{
 
838
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_put___java_lang_Object_java_lang_Object]
 
839
    XMLVM_ENTER_METHOD("java.util.HashMap", "put", "?")
 
840
    XMLVMElem _r0;
 
841
    XMLVMElem _r1;
 
842
    XMLVMElem _r2;
 
843
    XMLVMElem _r3;
 
844
    _r1.o = me;
 
845
    _r2.o = n1;
 
846
    _r3.o = n2;
 
847
    XMLVM_SOURCE_POSITION("HashMap.java", 562)
 
848
    XMLVM_CHECK_NPE(1)
 
849
    _r0.o = java_util_HashMap_putImpl___java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
 
850
    XMLVM_EXIT_METHOD()
 
851
    return _r0.o;
 
852
    //XMLVM_END_WRAPPER
 
853
}
 
854
 
 
855
JAVA_OBJECT java_util_HashMap_putImpl___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
 
856
{
 
857
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_putImpl___java_lang_Object_java_lang_Object]
 
858
    XMLVM_ENTER_METHOD("java.util.HashMap", "putImpl", "?")
 
859
    XMLVMElem _r0;
 
860
    XMLVMElem _r1;
 
861
    XMLVMElem _r2;
 
862
    XMLVMElem _r3;
 
863
    XMLVMElem _r4;
 
864
    XMLVMElem _r5;
 
865
    _r3.o = me;
 
866
    _r4.o = n1;
 
867
    _r5.o = n2;
 
868
    _r1.i = 0;
 
869
    XMLVM_SOURCE_POSITION("HashMap.java", 567)
 
870
    if (_r4.o != JAVA_NULL) goto label38;
 
871
    XMLVM_SOURCE_POSITION("HashMap.java", 568)
 
872
    XMLVM_CHECK_NPE(3)
 
873
    _r0.o = java_util_HashMap_findNullKeyEntry__(_r3.o);
 
874
    XMLVM_SOURCE_POSITION("HashMap.java", 569)
 
875
    if (_r0.o != JAVA_NULL) goto label33;
 
876
    XMLVM_SOURCE_POSITION("HashMap.java", 570)
 
877
    XMLVM_CHECK_NPE(3)
 
878
    _r0.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.modCount_;
 
879
    _r0.i = _r0.i + 1;
 
880
    XMLVM_CHECK_NPE(3)
 
881
    ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.modCount_ = _r0.i;
 
882
    XMLVM_SOURCE_POSITION("HashMap.java", 571)
 
883
    _r0.o = JAVA_NULL;
 
884
    XMLVM_CHECK_NPE(3)
 
885
    _r0.o = java_util_HashMap_createHashedEntry___java_lang_Object_int_int(_r3.o, _r0.o, _r1.i, _r1.i);
 
886
    XMLVM_SOURCE_POSITION("HashMap.java", 572)
 
887
    XMLVM_CHECK_NPE(3)
 
888
    _r1.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementCount_;
 
889
    _r1.i = _r1.i + 1;
 
890
    XMLVM_CHECK_NPE(3)
 
891
    ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementCount_ = _r1.i;
 
892
    XMLVM_CHECK_NPE(3)
 
893
    _r2.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.threshold_;
 
894
    if (_r1.i <= _r2.i) goto label33;
 
895
    XMLVM_SOURCE_POSITION("HashMap.java", 573)
 
896
    XMLVM_CHECK_NPE(3)
 
897
    java_util_HashMap_rehash__(_r3.o);
 
898
    label33:;
 
899
    XMLVM_SOURCE_POSITION("HashMap.java", 589)
 
900
    XMLVM_CHECK_NPE(0)
 
901
    _r1.o = ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.value_;
 
902
    XMLVM_SOURCE_POSITION("HashMap.java", 590)
 
903
    XMLVM_CHECK_NPE(0)
 
904
    ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.value_ = _r5.o;
 
905
    XMLVM_SOURCE_POSITION("HashMap.java", 591)
 
906
    XMLVM_EXIT_METHOD()
 
907
    return _r1.o;
 
908
    label38:;
 
909
    XMLVM_SOURCE_POSITION("HashMap.java", 577)
 
910
    _r0.i = java_util_HashMap_computeHashCode___java_lang_Object(_r4.o);
 
911
    XMLVM_SOURCE_POSITION("HashMap.java", 578)
 
912
    XMLVM_CHECK_NPE(3)
 
913
    _r1.o = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementData_;
 
914
    _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
 
915
    _r2.i = 1;
 
916
    _r1.i = _r1.i - _r2.i;
 
917
    _r1.i = _r1.i & _r0.i;
 
918
    XMLVM_SOURCE_POSITION("HashMap.java", 579)
 
919
    XMLVM_CHECK_NPE(3)
 
920
    _r2.o = java_util_HashMap_findNonNullKeyEntry___java_lang_Object_int_int(_r3.o, _r4.o, _r1.i, _r0.i);
 
921
    XMLVM_SOURCE_POSITION("HashMap.java", 580)
 
922
    if (_r2.o != JAVA_NULL) goto label78;
 
923
    XMLVM_SOURCE_POSITION("HashMap.java", 581)
 
924
    XMLVM_CHECK_NPE(3)
 
925
    _r2.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.modCount_;
 
926
    _r2.i = _r2.i + 1;
 
927
    XMLVM_CHECK_NPE(3)
 
928
    ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.modCount_ = _r2.i;
 
929
    XMLVM_SOURCE_POSITION("HashMap.java", 582)
 
930
    XMLVM_CHECK_NPE(3)
 
931
    _r0.o = java_util_HashMap_createHashedEntry___java_lang_Object_int_int(_r3.o, _r4.o, _r1.i, _r0.i);
 
932
    XMLVM_SOURCE_POSITION("HashMap.java", 583)
 
933
    XMLVM_CHECK_NPE(3)
 
934
    _r1.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementCount_;
 
935
    _r1.i = _r1.i + 1;
 
936
    XMLVM_CHECK_NPE(3)
 
937
    ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementCount_ = _r1.i;
 
938
    XMLVM_CHECK_NPE(3)
 
939
    _r2.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.threshold_;
 
940
    if (_r1.i <= _r2.i) goto label33;
 
941
    XMLVM_SOURCE_POSITION("HashMap.java", 584)
 
942
    XMLVM_CHECK_NPE(3)
 
943
    java_util_HashMap_rehash__(_r3.o);
 
944
    goto label33;
 
945
    label78:;
 
946
    _r0 = _r2;
 
947
    goto label33;
 
948
    //XMLVM_END_WRAPPER
 
949
}
 
950
 
 
951
JAVA_OBJECT java_util_HashMap_createEntry___java_lang_Object_int_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3)
 
952
{
 
953
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_createEntry___java_lang_Object_int_java_lang_Object]
 
954
    XMLVM_ENTER_METHOD("java.util.HashMap", "createEntry", "?")
 
955
    XMLVMElem _r0;
 
956
    XMLVMElem _r1;
 
957
    XMLVMElem _r2;
 
958
    XMLVMElem _r3;
 
959
    XMLVMElem _r4;
 
960
    XMLVMElem _r5;
 
961
    _r2.o = me;
 
962
    _r3.o = n1;
 
963
    _r4.i = n2;
 
964
    _r5.o = n3;
 
965
    XMLVM_SOURCE_POSITION("HashMap.java", 595)
 
966
    _r0.o = __NEW_java_util_HashMap_Entry();
 
967
    XMLVM_CHECK_NPE(0)
 
968
    java_util_HashMap_Entry___INIT____java_lang_Object_java_lang_Object(_r0.o, _r3.o, _r5.o);
 
969
    XMLVM_SOURCE_POSITION("HashMap.java", 596)
 
970
    XMLVM_CHECK_NPE(2)
 
971
    _r1.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
 
972
    XMLVM_CHECK_NPE(1)
 
973
    XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
 
974
    _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
 
975
    XMLVM_CHECK_NPE(0)
 
976
    ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_ = _r1.o;
 
977
    XMLVM_SOURCE_POSITION("HashMap.java", 597)
 
978
    XMLVM_CHECK_NPE(2)
 
979
    _r1.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
 
980
    XMLVM_CHECK_NPE(1)
 
981
    XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
 
982
    ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r0.o;
 
983
    XMLVM_SOURCE_POSITION("HashMap.java", 598)
 
984
    XMLVM_EXIT_METHOD()
 
985
    return _r0.o;
 
986
    //XMLVM_END_WRAPPER
 
987
}
 
988
 
 
989
JAVA_OBJECT java_util_HashMap_createHashedEntry___java_lang_Object_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
 
990
{
 
991
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_createHashedEntry___java_lang_Object_int_int]
 
992
    XMLVM_ENTER_METHOD("java.util.HashMap", "createHashedEntry", "?")
 
993
    XMLVMElem _r0;
 
994
    XMLVMElem _r1;
 
995
    XMLVMElem _r2;
 
996
    XMLVMElem _r3;
 
997
    XMLVMElem _r4;
 
998
    XMLVMElem _r5;
 
999
    _r2.o = me;
 
1000
    _r3.o = n1;
 
1001
    _r4.i = n2;
 
1002
    _r5.i = n3;
 
1003
    XMLVM_SOURCE_POSITION("HashMap.java", 602)
 
1004
    _r0.o = __NEW_java_util_HashMap_Entry();
 
1005
    XMLVM_CHECK_NPE(0)
 
1006
    java_util_HashMap_Entry___INIT____java_lang_Object_int(_r0.o, _r3.o, _r5.i);
 
1007
    XMLVM_SOURCE_POSITION("HashMap.java", 603)
 
1008
    XMLVM_CHECK_NPE(2)
 
1009
    _r1.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
 
1010
    XMLVM_CHECK_NPE(1)
 
1011
    XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
 
1012
    _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
 
1013
    XMLVM_CHECK_NPE(0)
 
1014
    ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_ = _r1.o;
 
1015
    XMLVM_SOURCE_POSITION("HashMap.java", 604)
 
1016
    XMLVM_CHECK_NPE(2)
 
1017
    _r1.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
 
1018
    XMLVM_CHECK_NPE(1)
 
1019
    XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
 
1020
    ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r0.o;
 
1021
    XMLVM_SOURCE_POSITION("HashMap.java", 605)
 
1022
    XMLVM_EXIT_METHOD()
 
1023
    return _r0.o;
 
1024
    //XMLVM_END_WRAPPER
 
1025
}
 
1026
 
 
1027
void java_util_HashMap_putAll___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
 
1028
{
 
1029
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_putAll___java_util_Map]
 
1030
    XMLVM_ENTER_METHOD("java.util.HashMap", "putAll", "?")
 
1031
    XMLVMElem _r0;
 
1032
    XMLVMElem _r1;
 
1033
    XMLVMElem _r2;
 
1034
    _r1.o = me;
 
1035
    _r2.o = n1;
 
1036
    XMLVM_SOURCE_POSITION("HashMap.java", 620)
 
1037
    XMLVM_CHECK_NPE(2)
 
1038
    _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__])(_r2.o);
 
1039
    if (_r0.i != 0) goto label9;
 
1040
    XMLVM_SOURCE_POSITION("HashMap.java", 621)
 
1041
    XMLVM_CHECK_NPE(1)
 
1042
    java_util_HashMap_putAllImpl___java_util_Map(_r1.o, _r2.o);
 
1043
    label9:;
 
1044
    XMLVM_SOURCE_POSITION("HashMap.java", 623)
 
1045
    XMLVM_EXIT_METHOD()
 
1046
    return;
 
1047
    //XMLVM_END_WRAPPER
 
1048
}
 
1049
 
 
1050
void java_util_HashMap_putAllImpl___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
 
1051
{
 
1052
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_putAllImpl___java_util_Map]
 
1053
    XMLVM_ENTER_METHOD("java.util.HashMap", "putAllImpl", "?")
 
1054
    XMLVMElem _r0;
 
1055
    XMLVMElem _r1;
 
1056
    XMLVMElem _r2;
 
1057
    XMLVMElem _r3;
 
1058
    XMLVMElem _r4;
 
1059
    _r3.o = me;
 
1060
    _r4.o = n1;
 
1061
    XMLVM_SOURCE_POSITION("HashMap.java", 626)
 
1062
    XMLVM_CHECK_NPE(3)
 
1063
    _r0.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementCount_;
 
1064
    XMLVM_CHECK_NPE(4)
 
1065
    _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r4.o);
 
1066
    _r0.i = _r0.i + _r1.i;
 
1067
    XMLVM_SOURCE_POSITION("HashMap.java", 627)
 
1068
    XMLVM_CHECK_NPE(3)
 
1069
    _r1.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.threshold_;
 
1070
    if (_r0.i <= _r1.i) goto label14;
 
1071
    XMLVM_SOURCE_POSITION("HashMap.java", 628)
 
1072
    XMLVM_CHECK_NPE(3)
 
1073
    java_util_HashMap_rehash___int(_r3.o, _r0.i);
 
1074
    label14:;
 
1075
    XMLVM_SOURCE_POSITION("HashMap.java", 630)
 
1076
    XMLVM_CHECK_NPE(4)
 
1077
    _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_entrySet__])(_r4.o);
 
1078
    XMLVM_CHECK_NPE(0)
 
1079
    _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
 
1080
    label22:;
 
1081
    XMLVM_CHECK_NPE(1)
 
1082
    _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
 
1083
    if (_r0.i != 0) goto label29;
 
1084
    XMLVM_SOURCE_POSITION("HashMap.java", 633)
 
1085
    XMLVM_EXIT_METHOD()
 
1086
    return;
 
1087
    label29:;
 
1088
    XMLVM_CHECK_NPE(1)
 
1089
    _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
 
1090
    _r0.o = _r0.o;
 
1091
    XMLVM_SOURCE_POSITION("HashMap.java", 631)
 
1092
    XMLVM_CHECK_NPE(0)
 
1093
    _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r0.o);
 
1094
    XMLVM_CHECK_NPE(0)
 
1095
    _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r0.o);
 
1096
    XMLVM_CHECK_NPE(3)
 
1097
    java_util_HashMap_putImpl___java_lang_Object_java_lang_Object(_r3.o, _r2.o, _r0.o);
 
1098
    goto label22;
 
1099
    //XMLVM_END_WRAPPER
 
1100
}
 
1101
 
 
1102
void java_util_HashMap_rehash___int(JAVA_OBJECT me, JAVA_INT n1)
 
1103
{
 
1104
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_rehash___int]
 
1105
    XMLVM_ENTER_METHOD("java.util.HashMap", "rehash", "?")
 
1106
    XMLVMElem _r0;
 
1107
    XMLVMElem _r1;
 
1108
    XMLVMElem _r2;
 
1109
    XMLVMElem _r3;
 
1110
    XMLVMElem _r4;
 
1111
    XMLVMElem _r5;
 
1112
    XMLVMElem _r6;
 
1113
    XMLVMElem _r7;
 
1114
    XMLVMElem _r8;
 
1115
    XMLVMElem _r9;
 
1116
    _r8.o = me;
 
1117
    _r9.i = n1;
 
1118
    _r7.i = 1;
 
1119
    XMLVM_SOURCE_POSITION("HashMap.java", 636)
 
1120
    if (_r9.i != 0) goto label24;
 
1121
    _r0 = _r7;
 
1122
    label4:;
 
1123
    _r0.i = java_util_HashMap_calculateCapacity___int(_r0.i);
 
1124
    XMLVM_SOURCE_POSITION("HashMap.java", 638)
 
1125
    XMLVM_CHECK_NPE(8)
 
1126
    _r1.o = java_util_HashMap_newElementArray___int(_r8.o, _r0.i);
 
1127
    XMLVM_SOURCE_POSITION("HashMap.java", 639)
 
1128
    _r2.i = 0;
 
1129
    label13:;
 
1130
    XMLVM_CHECK_NPE(8)
 
1131
    _r3.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
 
1132
    _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
 
1133
    if (_r2.i < _r3.i) goto label27;
 
1134
    XMLVM_SOURCE_POSITION("HashMap.java", 650)
 
1135
    XMLVM_CHECK_NPE(8)
 
1136
    ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_ = _r1.o;
 
1137
    XMLVM_SOURCE_POSITION("HashMap.java", 651)
 
1138
    XMLVM_CHECK_NPE(8)
 
1139
    java_util_HashMap_computeThreshold__(_r8.o);
 
1140
    XMLVM_SOURCE_POSITION("HashMap.java", 652)
 
1141
    XMLVM_EXIT_METHOD()
 
1142
    return;
 
1143
    label24:;
 
1144
    _r0.i = _r9.i << 1;
 
1145
    goto label4;
 
1146
    label27:;
 
1147
    XMLVM_SOURCE_POSITION("HashMap.java", 640)
 
1148
    XMLVM_CHECK_NPE(8)
 
1149
    _r3.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
 
1150
    XMLVM_CHECK_NPE(3)
 
1151
    XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
 
1152
    _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
 
1153
    XMLVM_SOURCE_POSITION("HashMap.java", 641)
 
1154
    XMLVM_CHECK_NPE(8)
 
1155
    _r4.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
 
1156
    _r5.o = JAVA_NULL;
 
1157
    XMLVM_CHECK_NPE(4)
 
1158
    XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
 
1159
    ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r5.o;
 
1160
    label36:;
 
1161
    XMLVM_SOURCE_POSITION("HashMap.java", 642)
 
1162
    if (_r3.o != JAVA_NULL) goto label41;
 
1163
    _r2.i = _r2.i + 1;
 
1164
    goto label13;
 
1165
    label41:;
 
1166
    XMLVM_SOURCE_POSITION("HashMap.java", 643)
 
1167
    XMLVM_CHECK_NPE(3)
 
1168
    _r4.i = ((java_util_HashMap_Entry*) _r3.o)->fields.java_util_HashMap_Entry.origKeyHash_;
 
1169
    _r5.i = _r0.i - _r7.i;
 
1170
    _r4.i = _r4.i & _r5.i;
 
1171
    XMLVM_SOURCE_POSITION("HashMap.java", 644)
 
1172
    XMLVM_CHECK_NPE(3)
 
1173
    _r5.o = ((java_util_HashMap_Entry*) _r3.o)->fields.java_util_HashMap_Entry.next_;
 
1174
    XMLVM_SOURCE_POSITION("HashMap.java", 645)
 
1175
    XMLVM_CHECK_NPE(1)
 
1176
    XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
 
1177
    _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
 
1178
    XMLVM_CHECK_NPE(3)
 
1179
    ((java_util_HashMap_Entry*) _r3.o)->fields.java_util_HashMap_Entry.next_ = _r6.o;
 
1180
    XMLVM_SOURCE_POSITION("HashMap.java", 646)
 
1181
    XMLVM_CHECK_NPE(1)
 
1182
    XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
 
1183
    ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r3.o;
 
1184
    _r3 = _r5;
 
1185
    XMLVM_SOURCE_POSITION("HashMap.java", 647)
 
1186
    goto label36;
 
1187
    //XMLVM_END_WRAPPER
 
1188
}
 
1189
 
 
1190
void java_util_HashMap_rehash__(JAVA_OBJECT me)
 
1191
{
 
1192
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_rehash__]
 
1193
    XMLVM_ENTER_METHOD("java.util.HashMap", "rehash", "?")
 
1194
    XMLVMElem _r0;
 
1195
    XMLVMElem _r1;
 
1196
    _r1.o = me;
 
1197
    XMLVM_SOURCE_POSITION("HashMap.java", 655)
 
1198
    XMLVM_CHECK_NPE(1)
 
1199
    _r0.o = ((java_util_HashMap*) _r1.o)->fields.java_util_HashMap.elementData_;
 
1200
    _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
 
1201
    XMLVM_CHECK_NPE(1)
 
1202
    java_util_HashMap_rehash___int(_r1.o, _r0.i);
 
1203
    XMLVM_SOURCE_POSITION("HashMap.java", 656)
 
1204
    XMLVM_EXIT_METHOD()
 
1205
    return;
 
1206
    //XMLVM_END_WRAPPER
 
1207
}
 
1208
 
 
1209
JAVA_OBJECT java_util_HashMap_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
 
1210
{
 
1211
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_remove___java_lang_Object]
 
1212
    XMLVM_ENTER_METHOD("java.util.HashMap", "remove", "?")
 
1213
    XMLVMElem _r0;
 
1214
    XMLVMElem _r1;
 
1215
    XMLVMElem _r2;
 
1216
    _r1.o = me;
 
1217
    _r2.o = n1;
 
1218
    XMLVM_SOURCE_POSITION("HashMap.java", 668)
 
1219
    XMLVM_CHECK_NPE(1)
 
1220
    _r0.o = java_util_HashMap_removeEntry___java_lang_Object(_r1.o, _r2.o);
 
1221
    XMLVM_SOURCE_POSITION("HashMap.java", 669)
 
1222
    if (_r0.o == JAVA_NULL) goto label9;
 
1223
    XMLVM_SOURCE_POSITION("HashMap.java", 670)
 
1224
    XMLVM_CHECK_NPE(0)
 
1225
    _r0.o = ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.value_;
 
1226
    label8:;
 
1227
    XMLVM_SOURCE_POSITION("HashMap.java", 672)
 
1228
    XMLVM_EXIT_METHOD()
 
1229
    return _r0.o;
 
1230
    label9:;
 
1231
    _r0.o = JAVA_NULL;
 
1232
    goto label8;
 
1233
    //XMLVM_END_WRAPPER
 
1234
}
 
1235
 
 
1236
void java_util_HashMap_removeEntry___java_util_HashMap_Entry(JAVA_OBJECT me, JAVA_OBJECT n1)
 
1237
{
 
1238
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_removeEntry___java_util_HashMap_Entry]
 
1239
    XMLVM_ENTER_METHOD("java.util.HashMap", "removeEntry", "?")
 
1240
    XMLVMElem _r0;
 
1241
    XMLVMElem _r1;
 
1242
    XMLVMElem _r2;
 
1243
    XMLVMElem _r3;
 
1244
    XMLVMElem _r4;
 
1245
    XMLVMElem _r5;
 
1246
    _r4.o = me;
 
1247
    _r5.o = n1;
 
1248
    _r3.i = 1;
 
1249
    XMLVM_SOURCE_POSITION("HashMap.java", 680)
 
1250
    XMLVM_CHECK_NPE(5)
 
1251
    _r0.i = ((java_util_HashMap_Entry*) _r5.o)->fields.java_util_HashMap_Entry.origKeyHash_;
 
1252
    XMLVM_CHECK_NPE(4)
 
1253
    _r1.o = ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.elementData_;
 
1254
    _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
 
1255
    _r1.i = _r1.i - _r3.i;
 
1256
    _r0.i = _r0.i & _r1.i;
 
1257
    XMLVM_SOURCE_POSITION("HashMap.java", 681)
 
1258
    XMLVM_CHECK_NPE(4)
 
1259
    _r1.o = ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.elementData_;
 
1260
    XMLVM_CHECK_NPE(1)
 
1261
    XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
 
1262
    _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
 
1263
    XMLVM_SOURCE_POSITION("HashMap.java", 682)
 
1264
    if (_r1.o != _r5.o) goto label43;
 
1265
    XMLVM_SOURCE_POSITION("HashMap.java", 683)
 
1266
    XMLVM_CHECK_NPE(4)
 
1267
    _r1.o = ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.elementData_;
 
1268
    XMLVM_CHECK_NPE(5)
 
1269
    _r2.o = ((java_util_HashMap_Entry*) _r5.o)->fields.java_util_HashMap_Entry.next_;
 
1270
    XMLVM_CHECK_NPE(1)
 
1271
    XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
 
1272
    ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r2.o;
 
1273
    label20:;
 
1274
    XMLVM_SOURCE_POSITION("HashMap.java", 691)
 
1275
    XMLVM_CHECK_NPE(4)
 
1276
    _r0.i = ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.modCount_;
 
1277
    _r0.i = _r0.i + 1;
 
1278
    XMLVM_CHECK_NPE(4)
 
1279
    ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.modCount_ = _r0.i;
 
1280
    XMLVM_SOURCE_POSITION("HashMap.java", 692)
 
1281
    XMLVM_CHECK_NPE(4)
 
1282
    _r0.i = ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.elementCount_;
 
1283
    _r0.i = _r0.i - _r3.i;
 
1284
    XMLVM_CHECK_NPE(4)
 
1285
    ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.elementCount_ = _r0.i;
 
1286
    XMLVM_SOURCE_POSITION("HashMap.java", 693)
 
1287
    XMLVM_EXIT_METHOD()
 
1288
    return;
 
1289
    label32:;
 
1290
    XMLVM_SOURCE_POSITION("HashMap.java", 686)
 
1291
    XMLVM_CHECK_NPE(0)
 
1292
    _r0.o = ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_;
 
1293
    label34:;
 
1294
    XMLVM_SOURCE_POSITION("HashMap.java", 685)
 
1295
    XMLVM_CHECK_NPE(0)
 
1296
    _r1.o = ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_;
 
1297
    if (_r1.o != _r5.o) goto label32;
 
1298
    XMLVM_SOURCE_POSITION("HashMap.java", 688)
 
1299
    XMLVM_CHECK_NPE(5)
 
1300
    _r1.o = ((java_util_HashMap_Entry*) _r5.o)->fields.java_util_HashMap_Entry.next_;
 
1301
    XMLVM_CHECK_NPE(0)
 
1302
    ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_ = _r1.o;
 
1303
    goto label20;
 
1304
    label43:;
 
1305
    _r0 = _r1;
 
1306
    goto label34;
 
1307
    //XMLVM_END_WRAPPER
 
1308
}
 
1309
 
 
1310
JAVA_OBJECT java_util_HashMap_removeEntry___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
 
1311
{
 
1312
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_removeEntry___java_lang_Object]
 
1313
    XMLVM_ENTER_METHOD("java.util.HashMap", "removeEntry", "?")
 
1314
    XMLVMElem _r0;
 
1315
    XMLVMElem _r1;
 
1316
    XMLVMElem _r2;
 
1317
    XMLVMElem _r3;
 
1318
    XMLVMElem _r4;
 
1319
    XMLVMElem _r5;
 
1320
    XMLVMElem _r6;
 
1321
    XMLVMElem _r7;
 
1322
    XMLVMElem _r8;
 
1323
    XMLVMElem _r9;
 
1324
    _r8.o = me;
 
1325
    _r9.o = n1;
 
1326
    _r6.o = JAVA_NULL;
 
1327
    _r5.i = 1;
 
1328
    _r3.i = 0;
 
1329
    XMLVM_SOURCE_POSITION("HashMap.java", 696)
 
1330
    XMLVM_SOURCE_POSITION("HashMap.java", 699)
 
1331
    if (_r9.o == JAVA_NULL) goto label47;
 
1332
    XMLVM_SOURCE_POSITION("HashMap.java", 700)
 
1333
    _r0.i = java_util_HashMap_computeHashCode___java_lang_Object(_r9.o);
 
1334
    XMLVM_SOURCE_POSITION("HashMap.java", 701)
 
1335
    XMLVM_CHECK_NPE(8)
 
1336
    _r1.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
 
1337
    _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
 
1338
    _r1.i = _r1.i - _r5.i;
 
1339
    _r1.i = _r1.i & _r0.i;
 
1340
    XMLVM_SOURCE_POSITION("HashMap.java", 702)
 
1341
    XMLVM_CHECK_NPE(8)
 
1342
    _r2.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
 
1343
    XMLVM_CHECK_NPE(2)
 
1344
    XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
 
1345
    _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
 
1346
    _r3 = _r2;
 
1347
    _r2 = _r6;
 
1348
    label20:;
 
1349
    XMLVM_SOURCE_POSITION("HashMap.java", 703)
 
1350
    if (_r3.o == JAVA_NULL) goto label93;
 
1351
    XMLVM_CHECK_NPE(3)
 
1352
    _r4.i = ((java_util_HashMap_Entry*) _r3.o)->fields.java_util_HashMap_Entry.origKeyHash_;
 
1353
    if (_r4.i != _r0.i) goto label41;
 
1354
    XMLVM_CHECK_NPE(3)
 
1355
    _r4.o = ((java_util_MapEntry*) _r3.o)->fields.java_util_MapEntry.key_;
 
1356
    _r4.i = java_util_HashMap_areEqualKeys___java_lang_Object_java_lang_Object(_r9.o, _r4.o);
 
1357
    if (_r4.i == 0) goto label41;
 
1358
    _r0 = _r2;
 
1359
    _r2 = _r1;
 
1360
    _r1 = _r3;
 
1361
    label37:;
 
1362
    XMLVM_SOURCE_POSITION("HashMap.java", 714)
 
1363
    if (_r1.o != JAVA_NULL) goto label67;
 
1364
    _r0 = _r6;
 
1365
    label40:;
 
1366
    XMLVM_SOURCE_POSITION("HashMap.java", 715)
 
1367
    XMLVM_SOURCE_POSITION("HashMap.java", 724)
 
1368
    XMLVM_EXIT_METHOD()
 
1369
    return _r0.o;
 
1370
    label41:;
 
1371
    XMLVM_SOURCE_POSITION("HashMap.java", 705)
 
1372
    XMLVM_CHECK_NPE(3)
 
1373
    _r2.o = ((java_util_HashMap_Entry*) _r3.o)->fields.java_util_HashMap_Entry.next_;
 
1374
    _r7 = _r3;
 
1375
    _r3 = _r2;
 
1376
    _r2 = _r7;
 
1377
    goto label20;
 
1378
    label47:;
 
1379
    XMLVM_SOURCE_POSITION("HashMap.java", 708)
 
1380
    XMLVM_CHECK_NPE(8)
 
1381
    _r0.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
 
1382
    XMLVM_CHECK_NPE(0)
 
1383
    XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
 
1384
    _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
 
1385
    _r1 = _r0;
 
1386
    _r0 = _r6;
 
1387
    label53:;
 
1388
    XMLVM_SOURCE_POSITION("HashMap.java", 709)
 
1389
    if (_r1.o == JAVA_NULL) goto label59;
 
1390
    XMLVM_CHECK_NPE(1)
 
1391
    _r2.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.key_;
 
1392
    if (_r2.o != JAVA_NULL) goto label61;
 
1393
    label59:;
 
1394
    _r2 = _r3;
 
1395
    goto label37;
 
1396
    label61:;
 
1397
    XMLVM_SOURCE_POSITION("HashMap.java", 711)
 
1398
    XMLVM_CHECK_NPE(1)
 
1399
    _r0.o = ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.next_;
 
1400
    _r7 = _r1;
 
1401
    _r1 = _r0;
 
1402
    _r0 = _r7;
 
1403
    goto label53;
 
1404
    label67:;
 
1405
    XMLVM_SOURCE_POSITION("HashMap.java", 717)
 
1406
    if (_r0.o != JAVA_NULL) goto label88;
 
1407
    XMLVM_SOURCE_POSITION("HashMap.java", 718)
 
1408
    XMLVM_CHECK_NPE(8)
 
1409
    _r0.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
 
1410
    XMLVM_CHECK_NPE(1)
 
1411
    _r3.o = ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.next_;
 
1412
    XMLVM_CHECK_NPE(0)
 
1413
    XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
 
1414
    ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.o;
 
1415
    label75:;
 
1416
    XMLVM_SOURCE_POSITION("HashMap.java", 722)
 
1417
    XMLVM_CHECK_NPE(8)
 
1418
    _r0.i = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.modCount_;
 
1419
    _r0.i = _r0.i + 1;
 
1420
    XMLVM_CHECK_NPE(8)
 
1421
    ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.modCount_ = _r0.i;
 
1422
    XMLVM_SOURCE_POSITION("HashMap.java", 723)
 
1423
    XMLVM_CHECK_NPE(8)
 
1424
    _r0.i = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementCount_;
 
1425
    _r0.i = _r0.i - _r5.i;
 
1426
    XMLVM_CHECK_NPE(8)
 
1427
    ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementCount_ = _r0.i;
 
1428
    _r0 = _r1;
 
1429
    goto label40;
 
1430
    label88:;
 
1431
    XMLVM_SOURCE_POSITION("HashMap.java", 720)
 
1432
    XMLVM_CHECK_NPE(1)
 
1433
    _r2.o = ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.next_;
 
1434
    XMLVM_CHECK_NPE(0)
 
1435
    ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_ = _r2.o;
 
1436
    goto label75;
 
1437
    label93:;
 
1438
    _r0 = _r2;
 
1439
    _r2 = _r1;
 
1440
    _r1 = _r3;
 
1441
    goto label37;
 
1442
    //XMLVM_END_WRAPPER
 
1443
}
 
1444
 
 
1445
JAVA_INT java_util_HashMap_size__(JAVA_OBJECT me)
 
1446
{
 
1447
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_size__]
 
1448
    XMLVM_ENTER_METHOD("java.util.HashMap", "size", "?")
 
1449
    XMLVMElem _r0;
 
1450
    XMLVMElem _r1;
 
1451
    _r1.o = me;
 
1452
    XMLVM_SOURCE_POSITION("HashMap.java", 734)
 
1453
    XMLVM_CHECK_NPE(1)
 
1454
    _r0.i = ((java_util_HashMap*) _r1.o)->fields.java_util_HashMap.elementCount_;
 
1455
    XMLVM_EXIT_METHOD()
 
1456
    return _r0.i;
 
1457
    //XMLVM_END_WRAPPER
 
1458
}
 
1459
 
 
1460
JAVA_OBJECT java_util_HashMap_values__(JAVA_OBJECT me)
 
1461
{
 
1462
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_values__]
 
1463
    XMLVM_ENTER_METHOD("java.util.HashMap", "values", "?")
 
1464
    XMLVMElem _r0;
 
1465
    XMLVMElem _r1;
 
1466
    _r1.o = me;
 
1467
    XMLVM_SOURCE_POSITION("HashMap.java", 758)
 
1468
    XMLVM_CHECK_NPE(1)
 
1469
    _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_;
 
1470
    if (_r0.o != JAVA_NULL) goto label11;
 
1471
    XMLVM_SOURCE_POSITION("HashMap.java", 759)
 
1472
 
 
1473
    
 
1474
    // Red class access removed: java.util.HashMap$2::new-instance
 
1475
    XMLVM_RED_CLASS_DEPENDENCY();
 
1476
 
 
1477
    
 
1478
    // Red class access removed: java.util.HashMap$2::<init>
 
1479
    XMLVM_RED_CLASS_DEPENDENCY();
 
1480
    XMLVM_CHECK_NPE(1)
 
1481
    ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_ = _r0.o;
 
1482
    label11:;
 
1483
    XMLVM_SOURCE_POSITION("HashMap.java", 781)
 
1484
    XMLVM_CHECK_NPE(1)
 
1485
    _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_;
 
1486
    XMLVM_EXIT_METHOD()
 
1487
    return _r0.o;
 
1488
    //XMLVM_END_WRAPPER
 
1489
}
 
1490
 
 
1491
void java_util_HashMap_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
 
1492
{
 
1493
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_writeObject___java_io_ObjectOutputStream]
 
1494
    XMLVM_ENTER_METHOD("java.util.HashMap", "writeObject", "?")
 
1495
    XMLVMElem _r0;
 
1496
    XMLVMElem _r1;
 
1497
    XMLVMElem _r2;
 
1498
    XMLVMElem _r3;
 
1499
    _r2.o = me;
 
1500
    _r3.o = n1;
 
1501
    XMLVM_SOURCE_POSITION("HashMap.java", 785)
 
1502
 
 
1503
    
 
1504
    // Red class access removed: java.io.ObjectOutputStream::defaultWriteObject
 
1505
    XMLVM_RED_CLASS_DEPENDENCY();
 
1506
    XMLVM_SOURCE_POSITION("HashMap.java", 786)
 
1507
    XMLVM_CHECK_NPE(2)
 
1508
    _r0.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
 
1509
    _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
 
1510
 
 
1511
    
 
1512
    // Red class access removed: java.io.ObjectOutputStream::writeInt
 
1513
    XMLVM_RED_CLASS_DEPENDENCY();
 
1514
    XMLVM_SOURCE_POSITION("HashMap.java", 787)
 
1515
    XMLVM_CHECK_NPE(2)
 
1516
    _r0.i = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementCount_;
 
1517
 
 
1518
    
 
1519
    // Red class access removed: java.io.ObjectOutputStream::writeInt
 
1520
    XMLVM_RED_CLASS_DEPENDENCY();
 
1521
    XMLVM_SOURCE_POSITION("HashMap.java", 788)
 
1522
    //java_util_HashMap_entrySet__[9]
 
1523
    XMLVM_CHECK_NPE(2)
 
1524
    _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_HashMap*) _r2.o)->tib->vtable[9])(_r2.o);
 
1525
    XMLVM_CHECK_NPE(0)
 
1526
    _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
 
1527
    label22:;
 
1528
    XMLVM_SOURCE_POSITION("HashMap.java", 789)
 
1529
    XMLVM_CHECK_NPE(0)
 
1530
    _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
 
1531
    if (_r1.i != 0) goto label29;
 
1532
    XMLVM_SOURCE_POSITION("HashMap.java", 795)
 
1533
    XMLVM_EXIT_METHOD()
 
1534
    return;
 
1535
    label29:;
 
1536
    XMLVM_SOURCE_POSITION("HashMap.java", 790)
 
1537
    XMLVM_CHECK_NPE(0)
 
1538
    _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
 
1539
    _r2.o = _r2.o;
 
1540
    XMLVM_SOURCE_POSITION("HashMap.java", 791)
 
1541
    XMLVM_CHECK_NPE(2)
 
1542
    _r1.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.key_;
 
1543
 
 
1544
    
 
1545
    // Red class access removed: java.io.ObjectOutputStream::writeObject
 
1546
    XMLVM_RED_CLASS_DEPENDENCY();
 
1547
    XMLVM_SOURCE_POSITION("HashMap.java", 792)
 
1548
    XMLVM_CHECK_NPE(2)
 
1549
    _r1.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.value_;
 
1550
 
 
1551
    
 
1552
    // Red class access removed: java.io.ObjectOutputStream::writeObject
 
1553
    XMLVM_RED_CLASS_DEPENDENCY();
 
1554
    XMLVM_SOURCE_POSITION("HashMap.java", 793)
 
1555
    XMLVM_CHECK_NPE(2)
 
1556
    _r1.o = ((java_util_HashMap_Entry*) _r2.o)->fields.java_util_HashMap_Entry.next_;
 
1557
    goto label22;
 
1558
    //XMLVM_END_WRAPPER
 
1559
}
 
1560
 
 
1561
void java_util_HashMap_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
 
1562
{
 
1563
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_readObject___java_io_ObjectInputStream]
 
1564
    XMLVM_ENTER_METHOD("java.util.HashMap", "readObject", "?")
 
1565
    XMLVMElem _r0;
 
1566
    XMLVMElem _r1;
 
1567
    XMLVMElem _r2;
 
1568
    XMLVMElem _r3;
 
1569
    XMLVMElem _r4;
 
1570
    XMLVMElem _r5;
 
1571
    XMLVMElem _r6;
 
1572
    _r5.o = me;
 
1573
    _r6.o = n1;
 
1574
    XMLVM_SOURCE_POSITION("HashMap.java", 800)
 
1575
 
 
1576
    
 
1577
    // Red class access removed: java.io.ObjectInputStream::defaultReadObject
 
1578
    XMLVM_RED_CLASS_DEPENDENCY();
 
1579
    XMLVM_SOURCE_POSITION("HashMap.java", 801)
 
1580
 
 
1581
    
 
1582
    // Red class access removed: java.io.ObjectInputStream::readInt
 
1583
    XMLVM_RED_CLASS_DEPENDENCY();
 
1584
    XMLVM_SOURCE_POSITION("HashMap.java", 802)
 
1585
    XMLVM_CHECK_NPE(5)
 
1586
    _r1.o = java_util_HashMap_newElementArray___int(_r5.o, _r0.i);
 
1587
    XMLVM_CHECK_NPE(5)
 
1588
    ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementData_ = _r1.o;
 
1589
    XMLVM_SOURCE_POSITION("HashMap.java", 803)
 
1590
 
 
1591
    
 
1592
    // Red class access removed: java.io.ObjectInputStream::readInt
 
1593
    XMLVM_RED_CLASS_DEPENDENCY();
 
1594
    XMLVM_CHECK_NPE(5)
 
1595
    ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementCount_ = _r1.i;
 
1596
    XMLVM_SOURCE_POSITION("HashMap.java", 804)
 
1597
    XMLVM_CHECK_NPE(5)
 
1598
    _r1.i = ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementCount_;
 
1599
    label21:;
 
1600
    _r1.i = _r1.i + -1;
 
1601
    if (_r1.i >= 0) goto label26;
 
1602
    XMLVM_SOURCE_POSITION("HashMap.java", 809)
 
1603
    XMLVM_EXIT_METHOD()
 
1604
    return;
 
1605
    label26:;
 
1606
    XMLVM_SOURCE_POSITION("HashMap.java", 805)
 
1607
 
 
1608
    
 
1609
    // Red class access removed: java.io.ObjectInputStream::readObject
 
1610
    XMLVM_RED_CLASS_DEPENDENCY();
 
1611
    XMLVM_SOURCE_POSITION("HashMap.java", 806)
 
1612
    if (_r2.o != JAVA_NULL) goto label41;
 
1613
    _r3.i = 0;
 
1614
    label33:;
 
1615
    XMLVM_SOURCE_POSITION("HashMap.java", 807)
 
1616
 
 
1617
    
 
1618
    // Red class access removed: java.io.ObjectInputStream::readObject
 
1619
    XMLVM_RED_CLASS_DEPENDENCY();
 
1620
    XMLVM_CHECK_NPE(5)
 
1621
    java_util_HashMap_createEntry___java_lang_Object_int_java_lang_Object(_r5.o, _r2.o, _r3.i, _r4.o);
 
1622
    goto label21;
 
1623
    label41:;
 
1624
    _r3.i = java_util_HashMap_computeHashCode___java_lang_Object(_r2.o);
 
1625
    _r4.i = 1;
 
1626
    _r4.i = _r0.i - _r4.i;
 
1627
    _r3.i = _r3.i & _r4.i;
 
1628
    goto label33;
 
1629
    //XMLVM_END_WRAPPER
 
1630
}
 
1631
 
 
1632
JAVA_INT java_util_HashMap_computeHashCode___java_lang_Object(JAVA_OBJECT n1)
 
1633
{
 
1634
    XMLVM_CLASS_INIT(java_util_HashMap)
 
1635
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_computeHashCode___java_lang_Object]
 
1636
    XMLVM_ENTER_METHOD("java.util.HashMap", "computeHashCode", "?")
 
1637
    XMLVMElem _r0;
 
1638
    XMLVMElem _r1;
 
1639
    _r1.o = n1;
 
1640
    XMLVM_SOURCE_POSITION("HashMap.java", 815)
 
1641
    //java_lang_Object_hashCode__[4]
 
1642
    XMLVM_CHECK_NPE(1)
 
1643
    _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[4])(_r1.o);
 
1644
    XMLVM_EXIT_METHOD()
 
1645
    return _r0.i;
 
1646
    //XMLVM_END_WRAPPER
 
1647
}
 
1648
 
 
1649
JAVA_BOOLEAN java_util_HashMap_areEqualKeys___java_lang_Object_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2)
 
1650
{
 
1651
    XMLVM_CLASS_INIT(java_util_HashMap)
 
1652
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_areEqualKeys___java_lang_Object_java_lang_Object]
 
1653
    XMLVM_ENTER_METHOD("java.util.HashMap", "areEqualKeys", "?")
 
1654
    XMLVMElem _r0;
 
1655
    XMLVMElem _r1;
 
1656
    XMLVMElem _r2;
 
1657
    _r1.o = n1;
 
1658
    _r2.o = n2;
 
1659
    XMLVM_SOURCE_POSITION("HashMap.java", 819)
 
1660
    if (_r1.o == _r2.o) goto label10;
 
1661
    //java_lang_Object_equals___java_lang_Object[1]
 
1662
    XMLVM_CHECK_NPE(1)
 
1663
    _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[1])(_r1.o, _r2.o);
 
1664
    if (_r0.i != 0) goto label10;
 
1665
    _r0.i = 0;
 
1666
    label9:;
 
1667
    XMLVM_EXIT_METHOD()
 
1668
    return _r0.i;
 
1669
    label10:;
 
1670
    _r0.i = 1;
 
1671
    goto label9;
 
1672
    //XMLVM_END_WRAPPER
 
1673
}
 
1674
 
 
1675
JAVA_BOOLEAN java_util_HashMap_areEqualValues___java_lang_Object_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2)
 
1676
{
 
1677
    XMLVM_CLASS_INIT(java_util_HashMap)
 
1678
    //XMLVM_BEGIN_WRAPPER[java_util_HashMap_areEqualValues___java_lang_Object_java_lang_Object]
 
1679
    XMLVM_ENTER_METHOD("java.util.HashMap", "areEqualValues", "?")
 
1680
    XMLVMElem _r0;
 
1681
    XMLVMElem _r1;
 
1682
    XMLVMElem _r2;
 
1683
    _r1.o = n1;
 
1684
    _r2.o = n2;
 
1685
    XMLVM_SOURCE_POSITION("HashMap.java", 823)
 
1686
    if (_r1.o == _r2.o) goto label10;
 
1687
    //java_lang_Object_equals___java_lang_Object[1]
 
1688
    XMLVM_CHECK_NPE(1)
 
1689
    _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[1])(_r1.o, _r2.o);
 
1690
    if (_r0.i != 0) goto label10;
 
1691
    _r0.i = 0;
 
1692
    label9:;
 
1693
    XMLVM_EXIT_METHOD()
 
1694
    return _r0.i;
 
1695
    label10:;
 
1696
    _r0.i = 1;
 
1697
    goto label9;
 
1698
    //XMLVM_END_WRAPPER
 
1699
}
 
1700