PR123: LD_LIBRARY_PATH and java.library.path
[cacao.git] / ChangeLog-2006
1 2006-12-31 17:57  edwin
2
3         * src/vm/jit/inline/inline.c (test_inlining): Deactivated typechecking
4         of inlined result.
5
6 2006-12-28 21:21  twisti
7
8         * src/vm/jit/alpha/disass.c (regs): Removed.
9         * src/vm/jit/alpha/md-abi.c (regs): Added.
10
11 2006-12-28 20:56  twisti
12
13         * src/vm/jit/i386/disass.c (regs): Removed.
14         * src/vm/jit/i386/md-abi.c (regs): Added.
15
16 2006-12-28 20:50  twisti
17
18         * src/vm/jit/x86_64/disass.c (regs): Removed.
19         * src/vm/jit/x86_64/md-abi.c (regs): Added.
20
21 2006-12-28 15:38  twisti
22
23         * src/native/include/Makefile.am (NO_GEN_JAVASE_HEADER_FILES): Removed
24         java_lang_Object.h.
25         (JAVASE_HEADER_FILES): Added java_lang_Object.h.
26         * src/native/include/.cvsignore: Likewise.
27         * src/native/include/java_lang_VMObject.h: Removed.
28
29 2006-12-28 13:43  twisti
30
31         * tests/regression/Makefile.am,
32         tests/regression/codepatching/Makefile.am,
33         tests/regression/jasmin/Makefile.am,
34         tests/regression/native/Makefile.am (JAVAFLAGS) [WITH_CLASSPATH_GNU]:
35         Set differently for GNU Classpath.
36
37 2006-12-28 12:30  twisti
38
39         * src/mm/memory.c (memory_mmap_anon): Fixed indentation and a debug
40         typo.
41         * src/vm/signal.c (signal_init): Removed unused variable.
42
43 2006-12-28 11:57  twisti
44
45         * src/fdlibm/fdlibm.h (exception): Commented since it was already
46         defined on
47         IRIX (don't know where).
48
49 2006-12-28 00:19  twisti
50
51         * src/threads/native/threads.c (threads_attach_current_thread): Fixed
52         compiler warning.
53         (threads_detach_thread): Likewise.
54         (threads_find_non_daemon_thread): Fixed bug, we returned the wrong
55         threads.
56
57 2006-12-27 23:54  twisti
58
59         * src/threads/native/threads.c (threads_init): Fixed another typo.
60
61 2006-12-27 23:42  twisti
62
63         * src/threads/native/threads.c (threads_init): Fixed typo.
64         
65         * src/native/jni.c (native/include/java_lang_ClassLoader.h): Added.
66         * src/native/vm/gnu/java_lang_VMRuntime.c: Likewise.
67
68 2006-12-27 23:15  twisti
69
70         * src/vm/class.c [ENABLE_JAVASE] (arrayclass_java_lang_Object): Added
71         #ifdef.
72         * src/vm/class.h: Likewise.
73         
74         * src/vm/loader.c: Java ME changes.
75         
76         * src/vm/finalizer.c (finalizer_start_thread): Set flags.
77         * src/vm/jit/optimizing/recompile.c (recompile_start_thread):
78         Likewise.
79         
80         * src/vm/jit/stacktrace.c [ENABLE_JAVASE] (stacktrace_getStack): Added
81         #ifdef.
82         
83         * src/vm/jit/codegen-common.c (codegen_start_native_call)
84         [ENABLE_JAVASE]: #ifdef'ed the local references table stuff (maybe we
85         need to change that for cacao-gc).
86         (codegen_finish_native_call): Likewise.
87         
88         * src/vm/exceptions.c (exceptions_asm_new_abstractmethoderror)
89         [!ENABLE_JAVASE]: In the meantime we throw a VirtualMachineError.
90         * src/vm/exceptions.h: Likewise.
91         
92         * src/vm/linker.c: Java ME changes.
93         
94         * src/native/native.c: Likewise.
95         * src/native/native.h: Likewise.
96         
97         * src/threads/native/threads.h (THREAD_FLAG_DAEMON): Added.
98         (threadobject): Changed flags to u4.
99         * src/threads/native/threads.c: A lot of Java ME changes.
100
101 2006-12-27 23:05  twisti
102
103         * src/vm/jit/powerpc/emit.c (emit_verbosecall_enter) [!NDEBUG]: We
104         also define the function with NDEBUG, but empty.
105         (emit_verbosecall_exit): Likewise.
106         * src/vm/jit/powerpc/codegen.c (codegen): Removed
107         JITDATA_HAS_FLAG_VERBOSECALL from emit_verbosecall calls.
108
109 2006-12-27 23:00  twisti
110
111         * src/vm/properties.c (properties_init) [ENABLE_JAVAME_CLDC1_1]: Set
112         values as Sun's JVM does.
113
114 2006-12-27 22:39  twisti
115
116         * src/vm/jit/stacktrace.c: Java ME changes.
117         * src/vm/jit/stacktrace.h: Likewise.
118
119 2006-12-27 22:31  twisti
120
121         * tests/regression/Makefile.am: Renamed CLASSPATH_GLIBJ_ZIP to
122         CLASSPATH_CLASSES.
123         * tests/regression/codepatching/Makefile.am: Likewise.
124         * tests/regression/jasmin/Makefile.am: Likewise.
125         * tests/regression/native/Makefile.am: Likewise.
126
127 2006-12-27 21:13  ajordan
128
129         * src/vm/jit/sparc64/asmpart.S: Some fixes for exception handling.
130         * src/vm/jit/sparc64/codegen.c: Likewise.
131
132 2006-12-27 15:22  twisti
133
134         * contrib/setenvinstalled.in: Renamed CLASSPATH_GLIBJ_ZIP to
135         CLASSPATH_CLASSES.
136         * contrib/setenvsource.in: Likewise.
137
138 2006-12-27 15:15  twisti
139
140         * src/vm/class.c: Java ME changes.
141         * src/vm/class.h: Likewise.
142         * src/vm/exceptions.c: Likewise.
143         (exceptions_new_virtualmachineerror): New function.
144         (exceptions_throw_virtualmachineerror):
145         * src/vm/exceptions.h: Likewise.
146         * src/vm/resolve.c: Likewise.
147         * src/vm/utf8.c: Likewise.
148         * src/vm/utf8.h: Likewise.
149         * src/cacaoh/headers.c: Likewise.
150
151 2006-12-27 13:56  twisti
152
153         * configure.ac (--with-classpath-glibj-zip): Renamed to
154         --with-classpath-classes.
155         
156         * m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Renamed CLASSPATH_GLIBJ_ZIP to
157         CLASSPATH_CLASSES.
158         
159         * src/Makefile.am (VM_DIR): Added.
160         (SUBDIRS): Use VM_DIR.
161         
162         * src/native/include/Makefile.am [WITH_CLASSPATH_GNU] (CLASSPATH): Set
163         differently for non-gnu classpaths.
164         
165         * src/cacaoh/cacaoh.c (main) [WITH_CLASSPATH_GNU]: Likewise.
166         * src/vm/vm.c (vm_create): Likewise.
167
168 2006-12-27 00:08  twisti
169
170         * src/fdlibm/fdlibm.h [!MAXFLOAT] (MAXFLOAT): Only define if not
171         already defined.
172         * src/fdlibm/k_tan.c: Commented pragma.
173
174 2006-12-26 23:42  twisti
175
176         * src/vm/resolve.h (vm/class.h): Added.
177         (vm/method.h): Likewise.
178
179 2006-12-26 23:41  twisti
180
181         * src/vm/exceptions.c (native/jni.h): Added.
182         (exceptions_init): Java ME changes.
183         (exceptions_print_exception): Likewise.
184         * src/vm/exceptions.h (native/jni.h): Added.
185
186 2006-12-26 23:39  twisti
187
188         * src/vm/properties.c [ENABLE_JAVASE]
189         (native/include/java_util_Properties.h): Include conditionally.
190         * src/vm/properties.h: Likewise.
191
192 2006-12-26 23:34  twisti
193
194         * src/native/include/Makefile.am (CLEANFILES): Added
195         JAVASE_HEADER_FILES and JAVAME_CLDC1_1_HEADER_FILES.
196         (cleanall): New target to clean all header files.
197
198 2006-12-26 23:26  twisti
199
200         * src/native/include/Makefile.am: Java ME changes.
201         * src/native/include/.cvsignore: Likewise.
202
203 2006-12-26 23:21  twisti
204
205         * src/native/Makefile.am [ENABLE_JAVASE] (JNI_SOURCES): Added.
206         (libnative_la_SOURCES): Added JNI_SOURCES.
207
208 2006-12-26 23:16  twisti
209
210         * configure.ac (--with-classpath): Added cldc1.1 target.
211         (AC_CONFIG_FILES): Added src/native/vm/cldc1.1/Makefile.
212
213 2006-12-26 23:14  twisti
214
215         * src/native/vm/java_lang_Thread.h,
216         src/native/vm/java_lang_Class.c,
217         src/native/vm/java_lang_Object.c,
218         src/native/vm/java_lang_Thread.c,
219         src/native/vm/java_lang_Class.h,
220         src/native/vm/java_lang_Object.h: Java ME changes.
221
222 2006-12-26 23:13  twisti
223
224         * src/native/vm/Makefile.am (DIST_SUBDIRS): Added cldc1.1.
225         (NATIVEVM_LIB): Renamed to libnativevmcore.
226         * src/native/vm/gnu/Makefile.am (noinst_LTLIBRARIES): Likewise.
227         (libnativevmgnu_la_SOURCES): Renamed to libnativevmcore_la_SOURCES.
228
229 2006-12-26 23:09  twisti
230
231         * src/native/vm/cldc1.1/.cvsignore: Added.
232         * src/native/vm/cldc1.1/com_sun_cldchi_io_ConsoleOutputStream.c,
233         src/native/vm/cldc1.1/java_lang_Runtime.c,
234         src/native/vm/cldc1.1/java_lang_System.c,
235         src/native/vm/cldc1.1/java_lang_Class.c,
236         src/native/vm/cldc1.1/java_lang_Float.c,
237         src/native/vm/cldc1.1/java_lang_Object.c,
238         src/native/vm/cldc1.1/java_lang_String.c,
239         src/native/vm/cldc1.1/Makefile.am,
240         src/native/vm/cldc1.1/java_lang_Thread.c,
241         src/native/vm/cldc1.1/java_lang_Throwable.c,
242         src/native/vm/cldc1.1/java_lang_Math.c,
243         src/native/vm/cldc1.1/java_lang_Double.c: New file.
244
245 2006-12-26 23:05  twisti
246
247         * src/fdlibm/Makefile.am [ENABLE_JAVAME_CLDC1_1]
248         (libfdlibm_la_SOURCES): Added the following files.
249         
250         * src/fdlibm/k_cos.c,
251         src/fdlibm/s_ceil.c,
252         src/fdlibm/k_sin.c,
253         src/fdlibm/s_floor.c,
254         src/fdlibm/s_tan.c,
255         src/fdlibm/s_cos.c,
256         src/fdlibm/s_sin.c,
257         src/fdlibm/w_sqrt.c,
258         src/fdlibm/e_rem_pio2.c,
259         src/fdlibm/k_rem_pio2.c,
260         src/fdlibm/k_tan.c,
261         src/fdlibm/e_sqrt.c: New file.
262
263 2006-12-26 22:33  twisti
264
265         * src/fdlibm/s_finite.c,
266         src/fdlibm/fdlibm.h,
267         src/fdlibm/ieeefp.h,
268         src/fdlibm/e_fmod.c,
269         src/fdlibm/mprec.h,
270         src/fdlibm/w_fmod.c,
271         src/fdlibm/s_copysign.c: Updated from GNU Classpath.
272
273 2006-12-26 19:56  twisti
274
275         * src/threads/native/threads.c: Rewritten such that threadobject
276         extends a java.lang.Thread object instead of java.lang.VMThread.
277         * src/threads/native/threads.h: Likewise.
278         
279         * src/vm/finalizer.c (finalizer_vmthread): Renamed to thread_finalizer
280         and changed type to threadobject*.
281         (lock_finalizer_thread): Renamed to lock_thread_finalizer.
282         (finalizer_init): Changed variable names.
283         (finalizer_start_thread): Thread-code changes.
284         
285         * src/vm/jit/optimizing/recompile.c (recompile_vmthread): Renamed to
286         thread_recompile and changed type to threadobject*.
287         (lock_recompile_thread): Renamed to lock_thread_recompile.
288         (recompile_init): Changed variable names.
289         (recompile_thread): Likewise.
290         (recompile_queue_method): Likewise.
291         (recompile_start_thread): Thread-code changes.
292         
293         * src/vm/utf8.c (utf_addThread): Added.
294         * src/vm/utf8.h: Likewise.
295         
296         * src/lib/vm/reference/java/lang/VMThread.java (create): Set vmThread
297         before calling start.
298         
299         * src/native/vm/gnu/java_lang_VMThread.c: Call _Jv_java_lang_Thread
300         functions.
301         
302         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
303         java_lang_Thread.[ch].
304         * src/native/vm/java_lang_Thread.c: New file.
305         * src/native/vm/java_lang_Thread.h: Likewise.
306
307 2006-12-26 19:41  twisti
308
309         * src/vm/annotation.c
310         (annotation_load_attribute_runtimevisibleannotations): Renamed aev to
311         element_value.
312
313 2006-12-26 19:40  twisti
314
315         * src/native/include/java_lang_Thread.h: Updated to current GNU
316         Classpath head.
317         * src/native/include/java_lang_VMThread.h: Likewise.
318
319 2006-12-26 19:30  twisti
320
321         * src/threads/native/lock.c (lock_wait_for_object): Renamed t to
322         thread.
323         (lock_notify_object): Likewise.
324         (lock_notify_all_object): Likewise.
325
326 2006-12-23 23:52  twisti
327
328         * configure.ac (--with-classpath): Added.
329
330 2006-12-21 15:59  twisti
331
332         * src/native/vm/java_lang_Object.c (wait): Removed debugging output.
333
334 2006-12-21 15:56  twisti
335
336         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
337         java_lang_Class.h and java_lang_Object.[ch].
338         
339         * src/native/vm/java_lang_Object.c: New file.
340         * src/native/vm/java_lang_Object.h: Likewise.
341         
342         * src/native/vm/gnu/java_lang_VMObject.c: Call _Jv_java_lang_Object
343         functions.
344
345 2006-12-19 19:20  twisti
346
347         * src/mm/memory.c (memory_mmap_anon): New function.
348         (memory_cnew): Use memory_mmap_anon.
349         * src/mm/memory.h (memory_mmap_anon): Added.
350         * src/vm/signal.c (signal_init): Use memory_mmap_anon.
351
352 2006-12-19 19:12  twisti
353
354         * src/native/vm/java_lang_Class.h
355         (_Jv_java_lang_Class_getEnclosingConstructor): Removed #if 0.
356
357 2006-12-18 18:21  twisti
358
359         * src/vm/class.c (vm/suck.h): Added.
360         (class_load_attribute_sourcefile): New function.
361         (class_load_attribute_enclosingmethod): Likewise.
362         (class_load_attributes): Likewise.
363         
364         * src/vm/loader.c [ENABLE_JAVASE] (vm/annotation.h, vm/stackmap.h):
365         Added.
366         (skipattributebody): Renamed to loader_skip_attribute_body, made
367         non-static.
368         (skipattributes): Removed.
369         (loader_load_attribute_signature): New function.
370         (load_field): Use loader_load_attribute_signature.
371         (load_method): Renamed to loader_load_method, call
372         stackmap_load_attribute_stackmaptable and
373         loader_load_attribute_signature.
374         (load_attributes): Removed.
375         (load_class_from_classbuffer): Renamed load_method to
376         loader_load_method and load_attributes to class_load_attributes.
377         * src/vm/loader.h (loader_skip_attribute_body): Added.
378         [ENABLE_JAVASE] (loader_load_attribute_signature): Likewise.
379         
380         * src/vm/method.h [ENABLE_JAVASE] (vm/stackmap.h): Added.
381         (methodinfo) [ENABLE_JAVASE]: Added signature and stack_map.
382         
383         * src/vm/statistics.c (size_stack_map): Added.
384         (print_stats): Print stack_map size.
385         * src/vm/statistics.h (size_stack_map): Likewise.
386         
387         * src/vm/global.h (JAVA_VERSION): Changed to "1.5.0".
388         (CLASS_VERSION): Changed to "50.0".
389         (MAJOR_VERSION): Changed to 50.
390         
391         * src/vm/utf8.c [ENABLE_JAVASE] (utf_EnclosingMethod)
392         (utf_RuntimeVisibleAnnotations, utf_StackMapTable): Added.
393         (utf8_init) [ENABLE_JAVASE]: Init utf_EnclosingMethod,
394         utf_RuntimeVisibleAnnotations and utf_StackMapTable.
395         * src/vm/utf8.h [ENABLE_JAVASE] (utf_EnclosingMethod)
396         (utf_RuntimeVisibleAnnotations, utf_StackMapTable): Added.
397         
398         * src/vm/properties.c (properties_init): Changed
399         java.specification.version to 1.5.
400         
401         * src/vm/Makefile.am [ENABLE_JAVASE] (ANNOTATION_OBJ): Renamed to
402         ANNOTATION_SOURCES.
403         [ENABLE_JAVASE] (STACKMAP_SOURCES): Added.
404         [ENABLE_STATISTICS] (STATISTICS_OBJ): Renamed to STATISTICS_SOURCES.
405         (libvmcore_la_SOURCES): Added STACKMAP_SOURCES.
406         * src/vm/stackmap.c: New file.
407         * src/vm/stackmap.h: Likewise.
408
409 2006-12-18 18:04  twisti
410
411         * src/native/vm/gnu/.cvsignore: New file.
412
413 2006-12-18 17:36  twisti
414
415         * src/vm/class.h (vm/loader.h): Added.
416         (classinfo): Added enclosingclass and enclosingmethod.
417         
418         * configure.ac (AC_CONFIG_FILES): Added src/native/vm/gnu/Makefile.
419         
420         * src/native/native.c (native_class_getname): Removed.
421         * src/native/native.h: Likewise.
422         
423         * src/native/vm/Makefile.am
424         
425         * src/native/vm/java_lang_Class.c: New file, contains the
426         implementation for java.lang.Class functions.
427         * src/native/vm/java_lang_Class.h: Likewise.
428         
429         * src/native/vm/java_security_VMAccessController.c,
430         src/native/vm/VMjdwp.c,
431         src/native/vm/java_lang_VMClass.c,
432         src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c,
433         src/native/vm/java_lang_VMThread.c,
434         src/native/vm/VMjdwp.h,
435         src/native/vm/gnu_classpath_jdwp_VMVirtualMachine.c,
436         src/native/vm/gnu_classpath_jdwp_VMMethod.c,
437         src/native/vm/java_lang_VMRuntime.c,
438         src/native/vm/java_lang_reflect_Field.c,
439         src/native/vm/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c,
440         src/native/vm/java_lang_VMThrowable.c,
441         src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c,
442         src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c,
443         src/native/vm/java_lang_VMClassLoader.c,
444         src/native/vm/java_lang_management_VMManagementFactory.c,
445         src/native/vm/java_lang_VMString.c,
446         src/native/vm/java_lang_VMObject.c,
447         src/native/vm/gnu_classpath_VMSystemProperties.c,
448         src/native/vm/sun_misc_Unsafe.c,
449         src/native/vm/java_lang_reflect_Method.c,
450         src/native/vm/gnu_classpath_VMStackWalker.c,
451         src/native/vm/java_lang_VMSystem.c,
452         src/native/vm/java_lang_reflect_VMProxy.c,
453         src/native/vm/java_lang_reflect_Constructor.c,
454         src/native/vm/gnu_classpath_jdwp_VMFrame.c: Moved to
455         src/native/vm/gnu.
456         
457         * src/native/vm/gnu/gnu_java_lang_management_VMThreadMXBeanImpl.c,
458         src/native/vm/gnu/gnu_java_lang_management_VMMemoryMXBeanImpl.c,
459         src/native/vm/gnu/java_security_VMAccessController.c,
460         src/native/vm/gnu/java_lang_VMClassLoader.c,
461         src/native/vm/gnu/java_lang_management_VMManagementFactory.c,
462         src/native/vm/gnu/VMjdwp.c,
463         src/native/vm/gnu/gnu_java_lang_management_VMRuntimeMXBeanImpl.c,
464         src/native/vm/gnu/java_lang_VMClass.c,
465         src/native/vm/gnu/java_lang_VMString.c,
466         src/native/vm/gnu/java_lang_VMObject.c,
467         src/native/vm/gnu/VMjdwp.h,
468         src/native/vm/gnu/java_lang_VMThread.c,
469         src/native/vm/gnu/gnu_classpath_jdwp_VMVirtualMachine.c,
470         src/native/vm/gnu/gnu_classpath_VMSystemProperties.c,
471         src/native/vm/gnu/sun_misc_Unsafe.c,
472         src/native/vm/gnu/gnu_classpath_jdwp_VMMethod.c,
473         src/native/vm/gnu/java_lang_reflect_Method.c,
474         src/native/vm/gnu/java_lang_VMRuntime.c,
475         src/native/vm/gnu/Makefile.am,
476         src/native/vm/gnu/java_lang_reflect_Field.c,
477         src/native/vm/gnu/gnu_classpath_VMStackWalker.c,
478         src/native/vm/gnu/java_lang_VMSystem.c,
479         src/native/vm/gnu/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c,
480         src/native/vm/gnu/java_lang_reflect_VMProxy.c,
481         src/native/vm/gnu/java_lang_reflect_Constructor.c,
482         src/native/vm/gnu/gnu_classpath_jdwp_VMFrame.c,
483         src/native/vm/gnu/java_lang_VMThrowable.c: Moved from src/native/vm.
484
485 2006-12-18 16:27  twisti
486
487         * src/vm/exceptions.c (exceptions_throw_internalerror): New function.
488         * src/vm/exceptions.h (exceptions_throw_internalerror): Added.
489
490 2006-12-16 22:53  edwin
491
492         * src/vm/jit/jit.c (jit_compile_intern): Perform inlining if
493         JITDATA_FLAG_INLINE is set.
494         
495         * src/vm/jit/inline/inline.c: Put the result of inlining into
496         the passed jitdata, instead of using a new one. Do not translate
497         returnAddresses in javalocals. It makes no sense.
498         
499         * src/vm/jit/i386/codegen.h (M_BS): New macro.
500         
501         * src/vm/jit/replace.h (RPLPOINT_FLAG_COUNTDOWN): New constant.
502         (Preparation for count-down replacement).
503         
504         * src/vm/jit/jit.h (JITDATA_FLAG_COUNTDOWN): New flag.
505         (JITDATA_HAS_FLAG_COUNTDOWN): New macro.
506
507 2006-12-16 21:16  edwin
508
509         * src/vm/jit/replace.c (replace_patch_class): New function.
510         (replace_patch_class_hierarchy): New function.
511         (replace_patch_future_calls): Fall back to iterating over all loaded
512         classes if the instance of a call is not known.
513
514 2006-12-16 21:14  edwin
515
516         * src/vm/classcache.c (classcache_foreach_loaded_class): New function.
517         
518         * src/vm/classcache.h (classcache_foreach_loaded_class): Likewise.
519         (classcache_foreach_functionptr_t): New typedef.
520
521 2006-12-16 21:12  edwin
522
523         * src/vm/jit/replace.c (replace_read_executionstate): Fix: Initialize
524         the javalocaltype array for NDEBUG.
525
526 2006-12-16 21:11  edwin
527
528         * src/vm/jit/inline/inline.c: Relocate returnAddresses in javalocals
529         and in the s2 operand of ASTORE. Fix handling of in/out variables
530         of TYPE_RET.
531         
532         * src/vm/jit/allocator/simplereg.c (simplereg_new_temp): Assert that
533         constants (currently only TYPE_RET) are not allocated.
534         (simplereg_new_free): Assert that constants (currently only TYPE_RET)
535         are not freed.
536
537 2006-12-16 20:59  edwin
538
539         * src/vm/jit/stack.c (stack_reanalyse_block): Zero line and flags of
540         the appended NOP.
541
542 2006-12-16 20:57  edwin
543
544         * src/vm/jit/replace.c: Prepared for native frames.
545         
546         * src/vm/jit/replace.h: Likewise.
547         (REPLACEMENT_POINTS_RESET): Added.
548
549 2006-12-16 20:51  edwin
550
551         * src/vm/jit/intrp/intrp.h: #include codegen-common.h
552
553 2006-12-16 20:50  edwin
554
555         * src/vm/jit/inline/inline.c (create_body_block): Copy bitflags.
556         (test_inlining): Copy code->optlevel. This is a quick fix for a more
557         general problem: inline_inline should not swap the jitdata, but
558         instead
559         modify it in-place.
560         (inline_inline_intern): Activated speculative inlining code.
561
562 2006-12-16 13:04  twisti
563
564         * src/vm/annotation.c
565         (annotation_load_attribute_runtimevisibleannotations): Extended
566         comment, removed #ifdef ENABLE_JAVASE.
567
568 2006-12-15 23:54  twisti
569
570         * autogen.sh: Check for automake-1.1x.
571
572 2006-12-15 23:53  twisti
573
574         * autogen.sh: Check for automake-1.1x.
575
576 2006-12-13 23:04  twisti
577
578         * src/vm/signal.c (errno.h): Added.
579         (unistd.h): Likewise.
580         (sys/mman.h): Likewise.
581         [__DARWIN__] (sys/types.h): Likewise.
582         (signal_init): mmap a page at 0x0.
583
584 2006-12-12 21:12  twisti
585
586         * src/vm/jit/powerpc/darwin/md-asm.h (replace_build_execution_state):
587         Defined.
588         (replace_free_safestack): Likewise.
589         
590         * src/vm/jit/powerpc/asmpart.S (L_replace_build_execution_state$stub):
591         Added.
592         (L_replace_free_safestack$stub): Likewise.
593
594 2006-12-11 23:29  twisti
595
596         * src/vm/jit/mips/mips/emit.c (emit_arithmetic_check): Added iptr and
597         check INSTRUCTION_MUST_CHECK.
598         (emit_arrayindexoutofbounds_check): Likewise.
599         (emit_arraystore_check): Likewise.
600         (emit_classcast_check): Likewise.
601         (emit_nullpointer_check): Likewise.
602         (emit_exception_check): Likewise.
603         (emit_patcher_stubs): Likewise.
604         
605         * src/vm/jit/mips/mips/md.c (vm/exceptions.h): Added.
606         
607         * src/vm/jit/mips/mips/codegen.c (codegen): Pass iptr to
608         exception-emit functions.
609         
610         * src/vm/jit/mips/mips/irix/md-os.c (vm/jit/codegen-common.h): Added.
611         (md_signal_handler_sigsegv): Call codegen_get_pv_from_pc in
612         error-case.
613
614 2006-12-11 20:31  twisti
615
616         * tests/regression/fp.output: Updated to classpath-0.93.
617         * tests/regression/fptest.output: Likewise.
618
619 2006-12-11 20:16  twisti
620
621         * src/vm/jit/parse.c (MULTIANEWARRAY): Set check-flag.
622
623 2006-12-11 19:55  twisti
624
625         * src/vm/jit/parse.c (CHECKCAST): Set check-flag.
626         [!SUPPORT_HARDWARE_DIVIDE_BY_ZERO] (IDIV, IREM, LDIV, LREM): Set
627         check-flag.
628
629 2006-12-11 19:43  twisti
630
631         * src/vm/signal.c (signal_init): Use SUPPORT_HARDWARE_DIVIDE_BY_ZERO.
632         * src/vm/signallocal.h: Likewise.
633         
634         * src/vm/jit/alpha/arch.h (SUPPORT_HARDWARE_DIVIDE_BY_ZERO): Defined.
635         * src/vm/jit/i386/arch.h: Likewise.
636         * src/vm/jit/mips/arch.h: Likewise.
637         * src/vm/jit/powerpc/arch.h: Likewise.
638         * src/vm/jit/powerpc64/arch.h: Likewise.
639         * src/vm/jit/sparc64/arch.h: Likewise.
640         * src/vm/jit/x86_64/arch.h: Likewise.
641
642 2006-12-11 04:25  ajordan
643
644         * src/vm/jit/sparc64/asmpart.S: Fixed some exception handling.
645         
646         * src/vm/jit/sparc64/patcher.c: Fixed order of patch words.
647         
648         * src/vm/jit/sparc64/md.c: Disp mask in branch patch was wrong.
649         
650         * src/vm/jit/sparc64/codegen.c: Put in ICMD_CHECKNULL.
651
652 2006-12-11 00:28  twisti
653
654         * src/native/vm/java_lang_reflect_Constructor.c (getSignature):
655         Implemented.
656
657 2006-12-10 23:20  twisti
658
659         * src/native/jni.h (_Jv_JavaVM): Renamed total_started_thread_count to
660         java_lang_management_ThreadMXBean_ThreadCount, added
661         java_lang_management_ThreadMXBean_PeakThreadCount,
662         java_lang_management_ThreadMXBean_TotalStartedThreadCount.
663         
664         * src/vm/vm.c (vm_run): Set ThreadMXBean variables.
665         * src/threads/native/threads.c (threads_startup_thread): Likewise.
666         
667         * src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c
668         (getPeakThreadCount): Implemented.
669         (getTotalStartedThreadCount): Use renamed variable.
670         (resetPeakThreadCount): Implemented.
671
672 2006-12-10 22:17  twisti
673
674         * src/vm/jit/powerpc/emit.c (emit_arrayindexoutofbounds_check): Added
675         iptr and check INSTRUCTION_MUST_CHECK.
676         (emit_nullpointer_check): Likewise.
677         
678         * src/vm/jit/powerpc/codegen.c (codegen): Pass iptr to exception-emit
679         functions.
680
681 2006-12-10 22:07  twisti
682
683         * src/vm/jit/alpha/emit.c (emit_arithmetic_check): Added iptr and
684         check INSTRUCTION_MUST_CHECK.
685         (emit_arrayindexoutofbounds_check): Likewise.
686         (emit_classcast_check): Likewise.
687         (emit_nullpointer_check): Likewise.
688         
689         * src/vm/jit/alpha/codegen.c (codegen): Pass iptr to exception-emit
690         functions.
691
692 2006-12-10 21:50  twisti
693
694         * src/vm/jit/x86_64/emit.c (emit_arithmetic_check): Added iptr and
695         check INSTRUCTION_MUST_CHECK.
696         (emit_arrayindexoutofbounds_check): Likewise.
697         (emit_classcast_check): Likewise.
698         (emit_nullpointer_check): Likewise.
699         
700         * src/vm/jit/x86_64/codegen.c (codegen): Pass iptr to exception-emit
701         functions.
702
703 2006-12-10 21:35  twisti
704
705         * src/vm/jit/emit-common.c (emit_array_checks): Pass iptr to emit
706         functions.
707         
708         * src/vm/jit/emit-common.h (emit_arithmetic_check): Added iptr.
709         (emit_arrayindexoutofbounds_check): Likewise.
710         (emit_arraystore_check): Likewise.
711         (emit_classcast_check): Likewise.
712         (emit_nullpointer_check): Likewise.
713         (emit_exception_check): Likewise.
714         
715         * src/vm/jit/i386/emit.c (emit_arithmetic_check): Added iptr and check
716         INSTRUCTION_MUST_CHECK.
717         (emit_arrayindexoutofbounds_check): Likewise.
718         (emit_classcast_check): Likewise.
719         (emit_nullpointer_check): Likewise.
720         
721         * src/vm/jit/i386/codegen.c (codegen): Pass iptr to exception-emit
722         functions.
723
724 2006-12-10 21:27  twisti
725
726         * src/vm/jit/parse.c (ICMD_CHECKNULL): Use OP_CHECK_EXCEPTION.
727         * src/vm/jit/parse.h (OP_CHECK_EXCEPTION): New macro.
728
729 2006-12-10 17:19  ajordan
730
731         * src/vm/jit/sparc64/codegen.h: Fixed float register mapping and
732         compare macros.
733         * src/vm/jit/sparc64/emit.c: Likewise.
734         
735         * src/vm/jit/sparc64/md.c: Fixed branch backpatching, was off by one.
736         * src/vm/jit/sparc64/codegen.c: replaced codegen_addreference() with
737         codegen_add_branch_ref().
738         
739         * src/vm/jit/sparc64/patcher.c: Tested and activated invokevirtual
740         patcher.
741
742 2006-12-09 23:20  ajordan
743
744         * src/vm/jit/sparc64/codegen.h: Reworked float handling, single
745         precision floats are now stored in the upper half of the double pair.
746         
747         * src/vm/jit/sparc64/codegen.c: Fixes for argument handling and
748         get/put-static.
749         * src/vm/jit/sparc64/emit.c: Likewise.
750         * src/vm/jit/sparc64/md-abi.c: Likewise.
751         
752         * src/vm/jit/sparc64/asmpart.S(asm_call_jit_compiler): Fixed float
753         arg saving.
754
755 2006-12-09 00:25  twisti
756
757         * src/vm/jit/powerpc/emit.c (emit_arrayindexoutofbounds_check):
758         Removed hardware-exception code.
759
760 2006-12-08 00:39  edwin
761
762         * src/vm/jit/jit.h (JITDATA_FLAG_INLINE): Added.
763
764 2006-12-08 00:20  edwin
765
766         * src/vm/jit/powerpc/codegen.c: Ported replacement.
767
768 2006-12-08 00:17  edwin
769
770         * src/vm/jit/i386/asmpart.S: Adapted to new execution state layout.
771
772 2006-12-08 00:16  edwin
773
774         * src/vm/jit/replace.h: Use a type union replace_val_t for all source
775         state values. Give the registers in the execution state meaningful
776         types. Properly convert float/double values.
777         * src/vm/jit/replace.c: Likewise.
778         
779         * src/vm/jit/powerpc/asmpart.S: Adapted to new execution state layout.
780         * src/vm/jit/i386/asmpart.S: Likewise.
781
782 2006-12-08 00:07  edwin
783
784         * src/vm/jit/replace.c: Small cleanups.
785
786 2006-12-08 00:06  edwin
787
788         * src/vm/jit/replace.c: Implemented support for linkage area.
789
790 2006-12-08 00:04  edwin
791
792         * src/vm/jit/replace.c: Implement alpha-style stack frames (ra is at
793         top of frame, in leaf methods the ra register is used).
794
795 2006-12-07 23:59  edwin
796
797         * src/vm/jit/alpha/codegen.c (codegen): Fix: Put the
798         REPLACEMENT_POINT_INVOKE_RETURN macro in the right place.
799
800 2006-12-07 23:58  edwin
801
802         * src/vm/jit/alpha/codegen.c: Ported replacement.
803
804 2006-12-07 23:57  edwin
805
806         * src/vm/jit/x86_64/codegen.c: Ported replacement.
807
808 2006-12-07 23:54  edwin
809
810         * src/vm/jit/replace.h: Added macros for codegens.
811         
812         * src/vm/jit/replace.c: Architecture-independent patching of future
813         calls. Use a safe stack area for the final phase of replacement.
814         
815         * src/vm/jit/asmpart.h (asm_replacement_in): Got an additional
816         argument for the safe stack area.
817         
818         * src/vm/jit/powerpc/asmpart.S: Ported.
819         * src/vm/jit/alpha/asmpart.S: Likewise.
820         * src/vm/jit/i386/asmpart.S: Likewise.
821         * src/vm/jit/x86_64/asmpart.S: Likewise.
822
823 2006-12-07 23:44  edwin
824
825         * src/vm/jit/replace.h (replace_safestack_t): Prepared declarations
826         for the safe stack area (not used, yet).
827         (sourceframe_t): Added from/to members.
828         
829         * src/vm/jit/replace.c: Major refactoring.
830
831 2006-12-07 23:32  edwin
832
833         * src/vm/jit/replace.h (rplpoint): Removed members outcode, code,
834         mcode. Fixed bitwidth of regalloccount.
835         (replace_activate_replacement_points): Activate rplpoints per
836         codeinfo.
837         (replace_deactivate_replacement_points): Deactivate --''--.
838         * src/vm/jit/replace.c: Likewise.
839         * src/vm/jit/jit.c: Likewise.
840
841 2006-12-07 23:17  edwin
842
843         * src/vm/jit/replace.h (rplpoint): Removed `target` member.
844         * src/vm/jit/replace.c: Likewise.
845         * src/vm/jit/jit.c: Likewise.
846
847 2006-12-07 23:13  edwin
848
849         * src/vm/jit/codegen-common.c (codegen_finish): Relocate
850         code->replacementstubs, do not use rplpoint.outcode.
851
852 2006-12-07 23:02  edwin
853
854         * src/vm/jit/powerpc/md.c (md_patch_replacement_point): Changed to use
855         an external array for saving machine code.
856         * src/vm/jit/sparc64/md.c: Likewise.
857         * src/vm/jit/alpha/md.c: Likewise.
858         * src/vm/jit/mips/md.c: Likewise.
859         * src/vm/jit/powerpc64/md.c: Likewise.
860         * src/vm/jit/i386/md.c: Likewise.
861         * src/vm/jit/x86_64/md.c: Likewise.
862         
863         * src/vm/jit/replace.h (md_patch_replacement_point): Added arguments.
864         * src/vm/jit/replace.c: Likewise.
865
866 2006-12-07 22:48  edwin
867
868         * src/vm/jit/powerpc/md.c (md_patch_replacement_point): Deactivate
869         debug print.
870         * src/vm/jit/alpha/md.c: Likewise.
871
872 2006-12-07 22:45  edwin
873
874         * src/vm/jit/powerpc/md.c (md_get_method_patch_address): Return NULL
875         if no mptr was specified and the call is dynamically dispatched.
876         * src/vm/jit/sparc64/md.c: Likewise.
877         * src/vm/jit/alpha/md.c: Likewise.
878         * src/vm/jit/mips/md.c: Likewise.
879         * src/vm/jit/i386/md.c: Likewise.
880         * src/vm/jit/powerpc64/md.c: Likewise.
881         * src/vm/jit/x86_64/md.c: Likewise.
882
883 2006-12-07 22:30  edwin
884
885         * src/vm/jit/mips/emit.c: #include <assert.h>
886
887 2006-12-07 22:29  edwin
888
889         * src/vm/jit/alpha/emit.c: #include <assert.h>
890         * src/vm/jit/x86_64/emit.c (emit_replacement_stubs): Ported.
891
892 2006-12-07 22:25  edwin
893
894         * src/vm/jit/powerpc/emit.c (emit_replacement_stubs): Prepared for
895         removal of rplpoint.mcode.
896         * src/vm/jit/alpha/emit.c: Likewise.
897         * src/vm/jit/mips/emit.c: Likewise.
898         * src/vm/jit/i386/emit.c: Likewise.
899         * src/vm/jit/x86_64/emit.c: Likewise.
900
901 2006-12-07 22:19  edwin
902
903         * src/vm/jit/powerpc/emit.c (emit_replacement_stubs): Do not
904         set rplp->outcode.
905         * src/vm/jit/alpha/emit.c: Likewise.
906         * src/vm/jit/mips/emit.c: Likewise.
907         * src/vm/jit/i386/emit.c: Likewise.
908         * src/vm/jit/x86_64/emit.c: Likewise.
909
910 2006-12-07 20:39  edwin
911
912         * src/vm/jit/code.c (code_find_codeinfo_for_pc): New function.
913         * src/vm/jit/code.h (codeinfo): Added codeinfo flags,
914         replacementstubs,
915         and savedmcode.
916         
917         * src/vm/jit/jit.c (jit_invalidate_code): Use codeinfo flags.
918         (jit_get_current_code): Likewise.
919
920 2006-12-07 20:14  edwin
921
922         * src/vm/jit/powerpc/arch.h (REPLACEMENT_PATCH_SIZE): Added.
923         (REPLACEMENT_STUB_SIZE): Added.
924         * src/vm/jit/sparc64/arch.h: Likewise.
925         * src/vm/jit/alpha/arch.h: Likewise.
926         * src/vm/jit/mips/arch.h: Likewise.
927         * src/vm/jit/parisc/arch.h: Likewise.
928         * src/vm/jit/powerpc64/arch.h: Likewise.
929         * src/vm/jit/i386/arch.h: Likewise.
930         * src/vm/jit/x86_64/arch.h: Likewise.
931
932 2006-12-07 19:57  ajordan
933
934         * scr/vm/jit/sparc64/emit.c: Fixed M_XOR and iconst, lconst.
935         * src/vm/jit/sparc64/codegen.h: Likewise
936         
937         * src/vm/jit/sparc64/codegen.c: Allocating (ABI defined) param array
938         on stack before builtin call.
939
940 2006-12-07 10:59  twisti
941
942         * src/vm/jit/x86_64/emit.c (vm/options.h): Added.
943         (emit_arithmetic_check): New function.
944         (emit_arrayindexoutofbounds_check): Likewise.
945         (emit_classcast_check): Likewise.
946         (emit_nullpointer_check): Likewise.
947         
948         * src/vm/jit/x86_64/codegen.c (codegen): Use emit_*_check functions
949         for exception checks.
950         (IDIV, IREM, LDIV, LREM): Use emit_{load,store} functions.
951         
952         * src/vm/jit/x86_64/codegen.h (gen_nullptr_check): Removed.
953         (gen_bound_check): Likewise.
954         (gen_resolvebranch): Likewise.
955
956 2006-12-06 22:15  twisti
957
958         * src/native/vm/java_lang_VMClass.c (forName): Throw NPE if null is
959         passed.
960
961 2006-12-06 10:49  twisti
962
963         * src/vm/jit/i386/emit.c (vm/options.h): Added.
964         (emit_arithmetic_check): New function.
965         (emit_arrayindexoutofbounds_check): Likewise.
966         (emit_classcast_check): Likewise.
967         (emit_nullpointer_check): Likewise.
968         
969         * src/vm/jit/i386/codegen.c (codegen): Use emit_*_check functions for
970         exception checks.
971         
972         * src/vm/jit/i386/codegen.h (gen_nullptr_check): Removed.
973         (gen_bound_check): Likewise.
974
975 2006-12-06 10:37  twisti
976
977         * src/vm/jit/emit-common.c [__ALPHA__ || __POWERPC__]
978         (emit_array_checks): Removed #ifdef's.
979
980 2006-12-06 09:53  twisti
981
982         * src/vm/jit/i386/emit.c (emit_verbosecall_enter): Check for
983         JITDATA_HAS_FLAG_VERBOSECALL.
984         (emit_verbosecall_exit): Likewise.
985         
986         * src/vm/jit/i386/codegen.c (codegen): Removed
987         JITDATA_HAS_FLAG_VERBOSECALL check.
988         (createnativestub): Likewise.
989
990 2006-12-06 09:47  twisti
991
992         * src/vm/builtin.c [ENABLE_JIT] (builtintable_replace_function):
993         #ifdef'ed.
994
995 2006-12-05 23:58  ajordan
996
997         * src/vm/jit/sparc64/emit.c: stack bias used in emit_load and
998         emit_store.
999         
1000         * src/vm/jit/sparc64/md.c (md_stacktrace_get_returnaddress): let it
1001         return the original ra (address of the call instruction).
1002         
1003         * src/vm/jit/sparc64/codegen.h: fixed M_RESTORE instruction.
1004         
1005         * src/vm/jit/sparc64/codegen.c: fixed datasp argument for
1006         codegen_finish_native_call.
1007
1008 2006-12-05 21:10  twisti
1009
1010         * src/vm/exceptions.h (EXCEPTION_LOAD_DISP_NULLPOINTER)
1011         (EXCEPTION_LOAD_DISP_ARITHMETIC)
1012         (EXCEPTION_LOAD_DISP_ARRAYINDEXOUTOFBOUNDS)
1013         (EXCEPTION_LOAD_DISP_CLASSCAST, EXCEPTION_LOAD_DISP_PATCHER): Defined.
1014         
1015         * src/vm/signal.c (signal_init): Removed checknull-check.
1016         
1017         * src/vm/jit/powerpc/emit.c (vm/exceptions.h): Added.
1018         (emit_arrayindexoutofbounds_check): Added hardware-exception version.
1019         
1020         * src/vm/jit/powerpc/darwin/md-os.c (md_signal_handler_sigsegv):
1021         Started to handle other hardware-exceptions.
1022
1023 2006-12-04 23:48  twisti
1024
1025         * src/vm/jit/x86_64/codegen.c (createcompilerstub): Don't generate a
1026         codeinfo.
1027
1028 2006-12-04 23:39  twisti
1029
1030         * src/vm/jit/powerpc64/codegen.c (createcompilerstub): Don't generate
1031         a codeinfo.
1032
1033 2006-12-04 23:36  twisti
1034
1035         * src/vm/jit/powerpc64/linux/md-os.c (vm/jit/profile/profile.h):
1036         Changed to vm/jit/optimizing/profile.h.
1037
1038 2006-12-04 23:30  twisti
1039
1040         * src/vm/jit/alpha/codegen.c (createcompilerstub): Don't generate a
1041         codeinfo.
1042
1043 2006-12-04 23:16  twisti
1044
1045         * src/vm/jit/i386/codegen.c (createcompilerstub): Don't generate a
1046         codeinfo.
1047
1048 2006-12-04 22:51  twisti
1049
1050         * src/vm/jit/powerpc/codegen.c (createcompilerstub): Don't generate a
1051         codeinfo.
1052
1053 2006-12-04 22:21  twisti
1054
1055         * src/vm/jit/code.c (code_init): New function.
1056         * src/vm/jit/code.h (code_init): Added.
1057         * src/vm/jit/jit.c (jit_init): Added code_init call.
1058
1059 2006-12-04 22:18  twisti
1060
1061         * src/vm/jit/code.h (vm/global.h): Added.
1062
1063 2006-12-04 14:46  ajordan
1064
1065         * src/vm/jit/sparc64/codegen.h: updated code to new dseg functions.
1066         * src/vm/jit/sparc64/codegen.c: Likewise.
1067         * src/vm/jit/sparc64/emit.c: Likewise.
1068
1069 2006-12-04 11:20  twisti
1070
1071         * src/vm/vm.c (vm_create): Moved properties_postinit after jar-file
1072         handling. This fixes an eclipse bug found by mjw and neugens.
1073
1074 2006-12-04 02:05  michi
1075
1076         * src/mm/cacao-gc/compact.c: Now uses regioninfo; Added
1077         compact_thread_classes
1078         Fixed compact_move; Disabled some logging.
1079         * src/mm/cacao-gc/compact.h: Now uses regioninfo.
1080
1081 2006-12-03 22:45  twisti
1082
1083         * src/vm/vm.c (version): Print classpath variable.
1084
1085 2006-12-03 17:55  michi
1086
1087         * src/mm/cacao-gc/compact.c: Added.
1088         * src/mm/cacao-gc/compact.h: Added.
1089
1090 2006-12-02 15:01  tbfg
1091
1092         * configure.ac: Added m68k host_cpu support. Added uclinux host_os
1093         support.
1094
1095 2006-12-02 14:54  tbfg
1096
1097         * src/native/tools/gennativetable.c (main): Renamed nogc_init
1098         to gc_init in DISABLE_GC path.
1099         
1100         * src/native/Makefile.am: Introduced GENNATIVETABLE to
1101         make crosscompilation a friendlier experience. Rewrote
1102         rule for nativetable.inc accordingly.
1103         
1104         * src/threads/native/threads.c (threads_cast_stopworld) [!DISABLE_GC]:
1105         Depends on GC_signum1 and GC_signum2 which are undefined without
1106         garbage collector.
1107         (threads_cast_startworld): Likewise.
1108         (threads_sigsuspend_handler): Likewise.
1109
1110 2006-12-02 12:22  twisti
1111
1112         * src/vm/builtin.c (builtin_trace_args): Added missing + for
1113         logtextlen, thanks to --enable-memcheck.
1114
1115 2006-12-01 16:51  twisti
1116
1117         * src/vm/jit/x86_64/codegen.h (vm/jit/x86_64/emit.h): Added.
1118
1119 2006-12-01 11:38  tbfg
1120
1121         * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method):
1122         Fixed a bug in argument handling when using lwz instead
1123         of lwa zeroed out sign extension bits which lead to wrong
1124         int->string conversion in exception handling path.
1125
1126 2006-11-29 22:33  edwin
1127
1128         * tests/regression/jasmin/test_verify_fail_merge_init_nullpointer.j:
1129         New test.
1130         
1131         * tests/regression/jasmin/test_verify_fail_init_nullpointer.j: Pass
1132         null pointer without merging.
1133         
1134         * tests/regression/jasmin/Makefile.am: Added new test.
1135
1136 2006-11-29 20:44  twisti
1137
1138         * src/vm/jit/dseg.h (jumpref, dataref, exceptionref, patchref)
1139         (linenumberref): Moved to codegen-common.h.
1140         * src/vm/jit/codegen-common.h: Likewise.
1141
1142 2006-11-29 20:34  twisti
1143
1144         * src/vm/jit/emit-common.c (emit_bc): Commented emit_branch call.
1145
1146 2006-11-29 20:15  twisti
1147
1148         * src/vm/jit/x86_64/emit.h (config.h): Added.
1149         (vm/jit/codegen-common.h): Likewise.
1150         (vm/jit/jit.h): Likewise.
1151
1152 2006-11-29 17:08  twisti
1153
1154         * src/vm/class.h [ENABLE_JAVASE] (vm/annotation.h): Added.
1155         [ENABLE_JAVASE] (classinfo): Added runtimevisibleannotationscount,
1156         runtimevisibleannotations.
1157
1158 2006-11-29 17:04  twisti
1159
1160         * src/vm/annotation.c: New file.
1161         * src/vm/annotation.h: Likewise.
1162         * src/vm/Makefile.am [ENABLE_JAVASE] (ANNOTATION_OBJ): Added.
1163
1164 2006-11-29 17:00  twisti
1165
1166         * src/vm/resolve.h (vm/field.h): Added.
1167
1168 2006-11-28 22:36  twisti
1169
1170         * src/vm/jit/emit-common.c (emit_bc): Temporary compile fix
1171
1172 2006-11-28 22:32  twisti
1173
1174         * src/vm/jit/i386/codegen.h (vm/jit/i386/emit.h): Added.
1175
1176 2006-11-28 22:28  twisti
1177
1178         * src/vm/statistics.c (count_branches_resolved)
1179         (count_branches_unresolved): New variable.
1180         (print_stats): Print new variables.
1181         
1182         * src/vm/statistics.h (count_branches_resolved)
1183         (count_branches_unresolved): Added.
1184
1185 2006-11-28 22:25  twisti
1186
1187         * src/vm/jit/emit-common.c (codegen.h): Added.
1188         (vm/options.h): Likewise.
1189         [ENABLE_STATISTICS] (vm/statistics.h): Likewise.
1190         (emit_bc): New function.
1191         (emit_br): Likewise.
1192         
1193         * src/vm/jit/emit-common.h (emit_branch): Added.
1194
1195 2006-11-28 22:19  twisti
1196
1197         * src/vm/jit/alpha/codegen.h (BRANCH_NOPS): Defined.
1198         * src/vm/jit/i386/codegen.h (BRANCH_NOPS, PATCHER_NOPS): Likewise.
1199         * src/vm/jit/mips/codegen.h (BRANCH_NOPS): Likewise.
1200         * src/vm/jit/powerpc/codegen.h (BRANCH_NOPS): Likewise.
1201         * src/vm/jit/powerpc64/codegen.h (BRANCH_NOPS, PATCHER_CALL_SIZE)
1202         (PATCHER_NOPS): Likewise.
1203         * src/vm/jit/x86_64/codegen.h (BRANCH_NOPS): Likewise.
1204
1205 2006-11-28 22:04  twisti
1206
1207         * src/vm/jit/dseg.c (dseg_get_linenumber_from_pc_intern):
1208         Short-circuit the common case.
1209
1210 2006-11-28 21:50  twisti
1211
1212         * src/native/tools/Makefile.am (GC_LIB): Removed.
1213
1214 2006-11-28 19:58  twisti
1215
1216         * src/vm/jit/emit-common.c (emit_beq, emit_bne, emit_blt, emit_bge)
1217         (emit_bgt, emit_ble, emit_bnan): New functions.
1218         * src/vm/jit/emit-common.h (emit_beq, emit_bne, emit_blt, emit_bge)
1219         (emit_bgt, emit_ble, emit_bnan): Added.
1220         
1221         * src/vm/jit/codegen-common.h (BRANCH_UNCONDITIONAL, BRANCH_EQ)
1222         (BRANCH_NE, BRANCH_LT, BRANCH_GE, BRANCH_GT, BRANCH_LE, BRANCH_NAN):
1223         Added.
1224
1225 2006-11-28 19:24  edwin
1226
1227         *
1228         tests/regression/jasmin/test_verify_fail_merge_different_new_objects.j:
1229         New test.
1230         
1231         * tests/regression/jasmin/test_verify_fail_init_nullpointer.j:
1232         Likewise.
1233         
1234         * tests/regression/jasmin/Makefile.am: Added new tests.
1235         * src/vm/jit/verify/typeinfo.c (typeinfo_merge_error): Moved debug
1236         print into #ifdef TYPEINFO_VERBOSE.
1237
1238 2006-11-28 19:14  twisti
1239
1240         * src/vm/jit/alpha/codegen.h (PATCHER_CALL_SIZE): Defined.
1241
1242 2006-11-28 15:11  twisti
1243
1244         * src/native/vm/java_lang_VMThrowable.c
1245         (native/include/java_lang_VMClass.h): Removed.
1246         (getStackTrace): Use native_class_getname.
1247
1248 2006-11-28 01:07  ajordan
1249
1250         * src/vm/jit/sparc64/asmpart.S: fixed asm_patcher_wrapper
1251         * src/vm/jit/sparc64/patcher.c: updated some patchers and the wrapper
1252         * src/vm/jit/sparc64/emit.c: likewise
1253         
1254         * src/vm/jit/sparc64/codegen.h: fixed M_BRACC
1255         
1256         * src/vm/jit/sparc64/codegen.c: added reg window workaround for arg
1257         register copying.
1258         some patch ref updates
1259         
1260         * src/vm/jit/sparc64/md.c: updated md_codegen_patch_branch()
1261
1262 2006-11-27 20:05  twisti
1263
1264         * src/vm/jit/powerpc/codegen.h (PATCHER_CALL_SIZE): Defined.
1265
1266 2006-11-27 16:53  edwin
1267
1268         * src/vm/jit/replace.c: Lazy patching of virtual methods. Cleanup.
1269         * src/vm/jit/replace.h: Likewise.
1270
1271 2006-11-27 15:37  edwin
1272
1273         * src/vm/jit/replace.h (sourceframe_t): Added normalized type
1274         of replacement point.
1275         
1276         * src/vm/jit/replace.c (replace_normalize_type_map): Added
1277         normalization table for replacement point types.
1278         (replace_read_executionstate): Set normalized type of rplpoint.
1279         (replace_find_replacement_point): Match normalized type of rplpoint.
1280         (replace_source_frame_println): Print it.
1281
1282 2006-11-27 15:29  edwin
1283
1284         * src/vm/jit/i386/codegen.c (codegen): set marker in line number table
1285         _after_ inlining prolog (This fixes the stacktrace for the CHECKNULL
1286         in
1287         the prolog.)
1288         
1289         * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Document that
1290         it is now called with the INLINE_BODY instruction.
1291
1292 2006-11-27 15:24  edwin
1293
1294         * src/vm/jit/i386/codegen.cn (codegen): Use the new functions for
1295         setting replacement point addresses.
1296
1297 2006-11-27 15:23  edwin
1298
1299         * src/vm/jit/codegen-common.c (codegen_set_replacement_point_notrap):
1300         New function.
1301         (codegen_set_replacement_point): Likewise.
1302         
1303         * src/vm/jit/codegen-common.h (codegendata): Added field
1304         `replacementpoint`.
1305         (codegen_set_replacement_point_notrap): Added prototype.
1306         (codegen_set_replacement_point): Likewise.
1307         
1308         * src/vm/jit/replace.h (RPLPOINT_CHECK): New macro.
1309         (RPLPOINT_CHECK_BB): Likewise.
1310
1311 2006-11-27 15:19  edwin
1312
1313         * src/vm/jit/replace.c
1314         (replace_create_inline_start_replacement_point):
1315         New function.
1316         (replace_create_replacement_points): Cleaned up.
1317
1318 2006-11-27 15:15  edwin
1319
1320         * src/vm/jit/stack.c (stack_javalocals_store): New function.
1321         * src/vm/jit/stack.h (stack_javalocals_store): Likewise.
1322         
1323         * src/vm/jit/inline/inline.c (inline_clone_instruction): Use
1324         stack_javalocals_store.
1325         
1326         * src/vm/jit/replace.c (replace_create_replacement_points): Use
1327         stack_javalocals_store. Other cleanups.
1328
1329 2006-11-27 15:11  edwin
1330
1331         * src/vm/jit/replace.c (replace_create_replacement_points): Create
1332         non-trappable replacement point for INLINE_BODY.
1333         
1334         * src/vm/jit/i386/codegen.c (codegen): Handle replacement point
1335         for INLINE_BODY.
1336
1337 2006-11-27 15:06  edwin
1338
1339         * src/vm/jit/replace.h (RPLPOINT_TYPE_BODY): Added.
1340         * src/vm/jit/replace.c: Likewise.
1341
1342 2006-11-27 15:03  edwin
1343
1344         * src/vm/jit/inline/inline.c (emit_inlining_prolog): Do not emit
1345         CHECKNULL in prolog for <init> methods.
1346
1347 2006-11-27 15:02  edwin
1348
1349         * src/vm/jit/inline/inline.c (emit_inlining_prolog): Emit INLINE_BODY
1350         instructions at end of prolog.
1351
1352 2006-11-27 14:58  edwin
1353
1354         * src/vm/jit/icmdtable.inc (INLINE_GOTO): Removed.
1355         (INLINE_BODY): Added. This instruction will mark the start of the
1356         inlined method body after the prolog.
1357         
1358         * src/vm/jit/jit.h: Likewise.
1359         
1360         * src/vm/jit/show.c (show_icmd): Likewise.
1361         
1362         * src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
1363         Likewise.
1364         
1365         * src/vm/jit/i386/codegen.c (codegen): Likewise.
1366         
1367         * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Regenerated.
1368
1369 2006-11-27 14:48  edwin
1370
1371         * src/vm/jit/i386/emit.c (emit_memabs): Removed.
1372         (emit_alu_imm_memabs): Use emit_mem.
1373
1374 2006-11-27 14:39  edwin
1375
1376         * src/vm/jit/stack.c (stack_reanalyse_block): Removed bogus cases
1377         for INLINE_ instructions. They cannot occur here.
1378         (stack_analyse): Likewise.
1379
1380 2006-11-27 14:37  michi
1381
1382         * src/mm/gc-common.h: Added prototype for heap_init_objectheader.
1383         * src/vm/builtin.c (builtin_clone): Object header gets initiated
1384         after cloning.
1385
1386 2006-11-27 14:35  edwin
1387
1388         * src/vm/jit/jit.c (jit_invalidate_code): Do not trap non-trappable
1389         replacement points.
1390         (jit_request_optimization): New function.
1391         (jit_get_current_code): New function.
1392         
1393         * src/vm/jit/jit.h (jit_request_optimization): Added prototype.
1394         (jit_get_current_code): Likewise.
1395         
1396         * src/vm/jit/replace.h (RPLPOINT_FLAG_NOTRAP): New flag.
1397         
1398         * src/vm/jit/replace.c (replace_replacement_point_println): Prepared
1399         for new flag.
1400
1401 2006-11-27 14:27  edwin
1402
1403         * src/vm/jit/jit.c (jit_invalidate_code): Do not activate RETURN
1404         rplpoints when invalidating code (they cannot be mapped to inlined
1405         versions of the code).
1406
1407 2006-11-27 14:26  edwin
1408
1409         * src/vm/jit/replace.c (replace_create_replacement_points): Some fixes
1410         for inlining.
1411
1412 2006-11-27 14:24  edwin
1413
1414         * src/vm/jit/replace.c (replace_find_replacement_point): Match parent
1415         of replacement point.
1416         (replace_me): Keep parent of rplpoint around.
1417
1418 2006-11-27 14:20  edwin
1419
1420         * src/vm/jit/i386/emit.c (emit_memabs): New function.
1421         (emit_alu_imm_memabs): New function.
1422         
1423         * src/vm/jit/i386/emit.h (emit_alu_imm_memabs): Added prototype.
1424         
1425         * src/vm/jit/i386/codegen.h (M_ISUB_IMM_MEMABS): New macro.
1426
1427 2006-11-25 16:32  michi
1428
1429         * src/mm/cacao-gc/gc.h: Added.
1430         * src/mm/cacao-gc/gc.c: Debugging with gc_call. Added some
1431         development breaks.
1432         Added gc_get_heap_size, gc_get_free_bytes, gc_get_total_bytes and
1433         gc_get_max_heap_size.
1434
1435 2006-11-22 21:19  twisti
1436
1437         * src/vm/jit/x86_64/codegen.c (codegen): Use new dseg_add_* functions,
1438         replaced codegen_addreference with codegen_add_branch_ref.
1439         (createnativestub): Likewise.
1440         * src/vm/jit/x86_64/emit.c (emit_patcher_stubs): Likewise.
1441
1442 2006-11-22 20:24  twisti
1443
1444         * src/vm/jit/stacktrace.c (linenumbertable_entry): Removed.
1445         (stacktrace_add_method_intern): Removed.
1446         (stacktrace_add_method): Call dseg_get_linenumber_from_pc.
1447         
1448         * src/vm/jit/dseg.c (vm/jit/methodheader.h): Added.
1449         (dseg_get_linenumber_from_pc_intern): New function.
1450         (dseg_get_linenumber_from_pc): Likewise.
1451         
1452         * src/vm/jit/dseg.h (linenumbertable_entry): Added.
1453         (dseg_get_linenumber_from_pc): Likewise.
1454         
1455         * src/vm/jit/show.c (show_method): Renamed u1ptr to pc.
1456         (show_basicblock): Use dseg_get_linenumber_from_pc to diplay line
1457         number in disassembly.
1458
1459 2006-11-22 19:00  twisti
1460
1461         * src/mm/gc-common.h [DISABLE_GC] (nogc_init, nogc_realloc): Removed.
1462
1463 2006-11-22 18:22  edwin
1464
1465         * src/vm/jit/x86_64/codegen.c (codegen): Do not generate code for
1466         ASTORE
1467         storing a returnAddress, as 1) the store is dead, and 2) the dest.
1468         variable has no valid allocation.
1469
1470 2006-11-22 18:20  edwin
1471
1472         * src/vm/jit/sparc64/codegen.c (codegen): Do not generate code for
1473         ASTORE
1474         storing a returnAddress, as 1) the store is dead, and 2) the dest.
1475         variable has no valid allocation.
1476
1477 2006-11-22 18:18  edwin
1478
1479         * src/vm/jit/powerpc64/codegen.c (codegen): Do not generate code for
1480         ASTORE
1481         storing a returnAddress, as 1) the store is dead, and 2) the dest.
1482         variable has no valid allocation.
1483
1484 2006-11-22 18:16  edwin
1485
1486         * src/vm/jit/mips/codegen.c (codegen): Do not generate code for ASTORE
1487         storing a returnAddress, as 1) the store is dead, and 2) the dest.
1488         variable has no valid allocation.
1489
1490 2006-11-22 18:12  edwin
1491
1492         * src/vm/jit/i386/codegen.c (codegen): Do not generate code for ASTORE
1493         storing a returnAddress, as 1) the store is dead, and 2) the dest.
1494         variable has no valid allocation.
1495
1496 2006-11-22 18:09  edwin
1497
1498         * src/vm/jit/powerpc/codegen.c (codegen): Do not generate code for
1499         ASTORE
1500         storing a returnAddress, as 1) the store is dead, and 2) the dest.
1501         variable has no valid allocation.
1502
1503 2006-11-22 18:03  edwin
1504
1505         * src/vm/jit/alpha/codegen.c (codegen): Do not generate code for
1506         ASTORE
1507         storing a returnAddress, as 1) the store is dead, and 2) the dest.
1508         variable has no valid allocation.
1509
1510 2006-11-22 11:05  twisti
1511
1512         * configure.ac: Added *kfreebsd*-gnu.
1513         * src/vm/suck.c (scandir_filter) [_DIRENT_HAVE_D_NAMLEN]: Bugfix.
1514
1515 2006-11-22 10:50  twisti
1516
1517         * src/vm/jit/i386/codegen.c (codegen): Use new dseg_add_* functions.
1518         (createnativestub): Likewise.
1519         * src/vm/jit/i386/emit.c (emit_patcher_stubs): Likewise.
1520
1521 2006-11-21 23:21  twisti
1522
1523         * native.c (native_class_getname): New function.
1524         * native.h (native_class_getname): Added.
1525         * vm/java_lang_VMClass.c (getName): Use native_class_getname.
1526
1527 2006-11-21 21:02  twisti
1528
1529         * src/vm/builtin.c [DISABLE_GC] (builtin_idiv): Added.
1530         (builtin_f2i): Likewise.
1531         (builtin_d2i): Likewise.
1532         
1533         * src/vm/vm.c (vm_create): Removed nogc_init call.
1534         * src/cacaoh/cacaoh.c (main): Likewise.
1535         
1536         * src/mm/nogc.c (nogc_realloc): Removed.
1537         (nogc_init): Renamed to gc_init.
1538         (gc_init): Removed.
1539         (gc_get_total_bytes): Added.
1540         
1541         * src/mm/memory.h [DISABLE_GC] (NEW, FREE, MNEW, MFREE, MREALLOC):
1542         Removed.
1543
1544 2006-11-21 16:56  michi
1545
1546         * src/vm/loader.c (load_class_from_classbuffer) [ENABLE_GC_CACAO]:
1547         Fieldinfos
1548         are no longer placed onto the heap.
1549         
1550         * src/vm/class.c (class_free) [ENABLE_GC_CACAO]: Fieldinfos are freed.
1551
1552 2006-11-20 18:57  tbfg
1553
1554         * src/vm/jit/powerpc64/codegen.c (codegen): Replace dseg_add*
1555         by dseg_add_* functions.
1556         
1557         * src/vm/jit/powerpc64/emit.c: Likewise.
1558
1559 2006-11-20 16:18  twisti
1560
1561         * src/vm/jit/dseg.h (dseg_adds4, dseg_adds8, dseg_addfloat)
1562         (dseg_adddouble, dseg_addaddress, dseg_addtarget): Removed.
1563         
1564         * src/vm/jit/alpha/codegen.c (codegen): Removed remaining old-dseg_add
1565         calls.
1566         * src/vm/jit/alpha/emit.c (emit_iconst): Replaced dseg_adds4 with
1567         dseg_add_s4.
1568         (emit_lconst): Replaced dseg_adds8 with dseg_add_s8.
1569
1570 2006-11-20 14:18  michi
1571
1572         * src/vm/global.h: Added hdrflags to java_objectheader for exact
1573         Cacao-GC.
1574         * src/threads/native/lock.c: Now uses hdrflags to store the FLC bit.
1575
1576 2006-11-19 18:25  michi
1577
1578         * src/mm/cacao-gc/Makefile.am: Added mark.c
1579         * src/mm/cacao-gc/mark.c: Added
1580
1581 2006-11-19 15:40  edwin
1582
1583         * src/vm/jit/replace.c: Only recompile if necessary. Count
1584         re-compilations.
1585
1586 2006-11-19 15:39  edwin
1587
1588         * src/vm/jit/replace.c: Added statistics code.
1589
1590 2006-11-19 15:36  edwin
1591
1592         * src/vm/jit/replace.c (replace_me): Only turn off replacement
1593         points for self-replacement. Warn in this case.
1594
1595 2006-11-19 15:33  edwin
1596
1597         * src/vm/jit/replace.c (replace_write_executionstate): Take
1598         synchronization slots from next frame for inline points.
1599
1600 2006-11-19 15:28  edwin
1601
1602         * src/vm/jit/replace.c: Handle and match returnAddress variables on
1603         the java stack.
1604
1605 2006-11-19 15:22  edwin
1606
1607         * src/vm/jit/stack.c (stack_analyse): Keep TYPE_RET for variables
1608         of returnAddress type. Do not create interfaces for this type.
1609         Mark block variables of TYPE_RET as PREALLOC to avoid subsequent
1610         allocation.
1611         
1612         * src/vm/jit/icmdtable.inc (ASTORE): Added TYPE_RET (R--) variant.
1613         (JSR): Changed destination type to TYPE_RET (R).
1614         
1615         * src/vm/jit/verify/icmds.c (ICMD_RET): Check local for type
1616         TYPE_RET.
1617         
1618         * src/vm/jit/verify/typeinfo.h (TYPE_IS_RETURNADDRESS): Check type
1619         for TYPE_RET.
1620         
1621         * src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
1622         * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Regenerated.
1623
1624 2006-11-19 15:10  edwin
1625
1626         * src/vm/jit/jit.c (jit_invalidate_code): Activate replacement points
1627         in reverse order. This avoid creating invalid code when rplpoints
1628         within a block overlap each other. It is not a complete solution for
1629         overlapping replacement points, however.
1630
1631 2006-11-19 15:08  edwin
1632
1633         * src/vm/jit/inline/inline.c (translate_javalocals): Adapted to
1634         returnAddress variables in javalocals.
1635         (inline_clone_instruction): Likewise.
1636
1637 2006-11-19 15:04  edwin
1638
1639         * src/vm/jit/stack.c (stack_mark_reached): Fix: Do not compare basic
1640         block addresses. Compare numbers instead.
1641         (stack_mark_reached_from_outvars): Likewise.
1642
1643 2006-11-19 15:03  edwin
1644
1645         * src/vm/jit/jit.h (INS_FLAG_CLASS): Comment that this flag is also
1646         used for PUTFIELDCONST and PUTSTATICCONST.
1647         
1648         * src/vm/jit/verify/icmds.c (ICMD_PUTFIELDCONST, ICMD_PUTSTATICCONST):
1649         Honor the INS_FLAG_CLASS flag and set the right type.
1650         
1651         * src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
1652         * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Regenerated.
1653
1654 2006-11-19 14:56  edwin
1655
1656         * src/vm/jit/stack.c (stack_analyse): Show state after last ICMD in
1657         block.
1658         (stack_verbose_show_block): Use show_javalocals_array.
1659         (stack_verbose_show_state): Likewise. Accept iptr == NULL.
1660
1661 2006-11-19 14:51  edwin
1662
1663         * src/vm/jit/replace.c (replace_source_frame_println): Fixed printing
1664         of source stack.
1665
1666 2006-11-19 14:50  edwin
1667
1668         * src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
1669         Do not clear vv.regoff for ICMD_JSR (we need vv.retaddr later).
1670
1671 2006-11-18 22:16  twisti
1672
1673         * src/vm/properties.c (properties_add): Use unsynced functions of
1674         list.
1675         (properties_get): Likewise.
1676
1677 2006-11-17 15:47  twisti
1678
1679         * src/vm/properties.c (properties_add): Replace entry if it already
1680         exists.
1681
1682 2006-11-16 22:14  twisti
1683
1684         * src/vm/builtin.c (native/native.h)
1685         (native/include/java_lang_Cloneable.h)
1686         (native/include/java_lang_Object.h)
1687         (native/include/java_lang_VMObject.h): Removed.
1688         (builtin_clone_array): Renamed to builtin_clone, reimplemented.
1689         
1690         * src/vm/builtin.h (builtin_clone_array): Renamed to builtin_clone.
1691         (BUILTIN_clone): Defined.
1692         
1693         * src/vm/loader.c (load_newly_created_array): Use BUILTIN_clone.
1694         
1695         * src/native/vm/java_lang_VMObject.c (clone): Removed implementation
1696         and call builtin_clone.
1697
1698 2006-11-16 19:45  twisti
1699
1700         * src/vm/class.h (classinfo): Typedef added.
1701         * src/vm/descriptor.h (typedesc): Likewise.
1702         (methoddesc): Likewise.
1703         * src/vm/field.h (fieldinfo): Likewise.
1704         * src/vm/method.h (methodinfo): Likewise.
1705         
1706         * src/vm/references.h (config.h, vm/types.h, vm/class.h)
1707         (vm/descriptor.h, vm/field.h, vm/method.h): Likewise.
1708         (classinfo, methodinfo, fieldinfo, typedesc, methoddesc): Removed.
1709         (constant_classref, classref_or_classinfo, parseddesc): Moved.
1710
1711 2006-11-16 15:56  twisti
1712
1713         * src/vm/vm.c (vm_createjvm): New function.
1714         * src/vm/vm.h (vm_createjvm): Added.
1715         
1716         * src/cacao/cacao.c (main): Resolve and call vm_createjvm instead of
1717         JNI_CreateJavaVM.
1718         
1719         * src/native/jni.c (jni_init_localref_table): Made non-static.
1720         (JNI_CreateJavaVM): Moved implementation into vm_createjvm.
1721         * src/native/jni.h (jni_init_localref_table): Added.
1722
1723 2006-11-16 00:02  edwin
1724
1725         * src/vm/jit/stack.c (stack_analyse): Fix: Reset deadcode when
1726         re-analysing a block.
1727
1728 2006-11-15 23:45  edwin
1729
1730         * src/vm/jit/verify/generate.pl: Prepared for LOAD instructions with
1731         multiple variants (will be needed for ASTORE).
1732
1733 2006-11-15 23:44  edwin
1734
1735         * src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
1736         Ignore TYPE_RET interface variables. (Preparation.)
1737         
1738         * src/vm/jit/show.c (show_allocation): Prepared for TYPE_RET
1739         variables.
1740         (show_variable_intern): Likewise.
1741         
1742         * src/vm/jit/verify/typecheck.c (STORE_LOCAL): Made the macro safer.
1743         (STORE_LOCAL_2_WORD): Likewise.
1744         
1745         * src/vm/jit/verify/typeinfo.c (typeinfo_print_type): Prepared for
1746         TYPE_RET variables.
1747         
1748         * src/vm/jit/replace.c (replace_source_frame_println): Prepared for
1749         void stackslots.
1750
1751 2006-11-15 23:37  edwin
1752
1753         * src/vm/jit/jit.c (jit_recompile): Set verbosecall flag.
1754
1755 2006-11-15 23:36  edwin
1756
1757         * src/vm/jit/replace.c (replace_create_replacement_points): Fix: Only
1758         put a replacement point at a back branch target if the block does not
1759         contain any other replacement point.
1760         
1761         (replace_read_executionstate): Better debugging helpers.
1762         (replace_me): Likewise.
1763         
1764         * src/vm/jit/replace.h (sourceframe_t): Added a field for debugging.
1765
1766 2006-11-15 23:33  edwin
1767
1768         * src/vm/jit/stack.c (stack_reanalyse_block): Encode returnAddresses
1769         in the javalocals array.
1770         (stack_analyse): Likewise.
1771         
1772         * src/vm/jit/replace.c (replace_create_replacement_point): Store
1773         returnAddresses in replacement points.
1774         (replace_create_replacement_points): Encode returnAddresses in
1775         javalocals.
1776         (replace_read_executionstate): Ignore returnAddresses.
1777         (replace_write_executionstate): Likewise.
1778         (replace_find_replacement_point): Match returnAddresses.
1779
1780 2006-11-15 23:30  edwin
1781
1782         * src/vm/jit/show.h (show_javalocals_array): New function.
1783         
1784         * src/vm/jit/show.c (show_javalocals_array): New function.
1785         (show_icmd): Prepared for showing returnAddresses.
1786         
1787         * src/vm/jit/replace.c (replace_replacement_point_println): Prepared
1788         for showing constant returnAddresses.
1789         
1790         * src/vm/jit/replace.h (rplalloc): Made type unsigned, so it will be
1791         able to hold TYPE_RET (8).
1792         
1793         * src/vm/jit/jit.h (s2_operand_t): Added field `retaddrnr` that will
1794         be used by ASTORE with returnAddresses.
1795
1796 2006-11-15 23:24  edwin
1797
1798         * src/vm/jit/inline/inline.c (inline_inline_intern): Removed some
1799         unused code.
1800
1801 2006-11-15 23:23  edwin
1802
1803         * src/vm/jit/i386/codegen.c (codegen): Fix: Put RETURN replacement
1804         points before the emit_load. This code needs cleaning up.
1805
1806 2006-11-15 23:21  edwin
1807
1808         * src/vm/jit/replace.c: Partial implementation of synchronization
1809         slot translation. Translating synchronized INLINE <-> CALL needs more
1810         work.
1811
1812 2006-11-15 23:19  edwin
1813
1814         * src/vm/jit/replace.c (replace_find_replacement_poin): Fix: Compare
1815         both id and method when searching a replacement point.
1816         (replace_executionstate_println): Prettier printing.
1817         
1818         * src/vm/jit/replace.h (replace_pop_activation_record): Removed
1819         prototype.
1820
1821 2006-11-15 23:17  edwin
1822
1823         * src/vm/jit/inline/inline.c (inline_instruction): New function.
1824         Factored code out of other functions generation instructions.
1825
1826 2006-11-15 23:15  edwin
1827
1828         * src/vm/jit/jit.h (insinfo_inline): Added field `paramcount`.
1829         
1830         * src/vm/jit/inline/inline.c (inline_generate_sync_builtin): New
1831         function. Generate explicit MONITORENTER/EXIT instructions.
1832         (emit_inlining_prolog): Moved INLINE_START to the beginning of the
1833         prolog. Explicit synchronization.
1834         (emit_inlining_epilog): Explicit synchronization.
1835         (rewrite_method): Use epilog_instructioncount.
1836         (inline_analyse_callee): Explicit synchronization.
1837         
1838         * src/vm/jit/i386/codegen.c (ICMD_INLINE_START): Removed implicit
1839         synchronization.
1840         (ICMD_INLINE_END): Likewise.
1841         
1842         * src/vm/jit/replace.c (replace_create_replacement_point): Handle
1843         parameters for top frames.
1844         (replace_create_replacement_points): Likewise.
1845         (replace_read_executionstate): Likewise.
1846         (replace_write_executionstate): Likewise.
1847         (replace_me): Likewise.
1848
1849 2006-11-15 23:08  edwin
1850
1851         * src/vm/jit/replace.h (RPLALLOC_STACK, RPLALLOC_PARAM,
1852         RPLALLOC_SYNC):
1853         New constants.
1854         
1855         * src/vm/jit/replace.c (replace_push_activation_record): Fix:
1856         Decrement
1857         SP _before_ writing the return address.
1858         (replace_me): More logging.
1859         (replace_replacement_point_println): More logging.
1860         (replace_executionstate_println): Prettier printing.
1861
1862 2006-11-15 23:02  edwin
1863
1864         * src/vm/jit/code.h (codeinfo): Added field `invalid`. (Should become
1865         a flag, later.)
1866         * src/vm/jit/jit.c (jit_recompile): Fixed for first compilation. Do
1867         not
1868         refuse to recompile.
1869
1870 2006-11-15 22:59  edwin
1871
1872         * src/vm/jit/inline/inline.c (inline_inline_intern): Do not inline
1873         abstract methods (need to search for single implementation).
1874
1875 2006-11-15 22:47  edwin
1876
1877         * src/vm/jit/replace.c (replace_me): Small cleanup.
1878         * src/vm/jit/inline/inline.c (create_body_block): Do not translate
1879         javalocals for dead code.
1880         (inline_inline_intern): Fixed flag check.
1881
1882 2006-11-15 22:46  edwin
1883
1884         * src/vm/method.c (method_printflags): Print MONOMORPHIC and
1885         IMPLEMENTED flags.
1886
1887 2006-11-15 18:26  twisti
1888
1889         * src/vm/properties.c (properties_init) [ENABLE_JAVASE]: Allocate the
1890         utsname structure on the heap.
1891
1892 2006-11-15 18:09  twisti
1893
1894         * src/vm/properties.c (properties_init) [ENABLE_JAVASE]: Don't free
1895         memory, we need it later.
1896
1897 2006-11-15 18:01  twisti
1898
1899         * src/cacaoh/headers.c (cacao_prefix, classpath_libdir, _Jv_classpath)
1900         (_Jv_java_library_path): Added.
1901
1902 2006-11-15 17:58  twisti
1903
1904         * src/vm/properties.c (properties_init): Also fill the internal
1905         property table.
1906         (properties_postinit): Re-set some properties that may have changed.
1907         (properties_system_add): Removed.
1908         [ENABLE_JAVASE] (properties_system_add_all): Rewritten.
1909         
1910         * src/vm/properties.h (properties_postinit): Changed signature.
1911         (properties_system_add): Removed.
1912         [ENABLE_JAVASE] (properties_system_add_all): Added.
1913         
1914         * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Moved
1915         implementation to properties.
1916         
1917         * src/vm/vm.c (vm_create): Call properties_postinit.
1918
1919 2006-11-15 17:46  twisti
1920
1921         * src/vm/vm.c (vm_create): Don't initialize java/lang/System
1922         explicitely.
1923
1924 2006-11-15 16:25  twisti
1925
1926         * configure.ac (--enable-java): Added.
1927
1928 2006-11-15 15:52  twisti
1929
1930         * src/vm/jit/parse.c (parse): Added missing semi-colon.
1931
1932 2006-11-15 15:47  edwin
1933
1934         * src/vm/jit/icmdtable.inc (CHECKNULL_POP): Removed.
1935         
1936         * src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
1937         * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
1938
1939 2006-11-15 15:42  twisti
1940
1941         * src/vm/jit/jit.h (ICMD_CHECKNULL_POP): Removed.
1942         * src/vm/jit/parse.c: Likewise.
1943         * src/vm/jit/show.c: Likewise.
1944
1945 2006-11-15 15:30  twisti
1946
1947         Reverted patch 5890.
1948         
1949         * src/vm/jit/jit.h: Reverted.
1950         
1951         * src/vm/jit/alpha/codegen.c: Likewise.
1952         * src/vm/jit/i386/codegen.c: Likewise.
1953         * src/vm/jit/mips/codegen.c: Likewise.
1954         * src/vm/jit/powerpc/codegen.c: Likewise.
1955         * src/vm/jit/powerpc64/codegen.c: Likewise.
1956         * src/vm/jit/sparc64/codegen.c: Likewise.
1957         * src/vm/jit/x86_64/codegen.c: Likewise.
1958         * src/vm/jit/intrp/codegen.c: Likewise.
1959         
1960         * src/vm/jit/show.c: Likewise.
1961         * src/vm/jit/stack.c: Likewise.
1962         * src/vm/jit/allocator/simplereg.c: Likewise.
1963         * src/vm/jit/verify/typecheck-stackbased-gen.inc: Likewise.
1964         * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
1965
1966 2006-11-15 13:44  tbfg
1967
1968         * src/vm/jit/powerpc64/linux/md-abi.c (md_param_alloc): Fixed
1969         preallocation.
1970         
1971         * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Fixed
1972         argument handling.
1973
1974 2006-11-15 12:25  twisti
1975
1976         * src/vm/jit/jit.h (ICMD_CHECKNULL): Renamed to ICMD_CHECKNULL_POP.
1977         
1978         * src/vm/jit/alpha/codegen.c: Likewise.
1979         * src/vm/jit/i386/codegen.c: Likewise.
1980         * src/vm/jit/mips/codegen.c: Likewise.
1981         * src/vm/jit/powerpc/codegen.c: Likewise.
1982         * src/vm/jit/powerpc64/codegen.c: Likewise.
1983         * src/vm/jit/sparc64/codegen.c: Likewise.
1984         * src/vm/jit/x86_64/codegen.c: Likewise.
1985         * src/vm/jit/intrp/codegen.c: Likewise.
1986         
1987         * src/vm/jit/stack.c: Likewise.
1988         * src/vm/jit/show.c: Likewise.
1989         
1990         * src/vm/jit/allocator/simplereg.c: Likewise.
1991         
1992         * src/vm/jit/verify/typecheck-stackbased-gen.inc (ICMD_CHECKNULL):
1993         Removed.
1994         * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
1995
1996 2006-11-14 21:56  twisti
1997
1998         * src/jit/verify/typecheck-stackbased.c (mm/memory.h): Added.
1999         * src/jit/powerpc/emit.c (mm/memory.h): Likewise.
2000         * src/signal.c (mm/memory.h): Likewise.
2001
2002 2006-11-13 21:43  tbfg
2003
2004         * src/vm/jit/powerpc64/linux/md-abi.c (md_param_alloc): Began
2005         fixing ABI issues. It is not correct now, but fptest runs now.
2006         Remaining issues in java<->native mainly stack offsets.
2007         
2008         * src/vm/jit/powerpc64/emit.c (emit_load): Removed M_ILD case.
2009         (emit_store): Removed M_FST case. There is no M_FST expect for
2010         accessing c structs, internally everything is done using M_DLD
2011         and M_DST, M_FST would convert the values.
2012         
2013         * src/vm/jit/powerpc64/codegen.c (codegen): Removed all M_FST and
2014         M_FLD.
2015         
2016         * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Fixed
2017         argument passing on stack.
2018
2019 2006-11-12 15:42  edwin
2020
2021         * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Regenerated.
2022
2023 2006-11-12 15:41  edwin
2024
2025         * src/vm/jit/icmdtable.inc: Activate INLINE_START and INLINE_END.
2026
2027 2006-11-12 15:33  edwin
2028
2029         * src/vm/linker.c (inline_debug_log): Added variable reference.
2030         (linker_overwrite_method): Factored out overwriting into this
2031         function,
2032         update method flags and check assumptions when overwriting.
2033         (link_class_intern): Use linker_overwrite_method. Invalidate code of
2034         methods that makes broken assumptions.
2035         
2036         * src/vm/method.c (inline_debug_log): Only use for ENABLE_INLINING.
2037         (method_add_to_worklist): Allocate items with NEW.
2038
2039 2006-11-12 15:14  edwin
2040
2041         * src/vm/method.h (method_assumption): New struct.
2042         (method_worklist): New struct.
2043         (methodinfo): Added fields `overwrites` and `assumptions`.
2044         (method_add_assumption_monomorphic): Added prototype.
2045         (method_break_assumption_monomorphic): Likewise.
2046         
2047         * src/vm/method.c (inline_debug_log): Added variable reference.
2048         (method_add_to_worklist): New function.
2049         (method_add_assumption_monomorphic): Likewise.
2050         (method_break_assumption_monomorphic): Likewise.
2051
2052 2006-11-12 15:01  edwin
2053
2054         * src/cacaoh/headers.c (inline_debug_log): Added dummy variable.
2055
2056 2006-11-12 15:00  edwin
2057
2058         * src/vm/loader.c (load_method): Set ACC_METHOD_MONOMORPHIC and
2059         ACC_METHOD_IMPLEMENTED flags.
2060
2061 2006-11-12 13:55  edwin
2062
2063         * src/vm/jit/replace.c (replace_me): Recompile replacement methods.
2064
2065 2006-11-12 13:54  edwin
2066
2067         * src/vm/jit/replace.c (replace_create_replacement_point): Use the
2068         ICMD id as id for replacement points.
2069         (replace_replacement_point_println): Print the rplpoint id.
2070
2071 2006-11-12 13:52  edwin
2072
2073         * src/vm/jit/replace.c (replace_source_frame_println): Print position
2074         id.
2075         * src/vm/jit/replace.c (replace_pop_activation_record): Subtract one
2076         from the return address so we don't hit the following replacement
2077         point.
2078
2079 2006-11-12 13:51  edwin
2080
2081         * src/vm/jit/replace.c (replace_write_executionstate): Added some
2082         asserts.
2083
2084 2006-11-12 13:50  edwin
2085
2086         * src/vm/jit/replace.c: Cleaned up debugging prints.
2087
2088 2006-11-12 13:47  edwin
2089
2090         * src/vm/jit/replace.c (replace_create_replacement_points): Handle
2091         javaindex == UNUSED.
2092
2093 2006-11-12 13:46  edwin
2094
2095         * src/vm/jit/jit.h, src/vm/jit/jit.c (jit_invalidate_code):
2096         New function.
2097
2098 2006-11-12 13:40  edwin
2099
2100         * src/vm/jit/jit.c (jit_recompile): Some cleanups.
2101
2102 2006-11-12 13:39  edwin
2103
2104         * src/vm/jit/i386/md.c (md_patch_replacement_point): Deactivated
2105         debugging print.
2106         * src/cacaoh/headers.c (jit_invalidate_code): Added stub.
2107
2108 2006-11-12 13:38  edwin
2109
2110         * src/vm/jit/inline/inline.c (emit_inlining_prolog): Set javaindex
2111         UNUSED for generated STOREs. Include local variables in stackvars
2112         for insinfo_inline. Copy instruction id to INLINE_START.
2113         (inline_clone_instruction): Check for javaindex == UNUSED.
2114         (rewrite_method): Set javaindex UNUSED for generated STOREs.
2115         (inline_inline_intern): Removed some testing code.
2116
2117 2006-11-12 13:31  edwin
2118
2119         * src/vm/jit/parse.c, src/vm/jit/parse.h (Changes): Merged with
2120         Authors.
2121
2122 2006-11-12 13:21  edwin
2123
2124         * src/vm/jit/jit.h (INS_FLAG_ID_SHIFT, INS_FLAG_ID_MASK): Added. We
2125         add
2126         an instruction id to the flags field. This is a first attempt to
2127         obtain
2128         an id for ICMDs that is not dependent on any optimizations or
2129         transformations in the compiler. The id is not the same as the
2130         bytecode
2131         PC, but it has a fixed relation to the bytecode PC, so it should be
2132         sufficient at least for replacement. This is an intermediate solution
2133         with serious shortcommings, and should be replaced by a true ICMD-to-
2134         bytecode-PC mapping in the future. (For example, the id uses up all
2135         the free bits in the flags field, and it is not protected against
2136         overflow.)
2137         
2138         * src/vm/jit/parse.h, src/vm/jit/parse.c: Set the instruction id, and
2139         do not overwrite it when setting other flags.
2140         
2141         * src/vm/jit/stack.c: Do not clear the instruction id.
2142         
2143         * src/vm/jit/show.c (show_basicblock): Display the instruction id.
2144
2145 2006-11-12 12:57  twisti
2146
2147         * src/vm/jit/powerpc64/codegen.c (codegen): Fixed ICMD_BALOAD, use
2148         correct java_bytearray type.
2149
2150 2006-11-12 12:55  twisti
2151
2152         * src/vm/jit/powerpc/codegen.c (codegen): Fixed ICMD_BALOAD, use
2153         correct java_bytearray type.
2154
2155 2006-11-12 12:54  edwin
2156
2157         * src/vm/jit/parse.h: Fixed typos.
2158
2159 2006-11-11 19:26  ajordan
2160
2161         * src/vm/jit/sparc64/*: implemented patching (partly), adherent fixes.
2162
2163 2006-11-11 18:45  twisti
2164
2165         * src/vm/jit/alpha/codegen.c (codegen): Use emit_array_checks.
2166
2167 2006-11-11 18:34  twisti
2168
2169         * src/vm/jit/alpha/codegen.c (codegen): Replaced gen_bound_check by
2170         emit_arrayindexoutofbounds_check.
2171
2172 2006-11-11 18:31  twisti
2173
2174         * src/vm/jit/alpha/emit.c (vm/options.h): Added.
2175         (emit_arrayindexoutofbounds_check): New function.
2176         (emit_arraystore_check): Likewise.
2177         (emit_classcast_check): Likewise.
2178         (emit_classcast_check): Likewise.
2179         (emit_nullpointer_check): Likewise.
2180         
2181         * src/vm/jit/alpha/codegen.c (codegen): Removed patch-NOPs generation,
2182         replaced gen_nullptr_check with emit_nullpointer_check.
2183         (createnativestub): Removed patch-NOPs generation.
2184         
2185         * src/vm/jit/alpha/codegen.h (gen_nullptr_check): Removed.
2186         (PATCHER_NOPS): Added.
2187         
2188         * src/vm/jit/alpha/patcher.c (patcher_get_putfield): Use opt_shownops
2189         instead of opt_showdisassemble.
2190         (patcher_invokevirtual): Likewise.
2191         (patcher_invokeinterface): Likewise.
2192         (patcher_checkcast_instanceof_interface): Likewise.
2193         
2194         * src/vm/jit/emit-common.c (emit_array_checks): Added [__ALPHA__].
2195         * src/vm/jit/codegen-common.c (codegen_add_patch_ref): Likewise.
2196
2197 2006-11-11 17:08  edwin
2198
2199         * src/vm/jit/tools/genoffsets.c (executionstate): Renamed to
2200         executionstate_t.
2201         * src/vm/jit/asmpart.h: Likewise.
2202         
2203         * src/vm/jit/show.c (show_variable_intern): New function. Does not
2204         append ' '. Regard variables above vartop as invalid.
2205         (show_method): Only show variables up to vartop.
2206         (show_inline_info): New function.
2207         (show_basicblock): Show right number of javalocals, show inlining
2208         info at the start of blocks.
2209         (show_variable): Moved body to show_variable_intern.
2210         (show_icmd): Use show_inline_info.
2211         
2212         * src/vm/jit/inline/inline.c: Handle javalocals.
2213         
2214         * src/vm/jit/i386/codegen.c (codegen): Handle replacement points
2215         for INLINE_START, RETURN and INVOKEs.
2216         
2217         * src/vm/jit/replace.c: Many changes for making replacement work
2218         over multiple stack frames.
2219         * src/vm/jit/replace.h: Likewise.
2220         
2221         * src/vm/jit/jit.h (insinfo_inline): Added fields.
2222         (basicblock): Added field `inlineinfo`.
2223
2224 2006-11-11 17:05  twisti
2225
2226         * src/vm/jit/alpha/codegen.c (codegen): Renamed codegen_addpatchref to
2227         codegen_add_patch_ref and codegen_addreference to
2228         codegen_add_branch_ref.
2229         (createnativestub): Likewise.
2230
2231 2006-11-11 16:56  twisti
2232
2233         * src/vm/jit/alpha/md.c (md_codegen_patch_branch): New function.
2234         * src/vm/jit/alpha/emit.c (emit_exception_stubs): Use
2235         md_codegen_patch_branch.
2236         * src/vm/jit/alpha/codegen.c (codegen): Use
2237         codegen_resolve_branchrefs.
2238         * src/vm/jit/alpha/codegen.h (gen_resolvebranch): Removed.
2239
2240 2006-11-11 16:44  twisti
2241
2242         * configure.ac: Support mipsel architectures.
2243
2244 2006-11-11 14:28  twisti
2245
2246         * src/vm/jit/codegen-common.c (codegen_add_patch_ref): Added
2247         [__X86_64__] for NOP-generation.
2248
2249 2006-11-10 16:41  twisti
2250
2251         * src/vm/jit/x86_64/codegen.c (codegen): Use
2252         codegen_resolve_branchrefs, removed patcher NOP generation, renamed
2253         codegen_addpatchref to codegen_add_patch_ref.
2254         (createnativestub): Likewise.
2255         
2256         * src/vm/jit/x86_64/codegen.h (PATCHER_NOPS): Defined.
2257         
2258         * src/vm/jit/x86_64/patcher.c (patcher_get_putstatic): Use
2259         opt_shownops instead of opt_showdisassemble.
2260         (patcher_get_putfield): Likewise.
2261         (patcher_putfieldconst): Likewise.
2262         (patcher_aconst): Likewise.
2263         (patcher_builtin_multianewarray): Likewise.
2264         (patcher_builtin_arraycheckcast): Likewise.
2265         (patcher_invokestatic_special): Likewise.
2266         (patcher_invokeinterface): Likewise.
2267         (patcher_checkcast_instanceof_flags): Likewise.
2268         (patcher_checkcast_instanceof_interface): Likewise.
2269         (patcher_checkcast_class): Likewise.
2270         (patcher_instanceof_class): Likewise.
2271         (patcher_resolve_native): Likewise.
2272
2273 2006-11-10 12:32  twisti
2274
2275         * src/vm/jit/x86_64/md.c (md_codegen_patch_branch): New function.
2276         * src/vm/jit/x86_64/emit.c (emit_exception_stubs): Use
2277         md_codegen_patch_branch.
2278
2279 2006-11-09 15:27  twisti
2280
2281         * src/vm/jit/powerpc/codegen.c (codegen): Use codegen_add_branch_ref,
2282         removed opt_shownops code.
2283         (createnativestub): Likewise.
2284         
2285         * src/vm/jit/powerpc/codegen.h (PATCHER_NOPS): Added.
2286         * src/vm/jit/mips/codegen.h (PATCHER_NOPS): Removed opt_shownops
2287         check.
2288         
2289         * src/vm/jit/codegen-common.c (codegen_add_patch_ref): Check for
2290         opt_shownops, added [__POWERPC__].
2291
2292 2006-11-09 10:52  twisti
2293
2294         * src/vm/jit/powerpc/emit.c (vm/options.h): Added.
2295         (emit_nullpointer_check): New function.
2296         (emit_arrayindexoutofbounds_check): Likewise.
2297         (emit_exception_stubs): Use md_codegen_patch_branch.
2298         
2299         * src/vm/jit/powerpc/md.c (vm/jit/powerpc/codegen.h): Added.
2300         (md_codegen_patch_branch): New function.
2301         
2302         * src/vm/jit/powerpc/codegen.c (codegen): Use
2303         codegen_resolve_branchrefs, use opt_shownops, removed buggy ICMD_LCMP
2304         implementation (i'll add a new one if i find some time), use exception
2305         emit_* functions.
2306         (createnativestub): Use opt_shownops.
2307         
2308         * src/vm/jit/powerpc/patcher.c (patcher_get_putfield): Use
2309         opt_shownops.
2310         (patcher_invokevirtual): Likewise.
2311         (patcher_invokeinterface): Likewise.
2312         (patcher_checkcast_instanceof_interface): Likewise.
2313         
2314         * src/vm/jit/powerpc/codegen.h (gen_nullptr_check): Removed.
2315         (gen_bound_check): Likewise.
2316         (M_BRAMASK): Renamed to M_BMASK.
2317         (M_BRMASK): Renamed to M_BCMASK.
2318         (M_BRA): Renamed to M_B and hardcoded the opcode.
2319         (M_BRAC): Renamed to M_BC and hardcoded the opcode.
2320         (gen_resolvebranch): Removed.
2321         
2322         * src/vm/jit/emit-common.c (emit_array_checks): New function.
2323         * src/vm/jit/emit-common.h (emit_array_checks): Added.
2324
2325 2006-11-09 10:23  twisti
2326
2327         * src/vm/jit/stacktrace.c (stacktrace_add_method): Get codeinfo from
2328         data segment.
2329
2330 2006-11-09 09:59  tbfg
2331
2332         * src/vm/jit/powerpc64/linux/md-abi.h: Changed ABI for float
2333         arguments.
2334         
2335         * src/vm/jit/powerpc64/linux/md-asm.h: Likewise.
2336         
2337         * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
2338         
2339         * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Various
2340         argument handling fixes.
2341         
2342         * src/vm/jit/powerpc64/codegen.h (M_BRAC): Renamed to M_BC
2343         (M_BRA): Renamed to M_B
2344         (M_BRACMASK): Renamed to M_BCMASK.
2345         (M_BRAMASK): Renamed to M_BMASK.
2346         
2347         * src/vm/jit/powerpc64/md.c (md_codegen_patch_branch): Use M_BCMASK
2348         and M_BMASK instead of hardcoded masks.
2349
2350 2006-11-09 09:54  twisti
2351
2352         * src/vm/jit/powerpc/linux/md-os.c (vm/jit/profile/profile.h): Changed
2353         to vm/jit/optimizing/profile.h.
2354         (md_signal_handler_sigsegv): If faulting address is not equal 0, try
2355         to dump a tsacktrace and exit.
2356
2357 2006-11-08 22:02  twisti
2358
2359         * NEWS: Added release 0.98.
2360
2361 2006-11-08 22:00  twisti
2362
2363         * src/vm/method.h (methodinfo): Added signature.
2364         * src/vm/field.h (fieldinfo): Added signature.
2365         * src/vm/loader.c (load_method): Load signature attribute.
2366         (load_field): Likewise.
2367         * src/native/vm/java_lang_reflect_Method.c (getSignature):
2368         Implemented.
2369         * src/native/vm/java_lang_reflect_Field.c (getSignature): Likewise.
2370
2371 2006-11-08 20:34  edwin
2372
2373         * src/vm/jit/code.h (codeinfo): Added field stackframesize.
2374         * src/vm/jit/code.c (code_get_stack_frame_size): Return
2375         code->stackframesize.
2376         
2377         * src/vm/jit/replace.c (replace_create_replacement_points): Set
2378         code->stackframesize.
2379         (replace_read_executionstate): Read stack types from rplallocs.
2380         (replace_write_executionstate): Check stack types.
2381         (replace_pop_activation_record): New function.
2382         (replace_me): Added some temporary code for testing.
2383         (replace_executionstate_println): Use executionstate.code.
2384         (java_value_print): New function.
2385         (replace_sourcestate_println): Print values prettily.
2386         
2387         * src/vm/jit/replace.h (executionstate): Added field `code`.
2388         (sourcestate): Added field `javastacktype`.
2389         (replace_pop_activation_record): New function.
2390         (replace_executionstate_println): Changed arguments.
2391
2392 2006-11-08 20:27  twisti
2393
2394         * src/vm/exceptions.c (new_nullpointerexception): Renamed to
2395         exceptions_new_nullpointerexception.
2396         * src/vm/exceptions.h: Likewise.
2397         * src/vm/jit/stacktrace.c: Likewise.
2398         * src/cacaoh/headers.c: Likewise.
2399
2400 2006-11-08 13:33  tbfg
2401
2402         * src/vm/jit/powerpc64/codegen.h (gen_resolvebranch): Removed.
2403         
2404         * src/vm/jit/powerpc64/codegen.c (codegen): Replaced
2405         gen_resolvebranch with md_codegen_patch_branch.
2406         
2407         * src/vm/jit/powerpc64/md.c (md_codegen_patch_branch): Prevent AA
2408         and LK overwrites for b.
2409
2410 2006-11-08 13:03  tbfg
2411
2412         * src/vm/jit/powerpc64/md.c (md_codegen_patch_branch): Added.
2413
2414 2006-11-07 09:06  twisti
2415
2416         * src/vm/jit/i386/md.c (md_codegen_patch_branch): New function.
2417         * src/vm/jit/i386/emit.c (emit_exception_stubs): Use
2418         md_codegen_patch_branch.
2419         * src/vm/jit/i386/codegen.c (codegen): Use codegen_resolve_branchrefs.
2420         * src/vm/jit/i386/codegen.h (gen_resolvebranch): Removed.
2421
2422 2006-11-07 08:51  twisti
2423
2424         * src/vm/jit/codegen-common.h (codegen_resolve_branchrefs): Added.
2425
2426 2006-11-06 21:12  twisti
2427
2428         * jit/mips/emit.c (emit_patcher_stubs): Handle displacement overflows.
2429         
2430         * jit/mips/codegen.c (codegen): Removed patcher NOPs generation.
2431         (createnativestub): Likewise.
2432         
2433         * jit/mips/codegen.h (PATCHER_CALL_INSTRUCTIONS): Defined.
2434         (PATCHER_CALL_SIZE): Changed to 5 * 4;
2435         (PATCHER_NOPS): Defined.
2436         
2437         * jit/mips/patcher.c (patcher_wrapper): Restore original instructions.
2438         (patcher_get_putstatic): Don't restore original code.
2439         (patcher_get_putfield): Likewise.
2440         (patcher_aconst): Likewise.
2441         (patcher_builtin_multianewarray): Likewise.
2442         (patcher_builtin_arraycheckcast): Likewise.
2443         (patcher_invokestatic_special): Likewise.
2444         (patcher_invokevirtual): Likewise.
2445         (patcher_invokeinterface): Likewise.
2446         (patcher_checkcast_instanceof_flags): Likewise.
2447         (patcher_checkcast_interface): Likewise.
2448         (patcher_instanceof_interface): Likewise.
2449         (patcher_checkcast_instanceof_class): Likewise.
2450         (patcher_clinit): Likewise.
2451         (patcher_athrow_areturn): Likewise.
2452         (patcher_resolve_native): Likewise.
2453         
2454         * jit/mips/asmpart.S (asm_patcher_wrapper): Handle bigger patcher stub
2455         stack.
2456         
2457         * jit/codegen-common.c (codegen_add_patch_ref): Generate NOPs, if
2458         requested.
2459
2460 2006-11-06 17:13  twisti
2461
2462         * src/vm/jit/codegen-common.c (toolbox/list.h): Added.
2463         (codegen_addreference): Renamed to codegen_add_branch_ref, use
2464         md_codegen_patch_branch instead of gen_resolvebranch.
2465         (codegen_resolve_branchrefs): New function.
2466         (codegen_addpatchref): Renamed to codegen_add_patch_ref.
2467         * src/vm/jit/codegen-common.h (codegen_addreference): Renamed to
2468         codegen_add_branch_ref.
2469         (codegen_resolve_branchrefs): New function.
2470         (codegen_addpatchref): Renamed to codegen_add_patch_ref.
2471         
2472         * src/vm/jit/dseg.h (toolbox/list.h): Added.
2473         
2474         * src/vm/jit/mips/emit.c (vm/options.h): Added.
2475         (emit_arithmetic_check): New function.
2476         (emit_arrayindexoutofbounds_check): Likewise.
2477         (emit_arraystore_check): Likewise.
2478         (emit_classcast_check): Likewise.
2479         (emit_nullpointer_check): Likewise.
2480         (emit_exception_check): Likewise.
2481         (emit_exception_stubs): Use md_codegen_patch_branch instead of
2482         gen_resolvebranch.
2483         
2484         * src/vm/jit/mips/md.c (vm/vm.h): Added.
2485         (md_codegen_patch_branch): New function.
2486         
2487         * src/vm/jit/mips/codegen.c (codegen): Use new emit_* functions, use
2488         opt_shownops instead of opt_showdissasemble.
2489         (createnativestub): Likewise.
2490         
2491         * src/vm/jit/mips/codegen.h (gen_nullptr_check): Removed.
2492         (gen_bound_check): Likewise.
2493         (gen_div_check): Likewise.
2494         (gen_resolvebranch): Likewise.
2495         
2496         * src/vm/jit/mips/patcher.c: Use opt_shownops instead of
2497         opt_showdissasemble.
2498         (patcher_checkcast_instanceof_interface): Split into two functions:
2499         patcher_checkcast_interface and patcher_instanceof_interface.
2500         
2501         * src/vm/jit/patcher.h (patcher_checkcast_interface): Added.
2502         (patcher_instanceof_interface): Added.
2503         
2504         * src/vm/jit/emit-common.h (emit_arithmetic_check): Added.
2505         (emit_arrayindexoutofbounds_check): Likewise.
2506         (emit_arraystore_check): Likewise.
2507         (emit_classcast_check): Likewise.
2508         (emit_nullpointer_check): Likewise.
2509         (emit_exception_check): Likewise.
2510
2511 2006-11-06 16:38  tbfg
2512
2513         * src/vm/jit/powerpc64/codegen.c (codegen): Various more fixes all
2514         over the place. jctest is now successfull for ppc64.
2515         
2516         * src/vm/jit/powerpc64/codegen.h (M_DIV): Changed used opcode.
2517         (M_SLL_IMM): Fixed.
2518
2519 2006-11-06 16:17  edwin
2520
2521         * src/vm/jit/replace.c (replace_create_replacement_point): New
2522         function.
2523         (replace_create_replacement_points): Create replacement points for
2524         INVOKE* and *RETURN instructions.
2525         (replace_read_executionstate): Fixed loop.
2526         (replace_write_executionstate): Fixed loop.
2527         (replace_sourcestate_println): Adapted to new source state layout.
2528
2529 2006-11-05 23:17  edwin
2530
2531         * src/vm/jit/i386/codegen.c (codegen): Create replacement points after
2532         the final allocations.
2533         
2534         * src/vm/jit/jit.c (jit_compile_intern): Do not create replacement
2535         points before the codegen is called.
2536
2537 2006-11-05 23:11  edwin
2538
2539         * src/vm/jit/codegen-common.h (codegendata): Removed maxlocals. This
2540         is
2541         now in jitdata.
2542         * src/vm/jit/codegen-common.c (codegen_setup): Removed cd->maxlocals.
2543         
2544         * src/vm/jit/replace.c: Move towards exact replacement/GC points.
2545         * src/vm/jit/replace.h: Likewise.
2546         
2547         * src/vm/jit/optimizing/lsra.h: Use jd->maxlocals.
2548         * src/vm/jit/optimizing/lifetimes.c: Likewise.
2549         * src/vm/jit/optimizing/ssa.c: Likewise.
2550         * src/vm/jit/show.c: Likewise.
2551         * src/vm/jit/verify/typecheck.c: Likewise.
2552         * src/vm/jit/loop/analyze.c: Likewise.
2553         * src/vm/jit/inline/inline.c: Likewise.
2554         * src/vm/jit/allocator/lsra.c: Likewise.
2555         * src/vm/jit/allocator/simplereg.c: Likewise.
2556         * src/vm/jit/allocator/liveness.c: Likewise.
2557         * src/vm/jit/jit.c: Likewise.
2558         
2559         * src/vm/jit/show.h (show_allocation): Made global.
2560         * src/vm/jit/show.c: Likewise.
2561
2562 2006-11-05 22:47  edwin
2563
2564         * src/vm/jit/jit.c (jit_jitdata_new): Initialize jd->maxlocals.
2565
2566 2006-11-05 22:46  edwin
2567
2568         * src/vm/jit/jit.h (jitdata): Added maxlocals field.
2569
2570 2006-11-05 21:43  twisti
2571
2572         * src/vm/options.c (opt_shownops): Added.
2573         * src/vm/options.h (opt_shownops): Likewise.
2574         * src/vm/vm.c (usage): Added -so help.
2575         (vm_create): Added opt_shownops handling.
2576
2577 2006-11-05 21:27  edwin
2578
2579         * src/vm/jit/jit.h (INS_FLAG_RETADDR): Added flag for marking ASTOREs
2580         of returnAddresses.
2581         
2582         * src/vm/jit/stack.c (stack_reanalyse_block): Invalidate target of
2583         ASTORE with returnAddress.
2584         (stack_analyse): Likewise.
2585
2586 2006-11-05 21:23  twisti
2587
2588         * src/vm/utf8.c (utf_Signature): Added.
2589         (utf8_init): Initialize utf_Signature.
2590         * src/vm/utf8.h (utf_Signature): Added.
2591
2592 2006-11-05 21:18  twisti
2593
2594         * src/vm/loader.c (load_attributes): Load Signature attribute.
2595         * src/vm/class.h (classinfo): Added signature.
2596         * src/native/vm/java_lang_VMClass.c (getClassSignature): Implemented.
2597
2598 2006-11-05 21:14  edwin
2599
2600         * src/vm/jit/show.c (show_basicblock): Show javalocals.
2601         (show_variable_array): Made it NULL-safe, show UNUSED entries.
2602
2603 2006-11-05 20:17  edwin
2604
2605         * src/vm/jit/show.c (show_icmd): Show javaindex for *STORE.
2606
2607 2006-11-05 20:07  edwin
2608
2609         * src/vm/jit/jit.h (s3_operand_t): Added field javaindex.
2610         (INS_FLAG_KILL_PREV): New flag.
2611         (INS_FLAG_KILL_NEXT): New flag.
2612         (basicblock): Added field javalocals. This points to the mapping from
2613         Java bytecode locals to cacao variables at the beginning of the block.
2614         
2615         * src/vm/jit/stack.c (Changes): Merged with Authors.
2616         (stackdata_t): Added fields maxlocals and javalocals.
2617         (stack_clone_block): Initialize javalocals.
2618         (stack_create_locals): New function.
2619         (stack_merge_locals): New function.
2620         (stack_create_invars): Use stack_create_invars.
2621         (stack_create_invars_from_outvars): Likewise.
2622         (stack_check_invars): Use stack_merge_locals.
2623         (stack_check_invars_from_outvars): Likewise.
2624         (stack_reanalyse_block): Maintain javalocals mapping.
2625         (stack_init_javalocals): New function.
2626         (stack_analyse): Maintain javalocals mapping.
2627         (stack_verbose_show_block): Show javalocals.
2628         (stack_verbose_block_enter): Distinguish block cloning and
2629         re-analysing.
2630         (stack_verbose_show_state): New function.
2631
2632 2006-11-05 19:49  edwin
2633
2634         * src/vm/jit/stack.c (COPY_VAL_AND_TYPE): Fix: Only copy vv for
2635         TYPE_RET
2636         (and later for other constants). Otherwise the allocation of PREALLOC
2637         variables can be overwritten when re-analysing a block.
2638
2639 2006-11-05 19:45  edwin
2640
2641         * src/vm/jit/show.c (show_method): Show maxinterfaces only for stage
2642         >= SHOW_STACK.
2643         (show_variable): Show allocation for PREALLOC variables.
2644
2645 2006-11-05 16:58  michi
2646
2647         * src/vm/jit/stacktrace.h: Added stacktracecontainer.
2648         * src/vm/jit/stacktrace.c (stacktrace_fillInStackTrace): Now returns
2649         stacktracecontainer as wrapper for stacktracebuffer and entries.
2650         
2651         * src/native/vm/java_lang_VMThrowable.c: Undoes the wrapping
2652         mentioned above.
2653
2654 2006-11-05 15:47  edwin
2655
2656         * src/vm/jit/replace.c (replace_create_replacement_points): Partially
2657         ported to new IR.
2658         
2659         * src/vm/jit/i386/codegen.c (codegen): Reactivate code for
2660         replacement points.
2661         * src/vm/jit/jit.c (jit_compile_intern): Likewise.
2662
2663 2006-11-05 10:40  edwin
2664
2665         * src/vm/jit/inline/inline.c: Ported to the new IR. There are some
2666         checkins missing to make it linkable, though.
2667         * src/vm/jit/inline/inline_debug.inc: Likewise.
2668
2669 2006-11-05 10:31  edwin
2670
2671         * src/vm/global.h (ACC_METHOD_IMPLEMENTED): Added.
2672         (ACC_METHOD_MONOMORPHIC): Added.
2673
2674 2006-11-05 10:22  edwin
2675
2676         * src/vm/jit/jit.h (jitdata): New fields maxinterfaces, returnblock,
2677         returncount, branchtoentry, branchtoend.
2678         
2679         * src/vm/jit/jit.c (jit_jitdata_new): Initialize new fields.
2680         
2681         * src/vm/jit/parse.c (parse_mark_exception_boundaries): Set
2682         branchtoend.
2683         (parse): Set branchtoentry.
2684         
2685         * src/vm/jit/stack.c (stack_analyse): Set jd->maxinterfaces,
2686         returncount, and returnblock.
2687         
2688         * src/vm/jit/allocator/simplereg.c (simplereg_allocate_interfaces):
2689         Use jd->maxinterfaces.
2690         (simplereg_allocate_temporaries): Likewise.
2691         
2692         * src/vm/jit/show.c (show_method): Show the new fields. Use
2693         jd->maxinterfaces. Show invalid variable indices. Show inline info.
2694
2695 2006-11-05 09:52  edwin
2696
2697         * src/vm/jit/i386/codegen.c (codegen): Reactivated code for inlining.
2698
2699 2006-11-04 23:42  edwin
2700
2701         * src/vm/jit/jit.h (jitdata): Clarified comment of isleafmethod.
2702
2703 2006-11-04 23:37  edwin
2704
2705         * src/vm/jit/jit.c (jit_jitdata_new): Initialize jd->isleafmethod
2706         depending on whether the method needs synchronization.
2707         
2708         * src/vm/jit/parse.c (parse): Initialization of jd->isleafmethod has
2709         been moved to jit_jitdata_new.
2710
2711 2006-11-04 23:29  edwin
2712
2713         * src/vm/jit/jit.h, src/vm/jit/jit.c (jit_jitdata_new): Made global.
2714
2715 2006-11-04 23:24  edwin
2716
2717         * src/vm/loader.c (load_newly_created_array): Explicitly zero the
2718         allocated methodinfo array.
2719
2720 2006-11-04 23:13  edwin
2721
2722         * src/vm/jit/stack.c (stack_change_to_tempvar): Fix: Only replace
2723         pass-through variables at the right stack depth. Otherwise the IR
2724         can become inconsistent, for example a temporary variable could be
2725         used more than once.
2726
2727 2006-11-04 22:40  edwin
2728
2729         * src/vm/jit/stack.c (stack_reanalyse_block): Relocate dst.varindex
2730         for ICMD_JSR (even if it is not used, it keeps the IR consistent).
2731
2732 2006-11-04 22:01  edwin
2733
2734         * src/mm/memory.c: Added ENABLE_MEMCHECK code:
2735         (mem_alloc): Prepared for poisoning memory.
2736         (mem_realloc): Invalidate freed memory.
2737         (mem_free): Invalidate freed memory.
2738         (dump_check_canaries): New function.
2739         (dump_alloc): Added canaries, record allocation.
2740         (dump_realloc): Invalidate freed memory.
2741         (dump_release): Check canaries, invalidate freed memory.
2742         
2743         * src/mm/memory.h (dump_allocation_t): New struct.
2744         (dumpinfo_t): Added allocation list for ENABLE_MEMCHECK.
2745         
2746         * configure.ac (--enable-memcheck): Added configure flag.
2747
2748 2006-11-04 17:30  michi
2749
2750         * src/mm/boehm.h: Renamed to gc-common.h
2751         * src/mm/gc-common.h: Added.
2752         
2753         * src/vm/builtin.c, src/vm/jit/mips/linux/md-os.c,
2754         src/vm/jit/mips/irix/md-os.c, src/vm/jit/stacktrace.c, src/vm/vm.c,
2755         src/native/tool/gennativetable.c, src/native/jni.c,
2756         src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c,
2757         src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c,
2758         src/native/vm/java_lang_VMObject.c,
2759         src/native/vm/java_lang_VMRuntime.c,
2760         src/native/vm/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c,
2761         src/native/jvmti/jvmti.c, src/mm/nogc.c, src/mm/boehm.c,
2762         src/mm/memory.h,
2763         src/threads/native/threads.c, src/cacaoh/headers.c,
2764         src/cacaoh/cacaoh.c:
2765         Changed include from "mm/boehm.h" to "mm/gc-common.h"
2766         
2767         * src/mm/Makefile.am: Added subdir and lib for cacao-gc
2768         
2769         * src/mm/cacao-gc: Added.
2770         * src/mm/cacao-gc/gc.c: Added.
2771         * src/mm/cacao-gc/Makefile.am: Added.
2772         * src/mm/cacao-gc/.cvsignore: Added.
2773         
2774         * src/threads/native/threads.c: Fixed include of boehms gc.h
2775         
2776         * src/vm/jit/mips/linux/md-os.c (md_init) [ENABLE_GC_BOEHM]: Added
2777         ifdef
2778         for boehm specific call.
2779         * src/vm/jit/mips/irix/md-os.c: Likewise.
2780         * src/vm/signal.c: Likewise.
2781         
2782         * configure.ac: Adapted buildsystem for new GC. Added cacao-gc.
2783
2784 2006-11-04 15:46  tbfg
2785
2786         * src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter):
2787         Removed unsued var.
2788         
2789         * src/vm/jit/powerpc64/codegen.c (codegen):
2790         Lots of arithmetic changes.
2791         
2792         * src/vm/jit/powerpc64/codegen.h (M_SLL): Converted to 64bit.
2793         (M_LSTX): Added.
2794         (gen_bound_check): Fixed.
2795
2796 2006-11-03 22:11  michi
2797
2798         * src/vm/loader.c (load_class_from_classbuffer): Removed commented
2799         code which
2800         placed methodinfos onto the heap.
2801
2802 2006-11-03 15:40  tbfg
2803
2804         checkcast testcase
2805
2806 2006-11-03 15:13  twisti
2807
2808         * parisc/.cvsignore: New file.
2809         * parisc/linux/.cvsignore: Likewise.
2810
2811 2006-11-03 14:03  twisti
2812
2813         * src/vm/jit/parisc/md-abi.h: New file.
2814         * src/vm/jit/parisc/md.c: Likewise.
2815         * src/vm/jit/parisc/arch.h: Likewise.
2816         * src/vm/jit/parisc/Makefile.am: Likewise.
2817         * src/vm/jit/Makefile.am (SUBDIRS): Added parisc.
2818         * configure.ac: Added parisc support.
2819
2820 2006-11-02 12:54  twisti
2821
2822         * src/toolbox/list.c, src/toolbox/list.h (list_create_dump): New
2823         function.
2824         (list_first_unsynced): Likewise.
2825         (list_last_unsynced): Likewise.
2826         (list_next_unsynced): Likewise.
2827         (list_prev_unsynced): Likewise.
2828
2829 2006-11-02 12:50  twisti
2830
2831         * src/Makefile.am (DIST_SUBDIRS): Compile mm first.
2832         (SUBDIRS): Likewise.
2833
2834 2006-11-02 10:21  twisti
2835
2836         * src/vm/jit/dseg.h (patchref): Added comments.
2837
2838 2006-11-01 20:19  twisti
2839
2840         * src/vm/jit/mips/codegen.c (codegen): Use new dseg function names.
2841         (createnativestub): Likewise.
2842         * src/vm/jit/mips/emit.c (emit_iconst): Likewise.
2843         (emit_lconst): Likewise.
2844         (emit_exception_stubs): Likewise.
2845         (emit_patcher_stubs): Likewise.
2846         (emit_verbosecall_enter): Likewise.
2847         (emit_verbosecall_exit): Likewise.
2848         
2849         * src/vm/jit/mips/codegen.h (M_INTMOVE): Wrap into do-while.
2850
2851 2006-10-31 22:02  twisti
2852
2853         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Forgot to remove ifconv.
2854
2855 2006-10-31 22:01  twisti
2856
2857         * src/vm/jit/ifconv: Removed.
2858         
2859         * src/vm/jit/optimizing/ifconv.c: Added.
2860         * src/vm/jit/optimizing/ifconv.h: Likewise.
2861         
2862         * src/vm/jit/optimizing/Makefile.am (IFCONV_SOURCES): Added.
2863         (liboptimizing_la_SOURCES): Added IFCONV_SOURCES.
2864         
2865         * src/vm/jit/jit.c (vm/jit/ifconv/ifconv.h): Changed to
2866         vm/jit/optimizing/ifconv.h.
2867         
2868         * src/vm/jit/Makefile.am (IFCONV_LIB): Removed.
2869         
2870         * configure.ac (AC_CONFIG_FILES): Removed src/vm/jit/ifconv/Makefile.
2871
2872 2006-10-31 21:57  ajordan
2873
2874         * src/vm/jit/sparc64/asmpart.S: added exception handling code.
2875         * src/vm/jit/sparc64/md-asm.h: Likewise.
2876         
2877         * src/vm/jit/sparc64/*: implemented createnativestub, added functions
2878         for param allocation following the ABI.
2879
2880 2006-10-31 21:35  twisti
2881
2882         * src/vm/jit/reorder.c: Removed.
2883         * src/vm/jit/reorder.h: Likewise.
2884         
2885         * src/vm/jit/optimizing/reorder.c: Added.
2886         * src/vm/jit/optimizing/reorder.h: Likewise.
2887         
2888         * src/vm/jit/optimizing/Makefile.am (REORDER_SOURCES): Added.
2889         (liboptimizing_la_SOURCES): Added REORDER_SOURCES.
2890         
2891         * src/vm/jit/jit.c (vm/jit/reorder.h): Changed to
2892         vm/jit/optimizing/reorder.h.
2893         
2894         * src/vm/jit/Makefile.am (libjit_la_SOURCES): Removed reorder.[ch].
2895
2896 2006-10-31 21:27  twisti
2897
2898         * src/vm/jit/optimizing/Makefile.am (INCLUDES): Renamed to
2899         AM_CPPFLAGS.
2900         (LIBS): Added.
2901
2902 2006-10-31 20:26  twisti
2903
2904         * src/vm/vm.c (vm/jit/profile/profile.h): Changed to
2905         vm/jit/optimizing/profile.h.
2906         (vm/jit/recompile.h) Changed to vm/jit/optimizing/recompile.h.
2907
2908 2006-10-31 20:11  twisti
2909
2910         * src/vm/jit/optimizing/profile.c: Added.
2911         * src/vm/jit/optimizing/profile.h: Likewise.
2912         * src/vm/jit/optimizing/recompile.c: Likewise.
2913         * src/vm/jit/optimizing/recompile.h: Likewise.
2914         
2915         * src/vm/jit/optimizing/Makefile.am (INCLUDES): Added OS_DIR.
2916         (PROFILE_SOURCES): Added.
2917         (RECOMPILE_SOURCES): Added.
2918         (SSA_SOURCES): Added.
2919         
2920         * src/vm/jit/recompile.c: Removed.
2921         * src/vm/jit/recompile.h: Likewise.
2922         * src/vm/jit/profile: Likewise.
2923         
2924         * src/vm/jit/Makefile.am (SUBDIRS): Added optimizing.
2925         (PROFILE_LIB): Removed.
2926         (RECOMPILE_SOURCES): Likewise.
2927         
2928         * src/cacao/Makefile.am (GC_LIB): Removed.
2929         
2930         * src/mm/Makefile.am (DIST_DUBDIRS): Added boehm-gc.
2931         (GC_LIB): Added.
2932         
2933         * src/Makefile.am (DIST_SUBDIRS): Removed boehm-gc.
2934         (SUBDIRS): Likewise.
2935         (BOEHM): Removed.
2936         
2937         * src/threads/native/threads.c (boehm-gc/include/gc.h): Changed to
2938         mm/boehm-gc/include/gc.h.
2939         
2940         * src/cacaoh/Makefile.am (GC_LIB): Removed.
2941         
2942         * configure.ac (AC_CONFIG_FILES): Removed src/vm/jit/profile/Makefile.
2943         (AC_CONFIG_SUBDIRS): Changed src/boehm-gc to src/mm/boehm-gc.
2944         * autogen.sh: Changed path to boehm-gc.
2945
2946 2006-10-31 20:00  twisti
2947
2948         * src/vm/exceptions.c (exceptions_handle_exception): Made identation
2949         correct.
2950
2951 2006-10-31 19:58  twisti
2952
2953         * src/mm/boehm-gc/.cvsignore: Added some files.
2954
2955 2006-10-31 15:42  twisti
2956
2957         * Moved boehm-gc from src/ to src/mm/.
2958
2959 2006-10-31 13:40  tbfg
2960
2961         * src/vm/jit/powerpc64/codegen.c (codegen):
2962         Fixed parameter passing.
2963         Various fixes for many ICMD_*.
2964         
2965         * src/vm/jit/powerpc64/patcher.c (patcher_get_putfield):
2966         Fixed for longs.
2967         
2968         * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method):
2969         Fixed methodheader, exception handling now works.
2970         
2971         * src/vm/exceptions.c (exceptions_handle_exception):
2972         Indenting.
2973
2974 2006-10-31 10:16  twisti
2975
2976         * configure.ac (AC_INIT): Changed version to 0.97+svn.
2977         (OPT_CFLAGS): Changed to -O0.
2978
2979 2006-10-31 10:15  twisti
2980
2981         * NEWS: Forgot to commit the date for 0.97, grrrr.
2982
2983 2006-10-31 00:07  twisti
2984
2985         * ChangeLog: Updated for release 0.97.
2986 2006-10-30 23:52  twisti
2987
2988         * configure.ac (AC_INIT): Changed version to 0.97.
2989         (--enable-threads): Removed green from help string.
2990
2991 2006-10-30 13:03  twisti
2992
2993         * src/vm/jit/show.c (show_method): Removed debug output.
2994         (SHOW_INT_CONST): Removed long cast and print hex value additionally.
2995         (SHOW_LNG_CONST): Removed long long cast and print hex value
2996         additionally. Also added version for SIZEOF_VOID_P == 4.
2997         (SHOW_ADR_CONST): Added.
2998         (SHOW_FLT_CONST): Print hex value additionally.
2999         (SHOW_DBL_CONST): Likewise. Also added version for SIZEOF_VOID_P == 4.
3000         (show_icmd): Smaller changes.
3001
3002 2006-10-30 12:27  twisti
3003
3004         * src/threads/native/threads.h (MUTEXSIM): Removed.
3005         (pthread_mutex_rec_t): Likewise.
3006         (pthread_mutex_init_rec): Likewise.
3007         (pthread_mutex_destroy_rec): Likewise.
3008         (pthread_mutex_lock_rec): Likewise.
3009         (pthread_mutex_unlock_rec): Likewise.
3010         * src/threads/native/threads.c (pthread_mutex_init_rec): Removed.
3011         (pthread_mutex_destroy_rec): Likewise.
3012         (pthread_mutex_lock_rec): Likewise.
3013         (pthread_mutex_unlock_rec): Likewise.
3014         (compiler_lock): Use pthread functions.
3015         (compiler_unlock): Likewise.
3016         (threads_cast_darwinstop): Warning fixes and use vm_abort.
3017         (threads_cast_darwinresume): Use vm_abort.
3018         (threads_cast_stopworld): Warning fixes.
3019         (pthreads_preinit) [!MUTEXSIM]: Removed code.
3020
3021 2006-10-30 11:52  edwin
3022
3023         * src/vm/jit/intrp/intrp.h (Cell): Moved the typedef upward, so we can
3024         use it in other headers.
3025         (global_sp): Does not need the complex casts anymore.
3026         
3027         * src/threads/native/threads.h (threadobject): Made _global_sp a
3028         Cell*.
3029         * src/threads/native/threads.c: Likewise.
3030
3031 2006-10-30 11:21  edwin
3032
3033         * src/mm/memory.h (ALIGN): Renamed to MEMORY_ALIGN.
3034         * src/mm/memory.c: Likewise.
3035         * src/vm/jit/dseg.c: Likewise.
3036         * src/vm/jit/parse.c: Likewise.
3037         * src/vm/jit/codegen-common.c: Likewise.
3038         * src/vm/linker.c: Likewise.
3039         * src/mm/nogc.c: Likewise.
3040         * src/cacaoh/headers.c: Likewise.
3041
3042 2006-10-30 11:04  edwin
3043
3044         * src/threads/native/threads.c (threads_dump): Cast pthread_t to long
3045         for printing it.
3046
3047 2006-10-30 11:00  edwin
3048
3049         * src/vm/jit/cfg.c (cfg_build): Removed set-but-not-used variable (m).
3050         * src/vm/jit/ifconv/ifconv.c (check): Likewise (cd).
3051         * src/vm/jit/stack.c (stack_reanalyse_block): Likewise (maythrow).
3052         (stack_analyse): Likewise (code, b_index).
3053         * src/vm/jit/show.c (show_basicblock): Likewise (m).
3054         * src/vm/jit/mips/emit.c (emit_copy): Likewise (rd).
3055         * src/vm/jit/parse.c (parse): Likewise (code).
3056         * src/vm/exceptions.c (exceptions_handle_exception): Likewise
3057         (framesize).
3058
3059 2006-10-30 10:32  edwin
3060
3061         * src/vm/jit/verify/typecheck-common.c (typecheck_init_flags): Removed
3062         set-but-not-used variable `i`.
3063
3064 2006-10-30 10:31  edwin
3065
3066         * src/vm/jit/verify/typecheck-builtins.inc: Removed set-but-not-used
3067         variable `cls`.
3068
3069 2006-10-30 10:15  edwin
3070
3071         * src/vm/jit/alpha/codegen.c (codegen): Zero `uf` to avoid warning.
3072
3073 2006-10-30 00:45  edwin
3074
3075         * src/vm/builtin.c (builtin_print_argument): Made logtextlen an in/out
3076         argument. Correctly reallocate logtext, increase logtextlen.
3077         (builtin_trace_args): Pass &logtextlen to builtin_print_argument.
3078         (builtin_displaymethodstop): Likewise.
3079
3080 2006-10-29 23:43  edwin
3081
3082         * src/vm/jit/jit.h (stackelement): Removed the obsolete fields
3083         `typeinfo` and `regoff`.
3084
3085 2006-10-29 23:37  edwin
3086
3087         * src/vm/jit/stack.c (stack_grow_variable_array): Zero the additional
3088         space when reallocating the jd->var array.
3089         
3090         * src/vm/jit/parse.c (parse_realloc_instructions): Zero the
3091         additional space when reallocating the instructions array.
3092
3093 2006-10-29 23:33  edwin
3094
3095         * src/vm/jit/parse.c (parse): Fix in ICMD_TABLESWITCH: Put table into
3096         dump memory.
3097
3098 2006-10-29 23:23  edwin
3099
3100         * NEWS: Typo fixed.
3101
3102 2006-10-29 16:21  edwin
3103
3104         * src/vm/suck.c (stdlib.h): Include to avoid warning about `free`.
3105
3106 2006-10-29 16:14  edwin
3107
3108         * src/vm/suck.c (suck_add_from_property): Use `free` to free memory
3109         coming out of the C library - it has not been allocated with M?NEW,
3110         so M?FREE is wrong here.
3111
3112 2006-10-29 14:49  twisti
3113
3114         * src/vm/builtin.c (builtin_print_argument): Print float/double values
3115         with %g and addresses as hex.
3116         (builtin_trace_args): Fixed message length calclation.
3117         (builtin_displaymethodstop): Fixed bug: we only passed the long value.
3118
3119 2006-10-29 11:15  edwin
3120
3121         * src/cacaoh/headers.c (vm_abort): Print the error message before
3122         aborting.
3123
3124 2006-10-28 19:40  twisti
3125
3126         * NEWS: New news.
3127
3128 2006-10-28 19:26  twisti
3129
3130         * src/vm/jit/dseg.c (dseg_find_float): Compare hex value.
3131         (dseg_find_double): Likewise.
3132
3133 2006-10-28 17:45  twisti
3134
3135         * NEWS: Added some stuff.
3136
3137 2006-10-28 17:15  edwin
3138
3139         * NEWS: Added news for CACAO 0.97.
3140
3141 2006-10-28 16:55  edwin
3142
3143         * src/vm/jit/jit.c (stackreq): Fixed for DUP/SWAP instructions. The
3144         numbers for DUP2_X1 and DUP2_X2 were also wrong before the new IR
3145         had been introduced. The new IR in addition needs extra temps in some
3146         cases, thus the numbers before the 'plus' operators.
3147
3148 2006-10-28 16:51  edwin
3149
3150         * src/vm/jit/stack.c (stack_analyse): Store vartop in jitdata.
3151         
3152         * src/vm/jit/show.c (show_method): Show number of variables.
3153         
3154         * tests/regression/jasmin/test_many_dup2_x2.j: New test.
3155         * tests/regression/jasmin/test_many_dup.j: Likewise.
3156         * tests/regression/jasmin/test_many_dup_x2.j: Likewise.
3157         * tests/regression/jasmin/test_many_swap.j: Likewise.
3158         * tests/regression/jasmin/test_many_dup2.j: Likewise.
3159         * tests/regression/jasmin/test_many_dup2_x1.j: Likewise.
3160         * tests/regression/jasmin/test_many_dup_x1.j: Likewise.
3161         
3162         * tests/regression/jasmin/Makefile.am: Added new tests.
3163
3164 2006-10-28 15:21  edwin
3165
3166         * src/vm/jit/stack.c (stackdata_t): Added field varsallocated.
3167         (stack_grow_variable_array): Smarted memory allocation.
3168         (stack_analyse): Initialize sd.varsallocated.
3169
3170 2006-10-28 13:02  edwin
3171
3172         * src/vm/access.c (ACCESS_ASSERT): Replaced with assert. Because of
3173         a mistake in the definition of ACCESS_DEBUG, ACCESS_ASSERT always
3174         was a NOP!
3175         (access_is_accessible_member): Fixed assertion.
3176
3177 2006-10-28 12:53  edwin
3178
3179         * src/vm/loader.c (LOADER_ASSERT): Replaced with assert.
3180
3181 2006-10-28 12:49  edwin
3182
3183         * src/vm/class.c (CLASS_ASSERT): Replaced by assert.
3184
3185 2006-10-28 12:47  edwin
3186
3187         * src/vm/class.c (class_array_of): Release dump memory.
3188         (class_multiarray_of): Likewise.
3189         (class_get_classref_multiarray_of): Likewise.
3190
3191 2006-10-27 10:41  twisti
3192
3193         * src/vm/vm.c: Renamed -Xglibj to -Xbootclasspath/c to match jamvm's
3194         option (Robert, Mark and I decided that once).
3195         (vm_create): Removed unnecessary k. #ifdef'd the profiling stuff.
3196         (vm_run): Removed commented code.
3197         * src/vm/options.c, src/vm/options.h [ENABLE_PROFILING] (opt_prof)
3198         (opt_prof_bb): Added.
3199         * src/vm/jit/jit.c (jit_compile) [ENABLE_PROFILING]: Added for
3200         opt_prof stuff.
3201         [ENABLE_VERIFIER]: Added for flag setting.
3202         * src/vm/jit/codegen-common.c (codegen_createnativestub)
3203         [ENABLE_PROFILING]: Added for opt_prof stuff.
3204
3205 2006-10-26 16:41  edwin
3206
3207         * src/vm/jit/alpha/codegen.c (codegen): Declare variables at the start
3208         of codegen (uf, fi).
3209
3210 2006-10-26 12:05  twisti
3211
3212         * src/vm/jit/powerpc/codegen.c (codegen): Made fieldinfo and
3213         unresolved_field fucntion variables, fieldtype was uninitialized for
3214         PUTFIELD.
3215
3216 2006-10-26 11:57  twisti
3217
3218         * src/vm/jit/x86_64/codegen.c (codegen): Made fieldinfo and
3219         unresolved_field function variables (it makes the code more readable).
3220
3221 2006-10-26 11:47  edwin
3222
3223         * src/vm/jit/alpha/codegen.c (codegen): Fixed ICMD_PUTFIELD: Set
3224         fieldtype before it is used. Fixed warnings.
3225         
3226         * src/vm/jit/mips/codegen.c (codegen): Prevent warnings.
3227
3228 2006-10-26 11:35  twisti
3229
3230         * NEWS: Added some 0.97 news.
3231
3232 2006-10-26 11:30  twisti
3233
3234         * src/vm/exceptions.c (exceptions_print_exception): Removed [!NDEBUG]
3235         condition, as we may need this function in the VM (e.g. recompile).
3236         * src/vm/jit/recompile.c (vm/exceptions.h): Added.
3237         (recompile_thread): Call exceptions_print_exception in exception case.
3238
3239 2006-10-26 11:29  edwin
3240
3241         * src/vm/jit/intrp/codegen.c (codegen): Initialize uf to NULL for
3242         resolved fields, to avoid warnings.
3243         
3244         * src/vm/jit/intrp/engine.c (engine): Initialize
3245         classcastexception_object and arrayindexoutofbounds_index to avoid
3246         warnings.
3247
3248 2006-10-26 11:23  edwin
3249
3250         * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Read inline
3251         info from instruction, ported to new instruction format.
3252         (dseg_addlinenumber_inline_end): Likewise.
3253
3254 2006-10-26 11:19  edwin
3255
3256         * src/vm/jit/show.c (show_icmd): Fixed warning fix.
3257
3258 2006-10-26 11:18  edwin
3259
3260         * src/threads/native/threads.c (threads_table_dump): Fix warning (the
3261         function is currently unused, but may become handy again.)
3262
3263 2006-10-26 11:15  edwin
3264
3265         * src/vm/jit/show.c (show_method): Fixed warning.
3266         (show_basicblock): Likewise.
3267         (show_icmd): Likewise.
3268
3269 2006-10-26 11:04  twisti
3270
3271         * src/vm/jit/x86_64/md.h: Removed.
3272         * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Removed md.h.
3273         * src/vm/jit/x86_64/codegen.c (md.h): Removed.
3274         (codegen): Warning fix.
3275
3276 2006-10-26 10:34  twisti
3277
3278         * src/vm/jit/mips/md-abi.h: Fixed MIPS64 compilation and backported
3279         some MIPS32 stuff.
3280
3281 2006-10-26 10:09  twisti
3282
3283         * src/vm/descriptor.h (paramdesc): We need a type for MIPS32, as the
3284         type in the allocated argument register may be different to the actual
3285         register (e.g. passing a float in an integer register).
3286
3287 2006-10-26 09:55  twisti
3288
3289         * src/vm/jit/mips/codegen.c (codegen): More comment and brace changes.
3290
3291 2006-10-26 09:44  twisti
3292
3293         * src/vm/jit/mips/codegen.c (codegen): Comment and brace changes.
3294
3295 2006-10-26 09:29  twisti
3296
3297         * src/vm/jit/mips/md-asm.h: Renamed t8 to t4 and removed t9, as it's
3298         actually itmp3.
3299         * src/vm/jit/mips/asmpart.S: Likewise.
3300
3301 2006-10-25 14:26  tbfg
3302
3303         * src/vm/jit/powerpc64/linux/md-abi.c (_ALIGN): Renamed to
3304         CACAO_ALIGN because of name clash with /usr/include/asm-ppc64/page.h.
3305         
3306         * src/vm/jit/powerpc64/emit.c (emit_lconst): Added.
3307         (emit_iconst): Reformatted.
3308         
3309         * src/vm/jit/powerpc64/codegen.c (codegen):
3310         Replaced all stackframesize with cd->stackframesize.
3311         Implemented ICMD_IF_LLT, ICMD_IF_LLE, ICMD_IF_LGE, ICMD_IF_LGT.
3312         
3313         * src/vm/jit/powerpc64/asmpart.S:
3314         Partially fixed exception path.
3315         (asm_cacheflush): Fixed.
3316         
3317         * src/vm/jit/powerpc64/codegen.h (LCONST): Implemented.
3318         
3319         * tests/if_tests.java: Added simple testcase for if and compare.
3320
3321 2006-10-24 23:24  edwin
3322
3323         * src/vm/utf8.h, src/vm/utf8.c (utf8_safe_number_of_u2s): Modified to
3324         completely emulate the behaviour of the RI in case of truncated UTF-8
3325         characters. This requires an extra strlen(text) beforehand. We still
3326         require zero-termination. We could drop that with a few extra changes,
3327         should we find other uses for these functions.
3328         (utf8_safe_convert_to_u2s): Likewise.
3329         
3330         * src/vm/string.c (javastring_safe_new_from_utf8): Pass number of
3331         bytes to the decoding functions.
3332
3333 2006-10-24 17:51  edwin
3334
3335         * src/vm/utf8.c (utf8_safe_number_of_u2s): Skip only bytes beginning
3336         with high bits 10 in invalid sequences.
3337         (utf8_safe_convert_to_u2s): Likewise.
3338
3339 2006-10-24 16:41  edwin
3340
3341         * src/vm/utf8.h, src/vm/utf8.c (utf8_safe_number_of_u2s): New
3342         function.
3343         (utf8_safe_convert_to_u2s): Likewise.
3344         
3345         * src/vm/stringlocal.h, src/vm/string.c
3346         (javastring_safe_new_from_utf8): New function.
3347         
3348         * src/native/jni.c (_Jv_JNI_NewStringUTF): Use the new functions for
3349         safe UTF-8 decoding.
3350
3351 2006-10-24 11:17  twisti
3352
3353         * src/vm/jit/dseg.c (dseg_display): Rewritten.
3354
3355 2006-10-22 04:28  ajordan
3356
3357         * src/vm/jit/sparc64/codegen.h: fixed M_SAVE.
3358         
3359         * src/vm/jit/sparc64/disass.c: configuring disass for big-endian.
3360
3361 2006-10-22 02:49  ajordan
3362
3363         * src/vm/jit/sparc64/emit.c: Implemented trace enter/exit functions.
3364         * src/vm/jit/sparc64/codegen.c: Likewise.
3365         
3366         * src/vm/jit/sparc64/md.c: Implemented md_get_method_patch_address.
3367         
3368         * src/vm/jit/sparc64/asmpart.S(asm_call_jit_compiler): Fixed window
3369         handling
3370         
3371         * src/vm/jit/sparc64/disass.c: Fixed disassembly printing.
3372         
3373         * src/vm/jit/sparc64/md-abi.h: Minor changes/fixes.
3374         * src/vm/jit/sparc64/codegen.h: Likewise.
3375         * src/vm/jit/sparc64/md-asm.h: Likewise.
3376
3377 2006-10-22 00:38  edwin
3378
3379         * src/vm/jit/jit.c (jit_asm_compile): Fixed xpc for extern
3380         stackframeinfo by subtracting 1 from the return address.
3381         This fixes stacktraces when exceptions are thrown out of
3382         the compiler.
3383         
3384         * tests/regression/extest.2output: Changed line numbers to
3385         the values same the RI returns, which are correct upon inspection
3386         of the Java code.
3387
3388 2006-10-21 15:06  edwin
3389
3390         * src/vm/jit/parse.c (parse): Bugfix for -noverify: Do not make the
3391         variable array dependant on jd->flags, as this breaks stack_analyse.
3392
3393 2006-10-20 18:35  twisti
3394
3395         * src/vm/jit/mips/codegen.c (md.h): Removed.
3396         * src/vm/jit/mips/md.h: Removed.
3397         * src/vm/jit/mips/Makefile.am (libarch_la_SOURCES): Removed md.h.
3398
3399 2006-10-20 14:53  twisti
3400
3401         * src/vm/jit/jit.c (jit_init) [ENABLE_JIT]: Call stack_init only for
3402         JIT.
3403         [ENABLE_JIT] (jit_asm_compile): Only for JIT.
3404         
3405         * src/vm/jit/Makefile.am (SUBDIRS) [ENABLE_JIT]: Add allocator only
3406         for JIT.
3407         (libjit_la_SOURCES) [ENABLE_JIT]: Compile reg.[ch], replace.[ch] and
3408         stack.[ch] only for JIT.
3409         
3410         * src/cacaoh/headers.c [ENABLE_INTRP] (intrp_asm_abstractmethoderror):
3411         Added.
3412
3413 2006-10-20 14:26  twisti
3414
3415         * src/vm/linker.c (link_class_intern): Handle AbstractMethodError for
3416         interpreter (missed this one in the last commit).
3417
3418 2006-10-20 14:22  twisti
3419
3420         * src/vm/jit/intrp/asmpart.c (intrp_asm_abstractmethoderror): Added.
3421         * src/vm/jit/asmpart.h [ENABLE_INTRP] (intrp_asm_abstractmethoderror):
3422         Likewise.
3423         * src/vm/linker.c (linker_addinterface): Handle AbstractMethodError
3424         for interpreter.
3425
3426 2006-10-20 13:58  twisti
3427
3428         * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Removed
3429         unused ld_library_path.
3430
3431 2006-10-20 13:54  twisti
3432
3433         * src/vm/suck.c (vm/vm.h): Added.
3434         (bootclasspath, classpath): Removed.
3435         (suck_add_from_property): Prefix bootclasspath with _Jv_.
3436         * src/vm/suck.h (bootclasspath, classpath): Removed.
3437         
3438         * src/vm/vm.c (_Jv_bootclasspath, _Jv_classpath)
3439         (_Jv_java_library_path): Added.
3440         (version): Prefix bootclasspath with _Jv_.
3441         (vm_create): Likewise, set _Jv_java_library_path to LD_LIBRARY_PATH
3442         before handling commandline options.
3443         * src/vm/vm.h (_Jv_bootclasspath, _Jv_classpath)
3444         (_Jv_java_library_path): Added.
3445         
3446         * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Prefix
3447         bootclasspath and classpath with _Jv_, use _Jv_java_library_path for
3448         setting java.library.path.
3449         
3450         * src/cacao/cacao.c (main): First let dlopen try to open libjvm at
3451         it's default locations.
3452         * src/native/native.c (native_init): Likewise.
3453         
3454         * src/cacaoh/headers.c (_Jv_bootclasspath): Added.
3455         
3456         * contrib/setenvinstalled.in: Set LD_LIBRARY_PATH again.
3457         * contrib/setenvsource.in: Likewise.
3458         
3459         * tests/regression/native/Makefile.am (JAVAFLAGS): Removed
3460         -Djava.library.path=.
3461         (check): Set LD_LIBRARY_PATH.
3462         * tests/regression/codepatching/Makefile.am (check): Likewise.
3463         * tests/regression/Makefile.am: Likewise.
3464
3465 2006-10-20 13:09  twisti
3466
3467         * src/vm/signal.c (signal_init): Added dummy allocation to install
3468         Boehm's signal handlers.
3469         * src/threads/native/threads.c (threads_preinit): Removed dummy
3470         allocation.
3471         
3472         * src/vm/vm.c (vm_create): Call threads_preinit before gc_init.
3473         * src/cacaoh/cacaoh.c (main): Likewise.
3474
3475 2006-10-20 12:00  twisti
3476
3477         * src/vm/exceptions.c [ENABLE_JIT] (exceptions_handle_exception): Only
3478         required for JIT.
3479
3480 2006-10-20 00:37  ajordan
3481
3482         * src/mm/memory.c: fixed typo in _no_threads_dumpinfo definition
3483
3484 2006-10-19 10:10  twisti
3485
3486         * src/threads/native/threads.c (threads_interrupt_thread): Renamed to
3487         threads_thread_interrupt, send thread a SIGHUP singal to interrupt
3488         blocking system calls (thanks to Robert Schuster).
3489         (threads_dump): Removed threads_sleep call.
3490         
3491         * src/threads/native/threads.h (threads_interrupt_thread): Renamed to
3492         threads_thread_interrupt.
3493         * src/native/vm/java_lang_VMThread.c (interrupt): Likewise.
3494         * src/native/jvmti/jvmti.c (InterruptThread): Likewise.
3495         
3496         * src/vm/signal.c (signal_init): Register SIGHUP.
3497         (signal_handler_sighup): Added.
3498
3499 2006-10-19 09:32  twisti
3500
3501         * src/vm/jit/stacktrace.c (stacktrace_dump_trace): Changed signature.
3502         * src/vm/jit/stacktrace.h: Likewise.
3503         
3504         * src/vm/jit/codegen-common.c (codegen_get_pv_from_pc): Pass
3505         threadobject to stacktrace_dump_trace.
3506         
3507         * src/vm/signal.c (signal_init): Don't register SIGUSR1.
3508         (signal_handler_sigusr1): Removed.
3509         
3510         * src/native/jni.h: Include GNU Classpath JNI header before we define
3511         our header.
3512         (localref_table): Forward typedef.
3513         
3514         * src/threads/native/threads.c (threads_dump): Pass threadobject to
3515         stacktrace_dump_trace.
3516         
3517         * src/cacaoh/headers.c (stacktrace_dump_trace): Added.
3518
3519 2006-10-19 09:27  twisti
3520
3521         * src/threads/native/threads.h (threadobject, threads_table_entry_t)
3522         (threads_table_t): Forward typedef.
3523         (threadobject): Changed dumpinfo to dumpinfo_t.
3524
3525 2006-10-19 09:25  twisti
3526
3527         * src/mm/memory.h (dumpblock): Postfixed with _t and moved before
3528         internal includes, as we have some problems with threadobject.
3529         (dumpinfo): Likewise.
3530         * src/mm/memory.c: Postfixed dumpblock and dumpinfo with _t.
3531
3532 2006-10-19 09:23  twisti
3533
3534         * src/vm/jit/powerpc/codegen.c (codegen): Warning fixes.
3535
3536 2006-10-18 16:55  edwin
3537
3538         * src/vm/jit/codegen-common.c (codegen_createnativestub): Initialize
3539         jd->flags to zero.
3540
3541 2006-10-18 16:27  edwin
3542
3543         * tests/regression/jasmin/runtest: Removed debugging `tee TEST`.
3544         * tests/regression/jasmin/Makefile.am (CLEANFILES): Added file
3545         TESTSIA.
3546
3547 2006-10-18 16:19  edwin
3548
3549         * tests/regression/jasmin/Makefile.am (SOURCE_FILES): Use EXTRA_DIST,
3550         instead.
3551
3552 2006-10-18 15:57  edwin
3553
3554         * src/vm/jit/i386/linux/Makefile.am (noinst_HEADERS): Added md-asm.h.
3555         * src/vm/jit/i386/freebsd/Makefile.am (noinst_HEADERS): Likewise.
3556
3557 2006-10-18 15:27  twisti
3558
3559         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added powerpc64.
3560
3561 2006-10-18 15:19  twisti
3562
3563         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added optimizing.
3564
3565 2006-10-18 15:14  twisti
3566
3567         * src/vm/jit/sparc64/Makefile.am (libarch_la_SOURCES): Removed md.h.
3568
3569 2006-10-18 15:09  twisti
3570
3571         * src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Renamed md-emit.h
3572         to emit.h.
3573
3574 2006-10-18 15:04  twisti
3575
3576         * configure.ac (AC_INIT): Changed to version 0.97rc.
3577         (CFLAGS): Changed to -O2.
3578
3579 2006-10-18 14:53  edwin
3580
3581         * tests/regression/jasmin/Makefile.am: Temporarily disable failing
3582         tests for the release.
3583         * src/vm/jit/stack.c (stack_analyse): Check field type when creating
3584         a PUTFIELDCONST/PUTSTATICCONST instruction.
3585
3586 2006-10-16 09:59  edwin
3587
3588         * src/vm/jit/parse.c (parse_resolve_exception_table): Do not use
3589         codegendata.
3590         (parse): Likewise.
3591         
3592         * src/vm/jit/stack.c (stack_analyse): Likewise.
3593
3594 2006-10-16 09:02  twisti
3595
3596         * src/vm/jit/allocator/simplereg.c [ENABLE_STATISTICS]
3597         (simplereg_make_statistics): Don't print this INREGISTER stuff.
3598
3599 2006-10-16 08:53  twisti
3600
3601         * src/vm/jit/jit.c (jit_compile_intern) [ENABLE_STATISTICS]:
3602         exceptiontablelength is now in jitdata.
3603
3604 2006-10-16 00:05  ajordan
3605
3606         * src/vm/jit/sparc64/codegen.c: Ported to unified variables.
3607         * src/vm/jit/sparc64/emit.c: Likewise.
3608         
3609         * src/vm/jit/sparc64/md.c: Implemented md_codegen_get_pv_from_pc.
3610         
3611         * src/vm/jit/sparc64/codegen.h: Some fixes.
3612         * src/vm/jit/sparc64/asmpart.S: Likewise.
3613
3614 2006-10-15 22:44  edwin
3615
3616         * src/vm/linker.c (link_class_intern): Removed unused variable.
3617
3618 2006-10-15 22:25  edwin
3619
3620         * src/vm/jit/jit.h (exception_entry): New struct.
3621         (jitdata): Added exceptiontable fields. Cleaned up.
3622         
3623         * src/vm/exceptions.h (exceptionentry): Removed.
3624         
3625         * src/vm/jit/dseg.h (dseg_exception_entry): New struct.
3626         
3627         * src/vm/jit/stack.h (BLOCK_OF): Moved to parse.h.
3628         * src/vm/jit/parse.h (BLOCK_OF): Added.
3629         
3630         * src/vm/jit/codegen-common.h (codegendata): Removed exceptiontable
3631         and exceptiontablelength.
3632         
3633         * src/vm/loader.c (load_method): Renamed m->exceptiontable* to
3634         m->rawexceptiontable*.
3635         (load_class_from_classbuffer): Likewise.
3636         * src/vm/method.c (method_free): Likewise.
3637         
3638         * src/vm/method.h (methodinfo): Renamed m->exceptiontable* to
3639         m->rawexceptiontable*.
3640         (exceptiontable): Renamed to raw_exception_entry. Removed fields that
3641         are only used in jd->exceptiontable.
3642         
3643         * src/vm/jit/powerpc/codegen.c (codegen): Moved exceptiontable to jd,
3644         renamed struct exceptiontable to exception_entry.
3645         * src/vm/jit/sparc64/codegen.c (codegen): Likewise.
3646         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
3647         * src/vm/jit/stack.c (stackdata_t): Likewise.
3648         (stack_analyse): Likewise.
3649         (stack_reanalyse_block): Likewise.
3650         * src/vm/jit/optimizing/graph.c (graph_add_exceptions): Likewise.
3651         * src/vm/jit/show.c (show_method): Likewise.
3652         * src/vm/jit/verify/typecheck-common.h (verifier_state): Likewise.
3653         * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
3654         * src/vm/jit/verify/typecheck-stackbased.c (typecheck_stackbased):
3655         Likewise.
3656         * src/vm/jit/mips/codegen.c (codegen):
3657         * src/vm/jit/loop/loop.h (LoopContainer): Likewise.
3658         * src/vm/jit/loop/analyze.c (analyze_nested): Likewise.
3659         (analyze_or_exceptions): Likewise.
3660         (update_internal_exceptions): Likewise.
3661         (create_static_checks): Likewise.
3662         (optimize_loops): Likewise.
3663         * src/vm/jit/inline/inline.c (test_inlining): Likewise.
3664         * src/vm/jit/allocator/lsra.c (lsra_add_exceptions): Likewise.
3665         * src/vm/jit/i386/codegen.c (codegen): Likewise.
3666         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
3667         * src/vm/jit/intrp/codegen.c (codegen): Likewise.
3668         * src/vm/jit/schedule/schedule.h (M_SCHEDULE_SET_EXCEPTION_POINT):
3669         Likewise.
3670         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
3671         * src/vm/jit/jit.c (jit_compile_intern): Likewise.
3672         (jit_jitdata_new): Initialize exceptiontable fields.
3673         
3674         * src/vm/jit/codegen-common.c (codegen_setup): Removed exceptiontable
3675         fields.
3676         
3677         * src/vm/jit/parse.c (parse_mark_exception_boundaries): New function.
3678         (parse_resolve_exception_table): New function.
3679         (fillextable): Removed.
3680         (parse): Use parse_mark_exception_boundaries and
3681         parse_resolve_exception_table. Write the basicblockindex for the end
3682         marker block.
3683         
3684         * src/vm/jit/intrp/asmpart.c (exceptionentry): Renamed to
3685         dseg_exception_entry.
3686         * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
3687         
3688         * src/vm/linker.c (link_class_intern): Do not resolve exception
3689         classes here. This is now done in parse.c.
3690
3691 2006-10-15 13:52  edwin
3692
3693         * src/vm/jit/jit.h: Indentation cleanup.
3694
3695 2006-10-15 13:37  edwin
3696
3697         * src/vm/jit/jit.h (flags_operand_t): Removed `fields` struct. It was
3698         not safe to use, as defined.
3699
3700 2006-10-15 13:19  edwin
3701
3702         * src/vm/jit/jit.h (flags_operand_t): Removed unused argcount.
3703         (ACONST_LOAD): Removed.
3704         (ACONST_BUILTIN): Removed.
3705
3706 2006-10-15 12:59  edwin
3707
3708         * src/vm/method.h (methodinfo): Removed c_block_nr.
3709         * src/vm/jit/jit.h (jitdata): Removed c_block_nr.
3710         (BASICBLOCK_INIT): Do not set bptr->nr here.
3711         
3712         * src/vm/jit/jit.c (jit_compile_intern): Renumber basic blocks after
3713         transformations.
3714         (jit_check_basicblock_numbers): Made stricter.
3715         
3716         * src/vm/jit/stack.c (stack_append_block): Set basic block numbers
3717         correctly.
3718         (stack_clone_block): Do not set bptr->nr here.
3719         
3720         * src/vm/jit/verify/typecheck.c (typestate_reach): Use the correct
3721         check for setting the repeat flag.
3722         (typecheck): Check basic block numbers.
3723         
3724         * src/vm/jit/verify/typecheck-stackbased.c (typecheck_stackbased):
3725         Check basic block numbers.
3726         
3727         * src/vm/jit/loop/analyze.c (copy_handler): Do not use c_block_nr.
3728         (create_static_checks): Likewise.
3729         * src/vm/jit/inline/inline.c (create_block): Likewise.
3730         * src/vm/jit/parse.c (parse): Likewise.
3731
3732 2006-10-15 12:20  edwin
3733
3734         * src/vm/jit/jit.c (jit_renumber_basicblocks): New function.
3735         (jit_check_basicblock_numbers): Likewise.
3736         (jit_init): Removed obsolete variable `i`.
3737         
3738         * src/vm/jit/jit.h (jit_renumber_basicblocks): New function.
3739         (jit_check_basicblock_numbers): Likewise.
3740
3741 2006-10-14 19:12  twisti
3742
3743         * src/native/jni.c (_Jv_JNI_DetachCurrentThread): Made
3744         --disable-threads-safe.
3745
3746 2006-10-13 18:29  edwin
3747
3748         * tests/regression/jasmin/Makefile.am: Added new tests.
3749
3750 2006-10-13 18:25  edwin
3751
3752         * src/vm/jit/verify/icmds.c: Check basic types of instance for field
3753         access.
3754         * src/vm/jit/verify/typecheck-fields.inc: Check basic type of value.
3755         
3756         * src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
3757         * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
3758         
3759         * src/vm/jit/verify/typecheck.c (verify_fieldaccess): Define
3760         VERIFY_ERROR for the include file.
3761         
3762         * src/vm/jit/verify/typecheck-stackbased.c (VERIFY_ERROR): Fixed
3763         macro.
3764         
3765         *
3766         tests/regression/jasmin/test_verify_fail_putfieldconst_basic_type_instance.j,
3767         tests/regression/jasmin/test_verify_fail_getfield_basic_type_instance.j,
3768         tests/regression/jasmin/test_verify_fail_putfield_basic_type_value.j,
3769         tests/regression/jasmin/test_verify_fail_putstatic_basic_type_value.j,
3770         tests/regression/jasmin/test_verify_fail_putfieldconst_basic_type_value.j,
3771         tests/regression/jasmin/test_verify_fail_getfield_basic_type_value.j,
3772         tests/regression/jasmin/test_verify_fail_putfield_basic_type_instance.j,
3773         tests/regression/jasmin/test_verify_fail_putfield_basic_type_lookup.j,
3774         tests/regression/jasmin/test_verify_fail_getfield_basic_type_lookup.j,
3775         tests/regression/jasmin/test_verify_fail_putstaticconst_basic_type_value.j:
3776         New tests.
3777         
3778         * tests/regression/jasmin/runtest: Look for specified ICMDs in -sia
3779         output.
3780
3781 2006-10-13 17:06  tbfg
3782
3783         * src/vm/jit/powerpc64/md.c (md_get_method_patch_address): Fixed
3784         comments.
3785         
3786         * src/vm/jit/powerpc64/codegen.c: Added credits.
3787         
3788         * src/vm/jit/powerpc64/asmpart.S (asm_handle_nat_exception): Fixed
3789         exception handling code. Added credits.
3790
3791 2006-10-13 16:30  edwin
3792
3793         * src/vm/jit/verify/typecheck-fields.inc: Re-activate stack overflow
3794         checking.
3795         
3796         * src/vm/jit/verify/typecheck-common.h (verifier_state): Added field
3797         `stackceiling`.
3798         
3799         * src/vm/jit/verify/typecheck-stackbased.c (CHECK_STACK_DEPTH):
3800         Cleaned up.
3801         (CHECK_STACK_SPACE): Cleaned up.
3802         (typecheck_stackbased_verify_fieldaccess): Check for stack overflow.
3803         (typecheck_stackbased): Moved stackceiling into state.
3804
3805 2006-10-13 16:06  edwin
3806
3807         * src/vm/jit/codegen-common.c (codegen_reg_of_var): Removed `inline`
3808         declaration. The crappy IRIX compiler does not create a global symbol
3809         otherwise.
3810
3811 2006-10-13 14:34  edwin
3812
3813         * src/vm/jit/verify/typecheck.c (verify_basic_block): Use generated
3814         code.
3815         
3816         * src/vm/jit/verify/typecheck-stackbased-gen.inc: New file, GENERATED!
3817         * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
3818         
3819         * src/vm/jit/verify/typecheck.h (typecheck_stackbased): Added.
3820         
3821         * src/vm/jit/verify/Makefile.am: Added source files for both generated
3822         verifiers.
3823         
3824         * src/vm/jit/jit.c (jit_compile_intern): Call the stack-based verifier
3825         for the interpreter.
3826         
3827         * src/vm/vm.c (vm_create): Re-enable verification fot the interpreter.
3828
3829 2006-10-13 14:22  edwin
3830
3831         * src/vm/jit/verify/generate.pl: Clearly mark generated code.
3832
3833 2006-10-13 14:00  edwin
3834
3835         * src/vm/jit/icmdtable.inc: Documented prettily.
3836
3837 2006-10-13 13:11  edwin
3838
3839         * src/vm/jit/jit.h (op_data): Removed.
3840         (stackreq): Moved to a more logical place.
3841         
3842         * src/vm/jit/jit.c (op_data): Removed.
3843         (jit_init): Removed code initializing op_data.
3844         
3845         * src/vm/jit/optimizing/lifetimes.c (LifeOutAtStatement): Use
3846         icmd_table.
3847         * src/vm/jit/optimizing/ssa.c (dead_code_elimination): Likewise.
3848
3849 2006-10-13 12:49  edwin
3850
3851         * src/vm/jit/jit.h (icmd_table): Added.
3852         (icmd_names): Removed.
3853         
3854         * src/vm/jit/jit.c (icmd_table): Added.
3855         (icmd_names): Removed.
3856         
3857         * src/vm/jit/show.c (show_icmd): Use icmd_table.
3858         * src/vm/jit/optimizing/ssa.c (dead_code_elimination): Likewise.
3859
3860 2006-10-13 12:47  edwin
3861
3862         * src/vm/resolve.c: Removed obsolete debug prints.
3863
3864 2006-10-13 11:57  edwin
3865
3866         * src/vm/jit/jit.h: Added DF_ constants for ICMD table.
3867         Added CF_ constants.
3868         Added ICMDTABLE_ constants.
3869         (icmdtable_entry_t): New struct.
3870
3871 2006-10-13 11:28  edwin
3872
3873         * src/vm/jit/icmdtable.inc: New file. Not used, yet.
3874         * src/vm/jit/Makefile.am: Added new file.
3875
3876 2006-10-13 11:27  edwin
3877
3878         * src/vm/jit/verify/generate.pl: Omit comma at end of ICMD table.
3879
3880 2006-10-13 11:11  edwin
3881
3882         * src/vm/jit/verify/typecheck-stackbased.c: New file. Not used, yet.
3883         * src/vm/jit/verify/icmds.c: New file.
3884         * src/vm/jit/verify/generate.pl: New file.
3885         
3886         * src/vm/jit/verify/typecheck-invoke.inc: Added copyright notice.
3887         * src/vm/jit/verify/typecheck-fields.inc: Likewise.
3888         * src/vm/jit/verify/typecheck-builtins.inc: Likewise.
3889         * src/vm/jit/verify/typecheck-common.c: Likewise.
3890         * src/vm/jit/verify/typecheck-common.h: Likewise.
3891
3892 2006-10-13 10:36  edwin
3893
3894         * src/vm/jit/verify/typeinfo.c (typevector_store): Remove obsolete
3895         assertion.
3896
3897 2006-10-13 10:33  edwin
3898
3899         * src/vm/jit/stack.c (stack_analyse): Set iptr->dst for CHECKNULL.
3900
3901 2006-10-13 00:47  edwin
3902
3903         * src/vm/builtin.c (builtin_isanysubclass): Bugfix for the case that
3904         `sub` is an interface and `super` is a class. The function returned
3905         random values in this case, since it used the <= 0 base value of the
3906         interface class to perform the subclass check. The only case in which
3907         an interface can be a subclass of a non-interface `super` is when
3908         `super` is java.lang.Object, so we check explicitly for this case.
3909         This fixes a bug with BeanShell-2.0b4.
3910         
3911         (builtin_isanysubclass_vftbl): Likewise.
3912
3913 2006-10-12 23:34  edwin
3914
3915         * src/vm/jit/stack.c (stack_check_invars): Bugfix: Only set flags to
3916         BBTYPECHECK_REACHED if the block has already been analysed.
3917         
3918         (stack_check_invars_from_outvars): Likewise.
3919
3920 2006-10-12 20:06  twisti
3921
3922         * src/vm/jit/cfg.c (cfg_build): Check for EXH basic blocks in
3923         fall-through case.
3924
3925 2006-10-12 15:59  edwin
3926
3927         * tests/regression/jasmin/runtest: Added timeout capability.
3928
3929 2006-10-12 15:22  edwin
3930
3931         * src/vm/jit/verify/typecheck-common.h (typecheck_print_statistics):
3932         Added prototype.
3933         (typecheck_jsr_t): New struct.
3934         (typecheck_jsr_caller_t): Likewise.
3935         (verifier_state): Added fields for stackbased verifier.
3936
3937 2006-10-12 15:07  edwin
3938
3939         * src/vm/jit/verify/typecheck-common.c: Made debugging and statistics
3940         symbols global.
3941         * src/vm/jit/verify/typecheck-common.h: Likewise.
3942
3943 2006-10-12 14:52  edwin
3944
3945         * src/vm/jit/verify/typecheck-invoke.inc: Added code variants for the
3946         stackbased verifier. Not used, yet.
3947         * src/vm/jit/verify/typecheck-builtins.inc: Likewise.
3948
3949 2006-10-12 14:42  edwin
3950
3951         * src/vm/jit/verify/typecheck-common.c: Include headers.
3952         * src/vm/jit/verify/typecheck-common.h: Cleanup.
3953
3954 2006-10-12 14:39  edwin
3955
3956         * src/vm/jit/verify/typecheck.c (ISBUILTIN): Removed.
3957         * src/vm/jit/verify/typecheck-builtins.inc (ISBUILTIN): Added.
3958
3959 2006-10-12 14:38  tbfg
3960
3961         * src/vm/jit/powerpc64/codegen.c (codegen): Adopt locals
3962         and regoff changes.
3963
3964 2006-10-12 14:18  edwin
3965
3966         * src/vm/jit/verify/typecheck.c (verify_invocation): Prepared for
3967         addeding the stackbased verifier. No functional change, yet.
3968         (verify_builtin): Likewise.
3969
3970 2006-10-12 14:12  edwin
3971
3972         * src/vm/jit/verify/typecheck-common.c,
3973         src/vm/jit/verify/typecheck-common.h (typecheck_init_flags): Added
3974         minflags argument.
3975         
3976         * src/vm/jit/verify/typecheck.c (typecheck): Call typecheck_init_flags
3977         with minflags set to BBFINISHED.
3978
3979 2006-10-12 14:02  edwin
3980
3981         * src/vm/jit/verify/typecheck.c (verify_fieldaccess): New function.
3982         (verify_basic_block): Moved field verification into a separate
3983         function.
3984         
3985         * src/vm/jit/verify/typecheck-fields.inc: Removed opcode-dependant
3986         stuff. Some code for the stackbased verifier is checked in, but not
3987         used, yet.
3988
3989 2006-10-12 13:13  twisti
3990
3991         * src/vm/jit/mips/linux/md-os.c (thread_restartcriticalsection): Added
3992         uClibc support.
3993
3994 2006-10-12 12:44  twisti
3995
3996         * src/vm/jit/mips/linux/md-os.c (md_signal_handler_sigsegv): Added
3997         uClibc support.
3998
3999 2006-10-12 10:10  edwin
4000
4001         * src/vm/jit/verify/typecheck.c: Moved <assert.h> include to the right
4002         place. Moved some code to typecheck-common.[ch].
4003         
4004         * src/vm/jit/verify/typecheck-common.c: New file.
4005         * src/vm/jit/verify/typecheck-common.h: New file.
4006         
4007         * src/vm/jit/verify/Makefile.am: Added new source files.
4008
4009 2006-10-11 23:52  edwin
4010
4011         * src/vm/jit/verify/typecheck-builtins.inc: Removed redundant
4012         `return true`. Moved declaration of `av`.
4013
4014 2006-10-11 23:44  edwin
4015
4016         * src/vm/jit/verify/typecheck-invoke.inc: Use invokestatic where
4017         possible. Added a comment.
4018
4019 2006-10-11 23:41  edwin
4020
4021         * src/vm/jit/verify/typecheck-invoke.inc: Indent log messages to make
4022         them more readable.
4023
4024 2006-10-11 23:37  edwin
4025
4026         * src/vm/jit/verify/typecheck.c (verify_invocation): Define jd and dv
4027         before including the function body.
4028         
4029         * src/vm/jit/verify/typecheck-invoke.inc: Removed definitions of jd
4030         and dv. Small cleanup.
4031
4032 2006-10-11 23:22  edwin
4033
4034         * src/vm/jit/verify/typecheck.c (verify_builtin): Define jd and dv
4035         before including the function body.
4036         
4037         * src/vm/jit/verify/typecheck-builtins.inc: Removed definitions
4038         of jd and dv.
4039
4040 2006-10-11 23:00  edwin
4041
4042         * src/vm/jit/verify/typecheck.c (verify_invocation): Moved body to a
4043         separate file in order to prepare comitting the stackbased verifier.
4044         (verify_builtin): Likewise.
4045         (verify_generic_builtin): Likewise, no integrated in verify_builtin.
4046         (verify_basic_block): Moved field instruction verification to a
4047         separate file.
4048         
4049         * src/vm/jit/verify/typecheck-invoke.inc: New file.
4050         * src/vm/jit/verify/typecheck-fields.inc: New file.
4051         * src/vm/jit/verify/typecheck-builtins.inc: New file.
4052         
4053         * src/vm/jit/verify/Makefile.am: Added new source files.
4054
4055 2006-10-11 19:43  edwin
4056
4057         * src/cacaoh/headers.c (typeinfo_print_short): Stub added.
4058
4059 2006-10-11 19:42  edwin
4060
4061         * src/vm/jit/verify/typeinfo.c (typeinfo_init_component): Fixed for
4062         the case that srcarray == dst. (The mergedlist was overwritten with
4063         NULL in this case.)
4064
4065 2006-10-11 19:40  edwin
4066
4067         * src/vm/resolve.c, src/vm/resolve.h
4068         (resolve_method_param_type_checks_stackbased): New function.
4069         (resolve_constrain_unresolved_method_params_stackbased): Likewise.
4070
4071 2006-10-11 16:31  edwin
4072
4073         *
4074         tests/regression/jasmin/test_verify_fail_athrow_wrong_reftype_unresolved.j:
4075         New test.
4076         
4077         * tests/regression/jasmin/test_verify_fail_athrow_wrong_reftype.j:
4078         New test.
4079         
4080         * tests/regression/jasmin/Makefile.am: Added new tests.
4081
4082 2006-10-11 16:21  edwin
4083
4084         * tests/regression/jasmin/test_verify_fail_areturn_wrong_reftype.j:
4085         New test.
4086         
4087         * tests/regression/jasmin/test_verify_fail_invoke_return_basic_type.j:
4088         New test.
4089         
4090         * tests/regression/jasmin/test_verify_fail_ireturn_wrong_type.j: New
4091         test.
4092         
4093         * tests/regression/jasmin/Makefile.am: Added new tests.
4094
4095 2006-10-11 10:17  edwin
4096
4097         * tests/regression/jasmin/test_verify_fail_handler_bad_local.j: new
4098         test.
4099         
4100         * tests/regression/jasmin/Makefile.am: Added new test.
4101
4102 2006-10-10 21:16  edwin
4103
4104         * tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j:
4105         Added expected error.
4106         
4107         * tests/regression/jasmin/test_verify_fail_jsr_recursion.j: Likewise.
4108         
4109         * tests/regression/jasmin/test_verify_ok_jsr_improper_nesting.j: New
4110         test.
4111         
4112         * tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j: New
4113         test.
4114         
4115         * tests/regression/jasmin/Makefile.am: Added new tests.
4116
4117 2006-10-10 20:45  edwin
4118
4119         *
4120         tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j:
4121         New test.
4122         
4123         * tests/regression/jasmin/Makefile.am: Added new test.
4124
4125 2006-10-10 20:31  edwin
4126
4127         * tests/regression/jasmin/test_verify_fail_jsr_recursion.j: New test.
4128         
4129         * tests/regression/jasmin/Makefile.am: Added new test.
4130
4131 2006-10-10 00:29  edwin
4132
4133         * src/vm/resolve.c, src/vm/resolve.h (constrain_unresolved_method):
4134         Split into two new functions.
4135         
4136         (resolve_constrain_unresolved_method_instance): New function.
4137         (resolve_constrain_unresolved_method_params): Likewise.
4138         
4139         * src/vm/jit/verify/typecheck.c (verify_invocation): Use new
4140         functions.
4141
4142 2006-10-09 23:53  edwin
4143
4144         * src/vm/resolve.c (resolve_method_type_checks): Split up into
4145         two new functions.
4146         
4147         (resolve_method_instance_type_checks): New function.
4148         
4149         (resolve_method_param_type_checks): New function.
4150         
4151         * src/vm/resolve.h (resolve_method_type_checks): Removed.
4152         (resolve_method_instance_type_checks): New function.
4153         (resolve_method_param_type_checks): New function.
4154         
4155         * src/vm/jit/verify/typecheck.c (verify_invocation): Call
4156         resolve_method_instance_type_checks and
4157         resolve_method_param_type_checks.
4158
4159 2006-10-09 23:21  edwin
4160
4161         * src/vm/resolve.c (resolve_method_verifier_checks): Removed unused
4162         variable. Removed unclear assertion.
4163
4164 2006-10-09 23:17  edwin
4165
4166         * src/vm/resolve.c (resolve_method_verifier_checks): Removed unused
4167         arguments.
4168         
4169         (resolve_method): Changed arguments to resolve_method_verifier_checks.
4170         
4171         * src/vm/resolve.h (resolve_method_verifier_checks): Removed unused
4172         arguments.
4173         
4174         * src/vm/jit/verify/typecheck.c (verify_invocation): Changed
4175         arguments to resolve_method_verifier_checks.
4176
4177 2006-10-09 23:06  edwin
4178
4179         * src/vm/resolve.c (resolve_method_verifier_checks): Factored out
4180         parameter type checks into a separate function.
4181         
4182         (resolve_method_type_checks): New function.
4183         
4184         * src/vm/resolve.h (resolve_method_type_checks): New function.
4185         
4186         * src/vm/jit/verify/typecheck.c (verify_invocation): Call
4187         resolve_method_type_checks.
4188
4189 2006-10-09 22:19  edwin
4190
4191         * src/vm/resolve.c (resolve_method_verifier_checks): Factored out
4192         loading constraints into a separate function.
4193         
4194         (resolve_method_loading_constraints): New function.
4195         
4196         (resolve_method): Call resolve_method_loading_constraints.
4197         
4198         * src/vm/resolve.h (resolve_method_loading_constraints): New function.
4199         
4200         * src/vm/jit/verify/typecheck.c (verify_invocation): Call
4201         resolve_method_loading_constraints.
4202
4203 2006-10-09 17:08  edwin
4204
4205         * src/vm/resolve.c (resolve_method_lazy): Removed dependence on
4206         instruction format. Do not perform verifier checks. (Caller will
4207         do these.)
4208         
4209         (create_unresolved_method): Renamed to
4210         resolve_create_unresolved_method. Changed arguments.
4211         
4212         * src/vm/resolve.h (create_unresolved_method): Renamed to
4213         resolve_create_unresolved_method. Changed arguments.
4214         
4215         (resolve_method_lazy): Changed arguments.
4216         
4217         (resolve_method_verifier_checks): Export.
4218         
4219         * src/vm/jit/verify/typecheck.c (verify_invocation): Adapted
4220         to changed resolve functions. Call resolve_method_verifier_checks.
4221         Do promotion from INVOKEVIRTUAL to INVOKESPECIAL here.
4222         
4223         * src/vm/jit/parse.c (parse): Adapted to changed resolve functions.
4224         Do promotion from INVOKEVIRTUAL to INVOKESPECIAL here.
4225
4226 2006-10-09 15:42  edwin
4227
4228         * src/vm/resolve.c (resolve_field_verifier_checks): Removed dependence
4229         on instruction format.
4230         
4231         (resolve_field_lazy): Pass field reference, instead of instruction.
4232         Do not perform verification checks here. (Caller will do them.)
4233         
4234         (resolve_field): Adapted to changed resolve_field_verifier_checks.
4235         
4236         (create_unresolved_field): Renamed to resolve_create_unresolved_field.
4237         
4238         (constrain_unresolved_field): Renamed to
4239         resolve_constrain_unresolved_field. Removed dependence on instruction
4240         format.
4241         
4242         * src/vm/resolve.h (create_unresolved_field): Renamed to
4243         resolve_create_unresolved_field.
4244         
4245         (resolve_field_lazy): Changed arguments.
4246         
4247         (resolve_field_verifier_checks): Export.
4248         
4249         (constrain_unresolved_field): Renamed to
4250         resolve_constrain_unresolved_field. Changed arguments.
4251         
4252         * src/vm/jit/verify/typecheck.c (typecheck): Moved instruction set
4253         dependent parts of resolve functions into typecheck.
4254         
4255         * src/vm/jit/parse.c (resolve_field_lazy): Changed arguments.
4256         (create_unresolved_field): Renamed.
4257
4258 2006-10-08 22:49  edwin
4259
4260         *
4261         test/regression/jasmin/test_verify_ok_jsr_subroutine_loops_to_start.j:
4262         New test.
4263         
4264         * test/regression/jasmin/test.j: Small cleanup.
4265         
4266         * test/regression/jasmin/Makefile.am: Added new test.
4267
4268 2006-10-08 11:39  edwin
4269
4270         * src/vm/jit/stack.c: Verify that subroutines are not merged.
4271         (SBRSTART): New macro.
4272         (COPY_VAL_AND_TYPE_VAR): New macro, propagate SBRSTART.
4273         (COPY_VAL_AND_TYPE): Use COPY_VAL_AND_TYPE_VAR.
4274         (stack_create_invars): Cleaned up, use COPY_VAL_AND_TYPE_VAR.
4275         (stack_create_invars_from_outvars): Use COPY_VAL_AND_TYPE_VAR.
4276         (stack_check_invars): Check against merging of subroutines. Wrapped
4277         verifier checks in #if defined(ENABLE_VERIFIER).
4278         (stack_check_invars_from_outvars): Likewise.
4279         (stack_reanalyse_block): Wrapped verifier checks in
4280         #if defined(ENABLE_VERIFIER).
4281         (stack_analyse): Prepare a real variable for the handler stack.
4282         Implemented re-analysing of blocks. Set SBRSTART for JSR.
4283         
4284         * src/vm/jit/parse.c (parse): Reserve extra variables needed by
4285         stack_analyse.
4286         
4287         * src/vm/global.h (STACK_EXTRA_VARS): New macro.
4288
4289 2006-10-08 10:51  edwin
4290
4291         * src/vm/jit/show.c (show_basicblock): Removed extra newline.
4292
4293 2006-10-08 00:07  edwin
4294
4295         *
4296         tests/regression/jasmin/test_verify_fail_jsr_merge_subroutines_via_stack.j:
4297         New test.
4298         
4299         * tests/regression/jasmin/Makefile.am: Added new test.
4300
4301 2006-10-07 23:56  edwin
4302
4303         * src/vm/jit/cfg.c (cfg_build): Fixed a bug causing infinite loops.
4304         
4305         * src/vm/jit/parse.c (parse): Always add a NOP at block ends. This is
4306         needed by the JSR elimination in stack.c.
4307         
4308         * tests/regression/jasmin/test_verify_fail_jsr_merge_subroutines.j:
4309         New test.
4310         
4311         * tests/regression/jasmin/Makefile.am: Added new test.
4312
4313 2006-10-07 23:02  edwin
4314
4315         * tests/regression/jasmin/test_verify_fail_jsr_polymorphic_pop.j:
4316         New test.
4317         
4318         * tests/regression/jasmin/Makefile.am: Added new test.
4319         
4320         * src/vm/jit/stack.c (stack_check_invars): Fixed bug exposed by the
4321         new test.
4322         (stack_check_invars_from_outvars): Likewise.
4323
4324 2006-10-07 22:34  edwin
4325
4326         *
4327         tests/regression/jasmin/test_verify_fail_jsr_called_with_different_stackdepths.j:
4328         New test.
4329         * tests/regression/jasmin/Makefile.am: Added new test.
4330
4331 2006-10-07 12:54  edwin
4332
4333         * src/vm/jit/stack.c (GET_NEW_VAR): Fixed macro argument.
4334         
4335         (SET_TEMPVAR): Call new function stack_change_to_tempvar.
4336         
4337         (stack_change_to_tempvar): New function.
4338         
4339         (stack_analyse): Mark pass-through stackslots of INVOKEs instead of
4340         resetting them to TEMPVARs.
4341         
4342         * src/vm/jit/jit.h (PASSTHROUGH): New flag.
4343
4344 2006-10-07 10:22  edwin
4345
4346         * src/vm/jit/allocator/simplereg.c: Implemented REG_INDEX for
4347         architectures with address register file.
4348
4349 2006-10-07 09:44  edwin
4350
4351         * src/vm/jit/allocator/simplereg.c
4352         (simplereg_allocate_locals_leafmethod): Fixed declaration after code.
4353
4354 2006-10-07 00:06  edwin
4355
4356         * src/vm/jit/allocator/simplereg.c (simplereg_allocate_interface):
4357         Copy all flags except SAVEDVAR when reusing an interface slot.
4358
4359 2006-10-06 23:58  edwin
4360
4361         * src/vm/jit/allocator/simplereg.c: Cleaned up memory slot allocation.
4362
4363 2006-10-06 23:41  edwin
4364
4365         * src/vm/jit/allocator/simplereg.c (simplereg_allocate_interfaces):
4366         Fixed
4367         indentation.
4368
4369 2006-10-06 23:03  edwin
4370
4371         * src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
4372         Minor cleanup, use SIMPLEREG_REG_INDEX.
4373
4374 2006-10-06 22:37  edwin
4375
4376         * src/vm/jit/allocator/simplereg.c: Reuse interface registers in
4377         blocks
4378         that don't need them. Abstracted out the free register stacks with
4379         macros. Major code cleanup.
4380         
4381         * src/vm/jit/allocator/simplereg.h (reg_make_statistics): Renamed to
4382         simplereg_make_statistics.
4383         
4384         * src/vm/jit/reg.h (registerdata): Added fields `adrusedinout`,
4385         `intusedinout`, `fltusedinout`, and `regisoutvar`.
4386         
4387         * src/vm/jit/jit.c (simplereg_make_statistics): Renamed to
4388         simplereg_make_statistics.
4389         
4390         * src/vm/jit/jit.h (SAVEDTMP): Renamed to SAVREG.
4391         (TMPARG): Renamed to ARGREG.
4392         (STCOPY): Removed.
4393         (STKEEP): Removed.
4394
4395 2006-10-06 21:30  edwin
4396
4397         * src/vm/jit/stack.c (stack_analyse): Do not set argintreguse to
4398         a value > INT_ARG_CNT, as this breaks some new code that will
4399         later be committed to simplereg.c, and does not make sense, anyway.
4400
4401 2006-10-06 20:11  edwin
4402
4403         * src/vm/jit/intrp/Makefile.am (Changes): Added my name.
4404
4405 2006-10-06 20:09  edwin
4406
4407         * src/vm/jit/show.h (show_variable): Made global.
4408         (show_variable_array): Likewise.
4409         
4410         * src/vm/jit/show.c (show_variable): Likewise.
4411         (show_variable_array): Likewise.
4412
4413 2006-10-05 20:30  edwin
4414
4415         * src/threads/native/threads.c (threads_attach_current_thread): Rename
4416         left-over `t` to `thread` in interpreter code.
4417
4418 2006-10-05 20:21  edwin
4419
4420         * src/vm/jit/codegen-common.c: Include vm/jit/intrp/intrp.h to prevent
4421         a warning.
4422
4423 2006-10-05 20:18  edwin
4424
4425         * src/vm/jit/intrp/intrp.h: Added missing prototypes.
4426         
4427         * src/vm/jit/intrp/engine.c: Comment unused variable `ca1`.
4428         
4429         * src/vm/jit/intrp/java.vmg: Mark the variables `currentsp` as
4430         MAYBE_UNUSED.
4431
4432 2006-10-05 20:04  edwin
4433
4434         * src/vm/jit/intrp/intrp.h: Cleaned up. Defined missing prototypes.
4435         
4436         * src/vm/jit/intrp/java.vmg: Defined "afi" type prefix.
4437
4438 2006-10-05 19:36  edwin
4439
4440         * src/vm/jit/intrp/peephole.c: Include interpreter files using < >
4441         instead of " ", so they are only searched for in the include path.
4442         This avoids using the wrong include files when compiling in a
4443         buildir.
4444         
4445         * src/vm/jit/intrp/codegen.c: Likewise.
4446         * src/vm/jit/intrp/engine.c: Likewise.
4447         * src/vm/jit/intrp/disasm.c: Likewise.
4448         * src/vm/jit/intrp/dynamic-super.c: Likewise.
4449         
4450         * src/vm/jit/intrp/vmgenx: Fixed to work with builddir, and cleaned
4451         up.
4452         
4453         * src/vm/jit/intrp/Makefile.am: Fixed dependencies for builddir.
4454
4455 2006-10-05 17:52  edwin
4456
4457         * src/vm/jit/intrp/engine.c (Changes): Added my name.
4458         (vim boilerplate): Added.
4459
4460 2006-10-05 17:28  twisti
4461
4462         * src/native/jni.c (jni_attach_current_thread): New help function.
4463         (_Jv_JNI_AttachCurrentThread): Use helper function.
4464         (_Jv_JNI_AttachCurrentThreadAsDaemon): Likewise.
4465         (_Jv_JNI_DetachCurrentThread): Implemented.
4466         
4467         * src/threads/native/threads.c (method_thread_init)
4468         (method_threadgroup_add_: Made static.
4469         (threads_init): Code rearranged.
4470         (threads_startup_thread): Removed thread detach code and call
4471         threads_detach_thread.
4472         (threads_detach_thread): New function.
4473         
4474         * src/threads/native/threads.h (threads_detach_thread): Added.
4475
4476 2006-10-05 17:23  twisti
4477
4478         * src/vm/utf8.c (utf_removeThread, utf_java_lang_Thread__V): Added.
4479         (utf8_init): Initialize new strings.
4480         * src/vm/utf8.h (utf_removeThread, utf_java_lang_Thread__V): Added.
4481
4482 2006-10-05 16:28  edwin
4483
4484         * src/vm/vm.c (vm_create): Turn off the verifier for -Xint.
4485
4486 2006-10-05 16:18  edwin
4487
4488         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Style fix.
4489
4490 2006-10-05 16:12  edwin
4491
4492         * src/vm/jit/intrp/codegen.c (codegen): Save synchronized object in
4493         a special stackslot and use it for monitorexit.
4494         
4495         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): When
4496         unwinding a synchronized method, exit the monitor.
4497
4498 2006-10-05 15:43  edwin
4499
4500         * src/vm/jit/intrp/codegen.c (codegen): Reserve an extra stackslot in
4501         synchronized methods.
4502         (intrp_createcompilerstub): Likewise.
4503         (intrp_createnativestub): Use stackframesize for clarity.
4504
4505 2006-10-05 15:33  edwin
4506
4507         * src/vm/jit/intrp/codegen.c (codegen): Separate stackframesize from
4508         the number of local variables.
4509         (intrp_createcompilerstub): Likewise.
4510         
4511         * src/vm/jit/intrp/engine.c (MAXLOCALS): Changed to FRAMESIZE.
4512         
4513         * src/vm/jit/intrp/java.vmg (INVOKEVIRTUAL): Use FRAMESIZE.
4514         (INVOKESTATIC): Likewise.
4515         (INVOKESPECIAL): Likewise.
4516         (INVOKEINTERFACE): Likewise.
4517
4518 2006-10-05 14:13  twisti
4519
4520         * src/native/jni.c (jni_init_localref_table): New function.
4521         (AttachCurrentThread): Implemented.
4522         (JNI_CreateJavaVM): Use jni_init_localref_table.
4523         
4524         * src/threads/native/threads.c (method_thread_init)
4525         (method_threadgroup_add): New global variables.
4526         (threads_init): Store methods resolved in global variables.
4527         (threads_attach_current_thread): New function.
4528         
4529         * src/threads/native/threads.h (MIN_PRIORITY, NORM_PRIORITY)
4530         (MAX_PRIORITY): Defined.
4531         (threads_attach_current_thread): New function.
4532
4533 2006-10-05 12:23  edwin
4534
4535         * src/vm/jit/intrp/java.vmg (TRACECALL): Implemented for 32-bit
4536         architectures.
4537
4538 2006-10-05 10:50  edwin
4539
4540         * src/vm/jit/intrp/codegen.c (codegen): Fix off-by-one error in len
4541         tests of optimizations.
4542
4543 2006-10-05 10:41  edwin
4544
4545         * src/vm/jit/show.c (show_icmd): Show constant operand of IFxx, and
4546         IF_Lxx.
4547
4548 2006-10-05 10:39  edwin
4549
4550         * src/vm/jit/show.c (show_basicblock): Fixed deadcode check.
4551         
4552         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Clear
4553         global_sp.
4554
4555 2006-10-05 09:04  twisti
4556
4557         * src/vm/jit/powerpc/emit.c (emit_verbosecall_enter): Darwin build
4558         fixes.
4559
4560 2006-10-05 00:21  edwin
4561
4562         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Fixed for
4563         catch-all handlers.
4564
4565 2006-10-05 00:06  edwin
4566
4567         * src/vm/jit/show.c (show_method): Adapted to interpreter.
4568         (show_basicblock): Likewise.
4569         
4570         * src/vm/jit/intrp/disass.c (intrp_disassinstr): Write disassembly to
4571         stdout.
4572         (intrp_disassemble): Likewise.
4573
4574 2006-10-04 23:08  edwin
4575
4576         * tests/regression/jctest.java: Also test division/remainder with
4577         constant divisor 1.
4578         
4579         * tests/regression/jctest.output: Updated test output.
4580
4581 2006-10-04 23:05  edwin
4582
4583         * src/vm/jit/intrp/codegen.c (codegen): Don't ?DIVPOW2 with value 1.
4584         The optimization produces the wrong result in this case.
4585
4586 2006-10-04 22:53  edwin
4587
4588         * src/vm/jit/intrp/codegen.c (codegen): Implemented IDIVPOW2 and
4589         LDIVPOW2 optimizations.
4590
4591 2006-10-04 22:39  edwin
4592
4593         * src/vm/jit/intrp/codegen.c (codegen): Implemented IREMPOW2 and
4594         LREMPOW2 optimizations.
4595
4596 2006-10-04 22:12  edwin
4597
4598         * src/vm/jit/intrp/codegen.c (codegen): Implement optimization of
4599         comparisons.
4600
4601 2006-10-04 20:44  edwin
4602
4603         * src/vm/jit/allocator/simplereg.c (reg_free_temp_func): Fixed indices
4604         into regcopycount array.
4605         (allocate_scratch_registers): Likewise.
4606
4607 2006-10-04 20:02  edwin
4608
4609         * src/vm/jit/intrp/codegen.c (codegen): #if 0-ed optimized ICMDs that
4610         are currently not used. In order to use these instructions, we could
4611         either add the optimization checks directly to codegen.c, or introduce
4612         a special pass between parse and intrp_codegen which replaces the
4613         instructions.
4614
4615 2006-10-04 19:47  edwin
4616
4617         * src/vm/jit/intrp/codegen.c (codegen): Removed unoptimized *CONST
4618         instructions. Since stack_analyse is no longer performed before the
4619         interpreter codegen, these instructions cannot occur.
4620
4621 2006-10-04 19:38  edwin
4622
4623         * src/vm/jit/stack.c: Removed interpreter-specific code.
4624
4625 2006-10-04 18:44  edwin
4626
4627         * src/threads/native/lock.c (lock_monitor_exit): Check for NULL
4628         object.
4629         There is no guarantee that MONITORENTER/EXITs are properly nested, so
4630         we cannot rely on the check in lock_monitor_enter here.
4631
4632 2006-10-04 18:39  edwin
4633
4634         * tests/regression/jasmin/test_nullpointerexception_monitorexit.j:
4635         Fixed test case, so it passes if the exception is thrown.
4636
4637 2006-10-04 18:35  edwin
4638
4639         * tests/regression/jasmin/test_nullpointerexception_monitorexit.j:
4640         New test.
4641         
4642         * tests/regression/jasmin/Makefile.am: Added
4643         test_nullpointerexception_monitorexit.j.
4644
4645 2006-10-04 18:25  edwin
4646
4647         * tests/regression/jasmin/Makefile.am: Properly quote variables.
4648
4649 2006-10-04 18:23  edwin
4650
4651         * src/vm/jit/intrp/engine.c (THROW_CLASSCASTEXCEPTION): Really throw a
4652         ClassCastException, not a NullPointerException.
4653         
4654         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Set
4655         global_sp, in case the resolving of the catchtype involves the
4656         execution of Java code.
4657         
4658         * src/vm/jit/intrp/java.vmg (MONITORENTER): Check for exception.
4659         (MONITOREXIT): Likewise.
4660
4661 2006-10-04 16:42  edwin
4662
4663         * src/vm/jit/intrp/java.vmg (LOOKUPSWITCH): No point in using >= 0 on
4664         an unsigned variable.
4665
4666 2006-10-04 16:01  edwin
4667
4668         * src/vm/jit/intrp/codegen.c (nativecall): Store return valud of
4669         codegen_finish_native_call in *exceptionptr.
4670         
4671         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Resolve
4672         unresolved catchtype references.
4673
4674 2006-10-04 15:14  edwin
4675
4676         * src/vm/jit/intrp/codegen.c (codegen): Convert JavaPCs to block
4677         indices.
4678         Do not check for BBREACHED (not set by parse).
4679         (gen_branch): Convert JavaPCs to block indices.
4680         
4681         * src/vm/jit/intrp/java.vmg (RET): restored.
4682         
4683         * src/vm/jit/jit.c (jit_compile_intern): Do not perform stack_analyse
4684         and
4685         dependent passes for intrp.
4686
4687 2006-10-04 15:04  twisti
4688
4689         * src/vm/jit/intrp/md.c (intrp_md_init): Set vm_out to stderr.
4690         
4691         * src/vm/jit/intrp/engine.c (THROW_CLASSCASTEXCEPTION): Added.
4692         (engine): Handle ClassCastExceptions with argument.
4693         
4694         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Indent.
4695         
4696         * src/vm/jit/intrp/dynamic-super.c: Use LOCK_MONITOR_{ENTER,EXIT}
4697         macros.
4698         
4699         * src/vm/jit/intrp/patcher.c (intrp_patcher_invokestatic_special):
4700         Write back method pointer. I wonder how this ever worked before.
4701         (intrp_patcher_invokevirtual): Likewise.
4702         (intrp_patcher_invokeinterface): Likewise.
4703         
4704         * src/vm/jit/intrp/java.vmg (RET): Removed.
4705         (TABLESWITCH): Changed reading direction of cases. Don't know if that
4706         works: NOT TESTED!
4707         (CHECKCAST): Use THROW_CLASSCASTEXCEPTION.
4708         (ARRAYCHECKCAST): Likewise.
4709         (MONITORENTER): Likewise.
4710         (MONITOREXIT): Likewise.
4711
4712 2006-10-04 14:50  edwin
4713
4714         * src/vm/jit/intrp/dynamic-super.c (superreuse_insert): Use
4715         lock_monitor_ functions.
4716         (patchersuper_rewrite): Likewise.
4717         (hashtable_patchersupers_insert): Likewise.
4718
4719 2006-10-04 14:31  edwin
4720
4721         * src/vm/jit/intrp/codegen.c (codegen): Restored ICMD_RET to really
4722         perform a RET (JSR elimination will not be performed for intrp.)
4723         Removed a comment that does not apply any more.
4724
4725 2006-10-04 14:20  edwin
4726
4727         * src/vm/jit/intrp/java.vmg (builtin_monitorenter): Changed to
4728         lock_monitor_enter.
4729         (builtin_monitorexit): Changed to lock_monitor_exit.
4730
4731 2006-10-04 13:40  edwin
4732
4733         * src/vm/jit/intrp/codegen.c: Made it compile again.
4734
4735 2006-10-04 13:35  twisti
4736
4737         * src/vm/jit/intrp/codegen.c: New instruction format fixes.
4738
4739 2006-10-04 12:09  twisti
4740
4741         * configure.ac (AC_CONFIG_FILES): Removed src/scripts/rmic and
4742         src/scripts/rmiregistry.
4743         * src/scripts/Makefile.am (bin_SCRIPTS): Removed trailing \.
4744
4745 2006-10-04 10:37  twisti
4746
4747         * src/scripts/rmic.in: Removed.
4748         * src/scripts/rmiregistry.in: Likewise.
4749         
4750         * src/scripts/Makefile.am (bin_SCRIPTS) Removed rmi.in and
4751         rmiregistry.in.
4752         * src/scripts/.cvsignore: Likewise.
4753         
4754         * src/scripts/java.in: Don't call cacao with an absolute path, this
4755         would break WITH_JRE_LAYOUT. I think we can expect cacao to be in the
4756         PATH.
4757
4758 2006-10-04 10:10  twisti
4759
4760         * configure.ac (--with-jre-layout): Added.
4761         
4762         * src/vm/global.h (CLASSPATH_LIBRARY_PATH): Removed.
4763         
4764         * src/vm/vm.c [WITH_JRE_LAYOUT] (libgen.h, unistd.h): Added.
4765         (cacao_prefix, cacao_libjvm, classpath_libdir): New global variables.
4766         (version): Print gnu.classpath.boot.library.path instead of
4767         java.library.path as this is the interesting one.
4768         (vm_create): Added WITH_JRE_LAYOUT stuff.
4769         
4770         * src/vm/vm.h (stackbottom): Removed.
4771         (cacao_prefix, cacao_libjvm, classpath_libdir): Added.
4772         
4773         * src/cacao/cacao.c [WITH_JRE_LAYOUT] (errno.h, libgen.h, unistd.h):
4774         Added.
4775         (main): Added WITH_JRE_LAYOUT stuff.
4776         
4777         * src/native/vm/gnu_classpath_VMSystemProperties.c (vm/vm.h): Added.
4778         (preInit): Set env_java_home to cacao_prefix and
4779         gnu.classpath.boot.library.path to classpath_libdir.
4780         
4781         * src/native/native.c (native_init): Use cacao_libjvm in lt_dlopenext
4782         call.
4783
4784 2006-10-03 21:19  edwin
4785
4786         * src/vm/jit/jit.h (jitdata): Renamed c_debug_nr to c_block_nr. (Still
4787         not a good name. Should probably be removed entirely.)
4788         Added comments.
4789         
4790         * src/vm/method.h (c_debug_nr): Renamed to c_block_nr.
4791         * src/vm/jit/stack.c: Likewise.
4792         * src/vm/jit/loop/analyze.c: Likewise.
4793         * src/vm/jit/inline/inline.c: Likewise.
4794         * src/vm/jit/parse.c: Likewise.
4795
4796 2006-10-03 20:57  edwin
4797
4798         * src/vm/jit/powerpc/codegen.c: Removed new_ prefix from variable and
4799         field names.
4800         
4801         * src/vm/jit/cfg.c: Likewise.
4802         * src/vm/jit/sparc64/codegen.c: Likewise.
4803         * src/vm/jit/reorder.c: Likewise.
4804         * src/vm/jit/ifconv/ifconv.c: Likewise.
4805         * src/vm/jit/alpha/codegen.c: Likewise.
4806         * src/vm/jit/stack.c: Likewise.
4807         * src/vm/jit/stack.h: Likewise.
4808         * src/vm/jit/show.c: Likewise.
4809         * src/vm/jit/verify/typecheck.c: Likewise.
4810         * src/vm/jit/mips/codegen.c: Likewise.
4811         * src/vm/jit/allocator/simplereg.c: Likewise.
4812         * src/vm/jit/i386/codegen.c: Likewise.
4813         * src/vm/jit/powerpc64/codegen.c: Likewise.
4814         * src/vm/jit/parse.c: Likewise.
4815         * src/vm/jit/replace.c: Likewise.
4816         * src/vm/jit/x86_64/codegen.c: Likewise.
4817         * src/vm/jit/parse.h: Likewise.
4818         * src/vm/jit/jit.c: Likewise.
4819         * src/vm/jit/jit.h: Likewise.
4820
4821 2006-10-03 20:44  edwin
4822
4823         * src/vm/resolve.c: Removed new_ prefix from function names.
4824         * src/vm/resolve.h: Likewise.
4825         * src/vm/jit/stack.c: Likewise.
4826         * src/vm/jit/stack.h: Likewise.
4827         * src/vm/jit/show.c: Likewise.
4828         * src/vm/jit/verify/typecheck.c: Likewise.
4829         * src/vm/jit/show.h: Likewise.
4830         * src/vm/jit/allocator/simplereg.c: Likewise.
4831         * src/vm/jit/allocator/simplereg.h: Likewise.
4832         * src/vm/jit/parse.c: Likewise.
4833         * src/vm/jit/parse.h: Likewise.
4834         * src/vm/jit/jit.c: Likewise.
4835
4836 2006-10-03 20:27  edwin
4837
4838         * src/vm/jit/allocator/simplereg.c: Warning fixed.
4839
4840 2006-10-03 20:26  edwin
4841
4842         * src/vm/jit/i386/codegen.c (codegen): Use varindex as in other
4843         codegens.
4844
4845 2006-10-03 20:22  edwin
4846
4847         * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete stack depth
4848         checking code.
4849         
4850         * src/vm/jit/stack.h (CHECK_STACK_DEPTH): Removed macro.
4851
4852 2006-10-03 19:11  edwin
4853
4854         * src/vm/jit/powerpc64/codegen.c (codegen): Unified IINC and
4855         IADDCONST.
4856
4857 2006-10-03 18:50  edwin
4858
4859         * src/vm/jit/powerpc/codegen.c (codegen): Unify IINC and IADDCONST.
4860
4861 2006-10-03 18:34  edwin
4862
4863         * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Bugfix.
4864
4865 2006-10-03 18:21  twisti
4866
4867         * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): We don't
4868         need to strcpy the library variables. Don't know where this code came
4869         from.
4870
4871 2006-10-03 18:09  edwin
4872
4873         * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Make it
4874         compile again.
4875
4876 2006-10-03 17:44  edwin
4877
4878         Moved unified_variables branch to trunk.
4879
4880 2006-10-03 17:24  edwin
4881
4882         * tests/regression/jasmin/test_iinc.j: New test.
4883         
4884         * tests/regression/jasmin/Makefile.am: Added test_iinc.j
4885
4886 2006-10-03 16:42  edwin
4887
4888         Merged r5640 from trunk:
4889         
4890         * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Renamed
4891         md-emit.h to emit.h.
4892
4893 2006-10-03 16:32  edwin
4894
4895         * src/vm/jit/powerpc/codegen.c: Implemented ICMD_JSR like ICMD_GOTO.
4896         * src/vm/jit/powerpc64/codegen.c: Likewise.
4897         
4898         * src/vm/jit/alpha/codegen.c: Implemented ICMD_JSR like ICMD_GOTO.
4899         Unified ICMD_IINC and ICMD_IADDCONST.
4900         * src/vm/jit/mips/codegen.c: Likewise.
4901         * src/vm/jit/i386/codegen.c: Likewise.
4902         * src/vm/jit/x86_64/codegen.c: Likewise.
4903
4904 2006-10-02 19:24  edwin
4905
4906         Merged r5636, r5637, and r5638 from trunk:
4907         
4908         * src/native/tools/gennativetable.c: Made it work again.
4909         
4910         * tests/regression/jasmin/.cvsignore: New file.
4911         
4912         * src/vm/jit/powerpc/codegen.c (codegen): #if 0 replacement point
4913         code.
4914         
4915         * src/vm/jit/powerpc/emit.c [!NDEBUG] (emit_verbosecall_enter)
4916         (emit_verbosecall_exit): #ifdef'ed.
4917
4918 2006-10-02 16:36  christian
4919
4920         * src/vm/jit/alpha/md-abi.c (md_return_alloc): Activated return value
4921         stackslot registers precolouring again.
4922
4923 2006-10-02 14:18  edwin
4924
4925         * src/vm/jit/powerpc/netbsd/md-abi.c: Blindly ported to
4926         unified_variables.
4927         
4928         * src/vm/jit/powerpc/linux/md-abi.c: Cleaned up.
4929         * src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
4930         * src/vm/jit/alpha/md-abi.c: Likewise.
4931         * src/vm/jit/mips/md-abi.c: Likewise.
4932         * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
4933         * src/vm/jit/x86_64/md-abi.c: Likewise.
4934
4935 2006-10-02 13:59  edwin
4936
4937         * src/vm/jit/powerpc/codegen.c: Changed OUTVAR to INOUT.
4938         * src/vm/jit/alpha/codegen.c: Likewise.
4939         * src/vm/jit/stack.c: Likewise.
4940         * src/vm/jit/show.c: Likewise.
4941         * src/vm/jit/mips/codegen.c: Likewise.
4942         * src/vm/jit/allocator/simplereg.c: Likewise.
4943         * src/vm/jit/i386/codegen.c: Likewise.
4944         * src/vm/jit/powerpc64/codegen.c: Likewise.
4945         * src/vm/jit/x86_64/codegen.c: Likewise.
4946         * src/vm/jit/jit.h: Likewise.
4947
4948 2006-10-02 13:43  edwin
4949
4950         * src/vm/jit/alpha/codegen.h: Removed M_COPY.
4951         * src/vm/jit/mips/codegen.h: Likewise.
4952         * src/vm/jit/i386/codegen.h: Likewise.
4953         * src/vm/jit/powerpc64/codegen.h: Likewise.
4954         * src/vm/jit/x86_64/codegen.h: Likewise.
4955         
4956         * src/vm/jit/powerpc/codegen.c: Unified ICMD_RET with ICMD_GOTO.
4957         * src/vm/jit/alpha/codegen.c: Likewise.
4958         * src/vm/jit/mips/codegen.c: Likewise.
4959         * src/vm/jit/i386/codegen.c: Likewise.
4960         * src/vm/jit/powerpc64/codegen.c: Likewise.
4961         * src/vm/jit/intrp/codegen.c: Likewise.
4962         * src/vm/jit/x86_64/codegen.c: Likewise.
4963
4964 2006-10-02 13:26  edwin
4965
4966         * src/vm/jit/powerpc/codegen.c (codegen): Unified LOAD/STORE and
4967         COPY/MOVE instructions.
4968         
4969         * src/vm/jit/powerpc/codegen.h (M_COPY): Removed.
4970
4971 2006-10-02 13:16  edwin
4972
4973         * src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Cleaned up
4974         comments.
4975         * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Likewise.
4976         
4977         * src/vm/jit/powerpc/codegen.c (codegen): Removed obsolete call to
4978         codegen_reg_of_var.
4979         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
4980         * src/vm/jit/mips/codegen.c (codegen): Likewise.
4981         * src/vm/jit/i386/codegen.c (codegen): Likewise.
4982         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
4983         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
4984         
4985         * src/vm/jit/codegen-common.c (codegen_reg_of_var): Cleaned up.
4986         (codegen_reg_of_dst): Implemented using inline codegen_reg_of_var.
4987
4988 2006-10-02 12:10  edwin
4989
4990         Merged r5626 from trunk:
4991         
4992         * src/vm/jit/replace.c (replace_create_replacement_points): Return
4993         true.
4994
4995 2006-10-02 11:55  edwin
4996
4997         Merged r5624 from trunk:
4998         
4999         * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Remove argument
5000         stack frame in normal path.
5001
5002 2006-10-02 00:32  edwin
5003
5004         * src/vm/jit/alpha/codegen.c (codegen): Unified MOVE/COPY with
5005         LOAD/STORE instructions.
5006
5007 2006-10-02 00:08  edwin
5008
5009         * tests/regression/jasmin/runtest: Made it a bash script, so it works
5010         on crappy fp98.
5011
5012 2006-10-02 00:06  edwin
5013
5014         * tests/regression/jasmin/runtest: Do not use grep -o.
5015
5016 2006-10-01 23:51  edwin
5017
5018         * src/vm/jit/mips/emit.c (emit_copy): Fixed arguments to
5019         codegen_reg_of_var.
5020         * src/vm/jit/powerpc64/emit.c (emit_copy): Likewise.
5021         
5022         * src/vm/jit/mips/codegen.c (codegen): Define varindex.
5023         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise. Fixed arguments
5024         to codegen_reg_of_var. Replaced codegen_reg_of_var with
5025         codegen_reg_of_dst.
5026
5027 2006-10-01 23:37  edwin
5028
5029         * src/vm/jit/powerpc64/codegen.c: Ported to unified_variables.
5030         * src/vm/jit/powerpc64/codegen.h: Likewise.
5031         * src/vm/jit/powerpc64/emit.c: Likewise.
5032         * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
5033
5034 2006-10-01 23:00  edwin
5035
5036         Merged r5616 from trunk:
5037         
5038         * src/native/jni.c: Prefix all JNI functions with _Jv_JNI_, as gcj
5039         does. This should prevent any linking problems.
5040
5041 2006-10-01 22:55  edwin
5042
5043         * src/vm/jit/mips/codegen.c: Ported to unified_variables.
5044         * src/vm/jit/mips/codegen.h: Likewise.
5045         * src/vm/jit/mips/emit.c: Likewise.
5046         * src/vm/jit/mips/md-abi.c: Likewise.
5047
5048 2006-10-01 20:52  edwin
5049
5050         * src/vm/jit/powerpc/codegen.c (codegen): Cleaned up unified_variables
5051         changes.
5052
5053 2006-10-01 20:49  edwin
5054
5055         * src/vm/jit/i386/codegen.c (codegen): Cleaned up unified_variables
5056         changes.
5057
5058 2006-10-01 20:42  edwin
5059
5060         * src/vm/jit/x86_64/codegen.c (codegen): Cleaned up unified_variables
5061         changes.
5062
5063 2006-10-01 20:37  edwin
5064
5065         * src/vm/jit/alpha/codegen.c (codegen): Cleaned up unified_variables
5066         changes.
5067
5068 2006-10-01 20:08  edwin
5069
5070         * tests/regression/jasmin/runtest: Use default JASMIN_JAR, if given.
5071
5072 2006-10-01 18:01  edwin
5073
5074         * src/vm/jit/codegen-common.c (codegen_reg_of_var): Fixed typo in
5075         ARM code.
5076
5077 2006-10-01 15:44  edwin
5078
5079         * src/vm/jit/verify/typeinfo.c (typevector_store_retaddr): Do not
5080         invalidate the variable at index i-1.
5081         (typevector_store_twoword): Removed.
5082
5083 2006-10-01 15:25  edwin
5084
5085         * src/vm/jit/verify/typecheck.c (typecheck): Added debug print of
5086         the reverse local map.
5087
5088 2006-10-01 14:43  edwin
5089
5090         * src/vm/vm.c (vm_compile_all): Only use if !defined(NDEBUG).
5091         (vm_compile_method): Likewise.
5092
5093 2006-10-01 14:37  edwin
5094
5095         * src/vm/jit/verify/typeinfo.h: Disabled TYPECHECK_VERBOSE.
5096
5097 2006-09-30 23:28  edwin
5098
5099         * src/vm/jit/jit.c (jit_compile_intern): Removed commented out
5100         debugging code.
5101
5102 2006-09-30 23:12  edwin
5103
5104         * src/vm/jit/allocator/simplereg.c (reg_new_temp): Simplified.
5105         (reg_free_temp): Formatted.
5106
5107 2006-09-30 23:06  edwin
5108
5109         * src/vm/jit/powerpc/linux/md-abi.c: Use VAR and VAROP macros.
5110         * src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
5111         * src/vm/jit/alpha/codegen.c: Likewise.
5112         * src/vm/jit/alpha/codegen.h: Likewise.
5113         * src/vm/jit/alpha/md-abi.c: Likewise.
5114         * src/vm/jit/show.c: Likewise.
5115         * src/vm/jit/verify/typecheck.c: Likewise.
5116         * src/vm/jit/allocator/simplereg.c: Likewise.
5117         * src/vm/jit/i386/codegen.h: Likewise.
5118         * src/vm/jit/parse.c: Likewise.
5119         * src/vm/jit/x86_64/emit.c: Likewise.
5120         * src/vm/jit/x86_64/codegen.c: Likewise.
5121         * src/vm/jit/x86_64/codegen.h: Likewise.
5122         * src/vm/jit/x86_64/md-abi.c: Likewise.
5123         * src/vm/jit/codegen-common.c: Likewise.
5124
5125 2006-09-30 22:45  edwin
5126
5127         * src/vm/jit/i386/codegen.c (codegen): Use VAR and VAROP macros.
5128         (codegen_insert_phi_moves): Likewise.
5129
5130 2006-09-30 22:24  edwin
5131
5132         Merged r5591 from trunk:
5133         
5134         * src/native/jni.c (GetVersion): Prefixed with _Jv_, we should do that
5135         with all JNI functions.
5136
5137 2006-09-30 22:22  edwin
5138
5139         Merged r5589 and r5590 from trunk:
5140         
5141         * configure.ac: Fixed CFLAGS for cygwin.
5142         * src/threads/native/threads.c: Inserted asserts for cygwin.
5143         * src/vm/jit/i386/cygwin/Makefile.am: See below.
5144         * src/vm/jit/i386/cygwin/md-asm.h: Added.
5145         * src/vm/jit/i386/cygwin/md-os.c: Inserted asserts.
5146         * src/vm/jit/i386/cygwin/ucontext.c: Added 3rd party file.
5147         * src/vm/jit/i386/cygwin/ucontext.h: Added 3rd party file.
5148         
5149         
5150         * src/cacao/.cvsignore, src/cacaoh/.cvsignore,
5151         src/vm/jit/tools/.cvsignore: Added ignores for cygwin and
5152         modified properties accordingly.
5153
5154 2006-09-30 11:04  christian
5155
5156         * src/vm/jit/alpha/codegen.c (codegen): Changed to use the macros VAR
5157         and VAROP.
5158
5159 2006-09-30 10:16  christian
5160
5161         * src/vm/jit/x86_64/codegen.c (codegen): Changed to use the macros
5162         VAR and VAROP.
5163
5164 2006-09-29 14:02  edwin
5165
5166         * src/vm/jit/allocator/simplereg.c (reg_free_temp_func): Handle
5167         packed registers.
5168         (new_allocate_scratch_registers): Likewise.
5169
5170 2006-09-29 13:33  edwin
5171
5172         Merged r5540 from trunk:
5173         
5174         * configure.ac: Cygwin OS dir added.
5175         * src\lib\Makefile.am: Now checks for "zip.exe" as well
5176         * src\vm\jit\i386\Makefile.am: Added Cygwin OS dir.
5177         * src\vm\jit\i386\cygwin\Makefile.am: Added.
5178         * src\vm\jit\i386\cygwin\md-os.c: Added. Only contains
5179         dummy signal handlers.
5180         * src\vm\builtin.c: Undefine Bias for Cygwin because
5181         Windows uses this define.
5182         * src\vm\signal.c: No signal handlers for Cygwin.
5183
5184 2006-09-29 12:46  edwin
5185
5186         Merged r5573, r5574, r5577, r5578, and r5579 from trunk.
5187         
5188         * src/cacao/cacao.c (vm/vm.h): Added.
5189         * src/cacao/Makefile.am [!ENABLE_LIBJVM] (CACAO_LIB): Link libjvm.la.
5190         
5191         
5192         * src/vm/jit/powerpc/darwin/md-asm.h (md_codegen_get_pv_from_pc):
5193         Added stub define.
5194         * src/vm/jit/powerpc/asmpart.S (L_md_codegen_get_pv_from_pc$stub):
5195         Added.
5196         
5197         
5198         * src/cacaoh/cacaoh.c (cacaoh_options_prepare): Set nOptions, this was
5199         deleted accidentally.
5200         
5201         
5202         * src/vm/vm.c (vm_create): Added installation of exit handler.
5203         (vm_run): New function.
5204         (vm_get_mainclass_from_jar): Likewise.
5205         (vm_compile_all): Likewise.
5206         (vm_compile_method): Likewise.
5207         * src/vm/vm.h (vm_run): New function.
5208         
5209         * src/vm/options.c (options_prepare): Removed.
5210         * src/vm/options.h (options_prepare): Likewise.
5211         
5212         * src/cacao/cacao.c (getmainclassnamefromjar): Removed.
5213         (main): Moved most stuff to vm-functions and load libjvm with dlopen
5214         and resolve symbols for ENABLE_LIBJVM.
5215         (cacao_options_prepare): New function.
5216         
5217         * src/cacao/Makefile.am (CACAO_LIBS): New variable.
5218         (cacao_LDADD): Use CACAO_LIBS.
5219         
5220         * src/native/native.c (native_init): Set mainhandle to libjvm for
5221         ENABLE_LIBJVM.
5222         
5223         * src/cacaoh/cacaoh.c (cacaoh_prepare_options): New function.
5224         
5225         
5226         * src/native/jni.c (JNI_CreateJavaVM): Renamed jvm to vm.
5227
5228 2006-09-28 22:33  edwin
5229
5230         * src/vm/jit/powerpc64: Merged changes from r5403 to r5548 from trunk.
5231
5232 2006-09-28 20:56  edwin
5233
5234         * src/vm/jit/i386/cygwin: Copied directory from trunk.
5235
5236 2006-09-28 20:38  edwin
5237
5238         Merged r5547 from trunk:
5239         
5240         * src/native/jni.c (FindClass): Removed architecture #ifdef's.
5241
5242 2006-09-28 20:33  edwin
5243
5244         Merged r5543 from trunk:
5245         
5246         * src/vm/jit/sparc64/codegen.c: Completed port to new instruction
5247         format.
5248         * src/vm/jit/sparc64/md-abi.h: Likewise.
5249         * src/vm/jit/sparc64/emit.c: Likewise.
5250
5251 2006-09-28 20:31  edwin
5252
5253         Merged r5541 from trunk:
5254         
5255         * src/vm/jit/powerpc/emit.c (vm/jit/emit.h): Renamed to
5256         vm/jit/emit-common.h.
5257         (emit_load_s1, emit_load_s2, emit_load_s3, emit_load_s1_low)
5258         (emit_load_s2_low, emit_load_s3_low, emit_load_s1_high)
5259         (emit_load_s2_high, emit_load_s3_high) (emit_store_dst): Removed.
5260         
5261         * src/vm/jit/powerpc/codegen.c (vm/jit/emit.h): Renamed to
5262         vm/jit/emit-common.h.
5263
5264 2006-09-28 20:29  edwin
5265
5266         Merged r5540 and r5542 from trunk:
5267         
5268         * configure.ac: Cygwin OS dir added.
5269         * src\lib\Makefile.am: Now checks for "zip.exe" as well
5270         * src\vm\jit\i386\Makefile.am: Added Cygwin OS dir.
5271         * src\vm\jit\i386\cygwin\Makefile.am: Added.
5272         * src\vm\jit\i386\cygwin\md-os.c: Added. Only contains
5273         dummy signal handlers.
5274         * src\vm\builtin.c: Undefine Bias for Cygwin because
5275         Windows uses this define.
5276         * src\vm\signal.c: No signal handlers for Cygwin.
5277         
5278         * src/vm/jit/i386/cygwin/.cvsignore: New file.
5279
5280 2006-09-28 20:23  edwin
5281
5282         Merged r5539 from trunk:
5283         
5284         * src/vm/jit/mips/emit.c (emit_exception_stubs): Don't use
5285         SIZEOF_VOID_P for getting return address, this is wrong on MIPS32.
5286         * src/vm/jit/mips/codegen.c (createnativestub): Likewise.
5287
5288 2006-09-28 20:20  edwin
5289
5290         Merged r5538 from trunk:
5291         
5292         * src/native/native.c (native_insert_char): New function.
5293         (native_resolve_function): Use native_insert_char function to fill
5294         name buffer.
5295
5296 2006-09-28 20:19  edwin
5297
5298         Merged r5537 from trunk:
5299         
5300         * src/vm/jit/mips/codegen.c (codegen): Make fieldinfo,
5301         unresolved_field local variables, better code for ICMD_PUTFIELD.
5302
5303 2006-09-28 20:18  edwin
5304
5305         Merged r5536 from trunk:
5306         
5307         * src/vm/jit/mips/emit.c (vm/jit/emit.h): Renamed to
5308         vm/jit/emit-common.h.
5309         (emit_load_s1, emit_load_s2, emit_load_s3, emit_store_dst): Removed.
5310         
5311         * src/vm/jit/mips/codegen.c (vm/jit/emit.h): Renamed to
5312         vm/jit/emit-common.h.
5313         (codegen): Some updates to field instructions.
5314
5315 2006-09-28 20:17  edwin
5316
5317         Merged r5535 from trunk:
5318         
5319         * src/vm/jit/mips/codegen.c (codegen): Moved ICMD_IREMPOW2 and
5320         ICMD_LREMPOW2.
5321
5322 2006-09-28 20:16  edwin
5323
5324         Merged r5534 from trunk:
5325         
5326         * src/vm/jit/alpha/emit.c (vm/jit/emit.h): Renamed to
5327         vm/jit/emit-common.h.
5328         (emit_load_s1, emit_load_s2, emit_load_s3, emit_store_dst): Removed.
5329         
5330         * src/vm/jit/alpha/codegen.c (vm/jit/emit.h): Renamed to
5331         vm/jit/emit-common.h.
5332
5333 2006-09-28 20:13  edwin
5334
5335         Merged r5531 and r5532, ported to unified_variables:
5336         
5337         * src/vm/jit/i386/md-emit.h: Renamed to src/vm/jit/i386/emit.h.
5338         
5339         * src/vm/jit/i386/emit.c (vm/jit/i386/md-emit.h): Renamed to
5340         vm/jit/i386/emit.h.
5341         (vm/jit/emit.h): Renamed to vm/jit/emit-common.h.
5342         (emit_load_s1, emit_load_s2, emit_load_s3, emit_load_s1_low)
5343         (emit_load_s2_low, emit_load_s1_high, emit_load_s2_high)
5344         (emit_store_dst): Removed.
5345         
5346         * src/vm/jit/i386/codegen.c (vm/jit/i386/md-emit.h): Renamed to
5347         vm/jit/i386/emit.h.
5348         (vm/jit/emit.h): Renamed to vm/jit/emit-common.h.
5349
5350 2006-09-28 19:53  edwin
5351
5352         Merged r5530 from trunk:
5353         
5354         * src/vm/jit/emit.h: Renamed to src/vm/jit/emit-common.h.
5355         * src/vm/jit/emit-common.c: New file.
5356         
5357         * src/vm/jit/Makefile.am (noinst_HEADERS): Removed emit.h.
5358         (libjit_la_SOURCES): Added emit-common.[ch].
5359         
5360         * src/vm/jit/x86_64/emit.c (emit_load_s1, emit_load_s2, emit_load_s3)
5361         (emit_store_dst): Removed.
5362         
5363         * src/vm/jit/x86_64/codegen.c: Changed include names.
5364
5365 2006-09-28 19:46  edwin
5366
5367         Merged r5529 from trunk:
5368         
5369         * src/vm/jit/x86_64/md-emit.h: Renamed to src/vm/jit/x86_64/emit.h.
5370
5371 2006-09-28 19:36  edwin
5372
5373         Merged r5527 from trunk:
5374         
5375         * src/native/include/.cvsignore: Added sun_misc_Unsafe.h.
5376
5377 2006-09-28 19:33  edwin
5378
5379         Merged r5526 from trunk:
5380         
5381         * src/native/vm/sun_misc_Unsafe.c: New file:
5382         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
5383         sun_misc_Unsafe.c.
5384         * src/native/include/Makefile.am (GEN_HEADER_FILES): Added
5385         sun_misc_Unsafe.h.
5386
5387 2006-09-28 19:31  edwin
5388
5389         Merged r5525 from trunk:
5390         
5391         * tests/regression/clinitexception.2output: Updated to GNU Classpath
5392         0.92.
5393         * tests/regression/extest.2output: Likewise.
5394
5395 2006-09-28 19:30  edwin
5396
5397         Merged r5509 from trunk:
5398         
5399         * src/vm/jit/show.c (new_show_basicblock): Print predecessors only for
5400         stage >= SHOW_CFG.
5401         * src/vm/jit/show.h (SHOW_CFG): Defined.
5402
5403 2006-09-28 19:24  edwin
5404
5405         Merged r5506 from trunk:
5406         
5407         * src/native/jni.c (GetDirectBufferAddress): Check if address is NULL.
5408
5409 2006-09-28 19:22  edwin
5410
5411         Merged r5502 from trunk, with additional fixes:
5412         
5413         * src/vm/jit/jit.c (jit_compile_intern): Moved cfg_build call after
5414         stack_analyse, because of JSR elimination.
5415         
5416         * src/vm/jit/cfg.c (cfg_build): Updated to be run after stack_analyse.
5417         
5418         Fixes:
5419         
5420         * src/vm/jit/cfg.c (cfg_build): Skip NOPs at the end of the block.
5421         Handle JSR and RET correctly. Use bptr->next in the default case
5422         of falling into the following block.
5423
5424 2006-09-28 18:45  edwin
5425
5426         Merged r5489 from trunk:
5427         
5428         * configure.ac (INTRP_CFLAGS): Moved a bit.
5429         * src/vm/jit/intrp/Makefile.am (CFLAGS): Don't define.
5430         (AM_CFLAGS): Define as INTRP_CFLAGS, that seems to be the correct way.
5431
5432 2006-09-28 18:42  edwin
5433
5434         * src/vm/jit/sparc64/codegen.c (codegen): Replaced catchtype.cls
5435         with catchtype.any to reflect that it can be a classref or a
5436         classinfo. (Also see r5488.)
5437
5438 2006-09-28 18:35  edwin
5439
5440         Merged r5476 from trunk:
5441         
5442         Merged sparc64 changes from trunk.
5443
5444 2006-09-28 18:31  edwin
5445
5446         Merged r5462 from trunk:
5447         
5448         * src/vm/jit/parse.c (new_parse): Added a ICMD_NOP at the end of each
5449         basic block, if we have reorder enabled.
5450
5451 2006-09-28 17:02  edwin
5452
5453         * src/vm/jit/reg.h (registerdata): New fields regcopycount,
5454         memcopycount, and memcopycountsize.
5455         
5456         * src/vm/jit/allocator/simplereg.c (reg_init_temp): Take jitdata
5457         argument, initialize copy counts.
5458         (reg_free_temp): Simplified a bit.
5459         (reg_free_temp_func): Check if freeing a copy.
5460         (reg_alloc_dup): New function.
5461         (new_allocate_scratch_registers): Implemented DUP coalescing using a
5462         copy count for each register/memory regoff.
5463
5464 2006-09-19 09:41  edwin
5465
5466         * tests/regression/jasmin/runtest: Display only the basename of tests.
5467         * tests/regression/jasmin/Makefile.am: Use $(srcdir) to locate the
5468         runtest script.
5469
5470 2006-09-15 20:18  edwin
5471
5472         * src/vm/jit/stack.c (new_stack_analyse): Set stackslot SAVEDVAR for
5473         MULTIANEWARRAY.
5474
5475 2006-09-15 17:19  christian
5476
5477         src/vm/jit/allocator/simplereg.c (reg_free_temp_func): New var
5478         structures also for SUPPORT_COMBINE_INTEGER_REGISTERS.
5479
5480 2006-09-15 17:05  christian
5481
5482         * src/vm/jit/ppc/emit.c (emit_load): Changed to new variable
5483         structure (varinfo * instead of stackptr) and the use of Macros
5484         IS_INMEMORY and VAROP.
5485         (emit_store): Likewise.
5486         (emit_copy): Likewise.
5487         (emit_load_high): Likewise.
5488         (emit_load_low): Likewise.
5489         (emit_load_s1): Likewise.
5490         (emit_load_s1_low): Likewise.
5491         (emit_load_s1_high): Likewise.
5492         (emit_load_s2): Likewise.
5493         (emit_load_s2_low): Likewise.
5494         (emit_load_s2_high): Likewise.
5495         (emit_load_s3): Likewise.
5496         (emit_load_s3_low): Likewise.
5497         (emit_load_s3_high): Likewise.
5498         (emit_store_dst): Likewise.
5499         
5500         * src/vm/jit/ppc/codegen.c (codegen): Changed to new variable
5501         structure (varinfo * instead of stackptr, adapting of Argument
5502         handling, no interface copying anymore at BB Boundaries ) and the use
5503         of Macros IS_INMEMORY, VAR and VAROP. ICMD_xSTORE and ICMD_xLOAD use
5504         now
5505         emit_copy. ICMD_DUPx and ICMD_SWAP were replaced by ICMD_MOVE and
5506         ICMD_COPY. Invars are now regarded for EXH and JSR
5507         Blocks. Changed ICMD_RET handling like with i386.
5508         
5509         * src/vm/jit/ppc/codegen.h (M_COPY): Changed to new variable
5510         structure.
5511         
5512         * src/vm/jit/ppc/linux/md-abi.c (md_return_alloc): Changed to new
5513         variable structure.
5514         
5515         * src/vm/jit/ppc/darwin/md-abi.c (md_return_alloc): Changed to new
5516         variable structure.
5517
5518 2006-09-15 16:55  edwin
5519
5520         * tests/regression/jasmin/Makefile.am: Added new test.
5521         * tests/regression/jasmin/test_dup_x2_interface_slots.j: New test.
5522         * tests/regression/jasmin/test_dup_x1_interface_slots.j: Changed
5523         second loop to also use DUP_X1.
5524
5525 2006-09-15 16:44  edwin
5526
5527         * src/vm/jit/stack.c (MOVE_TO_TEMP): New macro.
5528         (new_stack_analyse): Use MOVE_TO_TEMP to save sources for all
5529         DUP*, SWAP instructions where it is necessary.
5530         
5531         * src/vm/jit/parse.c (new_parse): Reserve additional NOPs for
5532         DUP* instructions.
5533
5534 2006-09-15 16:39  edwin
5535
5536         * tests/regression/jasmin/test_dup_x1_interface_slots.j: New test.
5537         * tests/regression/jasmin/test_dup2_x1.j: Added dup2_x1 with
5538         interface slots.
5539         * tests/regression/jasmin/Makefile.am: Added new test.
5540
5541 2006-09-15 16:31  christian
5542
5543         * src/vm/jit/alpha/emit.c (emit_load): Changed to new variable
5544         structure (varinfo * instead of stackptr) and the use of Macro
5545         IS_INMEMORY.
5546         (emit_store): Likewise.
5547         (emit_copy): Likewise.
5548         (emit_load_s1): Likewise and reuse emit_load.
5549         (emit_load_s2): Likewise and reuse emit_load.
5550         (emit_load_s3): Likewise and reuse emit_load.
5551         (emit_store_dst): Likewise and reuse emit_store.
5552         
5553         * src/vm/jit/alpha/codegen.c (codegen): Changed to new variable
5554         structure (varinfo * instead of stackptr, adapting of Argument
5555         handling, no interface copying anymore at BB Boundaries ) and the use
5556         of Macro IS_INMEMORY. ICMD_xSTORE and ICMD_xLOAD use now
5557         emit_copy. ICMD_DUPx and ICMD_SWAP were replaced by ICMD_MOVE and
5558         ICMD_COPY. Invars are now regarded
5559         for EXH and JSR Blocks. Changed ICMD_RET handling like with i386.
5560         
5561         * src/vm/jit/alpha/codegen.h (M_COPY): Changed to new variable
5562         structure.
5563         
5564         * src/vm/jit/alpha/md-abi.c (md_return_alloc): Changed to new
5565         variable structure.
5566
5567 2006-09-15 15:52  edwin
5568
5569         * src/vm/jit/stack.c (new_stack_analyse): Add a third move at the
5570         beginning of a swap operation to save the src1 operand, unless it
5571         is in a temporary variable.
5572         
5573         * src/vm/jit/parse.c (new_parse): Reserve three ICMDs for SWAP.
5574
5575 2006-09-15 15:44  edwin
5576
5577         * tests/regression/jasmin/Makefile.am: Added/renamed tests.
5578
5579 2006-09-15 14:43  edwin
5580
5581         * src/vm/jit/verify/typecheck.c: Cleanup and documentation.
5582
5583 2006-09-15 14:18  edwin
5584
5585         * src/vm/jit/verify/typecheck.c (typestate_reach): Removed check
5586         against uninitialized object on stack/in locals during backward
5587         branch. It is unnecessary, and not done by the RI. Reference:
5588         Alessandro Coglio
5589         Improving the official specification of Java bytecode verification
5590         Proceedings of the 3rd ECOOP Workshop on Formal Techniques for
5591         Java Programs
5592         June 2001
5593         citeseer.ist.psu.edu/article/coglio03improving.html
5594         
5595         (verify_basic_block): Removed check against uninitialized object in
5596         locals within try block. See above.
5597         
5598         * tests/regression/jasmin/
5599         test_verify_fail_backward_with_new_in_local.j: Renamed.
5600         * tests/regression/jasmin/test_verify_fail_new_in_local_within_try.j:
5601         Renamed.
5602         
5603         * tests/regression/jasmin/
5604         test_verify_unspecced_ok_backward_with_new_on_stack.j: New test.
5605         
5606         * tests/regression/jasmin/
5607         test_verify_fail_backward_with_new_on_stack.j: Fixed.
5608
5609 2006-09-15 13:08  edwin
5610
5611         * tests/regression/jasmin/runtest: Use [ \t] instead of \s in the
5612         regex for sed, as this seems to be more portable.
5613
5614 2006-09-15 13:03  edwin
5615
5616         * src/vm/jit/verify/typecheck.c (typecheck_reset_flags): Mark
5617         unreached
5618         blocks as BBDELETED. The only case in which this can happen to a block
5619         that was considered reachable by the stack analysis, is in the case of
5620         an exception handler which only covers blocks that have no PEIs.
5621
5622 2006-09-15 12:51  edwin
5623
5624         * src/vm/resolve.c (new_resolve_field_lazy): Check jd->flags instead
5625         of opt_verify.
5626         (new_resolve_method_lazy): Likewise.
5627
5628 2006-09-15 12:48  christian
5629
5630         * src/vm/jit/stack.c (new_stack_analyse): Stackslot flags have to be
5631         set for SAVEDVARs, too.
5632
5633 2006-09-15 11:02  edwin
5634
5635         * src/vm/jit/verify/typecheck.c (verify_basic_block): Fix check for
5636         active exception handlers. We may not compare pointers here, as the
5637         blocks are not allocated with rising memory addresses. Use the
5638         block numbers to compare ranges.
5639
5640 2006-09-15 09:19  christian
5641
5642         * src/vm/jit/x86_64/emit.c (emit_load): Changed to new variable
5643         structure (varinfo * instead of stackptr) and the use of Macro
5644         IS_INMEMORY.
5645         (emit_store): Likewise.
5646         (emit_copy): Likewise.
5647         (emit_ishift): Likewise.
5648         (emit_lshift): Likewise.
5649         (emit_load_s1): Likewise and reuse emit_load.
5650         (emit_load_s2): Likewise and reuse emit_load.
5651         (emit_load_s3): Likewise and reuse emit_load.
5652         (emit_store_dst): Likewise and reuse emit_store.
5653         
5654         * src/vm/jit/x86_64/md-emit.h: Adapded prototypes.
5655         
5656         * src/vm/jit/x86_64/codegen.c (codegen): Changed to new variable
5657         structure (varinfo * instead of stackptr, adapting of Argument
5658         handling, no interface copying anymore at BB Boundaries ) and the use
5659         of Macro IS_INMEMORY. ICMD_xSTORE and ICMD_xLOAD use now
5660         emit_copy. Invars are now regarded for EXH and JSR Blocks.
5661         
5662         * src/vm/jit/x86_64/codegen.h (M_COPY): Changed to new variable
5663         structure.
5664         
5665         * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Changed to new
5666         variable structure.
5667         
5668         * src/vm/jit/stack.c (new_stack_analyse): Only try to preallocate
5669         return stackslots, if they hold a TEMPVAR. Some preparation for SSA.
5670         
5671         * src/vm/jit/jit.c (jit_compile_intern): Had to disable
5672         replace_create_replacement_points(jd).
5673         
5674         * src/vm/jit/show.c (new_show_icmd): Show s1 of [FIDL]RETURN like for
5675         ARETURN.
5676
5677 2006-09-14 22:51  edwin
5678
5679         * configure.ac: Generate tests/regression/jasmin/Makefile.
5680         
5681         * tests/regression/Makefile.am: Added subdir jasmin.
5682         
5683         * tests/regression/jasmin/Makefile.am: New file.
5684         
5685         * tests/regression/jasmin/runtest: Check if jasmin .jar is available.
5686
5687 2006-09-14 22:49  edwin
5688
5689         * src/vm/jit/verify/typecheck.c (verify_basic_block): Change
5690         destination variable of GETFIELD/GETSTATIC after all checks have been
5691         performed, so there is no problem if destination == source.
5692
5693 2006-09-14 21:29  edwin
5694
5695         * tests/regression/jasmin/test_verify_fail_retaddr_as_object.j:
5696         New test.
5697
5698 2006-09-14 21:23  edwin
5699
5700         *
5701         tests/regression/jasmin/test_verify_fail_backward_with_new_in_local.j:
5702         New test.
5703         * tests/regression/jasmin/test_verify_fail_new_in_local_within_try.j:
5704         Likewise.
5705         * tests/regression/jasmin/test_verify_fail_double_local_index.j:
5706         Likewise.
5707         *
5708         tests/regression/jasmin/test_verify_fail_backward_with_new_on_stack.j:
5709         Likewise.
5710
5711 2006-09-14 20:55  edwin
5712
5713         * tests/regression/jasmin/test_verify_fail_long_local.j:
5714         Added comment.
5715         * tests/regression/jasmin/test_verify_fail_double_overwritten.j:
5716         New test.
5717         * tests/regression/jasmin/test_verify_fail_invoke_basic_type.j:
5718         New test.
5719         * tests/regression/jasmin/test_verify_fail_long_overwritten.j:
5720         New test.
5721
5722 2006-09-14 20:36  edwin
5723
5724         * src/vm/jit/verify/typecheck.c (typecheck_invalidate_locals):
5725         New function.
5726         (verify_basic_block): Invalidate locals that share space with the
5727         stored local.
5728         (typecheck): Build reverse map of locals.
5729
5730 2006-09-14 18:56  edwin
5731
5732         * src/vm/jit/reg.h (varinfo): Added typeinfo member.
5733         
5734         * src/vm/jit/verify/typecheck.c: Ported to unified_variables.
5735         * src/vm/jit/verify/typeinfo.h: Likewise.
5736         * src/vm/jit/verify/typeinfo.c: Likewise.
5737
5738 2006-09-14 18:55  edwin
5739
5740         * src/vm/resolve.c (resolve_class_from_name): RESOLVE_VERBOSE changes.
5741         (resolve_classref_or_classinfo): Likewise.
5742         (resolve_class_from_typedesc): Likewise.
5743         (resolve_and_check_subtype_set): Likewise.
5744         (new_create_unresolved_field): Likewise.
5745         (new_create_unresolved_method): Likewise.
5746         
5747         (new_resolve_field_verifier_checks): Ported to unified_variables.
5748         (new_resolve_field_lazy): Likewise.
5749         (new_resolve_method_verifier_checks): Likewise.
5750         (new_resolve_method_lazy): Likewise.
5751         (new_constrain_unresolved_field): Likewise.
5752         
5753         
5754         (unresolved_subtype_set_from_typeinfo): Take classname directly,
5755         instead of the constant_classref *.
5756         
5757         (create_unresolved_class): Pass classname to
5758         unresolved_subtype_set_from_typeinfo.
5759         
5760         (new_constrain_unresolved_method): Ported to unified_variables.
5761         Pass classname to unresolved_subtype_set_from_typeinfo. (This should
5762         fix a bug when fieldref->p.classref was invalid.)
5763         
5764         (new_constrain_unresolved_method): Ported to unified_variables.
5765         Pass classname to unresolved_subtype_set_from_typeinfo.
5766         
5767         * src/vm/resolve.h (jit/reg.h): Include this before typeinfo.h
5768         (new_resolve_method_lazy): Added jd parameter.
5769         (new_resolve_field_lazy): Likewise.
5770         (new_constrain_unresolved_field): Likewise.
5771         (new_constrain_unresolved_method): Likewise.
5772         
5773         * src/vm/jit/parse.c (new_parse): Pass jd to resolve functions.
5774
5775 2006-09-14 18:45  edwin
5776
5777         * src/vm/jit/show.c (new_show_method): Only show allocation of locals
5778         if stage is at least SHOW_REGS.
5779         (new_show_icmd): Show class for CHECKCAST.
5780
5781 2006-09-14 18:44  edwin
5782
5783         * src/vm/jit/stack.c (stack_create_invars): Add extra locals needed
5784         by the verifier.
5785         (stack_create_invars_from_outvars): Likewise.
5786         (new_stack_analyse): Create inlocals for first block. Allow ASTORE of
5787         returnAddress values.
5788
5789 2006-09-14 18:40  edwin
5790
5791         * src/vm/jit/parse.c (new_parse): Commented calculation of varcount
5792         and added added extra variables that will be needed by the verifier.
5793
5794 2006-09-14 18:36  edwin
5795
5796         * src/vm/global.h (VERIFIER_EXTRA_LOCALS): New constant.
5797         (VERIFIER_EXTRA_VARS): Likewise.
5798
5799 2006-09-14 18:20  edwin
5800
5801         * src/vm/class.c (class_classref_or_classinfo_print): New function.
5802         (class_classref_or_classinfo_println): Likewise.
5803         
5804         * src/vm/class.h (class_classref_or_classinfo_print): New function.
5805         (class_classref_or_classinfo_println): Likewise.
5806
5807 2006-09-14 18:16  edwin
5808
5809         * src/vm/jit/jit.h (VAROP): New macro for accessing variable operands.
5810         (VAR): New macro for getting a variable from a varindex.
5811
5812 2006-09-14 16:46  edwin
5813
5814         * tests/regression/jasmin/test_verify_fail_load_wrong_type.j:
5815         New test.
5816         * tests/regression/jasmin/
5817         test_verify_fail_load_wrong_type_within_block.j: New test.
5818         * tests/regression/jasmin/test_verify_fail_local_index.j: New test.
5819         * tests/regression/jasmin/test_verify_fail_long_local_index.j:
5820         New test.
5821         * tests/regression/jasmin/test_verify_fail_long_local.j: New test.
5822         * tests/regression/jasmin/test_verify_fail_split_local.j: New test.
5823         * tests/regression/jasmin/test_verify_ok_overwrite_local_type.j:
5824         New test.
5825         * tests/regression/jasmin/test_verify_ok_untyped_local.j: New test.
5826
5827 2006-09-13 00:21  edwin
5828
5829         * src/vm/jit/powerpc/codegen.c (codegen): Replaced catchtype.cls with
5830         catchtype.any to reflect that it can be a classref or a classinfo.
5831         
5832         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
5833         * src/vm/jit/mips/codegen.c (codegen): Likewise.
5834         * src/vm/jit/i386/codegen.c (codegen): Likewise.
5835         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
5836         * src/vm/jit/intrp/codegen.c (codegen): Likewise.
5837         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
5838         
5839         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Added XXX
5840         comment warning that classrefs must be resolved here.
5841
5842 2006-09-13 00:03  edwin
5843
5844         * src/vm/jit/i386/codegen.c (codegen): Use emit_copy for LOAD/STORE
5845         instructions. We should also combine this with ICMD_COPY/MOVE, but
5846         I was not sure how to deal with the M_COPY macro.
5847
5848 2006-09-12 23:35  edwin
5849
5850         * tests/regression/jasmin/test_swap_locals.j: New test.
5851
5852 2006-09-12 23:31  edwin
5853
5854         * tests/regression/jasmin/test_swap_interface_slots.j: New test.
5855
5856 2006-09-12 23:18  edwin
5857
5858         * tests/regression/jasmin/test_many_monitors.j: New test. (This test
5859         case used to fail with old-instruction-format cacao.)
5860
5861 2006-09-12 22:32  christian
5862
5863         * src/vm/jit/i386/codegen.c (codegen): Corrected handling of taking
5864         arguments out of stack frame. Some changes to adapt SSA to unified
5865         variables.
5866
5867 2006-09-12 21:34  edwin
5868
5869         * src/vm/jit/parse.c (parse_check_instructions): Renamed to
5870         parse_realloc_instructions to reflect what it really does. Fixed so
5871         it adds at least as many instructions as required by the check.
5872         
5873         * src/vm/jit/parse.h (INSTRUCTIONS_CHECK): Use
5874         parse_realloc_instructions.
5875         (MARK_BASICBLOCK): Cleaned up backslashes.
5876
5877 2006-09-12 21:23  edwin
5878
5879         * src/vm/jit/stack.c (new_stack_analyse): Fixed test for existing
5880         coalescing for *STORE.
5881         Properly use the return value of stack_mark_reached when analysing
5882         a block for the first time.
5883         
5884         * tests/regression/jasmin/test_simple_load_store.j: Added a test
5885         that just does ILOAD 1, ISTORE 1.
5886
5887 2006-09-12 00:21  edwin
5888
5889         * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub.j:
5890         Renamed to test_verify_fail_jsr_handler_in_sub.j, as it fails on the
5891         reference implementation.
5892         
5893         * tests/regression/jasmin/test_verify_ok_jsr_exceptions.j: Renamed to
5894         test_verify_fail_jsr_exceptions.j, likewise.
5895         
5896         * tests/regression/jasmin/test_verify_fail_ret_uninit_var.j,
5897         tests/regression/jasmin/test_verify_fail_aload_retaddress.j,
5898         tests/regression/jasmin/test_verify_fail_ret_bad_type.j: Made
5899         expected error match both CACAO's message and the reference
5900         implementation's message.
5901
5902 2006-09-11 23:32  edwin
5903
5904         * src/vm/jit/stack.c (stack_reanalyse_block): Removed unused
5905         variable.
5906
5907 2006-09-11 23:24  edwin
5908
5909         * src/vm/jit/stack.c: Added JSR elimination by block specialization.
5910         
5911         * src/vm/jit/i386/codegen.c (codegen): Treat ICMD_RET as a GOTO.
5912
5913 2006-09-11 23:17  edwin
5914
5915         * tests/regression/jasmin/runtest: Add --color option.
5916
5917 2006-09-11 22:17  edwin
5918
5919         * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub2.j: Added
5920         a second call of the subroutine, so cacao has to clone the exception
5921         handler.
5922
5923 2006-09-11 14:59  edwin
5924
5925         * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub.j:
5926         New test.
5927         * tests/regression/jasmin/test_verify_ok_jsr_exceptions.j: Likewise.
5928         * tests/regression/jasmin/test_verify_ok_jsr_through_variable.j:
5929         Likewise.
5930         * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub2.j:
5931         Likewise.
5932         * tests/regression/jasmin/test_verify_ok_jsr_swap.j: Likewise.
5933
5934 2006-09-11 14:57  edwin
5935
5936         * tests/regression/jasmin/test_dup2.j: Fix stackdepth.
5937         * tests/regression/jasmin/test_load_store_conflict.j: Likewise.
5938
5939 2006-09-11 14:55  edwin
5940
5941         * tests/regression/jasmin/runtest: Only show PASS if status is ok.
5942
5943 2006-09-11 14:54  edwin
5944
5945         * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
5946         Zero destination of ICMD_JSR to avoid problems when showing the IR.
5947
5948 2006-09-11 14:52  edwin
5949
5950         * src/vm/jit/show.h (show_jit_type_letters): New variable.
5951         (show_jit_type_names): Likewise.
5952         
5953         * src/vm/jit/show.c (jit_type): Renamed to show_jit_type_names and
5954         exported.
5955         (show_jit_type_letters): New variable.
5956         (new_show_method): Improved.
5957         (new_show_icmd): Likewise.
5958
5959 2006-09-11 14:45  edwin
5960
5961         * src/toolbox/logging.h (log_text): Fixed for strings containing %.
5962
5963 2006-09-11 14:37  edwin
5964
5965         * src/vm/jit/reg.h (varinfo): Put regoff inside a union (vv) so it
5966         can share space with the constant values put in varinfo. Also made
5967         type and flags s4.
5968         
5969         * src/vm/jit/stack.c (new_stack_analyse): Replace regoff with
5970         vv.regoff.
5971         
5972         * src/vm/jit/show.c (new_show_method): Likewise.
5973         (new_show_variable): Likewise.
5974         
5975         * src/vm/jit/allocator/simplereg.c (local_regalloc): Likewise.
5976         (reg_new_temp_func): Likewise.
5977         (reg_free_temp_func): Likewise.
5978         (new_allocate_scratch_registers): Likewise.
5979         (reg_make_statistics): Likewise.
5980         
5981         * src/vm/jit/i386/emit.c: Likewise.
5982         * src/vm/jit/i386/codegen.c: Likewise.
5983         * src/vm/jit/codegen-common.c: Likewise.
5984
5985 2006-09-11 00:33  edwin
5986
5987         * src/vm/global.h (TYPE_RET): New constant.
5988         
5989         * src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack):
5990         Display TYPE_RET correctly.
5991
5992 2006-09-11 00:30  edwin
5993
5994         * src/vm/jit/jit.h (basicblock): Added fields `inlocals` and
5995         `original` (for JSR elimination).
5996
5997 2006-09-11 00:03  edwin
5998
5999         * tests/regression/jasmin/test_verify_fail_aload_retaddress.j: New
6000         test.
6001         * tests/regression/jasmin/test_verify_fail_ret_uninit_var.j: New
6002         test.
6003         * tests/regression/jasmin/test_verify_ok_jsr_pop.j: New test.
6004         * tests/regression/jasmin/test_verify_ok_jsr_push.j: New test.
6005
6006 2006-09-10 13:51  edwin
6007
6008         * tests/regression/jasmin/runtest: Return correct exit code.
6009
6010 2006-09-10 13:45  edwin
6011
6012         * tests/regression/jasmin/runtest: Delete temporary files.
6013         * tests/regression/jasmin/test_verify_ok_jsr.j: New test.
6014         * tests/regression/jasmin/test_verify_ok_jsr_multiple_blocks.j: New
6015         test.
6016         * tests/regression/jasmin/test_verify_fail_ret_bad_type.j: New test.
6017
6018 2006-09-10 13:43  edwin
6019
6020         * tests/regression/jasmin/runtest: Added harness code for expecting
6021         errors.
6022
6023 2006-09-10 11:35  christian
6024
6025         * src/vm/jit/i386/codegen.c (codegen): Corrected handling of taking
6026         arguments out of stack frame.
6027
6028 2006-09-10 11:20  edwin
6029
6030         * src/vm/jit/stack.c (DUP_SLOT): Removed code for direct coalescing.
6031         (DUP coalescing will be done in simplereg, probably.)
6032
6033 2006-09-10 09:11  edwin
6034
6035         * src/vm/jit/show.c (new_show_method): Use class_print and
6036         class_classref_print for showing the catch type.
6037
6038 2006-09-09 22:33  edwin
6039
6040         * src/vm/jit/stack.c: Fixed macro backslashes.
6041
6042 2006-09-09 22:05  edwin
6043
6044         * src/vm/jit/show.c (new_show_method): Show hexadecimal offsets in
6045         stack slot table.
6046
6047 2006-09-09 21:58  edwin
6048
6049         * src/vm/jit/stack.c (new_stack_analyse): Reset the sd.new pointer at
6050         the beginning of each basic block.
6051
6052 2006-09-09 21:50  edwin
6053
6054         * src/vm/jit/stack.c (new_stack_analyse): Made control-flow easier
6055         to read. The majority of the code is now indented one level too much.
6056         I did not change this, yet, to avoid a giant diff. We can do this
6057         when all the branches are merged together.
6058
6059 2006-09-09 21:41  edwin
6060
6061         * src/vm/jit/stack.c (new_stack_analyse): Combined calls to
6062         stack_create_instack.
6063
6064 2006-09-09 21:33  edwin
6065
6066         * src/vm/jit/jit.h (basicblock): Removed members instack and
6067         outstack.
6068         
6069         * src/vm/jit/stack.c (stack_check_invars): New function.
6070         (stack_create_instack): New function.
6071         (stack_mark_reached): Use new functions.
6072         (new_stack_analyse): Likewise.
6073         
6074         * src/vm/jit/stack.h (COPYCURSTACK): Removed macro.
6075
6076 2006-09-09 20:05  edwin
6077
6078         * src/vm/jit/stack.h (COPYCURSTACK): Do not create invars here.
6079         
6080         * src/vm/jit/stack.c (stack_create_invars): New function.
6081         (stack_mark_reached): Use stack_create_invars.
6082         (new_stack_analyse): Likewise.
6083
6084 2006-09-09 19:37  edwin
6085
6086         * src/vm/jit/jit.h (basicblock): Added fields varstart and varcount.
6087         Reordered fields for clarity and alignment.
6088         
6089         * src/vm/jit/stack.c (new_stack_analyse): Set varstart and varcount
6090         of each basic block.
6091
6092 2006-09-09 19:25  edwin
6093
6094         * src/vm/exceptions.c (exceptions_handle_exception): Added comment on
6095         why we have to do eager resolving here. Check for exceptions while
6096         resolving the catch class reference.
6097         
6098         * src/vm/linker.c (link_class_intern): Resolve exception classes
6099         in handler entries lazily, instead of eagerly.
6100
6101 2006-09-09 14:49  edwin
6102
6103         * src/vm/jit/stack.h (CURKIND): Removed macro.
6104         (CURTYPE): Removed macro.
6105         
6106         * src/vm/jit/stack.c (new_stack_analyse): Removed the single use of
6107         CURKIND.
6108
6109 2006-09-09 14:45  edwin
6110
6111         * src/vm/jit/stack.h (Changes): Added my name.
6112
6113 2006-09-09 14:41  edwin
6114
6115         * src/vm/jit/stack.h (REQUIRE_1, REQUIRE_2, REQUIRE_3, REQUIRE_4):
6116         Removed.
6117         * src/vm/jit/stack.c (new_stack_analyse): Use the general REQUIRE
6118         macro.
6119
6120 2006-09-08 23:59  edwin
6121
6122         * src/vm/jit/stack.c (IS_TEMPVAR): Fix bug spotted
6123         (and produced ;) by c_u.
6124
6125 2006-09-08 20:54  edwin
6126
6127         * src/vm/jit/stack.c (new_stack_analyse): Added some assertion.
6128         When we do a STORE coalescing, the stackslot must have a creator.
6129
6130 2006-09-08 20:50  edwin
6131
6132         * src/vm/jit/stack.c (new_stack_analyse): Unified last_dup_boundary
6133         and last_pei_boundary to coalescing_boundary.
6134         Activated STORE coalescing. Change destination operand of creator, if
6135         any.
6136
6137 2006-09-08 20:41  edwin
6138
6139         * src/vm/jit/stack.h (COPYCURSTACK): Use GET_NEW_VAR.
6140         Removed SET_OUTVAR.
6141         * src/vm/jit/stack.c (GET_NEW_VAR): New macro.
6142         (various macros): Use GET_NEW_VAR, so the variable type is set.
6143         Reset coalescing for non-consuming uses.
6144         (SET_TEMPVAR): Fix: do not use "copy". Change the destination operand
6145         of the creator, if any.
6146         (DST_LOCAL): Activate LOAD coalescing.
6147         (new_stack_analyse): Reset coalescing for pass-through operands.
6148
6149 2006-09-08 19:48  edwin
6150
6151         * src/vm/jit/jit.h (stackelement): Added creator field.
6152         * src/vm/jit/stack.h (COPYCURSTACK): Set creator = NULL.
6153         * src/vm/jit/stack.c (DST, DST_LOCALVAR, MOVE_COPY_UP, COPY_DOWN):
6154         Set creator to current iptr.
6155         * src/vm/jit/stack.h: Cleaned up macros.
6156         * src/vm/jit/stack.c: Likewise.
6157
6158 2006-09-08 18:14  edwin
6159
6160         * src/vm/jit/codegen-common.h: Removed the NEW_VAR define.
6161         * src/vm/jit/stack.c: Likewise.
6162         * src/vm/jit/verify/typecheck.c: Likewise.
6163         * src/vm/jit/i386/codegen.c: Likewise.
6164         * src/vm/jit/parse.c: Likewise.
6165         * src/vm/jit/reg.c: Likewise.
6166         * src/vm/jit/reg.h: Likewise.
6167         * src/vm/jit/jit.c: Likewise.
6168         * src/vm/jit/codegen-common.c: Likewise.
6169         * src/vm/jit/jit.h: Likewise, and removed the dupslots member from
6170         the dst_operand_t union.
6171
6172 2006-09-08 18:12  edwin
6173
6174         * src/vm/jit/show.c (new_show_icmd): Removed code for DUPs.
6175
6176 2006-09-08 17:59  edwin
6177
6178         * src/vm/jit/verify/typecheck.c: Removed code for DUPs.
6179
6180 2006-09-08 17:57  edwin
6181
6182         * src/vm/jit/i386/codegen.c (codegen): Removed code for DUPs.
6183
6184 2006-09-08 17:50  edwin
6185
6186         * src/vm/jit/i386/codegen.c (*LOAD, *STORE): Normalized the source ==
6187         dest check so it always looks the same.
6188         (LLOAD, LSTORE): Use M_LNGMOVE, not M_INTMOVE.
6189         (DSTORE): Combined with FSTORE, because it now has the same code.
6190
6191 2006-09-08 17:37  edwin
6192
6193         * src/vm/jit/i386/codegen.c (codegen): Fix LSTORE: The source == dest
6194         test was broken.
6195
6196 2006-09-08 16:41  edwin
6197
6198         * src/vm/jit/show.c (new_show_method): Fix display of local table.
6199
6200 2006-09-08 16:26  edwin
6201
6202         * src/vm/jit/stack.c (new_stack_analyse): Fix ICMD_RET: The variable
6203         index has to be mapped.
6204
6205 2006-09-08 16:07  edwin
6206
6207         * src/vm/jit/stack.c (DUP_SLOT): Turn off coalescing.
6208         (MOVE_COPY_UP): New macro.
6209         (COPY_DOWN): New macro.
6210         (interface_map): Changed to array of interface_info.
6211         (*STORE): Fix index into last_store_boundary (must be javaindex).
6212         (DUP*, SWAP): Eliminate DUPs.
6213         (new_stack_analyse): Mark invar interfaces used.
6214         
6215         * src/vm/jit/show.c (new_show_method): Adapted to new
6216         interface_map layout.
6217         
6218         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Adapted
6219         to new interface_map layout.
6220         (new_allocate_scratch_registers): Likewise.
6221         (new_allocate_scratch_registers): Removed code for DUP* instructions.
6222         (ICMD_MOVE, ICMD_COPY): Added.
6223
6224 2006-09-08 16:02  edwin
6225
6226         * src/vm/jit/i386/codegen.h (M_FLTMOVE): Only assert(0) if move would
6227         have to be performed.
6228
6229 2006-09-08 14:17  edwin
6230
6231         * src/vm/jit/show.c (show_variable): Check for invalid flags.
6232
6233 2006-09-08 14:16  edwin
6234
6235         * src/vm/jit/i386/codegen.c (codegen): Removed a debug print.
6236
6237 2006-09-08 14:15  edwin
6238
6239         * src/vm/jit/stack.c (DST_LOCALVAR): _Really_ turn off coalescing
6240         temporarily.
6241
6242 2006-09-08 12:19  edwin
6243
6244         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Changed
6245         allocation of interface registers. interface_map now contains the
6246         necessary flags, and receives a combination of allocated flags
6247         and regoff.
6248         
6249         (new_allocate_scratch_registers): Copy the allocation of the
6250         invars and outvars for each basic block.
6251
6252 2006-09-08 12:17  edwin
6253
6254         * src/vm/jit/jit.h (LOCAL_UNUSED): Changed (in comment) to UNUSED.
6255
6256 2006-09-08 12:16  edwin
6257
6258         * src/vm/jit/stack.c (stackdata_t): New struct for keeping internal
6259         data of the stack analysis. This is necessary for converting macros
6260         to functions.
6261         (various macros): Adapted to use stackdata_t. Removed old code.
6262         (DST_LOCALVAR): Temporarily turned off local variable coalescing.
6263         (MARKREACHED): Converted to a function.
6264         (stack_mark_reached): New function.
6265         (last_store_boundary): Use java indices instead of internal local
6266         indices into this table.
6267         (new_stack_analyse): Removed old code.
6268         
6269         * src/vm/jit/stack.h (various macros): Adapted to use stackdata_t.
6270         (MARKREACHED): Converted to a function.
6271
6272 2006-09-08 12:10  edwin
6273
6274         * src/vm/jit/parse.h: Removed old code.
6275         * src/vm/jit/parse.c (new_parse): Do not modify m->maxlocals and
6276         cd->maxlocals.
6277         They refer to the number of javalocals, and that's ok. We have
6278         jd->localcount
6279         to keep the number of internal locals.
6280
6281 2006-09-08 12:07  edwin
6282
6283         * src/vm/jit/show.c (new_show_method): Show isleafmethod.
6284         (new_show_method): Pretty interface map printing (prepared for
6285         interface register allocation changes).
6286         (new_show_method): Print allocation of stack slots.
6287         (show_allocation): New function.
6288         (show_variable): Mark SAVEDVARs with an exclamation mark.
6289
6290 2006-09-08 01:05  edwin
6291
6292         * src/vm/jit/show.c (new_show_method): Only show local table if there
6293         are locals.
6294
6295 2006-09-07 23:17  edwin
6296
6297         * src/vm/jit/show.c (jit_type): Made types uppercase.
6298         (new_show_method): Prettier printing of locals_map and interface_map.
6299         (SHOW_STACKVAR): Renamed to SHOW_VARIABLE.
6300         (new_show_stackvar): Renamed to show_variable. Cleaned up.
6301
6302 2006-09-07 22:44  edwin
6303
6304         * src/vm/jit/allocator/simplereg.c (reg_new_temp_func): Removed old
6305         version.
6306         (reg_free_temp_func): Likewise.
6307         (allocate_scratch_registers): Likewise.
6308
6309 2006-09-07 22:39  edwin
6310
6311         * src/vm/jit/allocator/simplereg.c (reg_alloc_dup): Removed.
6312         (new_reg_mark_copy): Likewise.
6313
6314 2006-09-07 14:41  edwin
6315
6316         * src/vm/jit/i386/codegen.c (ICMD_COPY): Added.
6317         (ICMD_MOVE): Likewise.
6318
6319 2006-09-07 14:38  edwin
6320
6321         * src/vm/jit/reg.h (varinfo): New field copycount.
6322         * src/vm/jit/parse.c (new_parse): Zero jd->var array.
6323
6324 2006-09-07 14:31  edwin
6325
6326         * src/vm/jit/parse.c (new_parse): Allocate extra NOPs for stack
6327         operations.
6328
6329 2006-09-07 14:25  edwin
6330
6331         * src/vm/jit/show.c (ICMD_COPY): Uncommented.
6332         (ICMD_MOVE): Likewise.
6333
6334 2006-09-07 14:24  edwin
6335
6336         * src/vm/jit/jit.h, src/vm/jit/jit.c (ICMD_COPY): New ICMD.
6337         (ICMD_MOVE): Likewise.
6338
6339 2006-09-07 14:00  christian
6340
6341         * src/vm/jit/allocator/simplreg: Removed #if defined(NEW_VAR) over
6342         some functions.
6343
6344 2006-09-07 13:41  edwin
6345
6346         * src/vm/jit/jit.c (ENABLE_VERIFY): Corrected to ENABLE_VERIFIER.
6347
6348 2006-09-07 13:29  christian
6349
6350         Unified variables changes for common/i386.
6351
6352 2006-09-07 13:01  edwin
6353
6354         Branch for developing unified variables.
6355
6356 2006-09-07 12:52  twisti
6357
6358         * src/vm/jit/i386/emit.c: Use IS_INMEMORY macro.
6359         * src/vm/jit/i386/codegen.c: Likewise.
6360
6361 2006-09-07 12:26  twisti
6362
6363         * src/vm/jit/powerpc/codegen.c (codegen): Use IS_INMEMORY macro.
6364
6365 2006-09-07 12:24  twisti
6366
6367         * src/vm/jit/powerpc/emit.c (emit_copy): Eliminate register move if
6368         one of the variables resides in memory.
6369
6370 2006-09-07 11:14  twisti
6371
6372         * src/vm/jit/alpha/emit.c (emit_copy): Only one not-equal comparison.
6373
6374 2006-09-07 11:09  twisti
6375
6376         * src/vm/jit/powerpc64/emit.c (emit_copy): Eliminate register move if
6377         one of the variables resides in memory.
6378
6379 2006-09-07 10:59  twisti
6380
6381         * src/vm/jit/mips/emit.c (emit_copy): Eliminate register move if one
6382         of the variables resides in memory.
6383
6384 2006-09-07 10:46  twisti
6385
6386         * src/vm/jit/i386/emit.c (emit_copy): Eliminate register move if one
6387         of the variables resides in memory.
6388
6389 2006-09-07 10:16  twisti
6390
6391         * src/vm/jit/x86_64/emit.c (emit_copy): Eliminate register move if one
6392         of the variables resides in memory.
6393
6394 2006-09-07 10:03  twisti
6395
6396         * src/vm/jit/alpha/emit.c (emit_copy): Eliminate register move if one
6397         of the variables resides in memory.
6398
6399 2006-09-07 09:40  twisti
6400
6401         * src/vm/jit/jit.h (IS_SAVEDVAR): Added.
6402         (IS_INMEMORY): Likewise.
6403
6404 2006-09-07 00:32  edwin
6405
6406         * src/vm/jit/show.c (new_show_icmd): Separate real arguments and
6407         pass-through variables for INVOKE*.
6408
6409 2006-09-07 00:29  edwin
6410
6411         * src/vm/jit/show.c (new_show_icmd): Separate real arguments and
6412         pass-through variables for BUILTIN.
6413
6414 2006-09-06 23:18  twisti
6415
6416         * src/vm/jit/powerpc64/linux/md-abi.h: Bugfixes and changes for new
6417         instruction format.
6418         * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
6419         * src/vm/jit/powerpc64/emit.c: Likewise.
6420         * src/vm/jit/powerpc64/codegen.c: Likewise.
6421         * src/vm/jit/powerpc64/codegen.h: Likewise.
6422
6423 2006-09-06 22:34  twisti
6424
6425         * src/vm/jit/mips/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
6426         Defined.
6427         * src/vm/jit/mips/codegen.c: Use REG_A? defines instead of
6428         rd->argintreg[] loads.
6429
6430 2006-09-06 22:16  twisti
6431
6432         * src/vm/jit/alpha/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
6433         Defined.
6434         * src/vm/jit/alpha/codegen.c: Use REG_A? defines instead of
6435         rd->argintreg[] loads.
6436
6437 2006-09-06 21:56  twisti
6438
6439         * src/vm/jit/x86_64/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
6440         Defined.
6441         * src/vm/jit/x86_64/codegen.c: Use REG_A? defines instead of
6442         rd->argintreg[] loads.
6443
6444 2006-09-06 21:40  twisti
6445
6446         * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete precedessor
6447         calucation.
6448
6449 2006-09-06 21:32  edwin
6450
6451         * tests/regression/jasmin/test_dup_x2.j: Split second test into
6452         separate file.
6453         * tests/regression/jasmin/test_dup_x2_to_dup_x1: New test.
6454
6455 2006-09-06 21:30  edwin
6456
6457         * tests/regression/jasmin/runtest: Improved harness script.
6458
6459 2006-09-06 21:17  twisti
6460
6461         * src/vm/jit/powerpc/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
6462         Defined.
6463         * src/vm/jit/powerpc/darwin/md-abi.h: Likewise.
6464         
6465         * src/vm/jit/powerpc/codegen.c: Use REG_A? defines instead of
6466         rd->argintreg[] loads.
6467
6468 2006-09-06 17:05  twisti
6469
6470         * src/vm/jit/mips/codegen.c (codegen): Generate the INVOKE/BUILTIN
6471         call code in a common place.
6472
6473 2006-09-06 16:43  twisti
6474
6475         * src/vm/jit/x86_64/codegen.c (codegen): Generate the INVOKE/BUILTIN
6476         call code in a common place.
6477
6478 2006-09-06 16:41  twisti
6479
6480         * src/vm/jit/i386/codegen.c (codegen): Don't move the function address
6481         into disp for ICMD_BUILTIN.
6482
6483 2006-09-06 16:30  twisti
6484
6485         * src/vm/jit/i386/codegen.c (codegen): Generate the INVOKE/BUILTIN
6486         call code in a common place.
6487         (createnativestub): Removed unused disp variable.
6488
6489 2006-09-06 16:24  twisti
6490
6491         * src/vm/jit/alpha/codegen.c (codegen): Generate the INVOKE/BUILTIN
6492         call code in a common place.
6493
6494 2006-09-06 16:06  twisti
6495
6496         * src/vm/jit/powerpc/codegen.c (codegen): Generate the INVOKE/BUILTIN
6497         call code in a common place.
6498
6499 2006-09-06 16:01  edwin
6500
6501         * src/vm/jit/jit.h (INS_FLAG_NOCHECK): Reversed to INS_FLAG_CHECK.
6502         * src/vm/jit/stack.c: Likewise.
6503         * src/vm/jit/stack.h: Likewise.
6504         * src/vm/jit/parse.c: Likewise.
6505         * src/vm/jit/parse.h: Likewise.
6506
6507 2006-09-06 15:22  edwin
6508
6509         * src/vm/jit/parse.h (INSTRUCTIONS_CHECK): New macro.
6510         * src/vm/jit/parse.c (new_parse): Merged twisti's reallocation of the
6511         instruction array.
6512
6513 2006-09-06 14:38  twisti
6514
6515         * src/vm/jit/alpha/codegen.c (ICMD_I2L): Use REG_ITMP1 for dst, this
6516         can save a move.
6517         (ICMD_LDIV, ICMD_LREM): Use argument registers for s1 and s2 when
6518         loaded.
6519
6520 2006-09-06 14:32  edwin
6521
6522         Checked in jasmin tests.
6523
6524 2006-09-06 14:01  edwin
6525
6526         * src/vm/jit/parse.c (parserdata_t): New type.
6527         (parse_setup): New function.
6528         (parse_check_instructions): New function.
6529
6530 2006-09-06 13:46  christian
6531
6532         * src/vm/jit/stack.c (new_stack_analyse): Ifdeffed handling of new var
6533         system.
6534         
6535         * src/vm/jit/stack.h: Likewise.
6536         
6537         * src/vm/jit/parse.c (new_parse) : Likewise.
6538         
6539         * src/vm/jit/parse.h: Likewise.
6540         
6541         * src/vm/jit/jit.h: Ifdeffed structure entries for new var system.
6542
6543 2006-09-06 12:37  twisti
6544
6545         * src/vm/jit/powerpc/codegen.c (codegen): Use M_ISUB in ICMD_ISUBCONST
6546         instead of M_IADD.
6547
6548 2006-09-06 11:58  twisti
6549
6550         * src/vm/jit/mips/emit.c (emit_copy): Removed accidentally pasted
6551         code.
6552
6553 2006-09-06 11:12  edwin
6554
6555         * src/vm/jit/stack.h: Removed macros for old instruction format.
6556
6557 2006-09-06 11:01  edwin
6558
6559         * src/vm/jit/parse.h: Removed NEW_ prefix from macros.
6560         * src/vm/jit/parse.c: Likewise.
6561
6562 2006-09-06 10:56  edwin
6563
6564         * src/vm/jit/stack.h (CHECKOVERFLOW): Removed.
6565         (NEW_CHECKOVERFLOW): Renamed to CHECKOVERFLOW.
6566         
6567         * src/vm/jit/stack.c (new_stack_analyse): Removed NEW_ prefix from
6568         macro names.
6569
6570 2006-09-06 10:48  edwin
6571
6572         * src/vm/jit/x86_64/emit.c: Renamed new_instruction to instruction.
6573         * src/vm/jit/x86_64/md-emit.h: Likewise.
6574         * src/vm/jit/x86_64/codegen.c: Likewise.
6575
6576 2006-09-06 10:20  christian
6577
6578         * src/vm/stack.c (new_stack_analyse): Removed assert to check, that
6579         all outvars are STACKVARS. Would be a possible conflict with swap
6580         
6581         * src/vm/parse.c (new_parse): Data colletion for local var
6582         renaming(de-coalescing)
6583         
6584         * src/vm/parse.h (new_pase): Likewise.
6585         
6586         * src/vm/jit.h: Likewise.
6587         
6588         * src/vm/jit/i386/codegen.c (codegen): Ifdefed interface copy in
6589         regard to new
6590         var system.
6591
6592 2006-09-06 10:16  edwin
6593
6594         * src/vm/jit/mips/emit.c (emit_load_s1): Removed obsolete src param.
6595         (emit_load_s2): Likewise.
6596         (emit_load_s3): Likewise.
6597
6598 2006-09-06 10:14  edwin
6599
6600         * src/vm/jit/powerpc64/emit.c (emit_load): New function.
6601         (emit_load_s1): Implemented in terms of emit_load.
6602         (emit_load_s2): Likewise.
6603         (emit_load_s3): Likewise.
6604         (emit_store_dst): New function.
6605
6606 2006-09-06 10:09  edwin
6607
6608         * src/vm/jit/mips/emit.c (emit_load): New function.
6609         (emit_load_s1): Implemented in terms of emit_load.
6610         (emit_load_s2): Likewise.
6611         (emit_load_s3): Likewise.
6612         (emit_store_dst): New function.
6613
6614 2006-09-06 09:57  edwin
6615
6616         * src/vm/jit/stack.c (new_stack_analyse): Implement conflict checking
6617         and coalescing for *STORE.
6618         * src/vm/jit/show.c (new_show_stackvar): Show coalescing info.
6619
6620 2006-09-06 00:18  christian
6621
6622         * src/vm/jit/stack.c (new_stack_analyse): Mark all in and out
6623         Stackslots of Basic Blocks as STACKVAR.
6624         
6625         * src/vm/jit/i386/codegen.c (codegen): Removed copy of interfaces
6626         to in and from out stackslots.
6627
6628 2006-09-06 00:07  edwin
6629
6630         * src/vm/jit/powerpc64/codegen.c (codegen): ++lookup in LOOKUPSWITCH
6631         loop.
6632         * src/vm/jit/powerpc64/codegen.c (codegen): Ported to new instruction
6633         format.
6634
6635 2006-09-05 23:37  edwin
6636
6637         * src/vm/jit/i386/codegen.c (codegen): Port LASTORECONST, PUT*CONST.
6638
6639 2006-09-05 23:10  edwin
6640
6641         * src/vm/jit/mips/codegen.c (codegen): Ported to new instruction
6642         format.
6643
6644 2006-09-05 23:08  twisti
6645
6646         * src/vm/jit/powerpc/emit.c: Updated to new instruction format.
6647         * src/vm/jit/powerpc/codegen.c: Likewise.
6648
6649 2006-09-05 23:07  twisti
6650
6651         * src/vm/builtin.c (builtin_print_argument): Print decimal values for
6652         int and long arguments.
6653
6654 2006-09-05 22:51  christian
6655
6656         * i386/emit.c: Changed to new instruction format.
6657         * i386/codegen.c: Likewise.
6658         * i386/codegen.h: Likewise.
6659         * parse.c: Likewise.
6660         * parse.h: Likewise.
6661         * jit.h: Likewise.
6662
6663 2006-09-05 22:42  edwin
6664
6665         * src/vm/jit/show.c (new_show_icmd): Show LOOKUPSWITCH targets.
6666
6667 2006-09-05 22:27  edwin
6668
6669         * src/vm/jit/alpha/codegen.c (codegen): Port MULTIANEWARRAY.
6670
6671 2006-09-05 22:23  edwin
6672
6673         * sarc/vm/jit/parse.c (parse): Check return value of
6674         lock_monitor_enter.
6675
6676 2006-09-05 22:22  edwin
6677
6678         * src/threads/native/lock.h (lock_monitor_enter): Return bool.
6679         * src/threads/native/lock.c (lock_monitor_enter): Check for
6680         NullPointerException.
6681
6682 2006-09-05 22:05  twisti
6683
6684         * src/vm/jit/cfg.c (cfg_build): It's better to not reuse the loop
6685         variable.
6686
6687 2006-09-05 21:53  edwin
6688
6689         * src/vm/jit/show.c (new_show_icmd): Show BLOCK_OF tableswitch
6690         targets.
6691
6692 2006-09-05 21:50  edwin
6693
6694         * src/vm/jit/show.c (new_show_icmd): Show TABLESWITCH targets.
6695
6696 2006-09-05 21:20  edwin
6697
6698         * src/vm/jit/alpha/codegen.c (codegen): Port ICMD_CHECKCAST.
6699
6700 2006-09-05 21:20  twisti
6701
6702         * src/vm/method.h (methodinfo): Removed members basicblockcount,
6703         basicblocks, basicblockindex, instructioncount, instructions,
6704         stackcount, and stack.
6705         
6706         * src/vm/jit/cfg.c: Use jitdata variables instead of methodinfo ones.
6707         * src/vm/jit/reorder.c: Likewise.
6708         * src/vm/jit/ifconv/ifconv.c: Likewise.
6709         * src/vm/jit/allocator/simplereg.c: Likewise.
6710         * src/vm/jit/replace.c: Likewise.
6711         * src/vm/jit/jit.c: Likewise.
6712
6713 2006-09-05 21:17  twisti
6714
6715         * src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added
6716         accidentally removed codegen.c.
6717
6718 2006-09-05 21:16  twisti
6719
6720         * src/vm/jit/x86_64/codegen.c (codegen): Use d for return type checks.
6721
6722 2006-09-05 21:15  twisti
6723
6724         * src/cacaoh/headers.c: Use a dummy flag for natively overloaded
6725         methods.
6726
6727 2006-09-05 21:14  edwin
6728
6729         * src/vm/jit/alpha/codegen.c (codegen): Deactivate replacement points.
6730         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
6731
6732 2006-09-05 21:06  edwin
6733
6734         * src/vm/jit/alpha/codegen.c (codegen): Set fieldtype in all cases.
6735
6736 2006-09-05 20:58  edwin
6737
6738         * src/vm/jit/show.c (new_show_basicblock): Prettier if.
6739
6740 2006-09-05 20:57  edwin
6741
6742         * src/vm/jit/alpha/codegen.c (codegen): Use jd->new_basicblocks.
6743
6744 2006-09-05 20:50  edwin
6745
6746         * src/vm/jit/alpha/codegen.c: Use invars/outvars instead of
6747         instack/outstack.
6748
6749 2006-09-05 20:17  edwin
6750
6751         * src/vm/jit/alpha/codegen.c (codegen): Port handling of INVOKE*
6752         arguments.
6753
6754 2006-09-05 20:11  edwin
6755
6756         * src/vm/jit/alpha/emit.c: Ported to new instruction format.
6757         * src/vm/jit/alpha/codegen.c: Likewise.
6758
6759 2006-09-05 19:38  twisti
6760
6761         * src/vm/jit/jit.h (instruction): Removed.
6762         (new_instruction): Renamed to instruction.
6763         
6764         * src/vm/builtin.c: Renamed new_instruction to instruction.
6765         * src/vm/builtin.h: Likewise.
6766         * src/vm/resolve.c: Likewise.
6767         * src/vm/resolve.h: Likewise.
6768         * src/vm/jit/powerpc/emit.c: Likewise.
6769         * src/vm/jit/powerpc/Makefile.am: Likewise.
6770         * src/vm/jit/codegen-common.h: Likewise.
6771         * src/vm/jit/cfg.c: Likewise.
6772         * src/vm/jit/reorder.c: Likewise.
6773         * src/vm/jit/emit.h: Likewise.
6774         * src/vm/jit/stack.c: Likewise.
6775         * src/vm/jit/stack.h: Likewise.
6776         * src/vm/jit/show.c: Likewise.
6777         * src/vm/jit/dseg.c: Likewise.
6778         * src/vm/jit/verify/typecheck.c: Likewise.
6779         * src/vm/jit/verify/typeinfo.c: Likewise.
6780         * src/vm/jit/show.h: Likewise.
6781         * src/vm/jit/allocator/simplereg.c: Likewise.
6782         * src/vm/jit/parse.c: Likewise.
6783         * src/vm/jit/codegen-common.c: Likewise.
6784
6785 2006-09-05 19:06  edwin
6786
6787         * src/vm/jit/powerpc/codegen.c (codegen): Converted with
6788         portcodegen.pl.
6789         * src/vm/jit/sparc64/codegen.c (codegen): Likewise.
6790         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
6791         * src/vm/jit/mips/codegen.c (codegen): Likewise.
6792         * src/vm/jit/i386/codegen.c (codegen): Likewise.
6793         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
6794
6795 2006-09-05 18:43  edwin
6796
6797         Merge changes from trunk (powerpc64).
6798
6799 2006-09-05 17:42  edwin
6800
6801         * src/vm/jit/powerpc/codegen.c (codegen): Use emit_load instead of
6802         emit_load_s1/s2 for variable arguments and interface copying.
6803         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
6804         * src/vm/jit/mips/codegen.c (codegen): Likewise.
6805         * src/vm/jit/i386/codegen.c (codegen): Likewise.
6806         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
6807
6808 2006-09-05 17:21  edwin
6809
6810         Merged changes from trunk.
6811
6812 2006-09-05 16:45  edwin
6813
6814         * src/vm/jit/powerpc/codegen.c (codegen): ICMD_PUTSTATIC: Use
6815         emit_load_s1 to load the first operand.
6816         * src/vm/jit/sparc64/codegen.c (codegen): Likewise.
6817         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
6818         * src/vm/jit/mips/codegen.c (codegen): Likewise.
6819         * src/vm/jit/i386/codegen.c (codegen): Likewise.
6820         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
6821
6822 2006-09-05 16:12  edwin
6823
6824         * src/vm/jit/jit.h (basicblock): Changed type of iinstr to
6825         new_instruction *.
6826         * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete casts.
6827         * src/vm/jit/show.c (new_show_basicblock): Likewise.
6828         * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
6829         * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
6830         Likewise.
6831         * src/vm/jit/parse.c (new_parse): Likewise.
6832         * src/vm/jit/x86_64/codegen.c (new_parse): Likewise.
6833
6834 2006-09-05 12:42  edwin
6835
6836         * src/vm/jit/jit.h (s3_operand_t): Removed arrayvftbl.
6837         * src/vm/jit/x86_64/codegen.c (codegen): ICMD_MULTIANEWARRAY:
6838         Use s3.c.cls instead of s3.arrayvftbl.
6839
6840 2006-09-05 12:29  edwin
6841
6842         * src/vm/jit/jit.h (jitdata): Removed field new_rd.
6843         * src/vm/jit/jit.c (jit_compile): Use rd instead of new_rd.
6844         (jit_compile_intern): Likewise.
6845         * src/vm/jit/verify/typecheck.c (typecheck): Likewise.
6846         (verify_basic_block): Removed unused variables.
6847         * src/vm/jit/allocator/simplereg.c (new_regalloc):
6848         Use rd instead of new_rd.
6849         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
6850
6851 2006-09-05 11:53  edwin
6852
6853         * src/vm/jit/x86_64/codegen.c: Ported to new instruction format.
6854         * src/vm/jit/x86_64/emit.c: Likewise.
6855         * src/vm/jit/x86_64/md-emit.h: Likewise.
6856
6857 2006-09-05 11:50  edwin
6858
6859         * src/vm/jit/jit.h (s3_operand_t): Added union field arrayvftbl.
6860
6861 2006-09-05 11:47  edwin
6862
6863         * src/vm/jit/jit.c (jit_compile): Test setup for the new x86_64
6864         codegen.
6865         (jit_compile_intern): Likewise.
6866
6867 2006-09-05 11:42  edwin
6868
6869         * src/vm/jit/emit.h (emit_load*): Changed for new instruction format.
6870         (emit_store*): Likewise.
6871         (emit_copy*): Likewise.
6872         (emit_store_dst): New function.
6873
6874 2006-09-05 11:40  edwin
6875
6876         * src/vm/jit/jit.h (basicblock): Added fields invars and outvars.
6877         * src/vm/jit/stack.h (MARKREACHED): Set invars.
6878         * src/vm/jit/stack.c (new_stack_analyse): Set invars and outvars.
6879         * src/vm/jit/show.c (new_show_basicblock): Show invars and outvars.
6880
6881 2006-09-05 11:34  edwin
6882
6883         * src/vm/jit/jit.h (NEW_INSTRUCTION_*): Renamed to INSTRUCTION_.
6884         The old INSTRUCTION_ and ICMD_ macros are removed.
6885         * src/vm/resolve.c (NEW_INSTRUCTION_*): Replaced with INSTRUCTION_.
6886         * src/vm/jit/show.c (new_show_icmd): Likewise.
6887         * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
6888         Likewise.
6889         * src/vm/jit/stack.c (new_stack_analyse): Likewise, and add a call
6890         of builtintable_replace_function.
6891
6892 2006-09-05 11:20  edwin
6893
6894         * src/vm/jit/verify/typecheck.c: Ported to new instruction format.
6895         * src/vm/jit/verify/typeinfo.c (typeinfo_print): Likewise.
6896         (typeinfo_print_short): Likewise.
6897
6898 2006-09-05 11:16  edwin
6899
6900         * src/vm/builtin.h (builtintable_replace_function): Ported to new
6901         instruction format.
6902         * src/vm/builtin.c (builtintable_replace_function): Likewise.
6903
6904 2006-09-05 11:13  edwin
6905
6906         * src/vm/jit/show.c (new_show_variable_array): New function.
6907         (new_show_method): Fixed calculation of lastbptr.
6908         Only show code lengths if stage >= SHOW_CODE.
6909
6910 2006-09-05 10:52  edwin
6911
6912         * src/vm/resolve.h: Removed code for old instruction format.
6913         * src/vm/resolve.c: Likewise.
6914
6915 2006-09-05 10:47  edwin
6916
6917         * src/vm/jit/allocator/simplereg.h: Removed code for old instruction
6918         format.
6919         * src/vm/jit/allocator/simplereg.c: Likewise.
6920
6921 2006-09-05 10:44  edwin
6922
6923         * src/vm/jit/show.h: Removed code for old instruction format.
6924         * src/vm/jit/show.c: Likewise.
6925
6926 2006-09-05 10:39  edwin
6927
6928         * src/vm/jit/stack.h: Removed code for old instruction format.
6929         * src/vm/jit/stack.c: Likewise.
6930
6931 2006-09-05 10:37  edwin
6932
6933         * src/vm/jit/parse.h: Removed code for old instruction format.
6934         * src/vm/jit/parse.c: Likewise.
6935
6936 2006-09-05 10:20  edwin
6937
6938         Branch for porting the new instruction format.
6939
6940 2006-09-05 10:15  twisti
6941
6942         * src/vm/jit/i386/Makefile.am (noinst_HEADERS): Removed
6943         icmd_uses_reg_res.inc.
6944
6945 2006-09-05 10:10  twisti
6946
6947         * src/vm/jit/i386/icmd_uses_reg_res.inc: Removed.
6948
6949 2006-09-05 10:09  edwin
6950
6951         * src/vm/jit/x86_64/codegen.h (ICONST): Fix this macro so it properly
6952         uses its arguments.
6953         (LCONST): Likewise.
6954
6955 2006-09-05 10:04  twisti
6956
6957         * src/tests/Howdy.java: Removed.
6958
6959 2006-09-05 10:03  twisti
6960
6961         * src/vm/jit/x86_64/codegen.c (codegen): Use cd->stackframesize
6962         instead of stackframesize (bugfix).
6963         (createnativestub): Likewise.
6964
6965 2006-09-05 09:59  edwin
6966
6967         * src/vm/jit/codegen-common.h (codegen_reg_of_dst): New function.
6968         * src/vm/jit/codegen-common.c (codegen_reg_of_dst): Likewise.
6969         Right now this duplicates codegen_reg_of_var's body. We should
6970         probably make one of these functions inline the other.
6971
6972 2006-09-05 00:12  edwin
6973
6974         * src/vm/jit/ifconv/ifconv.c (ifconv_static): Deactivated
6975         show_basicblock calls that will become a problem when code for the
6976         old instruction format is removed.
6977         (check): Likewise.
6978
6979 2006-09-05 00:02  edwin
6980
6981         * src/vm/resolve.c (resolve_field): new_resolve_field_verifier_checks
6982         used instead of the old function that will be removed soon.
6983         (resolve_method): Use new_resolve_method_verifier_checks instead of
6984         the
6985         old function that will be removed soon.
6986         (new_resolve_method_verifier_checks): Port handling of
6987         TYPEINFO_IS_NEWOBJECT.
6988         (new_resolve_method_verifier_checks): Likewise.
6989         (new_constrain_unresolved_field): Likewise.
6990         (new_constrain_unresolved_method): Likewise.
6991
6992 2006-09-04 23:24  edwin
6993
6994         * src/vm/jit/parse.c (new_parse): Changed leftover "OP" macro uses
6995         to "NEW_OP".
6996
6997 2006-09-04 17:45  twisti
6998
6999         * src/vm/jit/mips/emit.c (config.h): Added.
7000         [ENABLE_THREADS] (threads/native/lock.h): Likewise.
7001         (vm/exceptions.h): Likewise.
7002         (vm/stringlocal.h): Likewise.
7003         (vm/jit/asmpart.h): Likewise.
7004         (vm/jit/dseg.h): Likewise.
7005         (vm/jit/replace.h): Likewise.
7006         (emit_exception_stubs): New method.
7007         (emit_patcher_stubs): Likewise.
7008         (emit_replacement_stubs): Likewise.
7009         
7010         * src/vm/jit/mips/codegen.c (codegen): Use cd->stackframesize instead
7011         of stackframesize, use emit functions to generate stubs and call trace
7012         code.
7013         (createnativestub): Likewise.
7014
7015 2006-09-04 17:12  christian
7016
7017         * src/vm/jit/alpha/patcher.c (patcher_wrapper): Patch back machine
7018         code.
7019         (patcher_aconst): Renamed to patcher_resolve_classref_to_classinfo.
7020         (patcher_clinit): Renamed to patcher_initialize_class.
7021         (patcher_resolve_native): Renamed to patcher_resolve_native_function.
7022         (patcher_athrow_areturn): Renamed to patcher_resolve_class.
7023         (patcher_checkcast_instanceof_class): Renamed to
7024         patcher_resolve_classref_to_vftbl.
7025         (patcher_checkcast_instanceof_flags): Renamed to
7026         patcher_resolve_classref_to_flags.
7027         (patcher_builtin_multianewarray): Removed.
7028         (patcher_builtin_arraycheckcast): Likewise.
7029         
7030         * src/vm/jit/alpha/codegen.c (codegen): Use new patcher functions.
7031
7032 2006-09-04 16:33  twisti
7033
7034         * src/vm/jit/alpha/emit.c (vm/builtin.h): Added.
7035         (vm/jit/abi-asm.h): Likewise.
7036         (vm/jit/replace.h): Likewise.
7037         (emit_verbosecall_enter): New method.
7038         (emit_verbosecall_exit): Likewise.
7039         
7040         * src/vm/jit/alpha/codegen.c (codegen): Use emit functions to generate
7041         call trace code.
7042         (createnativestub): Likewise.
7043
7044 2006-09-04 15:48  twisti
7045
7046         * src/vm/jit/powerpc/emit.c (config.h): Added.
7047         [ENABLE_THREADS] (threads/native/lock.h): Likewise.
7048         (vm/builtin.h): Likewise.
7049         (vm/jit/abi-asm.h): Likewise.
7050         (vm/jit/asmpart.h): Likewise.
7051         (vm/jit/replace.h): Likewise.
7052         (emit_exception_stubs): New method.
7053         (emit_patcher_stubs): Likewise.
7054         (emit_replacement_stubs): Likewise.
7055         (emit_verbosecall_enter): Likewise.
7056         (emit_verbosecall_exit): Likewise.
7057         
7058         * src/vm/jit/powerpc/codegen.c (codegen): Use emit functions to
7059         generate stubs and call trace code.
7060         (createnativestub): Likewise.
7061
7062 2006-09-04 14:21  twisti
7063
7064         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): We don't save
7065         an argument on the stack anymore, offsets adjusted.
7066         (asm_handle_exception): Use md_codegen_get_pv_from_pc instead of
7067         assembler code and temporary variables as on other RISC architectures.
7068
7069 2006-09-04 12:38  tbfg
7070
7071         * src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter): Fixed off
7072         by one stackslot overwrite some stuff bug.
7073         
7074         * src/vm/jit/powerpc64/codegen.c (codegen): Fix parameter passing
7075         in.
7076
7077 2006-09-02 14:26  tbfg
7078
7079         * src/vm/jit/powerpc64/arch.h: Reenabled platfrom features.
7080         
7081         * src/vm/jit/powerpc64/codegen.c (codegen): Fixed native calls.
7082         (createnativestub): Likewise.
7083
7084 2006-08-31 19:58  tbfg
7085
7086         * srv/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Fixed argument
7087         handling.
7088
7089 2006-08-31 13:32  tbfg
7090
7091         * src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter): Moved from
7092         codegen.c refactored into function, and made it work.
7093         (emit_verbosecall_exit): Likewise.
7094         
7095         * src/vm/jit/powerpc64/codegen.c (codegen_trace_args): Moved into
7096         emit.c and renamed it to emit_verbosecall_enter.
7097         (codegen): Using emit_verbosecall_* instead of inline code, and
7098         various fixes to make verbose:call work.
7099         (createnativestub): Likewise.
7100
7101 2006-08-28 19:31  tbfg
7102
7103         * src/vm/jit/powerpc64/linux/md-abi.h: New REG_TOC name needed to
7104         call builtins due to ppc64 function descriptors (ELF ABI).
7105         
7106         * src/vm/jit/powerpc64/codegen.c (createnativestub): Big endian
7107         requires M_LLD and M_IST to copy s4 values from dseg to stack.
7108         (codegen): gen_method needs to create function descriptor call.
7109         
7110         * src/vm/jit/powerpc64/asmpart.S: When linking statically
7111         non function descriptor calls are generated by compiler.
7112         Some ifdefs added to fix static linking.
7113
7114 2006-08-28 15:18  twisti
7115
7116         * src/vm/jit/patcher.h (patcher_resolve_class): Added.
7117         (patcher_initialize_class): Likewise.
7118         (patcher_resolve_classref_to_classinfo): Likewise.
7119         (patcher_resolve_classref_to_vftbl): Likewise.
7120         (patcher_resolve_classref_to_flags): Likewise.
7121         (patcher_resolve_native_function): Likewise.
7122         
7123         * src/vm/jit/powerpc/patcher.c (patcher_wrapper): Patch back machine
7124         code.
7125         (patcher_aconst): Renamed to patcher_resolve_classref_to_classinfo.
7126         (patcher_clinit): Renamed to patcher_initialize_class.
7127         (patcher_resolve_native): Renamed to patcher_resolve_native_function.
7128         (patcher_athrow_areturn): Renamed to patcher_resolve_class.
7129         (patcher_checkcast_class): Renamed to
7130         patcher_resolve_classref_to_vftbl.
7131         (patcher_checkcast_instanceof_flags): Renamed to
7132         patcher_resolve_classref_to_flags.
7133         (patcher_builtin_multianewarray): Removed.
7134         (patcher_builtin_arraycheckcast): Likewise.
7135         (patcher_instanceof_class): Likewise.
7136         
7137         * src/vm/jit/powerpc/codegen.c (codegen): Use new patcher functions
7138         (some of them were already commited accidentally in the last commit).
7139
7140 2006-08-28 13:05  twisti
7141
7142         * src/vm/jit/emit.h (emit_verbosecall_enter): Added.
7143         (emit_verbosecall_exit): Likewise.
7144         
7145         * src/vm/jit/powerpc/emit.c (vm/builtin.h): Added.
7146         (vm/jit/asmpart.h): Likewise.
7147         (vm/jit/replace.h): Likewise.
7148         (emit_exception_stubs): New method.
7149         (emit_patcher_stubs): Likewise.
7150         (emit_replacement_stubs): Likewise.
7151         (emit_verbosecall_enter): Likewise.
7152         (emit_verbosecall_exit): Likewise.
7153         
7154         * src/vm/jit/powerpc/codegen.c (vm/jit/abi-asm.h): Added.
7155         (codegen_trace_args): Removed.
7156         (codegen): Use cd->stackframesize instead of stackframesize, use emit
7157         functions to generate stubs and call trace code.
7158         (createnativestub): Likewise.
7159
7160 2006-08-25 11:55  tbfg
7161
7162         * src/vm/jit/show.c (show_method): Stubs are printed green when
7163         using -debug-color.
7164         
7165         * src/vm/jit/powerpc64/linux/md-os.c (md_signal_handler_sigusr2):
7166         Moved into #ifdef ENABLE_THREADS conditional compile, as it depends
7167         on threadobject.
7168         
7169         * src/vm/jit/powerpc64/codegen.h: Added M_LADD_IMM and M_AADD_IMM
7170         for better reading of code. Fixed M_CLR.
7171         
7172         * src/vm/jit/powerpc64/codegen.c (codegen): Some fixes with ?RETURN,
7173         some fixes for -verbose:call (still defunc),
7174         (createnativestub): Lots of fixes in stackframe calculations.
7175         
7176         * src/vm/jit/powerpc64/patcher.c (patch_aconst): Correct asm comment.
7177         
7178         * src/vm/jit/powerpc64/disass.c (disassinstr): Display 64 bit
7179         addresses in disassembled code (-sa).
7180         
7181         * src/vm/jit/powerpc64/asmpart.S (L_asm_vm_call_method_return):
7182         Fixed path for methods returning a value.
7183         (L_asm_handle_exception): Fixed path for exception handling.
7184         (asm_patcher_wrapper): Fixed path for codepatching.
7185
7186 2006-08-25 07:54  twisti
7187
7188         * src/vm/exceptions.c (new_illegalmonitorstateexception): Renamed to
7189         exceptions_new_illegalmonitorstateexception.
7190         (exceptions_throw_illegalmonitorstateexception): New method.
7191         * src/vm/exceptions.h: Likewise.
7192         
7193         * src/threads/native/lock.c (lock_monitor_exit): Use
7194         exceptions_throw_illegalmonitorstateexception instead of
7195         new_illegalmonitorstateexception.
7196         (lock_monitor_wait): Likewise.
7197         (lock_monitor_notify): Likewise.
7198         
7199         * src/cacaoh/headers.c (new_illegalmonitorstateexception): Renamed to
7200         exceptions_throw_illegalmonitorstateexception.
7201
7202 2006-08-25 07:29  twisti
7203
7204         * src/vm/jit/alpha/emit.c (emit_exception_stubs): Bugfix when
7205         reallocating the code area.
7206         (emit_patcher_stubs): Reuse the asm_patcher_wrapper call code.
7207         (emit_replacement_stubs): Removed savedmcodeptr.
7208
7209 2006-08-25 07:14  twisti
7210
7211         * src/vm/jit/alpha/emit.c (emit_exception_stubs): Bugfix when
7212         reallocating the code area.
7213         (emit_patcher_stubs): Likewise.
7214
7215 2006-08-24 18:42  twisti
7216
7217         * src/vm/jit/codegen-common.h (codegendata): Added stackframesize. I
7218         think this is more obvious than in jitdata.
7219         
7220         * src/vm/jit/jit.h (jitdata): Removed stackframesize.
7221         
7222         * src/vm/jit/alpha/emit.c (emit_exception_stubs): Replaced
7223         jd->stackframesize with cd->stackframesize.
7224         
7225         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
7226         (createnativestub): Likewise.
7227         
7228         * src/vm/jit/i386/emit.c (emit_exception_stubs): Likewise.
7229         
7230         * src/vm/jit/i386/codegen.c (codegen): Likewise.
7231         (createnativestub): Likewise.
7232
7233 2006-08-24 09:29  tbfg
7234
7235         srv/vm/jit/powerpc/linux/md-os.c (md_signal_handler_sigusr2): Moved
7236         inside
7237         ENABLE_THREADS ifdef as is depends on threads.
7238
7239 2006-08-23 16:04  twisti
7240
7241         * src/vm/jit/alpha/emit.c [ENABLE_THREADS] (threads/native/lock.h):
7242         Added.
7243         (vm/jit/asmpart.h): Likewise.
7244         (vm/jit/dseg.h): Likewise.
7245         (emit_exception_stubs): New function.
7246         (emit_patcher_stubs): Likewise.
7247         (emit_replacement_stubs): Likewise.
7248         
7249         * src/vm/jit/i386/codegen.c (codegen): Use jd->stackframesize, removed
7250         stub generation code.
7251         (createnativestub): Likewise.
7252
7253 2006-08-23 15:55  twisti
7254
7255         * src/vm/jit/alpha/asmpart.S (asm_handle_exception): Fixed bug with
7256         maybe-leaf stack and use same registers as on MIPS.
7257
7258 2006-08-23 15:45  twisti
7259
7260         * src/vm/jit/alpha/asmpart.S (asm_handle_exception): Use
7261         md_codegen_get_pv_from_pc.
7262
7263 2006-08-23 15:10  twisti
7264
7265         * src/vm/jit/mips/asmpart.S (asm_handle_exception): Changed some
7266         comments.
7267
7268 2006-08-23 14:55  twisti
7269
7270         * src/vm/jit/alpha/asmpart.S (L_asm_handle_exception_stack_loop):
7271         Don't save xpc.
7272
7273 2006-08-23 14:23  twisti
7274
7275         * src/boehm-gc/configure.in (AC_C_INLINE): Set CFLAGS properly before.
7276
7277 2006-08-23 14:07  twisti
7278
7279         * configure.ac (AC_CONFIG_SUBDIRS): Moved to the end of the file and
7280         export OPT_CFLAGS/ARCH_CFLAGS instead of CFLAGS.
7281         
7282         * src/boehm-gc/configure.in: Pass CFLAGS to Makefile's as for CACAO.
7283         * src/boehm-gc/Makefile.am (AM_CXXFLAGS, AM_CFLAGS): Commented.
7284         (AM_CPPFLAGS): Added.
7285
7286 2006-08-23 12:57  twisti
7287
7288         * src/vm/jit/alpha/emit.c (config.h): Added.
7289         [ENABLE_THREADS] (threads/native/lock.h): Likewise.
7290         (vm/jit/asmpart.h): Likewise.
7291         (vm/jit/dseg.h): Likewise.
7292         (emit_exception_stubs): New function.
7293         (emit_patcher_stubs): Likewise.
7294         (emit_replacement_stubs): Likewise.
7295         
7296         * src/vm/jit/alpha/codegen.c (codegen): Use jd->stackframesize, use
7297         new desg_add_* functions, removed stub generation code.
7298         (createnativestub): Likewise.
7299
7300 2006-08-23 12:29  twisti
7301
7302         * src/vm/vm.c (OPT_ALL, OPT_METHOD, OPT_SIGNATURE): #ifndef NDEBUG.
7303         (usage): Don't print -all, -m, -sig options.
7304
7305 2006-08-23 12:12  twisti
7306
7307         * src/vm/jit/emit.h (emit_replacement_stubs): Added.
7308
7309 2006-08-22 20:48  twisti
7310
7311         * src/vm/jit/i386/md-emit.h (vm/jit/codegen-common.h): Added.
7312
7313 2006-08-22 19:53  twisti
7314
7315         * src/vm/jit/emit.h (emit_exception_stubs): Added.
7316         (emit_patcher_stubs): Likewise.
7317         
7318         * src/vm/jit/jit.h (jitdata): Added member stackframesize.
7319
7320 2006-08-22 15:49  tbfg
7321
7322         * src/vm/jit/powerpc64/linux/md-abi.h: Added PA_SIZE and
7323         PA_SIZE_IN_POINTERS defines.
7324         
7325         * src/vm/jit/powerpc64/arch.h: Enabled machine dependend
7326         compare_and_swap implementation for ppc64.
7327         
7328         * src/vm/jit/powerpc64/codegen.c (codegen): Remove lot of PACK_REGS
7329         usages, changed stack address calculations from *4 -> *8, added
7330         a M_NOP for debugging.
7331         
7332         * src/vm/jit/powerpc64/machine-instr.h (compare_and_swap): Ported
7333         for 64 bit.
7334         (atomic_add): Removed.
7335         
7336         * src/vm/jit/powerpc64/patcher.c (patcher_wrapper): Fixed stack
7337         calculations from *4 -> *8
7338         (patcher_aconst): Likewise.
7339         (patcher_athrow_areturn): Likewise.
7340         (patcher_builtin_arraycheckcast): Likewise.
7341         (patcher_builtin_multianewarray): Likewise.
7342         (patcher_checkcast_class): Likewise.
7343         (patcher_checkcast_instanceof_flags): Likewise.
7344         (patcher_checkcast_instanceof_interf): Likewise.
7345         (patcher_clinit): Likewise.
7346         (patcher_get_putfield): Likewise.
7347         (patcher_get_putstatic): Likewise.
7348         (patcher_instanceof_class): Likewise.
7349         (patcher_invokeinterface): Likewise.
7350         (patcher_invokestatic_special): Likewise.
7351         (patcher_invokevirtual): Likewise.
7352         (patcher_resolve_native): Likewise.
7353         
7354         * src/vm/jit/powerpc64/asmpart.S (asm_patcher_wrapper): Fixed
7355         calling convetions, as we callback C. Fixed 32 bit issues.
7356         (asm_call_jit_compiler): PPC64 has additional PA_SIZE
7357         on stack - fixed that.
7358
7359 2006-08-22 14:39  twisti
7360
7361         * src/native/vm/java_lang_VMThrowable.c (fillInStackTrace): Removed
7362         architecture #ifdef's.
7363         (getStackTrace): Likewise.
7364
7365 2006-08-22 12:43  twisti
7366
7367         * src/native/native.c (dummynativetable): Made non-static, GCC 4.1
7368         optimized the table away.
7369         (native_init): Removed dummynativetable-hack.
7370
7371 2006-08-22 09:02  tbfg
7372
7373         * src/vm/options.h: Renamed -verbosecolor to -debug-color,
7374         opt_colorverbose to opt_debugcolor and OPT_COLORVERBOSE to
7375         OPT_DEBUGCOLOR
7376         * src/vm/method.c: Same as above.
7377         * src/vm/jit/dseg.c: Same as above.
7378         * src/vm/vm.c: Same as above.
7379         * src/vm/options.c: Same as above.
7380         * src/vm/jit/Makefile.am: Removed options.h dependecy, as deps are
7381         tracked automatically.
7382
7383 2006-08-21 17:37  twisti
7384
7385         * src/lib/vm/reference/gnu/classpath/VMStackWalker.java
7386         (firstNonNullClassLoader): Added and made native.
7387         
7388         * src/native/vm/gnu_classpath_VMStackWalker.c (getClassContext):
7389         Removed architecture #ifdef's, as most stacktrace stuff is
7390         architecture independent and the dependent stuff is very simple to
7391         implement.
7392         (getCallingClass): Likewise.
7393         (getCallingClassLoader): Likewise.
7394         (firstNonNullClassLoader): Added.
7395
7396 2006-08-21 15:25  twisti
7397
7398         * src/vm/jit/i386/asmpart.S (L_asm_patcher_wrapper_exception): Removed
7399         duplicate add line.
7400
7401 2006-08-21 15:17  twisti
7402
7403         * configure.ac (AC_CONFIG_FILES): Added
7404         src/vm/jit/i386/darwin/Makefile.
7405         
7406         * src/vm/jit/i386/codegen.c (createnativestub): Align stack to
7407         16-bytes.
7408         
7409         * src/vm/jit/i386/darwin/md-os.c: Darwin specific functions.
7410         * src/vm/jit/i386/darwin/md-asm.h: Darwin specific assembler defines.
7411         * src/vm/jit/i386/darwin/Makefile.am: New file.
7412         * src/vm/jit/i386/darwin/.cvsignore: Likewise.
7413         
7414         * src/vm/jit/i386/linux/md-asm.h: Linux specific assembler defines.
7415         * src/vm/jit/i386/freebsd/md-asm.h: FreeBSD specific assembler
7416         defines.
7417         
7418         * src/vm/jit/i386/md-asm.h: Removed.
7419         
7420         * src/vm/jit/i386/asmpart.S (asm_handle_exception): Align stack to
7421         16-bytes.
7422         (asm_abstractmethoderror): Likewise.
7423         (asm_patcher_wrapper): Likewise.
7424         (asm_builtin_f2i, asm_builtin_d2i, asm_builtin_f2l, asm_builtin_d2l):
7425         Likewise.
7426         
7427         * src/vm/jit/i386/Makefile.am (DIST_SUBDIRS): Added darwin.
7428         (AM_CPPFLAGS): Added OS_DIR as include.
7429         (noinst_HEADERS): Removed md-asm.h.
7430         
7431         * src/threads/native/threads.c (threads_cast_darwinstop): Use generic
7432         defines and machine dependent structures.
7433
7434 2006-08-21 14:52  twisti
7435
7436         * src/vm/jit/powerpc/darwin/md-asm.h (asm_initialize_thread_stack):
7437         Define removed.
7438         (asm_perform_threadswitch): Likewise.
7439         (asm_switchstackandcall): Likewise.
7440
7441 2006-08-18 18:37  tbfg
7442
7443         src/vm/options.h: Added the commandlineswitch --verbosecolor which
7444         enables
7445         colored output of show: -si prints method names in red -sd shows
7446         datasegment
7447         dump in blue. (use | less -R)
7448         
7449         src/vm/options.c (options_get): There is a nasty bug in there, read
7450         comment.
7451
7452 2006-08-18 13:07  twisti
7453
7454         * src/toolbox/util.c (util_current_time_millis): Removed.
7455         * src/toolbox/util.h: Likewise.
7456         
7457         * src/vm/vm.c (vm_create): Use builtin_currenttimemillis instead of
7458         util_current_time_millis.
7459
7460 2006-08-18 13:01  twisti
7461
7462         * src/vm/exceptions.c (new_arraystoreexception): Renamed to
7463         exceptions_new_arraystoreexception.
7464         (exceptions_throw_arraystoreexception): New function.
7465         * src/vm/exceptions.h: Likewise.
7466         
7467         * src/vm/builtin.c (builtintable_init): Reimplemented and added
7468         builtintable_function.
7469         (builtintable_replace_function): New function.
7470         (builtin_arraycopy): Likewise.
7471         (builtin_currenttimemillis): Likewise.
7472         
7473         * src/vm/builtin.h (builtintable_entry): Added some extra members.
7474         (builtin_asm_get_exceptionptrptr): Removed.
7475         (builtintable_replace_function): Added.
7476         (builtin_arraycopy): Likewise.
7477         (builtin_currenttimemillis): Likewise.
7478         
7479         * src/vm/builtintable.inc (builtintable_internal): Use new
7480         builtintable_entry structure.
7481         (builtintable_automatic): Likewise.
7482         (builtintable_function): Added.
7483         
7484         * src/vm/jit/stack.c (stack_analyse): Call
7485         builtintable_replace_function.
7486         
7487         * src/vm/jit/show.c (new_show_icmd): Print correct variable of builtin
7488         calls.
7489         (show_icmd): Likewise.
7490         
7491         * src/vm/jit/stacktrace.c (stacktrace_inline_arraystoreexception): Use
7492         exceptions_new_arraystoreexception.
7493         
7494         * src/native/vm/java_lang_VMSystem.c (arraycopy): Removed
7495         implementation and use builtin_arraycopy.
7496         
7497         * src/cacaoh/headers.c
7498         (exceptions_throw_arrayindexoutofboundsexception): Added.
7499         (exceptions_new_arraystoreexception): Likewise.
7500         (exceptions_throw_arraystoreexception): Likewise.
7501
7502 2006-08-18 12:24  twisti
7503
7504         * src/vm/class.c (class_java_lang_VMSystem): Added.
7505         * src/vm/class.h: Likewise.
7506         * src/vm/loader.c (loader_init): Likewise.
7507         * src/vm/linker.c (linker_init): Likewise.
7508
7509 2006-08-18 10:22  tbfg
7510
7511         src/vm/jit/powerpc64/linux/md-os.c: Ported signal handlers to ppc64
7512         ucontext.
7513
7514 2006-08-17 17:51  tbfg
7515
7516         src/vm/jit/powerpc64/md.c (md_get_method_patch_address): Fixed
7517         opcodes in
7518         casetests.
7519         
7520         src/vm/jit/powerpc64/arch.h: Temporarily disabled all hardwarefeaturs
7521         to
7522         make porting easier.
7523         
7524         src/vm/jit/powerpc64/codegen.c: Started to fix 32/64 bit issues.
7525         
7526         src/vm/jit/powerpc64/codegen.h: Removing special long handling.
7527         
7528         src/vm/jit/powerpc64/patcher.c: Changed comment only.
7529
7530 2006-08-17 09:59  twisti
7531
7532         * src/vm/jit/i386/asmpart.S (asm_patcher_wrapper): Restore REG_ITMP3
7533         from stub stack. I missed this when I did the last changes.
7534
7535 2006-08-17 09:26  twisti
7536
7537         * src/vm/jit/optimizing: Added ignore property.
7538
7539 2006-08-16 15:35  christian
7540
7541         * src/vm/jit/optimizing/.cvsignore: New file.
7542
7543 2006-08-16 12:21  christian
7544
7545         * src/vm/jit/stack.c (stack_analyse): Use of real PEI data
7546         (op_data[opcode][PEI]) to prevent copy propagation to LOCALVAR with
7547         ICMD_XSTORE instead of just regarding INVOKES as PEI's.
7548
7549 2006-08-16 12:11  christian
7550
7551         * src/toolbox/worklist.h: Comments added.
7552
7553 2006-08-16 12:10  christian
7554
7555         * src/toolbox/bitvector.c: Comments added.
7556         
7557         * src/toolbox/bitvector.h: Comments added.
7558         
7559         * src/toolbox/worklist.c: Comments added.
7560
7561 2006-08-16 11:35  christian
7562
7563         * src/toolbox/worklist.c: Corrected Header information.
7564         
7565         * src/toolbox/worklist.h: Likewise.
7566         
7567         * src/toolbox/bitvector.c: Likewise.
7568         
7569         * src/toolbox/bitvector.h: Likewise.
7570
7571 2006-08-16 11:31  christian
7572
7573         * src/vm/jit/allocator/liveness.c: Corrected Header information.
7574         
7575         * src/vm/jit/allocator/liveness.h: Likewise.
7576         
7577         * src/vm/jit/allocator/lsra.c: Likewise.
7578         
7579         * src/vm/jit/allocator/lsra.h: Likewise.
7580
7581 2006-08-16 11:26  christian
7582
7583         * src/vm/jit/optimizing/dominators.c: Corrected Header information.
7584         
7585         * src/vm/jit/optimizing/dominators.h: Likewise.
7586         
7587         * src/vm/jit/optimizing/graph.c: Likewise.
7588         
7589         * src/vm/jit/optimizing/graph.h: Likewise.
7590         
7591         * src/vm/jit/optimizing/lifetimes.c: Likewise.
7592         
7593         * src/vm/jit/optimizing/lifetimes.h: Likewise.
7594         
7595         * src/vm/jit/optimizing/lsra.c: Likewise.
7596         
7597         * src/vm/jit/optimizing/lsra.h: Likewise.
7598         
7599         * src/vm/jit/optimizing/ssa.c: Likewise.
7600         
7601         * src/vm/jit/optimizing/ssa.h: Likewise.
7602
7603 2006-08-16 11:18  christian
7604
7605         * src/vm/jit/optimizing/ssa.c (ssa_print_phi): Printing now phi
7606         functions correctly for debug output.
7607         
7608         * src/vm/jit/optimizing/ssa.c (dead_code_elimination): No removal of
7609         potential exception throwing instructions (PEI) anymore.
7610         
7611         * src/vm/jit/jit.h: Renamed op_needs_saved[] to op_data[][NEEDS_SAVED]
7612         and introduced the new op_data[][PEI].
7613         
7614         * src/vm/jit/jit.c (jit_init): Added init of op_data[NEEDS_SAVED|PEI]
7615         
7616         * src/vm/jit/optimizing/lifetimes.c (LifeOutAtStatement): Renamed
7617         op_needs_saved[] to the new op_data[][NEEDS_SAVED]
7618
7619 2006-08-15 14:54  christian
7620
7621         * src/vm/jit/optimizing/lifetimes.c (LifenessAnalysis): Ignore
7622         variables used in phi functions, if they define itself (x =
7623         phi(...,x,...)).
7624         
7625         * src/vm/jit/i386/codegen.c (codegen): Bugfix in code created for
7626         ICMD_IINC for SSA.
7627         
7628         * src/vm/jit/show.c (new_show_method): Regard ENABLE_SSA like
7629         ENABLE_LSRA to suppress output of interfaces.
7630         
7631         * src/vm/jit/show.c (show_method): likewise.
7632         
7633         * src/vm/jit/show.c (show_icmd): Regard special operand format for
7634         ICMD_IINC with SSA.
7635
7636 2006-08-14 18:14  christian
7637
7638         * src/vm/jit/optimizing/: New directory for optimizing compiler (SSA
7639         by now - does not work by now, code merging with svn head introduced
7640         some hazardous faults).
7641         
7642         * src/vm/jit/optimizing/dominators.c: Computation of dominators and
7643         domination frontier for SSA.
7644         
7645         * src/vm/jit/optimizing/dominators.h: Include file for dominators.c.
7646         
7647         * src/vm/jit/optimizing/graph.c: CFG functions needed for SSA.
7648         
7649         * src/vm/jit/optimizing/graph.h: Include file for graph.c
7650         
7651         * src/vm/jit/optimizing/lifetimes.c: Scanning lifetimes for SSA.
7652         
7653         * src/vm/jit/optimizing/lifetimes.h: Include file for lifetimes.c
7654         
7655         * src/vm/jit/optimizing/lsra.c: LSRA based on SSA.
7656         
7657         * src/vm/jit/optimizing/lsra.h: Include file for lsra.c.
7658         
7659         * src/vm/jit/optimizing/Makefile.am: New Makefile.am for this
7660         directory.
7661         
7662         * src/vm/jit/optimizing/ssa.c: Computation of SSA form.
7663         
7664         * src/vm/jit/optimizing/ssa.h: Include File for ssa.c.
7665
7666 2006-08-14 18:10  christian
7667
7668         * src/vm/jit/optimizing: New directory
7669
7670 2006-08-14 17:50  christian
7671
7672         * src/vm/jit/optimizing/: New directory for optimizing compiler (SSA
7673         by now - does not work by now, code merging with svn head introduced
7674         some hazardous faults).
7675         
7676         * src/vm/jit/optimizing/dominators.c: Computation of dominators and
7677         domination frontier for SSA.
7678         
7679         * src/vm/jit/optimizing/dominators.h: Include file for dominators.c.
7680         
7681         * src/vm/jit/optimizing/graph.c: CFG functions needed for SSA.
7682         
7683         * src/vm/jit/optimizing/graph.h: Include file for graph.c
7684         
7685         * src/vm/jit/optimizing/lifetimes.c: Scanning lifetimes for SSA.
7686         
7687         * src/vm/jit/optimizing/lifetimes.h: Include file for lifetimes.c
7688         
7689         * src/vm/jit/optimizing/lsra.c: LSRA based on SSA.
7690         
7691         * src/vm/jit/optimizing/lsra.h: Include file for lsra.c.
7692         
7693         * src/vm/jit/optimizing/Makefile.am: New Makefile.am for this
7694         directory.
7695         
7696         * src/vm/jit/optimizing/ssa.c: Computation of SSA form.
7697         
7698         * src/vm/jit/optimizing/ssa.h: Include File for ssa.c.
7699         
7700         * src/vm/jit/allocator/lsra.c: Moved from src/vm/jit. Quite complete
7701         code change (including: no more allocation of unused reserved
7702         registers, possibility of exact lifetime analysis, removal of old
7703         lifetime test functions).
7704         
7705         * src/vm/jit/allocator/lsra.h: Moved from src/vm/jit.
7706         
7707         * src/vm/jit/allocator/liveness.c: New File. Exact lifetime analysis
7708         for LSRA.
7709         
7710         * src/vm/jit/allocator/liveness.h: New File. Include File for
7711         liveness.c. The #define LV enables by now the exact liveness analysis.
7712         
7713         * src/vm/jit/allocator/Makefile.am: Adopted for new/moved files in
7714         src/vm/jit/allocator.
7715         
7716         * sc/vm/jit/Makefile.am: Adopted for above new/moved files.
7717         
7718         * configure.ac: Introduced ENABLE_SSA: new option --enable-ssa.
7719         Changes for ENABLE_LSRA (--enable-lsra). New Makefile in
7720         src/vm/jit/optimizing added.
7721         
7722         * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Support for
7723         ENABLE_SSA for statistics.
7724         
7725         * src/vm/options.h: opt_lsra is used with ENABLE_SSA like with
7726         ENABLE_LSRA.
7727         
7728         * src/vm/options.c: opt_lsra is used with ENABLE_SSA like with
7729         ENABLE_LSRA.
7730         
7731         * src/vm/global.h: New struct imm for union imm_union to get another
7732         operand for IINC in combination with SSA added.
7733         
7734         * src/vm/vm.c: opt_lsra and the option -lsra is used with ENABLE_SSA
7735         like with ENABLE_LSRA.
7736         
7737         * src/vm/jit/stack.c (stack_analyse): No stack element lifetimes
7738         counting anymore for lsra/ssa (m->maxlifetimes).
7739         
7740         * src/vm/jit/stack.h: No stack lifetime counting anymore for lsra/ssa
7741         (m->maxlifetimes).
7742         
7743         * src/vm/jit/i386/codegen.c: Support for ENABLE_SSA added.
7744         
7745         * src/vm/jit/i386/codegen.c (codegen_insert_phi_moves): New function
7746         to insert phi moves for SSA at the end of Basic Blocks.
7747         
7748         * src/vm/jit/i386/codegen.c (cg_move): New function to create the
7749         instructions for the actual move for codegen_insert_phi_moves).
7750         
7751         * src/vm/jit/i386/codegen.c (codegen): Logic and calls to use
7752         codegen_insert_phi_moves for SSA added. With SSA for parameters in
7753         memory this memory positions cannot be reused to avoid copying. Checks
7754         added to prevent moves to or from stackslots removed by the dead code
7755         elimination. Special handling for the new ICMD_IINC operand format
7756         used by SSA added.
7757         
7758         * src/vm/jit/i386/codegen.h (M_COPY): Checks added to prevent moves to
7759         or from stackslots removed by the dead code elimination. Original
7760         M_COPY renamed to _M_COPY.
7761         
7762         * src/vm/jit/jit.c (jit_init): Populate op_needs_saved. Regard
7763         ENABLE_SSA.
7764         
7765         * src/vm/jit/jit.h: Support for ENABLE_SSA added. Added an array which
7766         shows which ICMD's need a SAVEDVAR for SSA and the new LSRA with exact
7767         liveness analysis. src/toolbox/Makefile.am: Changed to include the
7768         following new files:
7769         
7770         * src/toolbox/bitvector.c: Bitvector implementation for SSA.
7771         
7772         * src/toolbox/bitvector.h: Include file for bitvector.c.
7773         
7774         * src/toolbox/worklist.c: Worklist implementation for SSA.
7775         
7776         * src/toolbox/worklist.h: Include file for worklist.c.
7777
7778 2006-08-14 10:59  twisti
7779
7780         * src/vm/jit/codegen-common.c (codegen_findmethod): Renamed to
7781         codegen_get_pv_from_pc.
7782         
7783         * src/vm/jit/codegen-common.h (codegen_findmethod): Likewise.
7784         (md_codegen_findmethod): Renamed to md_codegen_get_pv_from_pc.
7785         
7786         * src/vm/jit/stacktrace.c (stacktrace_create_stackframeinfo):
7787         Likewise.
7788         (stacktrace_create_inline_stackframeinfo): Likewise.
7789         (stacktrace_create_extern_stackframe): Likewise.
7790         (stacktrace_create): Likewise.
7791         
7792         * src/vm/jit/alpha/md.c (md_codegen_findmethod): Renamed to
7793         md_codegen_get_pv_from_pc.
7794         * src/vm/jit/i386/md.c: Likewise.
7795         * src/vm/jit/mips/md.c: Likewise.
7796         * src/vm/jit/powerpc/md.c: Likewise.
7797         * src/vm/jit/powerpc64/md.c: Likewise.
7798         * src/vm/jit/sparc64/md.c: Likewise.
7799         * src/vm/jit/x86_64/md.c: Likewise.
7800         
7801         * src/vm/jit/i386/asmpart.S: Likewise.
7802         * src/vm/jit/mips/asmpart.S: Likewise.
7803         * src/vm/jit/powerpc/asmpart.S: Likewise.
7804         * src/vm/jit/x86_64/asmpart.S: Likewise.
7805         * src/vm/jit/intrp/asmpart.c: Likewise.
7806         
7807         * src/vm/jit/i386/patcher.c (patcher_wrapper): Fixed comment.
7808         * src/vm/jit/x86_64/patcher.c: Likewise.
7809
7810 2006-08-11 13:11  tbfg
7811
7812         * src/vm/jit/powerpc64/linux/md-abi.h: LA_WORD_SIZE renamed to
7813         LA_SIZE_IN_POINTERS, value fixed
7814         * src/vm/jit/powerpc64/linux/md-abi.c: LA_SIZE_IN_POINTERS rename
7815         * src/vm/jit/powerpc64/linux/md.c (md_codegen_findmethod): PPC64 uses
7816         r14
7817         instead of r13 (as PPC) for PV so opcodes changed.
7818         * src/vm/jit/powerpc64/asmpart.S: Using LA_SIZE instead of
7819         LA_WORD_SIZE,
7820         LA_SIZE_IN_POINTERS for SAVE_*_REGISTERS macros only.
7821
7822 2006-08-11 10:13  twisti
7823
7824         * src/vm/jit/powerpc/linux/md-abi.h (LA_WORD_SIZE): Renamed to
7825         LA_SIZE_IN_POINTERS.
7826         
7827         * src/vm/jit/powerpc/darwin/md-abi.h (LA_WORD_SIZE): Likewise.
7828         
7829         * src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Use
7830         LA_SIZE_IN_POINTERS instead of LA_WORD_SIZE.
7831         
7832         * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Likewise.
7833         
7834         * src/vm/jit/powerpc/asmpart.S: Likewise.
7835         
7836         * src/vm/jit/stack.c (new_stack_analyse): Likewise.
7837         (stack_analyse): Likewise.
7838         
7839         * src/vm/jit/reg.c (reg_setup): Likewise.
7840
7841 2006-08-10 19:45  tbfg
7842
7843         * src/vm/jit/powerpc64/linux/md-abi.h: fixed linkage area defines for
7844         64bit abi.
7845         * src/vm/jit/powerpc64/linux/md-asm.h: fixed register name defines
7846         and
7847         SAVE/RESTORE macros.
7848         * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): fixed no
7849         argument method
7850         call path, coming back to C now.
7851
7852 2006-08-10 09:10  twisti
7853
7854         * src/boehm-gc/darwin_stop_world.c: Updated to version 6.8.
7855         * src/boehm-gc/doc/README.changes: Likewise.
7856         * src/boehm-gc/doc/README: Likewise.
7857         * src/boehm-gc/include/gc.h: Likewise.
7858         * src/boehm-gc/include/gc_config_macros.h: Likewise.
7859         * src/boehm-gc/include/private/gcconfig.h: Likewise.
7860         * src/boehm-gc/configure.in: Likewise.
7861         * src/boehm-gc/version.h: Likewise.
7862         * src/boehm-gc/malloc.c: Likewise.
7863         * src/boehm-gc/pthread_support.c: Likewise.
7864         * src/boehm-gc/os_dep.c: Likewise.
7865         * src/boehm-gc/dyn_load.c: Likewise.
7866
7867 2006-08-09 15:11  twisti
7868
7869         * src/vm/jit/i386/codegen.c (codegen): Fixed ICMD_LMUL bug.
7870
7871 2006-08-09 15:10  twisti
7872
7873         * src/vm/jit/i386/emit.c (emit_load_s1): Coding style changes.
7874         (emit_load_s2): Likewise.
7875         (emit_load_s3): Likewise.
7876         (emit_load_s1_low): Likewise.
7877         (emit_load_s2_low): Likewise.
7878         (emit_load_s1_high): Likewise.
7879         (emit_store): Likewise.
7880
7881 2006-08-08 19:57  edwin
7882
7883         * src/vm/jit/jit.c (stackreq): Initialize this table statically.
7884         (jit_init): Removed dynamic initialization of stackreq table.
7885
7886 2006-08-08 19:23  edwin
7887
7888         * src/native/vm/java_lang_reflect_Method.c
7889         (Java_java_lang_reflect_Method_invokeNative): Removed unused
7890         variables.
7891         
7892         * src/native/vm/java_lang_reflect_Constructor.c (vm/access.h):
7893         Include to fix warning.
7894
7895 2006-08-08 19:18  edwin
7896
7897         * src/native/vm/java_lang_reflect_Field.c (cacao_get_field_address):
7898         Use access_check_caller.
7899
7900 2006-08-08 16:21  edwin
7901
7902         * src/vm/access.h, src/vm/access.c (access_check_caller): Added.
7903         
7904         * src/native/vm/java_lang_reflect_Method.c
7905         (Java_java_lang_reflect_Method_invokeNative): Use access_check_caller
7906         for the access check.
7907         
7908         * src/native/vm/java_lang_reflect_Constructor.c
7909         (Java_java_lang_reflect_Constructor_constructNative): Likewise. This
7910         should fix the mauve test case
7911         java.lang.reflect.AccessibleObject.security.
7912         
7913         * src/cacaoh/headers.c (stacktrace_getClassContext): Added dummy
7914         implementation.
7915
7916 2006-08-08 14:24  twisti
7917
7918         * src/vm/jit/parse.h (new_block_insert): Renamed to
7919         NEW_MARK_BASICBLOCK.
7920         (block_insert): Renamed to MARK_BASICBLOCK.
7921         
7922         * src/vm/jit/parse.c (new_fillextable): Likewise.
7923         (fillextable): Likewise.
7924         (new_parse): Likewise.
7925         (parse): Likewise.
7926
7927 2006-08-08 13:25  twisti
7928
7929         * src/vm/jit/stack.c (new_stack_analyse): Replaced debug_nr with nr.
7930         
7931         * src/vm/jit/verify/typecheck.c (typestate_reach): Likewise.
7932         (verify_basic_block): Likewise.
7933         
7934         * src/vm/jit/i386/codegen.c (codegen): Likewise.
7935         * src/vm/jit/powerpc/codegen.c (codegen): Likewise.
7936         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
7937
7938 2006-08-08 13:03  twisti
7939
7940         * src/vm/jit/cfg.c (cfg_insert_predecessors): New method.
7941         (cfg_build): Use cfg_insert_predecessors for TABLESWITCH and
7942         LOOKUPSWITCH.
7943
7944 2006-08-08 13:01  edwin
7945
7946         * src/vm/resolve.h, src/vm/resolve.c (new_resolve_method_lazy):
7947         Removed curstack parameter.
7948         (new_resolve_field_lazy): Likewise.
7949         (new_constrain_unresolved_field): New function.
7950         (new_constrain_unresolved_method): Likewise.
7951         
7952         * src/vm/jit/parse.c (new_parse): Use new_resolve_field_lazy and
7953         new_resolve_method_lazy.
7954
7955 2006-08-08 12:56  edwin
7956
7957         * src/vm/jit/stack.c (new_stack_analyse): For INVOKE* instructions,
7958         store the live-through stack slots as additional arguments after
7959         the live-in slots. These live-through slots are needed by the
7960         verifier and by on-stack replacement in order to create a replacement
7961         point at the call site.
7962         NOTE: Currently the live-through slots are also stored for builtins.
7963         This should change in the final version.
7964
7965 2006-08-08 12:46  edwin
7966
7967         * src/vm/jit/jit.h (NEW_INSTRUCTION_IS_RESOLVED): New macro.
7968         (NEW_INSTRUCTION_IS_UNRESOLVED): Likewise.
7969         (NEW_INSTRUCTION_MUST_CHECK): Likewise.
7970
7971 2006-08-08 12:45  twisti
7972
7973         * src/vm/jit/cfg.h (CFG_UNKNOWN_PREDECESSORS): Defined.
7974         
7975         * src/vm/jit/stack.c (vm/jit/cfg.h): Added.
7976         (new_stack_analyse): Set predecessorcount for EXH blocks to
7977         CFG_UNKNOWN_PREDECESSORS.
7978         (stack_analyse): Likewise.
7979         
7980         * src/vm/jit/show.c (new_show_basicblock): Print predecessor block
7981         numbers.
7982         (show_basicblock): Likewise.
7983
7984 2006-08-07 16:10  twisti
7985
7986         * src/vm/jit/reorder.c (reorder): Iterate to m->basicblockcount + 1,
7987         so we kind of set the last basic block too.
7988
7989 2006-08-07 15:30  twisti
7990
7991         * src/vm/jit/jit.h (basicblock): Renamed debug_nr to nr.
7992         (BASICBLOCK_INIT): Likewise.
7993         
7994         * src/vm/jit/reorder.c (reorder_place_next_unplaced_block): Likewise.
7995         (reorder): Likewise.
7996         
7997         * src/vm/jit/show.c (new_show_method): Likewise.
7998         (show_method): Likewise.
7999         (new_show_basicblock): Likewise.
8000         (show_basicblock): Likewise.
8001         (SHOW_TARGET): Likewise.
8002         (show_icmd): Likewise.
8003         
8004         * src/vm/jit/ifconv/ifconv.c (check): Likewise.
8005         
8006         * src/vm/jit/loop/analyze.c (insert_exception): Likewise.
8007         (copy_handler): Likewise.
8008         (create_static_checks): Likewise.
8009         
8010         * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
8011         (typecheck_reset_flags): Likewise.
8012         (typecheck): Likewise.
8013         
8014         * src/vm/jit/verify/typeinfo.c (typeinfo_print): Likewise.
8015         (typeinfo_print_short): Likewise.
8016         (typeinfo_print_stacktype): Likewise.
8017
8018 2006-08-07 15:12  tbfg
8019
8020         * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method, asm_cacheflush):
8021         ppc64 abi needs function descriptor for function called from other
8022         relocateable modules and uses direct calling for module intern calls.
8023
8024 2006-08-07 11:15  twisti
8025
8026         * src/vm/jit/reorder.c (reorder): #ifdef debug output.
8027
8028 2006-08-07 11:12  twisti
8029
8030         * src/vm/jit/Makefile.am (libjit_la_SOURCES): Add cfg.[ch] and
8031         reorder.[ch] for debugging.
8032
8033 2006-08-07 11:10  twisti
8034
8035         * src/vm/jit/jit.c (vm/jit/cfg.h): Added.
8036         (vm/jit/reorder.h): Likewise.
8037         (jit_recompile): Set JITDATA_FLAG_REORDER flag.
8038         (jit_compile_intern): Call cfg_build and reorder.
8039         (jit_complement_condition): New function.
8040         
8041         * src/vm/jit/jit.h (basicblock): Changed type of predecessors and
8042         successors.
8043         (jit_complement_condition): Added.
8044         
8045         * src/vm/jit/cfg.c (cfg_allocate_predecessors): New method.
8046         (cfg_allocate_successors): Likewise.
8047         (cfg_build): Finished implementation.
8048         
8049         * src/vm/jit/reorder.c (reorder_place_next_unplaced_block): New
8050         function.
8051         (reorder): Improved, still not working.
8052         
8053         * src/vm/jit/show.c (new_show_method): Walk the basic block chain to
8054         find the last block, as this may change.
8055         (show_method): Likewise.
8056
8057 2006-08-04 14:50  twisti
8058
8059         * src/vm/jit/reorder.c: New file.
8060         * src/vm/jit/reorder.h: Likewise.
8061
8062 2006-08-04 14:42  twisti
8063
8064         * src/vm/jit/parse.c (new_parse): MZERO basicblock array.
8065         (parse): Likewise.
8066         
8067         * src/vm/jit/jit.h (JITDATA_FLAG_REORDER): Added.
8068         (JITDATA_HAS_FLAG_REORDER): Likewise.
8069         (basicblock): Removed pre_count and added predecessorcount,
8070         successorcount, predecessors, successors.
8071         (BASICBLOCK_INIT): Don't zero fields.
8072         
8073         * src/vm/jit/stack.c (new_stack_analyse): Renamed pre_count to
8074         predecessorcount.
8075         (stack_analyse): Likewise and removed predecessor count calculation.
8076         
8077         * src/vm/jit/show.c (new_show_basicblock): Likewise.
8078         (show_basicblock): Likewise.
8079         
8080         * src/vm/jit/ifconv/ifconv.c (ifconv_static): Likewise.
8081
8082 2006-08-04 14:27  twisti
8083
8084         * src/vm/jit/cfg.c: New file.
8085         * src/vm/jit/cfg.h: Likewise.
8086
8087 2006-08-04 14:10  twisti
8088
8089         * src/vm/options.c (opt_foo): Added. This is a development option.
8090         * src/vm/options.h (opt_foo): Likewise.
8091         
8092         * src/vm/vm.c (vm_create): Added OPT_FOO.
8093
8094 2006-08-01 20:38  twisti
8095
8096         * autogen.sh: Recognize autoconf 2.60.
8097
8098 2006-08-01 15:51  twisti
8099
8100         * src/vm/jit/codegen-common.c (codegen_createnativestub): Set
8101         JITDATA_FLAG_INSTRUMENT for opt_prof.
8102
8103 2006-08-01 15:08  twisti
8104
8105         * src/vm/jit/recompile.c (recompile_thread): Check return value of
8106         jit_recompile and print the exception in error case.
8107
8108 2006-08-01 13:10  twisti
8109
8110         * src/vm/jit/parse.c (new_parse): Replaced opt_verify with
8111         JITDATA_HAS_FLAG_VERIFY, because on recompilation we don't turn
8112         verifying on.
8113
8114 2006-07-31 20:42  twisti
8115
8116         * src/vm/jit/x86_64/codegen.c (codegen): Load address for INVOKESTATIC
8117         from data segment and pass the displacement to the patcher.
8118         
8119         * src/vm/jit/x86_64/patcher.c (patcher_get_putstatic): Use
8120         displacement from patcher, not from the instruction.
8121         (patcher_builtin_multianewarray): Don't patch BUILTIN_multianewarray
8122         address, it's not required.
8123         (patcher_invokestatic_special): Use displacement passed and patch the
8124         data segment.
8125         
8126         * src/vm/jit/x86_64/md.c (md_stacktrace_get_returnaddress): Changed to
8127         new INVOKESTATIC calling sequence.
8128
8129 2006-07-31 16:30  twisti
8130
8131         * src/native/native.c
8132         (native/include/java_lang_management_VMManagementFactory.h): Added.
8133         (dummynativetable): Added VMManagementFactory methods.
8134
8135 2006-07-31 16:26  twisti
8136
8137         * src/native/include/.cvsignore: Added
8138         java_lang_management_VMManagementFactory.h.
8139
8140 2006-07-31 16:25  twisti
8141
8142         * src/native/vm/java_lang_management_VMManagementFactory.c: New file.
8143         
8144         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
8145         java_lang_management_VMManagementFactory.c.
8146         
8147         * src/native/include/Makefile.am
8148         (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
8149         java_lang_management_VMManagementFactory.h.
8150
8151 2006-07-31 15:35  twisti
8152
8153         * src/native/include/Makefile.am (DO_HEADER_FILES): Do not depend on
8154         CACAO_VM_ZIP.
8155
8156 2006-07-31 15:27  twisti
8157
8158         * src/native/include/.cvsignore: Added
8159         gnu_java_lang_management_VMThreadMXBeanImpl.h and
8160         java_lang_management_ThreadInfo.h.
8161
8162 2006-07-31 15:26  twisti
8163
8164         * src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c: New
8165         file.
8166         
8167         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
8168         gnu_java_lang_management_VMThreadMXBeanImpl.c.
8169         
8170         * src/native/include/Makefile.am
8171         (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
8172         gnu_java_lang_management_VMThreadMXBeanImpl.h and
8173         java_lang_management_ThreadInfo.h.
8174         (VM_ZIP): Removed.
8175         
8176         * src/native/jni.h (_Jv_JavaVM): Added total_started_thread_count.
8177         
8178         * src/threads/native/threads.c (threads_startup_thread): Count
8179         total_started_thread_count.
8180         
8181         * src/cacao/cacao.c (main): Likewise.
8182         
8183         * src/cacaoh/headers.c (_Jv_jvm): Added.
8184
8185 2006-07-31 14:43  twisti
8186
8187         * src/native/include: Updated ignore property.
8188
8189 2006-07-31 14:35  twisti
8190
8191         * src/native/vm/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c:
8192         New file.
8193         
8194         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
8195         gnu_java_lang_management_VMClassLoadingMXBeanImpl.c.
8196         
8197         * src/native/include/Makefile.am
8198         (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADER_FILES): Added
8199         gnu_java_lang_management_VMClassLoadingMXBeanImpl.h.
8200         
8201         * src/native/include/.cvsignore: Likewise.
8202         
8203         * src/native/jni.h (_Jv_JavaVM): Added
8204         Java_gnu_java_lang_management_VMClassLoadingMXBeanImpl_verbose.
8205         
8206         * src/native/native.c
8207         (native/include/gnu_java_lang_management_VMClassLoadingMXBeanImpl.h):
8208         Added.
8209         (native/include/gnu_java_lang_management_VMMemoryMXBeanImpl.h):
8210         Likewise.
8211         (dummynativetable): Added VMClassLoadingMXBeanImpl and
8212         VMMemoryMXBeanImpl functions.
8213
8214 2006-07-31 14:21  twisti
8215
8216         * src/vm/classcache.c (classcache_number_of_loaded_classes): New
8217         internal function.
8218         (classcache_get_loaded_class_count): New function.
8219         (classcache_jvmti_GetLoadedClasses): Renamed to
8220         classcache_get_loaded_classes and reimplemented.
8221         
8222         * src/vm/classcache.h (classcache_get_loaded_class_count): Added.
8223         (classcache_jvmti_GetLoadedClasses): Renamed to
8224         classcache_get_loaded_classes.
8225
8226 2006-07-31 12:29  twisti
8227
8228         * src/native/include/.cvsignore: Added
8229         gnu_java_lang_management_VMMemoryMXBeanImpl.h and
8230         java_lang_management_MemoryUsage.h.
8231
8232 2006-07-31 12:28  twisti
8233
8234         *
8235         src/lib/vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java:
8236         New file.
8237         
8238         * src/lib/Makefile.am (VM_JAVA_FILES): Added
8239         gnu/java/lang/management/VMMemoryMXBeanImpl.java.
8240         (VM_CLASS_FILES): Likewise.
8241         
8242         * src/native/include/Makefile.am
8243         (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
8244         gnu_java_lang_management_VMMemoryMXBeanImpl.h and
8245         java_lang_management_MemoryUsage.h.
8246         
8247         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
8248         gnu_java_lang_management_VMMemoryMXBeanImpl.c.
8249         
8250         * src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c
8251         (vm/loader.h): Added.
8252
8253 2006-07-31 12:25  twisti
8254
8255         * src/mm/boehm.c (gc_get_total_bytes): New function.
8256         * src/mm/boehm.h (gc_get_total_bytes): Added.
8257
8258 2006-07-31 12:17  twisti
8259
8260         * src/lib/vm/reference/java/lang/VMClassLoader.java: Merged GNU
8261         Classpath changes.
8262
8263 2006-07-31 12:15  twisti
8264
8265         * src/native/Makefile.am (nativetable.inc): Renamed VM_ZIP to
8266         CACAO_VM_ZIP.
8267
8268 2006-07-28 13:24  twisti
8269
8270         * src/vm/jit/dseg.c (desg_increase): Removed.
8271         (dseg_finish): New function.
8272         (dseg_find_s4): Likewise.
8273         (dseg_find_s8): Likewise.
8274         (dseg_find_float): Likewise.
8275         (dseg_find_double): Likewise.
8276         (dseg_find_address): Likewise.
8277         (dseg_add_s4_intern): Likewise.
8278         (dseg_add_unique_s4): Likewise.
8279         (dseg_add_s4): Likewise.
8280         (dseg_add_s8_intern): Likewise.
8281         (dseg_add_unique_s8): Likewise.
8282         (dseg_add_s8): Likewise.
8283         (dseg_add_float_intern): Likewise.
8284         (dseg_add_unique_float): Likewise.
8285         (dseg_add_float): Likewise.
8286         (dseg_add_double_intern): Likewise.
8287         (dseg_add_unique_double): Likewise.
8288         (dseg_add_double): Likewise.
8289         (dseg_add_address_intern): Likewise.
8290         (dseg_add_unique_address): Likewise.
8291         (dseg_add_address): Likewise.
8292         
8293         * src/vm/jit/dseg.h (dsegentry): New structure.
8294         
8295         * src/vm/jit/codegen-common.c (codegen_setup): Don't allocate memory
8296         for data segment.
8297         (codegen_finish): Call dseg_finish.
8298         
8299         * src/vm/jit/codegen-common.h (codegendata): Removed dsegtop and
8300         dsegsize, added dseg.
8301         
8302         * src/vm/jit/powerpc/codegen.c: Use new dseg function names.
8303         
8304         * src/vm/jit/powerpc/emit.c (vm/jit/dseg.h): Added.
8305         (emit_iconst): Use new dseg function names.
8306
8307 2006-07-28 10:54  twisti
8308
8309         * src/vm/jit/powerpc/linux/md-abi.h (REG_ITMP23_PACKED): New define.
8310         * src/vm/jit/powerpc/darwin/md-abi.h (REG_ITMP23_PACKED): Likewise.
8311
8312 2006-07-28 10:12  twisti
8313
8314         * src/vm/loader.c (load_class_from_classbuffer): Enable "Extra bytes
8315         at the end of class file"-check, since we are something like Java 1.5.
8316
8317 2006-07-26 15:20  twisti
8318
8319         * src/vm/jit/jit.h (INSTRUCTION_UNRESOLVED_CLASS): Defined.
8320         
8321         * src/vm/jit/alpha/codegen.c (codegen): First changes for duplicate
8322         patcher removal.
8323
8324 2006-07-26 14:50  twisti
8325
8326         * src/vm/jit/show.c (new_show_method): Print stub length in method
8327         header.
8328         (show_method): Likewise.
8329         
8330         * src/vm/jit/codegen-common.c (codegen_addpatchref): Don't cast to
8331         u1*.
8332
8333 2006-07-26 13:27  twisti
8334
8335         * src/vm/jit/parse.h (code_get_u1, code_get_s1, code_get_u2)
8336         (code_get_s2, code_get_u4, code_get_s4): Removed.
8337         
8338         * src/vm/suck.h (SUCK_BE_S1, SUCK_BE_S2, SUCK_BE_S4, SUCK_BE_S8):
8339         Defined.
8340         
8341         * src/vm/jit/parse.c (vm/suck.h): Added.
8342         (new_parse): Use SUCK_BE_* macros instead of code_get_*.
8343         (parse): Likewise.
8344
8345 2006-07-26 11:04  twisti
8346
8347         * src/vm/builtin.c (builtin_print_argument): #ifndef NDEBUG.
8348
8349 2006-07-26 10:16  twisti
8350
8351         * src/vm/jit/powerpc/linux/md-asm.h: Added register defines.
8352
8353 2006-07-26 10:06  twisti
8354
8355         * src/vm/jit/powerpc/darwin/md-asm.h: Added fr register defines again,
8356         we need them.
8357         
8358         * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Use internal
8359         register defines instead of numbers, as darwin does not understand it.
8360         (asm_replacement_in): Likewise.
8361
8362 2006-07-26 09:59  twisti
8363
8364         * src/vm/jit/powerpc/darwin/md-asm.h (mach/ppc/asm.h): Removed. Don't
8365         define the fr register names.
8366
8367 2006-07-26 09:43  twisti
8368
8369         * src/vm/jit/powerpc/linux/md-asm.h (asm/ppc_asm.h): Removed, it's not
8370         an official kernel header.
8371         
8372         * src/vm/jit/powerpc/asmpart.S: Use CACAO internal register defines or
8373         simple register numbers.
8374
8375 2006-07-25 18:30  twisti
8376
8377         * src/vm/global.h (IS_FLT_TYPE): Added.
8378         (IS_DBL_TYPE): Likewise.
8379
8380 2006-07-25 16:00  twisti
8381
8382         * src/vm/jit/i386/md-emit.h (emit_ialu): Removed.
8383         (emit_ialuconst): Likewise.
8384         (emit_lalu): Likewise.
8385         (emit_laluconst): Likewise.
8386         (emit_ishift): Likewise.
8387         (emit_ishiftconst): Likewise.
8388         (emit_ifcc_iconst): Likewise.
8389
8390 2006-07-25 15:57  twisti
8391
8392         * src/vm/jit/jit.h (ICMD_ELSE_ICONST): Removed.
8393         (ICMD_IFEQ_ICONST): Likewise.
8394         (ICMD_IFNE_ICONST): Likewise.
8395         (ICMD_IFLT_ICONST): Likewise.
8396         (ICMD_IFGE_ICONST): Likewise.
8397         (ICMD_IFGT_ICONST): Likewise.
8398         (ICMD_IFLE_ICONST): Likewise.
8399         
8400         * src/vm/jit/jit.c (icmd_names): Set removed ICMDs to UNDEF.
8401         
8402         * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
8403         Removed ICMDs.
8404         (allocate_scratch_registers): Likewise.
8405         
8406         * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
8407         
8408         * src/vm/jit/stack.c (new_stack_analyse): Likewise.
8409         (stack_analyse): Likewise.
8410         
8411         * src/vm/jit/show.c (new_show_icmd): Likewise.
8412         (show_icmd): Likewise.
8413         
8414         * src/vm/jit/alpha/arch.h (CONDITIONAL_LOADCONST): Removed.
8415         * src/vm/jit/i386/arch.h: Likewise.
8416         * src/vm/jit/mips/arch.h: Likewise.
8417         * src/vm/jit/powerpc/arch.h: Likewise.
8418         * src/vm/jit/powerpc64/arch.h: Likewise.
8419         * src/vm/jit/sparc64/arch.h: Likewise.
8420         * src/vm/jit/x86_64/arch.h: Likewise.
8421         
8422         * src/vm/jit/alpha/codegen.c (codegen): Removed ICMDs.
8423         * src/vm/jit/i386/codegen.c: Likewise.
8424         * src/vm/jit/mips/codegen.c: Likewise.
8425         * src/vm/jit/sparc64/codegen.c: Likewise.
8426         * src/vm/jit/x86_64/codegen.c: Likewise.
8427         
8428         * src/vm/jit/i386/emit.c (emit_ifcc_iconst): Removed.
8429
8430 2006-07-25 15:33  twisti
8431
8432         * src/vm/jit/x86_64/md.c (md_signal_handler_sigusr2): Fixed comment.
8433         
8434         * src/vm/jit/i386/linux/md-os.c (md_signal_handler_sigusr2): New
8435         function.
8436
8437 2006-07-25 13:52  twisti
8438
8439         * src/vm/jit/jit.h (TYPE_INT, TYPE_LNG, TYPE_FLT, TYPE_DBL, TYPE_ADR)
8440         (IS_INT_LNG_TYPE, IS_FLT_DBL_TYPE, IS_2_WORD_TYPE)
8441         (IS_INT_TYPE, IS_LNG_TYPE, IS_ADR_TYPE, IS_VOID_TYPE): Removed.
8442         
8443         * src/vm/global.h (TYPE_LONG, TYPE_FLOAT, TYPE_DOUBLE, TYPE_ADDRESS):
8444         Removed.
8445         (TYPE_INT, TYPE_LNG, TYPE_FLT, TYPE_DBL, TYPE_ADR)
8446         (IS_INT_LNG_TYPE, IS_FLT_DBL_TYPE, IS_2_WORD_TYPE)
8447         (IS_INT_TYPE, IS_LNG_TYPE, IS_ADR_TYPE, IS_VOID_TYPE): Added.
8448         
8449         * src/vm/loader.c (load_field): Use short TYPE_* defines.
8450         (load_newly_created_array): Likewise.
8451         
8452         * src/vm/descriptor.c (descriptor_to_basic_type): Likewise.
8453         (descriptor_typesize): Likewise.
8454         (descriptor_to_typedesc): Likewise.
8455         (descriptor_pool_parse_method_descriptor): Likewise.
8456         (descriptor_debug_print_typedesc): Likewise.
8457         
8458         * src/vm/jit/verify/typecheck.c (typestack_copy): Likewise.
8459         (typestack_put_retaddr): Likewise.
8460         (typestack_merge): Likewise.
8461         (verify_basic_block): Likewise.
8462         (verify_init_locals): Likewise.
8463         
8464         * src/vm/jit/verify/typeinfo.c (typevectorset_copymergedtype):
8465         Likewise.
8466         (typevectorset_store_retaddr): Likewise.
8467         (typevectorset_store_twoword): Likewise.
8468         (typevector_merge): Likewise.
8469         (typeinfos_init_from_methoddesc): Likewise.
8470         (typeinfo_test_parse): Likewise.
8471         (typeinfo_print_type): Likewise.
8472         (typeinfo_print_stacktype): Likewise.
8473         
8474         * src/vm/jit/verify/typeinfo.h (TYPE_IS_RETURNADDRESS): Likwise.
8475         (TYPE_IS_REFERENCE): Likwise.
8476         
8477         * src/native/jni.c (_Jv_jni_vmargs_from_objectarray): Likewise.
8478
8479 2006-07-25 12:33  twisti
8480
8481         * src/mm/memory.c (memory_cnew): When MAP_ANONYMOUS and MAP_ANON are
8482         not defined, we use simply malloc. This is required for IRIX.
8483
8484 2006-07-25 11:38  twisti
8485
8486         * configure.ac (AC_FUNC_MMAP): Added.
8487         (AC_CHECK_FUNCS): Removed mprotect.
8488         
8489         * src/mm/memory.c (DEFAULT_CODEMEM_SIZE): Renamed to
8490         DEFAULT_CODE_MEMORY_SIZE.
8491         (codememlock): Renamed to lock_code_memory.
8492         (codememptr): Renamed to code_memory.
8493         (codememsize): Renamed to code_memory_size.
8494         (pagesize): Added global static variable.
8495         (memory_init): Use new variable names and set pagesize.
8496         (memory_cnew): Don't use malloc/mprotect as this makes some problems
8497         with selinux enabled distributions. Instead use mmap.
8498
8499 2006-07-21 14:40  twisti
8500
8501         * src/boehm-gc/configure.in (MY_CFLAGS): Commented. We want to use the
8502         top-level CFLAGS.
8503         * src/boehm-gc/Makefile.am (LTCOMPILE): Likewise.
8504         (LINK): Likewise.
8505
8506 2006-07-21 14:15  twisti
8507
8508         * src/vm/jit/powerpc/linux/md-asm.h (__ASSEMBLY__): Defined. It's
8509         required for <asm/ppc_asm.h> on my Debian system.
8510
8511 2006-07-21 10:09  twisti
8512
8513         * src/vm/exceptions.c (new_verifyerror): Renamed to
8514         exceptions_new_verifyerror.
8515         (exceptions_throw_verifyerror): New function.
8516         * src/vm/exceptions.h (new_verifyerror): Renamed to
8517         exceptions_new_verifyerror.
8518         (exceptions_throw_verifyerror): Added.
8519         
8520         * src/vm/resolve.c: Use exceptions_throw_verifyerror instead of
8521         new_verifyerror.
8522         * src/vm/jit/parse.c: Likewise.
8523         * src/vm/jit/stack.c: Likewise.
8524         * src/vm/jit/verify/typecheck.c: Likewise.
8525         * src/vm/jit/verify/typeinfo.c: Likewise.
8526         
8527         * src/cacaoh/headers.c (new_verifyerror): Renamed to
8528         exceptions_throw_verifyerror.
8529
8530 2006-07-21 09:24  twisti
8531
8532         * src/vm/builtin.c (builtin_asm_get_exceptionptrptr): Removed.
8533         * src/vm/builtin.h (builtin_get_exceptionptrptr): Likewise.
8534
8535 2006-07-19 15:54  twisti
8536
8537         * src/vm/jit/mips/patcher.c (assert.h): Added.
8538         (vm/exceptions.h): Added.
8539         (vm/jit/methodheader.h): Likewise.
8540         (patcher_wrapper): New function.
8541         (patcher_get_putstatic): Removed monitor enter/exit, this is now done
8542         by the wrapper.
8543         (patcher_get_putfield): Likewise.
8544         (patcher_aconst): Likewise.
8545         (patcher_builtin_multianewarray): Likewise.
8546         (patcher_builtin_arraycheckcast): Likewise.
8547         (patcher_invokestatic_special): Likewise.
8548         (patcher_invokevirtual): Likewise.
8549         (patcher_invokeinterface): Likewise.
8550         (patcher_checkcast_instanceof_flags): Likewise.
8551         (patcher_checkcast_instanceof_interface): Likewise.
8552         (patcher_checkcast_instanceof_class): Likewise.
8553         (patcher_clinit): Likewise.
8554         (patcher_athrow_areturn): Likewise.
8555         (patcher_resolve_native): Likewise.
8556         
8557         * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Use
8558         exceptions_get_and_clear_exception.
8559         (asm_abstractmethoderror): Added missing .ent/.end.
8560         (asm_wrapper_patcher): Use patcher_wrapper.
8561
8562 2006-07-19 13:38  twisti
8563
8564         * src/vm/jit/show.c (new_show_method): Print data length.
8565         (show_method): Likewise.
8566
8567 2006-07-19 13:07  tbfg
8568
8569         * src/vm/jit/powerpc64/* (global): changed all powerpc references to
8570         powerpc64.
8571
8572 2006-07-19 12:09  twisti
8573
8574         * src/vm/jit/show.c (new_show_method): Print method's code length.
8575         (show_method): Likewise.
8576
8577 2006-07-19 09:13  twisti
8578
8579         * src/vm/jit/alpha/patcher.c (patcher_wrapper): Patch back the
8580         original instruction on successful returns.
8581         (patcher_get_putstatic): Removed instruction patching.
8582         (patcher_get_putfield): Likewise.
8583         (patcher_aconst): Likewise.
8584         (patcher_builtin_multianewarray): Likewise.
8585         (patcher_builtin_arraycheckcast): Likewise.
8586         (patcher_invokestatic_special): Likewise.
8587         (patcher_invokevirtual): Likewise.
8588         (patcher_invokeinterface): Likewise.
8589         (patcher_checkcast_instanceof_flags): Likewise.
8590         (patcher_checkcast_instanceof_interface): Likewise.
8591         (patcher_checkcast_instanceof_class): Likewise.
8592         (patcher_clinit): Likewise.
8593         (patcher_athrow_areturn): Likewise.
8594         (patcher_resolve_native): Likewise.
8595
8596 2006-07-18 18:38  tbfg
8597
8598         * src/vm/jit/powerpc64/linux/md-abi.c (md_return_alloc): isleafmethod
8599         has been moved to jitdata.
8600         
8601         * src/vm/jjit/powerpc64/codegen.c (global): fixes for isleafmethod
8602         changes, BUILTIN_monitor* renamed to LOCK_monitor_*
8603         codegen_add_classcastexception_ref api changed.
8604         
8605         * src/vm/jit/powerpc64/asmpart.S (global): fixed R_PPC64_ADDR32
8606         issues (32 bit adresses) all jump tables data types from
8607         long to quad and synched with powerpc asmpart.S.
8608
8609 2006-07-18 14:05  twisti
8610
8611         * src/mm/memory.c (memory_cfree): New function.
8612         * src/mm/memory.h (CFREE): Define to memory_cfree.
8613         (memory_cfree): Added.
8614
8615 2006-07-18 11:09  twisti
8616
8617         * src/native/jvmti/Makefile.am (lib_LTLIBRARIES): Removed libjdwp.la.
8618         (libjdwp_la_SOURCES): Removed.
8619         
8620         * src/native/jvmti/VMjdwp.c: Removed.
8621         * src/native/jvmti/VMjdwp.h: Likewise.
8622         
8623         * src/native/vm/Makefile.am [ENABLE_JVMTI] (lib_LTLIBRARIES): Added
8624         libjdwp.la.
8625         (libjdwp_la_SOURCES): Added.
8626         
8627         * src/native/vm/VMFrame.c: Removed.
8628         * src/native/vm/VMMethod.c: Likewise.
8629         * src/native/vm/VMVirtualMachine.c: Likewise.
8630         
8631         * src/native/vm/VMjdwp.c: Added.
8632         * src/native/vm/VMjdwp.h: Likewise.
8633         * src/native/vm/gnu_classpath_jdwp_VMVirtualMachine.c: Likewise.
8634         * src/native/vm/gnu_classpath_jdwp_VMFrame.c: Likewise.
8635         * src/native/vm/gnu_classpath_jdwp_VMMethod.c: Likewise.
8636
8637 2006-07-18 11:02  motse
8638
8639         * src/native/jvmti/VMjdwp.c (Breakpoint): adapt BreakpointEvent
8640         signature to changed gnu classpath jdwp implementation.
8641         (fillidcache): idem
8642
8643 2006-07-18 08:56  twisti
8644
8645         * src/vm/builtin.c (builtin_trace_args): Added missing
8646         TRACE_ARGS_NUM >= 4 case.
8647
8648 2006-07-18 08:36  twisti
8649
8650         * src/vm/jit/powerpc/darwin/md-asm.h (asm_wrapper_patcher): Renamed to
8651         asm_patcher_wrapper.
8652
8653 2006-07-18 08:19  twisti
8654
8655         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added package
8656         prefix to filenames.
8657         
8658         * src/native/vm/VMClassLoader.c: Removed.
8659         * src/native/vm/VMThrowable.c: Likewise.
8660         * src/native/vm/VMAccessController.c: Likewise.
8661         * src/native/vm/VMString.c: Likewise.
8662         * src/native/vm/VMObject.c: Likewise.
8663         * src/native/vm/VMStackWalker.c: Likewise.
8664         * src/native/vm/Field.c: Likewise.
8665         * src/native/vm/VMSystem.c: Likewise.
8666         * src/native/vm/VMSystemProperties.c: Likewise.
8667         * src/native/vm/VMClass.c: Likewise.
8668         * src/native/vm/VMThread.c: Likewise.
8669         * src/native/vm/Method.c: Likewise.
8670         * src/native/vm/VMProxy.c: Likewise.
8671         * src/native/vm/Constructor.c: Likewise.
8672         * src/native/vm/VMRuntime.c: Likewise.
8673         
8674         * src/native/vm/gnu_classpath_VMStackWalker.c: Added.
8675         * src/native/vm/java_lang_VMSystem.c: Likewise.
8676         * src/native/vm/java_lang_reflect_Method.c: Likewise.
8677         * src/native/vm/java_lang_VMObject.c: Likewise.
8678         * src/native/vm/java_lang_VMString.c: Likewise.
8679         * src/native/vm/gnu_classpath_VMSystemProperties.c: Likewise.
8680         * src/native/vm/java_lang_VMRuntime.c: Likewise.
8681         * src/native/vm/java_lang_reflect_Field.c: Likewise.
8682         * src/native/vm/java_lang_VMThrowable.c: Likewise.
8683         * src/native/vm/java_lang_VMClassLoader.c: Likewise.
8684         * src/native/vm/java_lang_VMClass.c: Likewise.
8685         * src/native/vm/java_lang_VMThread.c: Likewise.
8686         * src/native/vm/java_security_VMAccessController.c: Likewise.
8687         * src/native/vm/java_lang_reflect_VMProxy.c: Likewise.
8688         * src/native/vm/java_lang_reflect_Constructor.c: Likewise.
8689
8690 2006-07-18 08:16  twisti
8691
8692         * src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c: New
8693         file.
8694
8695 2006-07-18 08:14  twisti
8696
8697         * src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c
8698         (vm/vm.h): Added.
8699         (getStartTime): Implemented.
8700
8701 2006-07-18 08:05  twisti
8702
8703         * src/native/vm/VMSystemProperties.c (preInit): Added
8704         gnu.java.compiler.name property.
8705
8706 2006-07-17 16:11  twisti
8707
8708         * src/vm/jit/jit.h (IS_VOID_TYPE): Added.
8709         
8710         * src/vm/builtin.c (builtin_print_argument): New function.
8711         (builtin_trace_args): Rewritten. Uses builtin_trace_args and prints
8712         arguments much better.
8713         (builtin_displaymethodstop): Likewise.
8714
8715 2006-07-17 15:14  twisti
8716
8717         * src/native/jvmti/.cvsignore (TAGS): Added.
8718         (cacaodbgserver): Likewise.
8719
8720 2006-07-17 15:11  twisti
8721
8722         * configure.ac (CACAO_LIBDIR): Added.
8723         
8724         * src/vm/classcache.c [ENABLE_JVMTI] (lock_hashtable_classcache):
8725         Don't export it.
8726         (classcache_jvmti_GetLoadedClasses): New method.
8727         
8728         * src/vm/classcache.h (CLASSCACHE_LOCK): Don't define it.
8729         (CLASSCACHE_UNLOCK): Likewise.
8730         (lock_hashtable_classcache): Don't export it.
8731         (classcache_jvmti_GetLoadedClasses): Added.
8732         
8733         * src/vm/vm.c (vm_create): Use CACAO_LIBDIR in OPT_XRUNJDWP.
8734         
8735         * src/native/jvmti/jvmti.c (GetLoadedClasses): Use
8736         classcache_jvmti_GetLoadedClasses.
8737         (jvmti_agentload): Some code cleanup.
8738
8739 2006-07-17 13:50  twisti
8740
8741         * src/native/include/include/Makefile.am (GEN_JVMTI_HEADER_FILES):
8742         Reordered.
8743         
8744         * src/native/include/include/.cvsignore
8745         (gnu_classpath_jdwp_VMMethod.h): Added.
8746         (gnu_classpath_jdwp_util_VariableTable.h): Likewise.
8747
8748 2006-07-17 11:48  twisti
8749
8750         * src/vm/jit/asmpart.h (asm_wrapper_patcher): Renamed to
8751         asm_patcher_wrapper.
8752         
8753         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
8754         (createnativestub): Likewise.
8755         * src/vm/jit/alpha/asmpart.S (asm_wrapper_patcher): Likewise.
8756         
8757         * src/vm/jit/i386/codegen.c (codegen): Likewise.
8758         (createnativestub): Likewise.
8759         * src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Likewise.
8760         
8761         * src/vm/jit/mips/codegen.c (codegen): Likewise.
8762         (createnativestub): Likewise.
8763         * src/vm/jit/mips/asmpart.S (asm_wrapper_patcher): Likewise.
8764         
8765         * src/vm/jit/powerpc/codegen.c (codegen): Likewise.
8766         (createnativestub): Likewise.
8767         * src/vm/jit/powerpc/asmpart.S (asm_wrapper_patcher): Likewise.
8768         
8769         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
8770         (createnativestub): Likewise.
8771         * src/vm/jit/powerpc64/asmpart.S (asm_wrapper_patcher): Likewise.
8772         
8773         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
8774         (createnativestub): Likewise.
8775         * src/vm/jit/x86_64/asmpart.S (asm_wrapper_patcher): Likewise.
8776
8777 2006-07-17 11:09  twisti
8778
8779         * src/mm/boehm.c (heap_allocate): Changed signature. Some cleanup.
8780         * src/mm/boehm.h (heap_allocate): Likewise.
8781
8782 2006-07-17 10:00  twisti
8783
8784         * src/native/vm/VMRuntime.c (maxMemory): Comment fix.
8785         (availableProcessors): Likewise.
8786
8787 2006-07-17 09:47  twisti
8788
8789         * src/vm/jit/x86_64/patcher.c (vm/jit/x86_64/codegen.h): Added.
8790         (vm/exceptions.h): Likewise.
8791         (patcher_get_putstatic): Removed monitor enter/exit and return address
8792         calculation, this is now done by the wrapper.
8793         (patcher_get_putfield): Likewise.
8794         (patcher_putfieldconst): Likewise.
8795         (patcher_aconst): Likewise.
8796         (patcher_builtin_multianewarray): Likewise.
8797         (patcher_builtin_arraycheckcast): Likewise.
8798         (patcher_invokestatic_special): Likewise.
8799         (patcher_invokevirtual): Likewise.
8800         (patcher_invokeinterface): Likewise.
8801         (patcher_checkcast_instanceof_flags): Likewise.
8802         (patcher_checkcast_instanceof_interface): Likewise.
8803         (patcher_checkcast_class): Likewise.
8804         (patcher_instanceof_class): Likewise.
8805         (patcher_clinit): Likewise.
8806         (patcher_athrow_areturn): Likewise.
8807         (patcher_resolve_native): Likewise.
8808         
8809         * src/vm/jit/x86_64/asmpart.S (asm_wrapper_patcher): Use
8810         patcher_wrapper.
8811
8812 2006-07-16 15:58  twisti
8813
8814         * src/native/jvmti/jvmti.c (DestroyRawMonitor): Don't pass
8815         threadobject to lock_monitor_exit.
8816         (RawMonitorEnter): Changed builtin_monitorenter to lock_monitor_enter.
8817         (RawMonitorExit): Changed builtin_monitorexit to lock_monitor_exit.
8818
8819 2006-07-16 15:38  twisti
8820
8821         * src/vm/jit/recompile.c (recompile_threadobject): Renamed to
8822         recompile_vmthread and changed type to java_lang_VMThread.
8823         (recompile_start_thread): Changed initialization of the thread
8824         object. This fixes the not-exit bug.
8825         
8826         * src/vm/jit/profile/profile.c (profile_threadobject): Renamed to
8827         profile_vmthread.
8828         (profile_thread): Call codegen_get_pv_from_pc_nocheck instead of
8829         codegen_findmethod.
8830         (profile_start_thread): Changed initialization of the thread
8831         object.
8832         
8833         * src/vm/jit/codegen-common.c (codegen_findmethod): Print a stacktrace
8834         if no function was found and exit the VM.
8835         (codegen_get_pv_from_pc_nocheck): New function. Like
8836         codegen_findmethod, but can return NULL.
8837         * src/vm/jit/codegen-common.h (codegen_get_pv_from_pc_nocheck): Added.
8838
8839 2006-07-14 17:08  edwin
8840
8841         * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
8842         Fixed dupslots indices for ICMD_SWAP.
8843
8844 2006-07-14 17:07  edwin
8845
8846         * src/vm/jit/show.c (new_show_icmd): General handling of
8847         INS_FLAG_UNRESOLVED.
8848
8849 2006-07-14 17:06  edwin
8850
8851         * src/vm/jit/show.c (new_show_icmd): Fixed showing of LASTORECONST.
8852
8853 2006-07-14 17:05  edwin
8854
8855         * src/vm/jit/stack.c (new_stack_analyse): Fixed propagation of
8856         INS_FLAG_UNRESOLVED for PUTFIELDCONST/PUTSTATICCONST.
8857
8858 2006-07-14 17:03  edwin
8859
8860         * src/vm/jit/stack.c (DUP_SLOT): Copy only TEMPVARs directly.
8861
8862 2006-07-14 17:02  edwin
8863
8864         * src/vm/jit/parse.c (new_parse): No exception check for
8865         MONITORENTER.
8866
8867 2006-07-14 16:58  edwin
8868
8869         * src/vm/jit/show.c (new_show_stackvar): Show varkind and varnum for
8870         variables with an invalid varkind.
8871
8872 2006-07-14 16:56  edwin
8873
8874         * src/vm/jit/stack.c (new_stack_analyse): Use POPANY for DUP*
8875         instructions, in order to set varkind correctly. The repeated
8876         POPANY macros should probably be replaced by more efficient
8877         code.
8878
8879 2006-07-14 16:54  edwin
8880
8881         * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
8882         Fixed dupslots indices for ICMD_DUP_X1.
8883
8884 2006-07-14 16:52  edwin
8885
8886         * src/vm/jit/parse.h (NEW_OP_STORE_ONEWORD): Store index in dst,
8887         not in s1.
8888         (NEW_OP_STORE_TWOWORD): Likewise.
8889
8890 2006-07-13 11:54  twisti
8891
8892         * src/vm/jit/powerpc/codegen.c (codegen): Use lock_monitor_enter/exit
8893         instead of builtin_monitorenter/exit.
8894
8895 2006-07-13 11:17  motse
8896
8897         * doc/handbook/jvmti.tex: documentation of the cacao jvmti
8898         implementation added to the cacao handbook
8899         * doc/handbook/arch.eps: idem
8900         * doc/handbook/cacao.tex: idem
8901         * doc/handbook/java.bib: idem
8902         * doc/handbook/arm.tex: added bounding box for arm-double-memory.png
8903
8904 2006-07-13 10:26  twisti
8905
8906         * src/vm/jit/mips/codegen.c (codegen): Use lock_monitor_enter/exit
8907         instead of builtin_monitorenter/exit.
8908         (createnativestub): Don't use builtin_get_exceptionptrptr, but
8909         codegen_finish_native_call for exception check.
8910
8911 2006-07-12 22:55  twisti
8912
8913         * src/mm/memory.c (vm/vm.h): Added.
8914         (memory_cnew): Replaced throw_cacao_exception_exit with vm_abort.
8915         (dump_release): Likewise.
8916         
8917         * src/toolbox/util.c (_Jv_getcwd): Likewise.
8918
8919 2006-07-12 22:12  twisti
8920
8921         * src/vm/jit/alpha/codegen.c (codegen): Use lock_monitor_enter/exit
8922         instead of builtin_monitorenter/exit.
8923
8924 2006-07-12 21:59  twisti
8925
8926         * src/vm/jit/i386/codegen.c (codegen): Use lock_monitor_enter/exit
8927         instead of builtin_monitorenter/exit.
8928
8929 2006-07-12 21:45  twisti
8930
8931         * src/vm/builtin.c (builtin_monitorenter): Removed.
8932         (builtin_staticmonitorenter): Likewise.
8933         (builtin_monitorexit): Likewise.
8934         * src/vm/builtin.h: Likewise.
8935         
8936         * src/threads/native/lock.c (lock_monitor_enter): Don't pass
8937         threadobject, get it in this function.
8938         (lock_monitor_exit): Likewise.
8939         
8940         * src/threads/native/lock.h (lock_monitor_enter): Changed signature.
8941         (lock_monitor_exit): Likewise.
8942         (LOCK_monitor_enter): Defined.
8943         (LOCK_monitor_exit): Likewise.
8944         (LOCK_MONITOR_ENTER): Likewise.
8945         (LOCK_MONITOR_EXIT): Likewise.
8946         
8947         * src/vm/suck.c: Use lock_monitor_enter/exit instead of
8948         builtin_monitorenter/exit.
8949         * src/vm/string.c: Likewise.
8950         * src/vm/finalizer.c: Likewise.
8951         * src/vm/classcache.c: Likewise.
8952         * src/vm/initialize.c: Likewise.
8953         * src/vm/jit/recompile.c: Likewise.
8954         * src/vm/jit/show.c: Likewise.
8955         * src/vm/jit/patcher.h: Likewise.
8956         * src/vm/jit/parse.c: Likewise.
8957         * src/vm/jit/x86_64/md.c: Likewise.
8958         * src/vm/jit/x86_64/codegen.c: Likewise.
8959         * src/vm/jit/jit.c: Likewise.
8960         * src/vm/builtintable.inc: Likewise.
8961         * src/vm/exceptions.c: Likewise.
8962         * src/vm/linker.c: Likewise.
8963         * src/vm/utf8.c: Likewise.
8964         * src/native/jni.c: Likewise.
8965         * src/native/native.c: Likewise.
8966         * src/toolbox/avl.c: Likewise.
8967         * src/toolbox/list.c: Likewise.
8968         * src/mm/memory.c: Likewise.
8969         * src/cacaoh/headers.h: Likewise.
8970
8971 2006-07-12 21:33  twisti
8972
8973         * src/threads/Makefile.am: Added path to header.
8974
8975 2006-07-12 21:32  twisti
8976
8977         * src/vm/jit/Makefile.am (RECOMPILE_SOURCES): Added, compile recompile
8978         only if threads are enabled.
8979         
8980         * src/vm/vm.c (vm_create): Call recompile_init only if threads are
8981         enabled.
8982
8983 2006-07-12 21:27  twisti
8984
8985         * src/threads/none/.cvsignore: New file.
8986
8987 2006-07-12 21:26  twisti
8988
8989         * src/threads/none/Makefile.am: New file.
8990         * src/threads/none/lock.h: Likewise.
8991         * src/threads/Makefile.am (DIST_SUBDIRS): Added.
8992         * configure.ac (AC_CONFIG_FILES): Added src/threads/none/Makefile.
8993
8994 2006-07-12 20:27  twisti
8995
8996         * src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Use
8997         jd->isleafmethod.
8998
8999 2006-07-12 20:14  twisti
9000
9001         * src/vm/jit/powerpc/codegen.c (codegen): Use jd->isleafmethod.
9002         * src/vm/jit/powerpc/linux/md-abi.c (md_return_alloc): Likewise.
9003
9004 2006-07-12 15:02  twisti
9005
9006         * src/vm/jit/recompile.c (recompile_replace_vftbl): #ifndef NDEBUG
9007         debugging code.
9008
9009 2006-07-12 14:55  twisti
9010
9011         * src/vm/jit/powerpc/linux/md-abi.c (vm/jit/abi.h): Added.
9012         * src/vm/jit/powerpc/netbsd/md-abi.c: Likewise.
9013         * src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
9014         * src/vm/jit/alpha/md-abi.c: Likewise.
9015         * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
9016         * src/vm/jit/i386/md-abi.c: Likewise.
9017         
9018         * src/vm/jit/sparc64/md-abi.c: Added GNU header.
9019         (vm/jit/abi.h): Added.
9020
9021 2006-07-12 14:53  twisti
9022
9023         * src/vm/jit/mips/codegen.c (codegen): Use jd->isleafmethod. Pass
9024         register number to codegen_add_classcastexception_ref.
9025         
9026         * src/vm/jit/mips/md-abi.c (vm/jit/abi.h): Added.
9027         (md_return_alloc): Changed signature.
9028
9029 2006-07-12 14:42  edwin
9030
9031         * src/vm/jit/emit.h (emit_load): New function. This is a general
9032         function for emitting loads that will keep its stackvar argument
9033         after switching to the new instruction format. It will be used
9034         for instructions with variable arguments, for example.
9035         
9036         * src/vm/jit/x86_64/emit.c (emit_load): New function.
9037
9038 2006-07-12 13:52  twisti
9039
9040         * src/vm/jit/x86_64/codegen.c (codegen): Use jd->isleafmethod.
9041         * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Likewise.
9042
9043 2006-07-12 13:47  twisti
9044
9045         * src/vm/jit/code.c (code_get_stack_frame_size): Commented code, we
9046         need another implementation.
9047
9048 2006-07-11 22:23  twisti
9049
9050         * src/vm/jit/x86_64/asmpart.S (asm_call_jit_compiler): Use
9051         exceptions_get_and_clear_exception.
9052         (asm_wrapper_patcher): Likewise.
9053
9054 2006-07-11 19:17  twisti
9055
9056         * src/vm/jit/i386/emit.c: Changed prefix from i386_ to emit_.
9057         (vm/jit/emit.h): Added.
9058         (emit_load_s1_low): New function.
9059         (emit_load_s2_low): New function.
9060         
9061         * src/vm/jit/i386/md.c (md_get_method_patch_address): Changed
9062         instruction byte.
9063         
9064         * src/vm/jit/i386/md-emit.h: Changed prefix from i386_ to emit_. Added
9065         architecture defines.
9066         
9067         * src/vm/jit/i386/codegen.c Changed the code generator to produce
9068         RISC-like code. These are way too much changes to name them.
9069         
9070         * src/vm/jit/i386/codegen.h: Removed a lot of architecture stuff.
9071         
9072         * src/vm/jit/i386/patcher.c (vm/exceptions.h): Added.
9073         (patcher_wrapper): New function.
9074         (patcher_get_putstatic): Removed monitor enter/exit and return address
9075         calculation, this is now done by the wrapper.
9076         
9077         (patcher_getfield): Likewise.
9078         (patcher_putfield): Likewise.
9079         (patcher_putfieldconst): Likewise.
9080         (patcher_aconst): Likewise.
9081         (patcher_builtin_multianewarray): Likewise.
9082         (patcher_builtin_arraycheckcast): Likewise.
9083         (patcher_invokestatic_special): Likewise.
9084         (patcher_invokevirtual): Likewise.
9085         (patcher_invokeinterface): Likewise.
9086         (patcher_checkcast_instanceof_flags): Likewise.
9087         (patcher_checkcast_instanceof_interface): Likewise.
9088         (patcher_checkcast_class): Likewise.
9089         (patcher_instanceof_class): Likewise.
9090         (patcher_clinit): Likewise.
9091         (patcher_athrow_areturn): Likewise.
9092         (patcher_resolve_native): Likewise.
9093         
9094         * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Changed calling
9095         sequence of asm_call_jit_compiler.
9096         (asm_call_jit_compiler): Use jit_asm_compile.
9097         (asm_wrapper_patcher): Use patcher_wrapper.
9098
9099 2006-07-11 18:39  twisti
9100
9101         * src/vm/jit/emit.h [SIZEOF_VOID_P == 4] (emit_store_low): Added.
9102         [SIZEOF_VOID_P == 4] (emit_store_high): Likewise.
9103
9104 2006-07-11 18:35  twisti
9105
9106         * src/vm/jit/i386/md-asm.h (mptr): Added.
9107
9108 2006-07-11 18:34  twisti
9109
9110         * src/vm/jit/i386/md-abi.h (REG_METHODPTR): Added.
9111         (REG_ITMP12_PACKED): Likewise.
9112         (REG_ITMP13_PACKED): Likewise.
9113         (REG_ITMP23_PACKED): Likewise.
9114         (REG_RESULT_PACKED): Likewise.
9115         (EAX_EDX_PACKED): Likewise.
9116
9117 2006-07-11 17:10  twisti
9118
9119         * src/vm/jit/alpha/patcher.c (patcher_wrapper): Added return address
9120         calculation.
9121         (patcher_get_putstatic): Removed return address calculation.
9122         (patcher_get_putfield): Likewise.
9123         (patcher_aconst): Likewise.
9124         (patcher_builtin_multianewarray): Likewise.
9125         (patcher_builtin_arraycheckcast): Likewise.
9126         (patcher_invokestatic_special): Likewise.
9127         (patcher_invokevirtual): Likewise.
9128         (patcher_invokeinterface): Likewise.
9129         (patcher_checkcast_instanceof_flags): Likewise.
9130         (patcher_checkcast_instanceof_interface): Likewise.
9131         (patcher_checkcast_instanceof_class): Likewise.
9132         (patcher_clinit): Likewise.
9133         (patcher_athrow_areturn): Likewise.
9134         (patcher_resolve_native): Likewise.
9135
9136 2006-07-10 17:22  twisti
9137
9138         * configure.ac (disassembler): Disabled by default, made too many
9139         problems.
9140         
9141         * src/vm/vm.c (toolbox/util.h): Added.
9142         (vm_create): Save VM start time, #ifdef disassembler stuff.
9143         
9144         * src/native/jni.h (_Jv_JavaVM): Added starttime and
9145         Java_gnu_java_lang_management_VMMemoryMXBeanImpl_verbose.
9146         
9147         * src/toolbox/util.c (config.h): Added.
9148         (sys/time.h): Likewise.
9149         (vm/vm.h): Likewise.
9150         (util_current_time_millis): New function.
9151         
9152         * src/toolbox/util.h (config.h): Added.
9153         (vm/types.h): Likewise.
9154         (util_current_time_millis): New function.
9155
9156 2006-07-10 14:47  twisti
9157
9158         * src/vm/jit/alpha/codegen.c codegen): CHECKCAST: Load s1 again before
9159         exception check.
9160
9161 2006-07-10 14:42  twisti
9162
9163         * src/vm/jit/i386/emit.c (i386_call_mem): Removed.
9164
9165 2006-07-10 14:41  twisti
9166
9167         * src/vm/jit/i386/codegen.c (codegen): CHECKCAST: Load s1 again before
9168         exception check.
9169         (callgetexceptionptrptr): Removed.
9170
9171 2006-07-10 14:22  twisti
9172
9173         * src/vm/jit/i386/codegen.c (codegen): Use jd->isleafmethod.
9174
9175 2006-07-10 14:20  twisti
9176
9177         * src/vm/jit/jit.c (jit_jitdata_new): New function.
9178         (jit_compile): Use jit_jitdata_new.
9179         (jit_recompile): Likewise.
9180
9181 2006-07-10 14:11  twisti
9182
9183         * NEWS: Added ClassCastException and system assertions.
9184         * src/vm/jit/stack.c (new_stack_analyse): Changed missing
9185         jd->isleafmethod.
9186         (stack_analyse): Likewise.
9187
9188 2006-07-10 14:02  twisti
9189
9190         * src/vm/jit/code.h (codeinfo): Removed basicblocks and isleafmethod.
9191         * src/vm/jit/jit.h (jitdata): Added isleafmethod.
9192         
9193         * src/vm/jit/alpha/codegen.c (codegen): Use jd->isleafmethod. Pass
9194         register number to codegen_add_classcastexception_ref.
9195         
9196         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Use
9197         jd->isleafmethod.
9198         (local_regalloc): Likewise.
9199         
9200         * src/vm/jit/parse.c (new_parse): Likewise.
9201         (parse): Likewise.
9202         
9203         * src/vm/jit/parse.h (NEW_OP_BUILTIN_CHECK_EXCEPTION): Likewise.
9204         (NEW_OP_BUILTIN_NO_EXCEPTION): Likewise.
9205         (NEW_OP_BUILTIN_ARITHMETIC): Likewise.
9206         (BUILTIN): Likewise.
9207
9208 2006-07-10 13:53  twisti
9209
9210         * src/vm/jit/powerpc64/linux/.cvsignore: New file.
9211         * src/vm/jit/powerpc64/.cvsignore: Likewise.
9212
9213 2006-07-10 13:51  twisti
9214
9215         * src/vm/jit/alpha/patcher.c (assert.h): Added.
9216         (vm/exceptions.h): Added.
9217         (vm/jit/methodheader.h): Likewise.
9218         (patcher_wrapper): New function.
9219         (patcher_get_putstatic): Removed monitor enter/exit, this is now done
9220         by the wrapper.
9221         (patcher_get_putfield): Likewise.
9222         (patcher_aconst): Likewise.
9223         (patcher_builtin_multianewarray): Likewise.
9224         (patcher_builtin_arraycheckcast): Likewise.
9225         (patcher_invokestatic_special): Likewise.
9226         (patcher_invokevirtual): Likewise.
9227         (patcher_invokeinterface): Likewise.
9228         (patcher_checkcast_instanceof_flags): Likewise.
9229         (patcher_checkcast_instanceof_interface): Likewise.
9230         (patcher_checkcast_instanceof_class): Likewise.
9231         (patcher_clinit): Likewise.
9232         (patcher_athrow_areturn): Likewise.
9233         (patcher_resolve_native): Likewise.
9234         
9235         * src/vm/jit/alpha/asmpart.S (asm_wrapper_patcher): Use
9236         patcher_wrapper.
9237         
9238         * src/vm/jit/alpha/md-abi.c (md_return_alloc): Changed signature.
9239
9240 2006-07-10 13:36  twisti
9241
9242         * src/vm/statistics.c (count_class_infos): Renamed to size_classinfo.
9243         (size_fieldinfo): Added.
9244         (size_methodinfo): Likewise.
9245         (size_codeinfo): Likewise.
9246         (print_stats): Print new variables.
9247         
9248         * src/vm/statistics.h (count_class_infos): Renamed to size_classinfo.
9249         (size_fieldinfo): Added.
9250         (size_methodinfo): Likewise.
9251         (size_codeinfo): Likewise.
9252         
9253         * src/vm/class.c (class_create_classinfo): Renamed count_class_infos
9254         to size_classinfo.
9255         
9256         * src/vm/loader.c (load_class_from_classbuffer): Likewise and use new
9257         variables.
9258         
9259         * src/vm/jit/code.c [ENABLE_STATISTICS] (code_codeinfo_new): Add
9260         codeinfo size.
9261         [ENABLE_STATISTICS] (code_codeinfo_free): Subtract codeinfo size.
9262
9263 2006-07-10 10:18  twisti
9264
9265         * src/vm/jit/x86_64/codegen.c (codegen): Pass register number to
9266         codegen_add_classcastexception_ref.
9267
9268 2006-07-10 10:01  twisti
9269
9270         * src/lib/vm/reference/java/lang/VMClassLoader.java
9271         (defaultAssertionStatus): Made native.
9272         * src/native/vm/VMClassLoader.c (defaultAssertionStatus): Added.
9273         
9274         * src/native/jni.h (_Jv_JavaVM): Added
9275         Java_java_lang_VMClassLoader_defaultAssertionStatus.
9276         
9277         * src/vm/vm.c (OPT_ESA): Added.
9278         (OPT_DSA): Likewise.
9279
9280 2006-07-08 22:07  twisti
9281
9282         * src/vm/jit/methodheader.h (ExEntrySize): Removed.
9283         (ExStartPC): Likewise.
9284         (ExEndPC): Likewise.
9285         (ExHandlerPC): Likewise.
9286         (ExCatchType): Likewise.
9287
9288 2006-07-08 20:32  twisti
9289
9290         * src/vm/jit/i386/codegen.c (codegen): Pass register number to
9291         codegen_add_classcastexception_ref.
9292
9293 2006-07-08 20:16  twisti
9294
9295         * src/vm/utf8.c (utf_java_lang_ClassCastException): Added.
9296         (utf8_init): Initialize utf_java_lang_ClassCastException.
9297         * src/vm/utf8.h (utf_java_lang_ClassCastException): Added.
9298         
9299         * src/vm/class.c (class_java_lang_ClassCastException): Added.
9300         * src/vm/class.h (class_java_lang_ClassCastException): Likewise.
9301         
9302         * src/vm/exceptions.c (exceptions_init): Initialize
9303         class_java_lang_ClassCastException.
9304         
9305         (new_classcastexception): Renamed to
9306         exceptions_new_classcastexception, pass the failing class name to the
9307         exception.
9308         
9309         * src/vm/exceptions.h (exceptionptr): Use thread object directly.
9310         (new_classcastexception): Renamed to
9311         exceptions_new_classcastexception.
9312         
9313         * src/vm/jit/stacktrace.c (stacktrace_inline_classcastexception):
9314         Changed signature.
9315         * src/vm/jit/stacktrace.h (stacktrace_inline_classcastexception):
9316         Likewise.
9317         
9318         * src/vm/jit/codegen-common.c (codegen_add_classcastexception_ref):
9319         Likewise.
9320         * src/vm/jit/codegen-common.h (codegen_add_classcastexception_ref):
9321         Likewise.
9322         
9323         * src/vm/jit/powerpc/codegen.c (codegen): Pass register number to
9324         codegen_add_classcastexception_ref.
9325
9326 2006-07-08 19:08  twisti
9327
9328         * src/vm/jit/i386/codegen.c (createnativestub): Don't use
9329         builtin_get_exceptionptrptr, but codegen_finish_native_call for
9330         exception check.
9331
9332 2006-07-08 18:28  twisti
9333
9334         * configure.ac: Use ARCH_CFLAGS and OPT_CFLAGS instead of CFLAGS and
9335         pass the flags via AM_CFLAGS to Makefile's.
9336
9337 2006-07-08 14:20  twisti
9338
9339         * src/vm/jit/stacktrace.c (stacktrace_create): Added another code ==
9340         NULL check.
9341
9342 2006-07-06 22:52  twisti
9343
9344         * src/vm/jit/powerpc/darwin/md-abi.h (REG_ITMP12_PACKED): Added.
9345         (REG_RESULT_PACKED): Added.
9346         
9347         * src/vm/jit/powerpc/darwin/md-asm.h (patcher_wrapper): Added.
9348         
9349         * src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Changed
9350         signature.
9351         
9352         * src/vm/jit/powerpc/asmpart.S (L_patcher_wrapper$stub): Added.
9353
9354 2006-07-06 14:19  twisti
9355
9356         * src/vm/jit/x86_64/codegen.c (codegen): Use code variables.
9357         (createnativestub): Likewise and don't use
9358         builtin_get_exceptionptrptr, but codegen_finish_native_call for
9359         exception check.
9360         
9361         * src/vm/jit/x86_64/codegen.h (PROFILE_CYCLE_START): Use code
9362         variables.
9363         (PROFILE_CYCLE_STOP): Likewise.
9364         
9365         * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Changed signature.
9366
9367 2006-07-06 14:10  tbfg
9368
9369         fixed isleafmethod is now part of code issues
9370
9371 2006-07-06 13:59  tbfg
9372
9373         powerpc64 compiles
9374         arch.h and md-abi.h: modified PV register assignment
9375
9376 2006-07-06 12:42  twisti
9377
9378         * src/vm/jit/i386/codegen.c (codegen): Use code->isleafmethod.
9379         * src/vm/jit/i386/md-abi.c (md_return_alloc): Changed signature.
9380
9381 2006-07-06 11:36  twisti
9382
9383         * src/vm/method.h (methodinfo): Removed isleafmethod, frequency,
9384         bbfrequency and cycles.
9385         
9386         * src/vm/jit/powerpc/linux/md-abi.c (md_return_alloc): Changed
9387         signature, use code->isleafmethod.
9388         
9389         * src/vm/jit/powerpc/linux/md-abi.h (REG_IFTMP): Changed from 0 to 16.
9390         (REG_ITMP12_PACKED): Added.
9391         (REG_RESULT_PACKED): Likewise.
9392         
9393         * src/vm/jit/powerpc/codegen.c (vm/jit/methodheader.h): Added.
9394         (codegen): Use code->isleafmethod, added instrumentation code.
9395         
9396         * src/vm/jit/abi.h (md_return_alloc): Added.
9397         
9398         * src/vm/jit/stack.c (new_stack_analyse): Use code->isleafmethod.
9399         (stack_analyse): Likewise.
9400         
9401         * src/vm/jit/stack.h (md_return_alloc): Removed.
9402         
9403         * src/vm/jit/code.c (code_codeinfo_new): Don't memset as NEW already
9404         does that, set isleafmethod to true.
9405         
9406         * src/vm/jit/code.h (codeinfo): Added basicblockcount and basicblocks.
9407         
9408         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Use
9409         code->isleafmethod.
9410         (local_regalloc): Likewise.
9411         
9412         * src/vm/jit/parse.c (new_parse): Likewise.
9413         (parse): Likewise.
9414         
9415         * src/vm/jit/parse.h (NEW_OP_BUILTIN_CHECK_EXCEPTION): Likewise.
9416         (NEW_OP_BUILTIN_NO_EXCEPTION): Likewise.
9417         (NEW_OP_BUILTIN_ARITHMETIC): Likewise.
9418         (BUILTIN): Likewise.
9419         
9420         * src/vm/jit/replace.c (replace_create_replacement_points): Don't set
9421         code->isleafmethod, it's already set.
9422         
9423         * src/vm/jit/profile/profile.c (profile_printstats): Use code
9424         variables.
9425         
9426         * src/vm/jit/jit.c (jit_compile_intern): Don't set m->isleafmethod.
9427         
9428         * src/cacaoh/headers.c: Use stackcount instead of isleafmethod.
9429
9430 2006-07-05 11:48  twisti
9431
9432         * src/vm/descriptor.h: Removed space.
9433
9434 2006-07-04 19:06  twisti
9435
9436         * src/vm/jit/powerpc/darwin/md-asm.h
9437         (builtin_asm_get_exceptionptrptr): Removed.
9438         (_no_threads_exceptionptr): Likewise.
9439         (exceptions_get_and_clear_exception): Added.
9440         
9441         * src/vm/jit/powerpc/patcher.c (vm/exceptions.h): Added.
9442         (vm/jit/methodheader.h): Likewise.
9443         (patcher_wrapper): New function.
9444         (patcher_get_putstatic): Removed monitor enter/exit, this is now done
9445         by the wrapper.
9446         (patcher_get_putfield): Likewise.
9447         (patcher_aconst): Likewise.
9448         (patcher_builtin_multianewarray): Likewise.
9449         (patcher_builtin_arraycheckcast): Likewise.
9450         (patcher_invokestatic_special): Likewise.
9451         (patcher_invokevirtual): Likewise.
9452         (patcher_invokeinterface): Likewise.
9453         (patcher_checkcast_instanceof_flags): Likewise.
9454         (patcher_checkcast_instanceof_interface): Likewise.
9455         (patcher_checkcast_class): Likewise.
9456         (patcher_instanceof_class): Likewise.
9457         (patcher_clinit): Likewise.
9458         (patcher_athrow_areturn): Likewise.
9459         (patcher_resolve_native): Likewise.
9460         
9461         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): Use
9462         exceptions_get_and_clear_exception.
9463         (asm_wrapper_patcher): Likewise, use patcher_wrapper.
9464         (L_builtin_asm_get_exceptionptrptr$stub): Removed.
9465         (L_exceptions_get_and_clear_exception$stub): Added.
9466         
9467         * src/vm/jit/patcher.h (assert.h): Added.
9468         (PATCHER_FLAG_PATCHED): Likewise.
9469         (PATCHER_MONITORENTER): Added assert and return NULL.
9470         (PATCHER_MARK_PATCHED_MONITOREXIT): Use PATCHER_FLAG_PATCHED.
9471         (patcher_wrapper): Added.
9472
9473 2006-07-04 18:24  twisti
9474
9475         * src/vm/jit/powerpc/codegen.c (createnativestub): Don't use
9476         builtin_get_exceptionptrptr, but codegen_finish_native_call for
9477         exception check.
9478
9479 2006-07-04 16:56  twisti
9480
9481         * tests/regression/codepatching/test.java: Catch only thrown
9482         exceptions.
9483
9484 2006-07-04 16:05  twisti
9485
9486         * src/vm/jit/powerpc/darwin/md-os.c (md_signal_handler_sigusr2): New
9487         function.
9488         
9489         * src/vm/jit/powerpc/darwin/md-asm.h (asm_handle_nullptr_exception):
9490         Removed.
9491         (asm_abstractmethoderror): Added.
9492         (exceptions_asm_new_abstractmethoderror): Likewise.
9493         * src/vm/jit/powerpc/asmpart.S
9494         (L_exceptions_asm_new_abstractmethoderror$stub): Added.
9495
9496 2006-07-04 16:02  twisti
9497
9498         * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Code
9499         beautifying.
9500
9501 2006-07-03 14:06  twisti
9502
9503         * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use
9504         exceptions_get_and_clear_exception.
9505         (asm_wrapper_patcher): Likewise.
9506
9507 2006-07-03 13:49  twisti
9508
9509         * src/vm/jit/codegen-common.c (codegen_finish_native_call): Check for
9510         exception and return it.
9511         * src/vm/jit/codegen-common.h (codegen_finish_native_call): Changed
9512         signature.
9513         
9514         * src/vm/jit/alpha/codegen.c (createnativestub): Don't use
9515         builtin_get_exceptionptrptr, but codegen_finish_native_call for
9516         exception check.
9517         
9518         * src/vm/jit/alpha/codegen.h (M_ASUB_IMM): Added.
9519
9520 2006-07-03 13:46  twisti
9521
9522         * src/vm/jit/alpha/md-abi.c (nregdescint): Added comments.
9523
9524 2006-07-03 13:45  twisti
9525
9526         * src/vm/jit/alpha/linux/md-os.c (md_signal_handler_sigusr2): New
9527         method.
9528         (thread_restartcriticalsection): Code cleanup.
9529
9530 2006-07-03 12:06  twisti
9531
9532         * src/vm/jit/alpha/asmpart.S (asm_abstractmethoderror): New method.
9533
9534 2006-07-03 10:18  twisti
9535
9536         * src/vm/exceptions.c (exceptions_get_and_clear_exception): New
9537         function.
9538         * src/vm/exceptions.h (exceptions_get_and_clear_exception): Added.
9539
9540 2006-07-02 18:31  twisti
9541
9542         * src/lib/vm/reference/gnu/java: Added.
9543         * src/lib/vm/reference/gnu/java/lang: Likewise.
9544         * src/lib/vm/reference/gnu/java/lang/management: Likewise.
9545         *
9546         src/lib/vm/reference/gnu/java/lang/management/VMRuntimeMXBeanImpl.java:
9547         New file.
9548         * src/lib/Makefile.am (VM_JAVA_FILES): Added
9549         src/lib/vm/reference/gnu/java/lang/management/VMRuntimeMXBeanImpl.java.
9550         (VM_CLASS_FILES): Added
9551         classes/gnu/java/lang/management/VMRuntimeMXBeanImpl.class.
9552         (vm.zip, nozip): Removed ecj check.
9553         
9554         * src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c: New
9555         file.
9556         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
9557         gnu_java_lang_management_VMRuntimeMXBeanImpl.c.
9558         
9559         * src/native/include/.cvsignore: Added
9560         gnu_java_lang_management_VMRuntimeMXBeanImpl.h.
9561         * src/native/include/Makefile.am
9562         (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADER_FILES): Added
9563         gnu_java_lang_management_VMRuntimeMXBeanImpl.h.
9564         
9565         * src/native/native.c
9566         (native/include/gnu_java_lang_management_VMRuntimeMXBeanImpl.h):
9567         Added.
9568         (dummynativetable): Added
9569         Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getInputArguments
9570         and Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getStartTime.
9571
9572 2006-07-02 18:24  twisti
9573
9574         * m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Add -1.5 option when using ecj.
9575
9576 2006-07-02 11:00  twisti
9577
9578         * m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Added bootclasspath to compiler
9579         checks.
9580
9581 2006-07-02 10:42  twisti
9582
9583         * src/vm/jit/mips/asmpart.S (asm_abstractmethoderror): New function.
9584
9585 2006-06-28 22:47  twisti
9586
9587         * NEWS: Added new release.
9588
9589 2006-06-28 22:38  twisti
9590
9591         * src/lib/vm/reference/java/lang/VMThread.java: Updated to GNU
9592         Classpath version.
9593
9594 2006-06-28 21:52  twisti
9595
9596         * src/vm/jit/powerpc/asmpart.S (asm_abstractmethoderror): New
9597         function.
9598
9599 2006-06-28 21:51  twisti
9600
9601         * src/vm/exceptions.c (exceptions_handle_exception): Typo.
9602
9603 2006-06-28 21:46  twisti
9604
9605         * src/vm/linker.c (link_class_intern): Fixed compiler warning, added
9606         comment.
9607         (linker_addinterface): Fixed compiler warning.
9608
9609 2006-06-28 21:44  edwin
9610
9611         * src/vm/linker.c (link_class_intern): Converted the check against
9612         creating a stubroutine twice into an assert. The check became
9613         obsolete because abstract methods do no longer get compiler stubs.
9614
9615 2006-06-28 21:01  edwin
9616
9617         * src/vm/linker.c (link_class_intern): Do not generate compiler
9618         stubs for abstract methods.
9619
9620 2006-06-28 20:33  edwin
9621
9622         * src/vm/jit/intrp/codegen.c (intrp_codegen): Changed MethodPointer
9623         in method header to CodeinfoPointer.
9624         (intrp_createcompilerstub): Likewise.
9625         (intrp_createnativestub): Likewise.
9626         (createcalljavafunction): Likewise.
9627         
9628         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception):
9629         Changed MethodPointer in method header to CodeinfoPointer.
9630
9631 2006-06-28 19:43  twisti
9632
9633         * src/vm/exceptions.c (exceptions_asm_new_abstractmethoderror): New
9634         function.
9635         * src/vm/exceptions.h (exceptions_asm_new_abstractmethoderror): Added.
9636         
9637         * src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Use
9638         exceptions_asm_new_abstractmethoderror.
9639         * src/vm/jit/i386/asmpart.S (asm_abstractmethoderror): Likewise.
9640
9641 2006-06-28 19:11  twisti
9642
9643         * src/vm/utf8.c (utf_java_lang_AbstractMethodError): Added.
9644         (utf8_init): Initialize utf_java_lang_AbstractMethodError.
9645         * src/vm/utf8.h (utf_java_lang_AbstractMethodError): Added.
9646         
9647         * src/vm/class.c (class_java_lang_AbstractMethodError): Added.
9648         (class_resolveclassmethod): Use exceptions_throw_abstractmethoderror.
9649         * src/vm/class.h (class_java_lang_AbstractMethodError): Added.
9650         
9651         * src/vm/exceptions.c (exceptions_init): Initialize
9652         class_java_lang_AbstractMethodError.
9653         (exceptions_new_abstractmethoderror): New function.
9654         (exceptions_throw_abstractmethoderror): Likewise.
9655         * src/vm/exceptions.h (exceptions_new_abstractmethoderror)
9656         (exceptions_throw_abstractmethoderror): Added.
9657         
9658         * src/vm/resolve.c (resolve_method_invokespecial_lookup): Use
9659         exceptions_throw_abstractmethoderror.
9660         
9661         * src/vm/jit/asmpart.h (asm_abstractmethoderror): Added.
9662         
9663         * src/vm/jit/i386/asmpart.S (asm_abstractmethoderror): New function.
9664         * src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Likewise.
9665         
9666         * src/vm/linker.c (link_class_intern): Fill empty slots in vftbl with
9667         the AbstractMethodError stub.
9668         (linker_addinterface): Insert the AbstractMethodError stub if no
9669         suitable method was found.
9670         
9671         * src/cacaoh/headers.c (asm_abstractmethoderror): Added.
9672         (exceptions_throw_abstractmethoderror): Likewise.
9673
9674 2006-06-28 17:05  twisti
9675
9676         * src/vm/jit/jit.h (JITDATA_FLAG_INSTRUMENT)
9677         (JITDATA_HAS_FLAG_INSTRUMENT): Likewise.
9678         (ICMD_OPCODE_MASK, ICMD_CONDITION_MASK): Removed.
9679         
9680         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
9681         Removed ICMD_OPCODE_MASK.
9682         
9683         * src/vm/jit/show.c (show_icmd): Commented conditional stuff, maybe I
9684         need it again someday.
9685         
9686         * src/vm/jit/x86_64/emit.c (emit_store): Likewise.
9687         (emit_cmovxx): Likewise.
9688         * src/vm/jit/codegen-common.c (codegen_reg_of_var): Likewise.
9689
9690 2006-06-28 15:39  twisti
9691
9692         * src/vm/jit/x86_64/md.c [ENABLE_THREADS] (threads/native/threads.h):
9693         Added.
9694         (md_signal_handler_sigusr2): New function.
9695         (thread_restartcriticalsection): Code cleanup.
9696
9697 2006-06-28 08:24  twisti
9698
9699         * src/scripts/.cvsignore: Removed cacao, jarsigner, javac and keytool.
9700         * src/scripts: Updated svn:ignore.
9701         
9702         * src/scripts/Makefile.am (bin_SCRIPTS): Removed jarsigner and
9703         keytool, there are now wrappers in GNU Classpath.
9704         
9705         * src/scripts/javac.in: Removed.
9706         * src/scripts/jarsigner.in: Likewise.
9707         * src/scripts/cacao.in: Likewise.
9708         * src/scripts/keytool.in: Likewise.
9709         
9710         * configure.ac (AC_CONFIG_FILES): Removed src/scripts/jarsigner and
9711         src/scripts/keytool.
9712
9713 2006-06-23 12:07  twisti
9714
9715         * src/vm/string.c (javastring_toutf): Check for NULL and return
9716         utf_null.
9717         (literalstring_u2): Replaced list_addfirst with list_add_first.
9718         
9719         * src/vm/builtin.h (BUILTIN_MONITOR_ENTER, BUILTIN_MONITOR_EXIT):
9720         Defined.
9721         
9722         * src/vm/jit/powerpc/codegen.c (codegen): Don't use
9723         BUILTIN_staticmonitorenter, use JITDATA_HAS_FLAG_VERBOSECALL instead
9724         of opt_verbosecall.
9725         (createnativestub): Likewise.
9726         
9727         * src/vm/jit/code.c: Smaller changes.
9728         
9729         * src/vm/jit/code.h (codeinfo): Added optlevel.
9730         
9731         * src/vm/jit/Makefile.am (libjit_la_SOURCES): Added recompile.[ch].
9732         * src/vm/jit/recompile.c: New file.
9733         * src/vm/jit/recompile.h: Likewise.
9734         
9735         * src/vm/jit/show.c (new_show_method, show_method)
9736         (new_show_basicblock, show_basicblock): Use
9737         JITDATA_HAS_FLAG_SHOWDISASSEMBLE instead of opt_showdisassemble.
9738         
9739         * src/vm/jit/profile/profile.c (vm/jit/jit.h): Added.
9740         (list_method_entry): Moved to src/vm/jit/recompile.h.
9741         (profile_thread): First real implementation.
9742         (profile_start_thread): Better code.
9743         (profile_printstats): Use codeinfo frequencies.
9744         
9745         * src/vm/jit/jit.c (jit_compile): Set jd->flags properly. Moved
9746         codeinfo memory freeing before dump_release because we need jd, which
9747         is allocated on dump memory.
9748         (jit_recompile): New function.
9749         (jit_compile_intern): Use jd->flags.
9750         
9751         * src/vm/jit/codegen-common.c (codegen_createnativestub): Set
9752         jd->flags.
9753         
9754         * src/vm/jit/jit.h (JITDATA_FLAG_PARSE, JITDATA_FLAG_VERIFY)
9755         (JITDATA_FLAG_SHOWINTERMEDIATE, JITDATA_FLAG_SHOWDISASSEMBLE)
9756         (JITDATA_FLAG_VERBOSECALL): Added.
9757         (JITDATA_HAS_FLAG_PARSE, JITDATA_HAS_FLAG_VERIFY)
9758         (JITDATA_HAS_FLAG_IFCONV, JITDATA_HAS_FLAG_SHOWINTERMEDIATE)
9759         (JITDATA_HAS_FLAG_SHOWDISASSEMBLE, JITDATA_HAS_FLAG_VERBOSECALL):
9760         Likewise.
9761         (jit_recompile): Likewise.
9762         
9763         * src/vm/vm.c (vm/jit/recompile.h): Added.
9764         (vm_create): Call recompile_init and recompile_start_thread.
9765         
9766         * src/toolbox/list.h (config.h, vm/types.h, vm/global.h): Added.
9767         (list): Added lock.
9768         (list_init): Renamed to list_create.
9769         (list_addfirst): Renamed to list_add_first.
9770         (list_addlast): Renamed to list_add_last.
9771         (list_add_last_unsynced): New function.
9772         
9773         * src/toolbox/list.c (mm/memory.h, threads/native/threads.h)
9774         (vm/builtin.h): Added.
9775         (list_init): Renamed to list_create.
9776         (list_addfirst): Renamed to list_add_first and made synchronized.
9777         (list_addlast): Likewise.
9778         (list_add_last_unsynced): Likewise.
9779         (list_add_before): Made synchronized.
9780         (list_remove): Likewise.
9781         (list_first): Likewise.
9782         (list_last): Likewise.
9783         (list_next): Likewise.
9784         (list_prev): Likewise.
9785         
9786         * src/vm/suck.c (suck_init): Replaced list_init with list_create.
9787         (suck_add): Replaced list_addlast with list_add_last.
9788         
9789         * src/vm/loader.c (load_constantpool): Replaced list_addfirst with
9790         list_add_first.
9791         (load_newly_created_array): Likewise.
9792         
9793         * src/vm/properties.c (properties_init): Replaced list_init with
9794         list_create.
9795         (properties_add): Use list_add_last_unsynced, as this is required
9796         during bootstrapping.
9797         
9798         * src/threads/native/threads.h (THREAD_FLAG_JAVA)
9799         (THREAD_FLAG_INTERNAL): Added.
9800         (threadobject): Added flags.
9801         
9802         * src/threads/native/threads.c (threads_init): Flag main thread as
9803         Java thread (required for profiling sampling).
9804         (threads_startup_thread): Flag threads as Java or internal thread.
9805
9806 2006-06-23 09:23  twisti
9807
9808         * src/vm/linker.c (vm/vm.h): Added.
9809
9810 2006-06-22 18:48  twisti
9811
9812         * src/vm/utf8.c, src/vm/utf8.h (utf_null): Added.
9813
9814 2006-06-22 14:39  twisti
9815
9816         * src/vm/utf8.c (utf8_init): Compile fix with ENABLE_STATISTICS.
9817
9818 2006-06-21 16:29  ajordan
9819
9820         * configure.ac: Added support for compiling on sparc64
9821         
9822         * src/vm/jit/Makefile.am: Added sparc64 subdirectory
9823         
9824         * src/vm/jit/sparc64/*: Added files for the sparc64 JIT (which won't
9825         compile yet)
9826
9827 2006-06-21 08:30  twisti
9828
9829         * src/vm/jit/mips/linux/.cvsignore: Added TAGS.
9830
9831 2006-06-20 15:50  twisti
9832
9833         * src/vm/jit/mips/codegen.c (codegen): Use codeinfo instead of
9834         methodinfo.
9835         (createcompilerstub): Likewise.
9836         (createnativestub): Likewise.
9837         
9838         * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Likewise.
9839
9840 2006-06-20 11:55  twisti
9841
9842         * src/vm/jit/alpha/codegen.c (codegen): Use codeinfo instead of
9843         methodinfo.
9844         (createcompilerstub): Likewise.
9845         (createnativestub): Likewise.
9846         
9847         * src/vm/jit/alpha/asmpart.S (asm_vm_call_method): Likewise.
9848
9849 2006-06-20 09:10  twisti
9850
9851         * src/vm/jit/x86_64/codegen.c (codegen): Use codeinfo instead of
9852         methodinfo.
9853         (createcompilerstub): Likewise.
9854         (createnativestub): Likewise.
9855         
9856         * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Likewise.
9857
9858 2006-06-19 22:53  twisti
9859
9860         * src/vm/jit/i386/codegen.c (codegen): Use codeinfo instead of
9861         methodinfo.
9862         (createcompilerstub): Likewise.
9863         (createnativestub): Likewise.
9864         
9865         * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Likewise.
9866
9867 2006-06-19 22:23  twisti
9868
9869         * src/threads/native/threads.h (threadobject): Added pc.
9870
9871 2006-06-19 22:22  twisti
9872
9873         * src/vm/jit/methodheader.h (MethodPointer): Removed.
9874         (CodeinfoPointer): Added.
9875         
9876         * src/vm/method.c (method_vftbl_lookup): Use CodeinfoPointer.
9877         
9878         * src/vm/jit/powerpc/codegen.c (codegen): Use codeinfo instead of
9879         methodinfo.
9880         (createcompilerstub): Likewise.
9881         (createnativestub): Likewise.
9882         
9883         * src/vm/jit/powerpc/asmpart.S: Likewise.
9884         
9885         * src/vm/jit/stacktrace.c (stacktrace_create_stackframeinfo):
9886         Likewise.
9887         (stacktrace_create_native_stackframeinfo): Likewise.
9888         (stacktrace_add_method): Likewise.
9889         (stacktrace_create): Likewise.
9890         
9891         * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
9892         
9893         * src/vm/jit/codegen-common.c (codegen_findmethod): Define for all
9894         architectures. Removed assert, we have to check that somewhere else.
9895         (codegen_finish): Add the method for all architectures.
9896         
9897         * src/vm/jit/codegen-common.h (methodtree_element): Likewise.
9898         
9899         * src/vm/jit/profile/profile.c (profile_thread): First implementation.
9900         * src/vm/jit/profile/profile.h (vm/global.h): Added.
9901         
9902         * src/vm/signal.c (signal_init): Install SIGUSR2 for profiling.
9903         * src/vm/signallocal.h (md_signal_handler_sigusr2): Added.
9904         * src/vm/jit/powerpc/linux/md-os.c (md_signal_handler_sigusr2): New
9905         method.
9906         
9907         * src/vm/vm.c (vm_create): Call profile_start_thread only with
9908         opt_prof.
9909         
9910         * src/cacaoh/headers.c (exceptions_throw_nosuchmethoderror): Added.
9911
9912 2006-06-19 21:39  twisti
9913
9914         * src/vm/class.c (class_resolveinterfacemethod_intern): Smaller
9915         changes.
9916         (class_resolveclassmethod): Likewise.
9917
9918 2006-06-19 21:04  twisti
9919
9920         * src/vm/linker.c (link_class_inter): Smaller changes.
9921         (linker_addinterface): Likewise, added some comments about checks we
9922         should do.
9923
9924 2006-06-19 21:00  twisti
9925
9926         * src/vm/jit/powerpc/patcher.c (assert.h): Added.
9927         (patcher_invokeinterface): Added XXX comments.
9928
9929 2006-06-19 20:51  twisti
9930
9931         * configure.ac (profiling): Disable by default.
9932
9933 2006-06-19 12:36  twisti
9934
9935         * src/native/jni.c (AttachCurrentThread): Removed dummy
9936         implementation.
9937         (GetEnv): Use switch instead of if's.
9938
9939 2006-06-14 18:55  motse
9940
9941         * src/native/native.c (native_resolve_function): fix/add to my last
9942         incomplete commit.
9943
9944 2006-06-14 18:36  motse
9945
9946         * src/vm/loader.c (load_class_from_classloader): Add call to jvmti
9947         Class Load and Prepare event.
9948         
9949         * src/native/jni.c (RegisterNatives): Add comment for calling jvmti
9950         Native Method Bind event.
9951         
9952         * src/native/vm/VMClassLoader.c (defineClass): Add call to jvmti
9953         Class File Load Hook event.
9954         
9955         * src/native/vm/VMObject.c (wait): Add call to jvmti Monitor Wait
9956         and Waited event.
9957         
9958         * src/native/native.c (native_resolve_function): Add call to jvmti
9959         Native Method Bind event.
9960         
9961         * src/native/jvmti/cacaodbg.c (jvmti_ClassFileLoadHook): new function
9962         to supprt event.
9963         (jvmti_ClassLoadPrepare): idem
9964         (jvmti_MonitorContendedEntering): idem
9965         (jvmti_MonitorWaiting): idem
9966         (jvmti_ThreadStartEnd): idem
9967         (jvmti_NativeMethodBind): idem
9968         
9969         * src/native/jvmti/cacaodbg.h: Add function headers for
9970         jvmti_ClassFileLoadHook, jvmti_ClassLoadPrepare,
9971         jvmti_MonitorContendedEntering, jvmti_MonitorWaiting,
9972         jvmti_ThreadStartEnd, jvmti_NativeMethodBind.
9973         
9974         * src/native/jvmti/jvmti.c (execute_callback): Add support for Class
9975         File Load Hook event.
9976         (GetOwnedMonitorInfo): Adapt lock record iteration to new
9977         data structure.
9978         (GetCurrentContendedMonitor): idem
9979         
9980         * src/threads/native/lock.c (lock_monitor_enter): Add call to jvmti
9981         Monitor Contended Enter and Entered event
9982         
9983         * src/threads/native/threads.c (threads_startup_thread): replace
9984         breakpoint by direct call to jvmti Thread Start/End event
9985         
9986         * src/cacaoh/headers.c add dummy functions jvmti_ThreadStartEnd,
9987         jvmti_ClassLoadPrepare and jvmti_MonitorContendedEntering
9988
9989 2006-06-13 10:41  twisti
9990
9991         * src/lib/vm/reference/java/lang/VMThread.java: Updated and removed
9992         our old thread variables.
9993         * src/native/include/java_lang_VMThread.h: Regenerated.
9994
9995 2006-06-12 21:34  edwin
9996
9997         * src/vm/jit/stack.c (new_stack_analyze): Fixed warnings about
9998         directive in macro argument.
9999
10000 2006-06-12 21:27  edwin
10001
10002         * src/vm/jit/show.c (new_show_basicblock): Fixed warnings.
10003         (new_show_stackvar): Likewise.
10004
10005 2006-06-12 21:14  edwin
10006
10007         * src/vm/jit/stack.c (new_stack_analyse): Set dst field for IINC.
10008         
10009         * src/vm/jit/show.c (new_show_method): Use jitdata.new_rd.
10010         Only show locals and interfaces if available.
10011         (new_show_basicblock): Changed basicblock output format.
10012         (new_show_stackvar): Copied&pasted full stackvar printing.
10013         (new_show_icmd): Show some more ICMD operands.
10014         
10015         * src/vm/jit/allocator/simplereg.c (new_reg_mark_copy): Fixed
10016         bug for the case nthrough != 0.
10017
10018 2006-06-12 18:50  edwin
10019
10020         * src/vm/jit/allocator/simplereg.h, src/vm/jit/allocator/simplereg.c
10021         (new_regalloc): New function for new instruction format.
10022         (new_allocate_scratch_registers): Likewise.
10023         
10024         * src/vm/jit/show.c (new_show_stackvar): Show allocated register
10025         for stage SHOW_REGS and above.
10026         
10027         * src/vm/jit/jit.h (jitdata): Added field new_rd for testing the
10028         new simplereg allocator.
10029
10030 2006-06-12 14:23  edwin
10031
10032         * src/vm/jit/stack.c (new_stack_analyse): Fixed new stack analysis
10033         for ICMD_JSR.
10034         
10035         * src/vm/jit/show.c (new_show_icmd): Show operands of new instruction
10036         format.
10037         (new_show_basicblock): Removed obsolete stack display.
10038
10039 2006-06-10 14:53  edwin
10040
10041         * src/vm/jit/stack.c (IF_INTRP): New macro.
10042         (IF_JIT): New macro.
10043         (STATISTICS_STACKDEPTH_DISTRIBUTION): New macro.
10044         (new_stack_analyse): New function. Implemented stack analysis for
10045         new instruction format. (Not used, yet.)
10046         
10047         * src/vm/jit/stack.h (NEWSTACK): Enclosed in do { } while(0).
10048         
10049         * src/vm/jit/show.h, src/vm/jit/show.c (new_show_method): New
10050         function.
10051         (new_show_basicblock): New function.
10052         (new_show_icmd): New function.
10053         
10054         * src/vm/jit/parse.c (new_fillextable): New function.
10055         (parse): Parsing of JSR changed. Fixed bptr->icount setting.
10056         
10057         * src/vm/jit/jit.h (new_instruction): New field s3.jsrtarget.
10058         New field dst.dupslots.
10059
10060 2006-06-08 07:26  twisti
10061
10062         * tests/regression/codepatching/test.java (aastoreconst): Fixed skip
10063         case.
10064
10065 2006-06-07 12:51  twisti
10066
10067         * src/vm/suck.c (suck_add_from_property): Always set namelist to NULL
10068         before scandir.
10069
10070 2006-06-07 12:19  twisti
10071
10072         * src/vm/global.h (bool): Changed to `unsigned int', as the MIPS Pro
10073         compiler complains about signed bit fields. And I think that warning
10074         is really ok.
10075         
10076         * src/vm/suck.c (scandir_filter): Changed the signature define, as
10077         only linux seems to use const.
10078
10079 2006-06-07 12:10  twisti
10080
10081         * src/vm/suck.c (suck_add_from_property): Check for scandir return
10082         value in error case, as on some systems, like Linux, it returns NULL.
10083
10084 2006-06-06 21:13  motse
10085
10086         src/native/vm/VMVirtualMachine.c (unregisterEvent): print error
10087         message
10088         
10089         src/native/jvmti/cacaodbg.c (jvmti_cacao_debug_init): set variable
10090         jvmti
10091         
10092         src/native/jvmti/VMjdwp.c: add jmethodID and jclass cache variables.
10093         Add new callback functions to jvmti_jdwp_EventCallbacks
10094         (ThreadStart/ThreadEnd/ClassPrepare/Breakpoint): add
10095         ThreadStart/ThreadEnd event callbackes implementation who notify jdwp.
10096         (Exception/MethodEntry): dummy implementation. There are no jdwp
10097         exeception/MethodEntry events in gnu classpath yet.
10098         (setup_jdwp_thread): use cache variables.
10099         FINDCLASSWITHEXCEPTION/GETMIDWITHEXCEPTION: helper macros to ease
10100         jni findclass and getmethodid.
10101         (fillidcache): new function that fills valid jmethodIDs and jclasses
10102         in the cache variables.
10103         (VMInit): add call to fillidcache.
10104         (Agent_OnLoad): do not enable all jvmti callbacks anymore. Only
10105         enable needed VMInit callback. The other callbacks will be enable
10106         with VMVirtualMachine.registerEvent by need.
10107         
10108         src/native/jvmti.c (dofireEvent): check if a valid event callback is
10109         available before executing it.
10110         (SetEventNotificationMode): ThreadStart/End event are no more
10111         implemented as breakpoints but have direct function calls to
10112         dofireEvent.
10113         (SuspendThread/ResumeThread/getcacaostacktrace): sketch for further
10114         implementation of this function. Final threads_suspend* functions are
10115         not yet available.
10116         (GetArgumentsSize): new implementation using parsed descriptors.
10117         (GetMethodLocation): add checks for JVMTI_ERROR_NATIVE_METHOD
10118         (Samuel Vinson). And return -1 as return values for this dummy
10119         implementation.
10120         (GetJLocationFormat): JLocationFormat probably will be
10121         JVMTI_JLOCATION_OTHER
10122         
10123         src/native/jvmti/VMjdwp.h: add jdwpthread which stores the thread
10124         object for the jdwp listening thread.
10125         
10126         src/threads/native/threads.h: remove jvmti_get_threads_breakpoints
10127         beacause ThreadStart/End events are implemented as direct function
10128         calls by now.
10129         
10130         src/threads/native/threads.c (threads_startup_thread): replace
10131         ThreadStart/End event implementation.
10132         (jvmti_get_threads_breakpoints): removed.
10133         
10134         src/cacaoh/headers.c (jvmti_fireEvent): added dummy implementation to
10135         enable linking of cacaoh.
10136
10137 2006-06-06 18:51  twisti
10138
10139         * tests/regression/extest.java: Get the maximum heap size and use it
10140         for OOM checks.
10141         * tests/regression/extest.2output: Updated.
10142
10143 2006-06-06 18:05  twisti
10144
10145         * src/vm/jit/alpha/arch.h (SUPPORT_LONG_DIV_POW2)
10146         (SUPPORT_LONG_REM_POW2): Added, as we probably support these two
10147         instructions while the architecture does not support long division.
10148         * src/vm/jit/i386/arch.h: Likewise.
10149         * src/vm/jit/mips/arch.h: Likewise.
10150         * src/vm/jit/powerpc/arch.h: Likewise.
10151         * src/vm/jit/x86_64/arch.h: Likewise.
10152         
10153         * src/vm/jit/stack.c (stack_analyse): Use SUPPORT_LONG_DIV_POW2 and
10154         SUPPORT_LONG_REM_POW2 instead of SUPPORT_LONG_DIV.
10155
10156 2006-06-06 14:32  michi
10157
10158         * doc/handbook/arm.tex: Added.
10159         * doc/handbook/arm-double-memory.png: Image describing doubles in
10160         memory.
10161         * doc/handbook/cacao.tex, doc/handbook/Makefile.am: Added arm.tex.
10162
10163 2006-06-06 13:13  twisti
10164
10165         * tests/regression/Makefile.am (JAVAFLAGS): Use flat vm classes and
10166         CLASSPATH_GLIBJ_ZIP.
10167         * tests/regression/codepatching/Makefile.am: Likewise.
10168         * tests/regression/native/Makefile.am: Likewise.
10169
10170 2006-06-06 12:17  twisti
10171
10172         * .externalToolBuilders/CacaoConfigure.launch: Updated to new
10173         configure options.
10174
10175 2006-06-06 11:22  twisti
10176
10177         * configure.ac (VM_ZIP_STRING): Removed.
10178         (--with-vm-zip): Added.
10179         (--with-classpath-glibj-zip): Added.
10180         (--with-flat-classpath): Removed.
10181         
10182         * contrib/setenvinstalled.in (BOOTCLASSPATH): Use hardcoded vm.zip and
10183         @CLASSPATH_GLIBJ_ZIP@.
10184         * contrib/setenvsource.in: Likewise.
10185         
10186         * src/vm/global.h (CACAO_VM_ZIP_PATH): Removed.
10187         (CLASSPATH_GLIBJ_ZIP_PATH): Likewise.
10188         * src/vm/vm.c (CACAO_VM_ZIP_PATH): Replaced with CACAO_VM_ZIP.
10189         (CLASSPATH_GLIBJ_ZIP_PATH): Replaced with CLASSPATH_GLIBJ_ZIP.
10190         * src/cacaoh/cacaoh.c: Likewise.
10191         
10192         * src/lib/Makefile.am (GLIBJ_ZIP): Removed and replaced with
10193         CLASSPATH_GLIBJ_ZIP.
10194         * src/native/include/Makefile.am (VM_ZIP): Removed and replaced with
10195         flat classes in builddir.
10196         (GLIBJ_ZIP): Removed and replaced with CLASSPATH_GLIBJ_ZIP.
10197         * src/native/Makefile.am: Likewise.
10198
10199 2006-06-01 22:53  edwin
10200
10201         * src/vm/jit/stack.h (NEW_CHECKOVERFLOW): New macro.
10202
10203 2006-06-01 22:52  edwin
10204
10205         * src/vm/jit/parse.c (new_parse): Use temporary fields in jitdata,
10206         instead of methodinfo fields. Check exceptions for MONITORENTER/EXIT.
10207         Cleaned up.
10208
10209 2006-06-01 22:49  edwin
10210
10211         * src/vm/jit/parse.h (new_block_insert): New macro.
10212
10213 2006-06-01 22:46  edwin
10214
10215         * src/vm/jit/jit.h (jitdata): Added temporary fields for development
10216         of new instruction format.
10217         (NEW_INSTRUCTION_GET_METHODDESC): New macro.
10218
10219 2006-06-01 16:00  edwin
10220
10221         * src/vm/resolve.c (new_resolve_field_lazy): New method. This will
10222         become the resolve_field_lazy for the new instruction format.
10223         (new_resolve_method_lazy): New method. This will
10224         become the resolve_method_lazy for the new instruction format.
10225         (new_create_unresolved_field): New method. This will
10226         become the create_unresolved_field for the new instruction format.
10227         (new_create_unresolved_method): New method. This will
10228         become the create_unresolved_method for the new instruction format.
10229         
10230         * src/vm/jit/parse.c (new_parse): Further work for new format.
10231         
10232         * src/vm/jit/jit.h (NEW_INSTRUCTION_GET_FIELDREF): New macro.
10233         (NEW_INSTRUCTION_GET_METHODREF): New macro.
10234
10235 2006-06-01 15:09  edwin
10236
10237         * src/vm/jit/jit.c (jcommandsize): Reformatted prettily. Use comments
10238         instead of duplicated #defines.
10239
10240 2006-06-01 14:36  edwin
10241
10242         * src/vm/jit/jit.h (ICMD_CHECKNULL_POP): New ICMD.
10243         * src/vm/jit/jit.c (ICMD_CHECKNULL_POP): Likewise.
10244         
10245         * src/vm/jit/parse.c (new_parse): Further work on parsing for new
10246         instruction format. Zero flags where necessary. Clarify policy of
10247         at most one instruction per byte of original bytecode. Use the new
10248         ICMD_CHECKNULL_POP for MONITORENTER/EXIT without threads.
10249
10250 2006-06-01 13:00  edwin
10251
10252         * src/vm/jit/parse.h: Reworked and documented macros for new
10253         instruction set.
10254
10255 2006-05-31 23:18  edwin
10256
10257         * src/vm/jit/jit.h: Whitespace cleanup and comments.
10258
10259 2006-05-31 23:03  edwin
10260
10261         * src/vm/jit/parse.c (parse): Removed unnecessary variable `s4ptr`.
10262
10263 2006-05-31 22:56  edwin
10264
10265         * src/vm/jit/parse.c (new_parse): Implement LOOKUPSWITCH and
10266         TABLESWITCH for the new instruction format.
10267         
10268         * src/vm/jit/jit.h (branch_target_t): New union.
10269         (lookup_target_t): New struct.
10270         (s3_operand_t): lookupdefault is now a branch_target_t.
10271         (dst_operand_t): Changed some field names and types.
10272
10273 2006-05-31 22:07  twisti
10274
10275         * src/native/jvmti/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
10276         (LIBS): Added, required for darwin.
10277         (libjdwp_la_SOURCES): Removed trailing \.
10278
10279 2006-05-31 21:31  edwin
10280
10281         * src/vm/jit/ifconv/ifconv.c (show.h): Include this instead of
10282         stack.h.
10283         * src/vm/jit/verify/typecheck.c (show.h): Likewise.
10284         * src/vm/jit/inline/inline.c (show.h): Include.
10285         * src/vm/jit/jit.c (show.h): Include.
10286
10287 2006-05-31 21:10  edwin
10288
10289         * src/vm/jit/show.c (show_init): Do not define this function for
10290         NDEBUG.
10291
10292 2006-05-31 20:28  edwin
10293
10294         * src/vm/jit/show.h: New file.
10295         * src/vm/jit/show.c: New file.
10296         
10297         * src/vm/jit/stack.h (stack_show_method): Moved to show.h, renamed to
10298         show_method.
10299         (stack_show_basicblock): Moved to show.h, renamed to show_basicblock.
10300         (stack_show_icmd): Moved to show.h, renamed to show_icmd.
10301         
10302         * src/vm/jit/stack.c (lock_stack_show_icmd): Moved to show.c, renamed
10303         to show_global_lock.
10304         (stack_show_method): Moved to show.c, renamed to show_method.
10305         (stack_show_basicblock): Moved to show.c, renamed to show_basicblock.
10306         (stack_show_icmd): Moved to show.c, renamed to show_icmd.
10307         (stack_init): This function is now empty.
10308         
10309         * src/vm/jit/ifconv/ifconv.c (stack_show_basicblock): Renamed to
10310         show_basicblock.
10311         
10312         * src/vm/jit/inline/inline.c (stack_show_method): Renamed to
10313         show_method.
10314         (stack_show_icmd): Renamed to show_icmd.
10315         
10316         * src/vm/jit/inline/inline_debug.inc (stack_show_icmd): Renamed to
10317         show_icmd.
10318         
10319         * src/vm/jit/jit.c (jit_init): Call show_init.
10320         (stack_show_method): Renamed to show_method.
10321         
10322         * src/vm/jit/Makefile.am (show.c): Added.
10323         (show.h): Added.
10324         
10325         * src/threads/native/lock.h (pthread.h): Included.
10326
10327 2006-05-31 19:25  edwin
10328
10329         * src/vm/jit/jit.h (s3_operant_t): Typo fixed to s3_operand_t.
10330         Thanks, twisti.
10331
10332 2006-05-31 13:53  motse
10333
10334         src/native/vm/VMVirtualMachine.c (suspendThread): print error message
10335         with printjvmtierror
10336         (resumeThread): idem
10337         (getAllLoadedClassCount): idem
10338         (getAllLoadedClasses): idem
10339         (getClassStatus): idem
10340         (getAllClassMethods): idem
10341         (getFrameCount): idem
10342         (getThreadStatus): idem
10343         (getSourceFile): idem
10344         (registerEvent): idem
10345         
10346         src/native/vm/VMMethod.c (printjvmtierror): new helper function for
10347         getting and print error messages
10348         (getName): print error message with printjvmtierror, remove
10349         signature, generic signature
10350         (getSignature): print error message with printjvmtierror, remove
10351         name, generic signature
10352         (getModifiers): print error message with printjvmtierror
10353         (getlinetable): idem
10354         (fillVariableTable): new function for converting
10355         jvmtiLocalVariableEntry to arguments for
10356         gnu.classpath.jdwp.util.VariableTable constructor
10357         (getVariableTable): new implementation. tries to get local variable
10358         table and return gnu.classpath.jdwp.util.VariableTable.
10359         
10360         src/native/include/Makefile.am: add VariableTable
10361         
10362         src/native/jvmti/VMjdwp.c (printjvmtierror) new function (duplicate)
10363         - this is a work around
10364         (VMInit): print error message with printjvmtierror
10365         
10366         src/native/jvmti/jvmti.c (InterruptThread): new implentation
10367         (GetThreadInfo): switch form using javastring_tochar (uses malloc)
10368         to javastring_toutf/utf_sprint_convert_to_latin1
10369         (GetOwnedMonitorInfo): fix error handling
10370         (GetFrameLocation): idem
10371         (DestroyRawMonitor): use heap_free
10372         (GetClassSignature): fix error handling
10373         (GetSourceFileName): use utf_bytes
10374         (GetFieldName): fix error handling
10375         (GetFieldDeclaringClass): add error handling
10376         (GetFieldModifiers): idem
10377         (GetMethodName): fix error handling
10378         (GetClassLoaderClasses): idem
10379         (GenerateEvents): add CHECK_CAPABILITY
10380         can_generate_compiled_method_load_events
10381         
10382         src/native/jvmti/VMjdwp.h add printjvmtierror
10383
10384 2006-05-31 13:10  twisti
10385
10386         * src/vm/jit/x86_64/md-emit.h (IS_IMM8, IS_IMM32): Removed.
10387         * src/vm/jit/emit.h (IS_IMM8, IS_IMM32): Added.
10388
10389 2006-05-31 12:33  twisti
10390
10391         * src/vm/jit/x86_64/emit.c: Use new emit methods, saves about 6k code
10392         size.
10393         (emit_membase32): New method.
10394         (emit_memindex): Likewise.
10395         * src/vm/jit/x86_64/md-emit.h (emit_membase32): Removed.
10396         (emit_memindex): Likewise.
10397
10398 2006-05-30 23:38  edwin
10399
10400         * src/vm/jit/parse.c (new_parse): Worked on implementing parsing for
10401         the new instruction format. (Not used, yet.)
10402         * src/vm/jit/parse.h: Likewise.
10403         
10404         * src/vm/jit/jit.h (INS_FLAG_UNRESOLVED, INS_FLAG_CLASS)
10405         (INS_FLAG_ARRAY, INS_FLAG_NOCHECK): Added flag constants for new
10406         instruction format.
10407
10408 2006-05-30 12:24  edwin
10409
10410         * src/vm/jit/parse.h (new_instruction): Moved `bte` field to s3.
10411         * src/vm/jit/jit.h: Likewise.
10412
10413 2006-05-29 23:59  edwin
10414
10415         * src/vm/jit/jit.h (subroutineinfo): Removed unused typedef.
10416
10417 2006-05-29 23:47  edwin
10418
10419         * src/vm/jit/parse.h: New macros for new instruction format (not
10420         used,
10421         yet).
10422         
10423         * src/vm/jit/jit.h (new_instruction, ...): Further development of new
10424         instruction format (not used, yet).
10425
10426 2006-05-29 22:37  edwin
10427
10428         * src/vm/jit/parse.h: Reordered and commented macros. No functional
10429         changes.
10430         (Changes): Added my name.
10431
10432 2006-05-29 21:48  edwin
10433
10434         * src/vm/jit/parse.c (new_parse): New function. This will become the
10435         parse function for the new instruction format.
10436         (parse): Removed obsolete variable `gp`. (Was used for old inlining).
10437         
10438         * src/vm/jit/jit.h (jitdata): Added temporary fields
10439         `new_instructions` and `new_instructioncount` for parallel
10440         development of the new instruction format.
10441
10442 2006-05-29 20:22  edwin
10443
10444         * src/vm/jit/jit.h (new_instruction): Committed the new instruction
10445         struct (with name `new_instruction` so it can co-exist with the old
10446         format `instruction`).
10447         (resolve.h): Include for new instruction format.
10448         
10449         * src/vm/resolve.h (typeinfo.h): Include to resolve dependencies.
10450         
10451         * src/vm/jit/parse.h: Added a reminder comment.
10452
10453 2006-05-29 19:28  twisti
10454
10455         * configure.ac (AC_INIT): Changed to 0.96+svn.
10456         (CFLAGS): Changed to -O0.
10457
10458 2006-05-29 18:53  twisti
10459
10460         * ChangeLog: Updated.
10461
10462 2006-05-29 18:52  twisti
10463
10464         * configure.ac (AC_INIT): Changed to version 0.96.
10465         (CFLAGS): Changed to -O2.
10466         * NEWS: Changed date.
10467
10468 2006-05-29 15:51  twisti
10469
10470         * src/vm/vm.c (usage): Removed new-line.
10471
10472 2006-05-29 15:37  twisti
10473
10474         * src/vm/vm.c (OPT_GLIBJ): Added.
10475         (Xusage): Added help for -Xglibj.
10476         (version): Changed signature for conditional exit.
10477         (main): Added OPT_GLIBJ. Print version after all commandline arguments
10478         have been handled.
10479
10480 2006-05-29 15:21  edwin
10481
10482         * src/vm/linker.c (link_class_intern): On i386 align all fields to
10483         just 4 bytes as gcc does. This makes the offsets of Java fields match
10484         the offset of native headers. This fixes a bug (java.lang.Double.value
10485         had been at offset 16, but java_lang_Double.value is offset 12).
10486
10487 2006-05-29 15:17  twisti
10488
10489         * src/threads/native/critical.h (signal.h): Added, build fix for some
10490         older Darwin systems.
10491
10492 2006-05-29 14:32  twisti
10493
10494         * NEWS: Added a lot of stuff.
10495
10496 2006-05-29 14:31  twisti
10497
10498         * src/cacao/Makefile.am: Renamed libcacaovm.so to libjvm.so to be
10499         binary compatible with Sun.
10500
10501 2006-05-29 09:41  motse
10502
10503         src/native/jni.c: removed jvmti.h included cacaodbg.h for GetEnv -
10504         jvmti
10505         src/native/vm/VMVirtualMachine.c: formatting changes/removed debug
10506         statements
10507         src/native/vm/VMMethod.c:
10508         (getName/getSignature/getModifiers/getLineTable): (Samuel Vinson) new
10509         implementation. (partially changed by motse)
10510         src/native/jvmti/cacaodbg.h: removed unused function declarations
10511         src/native/jvmti/jvmti.c (getcacaostacktrace): new implementation -
10512         does not yet handle traces of not current threads correctly.
10513         (GetMethodName): fix: return JVMTI_ERROR_NULL_POINTER only on method
10514         == NULL
10515         (GetFrameCount/GetStackTrace): fixed check for valid thread argument.
10516
10517 2006-05-26 16:24  edwin
10518
10519         * src/toolbox/logging.h (stdarg.h): Include it here, instead of in
10520         logging.c.
10521         * src/toolbox/logging.c: See above.
10522
10523 2006-05-26 12:58  twisti
10524
10525         * src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
10526         Removed assert.
10527         * src/vm/jit/powerpc/darwin/md-os.c (thread_restartcriticalsection):
10528         Compile fix. Removed assert.
10529
10530 2006-05-26 12:46  edwin
10531
10532         * NEWS: Added unicode cleanup.
10533
10534 2006-05-26 12:44  edwin
10535
10536         * NEWS: Added tasuki locks and other news.
10537
10538 2006-05-26 12:31  motse
10539
10540         src/native/jvmti/jvmti.c (GetClassStatus): bugfix - only compare
10541         class state
10542
10543 2006-05-26 12:26  edwin
10544
10545         * src/vm/jit/stacktrace.c (stacktrace_remove_stackframeinfo):
10546         Commented.
10547
10548 2006-05-26 12:25  twisti
10549
10550         * src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
10551         Implemented.
10552         * src/vm/jit/powerpc/darwin/md-os.c: Likewise.
10553
10554 2006-05-26 12:19  edwin
10555
10556         * src/vm/builtin.c (builtin_init): Documented.
10557         (builtin_trace_args): Documented.
10558         (builtin_displaymethodstop): Documented.
10559         
10560         * src/vm/jit/alpha/md-abi.c (md_param_alloc): Documented.
10561         
10562         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
10563         Documented.
10564         
10565         * src/vm/jit/codegen-common.c (methodtree_comparator): Documented.
10566         (codegen_insertmethod): Documented.
10567         
10568         * src/toolbox/util.c (getcwd): Documented.
10569
10570 2006-05-26 12:09  edwin
10571
10572         * src/vm/loader.h: Comment update.
10573         
10574         * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed obsolete
10575         inlining check.
10576         
10577         * src/vm/jit/replace.c: Typo fixed.
10578         
10579         * src/vm/jit/reg.c: Avoid XXX as wildcard in comments.
10580         * src/vm/jit/jit.h: Likewise.
10581
10582 2006-05-26 11:57  twisti
10583
10584         * src/vm/properties.c (properties_system_add): Changed
10585         javastring_new_from_ascii to javastring_new_from_utf_string.
10586         
10587         * src/native/jni.c (ThrowNew): Use a variable for clazz.
10588         (JNI_CreateJavaVM): Release allocated memory if vm_create fails.
10589         
10590         * src/threads/native/threads.c: Comments reformatted.
10591
10592 2006-05-26 11:48  edwin
10593
10594         * src/vm/class.c (class_resolveclassmethod): Removed obsolete XXX
10595         comments.
10596         (class_resolveinterfacemethod): Likewise.
10597         (class_resolvefield): Likewise.
10598         
10599         * src/vm/classcache.h: Removed obsolete XXX comment.
10600         
10601         * src/vm/jit/allocator/lsra.h: Changed TYPE_XXX to TYPE_* in comments.
10602         * src/vm/jit/jit.c: Likewise.
10603         
10604         * src/native/vm/VMObject.c (Java_java_lang_VMObject_clone):
10605         Removed obsolete XXX comment.
10606         
10607         * src/mm/memory.c (dump_release): Removed obsolete debugging code.
10608
10609 2006-05-26 11:22  edwin
10610
10611         * src/native/jni.c (DefineClass): Use javastring_new_from_utf_string.
10612         (ThrowNew): Likewise.
10613
10614 2006-05-26 09:30  twisti
10615
10616         * src/mm/boehm.c (stackcall_malloc_atomic): Removed.
10617         (stackcall_malloc_uncollectable): Likewise.
10618         (heap_alloc_uncollectable): Use macros directly.
10619         (heap_allocate): Likewise.
10620         
10621         * src/vm/vm.c: Added -jvm options, which is available on darwin.
10622         
10623         * src/vm/suck.c (scandir_filter): Changed signature for darwin.
10624
10625 2006-05-25 21:59  motse
10626
10627         src/vm/vm.c(usage): added information for jvmti agent for jdwp
10628         (vm_create): jdwp code move to jvmti agent for jdwp (VMjdwp.c)
10629         src/cacao/cacao.c (main): jdwp code move to jvmti agent for jdwp.
10630         execute jvmti_set_phase only if needed
10631         src/native/jvmti/cacaodbg.c (setup_jdwp_thread): jdwp code move to
10632         jvmti agent for jdwp
10633         src/native/jvmti/VMjdwp.c: change this to a jvmti complaint agent by
10634         using jni/jvmti function instead of cacao specific functions and
10635         implement a Agent_OnLoad as main entry point. Include
10636         setup_jdwp_thread function.
10637         src/native/jvmti/Makefile.am: add libjdwp.so
10638         src/native/jvmti/cacaodbg.h: remove no more needed global jdwp
10639         related variables
10640         src/native/jvmti/jvmti.c: (Resume/SuspendThread(List)): add temporary
10641         implementation for trying jdwp
10642         (jvmti_agentload): bugfix in getting/passing libname/arguments
10643
10644 2006-05-25 12:28  twisti
10645
10646         * vm/jit/intrp/intrp.h (global_sp): Added space, yeah, whatever...
10647         * vm/jit/intrp/dynamic-super.c (vm/builtin.h): Added.
10648         (vm/jit/disass.h): Likewise.
10649         (gen_inst): Fixed compiler warnings.
10650         * vm/jit/intrp/java.vmg: Fixed compiler warnings with
10651         stacktrace_create_stackframeinfo.
10652         * threads/native/threads.h (threadobject): Changed type of _global_sp
10653         to u1*.
10654
10655 2006-05-25 12:22  twisti
10656
10657         * NEWS: Sorry.
10658
10659 2006-05-25 12:21  twisti
10660
10661         * src/vm/vm.c (HEAP_MAXSIZE): Changed to 128MB.
10662         (STACK_SIZE): Changed to 64kB.
10663         (Xusage): Calculate default sizes.
10664         
10665         * NEWS: New stuff added.
10666
10667 2006-05-25 11:29  twisti
10668
10669         * src/vm/jit/x86_64/md-emit.h (emit_movl_reg_reg): Added.
10670
10671 2006-05-25 11:24  edwin
10672
10673         * configure.ac: Disable inlining and lsra by default.
10674
10675 2006-05-24 14:11  twisti
10676
10677         * src/threads/native/threads.c (threads_startup_thread): Allocate Java
10678         stack on Java heap instead of hardware stack.
10679
10680 2006-05-24 14:08  twisti
10681
10682         * configure.ac: Added INTRP_CFLAGS.
10683         * src/vm/jit/intrp/Makefile.am (CFLAGS): Set to INTRP_CFLAGS.
10684
10685 2006-05-24 11:00  motse
10686
10687         src/vm/vm.c (vm_exit): only set JVMTI_PHASE_DEAD if a jvmti agent or
10688         a jvmti environment is loaded.
10689         src/native/jvmti/cacaodbg.c (jvmti_cacaodbgserver_quit): bugfix: set
10690         dbgcom = NULL only if all environments have been disposed.
10691         src/native/jvmti/jvmti.c (GetLoadedClasses): remove debug statement
10692
10693 2006-05-23 19:52  motse
10694
10695         src/vm/classcache.c: export CLASSCACHE_LOCK/UNLOCK and
10696         lock_hashtable_classcache
10697         src/vm/classcache.h: idem
10698         src/native/jvmti/jvmti.c (GetLoadedClasses) implemented (sv/motse)
10699         (GetClassSignature) fixed
10700
10701 2006-05-23 15:31  motse
10702
10703         src/vm/vm.c (vm_create): rename jvmti function calls
10704         
10705         src/cacao/cacao.c (main): rename jvmti function calls
10706         
10707         src/native/jni.c (GetEnv): rename jvmti function calls. jvmti version
10708         changed to JVMTI_VERSION_INTERFACE_JVMTI
10709         
10710         src/native/vm/VMVirtualMachine.c (getAllLoadedClassesCount): (Samuel
10711         Vinson) implemented.
10712         (getAllLoadedClassesCount): jvmti Deallocate call added. (sv):
10713         CallObjectMethod fix
10714         (getAllClassMethods): (Samuel Vinson) implemented.
10715         (getClassMethod): (Samuel Vinson) implemented.
10716         
10717         src/native/jvmti/jvmti.h: added JVMTI_VERSION interface and mask
10718         
10719         src/native/jvmti/cacaodbgserver.h: msg queue/shared mem related
10720         things removed. gdb related defines added.
10721         
10722         src/native/jvmti/dbg.h: remove ptrace related things
10723         
10724         src/native/jvmti/cacaodbg.c change setsysbrkpt name to
10725         jvmti_set_system_breakpoint, addbrkpt to jvmti_add_breakpoint,
10726         allthreads to jvmti_get_all_threads
10727         (jvmti_cacao_debug_init): new function where fork/exec of
10728         cacaodbgserver takes place
10729         (jvmti_set_system_breakpoint): added functionality for brkpt delete
10730         and asm label for cacaodbgserver support
10731         (jvmti_cacaodbgserver_quit): new function for killing cacaodbgserver
10732         properly
10733         (jvmti_cacao_generic_breakpointhandler): new function. This is the
10734         entry point for every breakpointhandler and start for a new jvmti
10735         event
10736         (jvmti_cacao_debug_init): new function for starting up
10737         cacaodbgserver process.
10738         
10739         src/native/jvmti/VMjdwp.c (jvmti_VMjdwpInit): function renamed
10740         
10741         src/native/jvmti/Makefile.am: delete dbg.c. (sv) add compile/install
10742         support for cacaodbgserver.
10743         
10744         src/native/jvmti/cacaodbg.h: breakpoint counter added to struct
10745         _brkpt. change setsysbrkpt name to jvmti_set_system_breakpoint,
10746         addbrkpt to jvmti_add_breakpoint, allthreads to
10747         jvmti_get_all_threads, fireEvent to jvmti_fireEvent, agentload to
10748         jvmti_agentload agentunload to jvmti_agentunload, getcurrentthread to
10749         jvmti_get_current_thread, set_jvmti_phase to jvmti_set_phase,
10750         new_jvmtienv to jvmti_new_environment, VMjdwpinit to
10751         jvmti_VMjdwpInit. added breakpoint table constants. removed global
10752         jdwp, jvmti, suspend, transport, agentarg variables
10753         
10754         src/native/jvmti/jvmti.c all jvmti-environment function changed to
10755         static functions. execcallback renamed to execute_callback. fireEvent
10756         renamed to jvmti_fireEvent.
10757         (execute_callback): add phase checks
10758         (GetClassMethods): bugfix in copying jmethodIDs
10759         (DisposeEnvironment): relocate work to jvmti_cacaodbgserver_quit
10760         (jvmti_new_environment) : relocate forking new process to
10761         jvmti_cacao_debug_init
10762         (CHECK_ADD_CAPABILITY): bugfix in adding capabilities
10763         (GetClassMethods): bugfix coping methodinfo pointers
10764         (SetEventNotificationMode): setsysbrkpt calls added.
10765         rename jvmti function names.
10766         
10767         src/native/jvmti/cacaodbgserver.c changed to support gdb insted of
10768         using ptrace directly.
10769         (getchildprocptrace): removed
10770         (waitloop): removed
10771         (startgdb): new function. start a new gdb session.
10772         (getgdboutput): new helper function for getting gdb output.
10773         (dataevaluate): new helper function for getting value for a given
10774         expression
10775         (commonbreakpointhandler): new function which handles SIGTRAPs and
10776         gdb breakpoint hits.
10777         (controlloop) : new function handle communication with gdb
10778         (main): removed old code. added calls to startgdb and controlloop
10779         
10780         src/native/jvmti/dbg.c removed
10781         
10782         src/threads/native/threads.h: removed
10783         threads_set_current_threadobject. added jvmti_get_threads_breakpoints
10784         
10785         src/threads/native/threads.c: (threads_startup_thread) add thread
10786         start/end asm lables
10787         (threads_set_current_threadobject): removed jvmti thread start
10788         support.
10789         (jvmti_get_threads_breakpoints) new function that gets addresses of
10790         asm lables.
10791         
10792         src/threads/native/lock.h: added definition of lock_global_pool_lock
10793         and lock_global_pool
10794
10795 2006-05-23 08:51  twisti
10796
10797         * src/vm/jit/x86_64/codegen.c: Changed the code generator to produce
10798         RISC-like code. These are way too much changes to name them.
10799         (createnativestub): Bugfix in argument saving.
10800         * src/vm/jit/x86_64/codegen.h: Likewise.
10801         * src/vm/jit/x86_64/emit.c: Likewise.
10802         * src/vm/jit/x86_64/md-emit.h: Likewise.
10803
10804 2006-05-23 08:42  twisti
10805
10806         * src/vm/options.c (opt_heapmaxsize, opt_heapstartsize): Added.
10807         * src/vm/options.h: Likewise.
10808         
10809         * src/vm/vm.c (version): Print heap and stack information.
10810         (vm_create): Use global option variables.
10811
10812 2006-05-23 08:25  twisti
10813
10814         * src/vm/jit/x86_64/emit.c (emit_movl_reg_reg): New function.
10815         
10816         * src/vm/jit/x86_64/codegen.c (ICMD_L2I): Only move the low
10817         32-bit. Otherwise this may cause a bug with e.g. array accesses, as
10818         the index registers are treated as 64-bit.
10819         
10820         * src/vm/jit/x86_64/codegen.h (gen_bound_check): Bugfix: only read
10821         32-bit.
10822         (M_IMOV): Added.
10823         (M_ICMP_MEMBASE): Likewise.
10824
10825 2006-05-22 16:14  twisti
10826
10827         * configure.ac: Added --with-classpath-includedir.
10828
10829 2006-05-22 09:07  twisti
10830
10831         * NEWS: Some news.
10832
10833 2006-05-22 09:06  twisti
10834
10835         * src/vm/vm.c (vm_abort): New method.
10836         * src/vm/vm.h: Likewise.
10837         * src/cacaoh/headers.c: Likewise.
10838         
10839         * src/toolbox/logging.c (log_vprint): Made non-static.
10840         * src/toolbox/logging.h (log_vprint): Added.
10841         
10842         * src/threads/native/threads.c (threads_sem_init): Use vm_abort.
10843         (threads_sem_wait): Likewise.
10844         (threads_sem_post): Likewise.
10845         (threads_current_time_is_earlier_than): Likewise.
10846         (threads_init): Check for pthread_attr_init error.
10847         (threads_start_thread): Check for errors of pthread calls. Set the
10848         threads stack size.
10849
10850 2006-05-18 14:33  edwin
10851
10852         * src/threads/native/lock.h, src/threads/native/lock.c: Tasuki lock
10853         implementation (without lock deflation). This is a straight-forward
10854         implementation that uses an extra word in java_objectheader for the
10855         FLC (flat lock contention) bit.
10856         
10857         * src/vm/global.h (java_objectheader): Added field `flcword`.
10858         
10859         * src/threads/native/lock.h (Authors): Changed to myself, as there
10860         is none of the old code remaining in this file.
10861         
10862         * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
10863         src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c,
10864         src/vm/jit/x86_64/codegen.c (codegen, createnativestub): Add the
10865         FLC word when creating the fake object header for patcher
10866         synchronization.
10867
10868 2006-05-18 14:06  twisti
10869
10870         * src/vm/properties.c (properties_get): Search the list backwards to
10871         get the newest entry.
10872
10873 2006-05-18 12:50  twisti
10874
10875         * src/vm/vm.c (version): Print default and runtime classpath
10876         variables.
10877         (vm_create): Add a default java.endorsed.dirs property.
10878
10879 2006-05-17 22:06  twisti
10880
10881         * configure.ac: Don't export BOOTCLASSPATH, that makes problems.
10882
10883 2006-05-17 12:10  twisti
10884
10885         * src/vm/jit/powerpc/codegen.c (createnativestub): Fixed bug and
10886         changed argument saving and restoring.
10887         
10888         * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Partially
10889         implemented Darwin bits. Still some bugs with testarguments.
10890
10891 2006-05-16 13:08  twisti
10892
10893         * src/vm/jit/powerpc/codegen.c (codegen): Bugfix: use REG_ITMP3 in
10894         ICMD_L{DIV,REM} for function address. This fixes
10895         gnu.testlet.java.math.BigInteger.divide.
10896
10897 2006-05-16 01:49  edwin
10898
10899         * src/threads/native/lock.c: Fixed comment formatting.
10900
10901 2006-05-15 23:37  edwin
10902
10903         * src/vm/jit/i386/machine-instr.h (compare_and_swap): Fixed comment.
10904
10905 2006-05-15 23:31  twisti
10906
10907         * configure.ac: Export BOOTCLASSPATH for javac check.
10908         * src/cacao/Makefile.am (cacao_SOURCES)Removed cacao.h.
10909         * src/vm/jit/inline/Makefile.am (libinline_la_SOURCES): Added
10910         inline_debug.inc.
10911         * src/vm/jit/powerpc/Makefile.am (DIST_SUBDIRS): Added netbsd.
10912
10913 2006-05-15 23:22  edwin
10914
10915         * src/vm/jit/inline/inline_debug.c: Renamed to
10916         src/vm/jit/inline/inline_debug.inc.
10917         
10918         * src/vm/jit/inline/inline.c: #include changed to
10919         src/vm/jit/inline/inline_debug.inc.
10920         
10921         * src/vm/resolve.c: Typo fixed.
10922
10923 2006-05-15 21:48  edwin
10924
10925         * src/threads/native/lock.c (lock_record_remove_waiter): Made static.
10926         (lock_monitor_wait): Likewise.
10927
10928 2006-05-15 21:32  edwin
10929
10930         * src/threads/native/lock.h, src/threads/native/lock.c
10931         (lock_does_thread_hold_lock): Renamed to
10932         lock_is_held_by_current_thread
10933         and removed thread argument, as reliable checking is only possible for
10934         the current thread, anyway.
10935         
10936         * src/native/vm/VMThread.c (lock_does_thread_hold_lock): Changed to
10937         lock_is_held_by_current_thread.
10938         
10939         * src/native/jvmti/jvmti.c (lock_does_thread_hold_lock): Changed to
10940         lock_is_held_by_current_thread.
10941
10942 2006-05-15 18:24  edwin
10943
10944         * configure.ac (src/threads/green/Makefile): Removed from
10945         AC_CONFIG_FILES.
10946
10947 2006-05-15 15:06  edwin
10948
10949         * src/threads/native/lock.h (lock_record_pool_header_t): Documented.
10950         (lock_record_pool_t): Documented.
10951         
10952         * src/threads/native/lock.c: Minor whitespace cleanup.
10953
10954 2006-05-15 14:40  twisti
10955
10956         * THIRDPARTY: Removed green threads stuff.
10957
10958 2006-05-15 14:39  twisti
10959
10960         * src/vm/jit/alpha/asmpart.S (asm_perform_threadswitch)
10961         (asm_initialize_thread_stack, asm_switchstackandcall): Removed (2nd
10962         part of green threads removal).
10963         * src/vm/jit/mips/asmpart.S: Likewise.
10964         * src/vm/jit/i386/asmpart.S: Likewise.
10965         * src/vm/jit/x86_64/asmpart.S: Likewise.
10966
10967 2006-05-15 14:24  twisti
10968
10969         * src/vm/hashtable.h,
10970         src/vm/class.c,,
10971         src/vm/suck.c,
10972         src/vm/loader.c,
10973         src/vm/builtin.c,
10974         src/vm/string.c,
10975         src/vm/suck.h,
10976         src/vm/builtin.h,
10977         src/vm/loader.h,
10978         src/vm/finalizer.c,
10979         src/vm/classcache.c,
10980         src/vm/initialize.c,
10981         src/vm/jit/powerpc/linux/md-os.c,
10982         src/vm/jit/powerpc/netbsd/md-os.c,
10983         src/vm/jit/powerpc/darwin/md-os.c,
10984         src/vm/jit/powerpc/darwin/md-asm.h,
10985         src/vm/jit/powerpc/codegen.c,
10986         src/vm/jit/powerpc/asmpart.S,
10987         src/vm/jit/codegen-common.h,
10988         src/vm/jit/alpha/codegen.c,
10989         src/vm/jit/alpha/linux/md-os.c,
10990         src/vm/jit/alpha/asmpart.S,
10991         src/vm/jit/alpha/freebsd/md-os.c,
10992         src/vm/jit/stack.c,
10993         src/vm/jit/code.c,
10994         src/vm/jit/verify/typecheck.c,
10995         src/vm/jit/mips/codegen.c,
10996         src/vm/jit/mips/linux/md-os.c,
10997         src/vm/jit/mips/asmpart.S,
10998         src/vm/jit/mips/irix/md-os.c,
10999         src/vm/jit/patcher.h,
11000         src/vm/jit/inline/inline.c,
11001         src/vm/jit/allocator/simplereg.c,
11002         src/vm/jit/i386/codegen.c,
11003         src/vm/jit/i386/linux/md-os.c,
11004         src/vm/jit/i386/asmpart.S,
11005         src/vm/jit/i386/freebsd/md-os.c,
11006         src/vm/jit/parse.c,
11007         src/vm/jit/intrp/intrp.h,
11008         src/vm/jit/intrp/codegen.c,
11009         src/vm/jit/intrp/engine.c,
11010         src/vm/jit/intrp/asmpart.c,
11011         src/vm/jit/intrp/dynamic-super.c,
11012         src/vm/jit/intrp/java.vmg,
11013         src/vm/jit/asmpart.h,
11014         src/vm/jit/x86_64/md.c,
11015         src/vm/jit/x86_64/codegen.c,
11016         src/vm/jit/x86_64/asmpart.S,
11017         src/vm/jit/profile/profile.c,
11018         src/vm/jit/stacktrace.c,
11019         src/vm/jit/jit.c,
11020         src/vm/jit/stacktrace.h,
11021         src/vm/jit/codegen-common.c,
11022         src/vm/jit/jit.h,
11023         src/vm/global.h,
11024         src/vm/builtintable.inc,
11025         src/vm/signal.c,
11026         src/vm/exceptions.c,
11027         src/vm/vm.c,
11028         src/vm/linker.c,
11029         src/vm/exceptions.h,
11030         src/vm/utf8.c,
11031         src/vm/hashtable.c,
11032         src/cacao/cacao.c,
11033         src/cacao/Makefile.am,
11034         src/native/tools/Makefile.am,
11035         src/native/tools/gennativetable.c,
11036         src/native/jni.c,
11037         src/native/vm/VMObject.c,
11038         src/native/vm/VMThread.c,
11039         src/native/jni.h,
11040         src/native/native.c,
11041         src/native/jvmti/cacaodbg.c,
11042         src/native/jvmti/cacaodbg.h,
11043         src/native/jvmti/jvmti.c,
11044         src/toolbox/avl.c,
11045         src/toolbox/logging.c,
11046         src/toolbox/avl.h,
11047         src/mm/boehm.h,
11048         src/mm/memory.c,
11049         src/mm/boehm.c,
11050         src/threads/green,
11051         src/threads/native/threads.h,
11052         src/threads/native/threads.c,
11053         src/threads/Makefile.am,
11054         src/cacaoh/cacaoh.c,
11055         src/cacaoh/headers.h,
11056         src/cacaoh/Makefile.am,
11057         src/cacaoh/headers.c,
11058         configure.ac: Green threads removal, USE_THREADS renamed to
11059         ENABLE_THREADS, NATIVE_THREADS define removed.
11060
11061 2006-05-15 13:13  twisti
11062
11063         * src/vm/jit/asmpart.h (calljava_xhandler2): Not required anymore.
11064
11065 2006-05-15 12:23  twisti
11066
11067         * src/threads/native/threads.c (sem_init, sem_post, sem_wait)
11068         (sem_destroy): Added a pthread implementation (taken from Boehm-GC)
11069         for Darwin, as Darwin does not have an implementation for these
11070         functions.
11071         * src/threads/native/threads.h (sem_t): Added structure for Darwin.
11072         * src/threads/native/lock.h (semaphore.h): Removed.
11073
11074 2006-05-15 12:14  edwin
11075
11076         * src/threads/native/lock.c (THIN_UNLOCKED): Abstracted out the thin
11077         unlocked state so we can toggle the shape bit meaning if we want.
11078         (lock_pre_compute_thinlock): Likewise.
11079         (lock_get_initial_lock_word): Likewise.
11080         (lock_monitor_enter): Made void. Might save an instruction here and
11081         there.
11082         (lock_monitor_wait): lock_monitor_enter no longer returns the lock
11083         record. Assert that it is still the same fat lock (it must be).
11084
11085 2006-05-15 11:34  edwin
11086
11087         * src/threads/native/lock.c: Added reference to thin lock paper and
11088         explained the lockword format.
11089
11090 2006-05-14 22:41  edwin
11091
11092         * src/threads/native/lock.c: Thin lock implementation.
11093         
11094         * src/threads/native/threads.h (threadobject): Added thinlock field.
11095         (Authors, Changes): Moved myself to Authors because of rewrite.
11096         
11097         * src/threads/native/threads.c (threads_preinit): Init index and
11098         thinlock field of mainthreadobj here. (Needed early.)
11099         (threads_table_add): Init pre-computed thinlock field here.
11100         
11101         * src/threads/native/lock.h (lock_pre_compute_thinlock): New function.
11102
11103 2006-05-14 22:36  edwin
11104
11105         * src/threads/native/lock.c (lock_record_free_pools): Assert that
11106         this function is not called. It does not match the new way lock
11107         records are handled. We must find another way to free them.
11108         
11109         * src/threads/native/threads.c (threads_init): Do not call
11110         lock_record_free_pools.
11111         (threads_table_add): Removed debug code.
11112         (threads_startup_thread): Likewise.
11113
11114 2006-05-14 15:34  edwin
11115
11116         * src/threads/native/threads.c (threads_table_init): New function.
11117         (threads_table_add): New function.
11118         (threads_table_remove): New function.
11119         (threads_table_dump): New function.
11120         (threads_table): New global variable.
11121         (threads_preinit): Call threads_table_init.
11122         Call threads_table_add to add main thread.
11123         (threads_init_threadobject): Initialize index to 0.
11124         (threads_startup_thread): Call threads_table_add to add the thread
11125         to the table, and threads_table_remove to remove if afterwards.
11126
11127 2006-05-14 14:02  edwin
11128
11129         * src/threads/native/threads.h, src/threads/native/threads.c
11130         (nativethread): Removed. This struct is now inlined in threadobject.
11131         (threads_table_entry_t): New type.
11132         (threads_table_t): New type.
11133         Some further cleanup.
11134         
11135         * src/vm/builtin.h (THREADINFO): Becomes THREADOBJECT.
11136         
11137         * src/vm/jit/intrp/intrp.h (THREADINFO): Becomes THREADOBJECT.
11138         
11139         * src/vm/jit/stacktrace.c (_stackframeinfo): This is now directly
11140         a field of threadobject.
11141         
11142         * src/vm/jit/stacktrace.h (THREADINFO): Becomes THREADOBJECT.
11143         
11144         * src/native/jni.h (THREADINFO): Becomes THREADOBJECT.
11145         
11146         * src/native/jvmti/jvmti.c (isSleeping): Renamed to sleeping.
11147
11148 2006-05-14 12:22  edwin
11149
11150         * src/threads/native/lock.c, src/threads/native/lock.h: Rewritten
11151         as a very basic fat lock implementation.
11152         
11153         * src/vm/jit/powerpc64/arch.h (USE_MD_THREAD_STUFF): Renamed to
11154         USE_FAKE_ATOMIC_INSTRUCTIONS.
11155         
11156         * src/vm/jit/intrp/engine.c (USE_MD_THREAD_STUFF): Renamed to
11157         USE_FAKE_ATOMIC_INSTRUCTIONS.
11158         
11159         * src/threads/native/threads.c (USE_MD_THREAD_STUFF): Renamed to
11160         USE_FAKE_ATOMIC_INSTRUCTIONS.
11161         (ee.lrpool): Renamed to ee.lockrecordpools.
11162
11163 2006-05-14 12:15  edwin
11164
11165         * src/threads/native/threads.c (threads_calc_absolute_time): Optimize
11166         waiting for the maximum 64-bit number of milliseconds to an unbounded
11167         wait. This also avoids an overflow problem we seem to have with timed
11168         waits.
11169
11170 2006-05-13 23:25  edwin
11171
11172         * src/threads/native/lock.c (lock_init_thread_lock_record_pool):
11173         Renamed to lock_init_execution_env. Cleanup and Comments.
11174         
11175         * src/threads/native/lock.h (lock_init_thread_lock_record_pool):
11176         Renamed to lock_init_execution_env.
11177         
11178         * src/threads/native/threads.c (lock_init_thread_lock_record_pool):
11179         Renamed to lock_init_execution_env.
11180
11181 2006-05-13 23:10  edwin
11182
11183         * src/threads/native/threads.c, src/threads/native/threads.c: Further
11184         cleanup. Still no functional changes.
11185         Renamed external symbols are listed below.
11186         
11187         * src/threads/native/critical.h, src/threads/native/critical.c:
11188         Cleanup.
11189         
11190         * src/threads/native/lock.h: Cleanup.
11191         
11192         * src/vm/jit/profile/profile.c (thread_sleep): Renamed to
11193         threads_sleep.
11194         
11195         * src/vm/vm.c (joinAllThreads): Renamed to threads_join_all_threads.
11196         
11197         * src/native/jni.c (thread_getself): Renamed to
11198         threads_get_current_threadobject.
11199         
11200         * src/native/vm/VMThread.c (thread): Typedef `thread` has been
11201         removed.
11202         (interruptThread): Renamed to threads_interrupt_thread.
11203         (isInterruptedThread): Renamed to threads_thread_has_been_interrupted.
11204         (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
11205         (yieldThread): Renamed to threads_yield.
11206         (interruptedThread): Renamed to
11207         threads_check_if_interrupted_and_reset.
11208         
11209         * src/native/jvmti/cacaodbg.c (thread_getself): Renamed to
11210         threads_get_current_threadobject.
11211         (setthreadobject): Renamed to threads_set_current_threadobject.
11212         
11213         * src/native/jvmti/jvmti.c (setthreadobject): Renamed to
11214         threads_set_current_threadobject.
11215         
11216         * src/threads/green/threads.h (yieldThread): Renamed to threads_yield.
11217         (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
11218         
11219         * src/threads/green/threads.c (yieldThread): Renamed to threads_yield.
11220         (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
11221
11222 2006-05-12 16:49  edwin
11223
11224         * src/threads/native/threads.c: The Big Thread Cleanup. No functional
11225         changes,
11226         only code motion, renaming, documenting. This file has been split into
11227         threads.c, lock.c, and critical.c.
11228         Externally used symbols that were renamed are listed below. Static
11229         symbol
11230         renames are not listed.
11231         
11232         * src/threads/native/threads.h: The Big Thread Cleanup. No functional
11233         changes,
11234         only code motion, renaming, documenting. This file has been split into
11235         threads.h, lock.h, and critical.h.
11236         
11237         * src/cacaoh/cacaoh.c (initLocks): Renamed to lock_init (green
11238         threads).
11239         
11240         * src/cacaoh/headers.c (threadcritnode): Renamed to
11241         critical_section_node_t.
11242         
11243         * src/mm/memory.c (initObjectLock): Renamed to lock_init_object_lock.
11244         
11245         * src/native/jvmti/jvmti.c (lockRecordPool): Renamed to
11246         lock_record_pool_t.
11247         (pool_lock): Renamed to lock_global_pool_lock.
11248         (global_pool): Renamed to lock_global_pool.
11249         (ownerThread): Renamed to owner.
11250         (threadHoldsLock): Renamed to lock_does_thread_hold_lock.
11251         (monitorExit): Renamed to lock_monitor_exit.
11252         (wait_cond_for_object): Renamed to lock_wait_for_object.
11253         (signal_cond_for_object): Renamed to lock_notify_object.
11254         (broadcast_cond_for_object): Renamed to lock_notify_all_object.
11255         
11256         * src/native/tools/gennativetable.c (initLocks): Renamed to lock_init
11257         (green threads).
11258         
11259         * src/native/vm/VMObject.c (initObjectLock): Renamed to
11260         lock_init_object_lock.
11261         (wait_cond_for_object): Renamed to lock_wait_for_object.
11262         (signal_cond_for_object): Renamed to lock_notify_object.
11263         (broadcast_cond_for_object): Renamed to lock_notify_all_object.
11264         
11265         * src/native/vm/VMThread.c (threadHoldsLock): Renamed to
11266         lock_does_thread_hold_lock.
11267         
11268         * src/threads/green/locks.c, src/threads/green/locks.h
11269         (initLocks): Renamed to lock_init.
11270         (wait_cond_for_object): Renamed to lock_wait_for_object.
11271         (signal_cond_for_object): Renamed to lock_notify_object.
11272         (broadcast_cond_for_object): Renamed to lock_notify_all_object.
11273         (internal_broadcast_cond_for_object): Renamed to
11274         internal_lock_notify_all_object.
11275         
11276         * src/threads/green/threads.c (initLocks): Renamed to lock_init.
11277         (internal_broadcast_cond_for_object): Renamed to
11278         internal_lock_notify_all_object.
11279         
11280         * src/threads/native/Makefile.am (lock.c, lock.h): Added new files.
11281         (critical.c, critical.h): Added new files.
11282         (Changes): Added my name.
11283         
11284         * src/threads/native/critical.c: New file.
11285         
11286         * src/threads/native/critical.h: New file.
11287         
11288         * src/threads/native/lock.c: New file.
11289         
11290         * src/threads/native/lock.h: New file.
11291         
11292         * src/toolbox/avl.c (initObjectLock): Renamed to
11293         lock_init_object_lock.
11294         
11295         * src/vm/builtin.c (initObjectLock): Renamed to lock_init_object_lock.
11296         (monitorEnter): Renamed to lock_monitor_enter.
11297         (monitorExit): Renamed to lock_monitor_exit.
11298         
11299         * src/vm/class.c (initObjectLock): Renamed to lock_init_object_lock.
11300         
11301         * src/vm/classcache.c (initObjectLock): Likewise.
11302         
11303         * src/vm/finalizer.c (initObjectLock): Likewise.
11304         (wait_cond_for_object): Renamed to lock_wait_for_object.
11305         (signal_cond_for_object): Renamed to lock_notify_object.
11306         
11307         * src/vm/global.h (monitorLockRecord): Renamed to lock_record_t.
11308         
11309         * src/vm/hashtable.c (initObjectLock): Renamed to
11310         lock_init_object_lock.
11311         
11312         * src/vm/jit/asmpart.h: Added #include "threads/native/critical.h"
11313         (threadcritnode): Renamed to critical_section_node_t.
11314         
11315         * src/vm/jit/code.c: Comment changed.
11316         
11317         * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h
11318         (threadcritnode): Renamed to critical_section_node_t.
11319         (threadcritnodetemp): Renamed to codegen_critical_section_t.
11320         
11321         * src/vm/jit/alpha/codegen.c (get_dummyLR): Renamed to
11322         lock_get_initial_lock_word.
11323         
11324         * src/vm/jit/alpha/freebsd/md-os.c (thread_checkcritical): Renamed to
11325         critical_find_restart_point.
11326         * src/vm/jit/alpha/linux/md-os.c (thread_checkcritical): Renamed to
11327         critical_find_restart_point.
11328         
11329         * src/vm/jit/i386/codegen.c (get_dummyLR): Renamed to
11330         lock_get_initial_lock_word.
11331         
11332         * src/vm/jit/i386/freebsd/md-os.c (thread_checkcritical): Renamed to
11333         critical_find_restart_point.
11334         * src/vm/jit/i386/linux/md-os.c (thread_checkcritical): Renamed to
11335         critical_find_restart_point.
11336         
11337         * src/vm/jit/intrp/dynamic-super.c (initObjectLock): Renamed to
11338         lock_init_object_lock.
11339         
11340         * src/vm/jit/mips/codegen.c (get_dummyLR): Renamed to
11341         lock_get_initial_lock_word.
11342         
11343         * src/vm/jit/mips/irix/md-os.c (thread_checkcritical): Renamed to
11344         critical_find_restart_point.
11345         * src/vm/jit/mips/linux/md-os.c (thread_checkcritical): Renamed to
11346         critical_find_restart_point.
11347         
11348         * src/vm/jit/powerpc/codegen.c (get_dummyLR): Renamed to
11349         lock_get_initial_lock_word.
11350         
11351         * src/vm/jit/profile/profile.c (wait_cond_for_object): Renamed to
11352         lock_wait_for_object.
11353         
11354         * src/vm/jit/stack.c (initObjectLock): Renamed to
11355         lock_init_object_lock.
11356         
11357         * src/vm/jit/x86_64/codegen.c (get_dummyLR): Renamed to
11358         lock_get_initial_lock_word.
11359         
11360         * src/vm/jit/x86_64/md.c (thread_checkcritical): Renamed to
11361         critical_find_restart_point.
11362         
11363         * src/vm/loader.c (initObjectLock): Renamed to
11364         lock_init_object_lock.
11365         (initLocks): Renamed to lock_init (green threads).
11366         
11367         * src/vm/string.c (initObjectLock): Renamed to
11368         lock_init_object_lock.
11369         
11370         * src/vm/vm.c (initLocks): Renamed to lock_init (green threads).
11371
11372 2006-05-12 14:32  twisti
11373
11374         * src/vm/jit/emit.h: Replaced __POWERPC__ #ifdef with
11375         SIZEOF_VOID_P == 4.
11376
11377 2006-05-11 14:02  twisti
11378
11379         * src/native/vm/VMClassLoader.c (nativeGetResources): Bugfix: utf_new
11380         should be utfname.
11381
11382 2006-05-11 13:43  twisti
11383
11384         * src/vm/jit/mips/codegen.c: Changed mcodeptr from u4* to u1*.
11385         * src/vm/jit/mips/codegen.h: Likewise.
11386
11387 2006-05-11 13:09  twisti
11388
11389         * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Use new
11390         jit_asm_compile method.
11391
11392 2006-05-11 12:48  edwin
11393
11394         * src/threads/native/threads.c (monitorExit): Added an assert to
11395         check that no existing waiter is overwritten by the suspicious
11396         assignment.
11397
11398 2006-05-11 12:36  edwin
11399
11400         * src/lib/vm/reference/java/lang/VMClassLoader.java
11401         (getBootPackages): Merged patch to VMClassLoader.java of the
11402         reference implementation. getBootPackages now works in the
11403         presence of endorsed jars.
11404
11405 2006-05-11 12:18  twisti
11406
11407         * src/native/jni.c (DeleteGlobalRef): Bugfix: handle the removal of
11408         the first entry in the chain properly.
11409
11410 2006-05-11 09:18  twisti
11411
11412         * src/vm/hashtable.c (threads/native/threads.h): Added.
11413         (hashtable_create): Initialize lock object.
11414         (hashtable_resize): New function.
11415         (hashtable_free): Likewise.
11416         * src/vm/hashtable.h (hashtable): Added header pointer.
11417         (hashtable_resize): Added.
11418         (hashtable_free): Likewise.
11419         
11420         * src/vm/vm.c (vm_create): Call jni_init before threads_init.
11421         
11422         * src/vm/utf8.c (lock_hashtable_utf): Removed.
11423         (utf8_init): Allocate hashtable on heap.
11424         (utf_new): Use new hashtable stuff.
11425         
11426         * src/native/native.c (native_init): Use new hashtable stuff.
11427         (native_hashtable_library_add): Likewise.
11428         
11429         * src/native/jni.c (jni_init): Removed Java IdentityHashMap stuff and
11430         create a hashtable.
11431         (NewGlobalRef): Implemented with native hashtable.
11432         (DeleteGlobalRef): Likewise.
11433         
11434         * src/native/jni.h (hashtable_global_ref_entry): Added.
11435         
11436         * src/vm/string.c (literalstring_u2): Removed check for
11437         class_java_lang_String, we have an assert there.
11438
11439 2006-05-10 16:14  twisti
11440
11441         * src/vm/jit/alpha/codegen.c: Changed mcodeptr from u4* to u1*.
11442         * src/vm/jit/alpha/codegen.h: Likewise.
11443
11444 2006-05-10 15:51  twisti
11445
11446         * src/vm/jit/codegen-common.h (codegendata): Use an u1* mcodeptr for
11447         all architectures. This is necessary for the interpreter.
11448         * src/vm/jit/codegen-common.c (codegen_setup): Removed #ifdef.
11449         (codegen_increase): Likewise.
11450         
11451         * src/vm/jit/powerpc/codegen.c: Changed mcodeptr from u4* to u1*.
11452         * src/vm/jit/powerpc/codegen.h: Likewise.
11453
11454 2006-05-10 15:09  edwin
11455
11456         * src/vm/jit/inline/inline.c (inline_write_exception_handlers):
11457         Correct cast for abused instruction->target.
11458
11459 2006-05-10 13:12  twisti
11460
11461         * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use new
11462         jit_asm_compile method.
11463
11464 2006-05-08 11:09  twisti
11465
11466         * configure.ac (AC_CONFIG_FILES): Added src/scripts/keytool.
11467         * src/scripts/Makefile.am (bin_SCRIPTS): Added keytool.
11468         * src/scripts/.cvsignore: Likewise.
11469         * src/scripts/keytool.in: New file.
11470
11471 2006-05-08 11:05  twisti
11472
11473         * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Handle argument
11474         passing properly for SysV ABIs. Darwin is left to do.
11475
11476 2006-05-08 11:03  twisti
11477
11478         * tests/regression/native/testarguments.java: Added new test.
11479         * tests/regression/native/testarguments.c: Likewise.
11480         * tests/regression/native/testarguments.output: Likewise.
11481
11482 2006-05-06 18:29  motse
11483
11484         * src/vm/vm.c (vm_create): make agentlib/agentpath work
11485         * src/cacao/cacao.c (main): changes for jvmti/jdwp startup due to
11486         removal of jdwp process
11487         * src/native/jni.c (JNI_CreateJavaVM): change order vm_create and
11488         initialization of _Jv_jvm due to jvmti agent support.
11489         * src/native/vm/VMVirtualMachine.c: change name of jvmtienv and
11490         bugfixes of Samuel Vinson
11491         * src/native/include/Makefile.am: add VMMethod.h
11492         * src/native/jvmti/Makefile.am: removal of cacaodbgserver
11493         * src/native/jvmti/jvmti.c: remove jdwp process and convert to thread
11494         * src/native/jvmti/cacaodbg.h: idem
11495         * src/native/jvmti/jvmti.h: idem
11496         * src/native/jvmti/dbg.h: idem
11497         * src/native/jvmti/cacaodbg.c: idem
11498         * src/native/jvmti/dbg.c: idem
11499         * src/native/jvmti/cacaodbgserver.c: change to a autonomous program
11500         and removal of jdwp thread.
11501         * src/native/jvmti/VMjdwp.c (VMInit): different invocation due to
11502         removal of jdwp thread
11503         * src/native/jvmti/VMjdwp.h: export jvmti environment and event
11504         callbacks.
11505         * src/native/vm/VMMethod.c: initial/dummy implementation of VMMetod
11506         native method
11507
11508 2006-05-06 14:13  edwin
11509
11510         * src/native/vm/VMRuntime.c
11511         (Java_java_lang_VMRuntime_mapLibraryName): Use new utf_ functions.
11512         (Changes): Added my name.
11513         (vim boilerplate): Added.
11514
11515 2006-05-06 10:10  edwin
11516
11517         * src/native/vm/VMClassLoader.c
11518         (Java_java_lang_VMClassLoader_nativeGetResources): Really create a
11519         new utf string to search for if the trailing .class is stripped.
11520
11521 2006-05-06 00:16  edwin
11522
11523         * src/vm/classcache.c (classcache_merge_class_entries):
11524         Use utf_cat_classname.
11525         (classcache_store): Likewise.
11526         (classcache_store_defined): Likewise.
11527
11528 2006-05-06 00:11  edwin
11529
11530         * src/native/vm/VMClassLoader.c
11531         (Java_java_lang_VMClassLoader_nativeGetResources): Fixed and cleaned
11532         up. Skip leading '/'. Remove '.class' only at end. Free char buffer.
11533         Use correct utf_ functions. Check for exceptions.
11534         
11535         * src/vm/zip.c (zip_find): Documented.
11536
11537 2006-05-05 19:31  edwin
11538
11539         * src/vm/utf8.h: Moved #include "config.h" up front.
11540
11541 2006-05-05 19:22  edwin
11542
11543         * src/toolbox/logging.c (Changes): Added my name.
11544         (vim boilerplate): Added.
11545
11546 2006-05-05 19:21  edwin
11547
11548         * src/toolbox/logging.c (log_message_utf): Use new utf_ functions.
11549         (log_message_class_message_class): Likewise.
11550         (log_message_method): Likewise.
11551
11552 2006-05-05 19:13  edwin
11553
11554         * src/vm/builtin.c (builtin_throw_exception): Use new utf_ functions.
11555         (builtin_trace_exception): Likewise.
11556         (builtin_trace_args): Likewise.
11557         (builtin_displaymethodstop): Likewise.
11558
11559 2006-05-05 18:58  edwin
11560
11561         * src/vm/suck.c (suck_start): Use new utf_ functions.
11562
11563 2006-05-05 18:49  edwin
11564
11565         * src/vm/utf8.h, src/vm/utf8.c: Fixed header.
11566
11567 2006-05-05 18:14  edwin
11568
11569         * src/vm/loader.c (load_class_from_classbuffer): Use new
11570         utf_ functions.
11571
11572 2006-05-05 18:08  edwin
11573
11574         * src/vm/resolve.c (resolve_class_from_name): Use new utf_ functions.
11575         (resolve_subtype_check): Likewise.
11576         (resolve_field_verifier_checks): Likewise.
11577         (resolve_method_verifier_checks): Likewise.
11578
11579 2006-05-05 17:34  edwin
11580
11581         * src/vm/utf8.h, src/vm/utf8.c: The Big utf_* Renaming.
11582         The purpose of this change is to give the utf_* functions names
11583         that make clear what these functions _really_ have been doing
11584         all the time. I'm sure most callers would be surprised if they
11585         knew. All call sites should be reviewed!
11586         (utf_display): Renamed to utf_display_printable_ascii.
11587         (utf_display_classname): Renamed to
11588         utf_display_printable_ascii_classname.
11589         (utf_sprint): Renamed to utf_sprint_convert_to_latin1.
11590         (utf_sprint_classname): Renamed to
11591         utf_sprint_convert_to_latin1_classname.
11592         (utf_strcat): Renamed to utf_strcat_convert_to_latin1.
11593         (utf_strcat_classname): Renamed to
11594         utf_strcat_convert_to_latin1_classname.
11595         (utf_fprint): Renamed to utf_fprint_printable_ascii.
11596         (utf_fprint_classname): Renamed to
11597         utf_fprint_printable_ascii_classname.
11598         
11599         * src/vm/class.c, src/vm/suck.c, src/vm/loader.c, src/vm/builtin.c,
11600         src/vm/descriptor.c, src/vm/resolve.c, src/vm/method.c,
11601         src/vm/classcache.c, src/vm/jit/stack.c, src/vm/jit/verify/typeinfo.c,
11602         src/vm/jit/allocator/lsra.c, src/vm/jit/intrp/disass.c,
11603         src/vm/jit/stacktrace.c, src/vm/jit/codegen-common.c,
11604         src/vm/exceptions.c, src/vm/field.c, src/cacao/cacao.c,
11605         src/native/tools/gennativetable.c, src/native/vm/VMClassLoader.c,
11606         src/native/vm/VMRuntime.c, src/native/native.c, src/toolbox/logging.c,
11607         src/threads/green/threads.c, src/threads/native/threads.c,
11608         src/cacaoh/headers.c: The Big utf_ Renaming. All call sites of the
11609         renamed functions should be reviewed! Calls outside debugging code
11610         are probably incorrect and should use one of the new utf_ functions
11611         that copies byte-for-byte.
11612
11613 2006-05-05 17:09  edwin
11614
11615         * src/vm/exceptions.c (new_exception): Documented.
11616         (new_exception_message): Documented. Use new_exception_javastring.
11617         (new_exception_throwable): Documented.
11618         (new_exception_utfmessage): Documented. Use new_exception_javastring.
11619         (new_exception_javastring): Documented.
11620         (new_exception_int): Documented.
11621         (new_classformaterror): Documented. Use new byte-for-byte UTF-8
11622         functions.
11623         (exceptions_throw_classformaterror): Documented.
11624         (new_classnotfoundexception): Documented. Check return value of
11625         javastring_new.
11626         (new_noclassdeffounderror): Documented. Check return value of
11627         javastring_new.
11628         (new_internalerror): Documented.
11629         (exceptions_new_linkageerror): Documented. Use new byte-for-byte UTF-8
11630         functions.
11631         (exceptions_new_nosuchmethoderror): Documented. Use new byte-for-byte
11632         UTF-8
11633         functions.
11634         (exceptions_throw_nosuchmethoderror): Documented.
11635         (new_unsupportedclassversionerror): Documented. Use new byte-for-byte
11636         UTF-8
11637         functions.
11638         (new_verifyerror): Likewise.
11639         (exceptions_throw_verifyerror_for_stack): Likewise.
11640         (exceptions_handle_exception): Documented.
11641
11642 2006-05-05 16:51  edwin
11643
11644         * src/vm/utf8.c, src/vm/utf8.h (utf_copy): New function.
11645         (utf_cat): New function.
11646         (utf_copy_classname): New function.
11647         (utf_cat_classname): New function.
11648         These new functions copy the UTF-8 content byte-for-byte and thus
11649         do not lead to losses by conversion like the utf_strcpy, etc.
11650         functions.
11651
11652 2006-05-05 15:26  edwin
11653
11654         * src/vm/string.c, src/vm/stringlocal.h, src/vm/utf8.c, src/vm/utf8.h
11655         (Changes): Added my name.
11656         (vim boilerplate): Added.
11657
11658 2006-05-05 15:14  edwin
11659
11660         * src/vm/string.c, src/vm/stringlocal.h
11661         (javastring_new_from_utf_buffer): New function.
11662         (javastring_new_from_utf_string): New function.
11663         
11664         * src/vm/utf8.c (utf_get_number_of_u2s_for_buffer): New function.
11665         (utf_get_number_of_u2s): Documented that this function may throw
11666         exception.s.
11667         
11668         * src/vm/utf8.h (utf_get_number_of_u2s_for_buffer): New function.
11669
11670 2006-05-05 14:36  edwin
11671
11672         * src/vm/string.c, src/vm/stringlocal.h (java_string_new_char):
11673         Renamed to `java_string_new_from_ascii` to make more clear what this
11674         function does. It is wrong to use this function to create a
11675         java.lang.String from a buffer of UTF-8 characters!
11676         
11677         * src/vm/finalizer.c (finalizer_start_thread): Legitimate use.
11678         * src/vm/jit/profile/profile.c (profile_start_thread): Likewise.
11679         
11680         * src/vm/exceptions.c
11681         (exceptions_new_linkageerror): Definitely INCORRECT use.
11682         (exceptions_new_nosuchmethoderror): Likewise.
11683         * src/native/vm/VMRuntime.c
11684         (Java_java_lang_VMRuntime_mapLibraryName): Likewise.
11685         
11686         * src/vm/exceptions.c (new_exception_message): Probably INCORRECT use.
11687         * src/native/jni.c (DefineClass): Likewise.
11688         (ThrowNew): Likewise.
11689         * src/native/vm/VMClassLoader.c
11690         (Java_java_lang_VMClassLoader_nativeGetResources): Likewise.
11691         
11692         * src/vm/properties.c (properties_system_add): Needs review.
11693         * src/cacao/cacao.c (getmainclassnamefromjar): Likewise.
11694         * src/native/jvmti/cacaodbg.c (setup_jdwp_thread): Likewise.
11695         * src/native/jvmti/jvmti.c (CreateRawMonitor, GetSystemProperty)
11696         (SetSystemProperty): Likewise.
11697
11698 2006-05-05 13:56  edwin
11699
11700         * src/vm/utf8.c, src/vm/utf8.h (utf_bytes): New function.
11701         Use this function to query the number of octets of a utf string.
11702         This function will become the correct replacement for the old
11703         utf_strlen in most places. The calling code will have to be
11704         reviewed for that, however, and it will also require fixing
11705         utf_strcat, utf_sprint, and so on, to do the right thing.
11706
11707 2006-05-05 13:48  edwin
11708
11709         * src/vm/utf8.c, src/vm/utf8.h (utf_strlen): Renamed to
11710         `utf_get_number_of_u2s` in order to reflect what this function
11711         _really_ does. A long name was chosen intentionally to make it obvious
11712         that this is _not_ the function to use as the normal strlen. Most
11713         current uses of this function are invalid, as it must only be used
11714         when the utf string will be **converted to UTF-16**.
11715         
11716         * src/vm/suck.c (suck_start): Renamed utf_strlen. RECONSIDER USE!
11717         * src/vm/loader.c (load_class_from_classbuffer): Likewise.
11718         * src/vm/builtin.c (various functions): Likewise.
11719         * src/vm/resolve.c (various functions): Likewise.
11720         * src/vm/exceptions.c (various functions): Likewise.
11721         * src/native/vm/VMClassLoader.c
11722         (Java_java_lang_VMClassLoader_nativeGetResources): Likewise.
11723         * src/native/vm/VMRuntime.c
11724         (Java_java_lang_VMRuntime_mapLibraryName): Likewise.
11725         * src/native/native.c (native_resolve_function): Likewise.
11726         * src/toolbox/logging.c (various functions): Likewise.
11727         * src/cacaoh/headers.c (various functions): Likewise.
11728         
11729         * src/vm/string.c (javastring_new): Legitimate use.
11730         (javastring_new_slash_to_dot): Likewise.
11731         (literalstring_new) Likewise.
11732
11733 2006-05-03 23:04  edwin
11734
11735         * src/threads/native/threads.c (wakeWaiters): Renamed
11736         to threads_wake_waiters. Documented.
11737
11738 2006-05-03 22:58  edwin
11739
11740         * src/threads/native/threads.c (handleWaiter): Renamed arguments.
11741         Commented.
11742         (monitorEnter): Documented.
11743         (notifyOneOrAll): Cleaned up.
11744
11745 2006-05-03 22:46  edwin
11746
11747         * src/threads/native/threads.c (setPriority): Renamed to
11748         threads_set_thread_priority.
11749         (removeFromWaiters): Renamed to threads_remove_waiter.
11750         (timespec_less): Renamed to threads_timespec_earlier.
11751         (timeIsEarlier): Renamed to threads_current_time_is_earlier_than.
11752         (waitWithTimeout): Renamed to threads_wait_with_timeout. Removed
11753         unused
11754         argument `lr`.
11755         (thread_sleep): There is no need to create a lock record for
11756         calling threads_wait_with_timeout, as that does not use the
11757         lock record anyway (formerly waitWithTimeout).
11758         (various function): Lots of documentation and cleanup.
11759
11760 2006-05-02 16:16  twisti
11761
11762         * src/vm/jit/stack.c (stack_analyse): Check for val.a == NULL on
11763         SUPPORT_CONST_STORE_ZERO_ONLY architectures for ICMD_PUTSTATIC and
11764         ICMD_PUTFIELD.
11765
11766 2006-05-01 23:14  edwin
11767
11768         * src/threads/native/threads.c: Cleanup and documentation.
11769
11770 2006-05-01 21:40  edwin
11771
11772         * src/threads/native/threads.h (threads_sem_init): New function.
11773         (threads_sem_post): New function.
11774         
11775         * src/threads/native/threads.c (threads_sem_init): New function.
11776         (threads_sem_wait): Added assertion.
11777         (threads_sem_post): New function.
11778         (various function): Use threads_sem_init and threads_sem_post.
11779         
11780         * src/native/jvmti/cacaodbg.c (getworkingdatalock): Use
11781         threads_sem_post.
11782         (cacaodbgfork): Use threads_sem_init.
11783         
11784         * src/native/jvmti/cacaodbgserver.c (contchild, waitloop).
11785         Use threads_sem_post.
11786
11787 2006-05-01 12:40  edwin
11788
11789         * src/threads/native/threads.c (threads_sem_wait): New function.
11790         This function performs a non-interruptible sem_wait. This fixes
11791         segfaults and deadlocks that resulted from sem_wait calls returning
11792         prematurely.
11793         (cast_stopworld): Use threads_sem_wait.
11794         (threads_startup_thread): Likewise.
11795         (threads_start_thread): Likewise.
11796         (queueOnLockRecord): Likewise.
11797         
11798         * src/threads/native/threads.h (threads_sem_wait): New function.
11799         
11800         * src/native/jvmti/cacaodbg.c (msgqsendevent): Use threads_sem_wait
11801         instead of sem_wait.
11802         
11803         * src/native/jvmti/cacaodbgserver.c (contchild, waitloop): Use
11804         threads_sem_wait instead of sem_wait.
11805
11806 2006-04-30 17:18  twisti
11807
11808         * configure.ac (AC_CONFIG_FILES): Added src/scripts/jarsigner.
11809         * src/scripts/Makefile.am (bin_SCRIPTS): Added jarsigner.
11810         * src/scripts/.cvsignore: Likewise.
11811         * src/scripts/jarsigner.in: New file.
11812
11813 2006-04-30 16:17  edwin
11814
11815         * src/vm/resolve.c (resolve_method_verifier_checks)
11816         (constrain_unresolved_method): Use ICMD_ACONST_CLASSREF_OR_CLASSINFO.
11817         
11818         * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
11819         src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c,
11820         src/vm/jit/intrp/codegen.c, src/vm/jit/x86_64/codegen.c
11821         (codegen): Changes for new ACONST format.
11822         
11823         * src/vm/jit/stack.c (stack_analyse): Changes for new ACONST format.
11824         
11825         * src/vm/jit/verify/typecheck.c (verify_invocation): Use the new
11826         macros.
11827         (verify_builtin, verify_multianewarray, verify_basic_block): Changes
11828         for
11829         new ACONST format.
11830         
11831         * src/vm/jit/verify/typeinfo.h (TYPEINFO_INIT_JAVA_LANG_CLASS): Take
11832         a classref_or_classinfo as argument.
11833         
11834         * src/vm/jit/verify/typeinfo.c (typeinfo_init_class): Typo fixed.
11835         (typeinfo_print): Changes for new ACONST format.
11836         
11837         * src/vm/jit/inline/inline.c (inline_write_exception_handlers):
11838         Changes for new ACONST format.
11839         
11840         * src/vm/jit/parse.c (parse): Changes for new ACONST format.
11841         
11842         * src/vm/jit/parse.h (LOADCONST_A_CLASS): Removed.
11843         (LOADCONST_A_BUILTIN): Changes for new ACONST format.
11844         
11845         * src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED,
11846         INSTRUCTION_IS_UNRESOLVED):
11847         Only check least significant bit of target (provisory flag).
11848         (ICMD_ACONST_IS_CLASS, ICMD_ACONST_CLASSREF_OR_CLASSINFO)
11849         (ICMD_ACONST_RESOLVED_CLASSINFO, ICMD_ACONST_UNRESOLVED_CLASSREF):
11850         New macros.
11851
11852 2006-04-30 15:58  edwin
11853
11854         * src/vm/jit/loop/tracing.c (tracing): Adapted to new format of
11855         INVOKE
11856         instructions.
11857         * src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates)
11858         (_test_lifetimes): Likewise.
11859
11860 2006-04-28 12:25  edwin
11861
11862         * src/vm/jit/parse.c (parse): Added a comment.
11863
11864 2006-04-28 12:24  twisti
11865
11866         * src/vm/jit/stack.c (stack_analyse): We need to split AASTORECONST
11867         and PUT{STATIC,FIELD}CONST as they can store different values. I hope
11868         the checks are correct now (until we get our new instruction
11869         format). Edwin: Hint! Hint! Hint!
11870         (stack_show_icmd): Again a smaller change.
11871
11872 2006-04-28 11:50  twisti
11873
11874         * src/vm/jit/stack.c (stack_analyse): Check for
11875         {AASTORE,PUTSTATIC,PUTFIELD}CONST if the instruction is resolved. We
11876         don't have a patcher for that case.
11877         (stack_show_icmd): Smaller change.
11878
11879 2006-04-28 11:37  twisti
11880
11881         * tests/regression/codepatching/test.java: Added new test.
11882         * tests/regression/codepatching/Makefile.am: Files updated.
11883         
11884         * tests/regression/codepatching/putfieldconstIF.java,
11885         tests/regression/codepatching/putfieldconstJDL.java: Removed.
11886         
11887         * tests/regression/codepatching/putstaticconstJ.java,
11888         tests/regression/codepatching/putstaticconstL.java,
11889         tests/regression/codepatching/putfieldconstD.java,
11890         tests/regression/codepatching/putfieldconstF.java,
11891         tests/regression/codepatching/putstaticconstC.java,
11892         tests/regression/codepatching/putfieldconstJ.java,
11893         tests/regression/codepatching/putfieldconstL.java,
11894         tests/regression/codepatching/putstaticconstI.java,
11895         tests/regression/codepatching/putfieldconstC.java,
11896         tests/regression/codepatching/putstaticconstD.java,
11897         tests/regression/codepatching/putfieldconstI.java,
11898         tests/regression/codepatching/putstaticconstF.java: New file.
11899
11900 2006-04-28 11:24  edwin
11901
11902         * src/vm/resolve.c (resolve_method_lazy): Turn INVOKEVIRTUAL into
11903         INVOKESPECIAL for monomorphic calls.
11904
11905 2006-04-28 00:46  edwin
11906
11907         * src/vm/jit/intrp/asmpart.c (intrp_asm_vm_call_method_int): Fix
11908         build
11909         errors. TWISTI, please review these changes.
11910
11911 2006-04-28 00:31  edwin
11912
11913         * regression/codepatching/test.java: Added test for AASTORECONST
11914         with unresolved class constant. Currently exposes a bug when
11915         test.java is
11916         compiled with -target 1.5.
11917         
11918         * regression/codepatching/aastoreconstClass.java: New file.
11919
11920 2006-04-27 23:03  twisti
11921
11922         * src/vm/jit/stacktrace.h (STACKFRAMEINFO): Added parenthesis.
11923         * src/vm/global.h (java_objectheader): Changed type of monitorPtr to
11924         monitorLockRecord.
11925         
11926         * src/vm/vm.h (vm_arg): Added union.
11927         * src/vm/vm.c (vm_vmargs_from_valist): Use union of vm_arg's data.
11928         * src/native/jni.c (_Jv_jni_vmargs_from_objectarray): Likewise.
11929         
11930         * src/threads/native/threads.h (nativethread): Changed type of
11931         _stackframeinfo to stackframeinfo*.
11932         * src/threads/native/threads.c (monitorEnter): Cast compare_and_swap
11933         return value correctly.
11934
11935 2006-04-27 12:33  twisti
11936
11937         * src/vm/jit/x86_64/emit.c: Changed x86_64 function prefix to
11938         emit. And some other stuff too.
11939         * src/vm/jit/x86_64/md-emit.h: Likewise.
11940         * src/vm/jit/x86_64/codegen.c: Likewise.
11941         * src/vm/jit/x86_64/codegen.h: Likewise.
11942
11943 2006-04-27 11:05  twisti
11944
11945         * src/native/vm/VMSystemProperties.c (preInit): Append "/jre" to
11946         java.home property, as all JDKs and JREs do that. Fixed a problem with
11947         jonas testsuite. General cleanup.
11948
11949 2006-04-27 10:32  twisti
11950
11951         * src/vm/jit/powerpc/darwin/md-asm.h (jit_asm_compile): Renamed from
11952         jit_compile.
11953         * src/vm/jit/powerpc/asmpart.S: Likewise.
11954
11955 2006-04-26 15:44  edwin
11956
11957         * src/vm/jit/stacktrace.c (stacktrace_getClassContext): Reverted the
11958         hack that removes the first entry if this function is called by
11959         java.lang.SecurityManager. This (undocumented) hack probably was done
11960         to solve a problem that no longer exists.
11961
11962 2006-04-26 14:09  twisti
11963
11964         * src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Removed
11965         emitfuncs.c, emitfuncs.h and added emit.c, md-emit.h.
11966         
11967         * src/vm/jit/i386/emit.c (emit_load_s1): New method.
11968         (emit_load_s2): Likewise.
11969         (emit_load_s3): Likewise.
11970         (emit_store): Likewise.
11971         (emit_copy): Likewise.
11972         
11973         * src/vm/jit/i386/codegen.c (codegen): Use emit_load/store functions
11974         instead of macros.
11975         
11976         * src/vm/jit/i386/codegen.h (M_LNGMOVE): Added.
11977         (M_LNGMEMMOVE): Removed.
11978         (var_to_reg_int): Removed.
11979         (var_to_reg_lng): Likewise.
11980         (var_to_reg_flt): Likewise.
11981         (store_reg_to_var_int): Likewise.
11982         (store_reg_to_var_lng): Likewise.
11983         (store_reg_to_var_flt): Likewise.
11984         (M_FLD): Added.
11985         (M_DLD): Likewise.
11986         (M_FLD32): Likewise.
11987         (M_DLD32): Likewise.
11988         (M_FST): Likewise.
11989         (M_DST): Likewise.
11990
11991 2006-04-26 11:02  twisti
11992
11993         * src/vm/jit/i386/md-emit.h: Moved from src/vm/jit/i386/emitfuncs.h.
11994         * src/vm/jit/i386/emit.c: Moved from src/vm/jit/i386/emitfuncs.c.
11995
11996 2006-04-26 09:02  twisti
11997
11998         * configure.ac (AC_CONFIG_FILES): Added src/scripts/rmic.
11999         * src/scripts/Makefile.am (bin_SCRIPTS): Added rmic.
12000         * src/scripts/java.in: Use ${1+"$@"} instead of $@.
12001         * src/scripts/rmiregistry.in: Likewise.
12002         * src/scripts/rmic.in: Updated to new rmic location.
12003
12004 2006-04-26 08:57  twisti
12005
12006         * m4/ac_prog_javac.m4: Default to ecj.
12007         * src/lib/Makefile.am: If JAVAC is ecj, use the -1.5 flag. This
12008         produces much faster code regarding class$ (e.g. jonas startup time).
12009
12010 2006-04-25 18:02  edwin
12011
12012         * src/vm/jit/disass-common.c (disass_printf): Avoid compiler warning.
12013         
12014         * src/vm/jit/profile/profile.c (profile_printstats): Avoid compiler
12015         warnings.
12016
12017 2006-04-25 17:57  edwin
12018
12019         * src/vm/jit/i386/disass.c (disassinstr): Avoid compiler warning.
12020
12021 2006-04-25 17:53  edwin
12022
12023         * src/vm/jit/stack.c (stack_show_icmd): Removed unused variable `um`.
12024
12025 2006-04-25 17:48  edwin
12026
12027         * src/vm/loader.c (load_method): Simplify initialization of
12028         methodinfo by
12029         clearing it explicitely in load_class_from_classbuffer, instead of
12030         zeroing
12031         individual fields here.
12032         (load_class_from_classbuffer): MZERO methodinfo array.
12033         (load_newly_created_array): Initialize `params` to NULL for the clone
12034         method.
12035
12036 2006-04-25 17:45  edwin
12037
12038         * src/mm/memory.h (MZERO): Added macro MZERO for convenient memory
12039         cleaning.
12040
12041 2006-04-25 17:42  edwin
12042
12043         * src/native/vm/VMSystemProperties.c
12044         (Java_gnu_classpath_VMSystemProperties_preInit): Use strcpy instead of
12045         strcat, since there is nothing to concat to and we may want to lift
12046         the
12047         assertion that MSET clears memory.
12048
12049 2006-04-25 15:46  edwin
12050
12051         * src/vm/jit/i386/md.c (md_get_method_patch_address): Avoid compiler
12052         warning.
12053
12054 2006-04-25 15:31  edwin
12055
12056         * src/cacao/cacao.c (main): Avoid warning about unused label.
12057         Cleaned up whitespace.
12058
12059 2006-04-25 15:26  edwin
12060
12061         * src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack): Avoid
12062         compiler warning.
12063
12064 2006-04-25 12:35  edwin
12065
12066         * src/vm/jit/verify/typecheck.c (typecheckverbose): Renamed to
12067         opt_typecheckverbose.
12068         * src/vm/jit/verify/typeinfo.h: Likewise.
12069         
12070         * src/vm/vm.c (OPT_VERBOSETC): Only define if both ENABLE_VERIFIER
12071         and TYPECHECK_VERBOSE are defined.
12072         (typecheckverbose): Renamed to opt_typecheckverbose.
12073
12074 2006-04-25 12:25  edwin
12075
12076         * src/vm/options.h, src/vm/options.c (getloadingtime): Renamed to
12077         opt_getloadingtime. Only defined for ENABLE_STATISTICS.
12078         (getcompilingtime): Renamed to opt_getcompilingtime.
12079         Only defined for ENABLE_STATISTICS.
12080         
12081         * src/vm/loader.c (getloadingtime, getcompilingtime): Renamed.
12082         * src/vm/jit/jit.c: Likewise.
12083         * src/vm/linker.c: Likewise.
12084         * src/native/vm/VMClassLoader.c: Likewise.
12085         
12086         * src/vm/vm.c (OPT_TIME): Only defined for ENABLE_STATISTICS.
12087         
12088         * configure.ac (--enable-statistics): Now statistics are disabled by
12089         default.
12090
12091 2006-04-25 12:00  edwin
12092
12093         * src/vm/options.h (opt_verify): Only declare for ENABLE_VERIFIER.
12094         (opt_liberalutf): Removed.
12095         
12096         * src/vm/options.c (opt_verify): Only declare for ENABLE_VERIFIER.
12097         (opt_liberalutf): Removed.
12098         
12099         * src/vm/jit/inline/inline.c (test_inlining): Only verify if
12100         ENABLE_VERIFIER.
12101         
12102         * src/vm/jit/parse.c (parse): Only check opt_verify if
12103         ENABLE_VERIFIER.
12104         
12105         * src/vm/global.h (ENABLE_VERIFIER): Removed. This is now defined in
12106         config.h.
12107         
12108         * src/vm/vm.c (OPT_NOVERIFY): Only define this option if
12109         ENABLE_VERIFIER.
12110         (OPT_LIBERALUTF): Removed.
12111         
12112         * configure.ac (--disable-verifier): Added configure option.
12113         
12114         * src/vm/jit/stacktrace.c (stacktrace_getStack): Gather a wider range
12115         for the cycle count statistics.
12116
12117 2006-04-25 10:36  edwin
12118
12119         * src/vm/cycles-stats.h (CYCLES_STATS_COUNT_OVER): Added.
12120
12121 2006-04-24 18:28  edwin
12122
12123         * src/vm/cycles-stats.c: Cleaned up whitespace.
12124
12125 2006-04-24 18:22  edwin
12126
12127         * src/vm/cycles-stats.c (cycles_stats_print_percentile): Also perform
12128         measurement overhead compensation for cumulated cycle counts.
12129
12130 2006-04-24 17:16  edwin
12131
12132         * src/vm/global.h (ACC_CLASS_REFLECT_MASK): Added.
12133         (ACC_CLASS_HAS_POINTERS): Likewise.
12134         (vim boilerplate): Added.
12135         
12136         * src/vm/loader.c (load_field): Set ACC_CLASS_HAS_POINTERS flag.
12137         
12138         * src/vm/linker.c (link_class_intern): OR ACC_CLASS_HAS_POINTERS flag.
12139         
12140         * src/vm/builtin.c (builtin_new): Use ACC_CLASS_HAS_POINTERS to
12141         determine
12142         which kind of memory to allocate.
12143         
12144         * src/native/vm/VMClass.c (Java_java_lang_VMClass_getModifiers): Mask
12145         reported access flags with ACC_CLASS_REFLECT_MASK.
12146
12147 2006-04-24 16:24  twisti
12148
12149         * src/vm/jit/x86_64/emit.c (x86_64_emit_ifcc): Changed signature of
12150         codegen_addreference.
12151         (x86_64_emit_if_lcc): Likewise.
12152         (x86_64_emit_if_icmpcc): Likewise.
12153         (x86_64_emit_if_lcmpcc): Likewise.
12154
12155 2006-04-24 16:10  twisti
12156
12157         * src/vm/jit/i386/codegen.c (codegen): Don't initialize mcode
12158         variables. New dseg_addlinenumber signature fix.
12159         (createnativestub): Don't initialize mcode variables.
12160
12161 2006-04-24 16:06  twisti
12162
12163         * src/vm/jit/codegen-common.c (codegen_increase): Changed signature.
12164         (codegen_addreference): Likewise.
12165         (codegen_add_exception_ref): Likewise.
12166         (codegen_add_arithmeticexception_ref): Likewise.
12167         (codegen_add_arrayindexoutofboundsexception_ref): Likewise.
12168         (codegen_add_arraystoreexception_ref): Likewise.
12169         (codegen_add_classcastexception_ref): Likewise.
12170         (codegen_add_nullpointerexception_ref): Likewise.
12171         (codegen_add_fillinstacktrace_ref): Likewise.
12172         (codegen_addpatchref): Likewise.
12173         (codegen_finish): Likewise.
12174         * src/vm/jit/codegen-common.h: Likewise.
12175         
12176         * src/vm/jit/dseg.c (dseg_increase): Made static.
12177         (dseg_adds4): Use dseg_increase.
12178         (dseg_adds8): Likewise.
12179         (dseg_addfloat): Likewise.
12180         (dseg_adddouble): Likewise.
12181         (dseg_adds4_increase): Removed.
12182         (dseg_adds8_increase): Likewise.
12183         (dseg_addfloat_increase): Likewise.
12184         (dseg_adddouble_increase): Likewise.
12185         (dseg_addlinenumber): Changed signature.
12186         (dseg_addlinenumber_inline_start): Likewise.
12187         (dseg_adddata): Likewise.
12188         * src/vm/jit/dseg.h: Likewise.
12189         
12190         * src/vm/jit/alpha/emit.c (vm/jit/alpha/emit.h): Removed.
12191         (vm/jit/emit.h): Added.
12192         (emit_lconst): New method.
12193         * src/vm/jit/alpha/Makefile.am (libarch_la_SOURCES): Added emit.c
12194         
12195         * src/vm/jit/alpha/codegen.c (vm/jit/emit.h): Added.
12196         (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
12197         functions instead of macros. Saves over 50kB object code size. Use new
12198         signatures of codegen-common and dseg functions.
12199         * src/vm/jit/alpha/codegen.h (var_to_reg_int): Removed.
12200         (var_to_reg_flt): Likewise.
12201         (store_reg_to_var_int): Likewise.
12202         (store_reg_to_var_flt): Likewise.
12203         
12204         * src/vm/jit/i386/codegen.c: Use new signatures of codegen-common and
12205         dseg functions.
12206         * src/vm/jit/i386/codegen.h: Likewise.
12207         * src/vm/jit/intrp/codegen.c: Likewise.
12208         * src/vm/jit/intrp/codegen.h: Likewise.
12209         * src/vm/jit/mips/codegen.c: Likewise.
12210         * src/vm/jit/mips/codegen.h: Likewise.
12211         * src/vm/jit/powerpc/codegen.c: Likewise.
12212         * src/vm/jit/powerpc/codegen.h: Likewise.
12213         * src/vm/jit/x86_64/codegen.c: Likewise.
12214         * src/vm/jit/x86_64/codegen.h: Likewise.
12215
12216 2006-04-24 15:43  edwin
12217
12218         * src/vm/jit/stacktrace.c (stacktrace_create): Do not free dump
12219         memory here,
12220         this is now done in the parent functions. Also removed the copy to gc
12221         memory.
12222         (stacktrace_fillInStackTrace): Copy stacktrace to gc memory.
12223         Free dump memory.
12224         (stacktrace_getClassContext): Free dump memory.
12225         (stacktrace_getCurrentClass): Likewise.
12226         (stacktrace_getStack): Likewise.
12227         (stacktrace_dump_trace): Likewise.
12228
12229 2006-04-24 11:40  edwin
12230
12231         * src/vm/jit/stacktrace.c (stacktrace_fillInStackTrace)
12232         (stacktrace_getClassContext, stacktrace_getCurrentClass)
12233         (stacktrace_getStack): Added cycle count statistics.
12234         (stacktrace_print_cycles_stats): Added.
12235         
12236         * src/vm/jit/stacktrace.h (stacktrace_print_cycles_stats): Added.
12237         
12238         * src/vm/vm.c (vm_exit_handler): Call stacktrace_print_cycles_stats.
12239
12240 2006-04-24 11:36  edwin
12241
12242         * src/vm/cycles-stats.h (CYCLES_STATS_END_WITH_OVERHEAD): Fix
12243         arguments of
12244         empty macro definition.
12245
12246 2006-04-24 11:27  edwin
12247
12248         * src/vm/cycles-stats.h (CYCLES_STATS_DECLARE_AND_START)
12249         (CYCLES_STATS_DECLARE_AND_START_WITH_OVERHEAD)
12250         (CYCLES_STATS_END, CYCLES_STATS_END_WITH_OVERHEAD): Added convenience
12251         macros.
12252         
12253         * src/vm/cycles-stats.c (cycles_stats_print): Fixed divide-by-zero.
12254         Minor
12255         output changes.
12256
12257 2006-04-24 10:08  twisti
12258
12259         * src/vm/jit/mips/md.c (md_get_method_patch_address): Renamed from
12260         md_assembler_get_patch_address.
12261         * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Renamed
12262         md_assembler_get_patch_address to md_get_method_patch_address.
12263
12264 2006-04-24 10:00  twisti
12265
12266         * src/vm/jit/powerpc/md.c (md_get_method_patch_address): New method.
12267         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): Use new
12268         jit_asm_compile method. This fixes the ecj bugs seens with some mauve
12269         tests and eclipse.
12270
12271 2006-04-24 09:58  twisti
12272
12273         * src/vm/jit/powerpc/codegen.c (codegen): Replaced those ugly
12274         M_TINTMOVE macros. Use M_LLD macros where possible.
12275         * src/vm/jit/powerpc/codegen.h (M_LNGMOVE): Check for equal registers.
12276         (M_TINTMOVE): Removed.
12277
12278 2006-04-24 00:19  edwin
12279
12280         * src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Omit the
12281         stackframe.
12282         This saves a couple of cycles of measurement overhead.
12283
12284 2006-04-23 23:03  twisti
12285
12286         * src/vm/jit/alpha/md.c (md_get_method_patch_address): Renamed from
12287         md_assembler_get_patch_address.
12288         * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Renamed
12289         md_assembler_get_patch_address to md_get_method_patch_address.
12290
12291 2006-04-23 19:18  edwin
12292
12293         * src/vm/cycles-stats.c (cycles_stats_print_percentile): Better
12294         extrapolation.
12295         * src/vm/cycles-stats.h (CYCLES_STATS_DECLARE, CYCLES_STATS_COUNT)
12296         (CYCLES_STATS_PRINT, CYCLES_STATS_PRINT_OVERHEAD): Added total cycles
12297         counter.
12298
12299 2006-04-23 19:16  edwin
12300
12301         * src/vm/builtin.c (builtin_new): Renamed rt-timing identifier.
12302         (builtin_newarray): Added rt-timing.
12303         
12304         * src/vm/rt-timing.h: Added rt-timing for builtin_newarray.
12305         * src/vm/rt-timing.c: Likewise.
12306
12307 2006-04-23 16:11  edwin
12308
12309         * src/vm/builtin.c (builtin_print_cycles_stats): Use
12310         CYCLES_STATS_PRINT_OVERHEAD.
12311         
12312         * src/vm/cycles-stats.h (CYCLES_STATS_PRINT_OVERHEAD): Added.
12313         
12314         * src/vm/cycles-stats.c (cycles_stats_print_percentile): Added.
12315         (cycles_stats_print): Added `overhead` argument and automatic
12316         measurement overhead compensation.
12317
12318 2006-04-23 15:39  edwin
12319
12320         * src/vm/builtin.c (builtin_new): Added rt-timing.
12321         (builtin_print_cycles_stats): Removed unused variable.
12322         (builtin_monitorenter): Removed rt-timing.
12323         (builtin_monitorexit): Likewise.
12324         
12325         * src/vm/rt-timing.c: rt-timing for buitin_new.
12326         * src/vm/rt-timing.h: Likewise.
12327
12328 2006-04-23 15:31  edwin
12329
12330         * src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Better error
12331         handling.
12332
12333 2006-04-23 15:24  edwin
12334
12335         * src/vm/builtin.c (builtin_new): Gather cycle count statistics.
12336         (CYCLES_STATS_DECLARE): Moved declarations to beginning of file.
12337         
12338         * src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Added function for
12339         automatic CPU frequency detection via /proc/cpuinfo.
12340         (cycles_stats_print): Calculate estimated CPU times.
12341
12342 2006-04-22 09:35  edwin
12343
12344         * src/vm/cycles-stats.c (cycles_stats_print): Made count, floor, and
12345         ceiling
12346         of type u8. This should avoid overflow problems.
12347         
12348         * src/vm/cycles-stats.h (cycles_stats_print): Made count an u8.
12349
12350 2006-04-21 21:36  edwin
12351
12352         * src/vm/cycles-stats.c: New file. Better cycle count statistics.
12353         
12354         * src/vm/cycles-stats.h (CYCLES_STATS_PRINT): This is now a wrapper
12355         for
12356         cycles_stats_print.
12357         
12358         * src/vm/Makefile.am (cycles-stats.c): Added to sources.
12359
12360 2006-04-21 14:32  edwin
12361
12362         * src/vm/jit/stacktrace.c (stacktrace_inline_fillStackTrace): Assert
12363         that
12364         there is an exception before dereferencing it.
12365         (stacktrace_create): Document that this function may return NULL.
12366         (stacktrace_getClassContext): Check return value of stacktrace_create.
12367         (stacktrace_getCurrentClass): Likewise.
12368         (stacktrace_getStack): Likewise. Document that this function may
12369         return NULL.
12370
12371 2006-04-21 13:08  edwin
12372
12373         * src/vm/jit/stacktrace.c (stacktrace_getClassContext): Document that
12374         return
12375         value may be NULL (in case of an exception).
12376         
12377         * src/native/vm/VMStackWalker.c
12378         (Java_gnu_classpath_VMStackWalker_getCallingClass): Check return
12379         value of
12380         stacktrace_getClassContext.
12381         (Java_gnu_classpath_VMStackWalker_getCallingClassLoader): Likewise.
12382         
12383         * src/native/vm/Field.c (cacao_get_field_address): Check return value
12384         of
12385         stacktrace_getClassContext.
12386         
12387         * src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative):
12388         Check return value of stacktrace_getClassContext.
12389
12390 2006-04-21 11:07  twisti
12391
12392         * src/vm/jit/i386/md.c (md_get_method_patch_address): New method.
12393         (md_icacheflush): Added.
12394         (md_dcacheflush): Likewise.
12395
12396 2006-04-21 10:54  twisti
12397
12398         * src/vm/jit/jit.c (jit_asm_compile): New method.
12399         * src/vm/jit/jit.h (jit_asm_compile): Added.
12400         (md_get_method_patch_address): Likewise.
12401         
12402         * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Store
12403         asm_call_jit_compiler on stack as for the other architectures.
12404         (asm_call_jit_compiler): Use new jit_asm_compile.
12405         
12406         * src/vm/jit/x86_64/codegen.c (codegen): Use REG_ITMP3 for calling
12407         methods. This is required for asm_vm_call_method to work.
12408         
12409         * src/vm/jit/x86_64/md.c (md_get_method_patch_address): New method.
12410         (md_icacheflush): Added.
12411         (md_dcacheflush): Added.
12412         * src/vm/jit/x86_64/md-asm.h (mptr): Defined.
12413
12414 2006-04-21 10:45  twisti
12415
12416         * src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Reformatted
12417         comments.
12418
12419 2006-04-21 00:00  edwin
12420
12421         * src/vm/linker.c (link_class_intern): Impose loading constraints on
12422         the
12423         more general types of the overwritten method, instead of on the over-
12424         writing method. Don't impose loading constraints when "overwriting"
12425         the
12426         instance initializaton method <init>, as it is not called virtually.
12427
12428 2006-04-20 22:28  edwin
12429
12430         * src/vm/classcache.c (classcache_add_constraint): Also constrain the
12431         return type of the given method.
12432
12433 2006-04-20 21:47  edwin
12434
12435         * src/vm/linker.c (linker_addinterface): Add loading constraints when
12436         an
12437         interface method is overwritten.
12438         (link_class_intern): Check new return value of linker_addinterface.
12439
12440 2006-04-20 20:40  edwin
12441
12442         * src/vm/linker.c (link_class_intern): Only record loading constraints
12443         for ENABLE_VERIFIER.
12444
12445 2006-04-20 20:38  edwin
12446
12447         * src/vm/classcache.c (classcache_add_constraints_for_params): Added.
12448         (classcache_add_constraint): Only define for ENABLE_VERIFIER.
12449         
12450         * src/vm/classcache.h (classcache_add_constraints_for_params): Added.
12451         (classcache_add_constraint): Only define for ENABLE_VERIFIER.
12452         
12453         * src/vm/linker.c (link_class_intern): When overwriting a method,
12454         record loading constraints for the parameter types, as required
12455         by the spec.
12456
12457 2006-04-20 19:18  edwin
12458
12459         * src/mm/memory.c (Changes): Added my name.
12460         (vim boilerplate): Added.
12461
12462 2006-04-20 18:59  edwin
12463
12464         * src/mm/memory.c: Added comments and some cleanup.
12465
12466 2006-04-20 18:04  edwin
12467
12468         * configure.ac (ENABLE_LOOP): Changed default to "no".
12469         
12470         * src/vm/options.h (opt_loops): Only define for ENABLE_LOOP.
12471         
12472         * src/vm/options.c (opt_loops): Only define for ENABLE_LOOP.
12473         
12474         * src/vm/vm.c (-oloop, -i): Only recognize these options if
12475         enabled with ENABLE_LOOP/ENABLE_INLINING.
12476         
12477         * src/vm/jit/allocator/lsra.c (opt_loops): Only use for ENABLE_LOOP.
12478
12479 2006-04-20 10:55  twisti
12480
12481         * src/vm/jit/x86_64/codegen.h (M_ALD32): Added.
12482
12483 2006-04-20 10:42  twisti
12484
12485         * src/vm/jit/x86_64/md-abi.h (REG_METHODPTR): Added.
12486
12487 2006-04-20 08:45  twisti
12488
12489         * src/lib/vm/reference/java/lang/VMClassLoader.java: Updated to GNU
12490         Classpath version.
12491
12492 2006-04-19 01:05  edwin
12493
12494         * src/vm/builtin.c (builtin_print_cycles_stats): Added.
12495         (builtin_monitorenter): Gather cycle count statistics.
12496         (builtin_monitorexit): Likewise.
12497         
12498         * src/vm/builtin.h (builtin_print_cycles_stats): Added.
12499         
12500         * src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Added.
12501         
12502         * src/vm/jit/asmpart.h (asm_get_cycle_count): Added.
12503         
12504         * src/vm/vm.c (vm_exit_handler): Call builtin_print_cycles_stats.
12505         
12506         * src/vm/cycles-stats.h: New file.
12507         
12508         * src/vm/Makefile.am (CYCLES_STATS_SOURCE): Added.
12509         
12510         * src/cacaoh/headers.c (asm_get_cycle_count): Dummy implementation
12511         added.
12512         
12513         * configure.ac (--enable-cycles-stats): Added configure option.
12514
12515 2006-04-18 21:16  twisti
12516
12517         * src/vm/jit/x86_64/emitfuncs.c: Moved to emit.c.
12518         * src/vm/jit/x86_64/emitfuncs.h: Moved to md-emit.h
12519         
12520         * src/vm/jit/x86_64/codegen.c (vm/jit/x86_64/emitfuncs.h): Removed.
12521         (vm/jit/x86_64/md-emit.h): Added.
12522         
12523         * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Added emit.c and
12524         md-emit.h, removed emitfuncs.c and emitfuncs.h.
12525
12526 2006-04-18 20:36  twisti
12527
12528         * src/vm/jit/jit.h (IS_ADR_TYPE): Changed to use ==.
12529         (IS_INT_TYPE): Added.
12530         (IS_LNG_TYPE): Likewise.
12531
12532 2006-04-18 20:34  twisti
12533
12534         * src/vm/jit/x86_64/codegen.c (vm/jit/emit.h): Added.
12535         (codegen): Use emit_load/store functions instead of macors. Saves over
12536         25kB object code size.
12537         
12538         * src/vm/jit/x86_64/codegen.h (ALIGNCODENOP): Added.
12539         (var_to_reg_int): Removed.
12540         (var_to_reg_flt): Likewise.
12541         (store_reg_to_var_int): Likewise.
12542         (store_reg_to_var_flt): Likewise.
12543         (M_INEG, M_LNEG, M_INEG_MEMBASE, M_LNEG_MEMBASE): Added.
12544         (M_CMOVEQ_MEMBASE, M_CMOVNE_MEMBASE, M_CMOVLT_MEMBASE)
12545         (M_CMOVLE_MEMBASE, M_CMOVGE_MEMBASE, M_CMOVGT_MEMBASE): Likewise.
12546         
12547         * src/vm/jit/x86_64/emitfuncs.c (emit_load_s1): Added.
12548         (emit_load_s2): Likewise.
12549         (emit_load_s3): Likewise.
12550         (emit_store): Likewise.
12551         (emit_copy): Likewise.
12552         (emit_cmovxx): Likewise.
12553         
12554         * src/vm/jit/x86_64/emitfuncs.h (emit_cmovxx): Added.
12555
12556 2006-04-18 20:20  twisti
12557
12558         * src/vm/jit/x86_64/md-abi.h (REG_IFTMP): Defined.
12559
12560 2006-04-18 20:17  edwin
12561
12562         * src/vm/jit/stack.c (stack_show_icmd): Updated to use the correct
12563         macros for
12564         (un)resolved methods. Minor output format changes.
12565         
12566         * src/vm/field.c (field_print): Print the class name.
12567
12568 2006-04-18 20:10  twisti
12569
12570         * src/vm/jit/alpha/Makefile.am (DISASS_SOURCES): Added.
12571         * src/vm/jit/mips/Makefile.am: Likewise.
12572
12573 2006-04-18 15:55  twisti
12574
12575         * configure.ac (intl): Check on NetBSD too.
12576
12577 2006-04-18 15:40  twisti
12578
12579         * configure.ac: Fixed typos.
12580
12581 2006-04-18 13:36  twisti
12582
12583         * src/vm/jit/mips/codegen.h (M_FLTMOVE): Removed.
12584         (M_TFLTMOVE): Likewise.
12585         (M_TFLD): Likewise.
12586         (M_TFST): Likewise.
12587         (M_CCFLTMOVE): Likewise.
12588         (M_CCFLD): Likewise.
12589         (M_CCFST): Likewise.
12590         * src/vm/jit/mips/codegen.c (codegen): Use float and double
12591         explicitely.
12592         * src/vm/jit/mips/emit.c: Likewise.
12593
12594 2006-04-17 15:49  edwin
12595
12596         * src/vm/jit/intrp/codegen.c (intrp_codegen): Cast mcodeptr to u1*.
12597         This should fix intrp on archs with u4* mcodeptr.
12598
12599 2006-04-17 15:20  edwin
12600
12601         * src/vm/builtin.c (builtin_monitorenter, builtin_monitorexit): Added
12602         rt-timing.
12603         
12604         * src/vm/rt-timing.c, src/vm/rt-timing.h: rt-timing for locks.
12605
12606 2006-04-17 11:47  twisti
12607
12608         * src/vm/jit/codegen-common.h (codegendata): Define lastmcodeptr on
12609         all architectures. I think it does not matter.
12610
12611 2006-04-14 23:50  edwin
12612
12613         * src/vm/jit/codegen-common.h: Typo fix.
12614
12615 2006-04-14 23:48  edwin
12616
12617         * src/vm/jit/parse.c (parse): Removed unused variable `mi`.
12618
12619 2006-04-14 23:46  edwin
12620
12621         * src/vm/rt-timing.c: include stdlib.h to fix warning.
12622
12623 2006-04-14 12:40  twisti
12624
12625         * src/vm/jit/mips/emit.c: New file.
12626         * src/vm/jit/mips/Makefile.am (libarch_la_SOURCES): Added emit.c
12627         
12628         * src/vm/jit/mips/codegen.c (vm/jit/emit.h): Added.
12629         (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
12630         functions instead of macors. Saves over 50kB object code size.
12631         
12632         * src/vm/jit/mips/codegen.h (var_to_reg_int): Removed.
12633         (var_to_reg_flt): Likewise.
12634         (store_reg_to_var_int): Likewise.
12635         (store_reg_to_var_flt): Likewise.
12636
12637 2006-04-14 11:57  twisti
12638
12639         * src/vm/jit/codegen-common.c (codegen_setup): Fixed compiler
12640         warnings, set lastmcodeptr.
12641         (codegen_increase): Fixed compiler warnings.
12642         (codegen_finish): Likewise.
12643         (codegen_createnativestub): Likewise.
12644
12645 2006-04-14 11:28  twisti
12646
12647         * src/vm/jit/alpha/emit.h: Removed. There's now a common one in
12648         src/vm/jit/.
12649
12650 2006-04-14 11:20  twisti
12651
12652         * src/vm/jit/emit.h: New file.
12653         * src/vm/jit/Makefile.am (noinst_HEADERS): Added emit.h.
12654         
12655         * src/vm/jit/powerpc/emit.c: New file.
12656         * src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added emit.c.
12657         
12658         * src/vm/jit/powerpc/codegen.c (vm/jit/emit.h): Added.
12659         (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
12660         functions instead of macors. Saves over 100kB object code size.
12661         
12662         * src/vm/jit/powerpc/codegen.h (var_to_reg_int): Removed.
12663         (var_to_reg_lng): Likewise.
12664         (var_to_reg_lng_low): Likewise.
12665         (var_to_reg_lng_high): Likewise.
12666         (var_to_reg_flt): Likewise.
12667         (var_to_reg_dbl): Likewise.
12668         (store_reg_to_var_int): Likewise.
12669         (store_reg_to_var_lng): Likewise.
12670         (store_reg_to_var_adr): Likewise.
12671         (store_reg_to_var_flt): Likewise.
12672         (store_reg_to_var_dbl): Likewise.
12673         (M_LLD_INTERN): Added.
12674         (M_LLD): Likewise.
12675         (M_LST_INTERN): Likewise.
12676         (M_LST): Likewise.
12677
12678 2006-04-13 20:45  edwin
12679
12680         * src/vm/loader.c (load_class_from_classloader): Detailed rt-timing.
12681         (load_class_bootstrap): Likewise.
12682         
12683         * src/vm/rt-timing.c: Added rt-timing for loading from classloaders.
12684         * src/vm/rt-timing.h: Likewise.
12685
12686 2006-04-13 18:21  edwin
12687
12688         * src/vm/loader.c (load_class_from_classbuffer): Separate timing for
12689         descriptor_pool_new.
12690         
12691         * src/vm/rt-timing.c: Likewise.
12692         
12693         * src/vm/rt-timing.h: Likewise.
12694
12695 2006-04-13 18:00  edwin
12696
12697         * src/vm/loader.c (load_class_from_classbuffer): Added real-time
12698         loading time
12699         measurements.
12700         
12701         * src/vm/rt-timing.c: Likewise.
12702         * src/vm/rt-timing.h: Likewise.
12703
12704 2006-04-13 17:23  edwin
12705
12706         * src/vm/rt-timing.c: Added timing of linker stages.
12707         * src/vm/rt-timing.h: Likewise.
12708         * src/vm/linker.c: Likewise.
12709
12710 2006-04-13 16:58  edwin
12711
12712         * src/vm/rt-timing.h (RT_TIMING_TIME_DIFF): Added.
12713         
12714         * src/vm/jit/jit.c (jit_compile_intern): Use RT_TIMING_TIME_DIFF.
12715         
12716         * src/vm/linker.c (link_class): Use rt-timing for measuring link time.
12717         
12718         * src/cacaoh/Makefile.am (cacaoh_LDFLAGS): Link with librt for
12719         ENABLE_RT_TIMING.
12720
12721 2006-04-13 16:48  edwin
12722
12723         * src/vm/rt-timing.c (rt_timing_stat): Added field `totalindex`.
12724         (rt_timing_stat_defs): Likewise.
12725         (rt_timing_diff): Renamed to rt_timing_time_diff.
12726         (rt_timing_print_time_stats): Use `totalindex` to calculate
12727         percentage.
12728         
12729         * src/vm/rt-timing.h (RT_TIMING_LINK_TOTAL): Added.
12730         (rt_timing_diff): Renamed to rt_timing_time_diff.
12731
12732 2006-04-13 14:09  twisti
12733
12734         * src/vm/jit/alpha/emit.c: New file.
12735         * src/vm/jit/alpha/emit.h: Likewise.
12736
12737 2006-04-13 13:10  twisti
12738
12739         * src/vm/jit/codegen-common.h (codegendata): Changed mcodeend to
12740         u1*. Define mcodeptr to u4* for non-i386/x86_64 architectures.
12741
12742 2006-04-13 09:32  twisti
12743
12744         * src/vm/jit/x86_64/codegen.c (codegen): Use argument registers
12745         directly in exception stubs, instead of temporary ones. This reduces
12746         code-size about 150kB for -all.
12747
12748 2006-04-13 09:19  twisti
12749
12750         * src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ishift): Bugfixes found
12751         by javver.
12752         (x86_64_emit_lshift): Likewise.
12753
12754 2006-04-12 22:20  edwin
12755
12756         * src/vm/rt-timing.c: Added file.
12757         * src/vm/rt-timing.h: Likewise.
12758         
12759         * src/vm/jit/jit.c: Moved real-time timing stuff to rt-timing.[ch]
12760         * src/vm/jit/jit.h: Likewise.
12761         
12762         * src/vm/vm.c (vm_exit_handler): Call rt_timing_print_time_stats.
12763         
12764         * src/vm/Makefile.am (rt-timing.c, rt-timing.h): Added.
12765
12766 2006-04-12 22:16  edwin
12767
12768         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers): Fixed
12769         compiler warning.
12770
12771 2006-04-12 20:06  edwin
12772
12773         * src/vm/jit/parse.c (parse): New unresolved reference scheme: Data
12774         structures
12775         for unresolved fields/methods are only created if really needed.
12776         Otherwise
12777         a lazy resolving is done on-the-fly. This reduced compile time by
12778         over 10% for
12779         SpecJVM98 and eclipse.
12780         
12781         * src/vm/resolve.c (resolve_subtype_check): Added.
12782         (resolve_lazy_subtype_checks): Likewise.
12783         (resolve_and_check_subtype_set): Use resolve_subtype_check. Return
12784         resolve_result_t instead of bool. Removed `checked` argument.
12785         (resolve_class): Use resolve_subtype_check.
12786         (resolve_field_verifier_checks): Added.
12787         (resolve_field_lazy): Added.
12788         (resolve_field): Use resolve_field_verifier_checks.
12789         (resolve_method_invokespecial_lookup): Added.
12790         (resolve_method_verifier_checks): Added.
12791         (resolve_method_lazy): Added.
12792         (resolve_method): Use resolve_method_invokespecial_lookup and
12793         resolve_method_verifier_checks.
12794         (constrain_unresolved_method): Adapted to new unresolved reference
12795         scheme.
12796         (constrain_unresolved_field): Likewise.
12797         (unresolved_field_debug_dump): Likewise.
12798         (unresolved_method_debug_dump): Likewise.
12799         
12800         * src/vm/jit/patcher.h (intrp_patcher_get_putstatic_clinit): Added.
12801         
12802         * src/vm/jit/intrp/intrp.h (vm_Cell2afi): Added.
12803         (vm_afi2Cell): Likewise.
12804         (printarg_afi): Added.
12805         (vim boilerplate): Added.
12806         (Changes): Added my name.
12807         
12808         * src/vm/jit/intrp/patcher.c (intrp_patcher_get_putstatic_clinit):
12809         Added.
12810         
12811         * src/vm/jit/intrp/disass.c (printarg_afi): Added.
12812         (Changes): Added my name.
12813         (vim boilerplate): Added.
12814         
12815         * src/vm/jit/intrp/java.vmg (GETSTATIC_CELL, GETSTATIC_INT,
12816         GETSTATIC_FLOAT)
12817         (GETSTATIC_LONG, PUTSTATIC_CELL, PUTSTATIC_INT, PUTSTATIC_FLOAT)
12818         (PUTSTATIC_LONG, GETFIELD_CELL, GETFIELD_INT, GETFIELD_FLOAT)
12819         (GETFIELD_LONG, PUTFIELD_CELL, PUTFIELD_INT, PUTFIELD_FLOAT)
12820         (PUTFIELD_LONG): Now take a fieldinfo instead of an unresolved_field.
12821         (INVOKEVIRTUAL, INVOKESTATIC, INVOKESPECIAL, INVOKEINTERFACE): Now
12822         take
12823         a methodinfo instead of an unresolved_method.
12824         (PATCHER_GETSTATIC_CLINIT_INT, PATCHER_GETSTATIC_CLINIT_FLOAT)
12825         (PATCHER_GETSTATIC_CLINIT_LONG, PATCHER_GETSTATIC_CLINIT_CELL): Added.
12826         (PATCHER_PUTSTATIC_CLINIT_INT, PATCHER_PUTSTATIC_CLINIT_FLOAT)
12827         (PATCHER_PUTSTATIC_CLINIT_LONG, PATCHER_PUTSTATIC_CLINIT_CELL): Added.
12828         
12829         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
12830         Use INSTRUCTION_GET_METHODDESC to get method descriptor.
12831         
12832         * src/vm/jit/stack.c (stack_analyse): Ported to new unresolved
12833         reference
12834         scheme.
12835         (stack_show_icmd): Likewise.
12836         
12837         * src/vm/jit/verify/typecheck.c (verify_invocation): Ported to new
12838         unresolved
12839         reference scheme.
12840         (verify_basic_block): Likewise.
12841         
12842         * src/vm/jit/powerpc/codegen.c (codegen): Ported to new unresolved
12843         reference
12844         scheme.
12845         
12846         * src/vm/jit/alpha/codegen.c (codegen): Ported to new unresolved
12847         reference
12848         scheme.
12849         
12850         * src/vm/jit/mips/codegen.c (codegen): Ported to new unresolved
12851         reference
12852         scheme.
12853         
12854         * src/vm/jit/i386/codegen.c (codegen): Ported to new unresolved
12855         reference
12856         scheme.
12857         
12858         * src/vm/jit/x86_64/codegen.c (codegen): Ported to new unresolved
12859         reference
12860         scheme.
12861         
12862         * src/vm/jit/intrp/codegen.c (codegen): Ported to new unresolved
12863         reference
12864         scheme.
12865         (Changes): Added my name.
12866         
12867         * src/vm/jit/intrp/codegen.h (vim boilerplate): Added.
12868
12869 2006-04-12 18:07  edwin
12870
12871         * src/vm/resolve.h (resolve_result_t): Added.
12872         (resolve_method_lazy): Added prototype.
12873         (resolve_field_lazy): Added prototype.
12874         (resolve_and_check_subtype_set): Removed prototype. This function is
12875         becoming static.
12876
12877 2006-04-12 17:51  edwin
12878
12879         * src/vm/class.c (class_showconstantpool): Use the new functions
12880         method_methodref_print and field_fieldref_print.
12881         
12882         * src/vm/loader.c (load_constantpool): Use p.index in constant_FMIref.
12883         (load_class_from_classbuffer): Likewise.
12884         
12885         * src/vm/jit/stack.c (stack_show_icmd): Use p.index in
12886         constant_FMIref.
12887         
12888         * src/vm/jit/verify/typecheck.c (verify_invocation): Use p.index in
12889         constant_FMIref.
12890         
12891         * src/vm/resolve.c (resolve_field, resolve_method,
12892         constrain_unresolved_field)
12893         (unresolved_field_debug_dump, unresolved_method_debug_dump):
12894         Use p.index in constant_FMIref.
12895         
12896         * src/vm/method.c, src/vm/method.h (method_methodref_print): Added.
12897         (method_methodref_println): Likewise.
12898         
12899         * src/vm/field.c, src/vm/field.h (field_fieldref_print): Added.
12900         (field_fieldref_println): Likewise.
12901         
12902         * src/vm/references.h (constant_FMIref): Changed field `classref`
12903         into a
12904         union that is used for caching of already resolved fields/methods.
12905         (IS_FMIREF_RESOLVED): Added.
12906         (METHODREF_CLASSNAME): Added.
12907         (FIELDREF_CLASSNAME): Added.
12908         
12909         * src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED): Added. This is a
12910         preparation
12911         for the lazy resolving rewrite.
12912         (INSTRUCTION_IS_UNRESOLVED): Likewise.
12913         (INSTRUCTION_GET_FIELDREF): Likewise.
12914         (INSTRUCTION_GET_METHODREF): Likewise.
12915         (INSTRUCTION_GET_FIELDDESC): Likewise.
12916         (INSTRUCTION_GET_METHODDESC): Likewise.
12917         (INSTRUCTION_UNRESOLVED_METHOD): Likewise.
12918         (INSTRUCTION_UNRESOLVED_FIELD): Likewise.
12919         (INSTRUCTION_RESOLVED_FMIREF): Likewise.
12920         (INSTRUCTION_RESOLVED_FIELDINFO): Likewise.
12921         (INSTRUCTION_RESOLVED_METHODINFO): Likewise.
12922         
12923         * src/vm/jit/intrp/disass.c (printarg_auf): Use METHODREF_CLASSNAME.
12924
12925 2006-04-12 11:51  twisti
12926
12927         * src/vm/jit/alpha/codegen.c (codegen): Use directly argument
12928         registers in exception stubs, instead of temporary ones. This reduces
12929         code-size about 200kB for -all.
12930
12931 2006-04-12 09:49  twisti
12932
12933         * src/vm/jit/powerpc/codegen.c (codegen): Fixed displacement overflow
12934         problem when restoring LR. We can't use r0 here.
12935
12936 2006-04-12 09:30  twisti
12937
12938         * NEWS: Line-number fix added.
12939
12940 2006-04-12 09:20  edwin
12941
12942         * src/vm/jit/parse.c (parse): Skip line number entries that span over
12943         zero
12944         bytecode instructions.
12945
12946 2006-04-12 08:52  edwin
12947
12948         * src/vm/method.h (methodinfo): Forward declaration moved to
12949         refereneces.h.
12950         * src/vm/field.h (fieldinfo): Forward declaration moved to
12951         refereneces.h.
12952         * src/vm/references.h (methodinfo, fieldinfo): Added forward
12953         references.
12954
12955 2006-04-12 08:34  edwin
12956
12957         * src/vm/class.c (class_showconstanti): Removed.
12958         (class_showconstantpool): Documented.
12959         (class_showmethods): Documented.
12960         (vim boilerplate): Added.
12961         (Changes): Finally added my name.
12962
12963 2006-04-11 13:13  twisti
12964
12965         * src/vm/jit/x86_64/codegen.c (codegen): Changed signature to use
12966         jitdata. Renamed reg_of_var by codegen_reg_of_var.
12967         * src/vm/jit/x86_64/codegen.h (M_COPY): Likewise.
12968
12969 2006-04-11 10:54  twisti
12970
12971         * tests/regression/clinitexception.2output: Updated.
12972         * tests/regression/native/checkjni.output: Likewise.
12973         * tests/regression/extest.2output: Likewise.
12974
12975 2006-04-11 10:20  twisti
12976
12977         * src/vm/builtin.c (builtin_throw_exception): Changed return type and
12978         return NULL. This is less error-prone in asm_vm_call_method.
12979         * src/vm/builtin.h: Likewise.
12980         
12981         * src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler):
12982         Don't set v0 to NULL. This is now done in builtin_throw_exception.
12983         * src/vm/jit/i386/asmpart.S: Likewise.
12984         * src/vm/jit/mips/asmpart.S: Likewise.
12985         * src/vm/jit/powerpc/asmpart.S: Likewise.
12986         * src/vm/jit/x86_64/asmpart.S: Likewise.
12987
12988 2006-04-11 10:04  twisti
12989
12990         * src/vm/jit/ifconv/ifconv.c (ifconv_static): Keep compiler happy.
12991
12992 2006-04-11 09:00  edwin
12993
12994         * src/vm/jit/stack.c (stack_print_stack): Only use `regs` if
12995         ENABLE_DISASSEMBLER is defined.
12996         (stack_show_method): Likewise.
12997         
12998         * src/vm/jit/replace.c (replace_executionstate_println): Likewise.
12999
13000 2006-04-11 05:10  edwin
13001
13002         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Do not
13003         trace
13004         exception when NDEBUG.
13005         
13006         * src/vm/jit/intrp/dynamic-super.c (disassemble_prim): Only enable for
13007         ENABLE_DISASSEMBLER.
13008         (dynamic_super_init): Only call disassemble_prim for
13009         ENABLE_DISASSEMBLER.
13010         
13011         * src/vm/jit/intrp/java.vmg: Disable builtin_displaymethodstop and
13012         builtin_trace_args for NDEBUG.
13013
13014 2006-04-06 12:54  twisti
13015
13016         * src/vm/jit/mips: Added TAGS.
13017         * src/vm/jit/mips/irix: Likewise.
13018         * src/vm/jit/mips/irix/.cvsignore: Likewise.
13019         * src/vm/jit/mips/.cvsignore: Likewise.
13020
13021 2006-04-06 12:51  twisti
13022
13023         * src/vm/jit/mips/codegen.c (codegen): Changed signature to use
13024         jitdata. Renamed reg_of_var by codegen_reg_of_var.
13025         (createcompilerstub): Replaced docacheflush by md_cacheflush.
13026         * src/vm/jit/mips/codegen.h (M_COPY): Likewise.
13027         * src/vm/jit/mips/md.c (sys/mman.h): Removed.
13028         (docacheflush): Likewise.
13029
13030 2006-04-06 00:33  edwin
13031
13032         * configure.ac: Added host type `armv5l`.
13033
13034 2006-04-05 20:31  edwin
13035
13036         * src/vm/jit/parse.h, src/vm/jit/parse.c (OP1LOAD):
13037         Split into OP1LOAD_ONEWORD and OP1LOAD_TWOWORD. Index is only checked
13038         if
13039         ENABLE_VERIFIER.
13040         (OP1STORE): Split into OP1STORE_ONEWORD and OP1STORE_TWOWORD. Index
13041         is
13042         only checked if ENABLE_VERIFIER.
13043
13044 2006-04-05 19:58  edwin
13045
13046         * src/vm/jit/parse.c (parse): Cleaned up and reordered an if.
13047
13048 2006-04-05 19:44  edwin
13049
13050         * src/vm/jit/parse.c (parse): Remove the `if (!iswide)` check for
13051         each opcode
13052         by making JAVA_WIDE continue directly to the label fetch_opcode.
13053         (This also
13054         removed a part of the iswide check at the end of the loop.)
13055
13056 2006-04-05 18:48  edwin
13057
13058         * src/vm/jit/alpha/codegen.c (codegen, createnativestub): Remove
13059         opt_verbosecall code for NDEBUG builds.
13060
13061 2006-04-05 18:13  edwin
13062
13063         * src/vm/jit/parse.c (parse): Only do verifier checks if
13064         ENABLE_VERIFIER.
13065         Cleaned up an obsolete printf.
13066
13067 2006-04-05 12:56  edwin
13068
13069         * configure.ac (ENABLE_RT_TIMING): Added.
13070         
13071         * src/vm/jit/jit.c (ENABLE_RT_TIMING): Added code for real-time timing
13072         of compiler passes.
13073         
13074         * src/vm/jit/jit.h (jit_print_time_stats): Added.
13075         
13076         * src/vm/vm.c (vm_exit_handler): Call jit_print_time_stats.
13077
13078 2006-04-05 11:32  edwin
13079
13080         * src/vm/jit/inline/inline.c (create_block): Use BASICBLOCK_INIT.
13081
13082 2006-04-05 10:02  twisti
13083
13084         * src/vm/jit/alpha/asmpart.S (asm_vm_call_method): Removed !NDEBUG as
13085         builtin_throw_exception actually posts the thrown exception to the VM
13086         system.
13087         * src/vm/jit/powerpc/asmpart.S: Likewise.
13088         * src/vm/jit/mips/asmpart.S: Likewise.
13089         * src/vm/jit/x86_64/asmpart.S: Likewise.
13090
13091 2006-04-05 09:57  edwin
13092
13093         * src/vm/jit/jit.h (instruction): Removed `method` field.
13094         (insinfo_inline): Added.
13095         (basicblock): Added `method` field.
13096         
13097         * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start)
13098         (dseg_addlinenumber_inline_end): Use new insinfo_inline struct.
13099         
13100         * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed unused
13101         variable `myclass`.
13102         
13103         * src/vm/jit/inline/inline.c (emit_inlining_prolog,
13104         emit_inlining_epilog):
13105         Use insinfo_inline struct.
13106         (inline_write_exception_handlers): Removed `method` field.
13107         
13108         * src/vm/jit/i386/codegen.c (codegen): Use insinfo_inline struct.
13109         
13110         * src/vm/jit/parse.h (several macros): Removed `method` field from
13111         instruction.
13112         
13113         * src/vm/jit/stack.c (stack_show_icmd): Adapted to new insinfo_inline
13114         struct.
13115
13116 2006-04-05 09:54  twisti
13117
13118         Fixes GCC Bugzilla Bug #26990.
13119         * src/vm/vm.c (vm_exit): Don't check for exception of System.exit().
13120
13121 2006-04-04 21:31  edwin
13122
13123         * src/vm/builtin.c (builtin_throw_exception): No twisti, we don't
13124         turn off
13125         exceptions just because it is NDEBUG ;)
13126         * src/vm/jit/i386/asmpart.S (asm_vm_call_method_exception_handler):
13127         Likewise.
13128
13129 2006-04-04 18:14  edwin
13130
13131         * src/vm/jit/i386/Makefile.am: Do not build disassebmler for
13132         --disable-disassembler
13133         * src/vm/jit/i386/codegen.c (codegen): disable verbosecall code for
13134         NDEBUG
13135
13136 2006-04-04 18:11  edwin
13137
13138         * src/vm/jit/ifconv/ifconv.c (ifconv_static): #ifdef debug code.
13139         (check): Likewise.
13140
13141 2006-04-04 09:17  twisti
13142
13143         * src/threads/native/threads.c (tablelock): Removed.
13144         (tables_lock, tables_unlock): Likewise.
13145         (criticalcompare): Removed tablelock initialization.
13146         * src/vm/hashtable.h (tables_lock, tables_unlock): Removed.
13147         * src/vm/global.h (VFTBLINTERFACETABLE): Likewise.
13148         (cast_lock, cast_unlock): Likewise.
13149
13150 2006-04-04 09:14  twisti
13151
13152         * src/vm/exceptions.c (exceptions_new_nosuchmethoderror): Print
13153         classname with dots.
13154         (exceptions_handle_exception): Compiler warning fix.
13155
13156 2006-04-04 09:13  edwin
13157
13158         * src/vm/jit/verify/typeinfo.c (CLASSINFO_IMPLEMENTS_INTERFACE):
13159         Removed the
13160         single use of the macro VFTBLINTERFACETABLE
13161
13162 2006-04-04 08:45  twisti
13163
13164         * src/native/vm/VMClass.c: Reordered methods like in the
13165         VMClass.java. This eases the 1.5 changes addition.
13166
13167 2006-04-04 08:30  edwin
13168
13169         * src/vm/jit/parse.c (parse): Removed obsolete variable
13170         `skipBasicBlockChange`.
13171
13172 2006-04-04 08:24  edwin
13173
13174         * src/vm/jit/parse.c (parse): Removed obsolete variable `firstlocal`.
13175         (Was used for the old inliner.)
13176
13177 2006-04-03 15:36  twisti
13178
13179         * src/vm/jit/powerpc/codegen.c (codegen): Changed signature to use
13180         jitdata. Renamed reg_of_var by codegen_reg_of_var.
13181         * src/vm/jit/powerpc/codegen.h (M_COPY): Likewise.
13182
13183 2006-04-03 13:59  twisti
13184
13185         * src/vm/jit/powerpc/codegen.c (codegen): Renamed parentargs_base to
13186         stackframesize.
13187         (codegen_trace_args): Likewise.
13188
13189 2006-04-02 16:17  edwin
13190
13191         * src/vm/jit/i386/codegen.c (codegen): Implemented inlining of
13192         synchronized
13193         methods (INLINE_START, INLINE_END do monitorenter/exit).
13194
13195 2006-04-02 16:16  edwin
13196
13197         * src/vm/jit/inline/inline.c (inline_node): Added fields for inlining
13198         synchronized methods.
13199         (inline_context): Added `master` pointer to outermost caller. Added
13200         field
13201         `calls_others`. (Leaf method detection should really be done after
13202         inlining).
13203         (several methods): Implemented inlining of synchronized methods.
13204         (inline_new_stackslot): Added.
13205         (inline_write_exception_handlers): Added.
13206
13207 2006-04-01 21:03  edwin
13208
13209         * src/vm/jit/intrp/codegen.c (createcalljavafunction): Create
13210         codeinfo with
13211         the right methodinfo pointer.
13212
13213 2006-04-01 21:00  edwin
13214
13215         * src/vm/jit/codegen-common.h (intrp_createnativestub): Takes a
13216         `jitdata *` now.
13217         
13218         * src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub)
13219         (createcalljavafunction): Use jitdata.
13220
13221 2006-03-31 12:38  edwin
13222
13223         * src/vm/jit/inline/inline.c, src/vm/jit/inline/inline_debug.c:
13224         Adapted to
13225         twisti's jitdata changes.
13226
13227 2006-03-31 07:50  twisti
13228
13229         * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Replaced $stub
13230         symbols with old symbols and define them for darwin in the
13231         corresponding md-asm.h.
13232         (asm_call_jit_compiler): Likewise.
13233         (asm_wrapper_patcher): Likewise.
13234         (asm_replacement_out): Likewise.
13235         * src/vm/jit/powerpc/darwin/md-asm.h (builtin_asm_get_exceptionptrptr)
13236         (builtin_throw_exception, exceptions_handle_exception, jit_compile)
13237         (replace_me, stacktrace_create_extern_stackframeinfo)
13238         (stacktrace_remove_stackframeinfo): Changed to $stub symbol.
13239         (stacktrace_extern_fillInStackTrace): Removed.
13240         
13241         * src/vm/jit/powerpc/linux/md-abi.c (regs): Added.
13242
13243 2006-03-31 07:14  twisti
13244
13245         * src/vm/jit/powerpc/patcher.c
13246         (patcher_checkcast_instanceof_interface): Compile fix (typo).
13247
13248 2006-03-30 12:01  twisti
13249
13250         * src/vm/jit/alpha/asmpart.S (vm/jit/abi.h): Changed to
13251         vm/jit/abi-asm.h.
13252         * src/vm/jit/mips/asmpart.S: Likewise.
13253         * src/vm/jit/i386/asmpart.S: Likewise.
13254         * src/vm/jit/x86_64/asmpart.S: Likewise.
13255
13256 2006-03-30 11:59  twisti
13257
13258         * src/vm/jit/powerpc/codegen.c (codegen): Changed signature to use
13259         jitdata. Renamed reg_of_var by codegen_reg_of_var.
13260         * src/vm/jit/powerpc/codegen.h (M_COPY): Likewise.
13261         
13262         * src/vm/jit/powerpc/asmpart.S (vm/jit/abi.h): Changed to
13263         vm/jit/abi-asm.h.
13264         (asm_vm_call_method_exception_handler): Export it.
13265         (asm_vm_call_method): Don't put label addresses into the
13266         "data-segment", as it's located in the .text area and that may be
13267         read-only. Changed to use PIC code. Linux stuff is still missing.
13268         
13269         * src/vm/jit/powerpc/Makefile.am (DISASS_SOURCES): Added.
13270         * src/vm/jit/powerpc/disass.c (regs): Removed.
13271
13272 2006-03-30 10:26  twisti
13273
13274         * src/vm/jit/ifconv/Makefile.am (AM_CPPFLAGS): Added OS_DIR.
13275         (LIBS): Added.
13276
13277 2006-03-30 10:23  twisti
13278
13279         * src/vm/jit/Makefile.am (noinst_HEADERS): Added abi-asm.h.
13280         * src/vm/jit/abi.h (vm/jit/abi-asm.h): Added.
13281         (nregdescint, regs, nregdescfloat): Added.
13282         * src/vm/jit/abi-asm.h: New file.
13283         * src/vm/jit/reg.h (nregdescint, nregdescfloat): Removed.
13284         * src/vm/jit/reg.c (vm/jit/abi.h): Added.
13285         * src/vm/jit/replace.c: Likewise.
13286         * src/vm/jit/allocator/lsra.c: Likewise.
13287         * src/vm/jit/powerpc/darwin/md-asm.h
13288         (asm_vm_call_method_exception_handler): Added.
13289         * src/vm/jit/powerpc/darwin/md-abi.c (regs): Added.
13290
13291 2006-03-30 10:14  twisti
13292
13293         * src/vm/jit/codegen-common.c: Use ENABLE_DISASSEMBLER.
13294         * src/vm/jit/codegen-common.h: Likewise.
13295         * src/vm/jit/stack.c: Likewise. Plus ENABLE_LSRA.
13296         * src/vm/jit/disass.h: Likewise.
13297         * src/vm/jit/jit.c: Likewise. Plus ENABLE_LOOP.
13298
13299 2006-03-30 10:10  twisti
13300
13301         * src/vm/jit/powerpc/patcher.c (patcher_invokevirtual): Use disp
13302         variable for code patching. This will ease the overflow code
13303         comming.
13304         (patcher_invokeinterface): Likewise.
13305         (patcher_checkcast_instanceof_interface): Likewise.
13306
13307 2006-03-30 09:52  twisti
13308
13309         * src/vm/exceptions.c (exceptions_handle_exception): Check for special
13310         * start/endpc-NULL case. This makes asmpart stuff much easier, like on
13311         * Darwin or IRIX.
13312         
13313         * src/vm/jit/asmpart.h (asm_vm_call_method_exception_handler): Added.
13314         
13315         * src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler):
13316         Export it.
13317         (asm_vm_call_method): Don't put label addresses into the
13318         "data-segment", as it's located in the .text area and that may be
13319         read-only.
13320         * src/vm/jit/i386/asmpart.S: Likewise.
13321         * src/vm/jit/mips/asmpart.S: Likewise.
13322         * src/vm/jit/x86_64/asmpart.S: Likewise.
13323
13324 2006-03-30 09:20  twisti
13325
13326         * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Return NULL for
13327         exception.
13328
13329 2006-03-30 08:48  twisti
13330
13331         * configure.ac (opcodes): Check for disassembler symbol as
13332         init_disassemble_info isn't defined everywhere, like NetBSD.
13333
13334 2006-03-29 23:11  twisti
13335
13336         * src/vm/jit/powerpc/netbsd: New directory.
13337         * src/vm/jit/powerpc/netbsd/md-abi.h: New file.
13338         * src/vm/jit/powerpc/netbsd/md-os.c: Likewise.
13339         * src/vm/jit/powerpc/netbsd/md-asm.h: Likewise.
13340         * src/vm/jit/powerpc/netbsd/Makefile.am: Likewise.
13341         * src/vm/jit/powerpc/netbsd/md-abi.c: Likewise.
13342         * src/vm/jit/powerpc/netbsd/.cvsignore: Likewise.
13343         * configure.ac (host_os): Added NetBSD.
13344         (AC_CONFIG_FILES): Added src/vm/jit/powerpc/netbsd/Makefile.
13345
13346 2006-03-28 15:43  twisti
13347
13348         * tests/regression/codepatching/test.java: Made functions static
13349         final.
13350         --This line, and those below, will be ignored--
13351         
13352         M test.java
13353
13354 2006-03-28 15:41  twisti
13355
13356         * src/vm/jit/i386/codegen.c (codegen): Changed signature to use
13357         jitdata. Renamed reg_of_var by codegen_reg_of_var.
13358         * src/vm/jit/i386/codegen.h (M_COPY): Likewise.
13359
13360 2006-03-28 15:14  twisti
13361
13362         * configure.ac (AC_CONFIG_FILES): Added src/vm/jit/ifconv/Makefile.
13363
13364 2006-03-28 15:10  twisti
13365
13366         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv.
13367         * src/vm/jit/ifconv: New directory.
13368         * src/vm/jit/ifconv/ifconv.c: New file.
13369         * src/vm/jit/ifconv/Makefile.am: Likewise.
13370         * src/vm/jit/ifconv/ifconv.h: Likewise.
13371         * src/vm/jit/ifconv/.cvsignore: Likewise.
13372
13373 2006-03-28 14:52  twisti
13374
13375         * src/vm/method.h (vm/jit/code.h): Added.
13376         (codeinfo, rplpoint, executionstate, sourcestate): typedef's removed.
13377         
13378         * src/vm/jit/codegen-common.c (codegendata): Removed code.
13379         (codegen_setup, codegen_finish, createnativestub, codegen)
13380         (intrp_codegen): Changed signature to use jitdata.
13381         (reg_of_var): Renamed to codegen_reg_of_var. Changed signature.
13382         (codegen_free): Removed.
13383         * src/vm/jit/codegen-common.h: Likewise.
13384         
13385         * src/vm/jit/stack.c (lock_show_icmd): Renamed to
13386         lock_stack_show_icmd.
13387         (analyse_stack): Renamed to stack_analyse. Changed signature to use
13388         jitdata.
13389         (ICMD_IF_ICMPxx): Make ICMD_IFxx last instruction in basic block. This
13390         is required for if-conversion.
13391         (stack_print): Renamed to stack_print_stack.
13392         (show_icmd_method): Renamed to stack_show_method. Changed signature to
13393         use jitdata.
13394         (show_icmd_block): Renamed to stack_show_basicblock. Changed signature
13395         to use jitdata.
13396         (show_icmd): Renamed to stack_show_icmd.
13397         * src/vm/jit/stack.h: Likewise.
13398         
13399         * src/vm/jit/code.h (codeinfo): Added typedef.
13400         
13401         * src/vm/jit/dseg.c (assert.h): Moved.
13402         (dseg_resolve_datareferences, dseg_display): Changed signature to use
13403         jitdata.
13404         * src/vm/jit/dseg.h: Likewise.
13405         
13406         * src/vm/jit/verify/typecheck.c (typecheck): Changed signature to use
13407         jitdata.
13408         * src/vm/jit/verify/typecheck.h: Likewise.
13409         
13410         * src/vm/jit/loop/loop.c (analyseGraph): Changed signature to use
13411         jitdata.
13412         * src/vm/jit/loop/loop.h: Likewise.
13413         * src/vm/jit/loop/graph.c (depthFirst): Likewise.
13414         * src/vm/jit/loop/graph.h: Likewise.
13415         * src/vm/jit/loop/analyze.c (optimize_loops): Likewise.
13416         * src/vm/jit/loop/analyze.h: Likewise.
13417         * src/vm/jit/allocator/lsra.c (lsra): Likewise.
13418         * src/vm/jit/allocator/lsra.h: Likewise.
13419         * src/vm/jit/allocator/simplereg.c (interface_regalloc)
13420         (local_regalloc,allocate_scratch_registers): Likewise.
13421         * src/vm/jit/allocator/simplereg.h: Likewise.
13422         * src/vm/jit/parse.c (parse): Likewise.
13423         * src/vm/jit/replace.c (replace_create_replacement_points): Likewise.
13424         * src/vm/jit/intrp/codegen.c (intrp_codegen): Likewise.
13425         * src/vm/jit/reg.c (reg_setup): Likewise.
13426         * src/vm/jit/reg.h: Likewise.
13427         
13428         * src/vm/jit/jit.c (jit_compile): Use new function signatures and
13429         jitdata structure.
13430         (jit_compile_intern): Changed signature to use jitdata.
13431         * src/vm/jit/jit.h (jitdata): Added.
13432         (ICMD_OPCODE_MASK): Likewise.
13433         (ICMD_CONDITION_MASK): Likewise.
13434         
13435         * src/vm/jit/replace.h (rplpoint, executionstate, sourcestate):
13436         typedef's added.
13437         (replace_create_replacement_points): Changed signature to use jitdata.
13438         
13439         * src/vm/jit/parse.h (INDEX_ONEWORD, INDEX_TWOWORD): Use goto.
13440         (parse): Changed signature to use jitdata.
13441
13442 2006-03-28 14:31  twisti
13443
13444         * src/vm/jit/x86_64/md.c (md_signal_handler_sigsegv)
13445         (md_signal_handler_sigfpe): Comment changes.
13446
13447 2006-03-28 14:30  twisti
13448
13449         * src/vm/jit/i386/codegen.c (createnativestub): Replaced _exceptionptr
13450         by _no_threads_exceptionptr.
13451
13452 2006-03-28 14:22  twisti
13453
13454         * NEWS: Added upcoming 0.96 release. Added miranda-methods fix.
13455
13456 2006-03-28 14:21  twisti
13457
13458         * src/tests/regression/native/checkjni.c (PushLocalFrame): New method.
13459         * src/tests/regression/native/checkjni.java (PushLocalFrame):
13460         Likewise.
13461         (equal(int,int)): Likewise.
13462         * src/tests/regression/native/Makefile.am (NOTESTNAMES): Added.
13463
13464 2006-03-28 11:54  twisti
13465
13466         * src/vm/jit/x86_64/codegen.c (codegen): Renamed parentargs_base to
13467         stackframesize.
13468         * tests/regression/extest.2output: Updated.
13469
13470 2006-03-28 10:42  twisti
13471
13472         * src/vm/Makefile.am (noinst_LTLIBRARIES): Reformatted.
13473
13474 2006-03-28 10:21  twisti
13475
13476         * src/native/vm/VMClassLoader.c (loadClass): Smaller changes.
13477
13478 2006-03-28 09:41  twisti
13479
13480         * src/native/native.c (dummynativetable): Renamed getModifiers
13481         functions to getModifiersInternal due to GNU Classpath VM interface
13482         changes.
13483         * src/native/vm/Constructor.c (getModifiers): Renamed to
13484         getModifiersInternal.
13485         * src/native/vm/Field.c (getModifiers): Likewise.
13486         * src/native/vm/Method.c (getModifiers): Likewise.
13487
13488 2006-03-27 11:37  twisti
13489
13490         * src/vm/class.c: Don't initialize classes to NULL.
13491         
13492         * src/vm/loader.c (loader_load_all_classes): Added NDEBUG.
13493         * src/vm/builtin.c (builtin_new): Likewise.
13494         * src/vm/jit/codegen-common.c (codegen_createnativestub): Likewise.
13495         (codegen_disassemble_nativestub): Likewise.
13496         * src/vm/jit/codegen-common.h (codegen_disassemble_nativestub):
13497         Likewise.
13498         * src/vm/jit/stack.c (stack_print): Likewise.
13499         * src/vm/jit/stack.h (stack_print, show_icmd_method, show_icmd_block)
13500         (show_icmd): Likewise.
13501         * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
13502         * src/vm/linker.c (link_class_intern): Likewise.
13503         * src/cacao/cacao.c (main): Likewise.
13504         
13505         * src/vm/jit/x86_64/codegen.c: Likewise.
13506         * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Likewise.
13507         * src/vm/jit/x86_64/Makefile.am (DISASS_SOURCES): Added. Put into
13508         ENABLE_DISASSEMBLER.
13509         
13510         * src/vm/jit/jit.c (jit_compile_intern): Added ENABLE_LOOP.
13511         * src/vm/vm.c (vm_create): Added ENABLE_PROFILING.
13512         (vm_exit_handler): Likewise.
13513         
13514         * configure.ac (AC_ENABLE_SHARED, AC_DISABLE_STATIC): Removed. Set it
13515         manually.
13516         (EXPORT_SYMBOLS_FLAGS): Removed.
13517         (--enable-disassembler): Added.
13518         (--ensable-loop): Likewise.
13519         (--ensable-profiling): Likewise.
13520         (--ensable-libjvm): Likewise.
13521         (--ensable-inlining): Moved.
13522         
13523         * src/vm/jit/Makefile.am (LOOP_LIB): Added. Put into ENABLE_LOOP.
13524         (PROFILE_LIB): Put into ENABLE_PROFILING.
13525         * src/cacao/Makefile.am (cacao_LDFLAGS): Use -export-dynamic and let
13526         libtool do the work. Add -all-static for ENABLE_STATICVM.
13527         
13528         * src/lib/Makefile.am: Made it -j aware.
13529         
13530         * src/vm/resolve.c (config.h, vm/global.h): Added.
13531         * src/vm/classcache.c (config.h): Moved to top.
13532         
13533         * src/vm/exceptions.h: Small change.
13534
13535 2006-03-27 11:15  twisti
13536
13537         * src/vm/utf8.c: Removed superfluous comment.
13538
13539 2006-03-24 11:50  motse
13540
13541         * src/cacao/cacao.c (main): remove debug code
13542
13543 2006-03-23 12:48  edwin
13544
13545         * src/vm/jit/parse.h (bound_check): Renamed to CHECK_BYTECODE_INDEX,
13546         made
13547         a NOP for ENABLE_VERIFIER undefined.
13548         (bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE,
13549         made
13550         a NOP for ENABLE_VERIFIER undefined.
13551         
13552         * src/vm/jit/parse.c (fillextable): Cleaned up.
13553         (bound_check): Renamed to CHECK_BYTECODE_INDEX.
13554         (bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE.
13555         (parse): Only do checks if ENABLE_VERIFIER is defined.
13556
13557 2006-03-23 11:22  edwin
13558
13559         * src/vm/jit/parse.c (CHECK_END_OF_BYTECODE): Added a macro for
13560         checking
13561         the end of the bytecode that becomes a NOP if ENABLE_VERIFIER is
13562         undefined.
13563
13564 2006-03-23 02:06  edwin
13565
13566         * src/vm/jit/parse.c (parse): Uncuddled else's.
13567
13568 2006-03-23 00:56  edwin
13569
13570         * src/vm/jit/powerpc/darwin/md-asm.h (_asm_replacement_out)
13571         (_asm_replacement_in, _replace_me): Added #defines for Darwin.
13572
13573 2006-03-23 00:30  edwin
13574
13575         * src/vm/jit/stack.h (CHECK_STACK_DEPTH): Added. Uses goto to a common
13576         label for stack depth mismatches.
13577         (MARKREACHED): Use CHECK_STACK_DEPTH, which becomes a NOP if
13578         ENABLE_VERIFIER is undefined.
13579         
13580         * src/vm/jit/stack.c (anaylse_stack): Use CHECK_STACK_DEPTH.
13581         Added common label `throw_stack_depth_error` for stack depth
13582         mismatches.
13583         Uncuddled else's.
13584
13585 2006-03-23 00:08  edwin
13586
13587         * src/vm/global.h (TYPECHECK_STACK_COMPCAT): Replaced by
13588         ENABLE_VERIFIER.
13589         The separation made no sense, anyway.
13590         
13591         * src/vm/jit/stack.c (TYPECHECK_STACK_COMPCAT): Replaced by
13592         ENABLE_VERIFIER.
13593         (analyse_stack): Removed code duplication by branching to a common
13594         label
13595         for all computational category errors: throw_stack_category_error.
13596
13597 2006-03-22 23:51  edwin
13598
13599         * src/vm/jit/stack.h (BBEND): Inlined this macro (used only once) at
13600         its
13601         call site in stack.c.
13602         
13603         * src/vm/jit/stack.c (analyse_stack): Inlined BBEND macro and cleaned
13604         up
13605         the code.
13606
13607 2006-03-22 23:29  edwin
13608
13609         * src/vm/jit/stack.c (analyse_stack): Removed obsolete label
13610         `icmd_store`.
13611
13612 2006-03-22 23:27  edwin
13613
13614         * src/vm/jit/jit.h (ICMD_READONLY_ARG, ICMD_CLEAR_ARGREN): Removed.
13615         
13616         * src/vm/jit/stack.c (analyse_stack): Removed obsolete argument
13617         renaming.
13618         
13619         * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed
13620         ICMD_READONLY_ARG and ICMD_CLEAR_ARGREN.
13621
13622 2006-03-22 23:17  edwin
13623
13624         * src/vm/jit/stack.h (TYPE_VERIFYERROR): Changed to CHECK_BASIC_TYPE.
13625         This
13626         macro now becomes a NOP if ENABLE_VERIFIER is undefined. Otherwise it
13627         uses
13628         a goto to the common label throw_stack_type_error in order to save
13629         space.
13630         
13631         * src/vm/jit/stack.c (analyse_stack): Added variable `expectedtype`
13632         for use
13633         by CHECK_BASIC_TYPE. Added label throw_stack_type_error.
13634
13635 2006-03-22 20:59  edwin
13636
13637         * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Save/restore stack
13638         pointer
13639         properly. Fixed copy&paste error in restoring callee-save registers.
13640
13641 2006-03-22 18:32  edwin
13642
13643         * src/vm/jit/stack.c (analyse_stack): Added throw_stack_overflow
13644         label.
13645         
13646         * src/vm/jit/stack.h (CHECKOVERFLOW): Make this a NOP if
13647         ENABLE_VERIFIER
13648         is undefined.
13649         (REQUIRE): Use #if defined(...)
13650
13651 2006-03-22 17:25  edwin
13652
13653         * src/vm/jit/stack.h (REQUIRE): Made a NOP if ENABLE_VERIFIER is
13654         undefined.
13655         
13656         * src/vm/jit/stack.c (analyse_stack): Only define
13657         throw_stack_underflow
13658         if ENABLE_VERIFIER is defined.
13659         (jit_type): Do not define that for NDEBUG.
13660
13661 2006-03-22 17:14  edwin
13662
13663         * src/vm/jit/stack.h (REQUIRE): Avoid duplication of exception
13664         throwing code.
13665         
13666         * src/vm/jit/stack.c (analyse_stack): Added label
13667         throw_stack_underflow
13668         for the REQUIRE macro.
13669
13670 2006-03-22 15:30  edwin
13671
13672         * src/vm/jit/powerpc/md.c (DISASSINSTR): #ifdef'ed
13673         * src/vm/jit/alpha/md.c (DISASSINSTR): #ifdef'ed
13674         * src/vm/jit/i386/md.c (DISASSINSTR): #ifdef'ed
13675         * src/vm/jit/x86_64/md.c (DISASSINSTR): #ifdef'ed
13676         * src/vm/jit/mips/md.c (DISASSINSTR): #ifdef'ed
13677
13678 2006-03-22 12:35  edwin
13679
13680         * src/vm/jit/inline/inline.c (stack_depth): Moved here from
13681         inline_debug.c.
13682         (NDEBUG): Put debug stuff inside #ifndef NDEBUG.
13683         
13684         * src/vm/jit/inline/inline_debug.c (stack_depth): Moved to inline.c
13685
13686 2006-03-22 09:19  edwin
13687
13688         * src/vm/jit/inline/inline_debug.c (debug_dump_stack): Fixed warning
13689         on
13690         platforms that don't define NULL as a pointer.
13691
13692 2006-03-22 01:22  edwin
13693
13694         * src/vm/jit/inline/inline.c (relocate_stack_ptr_inter,
13695         rewrite_method):
13696         Fixed warnings.
13697         
13698         * src/vm/jit/inline/inline_debug.c (DEBUG_SLOT, dump_inline_tree):
13699         Fixed warnings.
13700
13701 2006-03-21 14:07  twisti
13702
13703         * src/vm/jit/i386/codegen.h (ALIGNCODENOP): Added.
13704         
13705         * src/vm/jit/i386/codegen.c (codegen): Renamed to parentargs_base to
13706         stackframesize. Align stack to 16-bytes.
13707         (ICMD_GOTO): Use ALIGNCODENOP.
13708         
13709         * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Align stack to
13710         16-bytes. Use register defines for better readability.
13711
13712 2006-03-21 11:58  twisti
13713
13714         * src/vm/jit/Makefile.am: Removed ifconv. Again...
13715
13716 2006-03-21 11:50  twisti
13717
13718         * configure.ac (AC_INIT): Changed cvs to svn.
13719         (--enable-inlining): Added.
13720         
13721         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv.
13722         (ENABLE_IFCONV): Added. Use IFCONV_LIB.
13723         (USE_INLINING): Renamed to ENABLE_INLINING.
13724
13725 2006-03-21 07:57  edwin
13726
13727         * src/vm/jit/alpha/codegen.c (codegen): Comment 16-byte stack
13728         alignment.
13729         
13730         * src/vm/jit/alpha/asmpart.S (asm_replacment_out): Fix comment about
13731         stack layout.
13732
13733 2006-03-21 07:42  edwin
13734
13735         * src/vm/jit/alpha/asmpart.S (REPLACEMENT_ROOM): Fixed deleted
13736         characters.
13737
13738 2006-03-21 04:14  edwin
13739
13740         * src/vm/jit/inline/Makefile.am (AM_CPPFLAGS): Added OS include dir.
13741
13742 2006-03-21 03:15  edwin
13743
13744         * src/vm/jit/inline/inline_debug.c: Added file.
13745
13746 2006-03-21 00:13  edwin
13747
13748         * src/vm/jit/inline/inline.c: Committed the inliner. This code works
13749         but
13750         it is still in prototyping stage.
13751         
13752         * src/vm/jit/parse.c (parse): Added (#if 0-ed) code for storing the
13753         exception table that the inliner uses.
13754
13755 2006-03-21 00:04  motse
13756
13757         major rework of jvmti. now we have three processes in jvmti mode.
13758         there are still many debug statements
13759
13760 2006-03-20 23:56  edwin
13761
13762         * src/vm/jit/code.h (codeinfo): Comment that profiling fields
13763         will be removed.
13764
13765 2006-03-20 15:41  edwin
13766
13767         * src/vm/jit/alpha/asmpart.S (asm_replacement_out): 16-byte align
13768         stack.
13769
13770 2006-03-20 15:37  edwin
13771
13772         * doc/stack_frames.txt: Some fixes, described PowerPC stack frames.
13773
13774 2006-03-20 15:12  twisti
13775
13776         * src/vm/jit/alpha/codegen.c (codegen): Align stack to 16-bytes in
13777         replacement stub.
13778         * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Load GP before
13779         symbolic jumps.
13780
13781 2006-03-20 14:43  twisti
13782
13783         * autogen.sh, src/boehm-gc/autogen.sh: Prefix all shell variables with
13784         CACAO_ to prevent problems on OpenBSD.
13785
13786 2006-03-20 14:27  twisti
13787
13788         * src/boehm-gc/darwin_stop_world.c,
13789         src/boehm-gc/threadlibs.c,
13790         src/boehm-gc/doc/README.changes,
13791         src/boehm-gc/doc/README,
13792         src/boehm-gc/doc/gcinterface.html,
13793         src/boehm-gc/mark.c,
13794         src/boehm-gc/include/gc.h,
13795         src/boehm-gc/include/gc_cpp.h,
13796         src/boehm-gc/include/gc_pthread_redirects.h,
13797         src/boehm-gc/include/leak_detector.h,
13798         src/boehm-gc/include/gc_config_macros.h,
13799         src/boehm-gc/include/private/gc_priv.h,
13800         src/boehm-gc/include/private/gcconfig.h,
13801         src/boehm-gc/include/private/gc_pmark.h,
13802         src/boehm-gc/include/private/gc_locks.h,
13803         src/boehm-gc/configure.in,
13804         src/boehm-gc/allchblk.c,
13805         src/boehm-gc/powerpc_darwin_mach_dep.s,
13806         src/boehm-gc/dbg_mlc.c,
13807         src/boehm-gc/version.h,
13808         src/boehm-gc/pthread_stop_world.c,
13809         src/boehm-gc/malloc.c,
13810         src/boehm-gc/headers.c,
13811         src/boehm-gc/pthread_support.c,
13812         src/boehm-gc/Makefile.direct,
13813         src/boehm-gc/os_dep.c,
13814         src/boehm-gc/Makefile.am,
13815         src/boehm-gc/dyn_load.c,
13816         src/boehm-gc/alloc.c,
13817         src/boehm-gc/misc.c: Updated to upstream version 6.7.
13818
13819 2006-03-19 19:46  edwin
13820
13821         * src/vm/jit/code.c (code_get_stack_frame_size): Implement stack
13822         alignment
13823         for MIPS.
13824         
13825         * src/vm/jit/mips/md.c (md_patch_replacement_point): Added.
13826         
13827         * src/vm/jit/mips/codegen.c (codegen): Handle replacement points.
13828         8-byte align blocks that start with replacement points.
13829         
13830         * src/vm/jit/mips/asmpart.S (asm_replacement_out): Added.
13831         (asm_replacement_in): Likewise.
13832         
13833         * src/vm/jit/replace.c (replace_activate_replacement_point): Activated
13834         for MIPS.
13835         (replace_deactivate_replacement_poin): Likewise.
13836         (replace_me): Likewise.
13837         (replace_read_executionstate): MIPS also keeps returnAddress in ITMP1.
13838         (replace_write_executionstate): Likewise.
13839         
13840         * doc/stack_frames.txt: Documented MIPS stack frames.
13841         
13842         * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Fixed comment.
13843
13844 2006-03-18 04:14  edwin
13845
13846         * src/vm/jit/powerpc/md.c (md_patch_replacement_point): Added.
13847         
13848         * src/vm/jit/powerpc/codegen.c (codegen): Handle replacement points.
13849         
13850         * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Added.
13851         (asm_replacement_in): Likewise.
13852         
13853         * src/vm/jit/alpha/codegen.c (codegen): Added missing initialization
13854         of `replacementpoint`.
13855         
13856         * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Store PV register.
13857         
13858         * src/vm/jit/code.c (code_get_sync_slot_count): Ported to PowerPC.
13859         (code_get_stack_frame_size): Likewise.
13860         
13861         * src/vm/jit/replace.c (replace_activate_replacement_point)
13862         (replace_deactivate_replacement_poin): Activated for PowerPC.
13863         (replace_read_value, replace_write_value): Added.
13864         (replace_read_executionstate): Ported to PowerPC, more complete
13865         data type handling.
13866         (replace_write_executionstate): Ported to Ported, more complete
13867         data type handling, fixed missing initialization of `topslot`.
13868         (replace_me): Activated for PowerPC.
13869
13870 2006-03-16 23:32  edwin
13871
13872         * src/vm/jit/alpha/codegen.c (codegen): Use `disp` for displacement.
13873
13874 2006-03-16 21:12  edwin
13875
13876         * src/vm/jit/alpha/md.c (Changes): Added my name.
13877
13878 2006-03-16 21:11  edwin
13879
13880         * src/vm/jit/alpha/md.c (md_patch_replacement_point): Added.
13881         (vim boilerplate): Added.
13882         
13883         * src/vm/jit/replace.c (replace_activate_replacement_point)
13884         (replace_deactivate_replacement_point, replace_me):
13885         Activated replacement for alpha.
13886
13887 2006-03-16 20:31  edwin
13888
13889         * src/vm/jit/alpha/asmpart.S (asm_replacement_out)
13890         (asm_replacement_in): Use stt/ldt for float registers.
13891         
13892         * src/vm/jit/alpha/codegen.c (codegen): Put replacement-out stub
13893         generation in correct scope. Fix warnings.
13894
13895 2006-03-16 19:55  edwin
13896
13897         * src/vm/jit/alpha/codegen.c (codegen): Handle replacement points.
13898         
13899         * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Added.
13900         (asm_replacement_in): Likewise.
13901         (vim boilerplate): Added.
13902
13903 2006-03-16 19:36  edwin
13904
13905         * src/vm/jit/replace.c (replace_read_executionstate)
13906         (replace_write_executionstate): Position of synchronization slot must
13907         be calculated from low addresses up, instead of backwards from stack
13908         base.
13909
13910 2006-03-16 19:00  edwin
13911
13912         * src/vm/jit/replace.c (replace_create_replacement_points): Set
13913         isleafmethod.
13914
13915 2006-03-16 18:57  edwin
13916
13917         * src/vm/jit/code.c (code_codeinfo_new): Set codeinfo.isleafmethod.
13918
13919 2006-03-16 18:44  edwin
13920
13921         * src/vm/jit/x86_64/codegen.c (codegen): Reuse `disp` variable.
13922         * src/vm/jit/i386/codegen.c (codegen): Likewise.
13923
13924 2006-03-16 18:38  edwin
13925
13926         * src/vm/jit/i386/asmpart.S (asm_replacement_out): Added pv.
13927         * src/vm/jit/x86_64/asmpart.S (asm_replacement_out): Added pv.
13928         
13929         * src/vm/jit/replace.c (replace_read_executionstate)
13930         (replace_write_executionstate): Prepared for alpha. Some cleanup.
13931         
13932         * src/vm/jit/replace.c (replace_write_executionstate):
13933         Calculate stack pointer from given stack base.
13934         (replace_executionstate_println): Added pv.
13935         (replace_sourcestate_println): Added stackbase.
13936         
13937         * src/vm/jit/replace.h (executionstate): Added pv.
13938         (sourcestate): Added stackbase.
13939         
13940         * src/vm/jit/tools/genoffsets.c (main): Added offes_pv.
13941         
13942         * doc/stack_frames.txt: Clarifications.
13943
13944 2006-03-16 18:32  edwin
13945
13946         * src/vm/jit/code.c (code_get_sync_slot_count): No synchronization
13947         slots
13948         if USE_THREADS is undefined.
13949         (code_get_stack_frame_size): Added x86_64 alignment slot.
13950
13951 2006-03-16 17:29  edwin
13952
13953         * doc/stack_frames.txt: Added description of x86_64 stack frames.
13954
13955 2006-03-16 17:24  twisti
13956
13957         * src/vm/jit/mips/md.c (sys/cachectl.h): Added.
13958         (md_cacheflush, md_icacheflush, md_dcacheflush): New method.
13959         
13960         * src/vm/jit/mips/codegen.c: Use new exception stubs.
13961         * src/vm/jit/mips/codegen.h (gen_nullptr_check, gen_bound_check)
13962         (gen_div_check): Use new add reference functions.
13963         
13964         * src/vm/jit/mips/patcher.c: Replaced cacheflush with md_icacheflush
13965         or md_dcacheflush.
13966         
13967         * src/vm/jit/mips/asmpart.S: (asm_calljavafunction): Removed.
13968         (asm_calljavafunction2): Renamed to asm_vm_call_method. Pointer to
13969         vm_arg block is now in a2. Use new defines.
13970
13971 2006-03-16 17:22  edwin
13972
13973         * doc/stack_frames.txt: Added description of alpha stack frames.
13974
13975 2006-03-16 17:16  twisti
13976
13977         * src/vm/vm.c (version): Check if __VERSION__ is defined.
13978
13979 2006-03-16 15:36  twisti
13980
13981         * src/vm/jit/x86_64/md.c (md_cacheflush): New method.
13982
13983 2006-03-16 15:28  edwin
13984
13985         * src/vm/jit/alpha/codegen.c (codegen): Cast to avoid compiler
13986         warning.
13987
13988 2006-03-16 15:19  twisti
13989
13990         * src/vm/jit/alpha, src/vm/jit/alpha/linux,
13991         src/vm/jit/alpha/linux/.cvsignore, src/vm/jit/alpha/freebsd,
13992         src/vm/jit/alpha/freebsd/.cvsignore, src/vm/jit/alpha/.cvsignore:
13993         Added TAGS.
13994
13995 2006-03-16 15:16  twisti
13996
13997         * src/vm/jit/alpha/md.c (md_cacheflush, md_icacheflush): New method.
13998         * src/vm/jit/alpha/asmpart.S (asm_sync_instruction_cache): Renamed to
13999         asm_cacheflush.
14000         * src/vm/jit/alpha/patcher.c: Replaced asm_sync_instruction_cache with
14001         md_icacheflush.
14002
14003 2006-03-16 14:29  twisti
14004
14005         * src/vm/jit/i386/md.c (md_cacheflush): New method.
14006
14007 2006-03-16 14:23  twisti
14008
14009         * src/vm/jit/powerpc, src/vm/jit/powerpc/linux,
14010         src/vm/jit/powerpc/linux/.cvsignore, src/vm/jit/powerpc/darwin,
14011         src/vm/jit/powerpc/darwin/.cvsignore, src/vm/jit/powerpc/.cvsignore:
14012         Added TAGS.
14013
14014 2006-03-16 14:19  twisti
14015
14016         * src/vm/jit/jit.h (md_cacheflush, md_icacheflush, md_dcacheflush):
14017         Added.
14018         * src/vm/jit/asmpart.h (asm_sync_instruction_cache): Removed.
14019         
14020         * src/vm/jit/codegen-common.c (codegen_finish): Call md_cacheflush for
14021         the dynamic superinstructions (intrp) and the generated code.
14022         
14023         * src/vm/jit/powerpc/codegen.c: Use new exception stubs.
14024         * src/vm/jit/powerpc/codegen.h (gen_nullptr_check, gen_bound_check):
14025         Use new add reference functions.
14026         
14027         * src/vm/jit/powerpc/md.c (vm/jit/asmpart.h): Added.
14028         (md_cacheflush, md_icacheflush, md_dcacheflush): New function.
14029         * src/vm/jit/powerpc/patcher.c: Use new cache flush functions.
14030
14031 2006-03-16 14:00  twisti
14032
14033         * src/cacao/cacao.c (mm/boehm.h, mm/memory.h): Removed.
14034
14035 2006-03-16 13:59  twisti
14036
14037         * src/vm/jit/intrp/engine.c (USE_spTOS): Define it for __POWERPC__,
14038         __POWERPC64__, __SPARC__. We know we need it there.
14039
14040 2006-03-16 13:56  twisti
14041
14042         * tests/regression/native/Makefile.am (AM_CPPFLAGS): Added OS_DIR.
14043
14044 2006-03-16 12:53  twisti
14045
14046         * src/vm/jit/tools/Makefile.am, src/vm/jit/verify/Makefile.am,
14047         src/vm/jit/loop/Makefile.am, src/vm/jit/profile/Makefile.am,
14048         src/cacao/Makefile.am, src/native/tools/Makefile.am,
14049         src/native/vm/Makefile.am, src/native/Makefile.am,
14050         src/toolbox/Makefile.am, src/mm/Makefile.am, src/cacaoh/Makefile.am
14051         (AM_CPPFLAGS): Added OS_DIR.
14052
14053 2006-03-16 12:03  twisti
14054
14055         * src/vm/jit/alpha/codegen.c: Use new exception stubs.
14056         * src/vm/jit/alpha/codegen.h (gen_nullptr_check, gen_bound_check): Use
14057         new add reference functions.
14058
14059 2006-03-16 04:38  edwin
14060
14061         * src/vm/jit/replace.h (RPLPOINT_SBR): Removed obsolete flag constant.
14062
14063 2006-03-16 04:17  edwin
14064
14065         * src/vm/jit/code.c (code_codeinfo_new): Commented.
14066         (code_get_sync_slot_count): Added.
14067         (code_get_stack_frame_size): Commented.
14068         (code_codeinfo_free): Commented.
14069         (code_free_code_of_method): Commented. Some cleanup.
14070         
14071         * src/vm/jit/code.h (code_get_sync_slot_count): Added.
14072         
14073         * src/vm/jit/i386/codegen.c (codegen): Use cd->lastmcodeptr to avoid
14074         patching over basic block boundaries.
14075         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
14076         
14077         * src/vm/jit/replace.h (rplpoint): `type` and `flags` added,
14078         `hashlink` removed.
14079         (sourcestate): Added slots for synchronized methods.
14080         
14081         * src/vm/jit/replace.c (replace_create_replacement_points): Store
14082         basicblock
14083         type.
14084         (replace_read_executionstate, replace_write_executionstate):
14085         Handle 2-word locals. Special handling for BBTYPE_SBR and BBTYPE_EXH
14086         blocks.
14087         Transfer synchronization slots.
14088
14089 2006-03-16 00:05  edwin
14090
14091         * src/vm/jit/code.c (code_get_stack_frame_size): Deal with 4/8-byte
14092         stackslots.
14093         
14094         * src/vm/jit/tools/genoffsets.c (main): Offsets of intregs and
14095         fltregs.
14096         
14097         * src/vm/jit/i386/asmpart.S (asm_replacement_out): Renamed regs to
14098         intregs. Some cleanup.
14099         
14100         * src/vm/jit/replace.c (replace_activate_replacement_point)
14101         (replace_deactivate_replacement_point): Enabled on x86_64.
14102         (replace_read_executionstate, replace_write_executionstate):
14103         Deal with 4/8-byte stackslots. Handle float registers.
14104         (replace_executionstate_println, replace_sourcestate_println):
14105         Print register names where possible.
14106         
14107         * src/vm/jit/x86_64/md.c (md_patch_replacement_point): Added.
14108         (vim boilerplate): Added.
14109         
14110         * src/vm/jit/x86_64/codegen.c (codegen): Handle replacement points.
14111         Generate replacement-out stubs.
14112         
14113         * src/vm/jit/x86_64/asmpart.S (asm_replacement_out,
14114         asm_replacement_in):
14115         Added.
14116         (vim boilerplate): Added.
14117         
14118         * src/vm/jit/replace.h (executionstate): Separate registers into int
14119         and float registers. Some cleanup, use INT_REG_CNT, FLT_REG_CNT
14120         macros.
14121
14122 2006-03-15 21:27  edwin
14123
14124         * src/vm/jit/replace.c (replace_read_executionstate): Commented.
14125         (replace_write_executionstate): Likewise, and set new PC here.
14126         (replace_me): Target PC is now set in replace_write_executionstate.
14127
14128 2006-03-15 20:53  edwin
14129
14130         * src/vm/jit/code.h (codeinfo): Changed regalloc to use rplalloc
14131         structs.
14132         Added fields storing stack slot counts.
14133         
14134         * src/vm/jit/code.c, src/vm/jit/code.h (code_get_stack_frame_size):
14135         Added.
14136         
14137         * src/vm/jit/replace.c (replace_create_replacement_points): Store full
14138         allocation info for locals and stack slots in rplalloc structs. Store
14139         number of stack slots.
14140         
14141         * src/vm/jit/replace.c (replace_read_executionstate): Added.
14142         (replace_write_executionstate): Likewise.
14143         
14144         * src/vm/jit/replace.c (replace_me): Use dump memory for sourcestate.
14145         Read an write executionstate. Do actual replace by calling
14146         asm_replace_in.
14147         
14148         * src/vm/jit/replace.c (replace_replacement_point_println)
14149         (replace_executionstate_println): Print new fields. Show correct
14150         number
14151         of stack slots.
14152         (replace_sourcestate_println): Added.
14153         
14154         * src/vm/jit/replace.h (rplalloc): Added.
14155         (rplpoint): Changed regalloc fields to use rplalloc structs.
14156         (executionstate): Removed saved regs.
14157         (sourcestate): Added saved regs.
14158         (replace_executionstate_println): Now takes codeinfo* argument.
14159         (replace_sourcestate_println): Added.
14160
14161 2006-03-15 20:43  edwin
14162
14163         * doc/stack_frames.txt: Added arrows indicating increasing
14164         addresses/indices.
14165
14166 2006-03-15 20:42  edwin
14167
14168         * src/vm/jit/asmpart.h (asm_replacement_in): Added prototype.
14169
14170 2006-03-15 20:40  edwin
14171
14172         * src/vm/jit/i386/asmpart.S (asm_replacement_out): Save all integer
14173         registers,
14174         add space between stack frame and executionstate to accomodate
14175         changing stack
14176         frame size.
14177         
14178         * src/vm/jit/i386/asmpart.S (asm_replacement_in): Added.
14179
14180 2006-03-15 20:38  edwin
14181
14182         * src/vm/jit/tools/genoffsets.c (main): Added offset of pc and sp
14183         in executionstate.
14184
14185 2006-03-15 17:17  twisti
14186
14187         * src/vm/jit/i386/codegen.c: Use new exception stubs. Don't cast with
14188         M_MOV_IMM.
14189         * src/vm/jit/i386/codegen.h (M_MOV_IMM, M_IST_IMM, M_IST32_IMM)
14190         (M_PUSH_IMM): Added cast.
14191         (M_CMP, M_CMP_MEMBASE, M_CMP_IMM_MEMBASE): Added.
14192
14193 2006-03-15 16:36  twisti
14194
14195         * src/vm/jit/codegen-common.h (branchref): Removed.
14196         (codegendata): Removed xboundrefs, xnullrefs, xcastrefs, xstorerefs,
14197         xdivrefs and xexceptionrefs. Added exceptionrefs.
14198         (codegen_addxboundrefs, codegen_addxcastrefs, codegen_addxdivrefs)
14199         (codegen_addxstorerefs, codegen_addxnullrefs)
14200         (codegen_addxexceptionrefs): Removed.
14201         (codegen_add_arithmeticexception_ref)
14202         (codegen_add_arrayindexoutofboundsexception_ref)
14203         (codegen_add_arraystoreexception_ref)
14204         (codegen_add_classcastexception_ref)
14205         (codegen_add_nullpointerexception_ref)
14206         (codegen_add_fillinstacktrace_ref): New function.
14207         * src/vm/jit/codegen-common.c: Likewise.
14208         
14209         * src/vm/jit/dseg.h (exceptionref): New structure.
14210         
14211         * src/vm/jit/x86_64/codegen.c: Use new exception stubs. Don't cast
14212         with M_MOV_IMM.
14213         * src/vm/jit/x86_64/codegen.h (M_MOV_IMM, M_IMOV_IMM): Added cast.
14214         
14215         * src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace): Moved.
14216         * src/vm/jit/stacktrace.h (STACKTRACE_inline_arithmeticexception)
14217         (STACKTRACE_inline_arrayindexoutofboundsexception)
14218         (STACKTRACE_inline_arraystoreexception)
14219         (STACKTRACE_inline_classcastexception)
14220         (STACKTRACE_inline_nullpointerexception)
14221         (STACKTRACE_inline_fillInStackTrace): Added functionptr defines.
14222         
14223         * src/vm/jit/jit.h (branchref): Added.
14224
14225 2006-03-15 12:14  edwin
14226
14227         * doc/stack_frames.txt: Added slots for synched methods.
14228
14229 2006-03-15 12:04  edwin
14230
14231         * doc/stack_frames.txt: Added file.
14232         
14233         * src/vm/jit/code.h (codeinfo): Rearranged fields.
14234         
14235         * src/vm/jit/i386/md.c, src/vm/jit/i386/asmpart.S,
14236         src/vm/jit/replace.c:
14237         Comment changes.
14238
14239 2006-03-15 11:38  edwin
14240
14241         * src/vm/jit/i386/md.c (md_patch_replacement_point): Generalized to
14242         activation and deactivation of replacement points.
14243         
14244         * src/vm/jit/i386/codegen.c (codegen): Prepare machine code for
14245         patching replacement points.
14246         
14247         * src/vm/jit/replace.c, src/vm/jit/replace.h
14248         (replace_deactivate_replacement_point): Added.
14249         
14250         * src/vm/jit/replace.c
14251         (replace_replacement_point_println): Print machine code.
14252         
14253         * src/vm/jit/replace.h (rplpoint): Added `mcode` field.
14254
14255 2006-03-15 11:18  twisti
14256
14257         * src/vm/jit/i386/codegen.c (GETFIELD, PUTFIELD, PUTFIELDCONST): Use
14258         M_ILD32 and M_LLD32 macros.
14259         (patcher): Save REG_ITMP3. Don't allocate a codegendata structure,
14260         just do it as on Alpha.
14261         * src/vm/jit/i386/codegen.h (var_to_reg_lng): Added.
14262         (store_reg_to_var_lng): Likewise.
14263         (M_ILD32, M_LLD, M_LLD32, M_IST32, M_IST32_IMM, M_LST, M_LST32)
14264         (M_LST_IMM, M_LST32_IMM): Likewise.
14265         
14266         * src/vm/jit/i386/patcher.c: Changed position of return address due to
14267         saving of REG_ITMP3.
14268         * src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Changed due to
14269         saving of REG_ITMP3.
14270
14271 2006-03-15 10:34  edwin
14272
14273         * src/vm/jit/replace.c (replace_create_replacement_points): Don't use
14274         rd->locals in the interpreter -- it's NULL there.
14275
14276 2006-03-15 05:13  edwin
14277
14278         * src/vm/jit/codegen-common.c (codegen_finish): Removed a compiler
14279         warning.
14280
14281 2006-03-15 05:08  edwin
14282
14283         * src/vm/jit/replace.h, src/vm/jit/i386/md.c
14284         (md_patch_replacement_point):
14285         Fixed return type.
14286         
14287         * src/vm/jit/replace.c (replace_activate_replacement_point): Only call
14288         md_patch_replacement_point if ENABLE_JIT is defined.
14289
14290 2006-03-15 04:57  edwin
14291
14292         * src/vm/jit/replace.c (replace_activate_replacement_point): Do not
14293         use
14294         the symbol md_patch_replacement_point on platforms where it does not
14295         exist, yet.
14296
14297 2006-03-15 04:43  edwin
14298
14299         * src/vm/jit/replace.h, src/vm/jit/replace.c
14300         (replace_activate_replacement_point): Added.
14301         (replace_activate): Added prototype.
14302         (md_patch_replacement_point): Added prototype.
14303         (replace_me): Added.
14304         (replace_replacement_point_println): Added.
14305         (replace_show_replacement_points): Cleaned up.
14306         (replace_executionstate_println): Added.
14307         
14308         * src/vm/jit/i386/codegen.c (codegen): Generate replacement-out stubs.
14309         
14310         * src/vm/jit/codegen-common.c (codegen_finish): Resolve replacement
14311         points.
14312         
14313         * src/vm/jit/asmpart.h, src/vm/jit/i386/asmpart.S
14314         (asm_replacement_out): Added.
14315         
14316         * src/vm/method.h (executionstate): Typo fixed.
14317         
14318         * src/vm/jit/stack.c (src/vm/jit/stack.c): Minor output change.
14319         
14320         * src/vm/jit/tools/genoffsets.c (executionstate): Added size and
14321         offset.
14322         
14323         * src/vm/jit/i386/md.c (md_patch_replacement_point): Added.
14324
14325 2006-03-15 01:50  edwin
14326
14327         * src/vm/jit/replace.h, src/vm/jit/replace.c
14328         (replace_replacement_info_print): Renamed to
14329         replace_show_replacement_points.
14330         * src/vm/jit/stack.c: Likewise.
14331
14332 2006-03-15 01:39  edwin
14333
14334         * src/vm/jit/replace.c, src/vm/jit/replace.h
14335         (replace_create_replacement_points): Added.
14336         (replace_free_replacement_points): Added.
14337         (replace_replacement_info_print): Added.
14338         
14339         * src/vm/jit/replace.h (rplpoint): Changed fields, made fixed length.
14340         
14341         * src/vm/jit/code.h (codeinfo): Changed replacement point fields.
14342         
14343         * src/vm/jit/jit.c (jit_compile_intern): Create replacement points.
14344         
14345         * src/vm/jit/jit.c (jit_compile_intern): Use already allocated
14346         codeinfo
14347         for do-nothing methods.
14348         
14349         * src/vm/jit/code.c (code_codeinfo_free): Free replacement points.
14350         
14351         * src/vm/jit/stack.c (show_icmd_method): Print replacement points.
14352
14353 2006-03-15 00:06  edwin
14354
14355         * src/vm/jit/stack.c, src/vm/jit/stack.h (icmd_print_stack): Renamed
14356         to
14357         stack_print. Documented.
14358         (show_icmd_method, show_icmd_block, show_icmd): Documented.
14359         (show_icmd_block): Print basicblock.bitflags.
14360         
14361         * src/vm/jit/stack.h (MARKREACHED): Mark targets of backward branches
14362         as replacement points (BBFLAG_REPLACEMENT)
14363
14364 2006-03-14 23:49  edwin
14365
14366         * src/vm/jit/jit.h (basicblock): Added `bitflags` field. Note: The
14367         flags
14368         of this struct should really be cleaned up.
14369         
14370         * src/vm/jit/jit.h (BASICBLOCK_INIT): Added, so we have a central
14371         place
14372         where to put initialization of the fields.
14373         
14374         * src/vm/jit/parse.c (parse): Cleaned up basicblock allocation.
14375
14376 2006-03-14 23:16  edwin
14377
14378         * src/vm/jit/jit.h (basicblock): Comment.
14379
14380 2006-03-14 23:00  edwin
14381
14382         * src/vm/jit/parse.c (fillextable): Removed unused label_index.
14383         (parse): Likewise.
14384         
14385         * src/vm/jit/replace.h: Comment moved.
14386
14387 2006-03-14 22:30  edwin
14388
14389         * src/native/jvmti/jvmti.c (GetMethodLocation): Use the new
14390         m->code field to get to the location of the method.
14391
14392 2006-03-14 22:16  edwin
14393
14394         * src/vm/method.h (methodinfo): Moved `entrypoint` to `codeinfo`.
14395         * src/vm/loader.c (load_method): Likewise.
14396         
14397         * src/vm/loader.c (load_newly_created_array): Use codeinfo.entrypoint.
14398         * src/vm/builtin.c (builtin_trace_exception): Likewise. Note:
14399         Currently
14400         we always use the current codeinfo. This is preliminary.
14401         
14402         * src/vm/jit/powerpc/codegen.c (codegen): Use cd->code->entrypoint.
14403         * src/vm/jit/alpha/codegen.c (createnativestub): Likewise.
14404         * src/vm/jit/dseg.c (dseg_resolve_datareferences): Likewise.
14405         * src/vm/jit/mips/codegen.c (codegen, createnativestub): Likewise.
14406         * src/vm/jit/i386/codegen.c (createnativestub): Likewise.
14407         * src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub)
14408         (createcalljavafunction): Likewise.
14409         * src/vm/jit/x86_64/codegen.c (createnativestub): Likewise.
14410         
14411         * src/vm/jit/intrp/codegen.c (nativecall): Use m->code->entrypoint.
14412         
14413         * src/vm/jit/codegen-common.h, src/vm/jit/codegen-common.c,
14414         src/cacaoh/headers.c (codegen_createnativestub): Now returns
14415         the created codeinfo instead of the entrypoint.
14416         
14417         * src/vm/jit/stacktrace.c (stacktrace_add_method): Find the codeinfo
14418         that contains the current PC. Note: This is preliminary. We should
14419         find the codeinfo * via the PV of the code containing the PC.
14420         
14421         * src/vm/jit/jit.c (jit_compile): Use m->code. Create a codeinfo
14422         for native stubs and the do-nothing stub
14423         
14424         * src/vm/jit/codegen-common.c (codegen_finish): Set entrypoint
14425         in codeinfo instead of in methodinfo.
14426
14427 2006-03-14 20:59  edwin
14428
14429         * src/vm/jit/code.c, src/vm/jit/replace.c, src/vm/jit/replace.h:
14430         Added GPL header and boilerplate.
14431
14432 2006-03-14 20:57  edwin
14433
14434         * src/vm/jit/code.h: Added GPL header and boilerplate.
14435
14436 2006-03-14 20:51  edwin
14437
14438         * src/vm/jit/code.c, src/vm/jit/code.h: Files added.
14439         
14440         * src/vm/jit/replace.c, src/vm/jit/replace.h: Files added.
14441         
14442         * src/vm/jit/Makefile.am (code.[ch], replace.[ch]): Added.
14443         
14444         * src/vm/method.h (methodinfo): Added field `code`. Each method
14445         may now have zero or more codeinfo:s associated with it. A
14446         codeinfo represents the machine code of a particular version
14447         of the compiled method. Note: Some fields in methodinfo that
14448         may need to be moved to codeinfo where marked XXX.
14449         
14450         * src/vm/jit/codegen-common.h (codegendata): Added field `code`.
14451         
14452         * src/vm/jit/codegen-common.c (codegen_setup): Allocate
14453         a new codeinfo.
14454         (codegen_finish): Use `code` field of codegendata.
14455         (codegen_createnativestub): Likewise.
14456         
14457         * src/vm/jit/stack.c (show_icmd_method, show_icmd_block):
14458         Use `code` field of codegendata.
14459         * src/vm/jit/dseg.c (dseg_display): Likewise.
14460         * src/vm/jit/jit.c (jit_compile_intern): Likewise. Switch
14461         current codeinfo after compilation is complete.
14462         
14463         * src/cacaoh/headers.c (code_free_code_of_method): Added stub.
14464         
14465         * src/vm/method.c (method_free): Free codeinfo:s of method.
14466         
14467         * src/vm/loader.c (load_method): Initialize m->code.
14468
14469 2006-03-14 16:40  twisti
14470
14471         * src/cacao/Makefile.am (ENABLE_STATICVM): Added cacao_LDFLAGS,
14472         otherwise the sumbols are not exported.
14473         
14474         * src/native/include/Makefile.am (ENABLE_STATICVM): Renamed to
14475         WITH_STATIC_CLASSPATH.
14476
14477 2006-03-14 16:30  twisti
14478
14479         * src/vm/jit/stacktrace.c (stacktrace_create): We have to check for an
14480         OOM when allocating from the heap. Fixes a crash in Jonas.
14481
14482 2006-03-14 15:00  edwin
14483
14484         * doc/design_onstack_replacement.txt: More design options added.
14485
14486 2006-03-13 21:26  edwin
14487
14488         * design_onstack_replacement.txt: Added file.
14489
14490 2006-03-13 11:35  twisti
14491
14492         * src/vm/vm.c (vm_create): Only put .jar file into classpath. Fixes
14493         startup bug with knopflerfish.
14494
14495 2006-03-13 08:02  edwin
14496
14497         * src/native/vm/VMClass.c (Java_java_lang_VMClass_getComponentType):
14498         Link class before accessing c->vftbl->arraydesc.
14499
14500 2006-03-13 07:06  edwin
14501
14502         * src/native/vm/VMClass.c (Java_java_lang_VMClass_getSuperclass): We
14503         must not
14504         assume that the class is already linked, so we have to resolve the
14505         super class
14506         reference. This fixes a NPE bug with Jonas.
14507
14508 2006-03-12 23:23  twisti
14509
14510         * src/vm/suck.c (suck_start): We really should close class files after
14511         reading it.
14512
14513 2006-03-11 21:34  edwin
14514
14515         * src/vm/resolve.c (resolve_class_from_typedesc): Safer check for
14516         reference types.
14517
14518 2006-03-11 20:41  edwin
14519
14520         * src/vm/jit/codegen-common.c (codegen_finish): When setting the
14521         entrypoint of a method, be sure not to overwrite an already set
14522         entrypoint.
14523
14524 2006-03-11 20:34  edwin
14525
14526         * src/vm/references.h (IS_XCLASSREF): Commented.
14527
14528 2006-03-11 20:32  edwin
14529
14530         * src/vm/references.h (IS_XCLASSREF): Added.
14531         (CLASSREF_OR_CLASSINFO_NAME): Added.
14532
14533 2006-03-11 20:30  edwin
14534
14535         * src/vm/class.c, src/vm/class.h (class_classref_print): Added.
14536         (class_classref_println): Added.
14537
14538 2006-03-11 16:06  edwin
14539
14540         * src/vm/jit/jit.c (jit_compile_intern): Check if the method has been
14541         compiled during static class initialization.
14542
14543 2006-03-11 15:03  edwin
14544
14545         * src/vm/method.c (vim boilerplate): Added.
14546
14547 2006-03-11 15:01  edwin
14548
14549         * src/vm/method.c (method_vftbl_lookup): Check ACC_INTERFACE on the
14550         class, instead of on the method, where it is not set. Do not check
14551         ACC_ABSTRACT here, because non-interface ACC_ABSTRACT methods are
14552         looked up just like non-abstract non-interface methods.
14553
14554 2006-03-10 22:22  twisti
14555
14556         * src/native/vm/VMRuntime.c (vm/options.h): Added.
14557         (nativeLoad): Print dlerror output when dlopen fails.
14558
14559 2006-03-09 16:13  twisti
14560
14561         * autogen.sh: Fixed typo.
14562
14563 2006-03-09 13:51  twisti
14564
14565         * src/vm/jit/powerpc/darwin/md-asm.h (asm_calljavafunction): Removed.
14566         (asm_calljavafunction_int): Likewise.
14567         (asm_calljavafunction2): Likewise.
14568         (asm_calljavafunction2int): Likewise.
14569         (asm_calljavafunction2long): Likewise.
14570         (asm_calljavafunction2float): Likewise.
14571         (asm_calljavafunction2double): Likewise.
14572         (_exceptionptr): Likewise.
14573         (asm_vm_call_method): Define added.
14574         (asm_vm_call_method_int): Likewise.
14575         (asm_vm_call_method_long): Likewise.
14576         (asm_vm_call_method_float): Likewise.
14577         (asm_vm_call_method_double): Likewise.
14578
14579 2006-03-09 13:46  twisti
14580
14581         * src/vm/jit/powerpc/patcher.c (patcher_get_putfield): Check for the
14582         instruction order on long fields.
14583
14584 2006-03-09 13:26  twisti
14585
14586         * autogen.sh: Check for installed programs and exit if no proper one
14587         was found.
14588         * src/boehm-gc/autogen.sh: Use the programs found by top-level
14589         autogen.
14590
14591 2006-03-08 09:44  twisti
14592
14593         * src/native/jni.c (PushLocalFrame): Implemented.
14594         (PopLocalFrame): Likewise.
14595         (DeleteLocalRef): Walk through all local frames.
14596         (NewLocalRef): Allocate a new local frame if the current frame is out
14597         of space.
14598         (EnsureLocalCapacity): Implemented.
14599         * src/vm/jit/codegen-common.c (codegen_finish_native_call): Release
14600         all local reference frames.
14601
14602 2006-03-07 20:44  twisti
14603
14604         * src/native/vm/VMClassLoader.c (nativeGetResources): Check if
14605         resource is a directory and don't add it.
14606
14607 2006-03-07 19:32  twisti
14608
14609         * src/vm/vm.c (usage): Small change.
14610         
14611         * src/native/vm/VMSystemProperties.c (preInit): Set java.ext.dirs to
14612         $JAVA_HOME/jre/lib/ext.
14613
14614 2006-03-07 18:18  twisti
14615
14616         * src/cacaoh/headers.c (intrp_main_stack): Changed type.
14617
14618 2006-03-07 17:21  twisti
14619
14620         test
14621
14622 2006-03-07 17:19  twisti
14623
14624         test
14625
14626 2006-03-07 10:48  twisti
14627
14628         * src/native/jni.c (_Jv_jni_CallIntMethodA): New function.
14629         (CallBooleanMethodA): Implemented.
14630
14631 2006-03-07 10:36  twisti
14632
14633         * src/vm/string.c (string_java_lang_StringIndexOutOfBoundsException):
14634         Added.
14635         * src/vm/stringlocal.h: Likewise.
14636         
14637         * src/vm/exceptions.c
14638         (exceptions_new_stringindexoutofboundsexception): New function.
14639         (exceptions_throw_stringindexoutofboundsexception): Likewise.
14640         * src/vm/exceptions.h: Likewise.
14641         
14642         * src/native/jni.c (GetStringRegion): Implemented.
14643
14644 2006-03-07 09:40  twisti
14645
14646         * src/vm/vm.c (_Jv_jvm): Changed type to _Jv_JavaVM.
14647         * src/vm/vm.h (_Jv_jvm): Added.
14648         
14649         * src/native/jni.c (ptr_jvm): Removed.
14650         (ptr_env): Likewise.
14651         (CallStaticObjectMethodA): Implemented.
14652         (GetJavaVM): Return _Jv_jvm as vm.
14653         (AttachCurrentThread): Return _Jv_env as env.
14654         (GetEnv): Likewise.
14655         (JNI_JavaVMTable): Renamed to _Jv_JNIInvokeInterface.
14656         (JNI_JNIEnvTable): Renamed to _Jv_JNINativeInterface.
14657         (JNI_CreateJavaVM): Allocate a _Jv_JavaVM structure and set it up
14658         correctly, this fixes the usage in C++ programs.
14659         * src/native/jni.h (_Jv_JavaVM): Added.
14660         
14661         * src/native/jvmti/jvmti.c: Renamed JNI_JavaVMTable to
14662         _Jv_JNIInvokeInterface and JNI_JNIEnvTable to _Jv_JNINativeInterface.
14663
14664 2006-03-06 18:45  christian
14665
14666         * src/vm/jit/stack.c (analyse_stack): Bugfix for copy elimination.
14667
14668 2006-03-06 13:03  twisti
14669
14670         * src/vm/jit/powerpc/linux/Makefile.am (LIBS): Added defined empty, as
14671         * this makes problems on darwin and actually we do not need to link
14672         * the configured libraries into convenience libraries.
14673         * src/vm/jit/powerpc/darwin/Makefile.am: Likewise.
14674         * src/vm/jit/powerpc/Makefile.am: Likewise.
14675         * src/vm/jit/alpha/linux/Makefile.am: Likewise.
14676         * src/vm/jit/alpha/Makefile.am: Likewise.
14677         * src/vm/jit/alpha/freebsd/Makefile.am: Likewise.
14678         * src/vm/jit/tools/Makefile.am: Likewise.
14679         * src/vm/jit/verify/Makefile.am: Likewise.
14680         * src/vm/jit/mips/linux/Makefile.am: Likewise.
14681         * src/vm/jit/mips/Makefile.am: Likewise.
14682         * src/vm/jit/mips/irix/Makefile.am: Likewise.
14683         * src/vm/jit/loop/Makefile.am: Likewise.
14684         * src/vm/jit/inline/Makefile.am: Likewise.
14685         * src/vm/jit/allocator/Makefile.am: Likewise.
14686         * src/vm/jit/i386/linux/Makefile.am: Likewise.
14687         * src/vm/jit/i386/Makefile.am: Likewise.
14688         * src/vm/jit/i386/freebsd/Makefile.am: Likewise.
14689         * src/vm/jit/schedule/Makefile.am: Likewise.
14690         * src/vm/jit/intrp/Makefile.am: Likewise.
14691         * src/vm/jit/x86_64/Makefile.am: Likewise.
14692         * src/vm/jit/profile/Makefile.am: Likewise.
14693         * src/vm/jit/Makefile.am: Likewise.
14694         * src/vm/Makefile.am: Likewise.
14695         * src/native/tools/Makefile.am: Likewise.
14696         * src/native/vm/Makefile.am: Likewise.
14697         * src/native/Makefile.am: Likewise.
14698         * src/toolbox/Makefile.am: Likewise.
14699         * src/mm/Makefile.am: Likewise.
14700         * src/threads/native/Makefile.am: Likewise.
14701         * src/fdlibm/Makefile.am: Likewise.
14702         
14703         * src/cacaoh/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
14704
14705 2006-03-06 00:30  twisti
14706
14707         * src/vm/jit/powerpc/asmpart.S (asm_calljavafunction): Removed.
14708         (asm_calljavafunction2): Renamed to asm_vm_call_method.
14709
14710 2006-03-05 23:53  twisti
14711
14712         * src/vm/jit/alpha/asmpart.S (asm_calljavafunction): Removed.
14713         (asm_calljavafunction2): Renamed to asm_vm_call_method.
14714
14715 2006-03-05 23:35  twisti
14716
14717         * src/vm/jit/codegen-common.c (codegen_init): Removed
14718         asm_calljavafunction.
14719         * src/vm/jit/i386/asmpart.S (asm_calljavafunction): Removed.
14720         (asm_calljavafunction2): Renamed to asm_vm_call_method.
14721
14722 2006-03-05 23:24  twisti
14723
14724         * src/vm/vm.c (vm_call_method_intern): Removed.
14725         (vm_vmargs_from_valist): Added.
14726         (vm_vmargs_from_jvalue): Likewise.
14727         (vm_call_method): New function.
14728         (vm_call_method_valist): Likewise.
14729         (vm_call_method_jvalue): Likewise.
14730         (vm_call_method_vmarg): Likewise.
14731         (vm_call_method_int): Likewise.
14732         (vm_call_method_int_valist): Likewise.
14733         (vm_call_method_int_jvalue): Likewise.
14734         (vm_call_method_int_vmarg): Likewise.
14735         (vm_call_method_long): Likewise.
14736         (vm_call_method_long_valist): Likewise.
14737         (vm_call_method_long_jvalue): Likewise.
14738         (vm_call_method_long_vmarg): Likewise.
14739         (vm_call_method_float): Likewise.
14740         (vm_call_method_float_valist): Likewise.
14741         (vm_call_method_float_jvalue): Likewise.
14742         (vm_call_method_float_vmarg): Likewise.
14743         (vm_call_method_double): Likewise.
14744         (vm_call_method_double_valist): Likewise.
14745         (vm_call_method_double_jvalue): Likewise.
14746         (vm_call_method_double_vmarg): Likewise.
14747         * src/vm/vm.h: Likewise.
14748         
14749         * src/native/jni.c (_Jv_jni_fill_vmargs_from_vargs): Removed.
14750         (_Jv_jni_vmargs_from_args): Likewise.
14751         (_Jv_jni_CallObjectMethodA): New function.
14752         (_Jv_jni_CallObjectMethod): Use vm_call_method.
14753         (_Jv_jni_CallIntMethod): Likewise.
14754         (_Jv_jni_CallLongMethod): Likewise.
14755         (_Jv_jni_CallFloatMethod): Likewise.
14756         (_Jv_jni_CallDoubleMethod): Likewise.
14757         (_Jv_jni_CallVoidMethod): Likewise.
14758         (_Jv_jni_CallVoidMethodA): Likewise.
14759         (_Jv_jni_invokeNative): Likewise.
14760         (CallObjectMethodA): Implemented.
14761         
14762         * src/vm/loader.c (load_class_from_sysloader): Replaced
14763         vm_call_method_intern by vm_call_method.
14764         (load_class_from_classloader): Likewise.
14765         * src/vm/finalizer.c (finalizer_run): Likewise.
14766         * src/vm/initialize.c (initialize_class_intern): Likewise.
14767         * src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace):
14768         Likewise.
14769         * src/vm/exceptions.c (throw_exception_exit_intern): Likewise.
14770         (new_arrayindexoutofboundsexception): Likewise.
14771         * src/vm/properties.c (properties_system_add): Likewise.
14772         * src/cacao/cacao.c (setup_debugger_process): Likewise.
14773         (getmainclassnamefromjar): Likewise.
14774         (main): Likewise.
14775         * src/native/vm/VMClassLoader.c (nativeGetResources): Likewise.
14776         * src/native/native.c (native_new_and_init): Likewise.
14777         (native_new_and_init_string): Likewise.
14778         (native_new_and_init_int): Likewise.
14779         (native_new_and_init_throwable): Likewise.
14780         * src/threads/native/threads.c (threads_init): Likewise.
14781         (threads_startup_thread): Likewise.
14782         * src/cacaoh/headers.c: Likewise.
14783         
14784         * src/vm/jit/x86_64/asmpart.S (asm_calljavafunction): Removed.
14785         (asm_calljavafunction2): Renamed to asm_vm_call_method.
14786         * src/vm/jit/intrp/asmpart.c: Likewise.
14787         * src/vm/jit/asmpart.h: Likewise.
14788
14789 2006-03-05 23:05  twisti
14790
14791         * tests/regression/native/testarguments.c (nlsub): Use %llx on all
14792         architectures.
14793         (ndsub): Likewise.
14794
14795 2006-03-05 21:54  christian
14796
14797         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
14798         Bugfix and reformatting.
14799
14800 2006-03-05 15:51  twisti
14801
14802         * src/vm/jit/i386/asmpart.S (asm_calljavafunction2): Pointer to vm_arg
14803         block is now in a2. Use new defines.
14804
14805 2006-03-04 18:35  twisti
14806
14807         * src/vm/jit/alpha/asmpart.S (asm_calljavafunction2): Pointer to
14808         vm_arg block is now in a2. Use new defines.
14809
14810 2006-03-04 18:01  twisti
14811
14812         * src/vm/jit/powerpc/asmpart.S (asm_calljavafunction2): Pointer to
14813         vm_arg block is now in a2. Use new defines.
14814
14815 2006-03-04 17:19  twisti
14816
14817         * src/vm/jit/asmpart.h (ASM_CALLJAVAFUNCTION): Removed.
14818         (ASM_CALLJAVAFUNCTION_ADR): Likewise.
14819         (ASM_CALLJAVAFUNCTION_INT): Likewise.
14820         (ASM_CALLJAVAFUNCTION2): Likewise.
14821         (ASM_CALLJAVAFUNCTION2_ADR): Likewise.
14822         (ASM_CALLJAVAFUNCTION2_INT): Likewise.
14823         (ASM_CALLJAVAFUNCTION2_LONG): Likewise.
14824         (ASM_CALLJAVAFUNCTION2_FLOAT): Likewise.
14825         (ASM_CALLJAVAFUNCTION2_DOUBLE): Likewise.
14826         (asm_calljavafunction2int): Changed signature.
14827         (asm_calljavafunction2long): Likewise.
14828         (asm_calljavafunction2float): Likewise.
14829         (asm_calljavafunction2double): Likewise.
14830
14831 2006-03-04 17:15  twisti
14832
14833         * src/vm/global.h (jni_callblock): Removed.
14834         
14835         * src/vm/vm.c (vm/vm.h): Added.
14836         (vm_call_method_intern): New function.
14837         (vm_call_method_intern_int): Likewise.
14838         (vm_call_method): Likewise.
14839         (vm_call_method_int): Likewise.
14840         (vm_call_method_long): Likewise.
14841         (vm_call_method_float): Likewise.
14842         (vm_call_method_double): Likewise.
14843         * src/vm/vm.h (vm_arg): Structure added.
14844         (vm_call_method_intern): New function.
14845         (vm_call_method_intern_int): Likewise.
14846         (vm_call_method): Likewise.
14847         (vm_call_method_int): Likewise.
14848         (vm_call_method_long): Likewise.
14849         (vm_call_method_float): Likewise.
14850         (vm_call_method_double): Likewise.
14851         
14852         * src/vm/jit/tools/genoffsets.c (vm/vm.h): Added.
14853         (sizejniblock): Renamed to sizevmarg.
14854         (offjniitemtype): Renamed to offvmargtype.
14855         (offjniitem): Renamed to offvmargdata.
14856         * src/vm/jit/x86_64/asmpart.S (asm_calljavafunction2): Pointer to
14857         vm_arg block is now in a2. Use new defines.
14858         
14859         * src/vm/jit/stacktrace.c (vm/vm.h): Added.
14860         (ASM_CALLJAVAFUNCTION): Replaced with vm_call_method_intern.
14861         * src/vm/exceptions.c: Likewise.
14862         * src/vm/properties.c: Likewise.
14863         * src/vm/loader.c: Likewise.
14864         * src/vm/finalizer.c: Likewise.
14865         * src/vm/initialize.c: Likewise.
14866         * src/cacao/cacao.c: Likewise.
14867         * src/native/vm/VMClassLoader.c: Likewise.
14868         * src/threads/native/threads.c: Likewise.
14869         
14870         * src/cacaoh/headers.c (asm_calljavafunction): Removed.
14871         (intrp_asm_calljavafunction): Likewise.
14872         (vm_call_method_intern): New function.
14873         
14874         * src/native/jni.c (fill_callblock_from_vargs): Renamed to
14875         _Jv_jni_vmargs_from_vargs.
14876         (fill_callblock_from_objectarray): Renamed to
14877         _Jv_jni_vmargs_from_objectarray.
14878         (_Jv_jni_vmargs_from_objectarray): New function.
14879         (_Jv_jni_CallVoidMethodA): Likewise.
14880         (ASM_CALLJAVAFUNCTION2): Replaced with appropriate vm_call_method
14881         function.
14882         (NewObjectA): Implemented.
14883         (CallVoidMethodA): Likewise.
14884         (CallNonvirtualVoidMethodA): Likewise.
14885         (CallStaticVoidMethodA): Likewise.
14886
14887 2006-03-03 00:00  twisti
14888
14889         * src/vm/linker.c (link_class_intern): Handle miranda methods
14890         properly.
14891         * src/vm/global.h (ACC_MIRANDA): Defined.
14892         * src/native/vm/VMClass.c (getDeclaredMethods): Don't return miranda
14893         methods.
14894
14895 2006-03-01 17:00  twisti
14896
14897         * src/vm/options.c: Renamed runverbose to opt_verbosecall.
14898         * src/vm/options.h: Likewise.
14899         * src/vm/jit/alpha/codegen.c: Likewise.
14900         * src/vm/jit/i386/codegen.c: Likewise.
14901         * src/vm/jit/intrp/codegen.c: Likewise.
14902         * src/vm/jit/mips/codegen.c: Likewise.
14903         * src/vm/jit/powerpc/codegen.c: Likewise.
14904         * src/vm/jit/x86_64/codegen.c: Likewise.
14905         * src/vm/jit/intrp/asmpart.c: Likewise.
14906         * src/vm/jit/intrp/dynamic-super.c: Likewise.
14907         * src/vm/jit/intrp/java.vmg: Likewise.
14908         
14909         * src/vm/builtin.c (builtin_trace_exception): Renamed runverbose to
14910         opt_verbosecall. Removed stacktrace printing code.
14911         * src/vm/exceptions.c (exceptions_handle_exception): Renamed
14912         runverbose to opt_verbosecall. Print exception stacktrace when caught.
14913         
14914         * src/vm/vm.c: Support Sun's commandline options and ignore them if
14915         not supported. Reordered options.
14916         
14917         * src/native/vm/VMObject.c (notify): Removed debug output.
14918         (notifyAll): Likewise.
14919         (wait): Likewise.
14920         * src/native/vm/VMThread.c (suspend): Likewise.
14921         (resume): Likewise.
14922         (nativeSetPriority): Likewise.
14923         (nativeStop): Likewise.
14924         (yield): Likewise.
14925         
14926         * src/native/vm/VMThrowable.c (fillInStackTrace): Renamed par1 to t.
14927
14928 2006-02-23 14:08  twisti
14929
14930         * src/vm/jit/intrp/dynamic-super.c (disassemble_prim): New function.
14931         (dynamic_super_init): Added disassembling of IADD, ILOAD and
14932         GETFIELD_INT.
14933
14934 2006-02-22 14:03  twisti
14935
14936         * src/vm/jit/i386/codegen.c (createnativestub): Renamed _exceptionptr
14937         to _no_threads_exceptionptr.
14938
14939 2006-02-22 13:34  twisti
14940
14941         * src/vm/jit/i386/codegen.c (mm/memory.h): Added.
14942
14943 2006-02-21 16:17  twisti
14944
14945         * configure.ac (VERSION_CONFIGURE_ARGS, VERSION_CC, VERSION_CFLAGS):
14946         Added define.
14947         * src/vm/vm.c (version): Print configure options, compiler version and
14948         CFLAGS.
14949
14950 2006-02-21 16:06  twisti
14951
14952         * src/vm/jit/intrp/java.vmg (MULTIANEWARRAY): Use malloc instead of a
14953         dynamic-sized array (-fomit-frame-pointer).
14954
14955 2006-02-21 13:43  twisti
14956
14957         * src/vm/jit/intrp/codegen.c (cacao/cacao.h): Removed.
14958         (vm/vm.h): Added.
14959         (createnativestub): Replaced ENABLE_STATICVM with
14960         WITH_STATIC_CLASSPATH and &env by _Jv_env.
14961         
14962         * src/vm/jit/intrp/patcher.c: Replaced ENABLE_STATICVM by
14963         WITH_STATIC_CLASSPATH.
14964         * src/vm/jit/intrp/java.vmg: Likewise.
14965         
14966         * src/vm/vm.c (mm/memory.h): Added.
14967         (vm_create): Allocate the main thread interpreter stack on the Java
14968         heap.
14969
14970 2006-02-21 13:40  twisti
14971
14972         * src/vm/jit/jit.c (jit_compile_intern): Replaced ENABLE_STATICVM by
14973         WITH_STATIC_CLASSPATH.
14974
14975 2006-02-21 13:39  twisti
14976
14977         * src/cacao/cacao.c (main): Added main utf variable for better
14978         debugability.
14979
14980 2006-02-21 13:37  twisti
14981
14982         * src/native/native.c: Small changes.
14983
14984 2006-02-21 13:35  twisti
14985
14986         * src/vm/loader.c (load_class_from_classloader): Added name
14987         java.lang.String variable for better debugability.
14988
14989 2006-02-21 12:41  twisti
14990
14991         * src/vm/jit/powerpc/asmpart.S: Rewritten for PIC code.
14992
14993 2006-02-21 10:47  twisti
14994
14995         * src/vm/jit/alpha/asmpart.S: Rewritten for PIC code.
14996
14997 2006-02-21 10:39  twisti
14998
14999         * src/vm/jit/x86_64/codegen.c (cacao/cacao.h): Removed.
15000         (vm/vm.h): Added.
15001         (createnativestub): Replaced ENABLE_STATICVM with
15002         WITH_STATIC_CLASSPATH and &env by _Jv_env.
15003
15004 2006-02-21 10:25  twisti
15005
15006         * src/vm/jit/i386/.cvsignore, src/vm/jit/i386/linux/.cvsignore: Added
15007         TAGS.
15008
15009 2006-02-21 09:34  twisti
15010
15011         * src/vm/jit/i386/asmpart.S: Rewritten for PIC code.
15012
15013 2006-02-21 09:31  twisti
15014
15015         * src/threads/native/threads.c (vm/vm.h): Added.
15016         (threads_startup_thread): Compiler warning fix.
15017
15018 2006-02-21 09:25  twisti
15019
15020         * src/vm/jit/stacktrace.c (stacktrace_getCurrentClassLoader): Renamed
15021         to stacktrace_getCurrentClass and it returns the first Java method's
15022         class on the stack.
15023         * src/vm/jit/stacktrace.h (stacktrace_getCurrentClassLoader):
15024         Likewise.
15025
15026 2006-02-21 09:18  twisti
15027
15028         * src/vm/jit/intrp/engine.c (cacao/cacao.h): Removed.
15029
15030 2006-02-21 09:14  twisti
15031
15032         * configure.ac (AC_CONFIG_FILES): Remvoed ifconv, not yet.
15033
15034 2006-02-21 09:11  twisti
15035
15036         * configure.ac: Default to AC_ENABLE_SHARED and AC_DISABLE_STATIC.
15037         (ifconv): Added.
15038         (jni.h): Check for jni.h in GNU Classpath.
15039         (static-classpath): Added.
15040         
15041         * src/vm/vm.c, src/vm/vm.h: New files, contain the JVM startup code.
15042         * src/vm/Makefile.am (libvm_la_SOURCES): Added vm.[ch].
15043         
15044         * src/cacao/cacao.c: Removed JVM startup code.
15045         * src/cacao/cacao.h: Removed.
15046         * src/cacao/Makefile.am: Replaced ENABLE_STATICVM by
15047         WITH_STATIC_CLASSPATH.
15048         (ENABLE_STATICVM): Build a shared library when not defined.
15049         
15050         * src/vm/options.c, src/vm/options.h (mm/memory.h, native/jni.h):
15051         Added.
15052         (native/jni.h): Added.
15053         (opt_ind): Renamed to opt_index.
15054         (opt_jar, opt_run, opt_method, opt_signature, opt_ifconv): Added.
15055         (get_opt): Renamed to options_get.
15056         (options_prepare): New method.
15057         
15058         * src/cacaoh/cacaoh.c (main): Use new option handling.
15059         
15060         * src/vm/jit/alpha/codegen.c, src/vm/jit/arm/codegen.c,
15061         src/vm/jit/i386/codegen.c, src/vm/jit/mips/codegen.c,
15062         src/vm/jit/powerpc/codegen.c (cacao/cacao.h): Removed.
15063         (vm/vm.h): Added.
15064         (createnativestub): Replaced ENABLE_STATICVM with
15065         WITH_STATIC_CLASSPATH and &env by _Jv_env.
15066         
15067         * src/vm/jit/patcher.h, src/vm/jit/alpha/patcher.c,
15068         src/vm/jit/arm/patcher.c, src/vm/jit/i386/patcher.c,
15069         src/vm/jit/mips/patcher.c, src/vm/jit/powerpc/patcher.c,
15070         src/vm/jit/x86_64/patcher.c: Replaced ENABLE_STATICVM by
15071         WITH_STATIC_CLASSPATH.
15072         
15073         * src/vm/jit/x86_64/asmpart.S: Rewritten for PIC code.
15074         
15075         * src/vm/signal.c (cacao/cacao.h): Removed.
15076         (vm/vm.h): Added.
15077         (signal_handler_sigint): Use vm_* functions.
15078         
15079         * src/native/native.c: Replaced ENABLE_STATICVM by
15080         WITH_STATIC_CLASSPATH.
15081         (cacao/cacao.h): Removed.
15082         (native_resolve_function): Smaller changes.
15083         
15084         * src/native/vm/VMRuntime.c: Replaced ENABLE_STATICVM by
15085         WITH_STATIC_CLASSPATH.
15086         (cacao/cacao.h): Removed.
15087         (vm/vm.h): Added.
15088         (execInternal): Removed.
15089         (exit): Use vm_shutdown.
15090         
15091         * src/native/native.h: Replaced ENABLE_STATICVM by
15092         WITH_STATIC_CLASSPATH.
15093         * src/native/Makefile.am: Likewise.
15094         * src/native/vm/VMSystemProperties.c: Likewise.
15095         
15096         * src/threads/native/threads.c (cacao/cacao.h): Removed.
15097         
15098         * src/native/jni.h: Removed our JNI stuff and include GNU Classpath's.
15099         * src/native/jni.c: Adapt to the new jni.h header.
15100         (Release<type>ArrayElements): Copy correct element type.
15101         (Get<type>ArrayRegion): Likewise.
15102         (Set<type>ArrayRegion): Likewise.
15103
15104 2006-02-20 23:35  twisti
15105
15106         * src/vm/global.h: Sorted java_<type>array definitions.
15107
15108 2006-02-20 23:31  twisti
15109
15110         * src/vm/linker.c (link_class_intern): Comment reformatted.
15111
15112 2006-02-20 15:19  twisti
15113
15114         * src/vm/jit/intrp/engine.c (USE_spTOS): Disable per default.
15115
15116 2006-02-20 14:08  twisti
15117
15118         * src/vm/classcache.c (classcache_new_name): Keep c89 compilers happy.
15119
15120 2006-02-19 22:27  christian
15121
15122         * src/vm/jit/jit.h: added define STKEEP
15123         
15124         * src/vm/jit/simplereg.c (reg_free_tmp_func): SAVEDTMP and TMPARG
15125         flags are not cleared anymore from Stackslots.
15126         (reg_alloc_dup): TEMPVARs are not reused as SAVEDVARs anymore. This
15127         has to be checked for conflicts.
15128         (reg_mark_copy): Added. TEMPVAR Destination Stackslots are marked here
15129         with STCOPY, if they use a duplicated register/memory location. Not
15130         reused register/memory locations of TEMPVAR source Stacklots are freed
15131         again.
15132         (allocate_scratch_registers): ICMD_DUPx and ICMD_SWAP use now the new
15133         reg_mark_copy.
15134
15135 2006-02-16 19:39  christian
15136
15137         * src/vm/jit/stack.h (COPY): Prevent setting varkind to STACKVAR for
15138         stackslots copied by DUPx and SWAP.
15139         (DUP) Likewise.
15140         * src/vm/jit/stack.c (analyse_stack): Copy elimination and needed
15141         conflict resolution was implemented as
15142         described in the CACAO paper. As "potential exception throwing
15143         instruction" for now only INVOKE*s are
15144         regarded. Conflict resolution over DUPx and SWAP should be refined to
15145         be less conservative.
15146         * src/vm/jit/jit.c (jit_init): Stackreq for JAVA_IINC is set to 0
15147         again, since no dummy stackslot is
15148         needed anymore for conflict resolution with XSTORE.
15149         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Reuse unused
15150         float and int argument registers
15151         for interfaces, too.
15152         (reg_free_temp): Regard the new stackslot flag STCOPY, before freeing
15153         a register/memory location.
15154         (reg_alloc_dup): New function to allocate, if possible, the same
15155         register/memory location for stackslot
15156         copied by DUPx and SWAP.
15157         (allocate_scratch_registers): The new function reg_alloc_dup is used
15158         now for allocation at ICMD_DUPx and
15159         ICMD_SWAP, if possible.
15160         * src/vm/jit/jit.h: Added STCOPY as stackslot flag to mark
15161         simultanously live stackslots with same
15162         register after DUPx and SWAP.
15163         * doc/stack.txt: Updated invariants to show the change with IINC (no
15164         dummy stacklot anymore).
15165
15166 2006-02-14 20:27  edwin
15167
15168         * src/native/jni.c (_Jv_jni_invokeNative): Cleanup.
15169         
15170         * src/native/jni.c (Changes): Added my name.
15171         
15172         * src/native/jni.c (vim boilerplate): Added.
15173
15174 2006-02-14 20:10  edwin
15175
15176         * src/native/jni.c (_Jv_jni_invokeNative): Look up _all_ instance
15177         methods
15178         in the vftbl.
15179
15180 2006-02-14 20:09  edwin
15181
15182         * src/vm/linker.c (link_class_intern): Do not override
15183         package-private methods
15184         from other packages.
15185         
15186         * src/vm/linker.c (vim boilerplate): Added.
15187
15188 2006-02-14 15:53  edwin
15189
15190         * src/vm/classcache.c, src/vm/classcache.h: Merge cache entries when
15191         they are resolved to the same class.
15192
15193 2006-02-14 15:34  edwin
15194
15195         * src/vm/utf8.c, src/vm/utf8.h (utf_full_hashkey): Added.
15196
15197 2006-02-14 11:01  twisti
15198
15199         * configure.ac (AC_INIT): Changed version number to 0.95+cvs.
15200         (CFLAGS): Changed optimization back to -O0.
15201
15202 2006-02-14 10:30  twisti
15203
15204         * ChangeLog: Updated for release 0.95.
15205
15206 2006-02-14 10:14  twisti
15207
15208         * configure.ac: Updated version to 0.95, set optimization level to
15209         -O2, some indent changes.
15210         * ChangeLog-2005: Removed 2006 entries.
15211
15212 2006-02-14 01:10  twisti
15213
15214         * src/vm/jit/profile/profile.c (profile_thread): Fixed compiler
15215         warning.
15216
15217 2006-02-14 01:05  twisti
15218
15219         * src/vm/jit/intrp/codegen.c (createcompilerstub): Store the
15220         methodinfo pointer in the same place as in the methodheader for
15221         compiled methods.
15222
15223 2006-02-14 00:41  twisti
15224
15225         * src/vm/jit/x86_64/codegen.c (createcompilerstub): Store the
15226         methodinfo pointer in the same place as in the methodheader for
15227         compiled methods.
15228
15229 2006-02-14 00:33  twisti
15230
15231         * contrib/svn2cl.xsl: New file.
15232         * THIRDPARTY (contrib/svn2cl.xsl): Added copyright message.
15233
15234 2006-02-14 00:05  twisti
15235
15236         * NEWS: Updated 0.95 release notes.
15237
15238 2006-02-14 00:03  twisti
15239
15240         * src/vm/loader.c (load_field): Removed f->xta.
15241         
15242         * src/vm/class.h (vm/method.h): Added.
15243         (vm/jit/inline/sets.h): Removed.
15244         
15245         * src/vm/method.h (vm/jit/inline/parseXTA.h): Removed.
15246         
15247         * src/vm/field.h (vm/jit/inline/parseXTA.h): Likewise.
15248         (fieldinfo): Removed member xta.
15249         
15250         * src/lib/Makefile.am (EXTRA_DIST): Fixed typo.
15251
15252 2006-02-14 00:01  twisti
15253
15254         * src/vm/jit/inline/sets.c, src/vm/jit/inline/parseRTstats.c,
15255         src/vm/jit/inline/parseRT.c, src/vm/jit/inline/parseRTflags.h,
15256         src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/sets.h,
15257         src/vm/jit/inline/parseRTstats.h, src/vm/jit/inline/parseRT.h,
15258         src/vm/jit/inline/parseXTA.c, src/vm/jit/inline/parseXTA.h: Removed.
15259
15260 2006-02-13 23:45  twisti
15261
15262         * src/vm/class.c (class_findmethod_approx): Removed.
15263         * src/vm/class.h (class_findmethod_approx): Likewise.
15264         (class_resolvemethod_approx): Likewise.
15265
15266 2006-02-13 23:16  edwin
15267
15268         * NEWS: Added JNI method resolution fix.
15269
15270 2006-02-13 18:55  twisti
15271
15272         * src/vm/method.c (assert.h): Added.
15273         (vm/linker.h): Likewise.
15274         (vm/jit/methodheader.h): Likewise.
15275         (method_vftbl_lookup): New method.
15276         
15277         * src/vm/method.h (vm/linker.h): Added.
15278         (method_vftbl_lookup): New method.
15279         
15280         Fixes bug #17 and #18.
15281         * src/native/jni.c: Complete rewrite of Call*Method code.
15282
15283 2006-02-13 10:53  twisti
15284
15285         * src/vm/utf8.c (utf_display): Some reformatting.
15286         (utf_display_classname): Likewise.
15287
15288 2006-02-13 00:12  twisti
15289
15290         * src/vm/jit/mips/codegen.c (createcompilerstub): Store the methodinfo
15291         pointer in the same place as in the methodheader for compiled methods.
15292
15293 2006-02-12 23:43  twisti
15294
15295         * src/vm/jit/alpha/md.c (md_assembler_get_patch_address): New method.
15296         (md_codegen_findmethod): Use assert's directly.
15297         
15298         * src/vm/jit/mips/md.c (md_assembler_get_patch_address): Likewise.
15299         (md_codegen_findmethod): Likewise.
15300         
15301         * src/vm/jit/alpha/codegen.c (createcompilerstub): Store the
15302         methodinfo pointer in the same place as in the methodheader for
15303         compiled methods and pass the pointer in REG_ITMP1.
15304         
15305         * src/vm/jit/alpha/md-asm.h (mptr): Defined.
15306         
15307         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo
15308         pointer is passed via itmp1. Use md_assembler_get_patch_address to
15309         get the patch address.
15310         (asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer
15311         via itmp1.
15312
15313 2006-02-12 23:22  twisti
15314
15315         * src/vm/jit/powerpc/codegen.c (createcompilerstub): Store the
15316         methodinfo pointer in the same place as in the methodheader for
15317         compiled methods.
15318         
15319         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo
15320         pointer is passed via itmp1.
15321         (asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer
15322         via itmp1.
15323
15324 2006-02-12 22:08  edwin
15325
15326         * src/threads/native/threads.c (threads_dump): Removed unused
15327         variable 'ee'.
15328
15329 2006-02-12 21:57  edwin
15330
15331         * src/native/vm/VMClass.c (Java_java_lang_VMClass_getDeclaredMethods):
15332         Cast to java_lang_Class in order to avoid compiler warning.
15333         
15334         * src/native/vm/VMClass.c (Changes): Added my name.
15335         
15336         * src/native/vm/VMClass.c (vim biolerplate): Added.
15337
15338 2006-02-12 21:47  edwin
15339
15340         * src/threads/native/threads.c (allocLockRecordSimple): Fixed
15341         declaration
15342         after code error.
15343
15344 2006-02-12 16:28  twisti
15345
15346         * src/vm/jit/i386/codegen.c (createcompilerstub): Store the
15347         methodinfo* in the same place as in the methodheader for compiled
15348         methods.
15349
15350 2006-02-12 16:24  edwin
15351
15352         * NEWS: Added directory check bugfix.
15353
15354 2006-02-12 16:10  edwin
15355
15356         * NEWS: Added two bugfixes.
15357
15358 2006-02-12 16:02  edwin
15359
15360         * src/vm/loader.c, src/vm/loader.h (vim boilerplate): Added.
15361
15362 2006-02-12 13:11  twisti
15363
15364         * src/vm/zip.c (zip_open): Don't add directories to the zipfile
15365         hashtable. We use the trailing `/' to identify a directory (i hope
15366         that's correct).
15367
15368 2006-02-12 12:59  christian
15369
15370         * src/vm/jit/x86_64/md-abi.c (md_param_alloc): Regard use of A0 for
15371         returning float values.
15372
15373 2006-02-12 02:18  edwin
15374
15375         * src/native/vm/VMClassLoader.c (vim boilerplate): Added.
15376
15377 2006-02-12 02:17  edwin
15378
15379         * src/vm/classcache.c (classcache_store): Made classcache_store
15380         idempotent.
15381         
15382         * src/native/vm/VMClassLoader.c
15383         (Java_java_lang_VMClassLoader_defineClass):
15384         Store defined class with classcache_store instead of just with
15385         classcache_store_defined, so it an initiating loader is recorded for
15386         the
15387         class. This should solve problems with classes that are defined
15388         outside
15389         of a loadClass context (e.g. by java.lang.reflect.Proxy).
15390
15391 2006-02-12 00:30  twisti
15392
15393         * src/native/vm/VMClass.c (getDeclaredMethods): Set the method's class
15394         in java.lang.reflect.Method.
15395         
15396         * src/native/vm/Method.c (toolbox/logging.h, vm/jit/stacktrace.h):
15397         Removed.
15398         
15399         * src/native/vm/VMSystem.c (identityHashCode): Use casts.
15400
15401 2006-02-12 00:25  twisti
15402
15403         * src/vm/exceptions.c, src/vm/exceptions.h
15404         (exceptions_throw_nosuchmethoderror): New method.
15405
15406 2006-02-11 21:25  christian
15407
15408         * src/vm/jit/stack.h (COPY) All copied stackslots set to TEMPVAR.
15409         This prevents conflicts with LOCALVAR
15410         and
15411         (DUP) Likewise.
15412         STACKVARS.
15413
15414 2006-02-07 23:18  edwin
15415
15416         * src/vm/jit/stack.h (TYPE_VERIFYERROR): Converted most of body to a
15417         function.
15418         
15419         * src/vm/exceptions.c, src/vm/exceptions.h
15420         (exceptions_throw_verifyerror_for_stack): Added.
15421         
15422         * src/vm/exceptions.c, src/vm/exceptions.h (vim boilerplate): Added.
15423
15424 2006-02-07 21:27  edwin
15425
15426         * src/vm/jit/stack.h (vim boilerplate): Fixed.
15427
15428 2006-02-07 21:15  twisti
15429
15430         * NEWS: Added some stuff.
15431
15432 2006-02-07 17:28  edwin
15433
15434         * src/vm/jit/intrp/codegen.c (createcalljavafunction):
15435         Removed t_inlining_globals.
15436
15437 2006-02-07 17:22  edwin
15438
15439         * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h
15440         (codegen_setup):
15441         Removed t_inlining_globals argument.
15442         
15443         * src/vm/jit/codegen-common.c (codegen_finish): Prepared for inlined
15444         line
15445         number tables. References with line number <-3 will not be relocated.
15446         
15447         * src/vm/jit/codegen-common.c (codegen_createnativestub):
15448         Removed t_inlining_globals and inlining_setup.
15449         
15450         * src/vm/jit/codegen-common.h (Changes): Added my name to 'Changes'.
15451         
15452         * src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h: Ripped out
15453         old
15454         inliner.
15455         
15456         * src/vm/jit/jit.c: Removed inlining headers.
15457         
15458         * src/vm/jit/jit.c (INLINE_GOTO): Added instruction name to table.
15459         
15460         * src/vm/jit/jit.c (jit_compile_intern): Removed t_inlining_globals
15461         argument.
15462         
15463         * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h,
15464         src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h (vim
15465         boilerplate):
15466         Added.
15467
15468 2006-02-07 16:52  edwin
15469
15470         * src/vm/jit/i386/codegen.c (codegen): Prepared for inlining. The
15471         icmds
15472         ICMD_INLINE_START, ICMD_INLINE_END, ICMD_INLINE_GOTO were
15473         implemented, and
15474         at the start of exception handlers the indepth is no longer assumed
15475         to be 1.
15476
15477 2006-02-07 16:47  edwin
15478
15479         * src/vm/jit/jit.h (Changes): Fixed tabs.
15480
15481 2006-02-06 21:06  twisti
15482
15483         * src/threads/native/threads.c, src/threads/native/threads.h
15484         (sleepThread): Renamed to thread_sleep.
15485
15486 2006-02-06 21:01  twisti
15487
15488         * src/cacao/cacao.c (vm/jit/profile.h): Changed to
15489         vm/jit/profile/profile.h.
15490         (main): profile_init and profile_start_thread calls added.
15491
15492 2006-02-06 18:50  twisti
15493
15494         * configure.ac (AC_CONFIG_FILES): Added src/vm/jit/profile/Makefile.
15495
15496 2006-02-06 18:49  twisti
15497
15498         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added profile.
15499         (PROFILE_LIB): Added.
15500         (PROFILE_SOURCES): Removed.
15501
15502 2006-02-06 18:48  twisti
15503
15504         * src/vm/jit/profile/profile.c (profile_init): New method.
15505         (profile_thread): Likewise.
15506         (profile_start_thread): Likewise.
15507         * src/vm/jit/profile/profile.h (profile_init): Added.
15508         (profile_start_thread): Likewise.
15509         * src/vm/jit/profile/Makefile.am: New file.
15510         * src/vm/jit/profile/.cvsignore: Likewise.
15511
15512 2006-02-06 18:34  twisti
15513
15514         * src/vm/jit/profile.h: Moved to src/vm/jit/profile/.
15515
15516 2006-02-06 18:33  twisti
15517
15518         * src/vm/jit/profile.c: Moved to src/vm/jit/profile/.
15519         * src/vm/jit/profile: Added.
15520
15521 2006-02-06 18:32  twisti
15522
15523         * src/vm/jit/profile: Ooops.
15524
15525 2006-02-06 18:31  twisti
15526
15527         * src/vm/jit/profile.c: Moved to src/vm/jit/profile/.
15528
15529 2006-02-06 18:14  twisti
15530
15531         * src/vm/jit/allocator/Makefile.am: Use tabs instead of space.
15532         (INCLUDE): Renamed to AM_CPPFLAGS.
15533
15534 2006-02-06 08:22  edwin
15535
15536         * doc/Makefile.am (EXTRA_DIST): Added inlining_stacktrace.txt and
15537         native_threads.txt.
15538
15539 2006-02-06 06:49  edwin
15540
15541         * src/threads/native/threads.c: Minor cleanup.
15542
15543 2006-02-06 06:46  edwin
15544
15545         * src/threads/native/threads.c: Uncuddled `else`s and other cleanup.
15546
15547 2006-02-06 06:16  edwin
15548
15549         * doc/inlining_stacktrace.txt: Clarified, added entry after the
15550         inlined body
15551         for the rest of the line after the call.
15552
15553 2006-02-06 05:00  edwin
15554
15555         * src/vm/jit/i386/machine-instr.h (compare_and_swap): Commented.
15556
15557 2006-02-06 04:50  edwin
15558
15559         * doc/native_threads.txt: Added.
15560
15561 2006-02-06 04:46  edwin
15562
15563         * src/threads/native/threads.c (allocLockRecordPool): Relink the free
15564         list
15565         of lock records when reusing a pool from the global_pool. This avoids
15566         cross-linking of lock record owned by different threads, and hopefully
15567         fixes our long-standing deadlock problem.
15568         
15569         * src/threads/native/threads.c (allocLockRecordSimple,
15570         recycleLockRecord)
15571         (initObjectLock): Temporarily added assertions to shake out possible
15572         further bugs in the free list handling.
15573         
15574         * src/threads/native/threads.c (monitorEnter, monitorExit): Commented.
15575         
15576         * src/threads/native/threads.c (Changes): Added my name to 'Changes'.
15577         
15578         * src/threads/native/threads.c (vim boilerplate): Added.
15579
15580 2006-02-06 01:28  edwin
15581
15582         * src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Added.
15583         (stacktrace_add_method): Documented. Now uses
15584         stacktrace_add_method_intern.
15585         (stacktrace_getCurrentClassLoader): Documented.
15586         (stacktrace_dump_trace): Removed unused variable.
15587         (Changes): Added my name to 'Changes'.
15588
15589 2006-02-06 01:08  edwin
15590
15591         * src/vm/jit/verify/typecheck.c (verify_basic_block): Teach the
15592         verifier
15593         about the new inline instructions ICMD_INLINE_START, ICMD_INLINE_END,
15594         and ICMD_INLINE_GOTO.
15595
15596 2006-02-06 01:02  edwin
15597
15598         * src/vm/jit/stack.c (analyse_stack): Set bptr->stack for each visited
15599         block.
15600         (show_icmd): Implemented printing of new inline instructions.
15601
15602 2006-02-06 00:02  edwin
15603
15604         * src/vm/jit/allocator/simplereg.c (ICMD_INLINE_GOTO): Added.
15605         (Changes): Added my name to 'Changes'.
15606         (vim boilerplate): Added.
15607
15608 2006-02-05 23:34  edwin
15609
15610         * src/vm/jit/allocator/lsra.c, src/vm/jit/allocator/lsra.h (lsra,
15611         lsra_init):
15612         Removed t_inlining_globals argument.
15613         (Changes): Added my name to 'Changes'.
15614         (vim boilerplate): Added.
15615         
15616         * src/vm/jit/jit.c (lsra): Removed t_inlining_globals argument.
15617
15618 2006-02-05 23:24  edwin
15619
15620         * src/vm/jit/jit.c (reg_setup): Removed t_inlining_globals argument.
15621         
15622         * src/vm/jit/codegen-common.c (reg_setup): Removed t_inlining_globals
15623         argument.
15624         
15625         * src/vm/jit/reg.c, src/vm/jit/reg.h (reg_setup): Removed
15626         t_inlining_globals
15627         argument.
15628         (Changes): Added my name to 'Changes'.
15629         (vim boilerplate): Added.
15630
15631 2006-02-05 23:09  edwin
15632
15633         * src/vm/jit/jit.h (Changes): Added my name to 'Changes'.
15634
15635 2006-02-05 23:07  edwin
15636
15637         * src/vm/jit/jit.h (ICMD_INLINE_GOTO): Added. Not used, yet.
15638         
15639         * src/vm/jit/jit.h (basicblock): Added 'stack' field. Not used, yet.
15640         
15641         * src/vm/jit/jit.h, src/vm/jit/jit.c (vim boilerplate): Added.
15642
15643 2006-02-05 23:02  edwin
15644
15645         * src/vm/jit/parse.c (parseRT.h, parseXTA.h, inline.h,
15646         parseRTprint.h):
15647         No longer included.
15648         (parse): Removed t_inlining_globals * from arguments.
15649         
15650         * src/vm/jit/jit.c (parse): Removed t_inlining_globals * from
15651         arguments.
15652
15653 2006-02-05 22:47  edwin
15654
15655         * src/vm/jit/parse.c, src/vm/jit/parse.h (inline_env): Removed most
15656         occurences.
15657         (bound_check1): Renamed to bound_check_exclusive.
15658
15659 2006-02-05 22:22  edwin
15660
15661         * src/vm/jit/parse.c (useinlining): Removed.
15662
15663 2006-02-05 17:36  edwin
15664
15665         * doc/inlining_stacktrace.txt: Added warning about signedness.
15666         Fixed copy&paste errors.
15667
15668 2006-02-05 15:26  edwin
15669
15670         * doc/inlining_stacktrace.txt: Added.
15671         
15672         * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Added.
15673         (dseg_addlinenumber_inline_end): Added.
15674         (dseg_addlinenumber): Commented.
15675         (vim boilerplate): Added.
15676         
15677         * src/vm/jit/dseg.h (linenumberref): Changed for inlining stacktraces.
15678         Made targetmpc a ptrint, made linenumber s4, reordered fields.
15679         (dseg_addlinenumber_inline_start): Added.
15680         (dseg_addlinenumber_inline_end): Added.
15681         (vim boilerplate): Added.
15682
15683 2006-02-05 13:52  stefan
15684
15685         * src/threads/native/threads.h: waiting is correctly typed now
15686         (previous checkin was wrong).
15687
15688 2006-02-05 13:39  stefan
15689
15690         * src/threads/native/threads.c: Let's see if this improves the dead
15691         lock situation (waiter handling changed slightly).
15692
15693 2006-02-05 12:22  twisti
15694
15695         * tests/regression/native/.cvsignore (*.h, *.so): Added.
15696
15697 2006-02-05 12:20  twisti
15698
15699         * tests/regression/native/Makefile.am,
15700         tests/regression/codepatching/Makefile.am,
15701         tests/regression/Makefile.am (JAVAFLAGS): Use VM_ZIP_STRING and
15702         GLIBJ_ZIP_STRING.
15703
15704 2006-02-05 12:03  twisti
15705
15706         * src/vm/jit/powerpc/asmpart.S, src/vm/jit/alpha/asmpart.S,
15707         src/vm/jit/mips/asmpart.S, src/vm/jit/i386/asmpart.S,
15708         src/vm/jit/x86_64/asmpart.S, src/vm/jit/arm/asmpart.S: Disable
15709         executable stacks, this is required for Gentoo and we actually don't
15710         need them.
15711
15712 2006-02-05 00:40  twisti
15713
15714         * src/vm/jit/stacktrace.c (stacktrace_create): Get the value of
15715         _no_threads_stackframeinfo, since it's a pointer, not a structure.
15716         (stacktrace_print_trace): Check for NULL value and return.
15717         * src/vm/exceptions.c (exceptions_handle_exception): Compiler warning
15718         fixed.
15719         (exceptions_print_exception): Check for NULL value, print it and
15720         return.
15721
15722 2006-02-05 00:16  twisti
15723
15724         * src/mm/memory.h (string.h): Moved after config.h.
15725         (OFFSET): Use internal datatypes.
15726         (NEW, MNEW): Use the proper GC macro when Gc is disabled.
15727
15728 2006-02-05 00:13  twisti
15729
15730         * src/mm/nogc.c (config.h): Moved in front of system headers.
15731         (heap_allocate): Call exceptions_throw_outofmemory_exit.
15732         (nogc_init): Likewise.
15733
15734 2006-02-05 00:01  twisti
15735
15736         * src/threads/none/: New.
15737         * src/threads/none/threads.h: New file. We need this one for
15738         e.g. stacktrace.c where we use thread stuff in the code.
15739
15740 2006-02-04 23:59  twisti
15741
15742         * src/vm/access.c (assert.h): Move after config.h.
15743         * src/vm/properties.c (mm/memory.h): Added.
15744         * src/vm/jit/stacktrace.c (mm/memory.h): Likewise.
15745         (threads.h): Added.
15746         (stacktrace_create): Handle stackframeinfo when threads disabled
15747         properly.
15748
15749 2006-02-04 23:56  twisti
15750
15751         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
15752         Generate an exception instead of exiting.
15753         * src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates):
15754         Likewise.
15755
15756 2006-02-04 20:15  twisti
15757
15758         * src/vm/jit/stacktrace.h (stacktrace_getCallingClassLoader): Renamed
15759         to stacktrace_getCurrentClassLoader.
15760         
15761         * src/cacaoh/headers.c (nativelyoverloaded): Fixed compiler warning.
15762
15763 2006-02-04 19:09  twisti
15764
15765         * src/native/native.c (native_resolve_function): Print failed is the
15766         symbol was not found.
15767
15768 2006-02-04 19:08  twisti
15769
15770         * src/vm/jit/stacktrace.h (STACKTRACE_CAPACITY_DEFAULT)
15771         (STACKTRACE_CAPACITY_INCREMENT): Changed default from 40 to 80, seems
15772         this is what eclipse and tomcat want.
15773         (stacktracebuffer): Changed entries from an array to a pointer.
15774
15775 2006-02-04 19:04  twisti
15776
15777         * src/vm/jit/stacktrace.c (stacktrace_add_entry): Reallocate to
15778         stb->entries.
15779         (stacktrace_create): Do two dump and heap allocs, does not affect
15780         performance.
15781         (stacktrace_getCallingClassLoader): Renamed to
15782         stacktrace_getCurrentClassLoader.
15783         
15784         * src/native/jni.c (FindClass): Renamed
15785         stacktrace_getCallingClassLoader to stacktrace_getCurrentClassLoader.
15786         
15787         * src/native/vm/VMStackWalker.c (getCallingClassLoader): Revert to old
15788         implementation.
15789
15790 2006-02-04 17:39  edwin
15791
15792         * doc/stack.txt: Typos fixed.
15793
15794 2006-02-04 17:31  edwin
15795
15796         * doc/stack.txt: Expanded tabs.
15797         * doc/Makefile.am (stack.txt): Added EXTRA_DIST entry for stack.txt.
15798
15799 2006-02-04 17:25  edwin
15800
15801         * doc/stack.txt: Added. This file describes some details about the
15802         stack representation.
15803
15804 2006-02-04 00:43  twisti
15805
15806         * src/native/Makefile.am (CLEANFILES): Always clean nativetable.inc.
15807         ($(srcdir)/native.c): Moved inside if ENABLE_STATICVM where it
15808         belongs! Dammit!
15809
15810 2006-02-04 00:33  twisti
15811
15812         * src/native/Makefile.am: Accidentally moved the library into if
15813         ENABLE_STATICVM.
15814         * src/native/include/Makefile.am: Enable accidentally removed
15815         dependencies.
15816
15817 2006-02-04 00:13  edwin
15818
15819         * src/vm/jit/verify/typecheck.c (logging): Adapted to new logging API.
15820
15821 2006-02-04 00:08  edwin
15822
15823         * src/vm/jit/stack.h (MARKREACHED): Use BBREACHED for readability.
15824         (vim boilerplate): Added.
15825
15826 2006-02-04 00:04  edwin
15827
15828         * src/vm/method.h (methodinfo): Fixed copy&paste error in comment.
15829         (vim boilerplate): Added.
15830
15831 2006-02-04 00:00  edwin
15832
15833         * src/vm/jit/stacktrace.c (vim boilerplate): Added.
15834
15835 2006-02-03 22:57  twisti
15836
15837         * configure.ac (VM_ZIP_STRING): Added.
15838         (GLIBJZ): Renamed to GLIBJ_ZIP_STRING.
15839         * src/vm/global.h (CACAO_VM_ZIP_PATH): Use GLIBJ_ZIP_STRING.
15840         * src/lib/Makefile.am (GLIBJ_ZIP): Likewise.
15841         * src/native/include/Makefile.am, src/native/Makefile.am (VM_ZIP): Use
15842         VM_ZIP_STRING.
15843         (GLIBJ_ZIP): Use GLIBJ_ZIP_STRING.
15844         * contrib/setenvinstalled.in, contrib/setenvsource.in: Likewise.
15845
15846 2006-02-03 22:53  twisti
15847
15848         * src/native/vm/VMRuntime.c (nativeLoad): #ifdef ENABLE_STATICVM
15849         warning fix.
15850
15851 2006-02-03 22:24  twisti
15852
15853         * src/vm/global.h (CACAO_VM_ZIP_PATH): Removed accidentally commited
15854         VM_ZIP_FILE.
15855         * src/native/Makefile.am (VM_ZIP): Likewise.
15856         * src/native/include/Makefile.am (VM_ZIP): Likewise.
15857
15858 2006-02-03 22:03  twisti
15859
15860         * src/vm/global.h (CACAO_VM_ZIP_PATH): Set correctly for ifndef
15861         ENABLE_ZLIB.
15862         * src/lib/Makefile.am (JAVA_VM_FILES): Renamed to VM_JAVA_FILES.
15863         (VM_CLASS_FILES): Added.
15864         (pkgdata_DATA): Set to class files for ifndef ENABLE_ZLIB.
15865         * src/native/include/Makefile.am (VM_ZIP): Set correctly for ifndef
15866         ENABLE_ZLIB.
15867         * src/native/Makefile.am (VM_ZIP): Likewise.
15868
15869 2006-02-03 21:58  twisti
15870
15871         * src/vm/suck.c (suck_add): Fixed compiler warning with #ifndef
15872         ENABLE_ZLIB.
15873
15874 2006-02-03 21:51  twisti
15875
15876         * src/native/tools/.cvsignore (TAGS): Added.
15877
15878 2006-02-03 20:54  twisti
15879
15880         * src/native/Makefile.am (VM_ZIP, GLIBJ_ZIP, CLASSPATH): Added.
15881
15882 2006-02-03 20:53  twisti
15883
15884         * src/native/tools/gennativetable.c (main): Don't free bootclasspath,
15885         do proper initalization of subsystems, don't link classes.
15886
15887 2006-02-03 19:44  twisti
15888
15889         * src/native/Makefile.am (nativetable.inc): Pass classpath on
15890         commandline, environment variable support was removed.
15891
15892 2006-02-03 19:42  twisti
15893
15894         * src/native/tools/gennativetable.c: Updated to work again.
15895
15896 2006-02-03 19:27  twisti
15897
15898         * src/cacao/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
15899         (CLASSPATH_PREFIX): Renamed to CLASSPATH_LIBDIR.
15900
15901 2006-02-03 18:45  twisti
15902
15903         * configure.ac (ENABLE_SOFTFLOAT): Added.
15904         (NDEBUG): Bugfix for AM_CONDITIONAL.
15905
15906 2006-02-03 14:14  twisti
15907
15908         * src/vm/jit/stacktrace.c (stacktrace_entry): Wrong return value,
15909         added some checks.
15910
15911 2006-02-03 13:19  twisti
15912
15913         * src/vm/jit/stacktrace.c, src/vm/jit/stacktrace.h
15914         (lineNumberTableEntry): Renamed to linenumbertable_entry.
15915         (addEntry): Renamed to stacktrace_add_entry.
15916         (stacktrace_fillInStackTrace_methodRecursive): Removed.
15917         (stacktrace_fillInStackTrace_method): Renamed to
15918         stacktrace_add_method.
15919         (cacao_stacktrace_fillInStackTrace): Renamed to stacktrace_create.
15920         (stackTraceCollector): Removed.
15921         (cacao_stacktrace_NormalTrace): Renamed to
15922         stacktrace_fillInStackTrace.
15923         (classContextCollector): Removed.
15924         (cacao_createClassContextArray): Renamed to
15925         stacktrace_getClassContext.
15926         (stacktrace_classLoaderCollector): Removed.
15927         (cacao_currentClassLoader): Renamed to
15928         stacktrace_getCallingClassLoader.
15929         (getStackCollector): Removed.
15930         (cacao_getStackForVMAccessController): Renamed to stacktrace_getStack.
15931         
15932         * src/native/jni.c (jni_init): Use new GCNEW.
15933         (FindClass): Renamed cacao_currentClassLoader to
15934         stacktrace_getCallingClassLoader.
15935         
15936         * src/native/vm/VMAccessController.c (getStack): Renamed
15937         cacao_getStackForVMAccessController to stacktrace_getStack.
15938         
15939         * src/native/vm/VMStackWalker.c (getClassContext): Renamed
15940         cacao_createClassContextArray to stacktrace_getClassContext.
15941         (getCallingClass): Likewise.
15942         (getCallingClassLoader): Call stacktrace_getCallingClassLoader.
15943         
15944         * src/native/vm/Method.c (config.h): Added.
15945         (invokeNative): Renamed cacao_createClassContextArray to
15946         stacktrace_getClassContext.
15947         
15948         * src/native/vm/Field.c (config.h): Added.
15949         (cacao_get_field_address): Renamed cacao_createClassContextArray to
15950         stacktrace_getClassContext. Check for CLASS_INITIALIZED.
15951         
15952         * src/native/vm/VMThrowable.c
15953         (native/include/gnu_classpath_Pointer.h): Added.
15954         (fillInStackTrace): Call stacktrace_fillInStackTrace.
15955         (getStackTrace): Adapted.
15956         
15957         * src/mm/memory.h (GCNEW): Use only 1 parameter, like NEW.
15958         (GCMNEW): Added.
15959
15960 2006-02-03 12:46  twisti
15961
15962         * src/threads/native/threads.h (THREADOBJECT): Don't cast to
15963         java_lang_VMThread*, we don't need that.
15964
15965 2006-02-03 12:38  twisti
15966
15967         * src/vm/method.c (method_printflags, method_print): Check for NULL.
15968         * src/vm/field.c (field_printflags, field_print) Likewise.
15969         (stdio.h): Added.
15970         * src/vm/class.c (class_printflags, class_print): Likewise.
15971
15972 2006-02-02 09:16  twisti
15973
15974         * configure.ac (AC_PROG_JAR): Added.
15975         * m4/ac_prog_jar.m4: New file.
15976         * src/lib/Makefile.am (VM_ZIP): Added.
15977         (vm.zip): Check if $(JAR) is zip or jar type.
15978
15979 2006-02-02 08:51  twisti
15980
15981         * src/vm/loader.c (loader_load_all_classes): Added missing #ifde
15982         ENABLE_ZLIB.
15983
15984 2006-02-02 08:45  twisti
15985
15986         * configure.ac (NDEBUG): Added missing WITH_BINUTILS_DISASSEMBLER
15987         conditional.
15988         (zlib): Fixed handling.
15989
15990 2006-01-31 23:54  twisti
15991
15992         * src/vm/jit/i386/codegen.c (codegen): Added basic block frequency
15993         count code.
15994
15995 2006-01-31 23:45  twisti
15996
15997         * src/vm/jit/profile.c ("mm/memory.h,vm/options.h): Added.
15998         (list_method_entry): Likewise.
15999         (profile_printstats): Sort methods into a list and print it sorted,
16000         added basic block frequency output.
16001
16002 2006-01-31 23:43  twisti
16003
16004         * src/vm/method.h (methodinfo): Renamed executioncount to
16005         frequency. Added bbfrequency and cycles.
16006         
16007         * src/vm/jit/x86_64/codegen.c (codegen): Added cycle profiling code.
16008         
16009         * src/vm/jit/x86_64/codegen.h (M_FMOV): Added.
16010         (M_IADD_MEMBASE, M_IADC_MEMBASE, M_ISUB_MEMBASE, M_ISBB_MEMBASE):
16011         Likewise.
16012         (M_RDTSC, PROFILE_CYCLE_START, PROFILE_CYCLE_STOP): Likewise.
16013         
16014         * src/vm/jit/x86_64/emitfuncs.c (x86_64_inc_membase)
16015         (x86_64_incl_membase): Fixed.
16016         (emit_rdtsc): Added.
16017         
16018         * src/vm/jit/jit.c (jit_compile): Free m->bbfrequency memory.
16019         (jit_compile_intern): Allocate m->bbfrequency memory.
16020         
16021         * src/vm/jit/jit.h: Reformatting.
16022
16023 2006-01-31 23:29  twisti
16024
16025         * src/vm/statistics.c, src/vm/jit/inline/inline.c: Removed inlining
16026         statistics stuff.
16027
16028 2006-01-31 23:27  twisti
16029
16030         * src/vm/options.c, src/vm/options.h (opt_rt, opt_xta, opt_vta):
16031         Removed.
16032         (opt_prof_bb): Added.
16033         * src/cacao/cacao.c: Likewise.
16034         (OPT_PROF_OPTION): Added.
16035
16036 2006-01-31 22:31  twisti
16037
16038         * src/vm/jit/stack.c (show_icmd_block): Print the basic block type.
16039
16040 2006-01-31 22:27  twisti
16041
16042         * src/toolbox/list.c, src/toolbox/list.h (list_add_before): Added.
16043
16044 2006-01-31 15:41  twisti
16045
16046         * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
16047         src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c (codegen): Use
16048         CLASS_IS_OR_ALMOST_INITIALIZED macro, saves some code space.
16049
16050 2006-01-31 15:35  twisti
16051
16052         Fixes Debian bug #350729
16053         * src/vm/jit/i386/asmpart.S (asm_md_init): Added, puts the FPU to
16054         64-bit precision mode.
16055         * src/vm/jit/i386/md.c (md_init): Call asm_md_init.
16056         
16057         * src/vm/jit/asmpart.h (asm_md_init): Added.
16058         (has_no_x_instr_set): Removed.
16059         * src/vm/options.c, src/vm/options.h (has_ext_instr_set): Removed.
16060         * src/vm/jit/jit.c (jit_init): Removed has_no_x_instr_set call.
16061         * src/vm/jit/alpha/asmpart.S (has_no_x_instr_set): Renamed to
16062         asm_md_init.
16063         * src/vm/jit/alpha/md.c (has_ext_instr_set): Added.
16064         (md_init): Call asm_md_init.
16065         * src/vm/jit/alpha/md.h (has_ext_instr_set): Added.
16066
16067 2006-01-31 15:18  edwin
16068
16069         * src/vm/classcache.c: Added a formal description of the classcache.
16070
16071 2006-01-31 14:24  twisti
16072
16073         * src/vm/signal.c (signal_handler_sigint): Typo, reported by Chris
16074         Burdess on irc.
16075
16076 2006-01-30 16:25  twisti
16077
16078         * src/vm/jit/i386/codegen.c (codegen): Added profiling code.
16079         (ICMD_IINC): Use macros.
16080         * src/vm/jit/i386/codegen.h (ucontext.h): Removed.
16081         (thread_restartcriticalsection): Likewise.
16082         (M_IADD_IMM_MEMBASE): Added.
16083
16084 2006-01-30 15:44  twisti
16085
16086         * src/vm/options.h, src/vm/options.c (opt_prof): Added.
16087         * src/cacao/cacao.c (OPT_PROF): Added.
16088         (exit_handler): Added profile_printstats when opt_prof is enabled.
16089         
16090         * src/vm/class.h (classinfo): Members classUsed and impldBy removed.
16091         * src/vm/loader.c (load_class_from_classbuffer): Likewise.
16092         * src/vm/linker.c (link_primitivetype_table): Likewise.
16093         (link_class_intern): Likewise.
16094         * src/vm/jit/inline/inline.c: Likewise.
16095         
16096         * src/vm/method.h (methodinfo): Added member executioncount.
16097         
16098         * src/vm/jit/x86_64/codegen.c (codegen): Added profiling code. Some
16099         code reordering, using more macros and save some code space.
16100         * src/vm/jit/x86_64/codegen.h (M_ILD32, M_LLD32, M_IST_IMM, M_IST32)
16101         (M_LST32, M_IST32_IMM, M_LST32_IMM32, M_IINC_MEMBASE, M_ITEST)
16102         (M_CMP_IMM_MEMBASE, M_ICMP, M_ICMP_IMM, M_ICMP_IMM_MEMBASE, M_CMOVEQ)
16103         (M_CMOVNE, M_CMOVLT, M_CMOVLE, M_CMOVGE, M_CMOVGT, M_CMOVB, M_CMOVA)
16104         (M_CMOVP, M_CLR): Added.
16105         
16106         * src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ifcc): Use macros.
16107         (x86_64_call_mem): Changed mem argument to ptrint type.
16108         * src/vm/jit/x86_64/emitfuncs.h (x86_64_call_mem): Likewise.
16109         
16110         * src/vm/jit/profile.c, src/vm/jit/profile.h: New files.
16111         * src/vm/jit/Makefile.am (DISASS_OBJ): Renamed to DISASS_SOURCES.
16112         (PROFILE_SOURCES): Added.
16113
16114 2006-01-30 14:24  christian
16115
16116         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Used
16117         m->parseddesc->arg[int|flt|adr]reguse to enable use of unused
16118         argumentregisters in leadmethods.
16119         (local_regalloc): Likewise.
16120         (reg_init_temp): Likewise.
16121
16122 2006-01-30 11:26  christian
16123
16124         * src/vm/jit/allocator/simplereg.c: Ensured proper alignment of all
16125         doubles and longs if ALIGN_[DOUBLES|LONGS]_IN_MEMORY is defined.
16126         (local_regalloc): Fixed error for HAS_ADREDD_REGISTER_FILE - else was
16127         missing. Ensured use of unused argument register in leafmethod before
16128         use of saved registers. Regarded PACK_REGS for
16129         SUPPORT_COMBINE_INTEGER_REGISTER archs for unused integer argument
16130         registers.
16131         * src/vm/jit/i386/arch.h: Added defines for
16132         ALIGN_[DOUBLES|LONGS]_IN_MEMORY.
16133         * src/vm/jit/powerpc/arch.h: Likewise.
16134
16135 2006-01-29 17:27  twisti
16136
16137         * src/vm/jit/stack.c (show_icmd): Fixed ICMD_ELSE_ICONST output.
16138
16139 2006-01-28 14:42  twisti
16140
16141         * src/vm/jit/powerpc/linux/md-abi.c,
16142         src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Use
16143         m->parseddesc->paramcount instead of m->paramcount.
16144         * src/vm/jit/schedule/schedule.c (schedule_init): Likewise.
16145         
16146         * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
16147         src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c (codegen):
16148         Removed first MCODECHECK since it not required.
16149         
16150         * src/vm/jit/methodheader.h: Added comment.
16151
16152 2006-01-28 14:25  twisti
16153
16154         * src/vm/jit/x86_64/.cvsignore: Added TAGS.
16155
16156 2006-01-28 14:21  twisti
16157
16158         * src/vm/loader.c (load_method): Removed reference to
16159         nativelyoverloaded, monoPoly, subRedefs, subRedefsUsed, xta.
16160         (load_newly_created_array): Removed reference to monoPoly.
16161
16162 2006-01-28 14:18  twisti
16163
16164         * src/vm/method.c (method_descriptor2types): Removed.
16165         * src/vm/method.h (methodinfo): Removed members returntype,
16166         returnclass, paramcount, paramtypes, paramclass, xta, methodXTAparsed,
16167         methodUsed, monoPoly, subRedefs, subRedefsUsed, and
16168         nativelyoverloaded, this saves about 3.2MB of classinfo memory for
16169         -all.
16170         (method_descriptor2types): Removed.
16171         
16172         * src/vm/jit/inline/inline.c (inlining_analyse_method): Use
16173         m->parseddesc->paramcount instead of m->paramcount.
16174         * src/vm/jit/allocator/simplereg.c (local_regalloc): Likewise.
16175         * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Likewise.
16176         
16177         * src/vm/jit/jit.c (jit_compile): Removed RT_jit_parse and
16178         XTA_jit_parse calls.
16179         (jit_compile_intern): Removed method_descriptor2types call.
16180         
16181         * src/cacaoh/cacaoh.c (main): Call string_init. Removed
16182         nativemethod_chain and nativeclass_chain stuff.
16183         
16184         * src/cacaoh/headers.c (nativemethod_chain): Removed.
16185         (nativeclass_chain): Likewise.
16186         (printmethod): Use m->isleafmethod instead of m->nativelyoverloaded.
16187         (headerfile_generate): Likewise.
16188
16189 2006-01-28 11:26  twisti
16190
16191         * src/vm/jit/inline/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
16192         (libinline_la_SOURCES): Don't build RTA/XTA stuff.
16193
16194 2006-01-28 11:24  twisti
16195
16196         * Makefile.am (EXTRA_DIST): Added THIRDPARTY.
16197
16198 2006-01-27 19:05  stefan
16199
16200         * src/threads/native/threads.c: Removed a superfluous (I hope) NULL
16201         check.
16202
16203 2006-01-27 18:53  stefan
16204
16205         * src/threads/native/threads.c: Repaired thread_getself.
16206
16207 2006-01-27 17:35  twisti
16208
16209         * src/toolbox/logging.c, src/toolbox/logging.h (log_start): Added.
16210         (log_vprint): Likewise.
16211         (log_print): Likewise.
16212         (log_println): Likewise.
16213         (log_finish): Likewise.
16214         (log_plain): Removed.
16215         (log_nl): Removed.
16216         (log_flush): Likewise.
16217         (dolog_plain): Likewise.
16218         (get_logfile): Likewise.
16219         (log_utf): Likewise.
16220         (log_plain_utf): Likewise.
16221         (log_text): Removed but added a define until we have ported all files.
16222         (dolog): Likewise.
16223         * src/vm/statistics.c (print_stats): Started to use new logging
16224         functions. Print some ratios.
16225
16226 2006-01-27 16:32  twisti
16227
16228         * src/native/vm/VMSystemProperties.c (preInit): Don't add . to
16229         java.library.path per default.
16230
16231 2006-01-27 12:43  twisti
16232
16233         * NEWS: Added powerpc fixes found by javver.
16234
16235 2006-01-24 19:09  twisti
16236
16237         * src/vm/jit/powerpc/codegen.h (var_to_reg_dbl): Added.
16238         (M_COPY): Handle doubles properly.
16239
16240 2006-01-24 13:52  twisti
16241
16242         * src/vm/jit/powerpc/codegen.h (M_LNGMOVE): Added.
16243         (var_to_reg_lng): Likewise.
16244         (M_COPY): Support longs. This was actually never implemented and never
16245         worked, grrr.
16246
16247 2006-01-24 10:30  twisti
16248
16249         * src/vm/jit/stacktrace.c (cacao_stacktrace_fillInStackTrace): Use
16250         method_print. Fixed typo.
16251         * src/vm/jit/powerpc/md.c (md_codegen_findmethod): Handle 2
16252         instruction returns properly.
16253
16254 2006-01-24 10:28  twisti
16255
16256         * src/vm/builtin.c (builtin_f2i): Enable for interpreter.
16257         (builtin_d2i): Likewise.
16258         * src/vm/jit/stack.c (icmd_print_stack): Fixed for ENABLE_INTRP and
16259         SUPPORT_COMBINE_INTEGER_REGISTERS.
16260
16261 2006-01-23 16:03  twisti
16262
16263         * src/vm/jit/stack.c (show_icmd_method): Fixed basic block count
16264         output.
16265         
16266         * src/vm/jit/i386/codegen.c (codegen): Use disp instead of a. Usage of
16267         some more macros.
16268         * src/vm/jit/i386/codegen.h (M_BLT): Added.
16269         (M_BLE): Likewise.
16270         (M_BGE): Likewise.
16271         (M_BGT): Likewise.
16272         (M_BBE): Likewise.
16273         (M_BAE): Likewise.
16274
16275 2006-01-23 01:12  twisti
16276
16277         * configure.ac (AC_INIT): Changed version number to 0.94+cvs.
16278         (CFLAGS): Changed optimization back to -O0.
16279
16280 2006-01-23 01:01  twisti
16281
16282         * ChangeLog: Updated for 0.94 release.
16283
16284 2006-01-22 23:42  twisti
16285
16286         * configure.ac (AC_INIT): Changed version number to 0.94.
16287         (CFLAGS): Changed optimization to -O2.
16288
16289 2006-01-22 23:33  twisti
16290
16291         * Updated header: Added 2006. Changed address of FSF. Changed email
16292         address.
16293
16294 2006-01-22 23:16  twisti
16295
16296         * Updated svn:ignore propset.
16297
16298 2006-01-22 23:00  twisti
16299
16300         * src/vm/jit/intrp/Makefile.am (EXTRA_DIST): Added gray.fs and
16301         BUILT_SOURCES.
16302
16303 2006-01-22 22:46  twisti
16304
16305         * tests/regression/extest.java: Typo.
16306
16307 2006-01-22 22:36  twisti
16308
16309         * NEWS: Added releases 0.90, 0.91, 0.92, 0.93, 0.94.
16310
16311 2006-01-22 22:34  twisti
16312
16313         * README: Updated.
16314
16315 2006-01-22 21:42  twisti
16316
16317         * src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Revert edwin's
16318         bugfix, but we can't use ffi_type_slong as it's defined as 64-bit
16319         value on 32-bit machines.
16320
16321 2006-01-22 21:40  twisti
16322
16323         * src/native/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
16324         (libnative_la_SOURCES): Removed nativecalls.inc.
16325
16326 2006-01-22 21:39  twisti
16327
16328         * tests/Makefile.am (SUBDIRS): Removed native.
16329
16330 2006-01-22 21:38  twisti
16331
16332         * tests/regression/native/testarguments.output: Updated.
16333         * tests/regression/native/Makefile.am: Made it work with distcheck.
16334         * tests/regression/codepatching/Makefile.am: Likewise.
16335         * tests/regression/Makefile.am: Likewise.
16336         
16337         * tests/regression/extest.java: Comment changed.
16338
16339 2006-01-22 21:22  twisti
16340
16341         * configure.in: Renamed to configure.ac.
16342
16343 2006-01-22 21:21  twisti
16344
16345         * configure.in (AC_CONFIG_FILES): Removed tests/native/Makefile, added
16346         tests/regression/native/Makefile.
16347
16348 2006-01-22 20:21  twisti
16349
16350         * tests/native: Moved to tests/regression/native.
16351
16352 2006-01-22 20:00  twisti
16353
16354         * src/vm/jit/asmpart.h (asm_handle_exception)
16355         (asm_handle_nat_exception): #ifdef ENABLE_JIT.
16356
16357 2006-01-22 19:59  twisti
16358
16359         * src/vm/jit/jit.c (jit_compile_intern): Use
16360         CLASS_IS_OR_ALMOST_INITIALIZED to check uninitialized.
16361
16362 2006-01-22 19:57  twisti
16363
16364         * src/vm/jit/stacktrace.c (stacktrace_create_inline_stackframeinfo):
16365         Compiler warning fix.
16366
16367 2006-01-22 19:56  twisti
16368
16369         * src/vm/jit/intrp/java.vmg: Some reformatting.
16370
16371 2006-01-22 19:55  twisti
16372
16373         * src/vm/jit/intrp/asmpart.c (vm/loader.h): Added.
16374         (intrp_asm_calljavafunction_intern): Use u1* instead of entrypoint.
16375         (jni_invoke_java_intern): Likewise.
16376
16377 2006-01-22 19:50  twisti
16378
16379         * .cvsignore, src/toolbox/.cvsignore, src/vm/jit/inline/.cvsignore,
16380         src/vm/jit/allocator/.cvsignore: TAGS added.
16381
16382 2006-01-22 19:37  twisti
16383
16384         * src/boehm-gc/.cvsignore, src/boehm-gc/include/.cvsignore,
16385         src/vm/.cvsignore, src/vm/jit/tools/.cvsignore,
16386         src/vm/jit/verify/.cvsignore, src/vm/jit/loop/.cvsignore,
16387         src/vm/jit/.cvsignore, src/vm/jit/intrp/.cvsignore,
16388         src/cacao/.cvsignore, src/native/vm/.cvsignore,
16389         src/native/include/.cvsignore, src/native/.cvsignore,
16390         src/mm/.cvsignore, src/threads/native/.cvsignore,
16391         src/threads/.cvsignore, src/fdlibm/.cvsignore, src/.cvsignore,
16392         src/cacaoh/.cvsignore: TAGS added.
16393
16394 2006-01-22 19:29  edwin
16395
16396         * src/vm/jit/intrp/codegen.c (nativecall): Fixed calculation of the
16397         stackframeinfo address.
16398
16399 2006-01-22 14:44  twisti
16400
16401         * src/vm/jit/codegen-common.c (codegen_addreference): The last fix was
16402         not correct if only the intrp is built.
16403
16404 2006-01-22 14:39  twisti
16405
16406         * src/vm/class.c (class_showmethods): Use class_printflags.
16407         * src/vm/loader.c, src/vm/loader.h (fprintflags): Removed.
16408         (printflags): Likewise.
16409         * src/vm/jit/inline/sets.c (printFldSet): Use field_println instead of
16410         field_display.
16411         * src/vm/field.c, src/vm/field.h (field_display): Removed.
16412         (field_printflags): Added.
16413         (field_print): Likewise.
16414         (field_println): Likewise.
16415
16416 2006-01-22 00:45  edwin
16417
16418         * src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Use ffi_type_sint
16419         for
16420         values of TYPE_INT. This fixes the interpreter on i386, though I'm not
16421         sure if it is a correct and complete solution.
16422
16423 2006-01-21 21:46  edwin
16424
16425         * src/vm/jit/codegen-common.c (codegen_addreference): Fixed bug when
16426         both ENABLE_INTRP and ENABLE_JIT were defined.
16427
16428 2006-01-21 20:22  edwin
16429
16430         * src/vm/jit/verify/typecheck.c (typestack_copy,
16431         typestack_separable_with)
16432         (typestack_separable_from, verify_basic_block): Comment-only changes.
16433         (verify_basic_block): Small typo fix in string.
16434
16435 2006-01-20 14:49  twisti
16436
16437         * src/native/jni.c (fill_callblock_from_objectarray): Fixed typo.
16438         (jni_method_invokeNativeHelper): Major code rewrite and speed
16439         improvement, renamed to _Jv_jni_invokeNative.
16440         (cacao_jni_CallVoidMethod): Fixed interpreter bug, renamed to
16441         _Jv_jni_CallVoidMethod.
16442         (callLongMethod): Renamed to _Jv_jni_CallLongMethod.
16443         * src/native/jni.h (jni_method_invokeNativeHelper): Renamed to
16444         _Jv_jni_invokeNative.
16445         * src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative):
16446         Renamed jni_method_invokeNativeHelper to _Jv_jni_invokeNative.
16447         * src/native/vm/Constructor.c: Updated includes.
16448         (Java_java_lang_reflect_Constructor_constructNative): Renamed
16449         jni_method_invokeNativeHelper to _Jv_jni_invokeNative.
16450
16451 2006-01-20 13:41  twisti
16452
16453         * tests/regression/Makefile.am (EXTRA_DIST): Made it more readable.
16454
16455 2006-01-20 13:40  twisti
16456
16457         * src/vm/jit/intrp/intrp.h (ffi.h): Removed, not required in this
16458         file.
16459         * src/vm/jit/intrp/codegen.c (nativecall): Removed unused big-endian
16460         code.
16461         * src/vm/jit/intrp/asmpart.c (asm_calljavafunction_intern): Renamed to
16462         intrp_asm_calljavafunction_intern, just to be sure.
16463
16464 2006-01-20 13:33  twisti
16465
16466         * src/vm/jit/mips/irix/md-os.c (md_signal_handler_sigsegv): Missed the
16467         actal rename from the previous commit.
16468
16469 2006-01-20 13:28  twisti
16470
16471         * src/vm/signal.c (vm/signallocal.h): Added.
16472         * src/vm/signallocal.h (md_signal_handler_sigfpe): #ifdef for i386 and
16473         x86_64.
16474
16475 2006-01-20 13:25  twisti
16476
16477         * src/vm/jit/powerpc/linux/md-os.c, src/vm/jit/powerpc/darwin/md-os.c,
16478         src/vm/jit/alpha/linux/md-os.c, src/vm/jit/alpha/freebsd/md-os.c,
16479         src/vm/jit/mips/linux/md-os.c, src/vm/jit/mips/irix/md-os.c
16480         (signal_handler_sigsegv): Renamed to md_signal_handler_sigsegv.
16481         * src/vm/jit/i386/linux/md-os.c, src/vm/jit/i386/freebsd/md-os.c,
16482         src/vm/jit/x86_64/md.c (signal_handler_sigsegv): Renamed to
16483         md_signal_handler_sigsegv.
16484         (signal_handler_sigfpe): Renamed to md_signal_handler_sigfpe.
16485         * src/vm/signal.c (signal_init): Renamed signal_handler_sigsegv to
16486         md_signal_handler_sigsegv and signal_handler_sigfpe to
16487         md_signal_handler_sigfpe respectively.
16488         * src/vm/signallocal.h (md_signal_handler_sigsegv): Added.
16489         (md_signal_handler_sigfpe): Likewise.
16490
16491 2006-01-20 13:19  twisti
16492
16493         * src/vm/jit/alpha/codegen.h (ucontext.h): Removed.
16494         (thread_restartcriticalsection): Removed.
16495
16496 2006-01-20 13:06  twisti
16497
16498         * src/vm/jit/x86_64/disass.c (dis-asm.h): Added.
16499         (vm/global.h): Likewise.
16500         (mm/memory.h): Removed.
16501
16502 2006-01-20 13:05  twisti
16503
16504         * src/vm/class.c, src/vm/class.h (class_printflags): Added.
16505         (class_print): Likewise.
16506         (class_println): Likewise.
16507
16508 2006-01-20 12:58  twisti
16509
16510         * src/vm/jit/i386/disass.c (disassinstr): Set the read_memory_func in
16511         disassemble_info to disass_buffer_read_memory.
16512         (disassemble): Removed.
16513
16514 2006-01-20 12:57  twisti
16515
16516         * src/vm/jit/stack.c (show_icmd_method): Print basic blocks count and
16517         better basic block header output.
16518         ICMD_MULTIANEWARRAY: Changed iptr->target and iptr->val.a value.
16519         ICMD_IFLE_ICONST, ICMD_ELSE_ICONST: Print values better.
16520
16521 2006-01-20 12:01  twisti
16522
16523         * src/vm/jit/powerpc/disass.c (disassinstr): Set the read_memory_func
16524         in disassemble_info to disass_buffer_read_memory.
16525         (disassemble): Removed.
16526
16527 2006-01-20 11:38  twisti
16528
16529         * src/vm/jit/disass-common.c, src/vm/jit/disass.h: Added
16530         disassemble_info and disass_initialized.
16531         (disassemble): Added.
16532         (buffer_read_memory): Renamed to disass_buffer_read_memory.
16533         * src/vm/jit/x86_64/disass.c (disassinstr): Set the read_memory_func
16534         in disassemble_info to disass_buffer_read_memory.
16535         (disassemble): Removed.
16536
16537 2006-01-20 10:15  twisti
16538
16539         * regression/extest.java: Removed asmpart exceptions as they are now
16540         checked with codepatching.
16541         * regression/extest.2output: Regenerated.
16542         * regression/extest_clinit.java: Added.
16543
16544 2006-01-20 10:08  twisti
16545
16546         * src/vm/jit/alpha/md.c (md_init): Moved #include and extern's to the
16547         top of the file, since this broke compilation on debian unstable.
16548
16549 2006-01-19 23:40  edwin
16550
16551         * src/vm/jit/parse.h: Added vim boilerplate.
16552
16553 2006-01-19 23:35  edwin
16554
16555         * src/vm/jit/stack.c: Added vim boilerplate.
16556
16557 2006-01-19 22:21  twisti
16558
16559         * configure.in (AC_CONFIG_FILES): Removed tests/codepatching/Makefile
16560         and added tests/regression/codepatching/Makefile.
16561         * tests/Makefile.am (SUBDIRS): Removed codepatching.
16562         * tests/regression/Makefile.am (SUBDIRS) Added with codepatching.
16563         * tests/regression/codepatching/Makefile.am (JAVAFLAGS): Added.
16564
16565 2006-01-19 22:11  edwin
16566
16567         * src/vm/jit/parse.c (parse): Removed inlining code.
16568
16569 2006-01-19 22:06  edwin
16570
16571         * src/vm/options.c, src/vm/options.h (useinliningm): Removed.
16572
16573 2006-01-19 22:05  twisti
16574
16575         * tests/codepatching: Moved to tests/regression/codepatching.
16576
16577 2006-01-19 21:31  edwin
16578
16579         * src/vm/jit/jit.c (jit_compile): Removed the INAFTERMAIN hack.
16580
16581 2006-01-19 21:27  edwin
16582
16583         * src/vm/jit/inline/inline.c (inlining_setup): Removed INAFTERMAIN
16584         hack.
16585
16586 2006-01-19 21:26  edwin
16587
16588         * src/cacao/cacao.c (main): Disabled useinlining and useinliningm.
16589
16590 2006-01-19 20:56  twisti
16591
16592         * src/vm/jit/intrp/codegen.c, src/vm/jit/intrp/java.vmg (FALOAD)
16593         (FASTORE): Added, required for big-endian machines.
16594         * src/vm/jit/intrp/engine.c (access_array_float): Likewise.
16595
16596 2006-01-19 20:53  twisti
16597
16598         * src/vm/global.h (java_floatarray): Typo.
16599
16600 2006-01-19 20:28  edwin
16601
16602         * src/vm/jit/parse.c (parse, fillextable): Removed debugging code.
16603         Minor cleanup.
16604
16605 2006-01-19 20:13  edwin
16606
16607         * src/vm/jit/parse.c (parse): Removed commented out debugging code.
16608
16609 2006-01-19 20:03  twisti
16610
16611         * src/vm/class.c (class_showmethods): Replaced method_display with
16612         method_println.
16613
16614 2006-01-19 20:00  twisti
16615
16616         * src/vm/jit/inline/inline.c, src/vm/jit/inline/sets.c,
16617         src/vm/jit/inline/parseRTstats.c, src/vm/jit/inline/parseRT.c,
16618         src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/parseXTA.c:
16619         Replaced method_display and method_display_w_class calls with
16620         method_println.
16621
16622 2006-01-19 19:49  twisti
16623
16624         * src/vm/method.c, src/vm/method.h (method_display): Removed.
16625         (method_display_w_class): Likewise.
16626         (method_printflags): Added.
16627         (method_print): Likewise.
16628         (method_println): Likewise.
16629         Removed. --This line, and those below, will be ignored--
16630         
16631         M method.c
16632         M method.h
16633
16634 2006-01-19 17:02  twisti
16635
16636         * src/vm/jit/powerpc/linux/Makefile.am (INCLUDES): Renamed to
16637         AM_CPPFLAGS.
16638         * src/vm/jit/powerpc/Makefile.am (AM_CPPFLAGS): Added missing
16639         $(OS_DIR) include.
16640
16641 2006-01-19 16:02  twisti
16642
16643         * INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc,
16644         as this is more common these days.
16645
16646 2006-01-19 11:58  edwin
16647
16648         * alpha, mips, nat: removed obsolete directories resurrected by svn
16649         migration
16650
16651 2006-01-19 09:47  twisti
16652
16653         * INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc,
16654         as this is more common these days.
16655
16656 2006-01-18 21:41  edwin
16657
16658         * havoc.class: fix corruption by svn eol-style conversion
16659
16660 2006-01-18 15:43  twisti
16661
16662         * AC_CHECK_HEADER: Added ansidecl.h, symcat.h, bfd.h and zconf.h.
16663
16664 2006-01-18 15:41  twisti
16665
16666         * main: Call nogc_init for DISABLE_GC.
16667
16668 2006-01-17 18:51  twisti
16669
16670         * Removed extern stuff that was removed from the lib.
16671
16672 2006-01-17 18:37  twisti
16673
16674         * Updated to new classpath configure options.
16675
16676 2006-01-17 18:24  twisti
16677
16678         * CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX.
16679
16680 2006-01-17 17:06  twisti
16681
16682         * CACAO_INSTALL_PREFIX: Renamed to CACAO_PREFIX.
16683         * NDEBUG: Check for libintl on cygwin and darwin.
16684         * --with-classpath-install-dir: Renamed to --with-classpath-prefix.
16685         * --with-classpath-libdir: Added to support 64-bit platforms where the
16686         libdir may be /usr/lib64.
16687
16688 2006-01-17 16:59  twisti
16689
16690         * main: Removed CACAO_INSTALL_PREFIX and CLASSPATH_INSTALL_DIR since
16691         CACAO_VM_ZIP_PATH and CLASSPATH_GLIBJ_ZIP_PATH are now full paths.
16692
16693 2006-01-17 16:58  twisti
16694
16695         * Java_gnu_classpath_VMSystemProperties_preInit: Renamed
16696         CACAO_INSTALL_PREFIX to CACAO_PREFIX.
16697
16698 2006-01-17 16:57  twisti
16699
16700         * CACAO_VM_ZIP_PATH: Prepend CACAO_PREFIX.
16701         * CLASSPATH_GLIBJ_ZIP_PATH: Prepend CLASSPATH_PREFIX.
16702         * CLASSPATH_LIBRARY_PATH: Prepend CLASSPATH_LIBDIR.
16703
16704 2006-01-17 16:55  twisti
16705
16706         * CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX.
16707
16708 2006-01-17 16:53  twisti
16709
16710         * Added.
16711
16712 2006-01-17 16:51  twisti
16713
16714         * m4/as-ac-expand.m4: Added.
16715
16716 2006-01-16 00:07  twisti
16717
16718         * jni_init: Fixed small typo.
16719
16720 2006-01-16 00:04  twisti
16721
16722         * Java_gnu_classpath_VMSystemProperties_preInit: Use the same os.arch
16723         property values as SUN and others do, so we are compatible (e.g.
16724         jogl had
16725         some problems), file.encoding removed as it's set by GNU Classpath,
16726         hardcode values for gnu.cpu.endian.
16727
16728 2006-01-15 23:32  twisti
16729
16730         * utf_java_nio_DirectByteBufferImpl_ReadWrite: Removed.
16731         * utf_gnu_classpath_Pointer{32,64}: Likewise.
16732         * class_java_nio_Buffer: Added, load and link this class in
16733         jni_init().
16734         * class_java_nio_DirectByteBufferImpl: Likewise.
16735         * NewDirectByteBuffer: Removed debug output.
16736         * GetDirectBufferAddress: Added instanceof check.
16737         * GetDirectBufferCapacity: Likewise.
16738
16739 2006-01-15 14:12  twisti
16740
16741         * native_new_and_init: Ooops, reverting last change and added an
16742         explaining
16743         comment.
16744
16745 2006-01-15 13:32  twisti
16746
16747         * CLASSPATH_LIBRARY_PATH, CLASSPATH_GLIBJ_ZIP_PATH: Temporary bugfix.
16748
16749 2006-01-15 12:28  twisti
16750
16751         * native_findfunction: #ifdef ENABLE_STATICVM.
16752         * native_new_and_init: Fixed return value.
16753
16754 2006-01-15 01:56  twisti
16755
16756         * math.h: Added for isnan.
16757
16758 2006-01-15 00:37  twisti
16759
16760         * JAVAC: Removed.
16761
16762 2006-01-15 00:36  twisti
16763
16764         * Java_gnu_classpath_VMSystemProperties_preInit: Set user.country
16765         instead
16766         of user.region, set en_US if none is defined,
16767         java.protocol.handler.pkgs
16768         removed.
16769
16770 2006-01-14 20:02  twisti
16771
16772         * builtin_trace_args: Added callcount to verbose call output.
16773
16774 2006-01-14 17:19  edwin
16775
16776         * src/native/vm/Method.c (invokeNative): check class access rights
16777
16778 2006-01-13 19:37  twisti
16779
16780         * codegen_setup: #ifdef datareferences.
16781
16782 2006-01-13 18:51  twisti
16783
16784         * This class does not differ from the GNU classpath upstream version.
16785
16786 2006-01-13 18:49  twisti
16787
16788         * defineClassWithTransformers: Added, updated to generics version.
16789
16790 2006-01-13 15:29  twisti
16791
16792         * codegendata: #ifdef datareferences member.
16793         * codegen_finish: Moved data segment reference resolving into
16794         dseg_resolve_datareferences.
16795
16796 2006-01-13 15:28  twisti
16797
16798         * dseg_resolve_datareferences: Added.
16799
16800 2006-01-13 15:27  twisti
16801
16802         * Small reformatting.
16803
16804 2006-01-13 10:47  twisti
16805
16806         * src/vm/jit/{i386,x86_64}/{dis-asm.h,i386-dis.c}: Removed.
16807         * src/vm/jit/powerpc/{ppc.h,ppc-dis.c,ppc-opc.c}: Likewise.
16808         * m4/{ac_prog_javac.m4,ac_prog_javac_works.m4}: Added.
16809
16810 2006-01-13 10:42  twisti
16811
16812         * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
16813
16814 2006-01-13 10:11  twisti
16815
16816         * codegen.h: Added when ENABLE_JIT defined.
16817         * codegen_addpatchref: Set lastmcodeptr when ENABLE_JIT is defined
16818         and the
16819         architecture requires it.
16820
16821 2006-01-13 10:09  twisti
16822
16823         * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
16824
16825 2006-01-12 23:54  twisti
16826
16827         * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
16828
16829 2006-01-12 23:33  twisti
16830
16831         * arch.h: Added.
16832         * GC_test_and_set: Removed 64-bit version since the 32-bit seems to be
16833         sufficient and works.
16834
16835 2006-01-12 23:31  twisti
16836
16837         * show_icmd: Use CLASS_IS_OR_ALMOST_INITIALIZED.
16838         * initialize_class: Use CLASS_IS_OR_ALMOST_INITIALIZED.
16839
16840 2006-01-12 23:30  twisti
16841
16842         * CLASS_IS_OR_ALMOST_INITIALIZED: Added.
16843
16844 2006-01-12 23:27  twisti
16845
16846         * GETSTATIC_FLOAT, PUTSTATIC_FLOAT, GETFIELD_FLOAT, PUTFIELD_FLOAT:
16847         Added.
16848         * PATCHER_GETSTATIC_FLOAT, PATCHER_PUTSTATIC_FLOAT,
16849         PATCHER_GETFIELD_FLOAT,
16850         PATCHER_PUTFIELD_FLOAT: Likewise.
16851         * TRACENATIVECALL: Removed codegen_findmethod, use methodinfo* from
16852         threaded code stream.
16853         * TRACECALL, TRACERETURN, TRACELRETURN: Likewise.
16854
16855 2006-01-12 23:23  twisti
16856
16857         * Some 64-bit big-endian bugfixes.
16858         * Use CLASS_IS_OR_ALMOST_INITIALIZED macro.
16859
16860 2006-01-12 23:21  twisti
16861
16862         * 64-bit big-endian bugfix: replace s4 with ptrint.
16863
16864 2006-01-12 23:10  twisti
16865
16866         * Imported for the interpreter.
16867
16868 2006-01-12 23:09  twisti
16869
16870         * Added powerpc64 target.
16871
16872 2006-01-12 23:08  twisti
16873
16874         * intrp_disassinstr, intrp_disassemble: Added.
16875
16876 2006-01-12 23:07  twisti
16877
16878         * vm/options.h: Added.
16879
16880 2006-01-12 23:05  twisti
16881
16882         * config.h, vm/types.h: Added.
16883
16884 2006-01-12 23:03  twisti
16885
16886         * Use ASM_CALLJAVAFUNCTION* macros.
16887
16888 2006-01-12 22:42  twisti
16889
16890         * thread_addstaticcritical: Quick hack: #ifdef ENABLE_JIT
16891         asm_criticalsections.
16892         * sigsuspend_handler: Quick hack: #ifdef ENABLE_JIT
16893         thread_restartcriticalsection.
16894
16895 2006-01-12 22:41  twisti
16896
16897         * vm/options.h: Added.
16898         * descriptor_pool_parse_method_descriptor: #ifdef ENABLE_JIT
16899         md_param_alloc
16900         call.
16901         * descriptor_params_from_paramtypes: Likewise.
16902
16903 2006-01-12 22:40  twisti
16904
16905         * Fixed a lot of compiler warnings (functionptr -> u1*).
16906
16907 2006-01-12 22:39  twisti
16908
16909         * regs: Removed.
16910         * disassinstr, disassemble: Prefixed with intrp_.
16911
16912 2006-01-12 22:38  twisti
16913
16914         * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
16915
16916 2006-01-12 22:37  twisti
16917
16918         * builtin_gen_table: #if function according to arch.h.
16919         * codegen: Prefixed with intrp_, usage of iptr->val.a and iptr->target
16920         changed.
16921         * codegen_createlinenumbertable: Renamed to
16922         dseg_createlinenumbertable.
16923         * createcompilerstub: Prefixed with intrp_.
16924         * createnativestub: Likewise.
16925
16926 2006-01-12 22:35  twisti
16927
16928         * verify_multianewarray: Usage iptr->val.a and iptr->target changed.
16929         * JAVA_MULTIANEWARRAY: Pass c in iptr->val.a and cr in iptr->target.
16930
16931 2006-01-12 22:34  twisti
16932
16933         * codegen_createnativestub: #ifdef ENABLE_JIT md_param_alloc call.
16934         * codegen_disassemble_nativestub: Use DISASSEMBLE macro.
16935
16936 2006-01-12 22:32  twisti
16937
16938         * analyse_stack: #ifdef ENBALE_JIT md_return_alloc call.
16939         * icmd_print_stack: Print regs correctly for jit.
16940         * show_icmd_method: Likewise.
16941
16942 2006-01-12 21:55  twisti
16943
16944         * builtintable_internal: Removed ICMD_CHECKCAST.
16945
16946 2006-01-12 21:39  twisti
16947
16948         * Prefixed functions with intrp_.
16949         * md_init, md_stacktrace_get_returnaddress: Prefixed with intrp_.
16950         * thread_restartcriticalsection, md_param_alloc, md_return_alloc:
16951         Removed.
16952
16953 2006-01-12 21:38  twisti
16954
16955         * Prefix functions with intrp_.
16956
16957 2006-01-12 21:37  twisti
16958
16959         * Use ptrint instead of s8 in some places.
16960
16961 2006-01-12 21:36  twisti
16962
16963         * Use DISASSINSTR macro.
16964
16965 2006-01-12 21:36  michi
16966
16967         * Comment updated (for asm_cacheflush)
16968
16969 2006-01-12 21:35  twisti
16970
16971         * intrp_createcompilerstub, intrp_createnativestub, intrp_codegen:
16972         Added.
16973         * codegen.h: Include only for some archs.
16974         * md-abi.h: Include only for arm.
16975         * codegen_init: Changed #ifdef to ENABLE_JIT.
16976         * codegen_createnativestub: Call reg_setup only for jit, #ifdef
16977         createnativestub to support interpreter.
16978
16979 2006-01-12 21:30  twisti
16980
16981         * intrp_md_stacktrace_get_returnaddress: Added.
16982         * cacao_stacktrace_fillInStackTrace: #ifdef
16983         md_stacktrace_get_returnaddress
16984         to support interpreter.
16985
16986 2006-01-12 21:29  twisti
16987
16988         * Seperate ENABLE_JIT and ENABLE_INTRP.
16989
16990 2006-01-12 21:17  twisti
16991
16992         * config.h: Added.
16993         * intrp_patcher_get_putstatic, intrp_patcher_get_putfield,
16994         intrp_patcher_aconst, intrp_patcher_builtin_multianewarray,
16995         intrp_patcher_builtin_arraycheckcast,
16996         intrp_patcher_invokestatic_special,
16997         intrp_patcher_invokevirtual, intrp_patcher_invokeinterface,
16998         intrp_patcher_checkcast_instanceof, intrp_patcher_resolve_native:
16999         Likewise.
17000
17001 2006-01-12 21:16  twisti
17002
17003         * jit_compile_intern: #ifdef codegen call to support interpreter, use
17004         DISASSEMBLE macro.
17005
17006 2006-01-12 21:15  twisti
17007
17008         * DISASSINSTR, DISASSEMBLE: Added.
17009
17010 2006-01-12 21:14  twisti
17011
17012         * Use ASM_CALLJAVAFUNCTION macro.
17013
17014 2006-01-12 21:13  twisti
17015
17016         * Use ASM_CALLJAVAFUNCTION_INT macro.
17017
17018 2006-01-12 21:11  twisti
17019
17020         * intrp_asm_calljavafunction, intrp_createcompilerstub,
17021         intrp_asm_getclassvalues_atomic: Added.
17022
17023 2006-01-12 21:08  twisti
17024
17025         * Use ASM_CALLJAVAFUNCTION macros.
17026         * main: #ifdef md_init call to support interpreter.
17027         * link_class_intern: #ifdef createcompilerstub call to support
17028         interpreter.
17029
17030 2006-01-12 21:07  twisti
17031
17032         * Use ASM_CALLJAVAFUNCTION macros.
17033
17034 2006-01-12 21:06  twisti
17035
17036         * Use ASM_CALLJAVAFUNCTION_ADR macro.
17037         * Use ASM_CALLJAVAFUNCTION macro.
17038
17039 2006-01-12 21:04  twisti
17040
17041         * intrp_md_init: Added.
17042
17043 2006-01-12 20:57  twisti
17044
17045         * Check explicitly for isnan.
17046
17047 2006-01-12 18:25  twisti
17048
17049         * print_dynamic_super_statistics: Added from intrp.
17050
17051 2006-01-12 18:09  michi
17052
17053         * Included md-abi.h (needed for REG_SPLIT on Arm)
17054
17055 2006-01-12 17:52  twisti
17056
17057         * We have to use a machine dependent arch.h.
17058
17059 2006-01-11 12:16  twisti
17060
17061         * vm/jit/codegen.inc.h: Removed.
17062         * Fixed compiler warnings.
17063
17064 2006-01-11 10:35  twisti
17065
17066         * ICMD_F2I, ICMD_D2I, ICMD_F2L, ICMD_D2L: #if 0.
17067
17068 2006-01-11 10:01  twisti
17069
17070         * SUPPORT_FMOD: Removed.
17071         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
17072         SUPPORT_L2F,
17073         SUPPORT_L2D.
17074         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
17075         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
17076
17077 2006-01-10 22:44  twisti
17078
17079         * SUPPORT_FMOD: Removed.
17080         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
17081         SUPPORT_L2F,
17082         SUPPORT_L2D.
17083         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
17084         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
17085
17086 2006-01-10 22:38  twisti
17087
17088         * SUPPORT_FMOD: Removed.
17089         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
17090         SUPPORT_L2F,
17091         SUPPORT_L2D.
17092         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
17093         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
17094
17095 2006-01-10 22:22  twisti
17096
17097         * EXTRA_DIST: Added ChangeLog-2005.
17098
17099 2006-01-10 22:18  twisti
17100
17101         * SUPPORT_FMOD: Removed.
17102         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
17103         SUPPORT_L2F,
17104         SUPPORT_L2D.
17105         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
17106         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
17107
17108 2006-01-10 22:11  twisti
17109
17110         * asm_getclassvalues_atomic: Replaced with ASM_GETCLASSVALUES_ATOMIC.
17111         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F or SUPPORT_I2D.
17112         * SUPPORT_FICVT: Replaced with SUPPORT_F2I.
17113         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F.
17114         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
17115
17116 2006-01-10 22:09  twisti
17117
17118         * ASM_CALLJAVAFUNCTION, ASM_CALLJAVAFUNCTION_ADR,
17119         ASM_CALLJAVAFUNCTION_INT,
17120         ASM_CALLJAVAFUNCTION2, ASM_CALLJAVAFUNCTION2_ADR,
17121         ASM_CALLJAVAFUNCTION2_INT, ASM_CALLJAVAFUNCTION2_LONG,
17122         ASM_CALLJAVAFUNCTION2_FLOAT, ASM_CALLJAVAFUNCTION2_DOUBLE: Macros
17123         added,
17124         these macros hide the selection between jit and intrp functions.
17125         * ASM_GETCLASSVALUES_ATOMIC: Likewise.
17126         * intrp_asm_calljavafunction, intrp_asm_calljavafunction_int: Added.
17127         * intrp_asm_calljavafunction2, intrp_asm_calljavafunction2int,
17128         intrp_asm_calljavafunction2long, intrp_asm_calljavafunction2float,
17129         intrp_asm_calljavafunction2double: Likewise.
17130         * intrp_asm_getclassvalues_atomic: Likewise.
17131
17132 2006-01-10 21:58  twisti
17133
17134         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F or SUPPORT_I2D.
17135         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
17136         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2I, SUPPORT_F2L or
17137         SUPPORT_D2I,
17138         SUPPORT_D2L.
17139
17140 2006-01-10 21:11  twisti
17141
17142         * exceptions_throw_negativearraysizeexception: Use
17143         * builtin_throw_exception: #ifndef NDEBUG.
17144         * builtin_trace_exception: Likewise.
17145         * builtin_trace_args: Likewise.
17146         * builtin_displaymethodstop: Likewise.
17147         * builtin_*: #if the function regarding the defines in arch.h.
17148
17149 2006-01-10 20:57  twisti
17150
17151         * exceptions_throw_classformaterror,
17152         exceptions_throw_arrayindexoutofboundsexception,
17153         exceptions_throw_illegalargumentexception,
17154         exceptions_throw_negativearraysizeexception,
17155         exceptions_throw_nullpointerexception: Added.
17156         * exceptions_print_exception: #ifndef NDEBUG.
17157
17158 2006-01-10 20:56  twisti
17159
17160         * exceptions_throw_classformaterror: Use this function.
17161
17162 2006-01-10 20:55  twisti
17163
17164         * exceptions_throw_nullpointerexception: Use this function.
17165
17166 2006-01-10 20:50  twisti
17167
17168         * exceptions_throw_nullpointerexception,
17169         exceptions_throw_arrayindexoutofboundsexception: Use these
17170         functions.
17171
17172 2006-01-10 20:48  twisti
17173
17174         * exceptions_throw_nullpointerexception,
17175         exceptions_throw_illegalargumentexception: Use these functions.
17176
17177 2006-01-10 20:46  twisti
17178
17179         * exceptions_throw_illegalargumentexception,
17180         exceptions_throw_negativearraysizeexception,
17181         exceptions_throw_arrayindexoutofboundsexception,
17182         exceptions_throw_nullpointerexception: Use these functions.
17183
17184 2006-01-10 20:44  twisti
17185
17186         * exceptions_throw_classformaterror,
17187         exceptions_throw_negativearraysizeexception,
17188         exceptions_throw_nullpointerexception: Added.
17189
17190 2006-01-10 15:52  twisti
17191
17192         * Not required anymore.
17193
17194 2006-01-10 15:50  twisti
17195
17196         * use_class_as_object, create_property, copy_vftbl, create_methodsig:
17197         Removed.
17198         * classMeth, nativeCall, methodCall, nativeMethod, nativeCompCall,
17199         methodCompCall, nativeCompMethod: Likewise.
17200         * natcall2utf, printNativeCall, markNativeMethodsRT: Likewise.
17201
17202 2006-01-10 15:48  twisti
17203
17204         * nativeCalls, nativeCompCalls: Removed.
17205         * copy_vftbl, create_methodsig: Likewise.
17206         * printNativeCall, printCompNativeCall, findNativeMethodCalls,
17207         findNativeClassCalls, utfNativeCall, natcall2utf: Likewise.
17208
17209 2006-01-10 10:59  twisti
17210
17211         * codegen_ncode_increase: Typo.
17212
17213 2006-01-09 20:52  twisti
17214
17215         * disass_buf: Fixed typo.
17216
17217 2006-01-09 20:28  twisti
17218
17219         * disass_printf: Ooops, #ifdef was wrong.
17220
17221 2006-01-09 20:19  twisti
17222
17223         * Removed, we now link against libbfd and libopcodes.
17224         * stdarg.h, string.h, assert.h, vm/jit/powerpc/dis-asm.h: Removed.
17225         * dis-asm.h, stdio.h, vm/jit/disass.h: Added.
17226         * myprintf, buffer_read_memory, perror_memory, generic_print_address,
17227         generic_symbol_at_address, bfd_getb32, bfd_getl32, sprintf_vma:
17228         Removed.
17229         * Use disass-common.c stuff.
17230
17231 2006-01-09 20:15  twisti
17232
17233         * libarch_la_SOURCES: Removed dis-asm.h, ppc-dis.c, ppc-opc.c and
17234         ppc.h.
17235
17236 2006-01-09 19:21  twisti
17237
17238         * assert.h, stdarg.h, vm/jit/x86_64/dis-asm.h: Removed.
17239         * stdio.h, vm/jit/disass.h: Added.
17240         * myprintf, buffer_read_memory, generic_symbol_at_address,
17241         generic_print_address, perror_memory: Likewise.
17242         * Use disass-common.c stuff.
17243
17244 2006-01-09 16:37  twisti
17245
17246         * string.h, vm/jit/i386/dis-asm.h: Removed.
17247         * mylinebuf, mylen: Likewise.
17248         * myprintf, buffer_read_memory, generic_symbol_at_address,
17249         generic_print_address, perror_memory: Likewise.
17250         * Use disass-common.c stuff.
17251
17252 2006-01-09 16:36  twisti
17253
17254         * WITH_BINUTILS_DISASSEMBLER: Added, define DISASS_OBJ.
17255         * noinst_LTLIBRARIES: Added DISASS_OBJ.
17256
17257 2006-01-09 16:30  twisti
17258
17259         * This file contains the common functions required when we use the
17260         binutils
17261         disassembler.
17262
17263 2006-01-09 16:29  twisti
17264
17265         * WITH_BINUTILS_DISASSEMBLER: Added.
17266         * disass_printf: Added.
17267
17268 2006-01-09 16:26  twisti
17269
17270         * WITH_BINUTILS_DISASSEMBLER: Added.
17271
17272 2006-01-09 12:12  twisti
17273
17274         * Removed, we now link against libbfd and libopcodes.
17275
17276 2006-01-09 12:10  twisti
17277
17278         * libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c.
17279
17280 2006-01-09 10:37  twisti
17281
17282         * AC_CHECK_HEADER checks for ansidecl.h, bfd.h and symcat.h removed.
17283         * AC_CHECK_HEADER check for dis-asm.h added.
17284         * AC_CHECK_LIB checks for libbfd and libopcodes added.
17285
17286 2006-01-09 10:35  twisti
17287
17288         * Removed, we now link against libbfd and libopcodes.
17289         * libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c, we now link
17290         against
17291         libbfd and libopcodes.
17292
17293 2006-01-08 23:37  twisti
17294
17295         * Updated from GNU Classpath:
17296         
17297         2005-12-17 Guilhem Lavaux <guilhem@kaffe.org>
17298         
17299         * native/fdlibm/fdlibm.h
17300         (isnan): Define explicitly isnan if it is not a macro.
17301
17302 2006-01-08 23:00  twisti
17303
17304         * loader_load_all_classes: Print exception when loading failed.
17305
17306 2006-01-08 22:38  twisti
17307
17308         * SUCK_xx_xx: We can only optimize little endian loads on i386 and
17309         x86_64
17310         machines. All others have problems with alignment.
17311
17312 2006-01-08 22:12  twisti
17313
17314         * Ignore *.class files.
17315
17316 2006-01-08 22:11  twisti
17317
17318         * java-assert.h: Unused, removed.
17319
17320 2006-01-08 22:01  twisti
17321
17322         * Added VM interface change to be consistent:
17323         
17324         2005-11-13 Archie Cobbs <archie@dellroad.org>
17325         
17326         * vm/reference/gnu/classpath/VMStackWalker.java (getClassLoader()):
17327         added to fix an infinite loop bug.
17328         * NEWS: note VM interface change.
17329
17330 2006-01-08 21:32  twisti
17331
17332         * suck_add: Check for lce != NULL before adding it to the list, since
17333         zip_open can return NULL.
17334
17335 2006-01-08 19:14  twisti
17336
17337         * JAVAC: Removed.
17338
17339 2006-01-08 19:13  twisti
17340
17341         * SOURCE_FILES: Added.
17342         * JAVAC: Removed.
17343         * checkall: Renamed to check.
17344
17345 2006-01-08 19:12  twisti
17346
17347         * Use $(mkdir_p), $(JAVAC) and $(ZIP) variables.
17348
17349 2006-01-08 19:11  twisti
17350
17351         * AM_PROG_MKDIR_P: Added.
17352         * Added headers checks for ansidecl.h, bfd.h, and symcat.h if we have
17353         debugging enabled.
17354         * AC_PROG_JAVAC: Added.
17355         * AC_PATH_PROG: Added check for zip.
17356
17357 2006-01-08 19:09  twisti
17358
17359         * Macros to check for a Java compiler, taken from
17360         http://ac-archive.sourceforge.net/.
17361
17362 2006-01-04 09:35  twisti
17363
17364         * Removed src/toolbox/avl.[ch] copyright.
17365
17366 2006-01-04 09:34  twisti
17367
17368         * avl_dump: Only print node->data.
17369
17370 2006-01-03 23:46  twisti
17371
17372         * Use new avl tree code.
17373         * Rewritten.
17374
17375 2006-01-03 23:44  twisti
17376
17377         * exit_handler: Removed print_dynamic_super_statistics.
17378         * print_stats: Added print_dynamic_super_statistics.
17379
17380 2006-01-03 23:43  twisti
17381
17382         * threads.h: Added.
17383         * builtin.h: Likewise.
17384
17385 2006-01-03 23:08  twisti
17386
17387         * CallNonvirtualBooleanMethodA: Added missing ;.
17388
17389 2006-01-03 23:05  twisti
17390
17391         * ENABLE_STATISTICS: Fixed typo.
17392
17393 2006-01-02 21:01  christian
17394
17395         typeing error
17396
17397 2006-01-02 17:13  twisti
17398
17399         * nregdescint, nregdescfloat: Moved to md-abi.c.
17400
17401 2006-01-02 17:12  twisti
17402
17403         * nregdescint, nregdescfloat: Added.
17404
17405 2006-01-02 17:11  twisti
17406
17407         * noinst_HEADERS: Removed md-abi.inc.
17408
17409 2006-01-02 16:40  twisti
17410
17411         * signal_handler_sigsegv: Replaced functionptr with u1*.
17412
17413 2006-01-02 16:18  twisti
17414
17415         * nregdescint, nregdescfloat: Moved to md-abi.c.
17416
17417 2006-01-02 16:17  twisti
17418
17419         * nregdescint, nregdescfloat: Added.
17420         * noinst_HEADERS: Removed md-abi.inc.
17421
17422 2006-01-02 16:12  twisti
17423
17424         * INCLUDES: Added OS_DIR, some archs have their md-abi.* files in the
17425         os
17426         directory.
17427
17428 2006-01-02 16:08  christian
17429
17430         *** empty log message ***
17431
17432 2006-01-02 16:04  twisti
17433
17434         * nregdescint, nregdescfloat: Moved to md-abi.c.
17435
17436 2006-01-02 16:03  twisti
17437
17438         * nregdescint, nregdescfloat: Added.
17439         * noinst_HEADERS: Removed md-abi.inc.
17440
17441 2006-01-02 14:32  christian
17442
17443         Removed old debug message
17444
17445 2006-01-02 14:26  twisti
17446
17447         * md-abi.inc: Removed.
17448
17449 2006-01-02 14:25  twisti
17450
17451         * nregdescint, nregdescfloat: Moved to md-abi.c.
17452
17453 2006-01-02 14:24  twisti
17454
17455         * nregdescint, nregdescfloat: Added.
17456         * noinst_HEADERS: Removed md-abi.inc.
17457
17458 2006-01-02 14:11  christian
17459
17460         Corrected \"\" to \<\> for system header include
17461
17462 2006-01-02 14:07  twisti
17463
17464         * nregdescint, nregdescfloat: Moved to md-abi.c.
17465         * noinst_HEADERS: Removed md-abi.inc.
17466
17467 2006-01-02 14:06  twisti
17468
17469         * nregdescint, nregdescfloat: Added.
17470         * disassinstr: Some code improvement.
17471
17472 2006-01-02 14:05  twisti
17473
17474         * md-abi.inc: Removed.
17475
17476 2006-01-02 13:05  christian
17477
17478         Changed register allocator .inc to .c files and moved them to
17479         src/vm/jit/allocator
17480
17481 2006-01-02 12:59  christian
17482
17483         Changed register allocator .inc to .c files and moved them to
17484         src/vm/jit/allocator
17485
17486 2006-01-02 12:22  twisti
17487
17488         * Fixed result message for debug.
17489
17490 2006-01-02 12:10  twisti
17491
17492         * Typo.
17493
17494 2006-01-02 12:04  twisti
17495
17496         * Added ltdl.h check.
17497
17498 2006-01-02 11:34  twisti
17499
17500         * Fixed ltdl.h include path.
17501
17502 2006-01-02 01:34  twisti
17503
17504         * Fixed ltdl.h include path.
17505
17506 2006-01-02 01:15  twisti
17507
17508         * I don't think we really need them, but they are still in Attic.
17509
17510 2006-01-02 01:10  twisti
17511
17512         * Generated changelog for 2005.
17513
17514 2006-01-02 01:05  twisti
17515
17516         * unzip.[ch], libffi, libltdl: Removed.
17517
17518 2006-01-01 21:53  twisti
17519
17520         * Removed libltdl.
17521
17522 2006-01-01 21:38  twisti
17523
17524         * We now use the system libltdl.
17525
17526 2006-01-01 21:32  twisti
17527
17528         * Changed text of kaffe's stuff, dalibor pointed this out.
17529
17530 2006-01-01 21:29  twisti
17531
17532         * AC_LIBLTDL_CONVENIENCE, AC_SUBST(LIBLTDL): Removed.
17533         * AC_COMPILE_CHECK_SIZEOF: Replaced with AC_CHECK_SIZEOF.
17534
17535 2006-01-01 21:22  twisti
17536
17537         * m4 macros have a different copyright header.
17538
17539 2006-01-01 21:13  twisti
17540
17541         * Lists all third party software we use. This list contains all
17542         stuff we
17543         used in 0.93. Stuff that has been ripped will be deleted after that
17544         commit, this is for the records.
17545
17546 2006-01-01 20:55  twisti
17547
17548         * Not required.
17549
17550 2006-01-01 19:39  twisti
17551
17552         * Removed libltdlc.la.
17553         * DIST_SUBDIRS: Removed libltdl.
17554         * SUBDIRS: Likewise.
17555
17556 2006-01-01 19:38  twisti
17557
17558         * Added libltdl check.
17559         * AC_CONFIG_SUBDIRS: Removed src/libltdl.
17560
17561 2006-01-01 18:39  twisti
17562
17563         * libarch_la_SOURCES: Removed symcat.h.
17564
17565 2006-01-01 18:34  twisti
17566
17567         * Use system one.
17568
17569 2006-01-01 18:33  twisti
17570
17571         * libarch_la_SOURCES: Removed symcat.h.
17572
17573 2006-01-01 18:30  twisti
17574
17575         * generic_symbol_at_address: Print only 8 bytes.
17576
17577 2006-01-01 18:21  twisti
17578
17579         * Use system ones.
17580         * generic_symbol_at_address: Added, they were implemented in dis-buf.c
17581         which was removed.
17582         * generic_print_address: Likewise.
17583         * perror_memory: Likewise.
17584
17585 2006-01-01 18:20  twisti
17586
17587         * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c.
17588         * config.h, vm/jit/codegen-common.h: Added.
17589
17590 2006-01-01 16:40  twisti
17591
17592         * Changed include to use system headers.
17593
17594 2006-01-01 16:39  twisti
17595
17596         * Use system ones.
17597         * generic_symbol_at_address: Added, they were implemented in dis-buf.c
17598         which was removed.
17599         * generic_print_address: Likewise.
17600         * perror_memory: Likewise.
17601
17602 2006-01-01 16:37  twisti
17603
17604         * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c.
17605
17606 2006-01-01 16:35  twisti
17607
17608         * DEC OSF cc only defines __alpha.
17609
17610 2006-01-01 16:34  twisti
17611
17612         * class_resolvefield: Renamed except to throwexception since some
17613         compilers
17614         have a builtin except macro (like DEC OSF cc).
17615         * class_resolveclassmethod: Likewise.
17616         * class_resolveinterfacemethod: Likewise.
17617
17618 2006-01-01 16:31  twisti
17619
17620         * zip_open: Handle compiler error with DEC OSF's cc.