* ChangeLog: Updated.
[cacao.git] / ChangeLog
1 2006-05-29 18:52  twisti
2
3         * configure.ac (AC_INIT): Changed to version 0.96.
4         (CFLAGS): Changed to -O2.
5         * NEWS: Changed date.
6
7 2006-05-29 15:51  twisti
8
9         * src/vm/vm.c (usage): Removed new-line.
10
11 2006-05-29 15:37  twisti
12
13         * src/vm/vm.c (OPT_GLIBJ): Added.
14         (Xusage): Added help for -Xglibj.
15         (version): Changed signature for conditional exit.
16         (main): Added OPT_GLIBJ. Print version after all commandline arguments
17         have been handled.
18
19 2006-05-29 15:21  edwin
20
21         * src/vm/linker.c (link_class_intern): On i386 align all fields to
22         just 4 bytes as gcc does. This makes the offsets of Java fields match
23         the offset of native headers. This fixes a bug (java.lang.Double.value
24         had been at offset 16, but java_lang_Double.value is offset 12).
25
26 2006-05-29 15:17  twisti
27
28         * src/threads/native/critical.h (signal.h): Added, build fix for some
29         older Darwin systems.
30
31 2006-05-29 14:32  twisti
32
33         * NEWS: Added a lot of stuff.
34
35 2006-05-29 14:31  twisti
36
37         * src/cacao/Makefile.am: Renamed libcacaovm.so to libjvm.so to be
38         binary compatible with Sun.
39
40 2006-05-29 09:41  motse
41
42         src/native/jni.c: removed jvmti.h included cacaodbg.h for GetEnv -
43         jvmti
44         src/native/vm/VMVirtualMachine.c: formatting changes/removed debug
45         statements
46         src/native/vm/VMMethod.c:
47         (getName/getSignature/getModifiers/getLineTable): (Samuel Vinson) new
48         implementation. (partially changed by motse)
49         src/native/jvmti/cacaodbg.h: removed unused function declarations
50         src/native/jvmti/jvmti.c (getcacaostacktrace): new implementation -
51         does not yet handle traces of not current threads correctly.
52         (GetMethodName): fix: return JVMTI_ERROR_NULL_POINTER only on method
53         == NULL
54         (GetFrameCount/GetStackTrace): fixed check for valid thread argument.
55
56 2006-05-26 16:24  edwin
57
58         * src/toolbox/logging.h (stdarg.h): Include it here, instead of in
59         logging.c.
60         * src/toolbox/logging.c: See above.
61
62 2006-05-26 12:58  twisti
63
64         * src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
65         Removed assert.
66         * src/vm/jit/powerpc/darwin/md-os.c (thread_restartcriticalsection):
67         Compile fix. Removed assert.
68
69 2006-05-26 12:46  edwin
70
71         * NEWS: Added unicode cleanup.
72
73 2006-05-26 12:44  edwin
74
75         * NEWS: Added tasuki locks and other news.
76
77 2006-05-26 12:31  motse
78
79         src/native/jvmti/jvmti.c (GetClassStatus): bugfix - only compare
80         class state
81
82 2006-05-26 12:26  edwin
83
84         * src/vm/jit/stacktrace.c (stacktrace_remove_stackframeinfo):
85         Commented.
86
87 2006-05-26 12:25  twisti
88
89         * src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
90         Implemented.
91         * src/vm/jit/powerpc/darwin/md-os.c: Likewise.
92
93 2006-05-26 12:19  edwin
94
95         * src/vm/builtin.c (builtin_init): Documented.
96         (builtin_trace_args): Documented.
97         (builtin_displaymethodstop): Documented.
98         
99         * src/vm/jit/alpha/md-abi.c (md_param_alloc): Documented.
100         
101         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
102         Documented.
103         
104         * src/vm/jit/codegen-common.c (methodtree_comparator): Documented.
105         (codegen_insertmethod): Documented.
106         
107         * src/toolbox/util.c (getcwd): Documented.
108
109 2006-05-26 12:09  edwin
110
111         * src/vm/loader.h: Comment update.
112         
113         * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed obsolete
114         inlining check.
115         
116         * src/vm/jit/replace.c: Typo fixed.
117         
118         * src/vm/jit/reg.c: Avoid XXX as wildcard in comments.
119         * src/vm/jit/jit.h: Likewise.
120
121 2006-05-26 11:57  twisti
122
123         * src/vm/properties.c (properties_system_add): Changed
124         javastring_new_from_ascii to javastring_new_from_utf_string.
125         
126         * src/native/jni.c (ThrowNew): Use a variable for clazz.
127         (JNI_CreateJavaVM): Release allocated memory if vm_create fails.
128         
129         * src/threads/native/threads.c: Comments reformatted.
130
131 2006-05-26 11:48  edwin
132
133         * src/vm/class.c (class_resolveclassmethod): Removed obsolete XXX
134         comments.
135         (class_resolveinterfacemethod): Likewise.
136         (class_resolvefield): Likewise.
137         
138         * src/vm/classcache.h: Removed obsolete XXX comment.
139         
140         * src/vm/jit/allocator/lsra.h: Changed TYPE_XXX to TYPE_* in comments.
141         * src/vm/jit/jit.c: Likewise.
142         
143         * src/native/vm/VMObject.c (Java_java_lang_VMObject_clone):
144         Removed obsolete XXX comment.
145         
146         * src/mm/memory.c (dump_release): Removed obsolete debugging code.
147
148 2006-05-26 11:22  edwin
149
150         * src/native/jni.c (DefineClass): Use javastring_new_from_utf_string.
151         (ThrowNew): Likewise.
152
153 2006-05-26 09:30  twisti
154
155         * src/mm/boehm.c (stackcall_malloc_atomic): Removed.
156         (stackcall_malloc_uncollectable): Likewise.
157         (heap_alloc_uncollectable): Use macros directly.
158         (heap_allocate): Likewise.
159         
160         * src/vm/vm.c: Added -jvm options, which is available on darwin.
161         
162         * src/vm/suck.c (scandir_filter): Changed signature for darwin.
163
164 2006-05-25 21:59  motse
165
166         src/vm/vm.c(usage): added information for jvmti agent for jdwp
167         (vm_create): jdwp code move to jvmti agent for jdwp (VMjdwp.c)
168         src/cacao/cacao.c (main): jdwp code move to jvmti agent for jdwp.
169         execute jvmti_set_phase only if needed
170         src/native/jvmti/cacaodbg.c (setup_jdwp_thread): jdwp code move to
171         jvmti agent for jdwp
172         src/native/jvmti/VMjdwp.c: change this to a jvmti complaint agent by
173         using jni/jvmti function instead of cacao specific functions and
174         implement a Agent_OnLoad as main entry point. Include
175         setup_jdwp_thread function.
176         src/native/jvmti/Makefile.am: add libjdwp.so
177         src/native/jvmti/cacaodbg.h: remove no more needed global jdwp
178         related variables
179         src/native/jvmti/jvmti.c: (Resume/SuspendThread(List)): add temporary
180         implementation for trying jdwp
181         (jvmti_agentload): bugfix in getting/passing libname/arguments
182
183 2006-05-25 12:28  twisti
184
185         * vm/jit/intrp/intrp.h (global_sp): Added space, yeah, whatever...
186         * vm/jit/intrp/dynamic-super.c (vm/builtin.h): Added.
187         (vm/jit/disass.h): Likewise.
188         (gen_inst): Fixed compiler warnings.
189         * vm/jit/intrp/java.vmg: Fixed compiler warnings with
190         stacktrace_create_stackframeinfo.
191         * threads/native/threads.h (threadobject): Changed type of _global_sp
192         to u1*.
193
194 2006-05-25 12:22  twisti
195
196         * NEWS: Sorry.
197
198 2006-05-25 12:21  twisti
199
200         * src/vm/vm.c (HEAP_MAXSIZE): Changed to 128MB.
201         (STACK_SIZE): Changed to 64kB.
202         (Xusage): Calculate default sizes.
203         
204         * NEWS: New stuff added.
205
206 2006-05-25 11:29  twisti
207
208         * src/vm/jit/x86_64/md-emit.h (emit_movl_reg_reg): Added.
209
210 2006-05-25 11:24  edwin
211
212         * configure.ac: Disable inlining and lsra by default.
213
214 2006-05-24 14:11  twisti
215
216         * src/threads/native/threads.c (threads_startup_thread): Allocate Java
217         stack on Java heap instead of hardware stack.
218
219 2006-05-24 14:08  twisti
220
221         * configure.ac: Added INTRP_CFLAGS.
222         * src/vm/jit/intrp/Makefile.am (CFLAGS): Set to INTRP_CFLAGS.
223
224 2006-05-24 11:00  motse
225
226         src/vm/vm.c (vm_exit): only set JVMTI_PHASE_DEAD if a jvmti agent or
227         a jvmti environment is loaded.
228         src/native/jvmti/cacaodbg.c (jvmti_cacaodbgserver_quit): bugfix: set
229         dbgcom = NULL only if all environments have been disposed.
230         src/native/jvmti/jvmti.c (GetLoadedClasses): remove debug statement
231
232 2006-05-23 19:52  motse
233
234         src/vm/classcache.c: export CLASSCACHE_LOCK/UNLOCK and
235         lock_hashtable_classcache
236         src/vm/classcache.h: idem
237         src/native/jvmti/jvmti.c (GetLoadedClasses) implemented (sv/motse)
238         (GetClassSignature) fixed
239
240 2006-05-23 15:31  motse
241
242         src/vm/vm.c (vm_create): rename jvmti function calls
243         
244         src/cacao/cacao.c (main): rename jvmti function calls
245         
246         src/native/jni.c (GetEnv): rename jvmti function calls. jvmti version
247         changed to JVMTI_VERSION_INTERFACE_JVMTI
248         
249         src/native/vm/VMVirtualMachine.c (getAllLoadedClassesCount): (Samuel
250         Vinson) implemented.
251         (getAllLoadedClassesCount): jvmti Deallocate call added. (sv):
252         CallObjectMethod fix
253         (getAllClassMethods): (Samuel Vinson) implemented.
254         (getClassMethod): (Samuel Vinson) implemented.
255         
256         src/native/jvmti/jvmti.h: added JVMTI_VERSION interface and mask
257         
258         src/native/jvmti/cacaodbgserver.h: msg queue/shared mem related
259         things removed. gdb related defines added.
260         
261         src/native/jvmti/dbg.h: remove ptrace related things
262         
263         src/native/jvmti/cacaodbg.c change setsysbrkpt name to
264         jvmti_set_system_breakpoint, addbrkpt to jvmti_add_breakpoint,
265         allthreads to jvmti_get_all_threads
266         (jvmti_cacao_debug_init): new function where fork/exec of
267         cacaodbgserver takes place
268         (jvmti_set_system_breakpoint): added functionality for brkpt delete
269         and asm label for cacaodbgserver support
270         (jvmti_cacaodbgserver_quit): new function for killing cacaodbgserver
271         properly
272         (jvmti_cacao_generic_breakpointhandler): new function. This is the
273         entry point for every breakpointhandler and start for a new jvmti
274         event
275         (jvmti_cacao_debug_init): new function for starting up
276         cacaodbgserver process.
277         
278         src/native/jvmti/VMjdwp.c (jvmti_VMjdwpInit): function renamed
279         
280         src/native/jvmti/Makefile.am: delete dbg.c. (sv) add compile/install
281         support for cacaodbgserver.
282         
283         src/native/jvmti/cacaodbg.h: breakpoint counter added to struct
284         _brkpt. change setsysbrkpt name to jvmti_set_system_breakpoint,
285         addbrkpt to jvmti_add_breakpoint, allthreads to
286         jvmti_get_all_threads, fireEvent to jvmti_fireEvent, agentload to
287         jvmti_agentload agentunload to jvmti_agentunload, getcurrentthread to
288         jvmti_get_current_thread, set_jvmti_phase to jvmti_set_phase,
289         new_jvmtienv to jvmti_new_environment, VMjdwpinit to
290         jvmti_VMjdwpInit. added breakpoint table constants. removed global
291         jdwp, jvmti, suspend, transport, agentarg variables
292         
293         src/native/jvmti/jvmti.c all jvmti-environment function changed to
294         static functions. execcallback renamed to execute_callback. fireEvent
295         renamed to jvmti_fireEvent.
296         (execute_callback): add phase checks
297         (GetClassMethods): bugfix in copying jmethodIDs
298         (DisposeEnvironment): relocate work to jvmti_cacaodbgserver_quit
299         (jvmti_new_environment) : relocate forking new process to
300         jvmti_cacao_debug_init
301         (CHECK_ADD_CAPABILITY): bugfix in adding capabilities
302         (GetClassMethods): bugfix coping methodinfo pointers
303         (SetEventNotificationMode): setsysbrkpt calls added.
304         rename jvmti function names.
305         
306         src/native/jvmti/cacaodbgserver.c changed to support gdb insted of
307         using ptrace directly.
308         (getchildprocptrace): removed
309         (waitloop): removed
310         (startgdb): new function. start a new gdb session.
311         (getgdboutput): new helper function for getting gdb output.
312         (dataevaluate): new helper function for getting value for a given
313         expression
314         (commonbreakpointhandler): new function which handles SIGTRAPs and
315         gdb breakpoint hits.
316         (controlloop) : new function handle communication with gdb
317         (main): removed old code. added calls to startgdb and controlloop
318         
319         src/native/jvmti/dbg.c removed
320         
321         src/threads/native/threads.h: removed
322         threads_set_current_threadobject. added jvmti_get_threads_breakpoints
323         
324         src/threads/native/threads.c: (threads_startup_thread) add thread
325         start/end asm lables
326         (threads_set_current_threadobject): removed jvmti thread start
327         support.
328         (jvmti_get_threads_breakpoints) new function that gets addresses of
329         asm lables.
330         
331         src/threads/native/lock.h: added definition of lock_global_pool_lock
332         and lock_global_pool
333
334 2006-05-23 08:51  twisti
335
336         * src/vm/jit/x86_64/codegen.c: Changed the code generator to produce
337         RISC-like code. These are way too much changes to name them.
338         (createnativestub): Bugfix in argument saving.
339         * src/vm/jit/x86_64/codegen.h: Likewise.
340         * src/vm/jit/x86_64/emit.c: Likewise.
341         * src/vm/jit/x86_64/md-emit.h: Likewise.
342
343 2006-05-23 08:42  twisti
344
345         * src/vm/options.c (opt_heapmaxsize, opt_heapstartsize): Added.
346         * src/vm/options.h: Likewise.
347         
348         * src/vm/vm.c (version): Print heap and stack information.
349         (vm_create): Use global option variables.
350
351 2006-05-23 08:25  twisti
352
353         * src/vm/jit/x86_64/emit.c (emit_movl_reg_reg): New function.
354         
355         * src/vm/jit/x86_64/codegen.c (ICMD_L2I): Only move the low
356         32-bit. Otherwise this may cause a bug with e.g. array accesses, as
357         the index registers are treated as 64-bit.
358         
359         * src/vm/jit/x86_64/codegen.h (gen_bound_check): Bugfix: only read
360         32-bit.
361         (M_IMOV): Added.
362         (M_ICMP_MEMBASE): Likewise.
363
364 2006-05-22 16:14  twisti
365
366         * configure.ac: Added --with-classpath-includedir.
367
368 2006-05-22 09:07  twisti
369
370         * NEWS: Some news.
371
372 2006-05-22 09:06  twisti
373
374         * src/vm/vm.c (vm_abort): New method.
375         * src/vm/vm.h: Likewise.
376         * src/cacaoh/headers.c: Likewise.
377         
378         * src/toolbox/logging.c (log_vprint): Made non-static.
379         * src/toolbox/logging.h (log_vprint): Added.
380         
381         * src/threads/native/threads.c (threads_sem_init): Use vm_abort.
382         (threads_sem_wait): Likewise.
383         (threads_sem_post): Likewise.
384         (threads_current_time_is_earlier_than): Likewise.
385         (threads_init): Check for pthread_attr_init error.
386         (threads_start_thread): Check for errors of pthread calls. Set the
387         threads stack size.
388
389 2006-05-18 14:33  edwin
390
391         * src/threads/native/lock.h, src/threads/native/lock.c: Tasuki lock
392         implementation (without lock deflation). This is a straight-forward
393         implementation that uses an extra word in java_objectheader for the
394         FLC (flat lock contention) bit.
395         
396         * src/vm/global.h (java_objectheader): Added field `flcword`.
397         
398         * src/threads/native/lock.h (Authors): Changed to myself, as there
399         is none of the old code remaining in this file.
400         
401         * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
402         src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c,
403         src/vm/jit/x86_64/codegen.c (codegen, createnativestub): Add the
404         FLC word when creating the fake object header for patcher
405         synchronization.
406
407 2006-05-18 14:06  twisti
408
409         * src/vm/properties.c (properties_get): Search the list backwards to
410         get the newest entry.
411
412 2006-05-18 12:50  twisti
413
414         * src/vm/vm.c (version): Print default and runtime classpath
415         variables.
416         (vm_create): Add a default java.endorsed.dirs property.
417
418 2006-05-17 22:06  twisti
419
420         * configure.ac: Don't export BOOTCLASSPATH, that makes problems.
421
422 2006-05-17 12:10  twisti
423
424         * src/vm/jit/powerpc/codegen.c (createnativestub): Fixed bug and
425         changed argument saving and restoring.
426         
427         * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Partially
428         implemented Darwin bits. Still some bugs with testarguments.
429
430 2006-05-16 13:08  twisti
431
432         * src/vm/jit/powerpc/codegen.c (codegen): Bugfix: use REG_ITMP3 in
433         ICMD_L{DIV,REM} for function address. This fixes
434         gnu.testlet.java.math.BigInteger.divide.
435
436 2006-05-16 01:49  edwin
437
438         * src/threads/native/lock.c: Fixed comment formatting.
439
440 2006-05-15 23:37  edwin
441
442         * src/vm/jit/i386/machine-instr.h (compare_and_swap): Fixed comment.
443
444 2006-05-15 23:31  twisti
445
446         * configure.ac: Export BOOTCLASSPATH for javac check.
447         * src/cacao/Makefile.am (cacao_SOURCES)Removed cacao.h.
448         * src/vm/jit/inline/Makefile.am (libinline_la_SOURCES): Added
449         inline_debug.inc.
450         * src/vm/jit/powerpc/Makefile.am (DIST_SUBDIRS): Added netbsd.
451
452 2006-05-15 23:22  edwin
453
454         * src/vm/jit/inline/inline_debug.c: Renamed to
455         src/vm/jit/inline/inline_debug.inc.
456         
457         * src/vm/jit/inline/inline.c: #include changed to
458         src/vm/jit/inline/inline_debug.inc.
459         
460         * src/vm/resolve.c: Typo fixed.
461
462 2006-05-15 21:48  edwin
463
464         * src/threads/native/lock.c (lock_record_remove_waiter): Made static.
465         (lock_monitor_wait): Likewise.
466
467 2006-05-15 21:32  edwin
468
469         * src/threads/native/lock.h, src/threads/native/lock.c
470         (lock_does_thread_hold_lock): Renamed to
471         lock_is_held_by_current_thread
472         and removed thread argument, as reliable checking is only possible for
473         the current thread, anyway.
474         
475         * src/native/vm/VMThread.c (lock_does_thread_hold_lock): Changed to
476         lock_is_held_by_current_thread.
477         
478         * src/native/jvmti/jvmti.c (lock_does_thread_hold_lock): Changed to
479         lock_is_held_by_current_thread.
480
481 2006-05-15 18:24  edwin
482
483         * configure.ac (src/threads/green/Makefile): Removed from
484         AC_CONFIG_FILES.
485
486 2006-05-15 15:06  edwin
487
488         * src/threads/native/lock.h (lock_record_pool_header_t): Documented.
489         (lock_record_pool_t): Documented.
490         
491         * src/threads/native/lock.c: Minor whitespace cleanup.
492
493 2006-05-15 14:40  twisti
494
495         * THIRDPARTY: Removed green threads stuff.
496
497 2006-05-15 14:39  twisti
498
499         * src/vm/jit/alpha/asmpart.S (asm_perform_threadswitch)
500         (asm_initialize_thread_stack, asm_switchstackandcall): Removed (2nd
501         part of green threads removal).
502         * src/vm/jit/mips/asmpart.S: Likewise.
503         * src/vm/jit/i386/asmpart.S: Likewise.
504         * src/vm/jit/x86_64/asmpart.S: Likewise.
505
506 2006-05-15 14:24  twisti
507
508         * src/vm/hashtable.h,
509         src/vm/class.c,,
510         src/vm/suck.c,
511         src/vm/loader.c,
512         src/vm/builtin.c,
513         src/vm/string.c,
514         src/vm/suck.h,
515         src/vm/builtin.h,
516         src/vm/loader.h,
517         src/vm/finalizer.c,
518         src/vm/classcache.c,
519         src/vm/initialize.c,
520         src/vm/jit/powerpc/linux/md-os.c,
521         src/vm/jit/powerpc/netbsd/md-os.c,
522         src/vm/jit/powerpc/darwin/md-os.c,
523         src/vm/jit/powerpc/darwin/md-asm.h,
524         src/vm/jit/powerpc/codegen.c,
525         src/vm/jit/powerpc/asmpart.S,
526         src/vm/jit/codegen-common.h,
527         src/vm/jit/alpha/codegen.c,
528         src/vm/jit/alpha/linux/md-os.c,
529         src/vm/jit/alpha/asmpart.S,
530         src/vm/jit/alpha/freebsd/md-os.c,
531         src/vm/jit/stack.c,
532         src/vm/jit/code.c,
533         src/vm/jit/verify/typecheck.c,
534         src/vm/jit/mips/codegen.c,
535         src/vm/jit/mips/linux/md-os.c,
536         src/vm/jit/mips/asmpart.S,
537         src/vm/jit/mips/irix/md-os.c,
538         src/vm/jit/patcher.h,
539         src/vm/jit/inline/inline.c,
540         src/vm/jit/allocator/simplereg.c,
541         src/vm/jit/i386/codegen.c,
542         src/vm/jit/i386/linux/md-os.c,
543         src/vm/jit/i386/asmpart.S,
544         src/vm/jit/i386/freebsd/md-os.c,
545         src/vm/jit/parse.c,
546         src/vm/jit/intrp/intrp.h,
547         src/vm/jit/intrp/codegen.c,
548         src/vm/jit/intrp/engine.c,
549         src/vm/jit/intrp/asmpart.c,
550         src/vm/jit/intrp/dynamic-super.c,
551         src/vm/jit/intrp/java.vmg,
552         src/vm/jit/asmpart.h,
553         src/vm/jit/x86_64/md.c,
554         src/vm/jit/x86_64/codegen.c,
555         src/vm/jit/x86_64/asmpart.S,
556         src/vm/jit/profile/profile.c,
557         src/vm/jit/stacktrace.c,
558         src/vm/jit/jit.c,
559         src/vm/jit/stacktrace.h,
560         src/vm/jit/codegen-common.c,
561         src/vm/jit/jit.h,
562         src/vm/global.h,
563         src/vm/builtintable.inc,
564         src/vm/signal.c,
565         src/vm/exceptions.c,
566         src/vm/vm.c,
567         src/vm/linker.c,
568         src/vm/exceptions.h,
569         src/vm/utf8.c,
570         src/vm/hashtable.c,
571         src/cacao/cacao.c,
572         src/cacao/Makefile.am,
573         src/native/tools/Makefile.am,
574         src/native/tools/gennativetable.c,
575         src/native/jni.c,
576         src/native/vm/VMObject.c,
577         src/native/vm/VMThread.c,
578         src/native/jni.h,
579         src/native/native.c,
580         src/native/jvmti/cacaodbg.c,
581         src/native/jvmti/cacaodbg.h,
582         src/native/jvmti/jvmti.c,
583         src/toolbox/avl.c,
584         src/toolbox/logging.c,
585         src/toolbox/avl.h,
586         src/mm/boehm.h,
587         src/mm/memory.c,
588         src/mm/boehm.c,
589         src/threads/green,
590         src/threads/native/threads.h,
591         src/threads/native/threads.c,
592         src/threads/Makefile.am,
593         src/cacaoh/cacaoh.c,
594         src/cacaoh/headers.h,
595         src/cacaoh/Makefile.am,
596         src/cacaoh/headers.c,
597         configure.ac: Green threads removal, USE_THREADS renamed to
598         ENABLE_THREADS, NATIVE_THREADS define removed.
599
600 2006-05-15 13:13  twisti
601
602         * src/vm/jit/asmpart.h (calljava_xhandler2): Not required anymore.
603
604 2006-05-15 12:23  twisti
605
606         * src/threads/native/threads.c (sem_init, sem_post, sem_wait)
607         (sem_destroy): Added a pthread implementation (taken from Boehm-GC)
608         for Darwin, as Darwin does not have an implementation for these
609         functions.
610         * src/threads/native/threads.h (sem_t): Added structure for Darwin.
611         * src/threads/native/lock.h (semaphore.h): Removed.
612
613 2006-05-15 12:14  edwin
614
615         * src/threads/native/lock.c (THIN_UNLOCKED): Abstracted out the thin
616         unlocked state so we can toggle the shape bit meaning if we want.
617         (lock_pre_compute_thinlock): Likewise.
618         (lock_get_initial_lock_word): Likewise.
619         (lock_monitor_enter): Made void. Might save an instruction here and
620         there.
621         (lock_monitor_wait): lock_monitor_enter no longer returns the lock
622         record. Assert that it is still the same fat lock (it must be).
623
624 2006-05-15 11:34  edwin
625
626         * src/threads/native/lock.c: Added reference to thin lock paper and
627         explained the lockword format.
628
629 2006-05-14 22:41  edwin
630
631         * src/threads/native/lock.c: Thin lock implementation.
632         
633         * src/threads/native/threads.h (threadobject): Added thinlock field.
634         (Authors, Changes): Moved myself to Authors because of rewrite.
635         
636         * src/threads/native/threads.c (threads_preinit): Init index and
637         thinlock field of mainthreadobj here. (Needed early.)
638         (threads_table_add): Init pre-computed thinlock field here.
639         
640         * src/threads/native/lock.h (lock_pre_compute_thinlock): New function.
641
642 2006-05-14 22:36  edwin
643
644         * src/threads/native/lock.c (lock_record_free_pools): Assert that
645         this function is not called. It does not match the new way lock
646         records are handled. We must find another way to free them.
647         
648         * src/threads/native/threads.c (threads_init): Do not call
649         lock_record_free_pools.
650         (threads_table_add): Removed debug code.
651         (threads_startup_thread): Likewise.
652
653 2006-05-14 15:34  edwin
654
655         * src/threads/native/threads.c (threads_table_init): New function.
656         (threads_table_add): New function.
657         (threads_table_remove): New function.
658         (threads_table_dump): New function.
659         (threads_table): New global variable.
660         (threads_preinit): Call threads_table_init.
661         Call threads_table_add to add main thread.
662         (threads_init_threadobject): Initialize index to 0.
663         (threads_startup_thread): Call threads_table_add to add the thread
664         to the table, and threads_table_remove to remove if afterwards.
665
666 2006-05-14 14:02  edwin
667
668         * src/threads/native/threads.h, src/threads/native/threads.c
669         (nativethread): Removed. This struct is now inlined in threadobject.
670         (threads_table_entry_t): New type.
671         (threads_table_t): New type.
672         Some further cleanup.
673         
674         * src/vm/builtin.h (THREADINFO): Becomes THREADOBJECT.
675         
676         * src/vm/jit/intrp/intrp.h (THREADINFO): Becomes THREADOBJECT.
677         
678         * src/vm/jit/stacktrace.c (_stackframeinfo): This is now directly
679         a field of threadobject.
680         
681         * src/vm/jit/stacktrace.h (THREADINFO): Becomes THREADOBJECT.
682         
683         * src/native/jni.h (THREADINFO): Becomes THREADOBJECT.
684         
685         * src/native/jvmti/jvmti.c (isSleeping): Renamed to sleeping.
686
687 2006-05-14 12:22  edwin
688
689         * src/threads/native/lock.c, src/threads/native/lock.h: Rewritten
690         as a very basic fat lock implementation.
691         
692         * src/vm/jit/powerpc64/arch.h (USE_MD_THREAD_STUFF): Renamed to
693         USE_FAKE_ATOMIC_INSTRUCTIONS.
694         
695         * src/vm/jit/intrp/engine.c (USE_MD_THREAD_STUFF): Renamed to
696         USE_FAKE_ATOMIC_INSTRUCTIONS.
697         
698         * src/threads/native/threads.c (USE_MD_THREAD_STUFF): Renamed to
699         USE_FAKE_ATOMIC_INSTRUCTIONS.
700         (ee.lrpool): Renamed to ee.lockrecordpools.
701
702 2006-05-14 12:15  edwin
703
704         * src/threads/native/threads.c (threads_calc_absolute_time): Optimize
705         waiting for the maximum 64-bit number of milliseconds to an unbounded
706         wait. This also avoids an overflow problem we seem to have with timed
707         waits.
708
709 2006-05-13 23:25  edwin
710
711         * src/threads/native/lock.c (lock_init_thread_lock_record_pool):
712         Renamed to lock_init_execution_env. Cleanup and Comments.
713         
714         * src/threads/native/lock.h (lock_init_thread_lock_record_pool):
715         Renamed to lock_init_execution_env.
716         
717         * src/threads/native/threads.c (lock_init_thread_lock_record_pool):
718         Renamed to lock_init_execution_env.
719
720 2006-05-13 23:10  edwin
721
722         * src/threads/native/threads.c, src/threads/native/threads.c: Further
723         cleanup. Still no functional changes.
724         Renamed external symbols are listed below.
725         
726         * src/threads/native/critical.h, src/threads/native/critical.c:
727         Cleanup.
728         
729         * src/threads/native/lock.h: Cleanup.
730         
731         * src/vm/jit/profile/profile.c (thread_sleep): Renamed to
732         threads_sleep.
733         
734         * src/vm/vm.c (joinAllThreads): Renamed to threads_join_all_threads.
735         
736         * src/native/jni.c (thread_getself): Renamed to
737         threads_get_current_threadobject.
738         
739         * src/native/vm/VMThread.c (thread): Typedef `thread` has been
740         removed.
741         (interruptThread): Renamed to threads_interrupt_thread.
742         (isInterruptedThread): Renamed to threads_thread_has_been_interrupted.
743         (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
744         (yieldThread): Renamed to threads_yield.
745         (interruptedThread): Renamed to
746         threads_check_if_interrupted_and_reset.
747         
748         * src/native/jvmti/cacaodbg.c (thread_getself): Renamed to
749         threads_get_current_threadobject.
750         (setthreadobject): Renamed to threads_set_current_threadobject.
751         
752         * src/native/jvmti/jvmti.c (setthreadobject): Renamed to
753         threads_set_current_threadobject.
754         
755         * src/threads/green/threads.h (yieldThread): Renamed to threads_yield.
756         (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
757         
758         * src/threads/green/threads.c (yieldThread): Renamed to threads_yield.
759         (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
760
761 2006-05-12 16:49  edwin
762
763         * src/threads/native/threads.c: The Big Thread Cleanup. No functional
764         changes,
765         only code motion, renaming, documenting. This file has been split into
766         threads.c, lock.c, and critical.c.
767         Externally used symbols that were renamed are listed below. Static
768         symbol
769         renames are not listed.
770         
771         * src/threads/native/threads.h: The Big Thread Cleanup. No functional
772         changes,
773         only code motion, renaming, documenting. This file has been split into
774         threads.h, lock.h, and critical.h.
775         
776         * src/cacaoh/cacaoh.c (initLocks): Renamed to lock_init (green
777         threads).
778         
779         * src/cacaoh/headers.c (threadcritnode): Renamed to
780         critical_section_node_t.
781         
782         * src/mm/memory.c (initObjectLock): Renamed to lock_init_object_lock.
783         
784         * src/native/jvmti/jvmti.c (lockRecordPool): Renamed to
785         lock_record_pool_t.
786         (pool_lock): Renamed to lock_global_pool_lock.
787         (global_pool): Renamed to lock_global_pool.
788         (ownerThread): Renamed to owner.
789         (threadHoldsLock): Renamed to lock_does_thread_hold_lock.
790         (monitorExit): Renamed to lock_monitor_exit.
791         (wait_cond_for_object): Renamed to lock_wait_for_object.
792         (signal_cond_for_object): Renamed to lock_notify_object.
793         (broadcast_cond_for_object): Renamed to lock_notify_all_object.
794         
795         * src/native/tools/gennativetable.c (initLocks): Renamed to lock_init
796         (green threads).
797         
798         * src/native/vm/VMObject.c (initObjectLock): Renamed to
799         lock_init_object_lock.
800         (wait_cond_for_object): Renamed to lock_wait_for_object.
801         (signal_cond_for_object): Renamed to lock_notify_object.
802         (broadcast_cond_for_object): Renamed to lock_notify_all_object.
803         
804         * src/native/vm/VMThread.c (threadHoldsLock): Renamed to
805         lock_does_thread_hold_lock.
806         
807         * src/threads/green/locks.c, src/threads/green/locks.h
808         (initLocks): Renamed to lock_init.
809         (wait_cond_for_object): Renamed to lock_wait_for_object.
810         (signal_cond_for_object): Renamed to lock_notify_object.
811         (broadcast_cond_for_object): Renamed to lock_notify_all_object.
812         (internal_broadcast_cond_for_object): Renamed to
813         internal_lock_notify_all_object.
814         
815         * src/threads/green/threads.c (initLocks): Renamed to lock_init.
816         (internal_broadcast_cond_for_object): Renamed to
817         internal_lock_notify_all_object.
818         
819         * src/threads/native/Makefile.am (lock.c, lock.h): Added new files.
820         (critical.c, critical.h): Added new files.
821         (Changes): Added my name.
822         
823         * src/threads/native/critical.c: New file.
824         
825         * src/threads/native/critical.h: New file.
826         
827         * src/threads/native/lock.c: New file.
828         
829         * src/threads/native/lock.h: New file.
830         
831         * src/toolbox/avl.c (initObjectLock): Renamed to
832         lock_init_object_lock.
833         
834         * src/vm/builtin.c (initObjectLock): Renamed to lock_init_object_lock.
835         (monitorEnter): Renamed to lock_monitor_enter.
836         (monitorExit): Renamed to lock_monitor_exit.
837         
838         * src/vm/class.c (initObjectLock): Renamed to lock_init_object_lock.
839         
840         * src/vm/classcache.c (initObjectLock): Likewise.
841         
842         * src/vm/finalizer.c (initObjectLock): Likewise.
843         (wait_cond_for_object): Renamed to lock_wait_for_object.
844         (signal_cond_for_object): Renamed to lock_notify_object.
845         
846         * src/vm/global.h (monitorLockRecord): Renamed to lock_record_t.
847         
848         * src/vm/hashtable.c (initObjectLock): Renamed to
849         lock_init_object_lock.
850         
851         * src/vm/jit/asmpart.h: Added #include "threads/native/critical.h"
852         (threadcritnode): Renamed to critical_section_node_t.
853         
854         * src/vm/jit/code.c: Comment changed.
855         
856         * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h
857         (threadcritnode): Renamed to critical_section_node_t.
858         (threadcritnodetemp): Renamed to codegen_critical_section_t.
859         
860         * src/vm/jit/alpha/codegen.c (get_dummyLR): Renamed to
861         lock_get_initial_lock_word.
862         
863         * src/vm/jit/alpha/freebsd/md-os.c (thread_checkcritical): Renamed to
864         critical_find_restart_point.
865         * src/vm/jit/alpha/linux/md-os.c (thread_checkcritical): Renamed to
866         critical_find_restart_point.
867         
868         * src/vm/jit/i386/codegen.c (get_dummyLR): Renamed to
869         lock_get_initial_lock_word.
870         
871         * src/vm/jit/i386/freebsd/md-os.c (thread_checkcritical): Renamed to
872         critical_find_restart_point.
873         * src/vm/jit/i386/linux/md-os.c (thread_checkcritical): Renamed to
874         critical_find_restart_point.
875         
876         * src/vm/jit/intrp/dynamic-super.c (initObjectLock): Renamed to
877         lock_init_object_lock.
878         
879         * src/vm/jit/mips/codegen.c (get_dummyLR): Renamed to
880         lock_get_initial_lock_word.
881         
882         * src/vm/jit/mips/irix/md-os.c (thread_checkcritical): Renamed to
883         critical_find_restart_point.
884         * src/vm/jit/mips/linux/md-os.c (thread_checkcritical): Renamed to
885         critical_find_restart_point.
886         
887         * src/vm/jit/powerpc/codegen.c (get_dummyLR): Renamed to
888         lock_get_initial_lock_word.
889         
890         * src/vm/jit/profile/profile.c (wait_cond_for_object): Renamed to
891         lock_wait_for_object.
892         
893         * src/vm/jit/stack.c (initObjectLock): Renamed to
894         lock_init_object_lock.
895         
896         * src/vm/jit/x86_64/codegen.c (get_dummyLR): Renamed to
897         lock_get_initial_lock_word.
898         
899         * src/vm/jit/x86_64/md.c (thread_checkcritical): Renamed to
900         critical_find_restart_point.
901         
902         * src/vm/loader.c (initObjectLock): Renamed to
903         lock_init_object_lock.
904         (initLocks): Renamed to lock_init (green threads).
905         
906         * src/vm/string.c (initObjectLock): Renamed to
907         lock_init_object_lock.
908         
909         * src/vm/vm.c (initLocks): Renamed to lock_init (green threads).
910
911 2006-05-12 14:32  twisti
912
913         * src/vm/jit/emit.h: Replaced __POWERPC__ #ifdef with
914         SIZEOF_VOID_P == 4.
915
916 2006-05-11 14:02  twisti
917
918         * src/native/vm/VMClassLoader.c (nativeGetResources): Bugfix: utf_new
919         should be utfname.
920
921 2006-05-11 13:43  twisti
922
923         * src/vm/jit/mips/codegen.c: Changed mcodeptr from u4* to u1*.
924         * src/vm/jit/mips/codegen.h: Likewise.
925
926 2006-05-11 13:09  twisti
927
928         * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Use new
929         jit_asm_compile method.
930
931 2006-05-11 12:48  edwin
932
933         * src/threads/native/threads.c (monitorExit): Added an assert to
934         check that no existing waiter is overwritten by the suspicious
935         assignment.
936
937 2006-05-11 12:36  edwin
938
939         * src/lib/vm/reference/java/lang/VMClassLoader.java
940         (getBootPackages): Merged patch to VMClassLoader.java of the
941         reference implementation. getBootPackages now works in the
942         presence of endorsed jars.
943
944 2006-05-11 12:18  twisti
945
946         * src/native/jni.c (DeleteGlobalRef): Bugfix: handle the removal of
947         the first entry in the chain properly.
948
949 2006-05-11 09:18  twisti
950
951         * src/vm/hashtable.c (threads/native/threads.h): Added.
952         (hashtable_create): Initialize lock object.
953         (hashtable_resize): New function.
954         (hashtable_free): Likewise.
955         * src/vm/hashtable.h (hashtable): Added header pointer.
956         (hashtable_resize): Added.
957         (hashtable_free): Likewise.
958         
959         * src/vm/vm.c (vm_create): Call jni_init before threads_init.
960         
961         * src/vm/utf8.c (lock_hashtable_utf): Removed.
962         (utf8_init): Allocate hashtable on heap.
963         (utf_new): Use new hashtable stuff.
964         
965         * src/native/native.c (native_init): Use new hashtable stuff.
966         (native_hashtable_library_add): Likewise.
967         
968         * src/native/jni.c (jni_init): Removed Java IdentityHashMap stuff and
969         create a hashtable.
970         (NewGlobalRef): Implemented with native hashtable.
971         (DeleteGlobalRef): Likewise.
972         
973         * src/native/jni.h (hashtable_global_ref_entry): Added.
974         
975         * src/vm/string.c (literalstring_u2): Removed check for
976         class_java_lang_String, we have an assert there.
977
978 2006-05-10 16:14  twisti
979
980         * src/vm/jit/alpha/codegen.c: Changed mcodeptr from u4* to u1*.
981         * src/vm/jit/alpha/codegen.h: Likewise.
982
983 2006-05-10 15:51  twisti
984
985         * src/vm/jit/codegen-common.h (codegendata): Use an u1* mcodeptr for
986         all architectures. This is necessary for the interpreter.
987         * src/vm/jit/codegen-common.c (codegen_setup): Removed #ifdef.
988         (codegen_increase): Likewise.
989         
990         * src/vm/jit/powerpc/codegen.c: Changed mcodeptr from u4* to u1*.
991         * src/vm/jit/powerpc/codegen.h: Likewise.
992
993 2006-05-10 15:09  edwin
994
995         * src/vm/jit/inline/inline.c (inline_write_exception_handlers):
996         Correct cast for abused instruction->target.
997
998 2006-05-10 13:12  twisti
999
1000         * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use new
1001         jit_asm_compile method.
1002
1003 2006-05-08 11:09  twisti
1004
1005         * configure.ac (AC_CONFIG_FILES): Added src/scripts/keytool.
1006         * src/scripts/Makefile.am (bin_SCRIPTS): Added keytool.
1007         * src/scripts/.cvsignore: Likewise.
1008         * src/scripts/keytool.in: New file.
1009
1010 2006-05-08 11:05  twisti
1011
1012         * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Handle argument
1013         passing properly for SysV ABIs. Darwin is left to do.
1014
1015 2006-05-08 11:03  twisti
1016
1017         * tests/regression/native/testarguments.java: Added new test.
1018         * tests/regression/native/testarguments.c: Likewise.
1019         * tests/regression/native/testarguments.output: Likewise.
1020
1021 2006-05-06 18:29  motse
1022
1023         * src/vm/vm.c (vm_create): make agentlib/agentpath work
1024         * src/cacao/cacao.c (main): changes for jvmti/jdwp startup due to
1025         removal of jdwp process
1026         * src/native/jni.c (JNI_CreateJavaVM): change order vm_create and
1027         initialization of _Jv_jvm due to jvmti agent support.
1028         * src/native/vm/VMVirtualMachine.c: change name of jvmtienv and
1029         bugfixes of Samuel Vinson
1030         * src/native/include/Makefile.am: add VMMethod.h
1031         * src/native/jvmti/Makefile.am: removal of cacaodbgserver
1032         * src/native/jvmti/jvmti.c: remove jdwp process and convert to thread
1033         * src/native/jvmti/cacaodbg.h: idem
1034         * src/native/jvmti/jvmti.h: idem
1035         * src/native/jvmti/dbg.h: idem
1036         * src/native/jvmti/cacaodbg.c: idem
1037         * src/native/jvmti/dbg.c: idem
1038         * src/native/jvmti/cacaodbgserver.c: change to a autonomous program
1039         and removal of jdwp thread.
1040         * src/native/jvmti/VMjdwp.c (VMInit): different invocation due to
1041         removal of jdwp thread
1042         * src/native/jvmti/VMjdwp.h: export jvmti environment and event
1043         callbacks.
1044         * src/native/vm/VMMethod.c: initial/dummy implementation of VMMetod
1045         native method
1046
1047 2006-05-06 14:13  edwin
1048
1049         * src/native/vm/VMRuntime.c
1050         (Java_java_lang_VMRuntime_mapLibraryName): Use new utf_ functions.
1051         (Changes): Added my name.
1052         (vim boilerplate): Added.
1053
1054 2006-05-06 10:10  edwin
1055
1056         * src/native/vm/VMClassLoader.c
1057         (Java_java_lang_VMClassLoader_nativeGetResources): Really create a
1058         new utf string to search for if the trailing .class is stripped.
1059
1060 2006-05-06 00:16  edwin
1061
1062         * src/vm/classcache.c (classcache_merge_class_entries):
1063         Use utf_cat_classname.
1064         (classcache_store): Likewise.
1065         (classcache_store_defined): Likewise.
1066
1067 2006-05-06 00:11  edwin
1068
1069         * src/native/vm/VMClassLoader.c
1070         (Java_java_lang_VMClassLoader_nativeGetResources): Fixed and cleaned
1071         up. Skip leading '/'. Remove '.class' only at end. Free char buffer.
1072         Use correct utf_ functions. Check for exceptions.
1073         
1074         * src/vm/zip.c (zip_find): Documented.
1075
1076 2006-05-05 19:31  edwin
1077
1078         * src/vm/utf8.h: Moved #include "config.h" up front.
1079
1080 2006-05-05 19:22  edwin
1081
1082         * src/toolbox/logging.c (Changes): Added my name.
1083         (vim boilerplate): Added.
1084
1085 2006-05-05 19:21  edwin
1086
1087         * src/toolbox/logging.c (log_message_utf): Use new utf_ functions.
1088         (log_message_class_message_class): Likewise.
1089         (log_message_method): Likewise.
1090
1091 2006-05-05 19:13  edwin
1092
1093         * src/vm/builtin.c (builtin_throw_exception): Use new utf_ functions.
1094         (builtin_trace_exception): Likewise.
1095         (builtin_trace_args): Likewise.
1096         (builtin_displaymethodstop): Likewise.
1097
1098 2006-05-05 18:58  edwin
1099
1100         * src/vm/suck.c (suck_start): Use new utf_ functions.
1101
1102 2006-05-05 18:49  edwin
1103
1104         * src/vm/utf8.h, src/vm/utf8.c: Fixed header.
1105
1106 2006-05-05 18:14  edwin
1107
1108         * src/vm/loader.c (load_class_from_classbuffer): Use new
1109         utf_ functions.
1110
1111 2006-05-05 18:08  edwin
1112
1113         * src/vm/resolve.c (resolve_class_from_name): Use new utf_ functions.
1114         (resolve_subtype_check): Likewise.
1115         (resolve_field_verifier_checks): Likewise.
1116         (resolve_method_verifier_checks): Likewise.
1117
1118 2006-05-05 17:34  edwin
1119
1120         * src/vm/utf8.h, src/vm/utf8.c: The Big utf_* Renaming.
1121         The purpose of this change is to give the utf_* functions names
1122         that make clear what these functions _really_ have been doing
1123         all the time. I'm sure most callers would be surprised if they
1124         knew. All call sites should be reviewed!
1125         (utf_display): Renamed to utf_display_printable_ascii.
1126         (utf_display_classname): Renamed to
1127         utf_display_printable_ascii_classname.
1128         (utf_sprint): Renamed to utf_sprint_convert_to_latin1.
1129         (utf_sprint_classname): Renamed to
1130         utf_sprint_convert_to_latin1_classname.
1131         (utf_strcat): Renamed to utf_strcat_convert_to_latin1.
1132         (utf_strcat_classname): Renamed to
1133         utf_strcat_convert_to_latin1_classname.
1134         (utf_fprint): Renamed to utf_fprint_printable_ascii.
1135         (utf_fprint_classname): Renamed to
1136         utf_fprint_printable_ascii_classname.
1137         
1138         * src/vm/class.c, src/vm/suck.c, src/vm/loader.c, src/vm/builtin.c,
1139         src/vm/descriptor.c, src/vm/resolve.c, src/vm/method.c,
1140         src/vm/classcache.c, src/vm/jit/stack.c, src/vm/jit/verify/typeinfo.c,
1141         src/vm/jit/allocator/lsra.c, src/vm/jit/intrp/disass.c,
1142         src/vm/jit/stacktrace.c, src/vm/jit/codegen-common.c,
1143         src/vm/exceptions.c, src/vm/field.c, src/cacao/cacao.c,
1144         src/native/tools/gennativetable.c, src/native/vm/VMClassLoader.c,
1145         src/native/vm/VMRuntime.c, src/native/native.c, src/toolbox/logging.c,
1146         src/threads/green/threads.c, src/threads/native/threads.c,
1147         src/cacaoh/headers.c: The Big utf_ Renaming. All call sites of the
1148         renamed functions should be reviewed! Calls outside debugging code
1149         are probably incorrect and should use one of the new utf_ functions
1150         that copies byte-for-byte.
1151
1152 2006-05-05 17:09  edwin
1153
1154         * src/vm/exceptions.c (new_exception): Documented.
1155         (new_exception_message): Documented. Use new_exception_javastring.
1156         (new_exception_throwable): Documented.
1157         (new_exception_utfmessage): Documented. Use new_exception_javastring.
1158         (new_exception_javastring): Documented.
1159         (new_exception_int): Documented.
1160         (new_classformaterror): Documented. Use new byte-for-byte UTF-8
1161         functions.
1162         (exceptions_throw_classformaterror): Documented.
1163         (new_classnotfoundexception): Documented. Check return value of
1164         javastring_new.
1165         (new_noclassdeffounderror): Documented. Check return value of
1166         javastring_new.
1167         (new_internalerror): Documented.
1168         (exceptions_new_linkageerror): Documented. Use new byte-for-byte UTF-8
1169         functions.
1170         (exceptions_new_nosuchmethoderror): Documented. Use new byte-for-byte
1171         UTF-8
1172         functions.
1173         (exceptions_throw_nosuchmethoderror): Documented.
1174         (new_unsupportedclassversionerror): Documented. Use new byte-for-byte
1175         UTF-8
1176         functions.
1177         (new_verifyerror): Likewise.
1178         (exceptions_throw_verifyerror_for_stack): Likewise.
1179         (exceptions_handle_exception): Documented.
1180
1181 2006-05-05 16:51  edwin
1182
1183         * src/vm/utf8.c, src/vm/utf8.h (utf_copy): New function.
1184         (utf_cat): New function.
1185         (utf_copy_classname): New function.
1186         (utf_cat_classname): New function.
1187         These new functions copy the UTF-8 content byte-for-byte and thus
1188         do not lead to losses by conversion like the utf_strcpy, etc.
1189         functions.
1190
1191 2006-05-05 15:26  edwin
1192
1193         * src/vm/string.c, src/vm/stringlocal.h, src/vm/utf8.c, src/vm/utf8.h
1194         (Changes): Added my name.
1195         (vim boilerplate): Added.
1196
1197 2006-05-05 15:14  edwin
1198
1199         * src/vm/string.c, src/vm/stringlocal.h
1200         (javastring_new_from_utf_buffer): New function.
1201         (javastring_new_from_utf_string): New function.
1202         
1203         * src/vm/utf8.c (utf_get_number_of_u2s_for_buffer): New function.
1204         (utf_get_number_of_u2s): Documented that this function may throw
1205         exception.s.
1206         
1207         * src/vm/utf8.h (utf_get_number_of_u2s_for_buffer): New function.
1208
1209 2006-05-05 14:36  edwin
1210
1211         * src/vm/string.c, src/vm/stringlocal.h (java_string_new_char):
1212         Renamed to `java_string_new_from_ascii` to make more clear what this
1213         function does. It is wrong to use this function to create a
1214         java.lang.String from a buffer of UTF-8 characters!
1215         
1216         * src/vm/finalizer.c (finalizer_start_thread): Legitimate use.
1217         * src/vm/jit/profile/profile.c (profile_start_thread): Likewise.
1218         
1219         * src/vm/exceptions.c
1220         (exceptions_new_linkageerror): Definitely INCORRECT use.
1221         (exceptions_new_nosuchmethoderror): Likewise.
1222         * src/native/vm/VMRuntime.c
1223         (Java_java_lang_VMRuntime_mapLibraryName): Likewise.
1224         
1225         * src/vm/exceptions.c (new_exception_message): Probably INCORRECT use.
1226         * src/native/jni.c (DefineClass): Likewise.
1227         (ThrowNew): Likewise.
1228         * src/native/vm/VMClassLoader.c
1229         (Java_java_lang_VMClassLoader_nativeGetResources): Likewise.
1230         
1231         * src/vm/properties.c (properties_system_add): Needs review.
1232         * src/cacao/cacao.c (getmainclassnamefromjar): Likewise.
1233         * src/native/jvmti/cacaodbg.c (setup_jdwp_thread): Likewise.
1234         * src/native/jvmti/jvmti.c (CreateRawMonitor, GetSystemProperty)
1235         (SetSystemProperty): Likewise.
1236
1237 2006-05-05 13:56  edwin
1238
1239         * src/vm/utf8.c, src/vm/utf8.h (utf_bytes): New function.
1240         Use this function to query the number of octets of a utf string.
1241         This function will become the correct replacement for the old
1242         utf_strlen in most places. The calling code will have to be
1243         reviewed for that, however, and it will also require fixing
1244         utf_strcat, utf_sprint, and so on, to do the right thing.
1245
1246 2006-05-05 13:48  edwin
1247
1248         * src/vm/utf8.c, src/vm/utf8.h (utf_strlen): Renamed to
1249         `utf_get_number_of_u2s` in order to reflect what this function
1250         _really_ does. A long name was chosen intentionally to make it obvious
1251         that this is _not_ the function to use as the normal strlen. Most
1252         current uses of this function are invalid, as it must only be used
1253         when the utf string will be **converted to UTF-16**.
1254         
1255         * src/vm/suck.c (suck_start): Renamed utf_strlen. RECONSIDER USE!
1256         * src/vm/loader.c (load_class_from_classbuffer): Likewise.
1257         * src/vm/builtin.c (various functions): Likewise.
1258         * src/vm/resolve.c (various functions): Likewise.
1259         * src/vm/exceptions.c (various functions): Likewise.
1260         * src/native/vm/VMClassLoader.c
1261         (Java_java_lang_VMClassLoader_nativeGetResources): Likewise.
1262         * src/native/vm/VMRuntime.c
1263         (Java_java_lang_VMRuntime_mapLibraryName): Likewise.
1264         * src/native/native.c (native_resolve_function): Likewise.
1265         * src/toolbox/logging.c (various functions): Likewise.
1266         * src/cacaoh/headers.c (various functions): Likewise.
1267         
1268         * src/vm/string.c (javastring_new): Legitimate use.
1269         (javastring_new_slash_to_dot): Likewise.
1270         (literalstring_new) Likewise.
1271
1272 2006-05-03 23:04  edwin
1273
1274         * src/threads/native/threads.c (wakeWaiters): Renamed
1275         to threads_wake_waiters. Documented.
1276
1277 2006-05-03 22:58  edwin
1278
1279         * src/threads/native/threads.c (handleWaiter): Renamed arguments.
1280         Commented.
1281         (monitorEnter): Documented.
1282         (notifyOneOrAll): Cleaned up.
1283
1284 2006-05-03 22:46  edwin
1285
1286         * src/threads/native/threads.c (setPriority): Renamed to
1287         threads_set_thread_priority.
1288         (removeFromWaiters): Renamed to threads_remove_waiter.
1289         (timespec_less): Renamed to threads_timespec_earlier.
1290         (timeIsEarlier): Renamed to threads_current_time_is_earlier_than.
1291         (waitWithTimeout): Renamed to threads_wait_with_timeout. Removed
1292         unused
1293         argument `lr`.
1294         (thread_sleep): There is no need to create a lock record for
1295         calling threads_wait_with_timeout, as that does not use the
1296         lock record anyway (formerly waitWithTimeout).
1297         (various function): Lots of documentation and cleanup.
1298
1299 2006-05-02 16:16  twisti
1300
1301         * src/vm/jit/stack.c (stack_analyse): Check for val.a == NULL on
1302         SUPPORT_CONST_STORE_ZERO_ONLY architectures for ICMD_PUTSTATIC and
1303         ICMD_PUTFIELD.
1304
1305 2006-05-01 23:14  edwin
1306
1307         * src/threads/native/threads.c: Cleanup and documentation.
1308
1309 2006-05-01 21:40  edwin
1310
1311         * src/threads/native/threads.h (threads_sem_init): New function.
1312         (threads_sem_post): New function.
1313         
1314         * src/threads/native/threads.c (threads_sem_init): New function.
1315         (threads_sem_wait): Added assertion.
1316         (threads_sem_post): New function.
1317         (various function): Use threads_sem_init and threads_sem_post.
1318         
1319         * src/native/jvmti/cacaodbg.c (getworkingdatalock): Use
1320         threads_sem_post.
1321         (cacaodbgfork): Use threads_sem_init.
1322         
1323         * src/native/jvmti/cacaodbgserver.c (contchild, waitloop).
1324         Use threads_sem_post.
1325
1326 2006-05-01 12:40  edwin
1327
1328         * src/threads/native/threads.c (threads_sem_wait): New function.
1329         This function performs a non-interruptible sem_wait. This fixes
1330         segfaults and deadlocks that resulted from sem_wait calls returning
1331         prematurely.
1332         (cast_stopworld): Use threads_sem_wait.
1333         (threads_startup_thread): Likewise.
1334         (threads_start_thread): Likewise.
1335         (queueOnLockRecord): Likewise.
1336         
1337         * src/threads/native/threads.h (threads_sem_wait): New function.
1338         
1339         * src/native/jvmti/cacaodbg.c (msgqsendevent): Use threads_sem_wait
1340         instead of sem_wait.
1341         
1342         * src/native/jvmti/cacaodbgserver.c (contchild, waitloop): Use
1343         threads_sem_wait instead of sem_wait.
1344
1345 2006-04-30 17:18  twisti
1346
1347         * configure.ac (AC_CONFIG_FILES): Added src/scripts/jarsigner.
1348         * src/scripts/Makefile.am (bin_SCRIPTS): Added jarsigner.
1349         * src/scripts/.cvsignore: Likewise.
1350         * src/scripts/jarsigner.in: New file.
1351
1352 2006-04-30 16:17  edwin
1353
1354         * src/vm/resolve.c (resolve_method_verifier_checks)
1355         (constrain_unresolved_method): Use ICMD_ACONST_CLASSREF_OR_CLASSINFO.
1356         
1357         * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
1358         src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c,
1359         src/vm/jit/intrp/codegen.c, src/vm/jit/x86_64/codegen.c
1360         (codegen): Changes for new ACONST format.
1361         
1362         * src/vm/jit/stack.c (stack_analyse): Changes for new ACONST format.
1363         
1364         * src/vm/jit/verify/typecheck.c (verify_invocation): Use the new
1365         macros.
1366         (verify_builtin, verify_multianewarray, verify_basic_block): Changes
1367         for
1368         new ACONST format.
1369         
1370         * src/vm/jit/verify/typeinfo.h (TYPEINFO_INIT_JAVA_LANG_CLASS): Take
1371         a classref_or_classinfo as argument.
1372         
1373         * src/vm/jit/verify/typeinfo.c (typeinfo_init_class): Typo fixed.
1374         (typeinfo_print): Changes for new ACONST format.
1375         
1376         * src/vm/jit/inline/inline.c (inline_write_exception_handlers):
1377         Changes for new ACONST format.
1378         
1379         * src/vm/jit/parse.c (parse): Changes for new ACONST format.
1380         
1381         * src/vm/jit/parse.h (LOADCONST_A_CLASS): Removed.
1382         (LOADCONST_A_BUILTIN): Changes for new ACONST format.
1383         
1384         * src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED,
1385         INSTRUCTION_IS_UNRESOLVED):
1386         Only check least significant bit of target (provisory flag).
1387         (ICMD_ACONST_IS_CLASS, ICMD_ACONST_CLASSREF_OR_CLASSINFO)
1388         (ICMD_ACONST_RESOLVED_CLASSINFO, ICMD_ACONST_UNRESOLVED_CLASSREF):
1389         New macros.
1390
1391 2006-04-30 15:58  edwin
1392
1393         * src/vm/jit/loop/tracing.c (tracing): Adapted to new format of
1394         INVOKE
1395         instructions.
1396         * src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates)
1397         (_test_lifetimes): Likewise.
1398
1399 2006-04-28 12:25  edwin
1400
1401         * src/vm/jit/parse.c (parse): Added a comment.
1402
1403 2006-04-28 12:24  twisti
1404
1405         * src/vm/jit/stack.c (stack_analyse): We need to split AASTORECONST
1406         and PUT{STATIC,FIELD}CONST as they can store different values. I hope
1407         the checks are correct now (until we get our new instruction
1408         format). Edwin: Hint! Hint! Hint!
1409         (stack_show_icmd): Again a smaller change.
1410
1411 2006-04-28 11:50  twisti
1412
1413         * src/vm/jit/stack.c (stack_analyse): Check for
1414         {AASTORE,PUTSTATIC,PUTFIELD}CONST if the instruction is resolved. We
1415         don't have a patcher for that case.
1416         (stack_show_icmd): Smaller change.
1417
1418 2006-04-28 11:37  twisti
1419
1420         * tests/regression/codepatching/test.java: Added new test.
1421         * tests/regression/codepatching/Makefile.am: Files updated.
1422         
1423         * tests/regression/codepatching/putfieldconstIF.java,
1424         tests/regression/codepatching/putfieldconstJDL.java: Removed.
1425         
1426         * tests/regression/codepatching/putstaticconstJ.java,
1427         tests/regression/codepatching/putstaticconstL.java,
1428         tests/regression/codepatching/putfieldconstD.java,
1429         tests/regression/codepatching/putfieldconstF.java,
1430         tests/regression/codepatching/putstaticconstC.java,
1431         tests/regression/codepatching/putfieldconstJ.java,
1432         tests/regression/codepatching/putfieldconstL.java,
1433         tests/regression/codepatching/putstaticconstI.java,
1434         tests/regression/codepatching/putfieldconstC.java,
1435         tests/regression/codepatching/putstaticconstD.java,
1436         tests/regression/codepatching/putfieldconstI.java,
1437         tests/regression/codepatching/putstaticconstF.java: New file.
1438
1439 2006-04-28 11:24  edwin
1440
1441         * src/vm/resolve.c (resolve_method_lazy): Turn INVOKEVIRTUAL into
1442         INVOKESPECIAL for monomorphic calls.
1443
1444 2006-04-28 00:46  edwin
1445
1446         * src/vm/jit/intrp/asmpart.c (intrp_asm_vm_call_method_int): Fix
1447         build
1448         errors. TWISTI, please review these changes.
1449
1450 2006-04-28 00:31  edwin
1451
1452         * regression/codepatching/test.java: Added test for AASTORECONST
1453         with unresolved class constant. Currently exposes a bug when
1454         test.java is
1455         compiled with -target 1.5.
1456         
1457         * regression/codepatching/aastoreconstClass.java: New file.
1458
1459 2006-04-27 23:03  twisti
1460
1461         * src/vm/jit/stacktrace.h (STACKFRAMEINFO): Added parenthesis.
1462         * src/vm/global.h (java_objectheader): Changed type of monitorPtr to
1463         monitorLockRecord.
1464         
1465         * src/vm/vm.h (vm_arg): Added union.
1466         * src/vm/vm.c (vm_vmargs_from_valist): Use union of vm_arg's data.
1467         * src/native/jni.c (_Jv_jni_vmargs_from_objectarray): Likewise.
1468         
1469         * src/threads/native/threads.h (nativethread): Changed type of
1470         _stackframeinfo to stackframeinfo*.
1471         * src/threads/native/threads.c (monitorEnter): Cast compare_and_swap
1472         return value correctly.
1473
1474 2006-04-27 12:33  twisti
1475
1476         * src/vm/jit/x86_64/emit.c: Changed x86_64 function prefix to
1477         emit. And some other stuff too.
1478         * src/vm/jit/x86_64/md-emit.h: Likewise.
1479         * src/vm/jit/x86_64/codegen.c: Likewise.
1480         * src/vm/jit/x86_64/codegen.h: Likewise.
1481
1482 2006-04-27 11:05  twisti
1483
1484         * src/native/vm/VMSystemProperties.c (preInit): Append "/jre" to
1485         java.home property, as all JDKs and JREs do that. Fixed a problem with
1486         jonas testsuite. General cleanup.
1487
1488 2006-04-27 10:32  twisti
1489
1490         * src/vm/jit/powerpc/darwin/md-asm.h (jit_asm_compile): Renamed from
1491         jit_compile.
1492         * src/vm/jit/powerpc/asmpart.S: Likewise.
1493
1494 2006-04-26 15:44  edwin
1495
1496         * src/vm/jit/stacktrace.c (stacktrace_getClassContext): Reverted the
1497         hack that removes the first entry if this function is called by
1498         java.lang.SecurityManager. This (undocumented) hack probably was done
1499         to solve a problem that no longer exists.
1500
1501 2006-04-26 14:09  twisti
1502
1503         * src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Removed
1504         emitfuncs.c, emitfuncs.h and added emit.c, md-emit.h.
1505         
1506         * src/vm/jit/i386/emit.c (emit_load_s1): New method.
1507         (emit_load_s2): Likewise.
1508         (emit_load_s3): Likewise.
1509         (emit_store): Likewise.
1510         (emit_copy): Likewise.
1511         
1512         * src/vm/jit/i386/codegen.c (codegen): Use emit_load/store functions
1513         instead of macros.
1514         
1515         * src/vm/jit/i386/codegen.h (M_LNGMOVE): Added.
1516         (M_LNGMEMMOVE): Removed.
1517         (var_to_reg_int): Removed.
1518         (var_to_reg_lng): Likewise.
1519         (var_to_reg_flt): Likewise.
1520         (store_reg_to_var_int): Likewise.
1521         (store_reg_to_var_lng): Likewise.
1522         (store_reg_to_var_flt): Likewise.
1523         (M_FLD): Added.
1524         (M_DLD): Likewise.
1525         (M_FLD32): Likewise.
1526         (M_DLD32): Likewise.
1527         (M_FST): Likewise.
1528         (M_DST): Likewise.
1529
1530 2006-04-26 11:02  twisti
1531
1532         * src/vm/jit/i386/md-emit.h: Moved from src/vm/jit/i386/emitfuncs.h.
1533         * src/vm/jit/i386/emit.c: Moved from src/vm/jit/i386/emitfuncs.c.
1534
1535 2006-04-26 09:02  twisti
1536
1537         * configure.ac (AC_CONFIG_FILES): Added src/scripts/rmic.
1538         * src/scripts/Makefile.am (bin_SCRIPTS): Added rmic.
1539         * src/scripts/java.in: Use ${1+"$@"} instead of $@.
1540         * src/scripts/rmiregistry.in: Likewise.
1541         * src/scripts/rmic.in: Updated to new rmic location.
1542
1543 2006-04-26 08:57  twisti
1544
1545         * m4/ac_prog_javac.m4: Default to ecj.
1546         * src/lib/Makefile.am: If JAVAC is ecj, use the -1.5 flag. This
1547         produces much faster code regarding class$ (e.g. jonas startup time).
1548
1549 2006-04-25 18:02  edwin
1550
1551         * src/vm/jit/disass-common.c (disass_printf): Avoid compiler warning.
1552         
1553         * src/vm/jit/profile/profile.c (profile_printstats): Avoid compiler
1554         warnings.
1555
1556 2006-04-25 17:57  edwin
1557
1558         * src/vm/jit/i386/disass.c (disassinstr): Avoid compiler warning.
1559
1560 2006-04-25 17:53  edwin
1561
1562         * src/vm/jit/stack.c (stack_show_icmd): Removed unused variable `um`.
1563
1564 2006-04-25 17:48  edwin
1565
1566         * src/vm/loader.c (load_method): Simplify initialization of
1567         methodinfo by
1568         clearing it explicitely in load_class_from_classbuffer, instead of
1569         zeroing
1570         individual fields here.
1571         (load_class_from_classbuffer): MZERO methodinfo array.
1572         (load_newly_created_array): Initialize `params` to NULL for the clone
1573         method.
1574
1575 2006-04-25 17:45  edwin
1576
1577         * src/mm/memory.h (MZERO): Added macro MZERO for convenient memory
1578         cleaning.
1579
1580 2006-04-25 17:42  edwin
1581
1582         * src/native/vm/VMSystemProperties.c
1583         (Java_gnu_classpath_VMSystemProperties_preInit): Use strcpy instead of
1584         strcat, since there is nothing to concat to and we may want to lift
1585         the
1586         assertion that MSET clears memory.
1587
1588 2006-04-25 15:46  edwin
1589
1590         * src/vm/jit/i386/md.c (md_get_method_patch_address): Avoid compiler
1591         warning.
1592
1593 2006-04-25 15:31  edwin
1594
1595         * src/cacao/cacao.c (main): Avoid warning about unused label.
1596         Cleaned up whitespace.
1597
1598 2006-04-25 15:26  edwin
1599
1600         * src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack): Avoid
1601         compiler warning.
1602
1603 2006-04-25 12:35  edwin
1604
1605         * src/vm/jit/verify/typecheck.c (typecheckverbose): Renamed to
1606         opt_typecheckverbose.
1607         * src/vm/jit/verify/typeinfo.h: Likewise.
1608         
1609         * src/vm/vm.c (OPT_VERBOSETC): Only define if both ENABLE_VERIFIER
1610         and TYPECHECK_VERBOSE are defined.
1611         (typecheckverbose): Renamed to opt_typecheckverbose.
1612
1613 2006-04-25 12:25  edwin
1614
1615         * src/vm/options.h, src/vm/options.c (getloadingtime): Renamed to
1616         opt_getloadingtime. Only defined for ENABLE_STATISTICS.
1617         (getcompilingtime): Renamed to opt_getcompilingtime.
1618         Only defined for ENABLE_STATISTICS.
1619         
1620         * src/vm/loader.c (getloadingtime, getcompilingtime): Renamed.
1621         * src/vm/jit/jit.c: Likewise.
1622         * src/vm/linker.c: Likewise.
1623         * src/native/vm/VMClassLoader.c: Likewise.
1624         
1625         * src/vm/vm.c (OPT_TIME): Only defined for ENABLE_STATISTICS.
1626         
1627         * configure.ac (--enable-statistics): Now statistics are disabled by
1628         default.
1629
1630 2006-04-25 12:00  edwin
1631
1632         * src/vm/options.h (opt_verify): Only declare for ENABLE_VERIFIER.
1633         (opt_liberalutf): Removed.
1634         
1635         * src/vm/options.c (opt_verify): Only declare for ENABLE_VERIFIER.
1636         (opt_liberalutf): Removed.
1637         
1638         * src/vm/jit/inline/inline.c (test_inlining): Only verify if
1639         ENABLE_VERIFIER.
1640         
1641         * src/vm/jit/parse.c (parse): Only check opt_verify if
1642         ENABLE_VERIFIER.
1643         
1644         * src/vm/global.h (ENABLE_VERIFIER): Removed. This is now defined in
1645         config.h.
1646         
1647         * src/vm/vm.c (OPT_NOVERIFY): Only define this option if
1648         ENABLE_VERIFIER.
1649         (OPT_LIBERALUTF): Removed.
1650         
1651         * configure.ac (--disable-verifier): Added configure option.
1652         
1653         * src/vm/jit/stacktrace.c (stacktrace_getStack): Gather a wider range
1654         for the cycle count statistics.
1655
1656 2006-04-25 10:36  edwin
1657
1658         * src/vm/cycles-stats.h (CYCLES_STATS_COUNT_OVER): Added.
1659
1660 2006-04-24 18:28  edwin
1661
1662         * src/vm/cycles-stats.c: Cleaned up whitespace.
1663
1664 2006-04-24 18:22  edwin
1665
1666         * src/vm/cycles-stats.c (cycles_stats_print_percentile): Also perform
1667         measurement overhead compensation for cumulated cycle counts.
1668
1669 2006-04-24 17:16  edwin
1670
1671         * src/vm/global.h (ACC_CLASS_REFLECT_MASK): Added.
1672         (ACC_CLASS_HAS_POINTERS): Likewise.
1673         (vim boilerplate): Added.
1674         
1675         * src/vm/loader.c (load_field): Set ACC_CLASS_HAS_POINTERS flag.
1676         
1677         * src/vm/linker.c (link_class_intern): OR ACC_CLASS_HAS_POINTERS flag.
1678         
1679         * src/vm/builtin.c (builtin_new): Use ACC_CLASS_HAS_POINTERS to
1680         determine
1681         which kind of memory to allocate.
1682         
1683         * src/native/vm/VMClass.c (Java_java_lang_VMClass_getModifiers): Mask
1684         reported access flags with ACC_CLASS_REFLECT_MASK.
1685
1686 2006-04-24 16:24  twisti
1687
1688         * src/vm/jit/x86_64/emit.c (x86_64_emit_ifcc): Changed signature of
1689         codegen_addreference.
1690         (x86_64_emit_if_lcc): Likewise.
1691         (x86_64_emit_if_icmpcc): Likewise.
1692         (x86_64_emit_if_lcmpcc): Likewise.
1693
1694 2006-04-24 16:10  twisti
1695
1696         * src/vm/jit/i386/codegen.c (codegen): Don't initialize mcode
1697         variables. New dseg_addlinenumber signature fix.
1698         (createnativestub): Don't initialize mcode variables.
1699
1700 2006-04-24 16:06  twisti
1701
1702         * src/vm/jit/codegen-common.c (codegen_increase): Changed signature.
1703         (codegen_addreference): Likewise.
1704         (codegen_add_exception_ref): Likewise.
1705         (codegen_add_arithmeticexception_ref): Likewise.
1706         (codegen_add_arrayindexoutofboundsexception_ref): Likewise.
1707         (codegen_add_arraystoreexception_ref): Likewise.
1708         (codegen_add_classcastexception_ref): Likewise.
1709         (codegen_add_nullpointerexception_ref): Likewise.
1710         (codegen_add_fillinstacktrace_ref): Likewise.
1711         (codegen_addpatchref): Likewise.
1712         (codegen_finish): Likewise.
1713         * src/vm/jit/codegen-common.h: Likewise.
1714         
1715         * src/vm/jit/dseg.c (dseg_increase): Made static.
1716         (dseg_adds4): Use dseg_increase.
1717         (dseg_adds8): Likewise.
1718         (dseg_addfloat): Likewise.
1719         (dseg_adddouble): Likewise.
1720         (dseg_adds4_increase): Removed.
1721         (dseg_adds8_increase): Likewise.
1722         (dseg_addfloat_increase): Likewise.
1723         (dseg_adddouble_increase): Likewise.
1724         (dseg_addlinenumber): Changed signature.
1725         (dseg_addlinenumber_inline_start): Likewise.
1726         (dseg_adddata): Likewise.
1727         * src/vm/jit/dseg.h: Likewise.
1728         
1729         * src/vm/jit/alpha/emit.c (vm/jit/alpha/emit.h): Removed.
1730         (vm/jit/emit.h): Added.
1731         (emit_lconst): New method.
1732         * src/vm/jit/alpha/Makefile.am (libarch_la_SOURCES): Added emit.c
1733         
1734         * src/vm/jit/alpha/codegen.c (vm/jit/emit.h): Added.
1735         (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
1736         functions instead of macros. Saves over 50kB object code size. Use new
1737         signatures of codegen-common and dseg functions.
1738         * src/vm/jit/alpha/codegen.h (var_to_reg_int): Removed.
1739         (var_to_reg_flt): Likewise.
1740         (store_reg_to_var_int): Likewise.
1741         (store_reg_to_var_flt): Likewise.
1742         
1743         * src/vm/jit/i386/codegen.c: Use new signatures of codegen-common and
1744         dseg functions.
1745         * src/vm/jit/i386/codegen.h: Likewise.
1746         * src/vm/jit/intrp/codegen.c: Likewise.
1747         * src/vm/jit/intrp/codegen.h: Likewise.
1748         * src/vm/jit/mips/codegen.c: Likewise.
1749         * src/vm/jit/mips/codegen.h: Likewise.
1750         * src/vm/jit/powerpc/codegen.c: Likewise.
1751         * src/vm/jit/powerpc/codegen.h: Likewise.
1752         * src/vm/jit/x86_64/codegen.c: Likewise.
1753         * src/vm/jit/x86_64/codegen.h: Likewise.
1754
1755 2006-04-24 15:43  edwin
1756
1757         * src/vm/jit/stacktrace.c (stacktrace_create): Do not free dump
1758         memory here,
1759         this is now done in the parent functions. Also removed the copy to gc
1760         memory.
1761         (stacktrace_fillInStackTrace): Copy stacktrace to gc memory.
1762         Free dump memory.
1763         (stacktrace_getClassContext): Free dump memory.
1764         (stacktrace_getCurrentClass): Likewise.
1765         (stacktrace_getStack): Likewise.
1766         (stacktrace_dump_trace): Likewise.
1767
1768 2006-04-24 11:40  edwin
1769
1770         * src/vm/jit/stacktrace.c (stacktrace_fillInStackTrace)
1771         (stacktrace_getClassContext, stacktrace_getCurrentClass)
1772         (stacktrace_getStack): Added cycle count statistics.
1773         (stacktrace_print_cycles_stats): Added.
1774         
1775         * src/vm/jit/stacktrace.h (stacktrace_print_cycles_stats): Added.
1776         
1777         * src/vm/vm.c (vm_exit_handler): Call stacktrace_print_cycles_stats.
1778
1779 2006-04-24 11:36  edwin
1780
1781         * src/vm/cycles-stats.h (CYCLES_STATS_END_WITH_OVERHEAD): Fix
1782         arguments of
1783         empty macro definition.
1784
1785 2006-04-24 11:27  edwin
1786
1787         * src/vm/cycles-stats.h (CYCLES_STATS_DECLARE_AND_START)
1788         (CYCLES_STATS_DECLARE_AND_START_WITH_OVERHEAD)
1789         (CYCLES_STATS_END, CYCLES_STATS_END_WITH_OVERHEAD): Added convenience
1790         macros.
1791         
1792         * src/vm/cycles-stats.c (cycles_stats_print): Fixed divide-by-zero.
1793         Minor
1794         output changes.
1795
1796 2006-04-24 10:08  twisti
1797
1798         * src/vm/jit/mips/md.c (md_get_method_patch_address): Renamed from
1799         md_assembler_get_patch_address.
1800         * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Renamed
1801         md_assembler_get_patch_address to md_get_method_patch_address.
1802
1803 2006-04-24 10:00  twisti
1804
1805         * src/vm/jit/powerpc/md.c (md_get_method_patch_address): New method.
1806         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): Use new
1807         jit_asm_compile method. This fixes the ecj bugs seens with some mauve
1808         tests and eclipse.
1809
1810 2006-04-24 09:58  twisti
1811
1812         * src/vm/jit/powerpc/codegen.c (codegen): Replaced those ugly
1813         M_TINTMOVE macros. Use M_LLD macros where possible.
1814         * src/vm/jit/powerpc/codegen.h (M_LNGMOVE): Check for equal registers.
1815         (M_TINTMOVE): Removed.
1816
1817 2006-04-24 00:19  edwin
1818
1819         * src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Omit the
1820         stackframe.
1821         This saves a couple of cycles of measurement overhead.
1822
1823 2006-04-23 23:03  twisti
1824
1825         * src/vm/jit/alpha/md.c (md_get_method_patch_address): Renamed from
1826         md_assembler_get_patch_address.
1827         * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Renamed
1828         md_assembler_get_patch_address to md_get_method_patch_address.
1829
1830 2006-04-23 19:18  edwin
1831
1832         * src/vm/cycles-stats.c (cycles_stats_print_percentile): Better
1833         extrapolation.
1834         * src/vm/cycles-stats.h (CYCLES_STATS_DECLARE, CYCLES_STATS_COUNT)
1835         (CYCLES_STATS_PRINT, CYCLES_STATS_PRINT_OVERHEAD): Added total cycles
1836         counter.
1837
1838 2006-04-23 19:16  edwin
1839
1840         * src/vm/builtin.c (builtin_new): Renamed rt-timing identifier.
1841         (builtin_newarray): Added rt-timing.
1842         
1843         * src/vm/rt-timing.h: Added rt-timing for builtin_newarray.
1844         * src/vm/rt-timing.c: Likewise.
1845
1846 2006-04-23 16:11  edwin
1847
1848         * src/vm/builtin.c (builtin_print_cycles_stats): Use
1849         CYCLES_STATS_PRINT_OVERHEAD.
1850         
1851         * src/vm/cycles-stats.h (CYCLES_STATS_PRINT_OVERHEAD): Added.
1852         
1853         * src/vm/cycles-stats.c (cycles_stats_print_percentile): Added.
1854         (cycles_stats_print): Added `overhead` argument and automatic
1855         measurement overhead compensation.
1856
1857 2006-04-23 15:39  edwin
1858
1859         * src/vm/builtin.c (builtin_new): Added rt-timing.
1860         (builtin_print_cycles_stats): Removed unused variable.
1861         (builtin_monitorenter): Removed rt-timing.
1862         (builtin_monitorexit): Likewise.
1863         
1864         * src/vm/rt-timing.c: rt-timing for buitin_new.
1865         * src/vm/rt-timing.h: Likewise.
1866
1867 2006-04-23 15:31  edwin
1868
1869         * src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Better error
1870         handling.
1871
1872 2006-04-23 15:24  edwin
1873
1874         * src/vm/builtin.c (builtin_new): Gather cycle count statistics.
1875         (CYCLES_STATS_DECLARE): Moved declarations to beginning of file.
1876         
1877         * src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Added function for
1878         automatic CPU frequency detection via /proc/cpuinfo.
1879         (cycles_stats_print): Calculate estimated CPU times.
1880
1881 2006-04-22 09:35  edwin
1882
1883         * src/vm/cycles-stats.c (cycles_stats_print): Made count, floor, and
1884         ceiling
1885         of type u8. This should avoid overflow problems.
1886         
1887         * src/vm/cycles-stats.h (cycles_stats_print): Made count an u8.
1888
1889 2006-04-21 21:36  edwin
1890
1891         * src/vm/cycles-stats.c: New file. Better cycle count statistics.
1892         
1893         * src/vm/cycles-stats.h (CYCLES_STATS_PRINT): This is now a wrapper
1894         for
1895         cycles_stats_print.
1896         
1897         * src/vm/Makefile.am (cycles-stats.c): Added to sources.
1898
1899 2006-04-21 14:32  edwin
1900
1901         * src/vm/jit/stacktrace.c (stacktrace_inline_fillStackTrace): Assert
1902         that
1903         there is an exception before dereferencing it.
1904         (stacktrace_create): Document that this function may return NULL.
1905         (stacktrace_getClassContext): Check return value of stacktrace_create.
1906         (stacktrace_getCurrentClass): Likewise.
1907         (stacktrace_getStack): Likewise. Document that this function may
1908         return NULL.
1909
1910 2006-04-21 13:08  edwin
1911
1912         * src/vm/jit/stacktrace.c (stacktrace_getClassContext): Document that
1913         return
1914         value may be NULL (in case of an exception).
1915         
1916         * src/native/vm/VMStackWalker.c
1917         (Java_gnu_classpath_VMStackWalker_getCallingClass): Check return
1918         value of
1919         stacktrace_getClassContext.
1920         (Java_gnu_classpath_VMStackWalker_getCallingClassLoader): Likewise.
1921         
1922         * src/native/vm/Field.c (cacao_get_field_address): Check return value
1923         of
1924         stacktrace_getClassContext.
1925         
1926         * src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative):
1927         Check return value of stacktrace_getClassContext.
1928
1929 2006-04-21 11:07  twisti
1930
1931         * src/vm/jit/i386/md.c (md_get_method_patch_address): New method.
1932         (md_icacheflush): Added.
1933         (md_dcacheflush): Likewise.
1934
1935 2006-04-21 10:54  twisti
1936
1937         * src/vm/jit/jit.c (jit_asm_compile): New method.
1938         * src/vm/jit/jit.h (jit_asm_compile): Added.
1939         (md_get_method_patch_address): Likewise.
1940         
1941         * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Store
1942         asm_call_jit_compiler on stack as for the other architectures.
1943         (asm_call_jit_compiler): Use new jit_asm_compile.
1944         
1945         * src/vm/jit/x86_64/codegen.c (codegen): Use REG_ITMP3 for calling
1946         methods. This is required for asm_vm_call_method to work.
1947         
1948         * src/vm/jit/x86_64/md.c (md_get_method_patch_address): New method.
1949         (md_icacheflush): Added.
1950         (md_dcacheflush): Added.
1951         * src/vm/jit/x86_64/md-asm.h (mptr): Defined.
1952
1953 2006-04-21 10:45  twisti
1954
1955         * src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Reformatted
1956         comments.
1957
1958 2006-04-21 00:00  edwin
1959
1960         * src/vm/linker.c (link_class_intern): Impose loading constraints on
1961         the
1962         more general types of the overwritten method, instead of on the over-
1963         writing method. Don't impose loading constraints when "overwriting"
1964         the
1965         instance initializaton method <init>, as it is not called virtually.
1966
1967 2006-04-20 22:28  edwin
1968
1969         * src/vm/classcache.c (classcache_add_constraint): Also constrain the
1970         return type of the given method.
1971
1972 2006-04-20 21:47  edwin
1973
1974         * src/vm/linker.c (linker_addinterface): Add loading constraints when
1975         an
1976         interface method is overwritten.
1977         (link_class_intern): Check new return value of linker_addinterface.
1978
1979 2006-04-20 20:40  edwin
1980
1981         * src/vm/linker.c (link_class_intern): Only record loading constraints
1982         for ENABLE_VERIFIER.
1983
1984 2006-04-20 20:38  edwin
1985
1986         * src/vm/classcache.c (classcache_add_constraints_for_params): Added.
1987         (classcache_add_constraint): Only define for ENABLE_VERIFIER.
1988         
1989         * src/vm/classcache.h (classcache_add_constraints_for_params): Added.
1990         (classcache_add_constraint): Only define for ENABLE_VERIFIER.
1991         
1992         * src/vm/linker.c (link_class_intern): When overwriting a method,
1993         record loading constraints for the parameter types, as required
1994         by the spec.
1995
1996 2006-04-20 19:18  edwin
1997
1998         * src/mm/memory.c (Changes): Added my name.
1999         (vim boilerplate): Added.
2000
2001 2006-04-20 18:59  edwin
2002
2003         * src/mm/memory.c: Added comments and some cleanup.
2004
2005 2006-04-20 18:04  edwin
2006
2007         * configure.ac (ENABLE_LOOP): Changed default to "no".
2008         
2009         * src/vm/options.h (opt_loops): Only define for ENABLE_LOOP.
2010         
2011         * src/vm/options.c (opt_loops): Only define for ENABLE_LOOP.
2012         
2013         * src/vm/vm.c (-oloop, -i): Only recognize these options if
2014         enabled with ENABLE_LOOP/ENABLE_INLINING.
2015         
2016         * src/vm/jit/allocator/lsra.c (opt_loops): Only use for ENABLE_LOOP.
2017
2018 2006-04-20 10:55  twisti
2019
2020         * src/vm/jit/x86_64/codegen.h (M_ALD32): Added.
2021
2022 2006-04-20 10:42  twisti
2023
2024         * src/vm/jit/x86_64/md-abi.h (REG_METHODPTR): Added.
2025
2026 2006-04-20 08:45  twisti
2027
2028         * src/lib/vm/reference/java/lang/VMClassLoader.java: Updated to GNU
2029         Classpath version.
2030
2031 2006-04-19 01:05  edwin
2032
2033         * src/vm/builtin.c (builtin_print_cycles_stats): Added.
2034         (builtin_monitorenter): Gather cycle count statistics.
2035         (builtin_monitorexit): Likewise.
2036         
2037         * src/vm/builtin.h (builtin_print_cycles_stats): Added.
2038         
2039         * src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Added.
2040         
2041         * src/vm/jit/asmpart.h (asm_get_cycle_count): Added.
2042         
2043         * src/vm/vm.c (vm_exit_handler): Call builtin_print_cycles_stats.
2044         
2045         * src/vm/cycles-stats.h: New file.
2046         
2047         * src/vm/Makefile.am (CYCLES_STATS_SOURCE): Added.
2048         
2049         * src/cacaoh/headers.c (asm_get_cycle_count): Dummy implementation
2050         added.
2051         
2052         * configure.ac (--enable-cycles-stats): Added configure option.
2053
2054 2006-04-18 21:16  twisti
2055
2056         * src/vm/jit/x86_64/emitfuncs.c: Moved to emit.c.
2057         * src/vm/jit/x86_64/emitfuncs.h: Moved to md-emit.h
2058         
2059         * src/vm/jit/x86_64/codegen.c (vm/jit/x86_64/emitfuncs.h): Removed.
2060         (vm/jit/x86_64/md-emit.h): Added.
2061         
2062         * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Added emit.c and
2063         md-emit.h, removed emitfuncs.c and emitfuncs.h.
2064
2065 2006-04-18 20:36  twisti
2066
2067         * src/vm/jit/jit.h (IS_ADR_TYPE): Changed to use ==.
2068         (IS_INT_TYPE): Added.
2069         (IS_LNG_TYPE): Likewise.
2070
2071 2006-04-18 20:34  twisti
2072
2073         * src/vm/jit/x86_64/codegen.c (vm/jit/emit.h): Added.
2074         (codegen): Use emit_load/store functions instead of macors. Saves over
2075         25kB object code size.
2076         
2077         * src/vm/jit/x86_64/codegen.h (ALIGNCODENOP): Added.
2078         (var_to_reg_int): Removed.
2079         (var_to_reg_flt): Likewise.
2080         (store_reg_to_var_int): Likewise.
2081         (store_reg_to_var_flt): Likewise.
2082         (M_INEG, M_LNEG, M_INEG_MEMBASE, M_LNEG_MEMBASE): Added.
2083         (M_CMOVEQ_MEMBASE, M_CMOVNE_MEMBASE, M_CMOVLT_MEMBASE)
2084         (M_CMOVLE_MEMBASE, M_CMOVGE_MEMBASE, M_CMOVGT_MEMBASE): Likewise.
2085         
2086         * src/vm/jit/x86_64/emitfuncs.c (emit_load_s1): Added.
2087         (emit_load_s2): Likewise.
2088         (emit_load_s3): Likewise.
2089         (emit_store): Likewise.
2090         (emit_copy): Likewise.
2091         (emit_cmovxx): Likewise.
2092         
2093         * src/vm/jit/x86_64/emitfuncs.h (emit_cmovxx): Added.
2094
2095 2006-04-18 20:20  twisti
2096
2097         * src/vm/jit/x86_64/md-abi.h (REG_IFTMP): Defined.
2098
2099 2006-04-18 20:17  edwin
2100
2101         * src/vm/jit/stack.c (stack_show_icmd): Updated to use the correct
2102         macros for
2103         (un)resolved methods. Minor output format changes.
2104         
2105         * src/vm/field.c (field_print): Print the class name.
2106
2107 2006-04-18 20:10  twisti
2108
2109         * src/vm/jit/alpha/Makefile.am (DISASS_SOURCES): Added.
2110         * src/vm/jit/mips/Makefile.am: Likewise.
2111
2112 2006-04-18 15:55  twisti
2113
2114         * configure.ac (intl): Check on NetBSD too.
2115
2116 2006-04-18 15:40  twisti
2117
2118         * configure.ac: Fixed typos.
2119
2120 2006-04-18 13:36  twisti
2121
2122         * src/vm/jit/mips/codegen.h (M_FLTMOVE): Removed.
2123         (M_TFLTMOVE): Likewise.
2124         (M_TFLD): Likewise.
2125         (M_TFST): Likewise.
2126         (M_CCFLTMOVE): Likewise.
2127         (M_CCFLD): Likewise.
2128         (M_CCFST): Likewise.
2129         * src/vm/jit/mips/codegen.c (codegen): Use float and double
2130         explicitely.
2131         * src/vm/jit/mips/emit.c: Likewise.
2132
2133 2006-04-17 15:49  edwin
2134
2135         * src/vm/jit/intrp/codegen.c (intrp_codegen): Cast mcodeptr to u1*.
2136         This should fix intrp on archs with u4* mcodeptr.
2137
2138 2006-04-17 15:20  edwin
2139
2140         * src/vm/builtin.c (builtin_monitorenter, builtin_monitorexit): Added
2141         rt-timing.
2142         
2143         * src/vm/rt-timing.c, src/vm/rt-timing.h: rt-timing for locks.
2144
2145 2006-04-17 11:47  twisti
2146
2147         * src/vm/jit/codegen-common.h (codegendata): Define lastmcodeptr on
2148         all architectures. I think it does not matter.
2149
2150 2006-04-14 23:50  edwin
2151
2152         * src/vm/jit/codegen-common.h: Typo fix.
2153
2154 2006-04-14 23:48  edwin
2155
2156         * src/vm/jit/parse.c (parse): Removed unused variable `mi`.
2157
2158 2006-04-14 23:46  edwin
2159
2160         * src/vm/rt-timing.c: include stdlib.h to fix warning.
2161
2162 2006-04-14 12:40  twisti
2163
2164         * src/vm/jit/mips/emit.c: New file.
2165         * src/vm/jit/mips/Makefile.am (libarch_la_SOURCES): Added emit.c
2166         
2167         * src/vm/jit/mips/codegen.c (vm/jit/emit.h): Added.
2168         (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
2169         functions instead of macors. Saves over 50kB object code size.
2170         
2171         * src/vm/jit/mips/codegen.h (var_to_reg_int): Removed.
2172         (var_to_reg_flt): Likewise.
2173         (store_reg_to_var_int): Likewise.
2174         (store_reg_to_var_flt): Likewise.
2175
2176 2006-04-14 11:57  twisti
2177
2178         * src/vm/jit/codegen-common.c (codegen_setup): Fixed compiler
2179         warnings, set lastmcodeptr.
2180         (codegen_increase): Fixed compiler warnings.
2181         (codegen_finish): Likewise.
2182         (codegen_createnativestub): Likewise.
2183
2184 2006-04-14 11:28  twisti
2185
2186         * src/vm/jit/alpha/emit.h: Removed. There's now a common one in
2187         src/vm/jit/.
2188
2189 2006-04-14 11:20  twisti
2190
2191         * src/vm/jit/emit.h: New file.
2192         * src/vm/jit/Makefile.am (noinst_HEADERS): Added emit.h.
2193         
2194         * src/vm/jit/powerpc/emit.c: New file.
2195         * src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added emit.c.
2196         
2197         * src/vm/jit/powerpc/codegen.c (vm/jit/emit.h): Added.
2198         (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
2199         functions instead of macors. Saves over 100kB object code size.
2200         
2201         * src/vm/jit/powerpc/codegen.h (var_to_reg_int): Removed.
2202         (var_to_reg_lng): Likewise.
2203         (var_to_reg_lng_low): Likewise.
2204         (var_to_reg_lng_high): Likewise.
2205         (var_to_reg_flt): Likewise.
2206         (var_to_reg_dbl): Likewise.
2207         (store_reg_to_var_int): Likewise.
2208         (store_reg_to_var_lng): Likewise.
2209         (store_reg_to_var_adr): Likewise.
2210         (store_reg_to_var_flt): Likewise.
2211         (store_reg_to_var_dbl): Likewise.
2212         (M_LLD_INTERN): Added.
2213         (M_LLD): Likewise.
2214         (M_LST_INTERN): Likewise.
2215         (M_LST): Likewise.
2216
2217 2006-04-13 20:45  edwin
2218
2219         * src/vm/loader.c (load_class_from_classloader): Detailed rt-timing.
2220         (load_class_bootstrap): Likewise.
2221         
2222         * src/vm/rt-timing.c: Added rt-timing for loading from classloaders.
2223         * src/vm/rt-timing.h: Likewise.
2224
2225 2006-04-13 18:21  edwin
2226
2227         * src/vm/loader.c (load_class_from_classbuffer): Separate timing for
2228         descriptor_pool_new.
2229         
2230         * src/vm/rt-timing.c: Likewise.
2231         
2232         * src/vm/rt-timing.h: Likewise.
2233
2234 2006-04-13 18:00  edwin
2235
2236         * src/vm/loader.c (load_class_from_classbuffer): Added real-time
2237         loading time
2238         measurements.
2239         
2240         * src/vm/rt-timing.c: Likewise.
2241         * src/vm/rt-timing.h: Likewise.
2242
2243 2006-04-13 17:23  edwin
2244
2245         * src/vm/rt-timing.c: Added timing of linker stages.
2246         * src/vm/rt-timing.h: Likewise.
2247         * src/vm/linker.c: Likewise.
2248
2249 2006-04-13 16:58  edwin
2250
2251         * src/vm/rt-timing.h (RT_TIMING_TIME_DIFF): Added.
2252         
2253         * src/vm/jit/jit.c (jit_compile_intern): Use RT_TIMING_TIME_DIFF.
2254         
2255         * src/vm/linker.c (link_class): Use rt-timing for measuring link time.
2256         
2257         * src/cacaoh/Makefile.am (cacaoh_LDFLAGS): Link with librt for
2258         ENABLE_RT_TIMING.
2259
2260 2006-04-13 16:48  edwin
2261
2262         * src/vm/rt-timing.c (rt_timing_stat): Added field `totalindex`.
2263         (rt_timing_stat_defs): Likewise.
2264         (rt_timing_diff): Renamed to rt_timing_time_diff.
2265         (rt_timing_print_time_stats): Use `totalindex` to calculate
2266         percentage.
2267         
2268         * src/vm/rt-timing.h (RT_TIMING_LINK_TOTAL): Added.
2269         (rt_timing_diff): Renamed to rt_timing_time_diff.
2270
2271 2006-04-13 14:09  twisti
2272
2273         * src/vm/jit/alpha/emit.c: New file.
2274         * src/vm/jit/alpha/emit.h: Likewise.
2275
2276 2006-04-13 13:10  twisti
2277
2278         * src/vm/jit/codegen-common.h (codegendata): Changed mcodeend to
2279         u1*. Define mcodeptr to u4* for non-i386/x86_64 architectures.
2280
2281 2006-04-13 09:32  twisti
2282
2283         * src/vm/jit/x86_64/codegen.c (codegen): Use argument registers
2284         directly in exception stubs, instead of temporary ones. This reduces
2285         code-size about 150kB for -all.
2286
2287 2006-04-13 09:19  twisti
2288
2289         * src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ishift): Bugfixes found
2290         by javver.
2291         (x86_64_emit_lshift): Likewise.
2292
2293 2006-04-12 22:20  edwin
2294
2295         * src/vm/rt-timing.c: Added file.
2296         * src/vm/rt-timing.h: Likewise.
2297         
2298         * src/vm/jit/jit.c: Moved real-time timing stuff to rt-timing.[ch]
2299         * src/vm/jit/jit.h: Likewise.
2300         
2301         * src/vm/vm.c (vm_exit_handler): Call rt_timing_print_time_stats.
2302         
2303         * src/vm/Makefile.am (rt-timing.c, rt-timing.h): Added.
2304
2305 2006-04-12 22:16  edwin
2306
2307         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers): Fixed
2308         compiler warning.
2309
2310 2006-04-12 20:06  edwin
2311
2312         * src/vm/jit/parse.c (parse): New unresolved reference scheme: Data
2313         structures
2314         for unresolved fields/methods are only created if really needed.
2315         Otherwise
2316         a lazy resolving is done on-the-fly. This reduced compile time by
2317         over 10% for
2318         SpecJVM98 and eclipse.
2319         
2320         * src/vm/resolve.c (resolve_subtype_check): Added.
2321         (resolve_lazy_subtype_checks): Likewise.
2322         (resolve_and_check_subtype_set): Use resolve_subtype_check. Return
2323         resolve_result_t instead of bool. Removed `checked` argument.
2324         (resolve_class): Use resolve_subtype_check.
2325         (resolve_field_verifier_checks): Added.
2326         (resolve_field_lazy): Added.
2327         (resolve_field): Use resolve_field_verifier_checks.
2328         (resolve_method_invokespecial_lookup): Added.
2329         (resolve_method_verifier_checks): Added.
2330         (resolve_method_lazy): Added.
2331         (resolve_method): Use resolve_method_invokespecial_lookup and
2332         resolve_method_verifier_checks.
2333         (constrain_unresolved_method): Adapted to new unresolved reference
2334         scheme.
2335         (constrain_unresolved_field): Likewise.
2336         (unresolved_field_debug_dump): Likewise.
2337         (unresolved_method_debug_dump): Likewise.
2338         
2339         * src/vm/jit/patcher.h (intrp_patcher_get_putstatic_clinit): Added.
2340         
2341         * src/vm/jit/intrp/intrp.h (vm_Cell2afi): Added.
2342         (vm_afi2Cell): Likewise.
2343         (printarg_afi): Added.
2344         (vim boilerplate): Added.
2345         (Changes): Added my name.
2346         
2347         * src/vm/jit/intrp/patcher.c (intrp_patcher_get_putstatic_clinit):
2348         Added.
2349         
2350         * src/vm/jit/intrp/disass.c (printarg_afi): Added.
2351         (Changes): Added my name.
2352         (vim boilerplate): Added.
2353         
2354         * src/vm/jit/intrp/java.vmg (GETSTATIC_CELL, GETSTATIC_INT,
2355         GETSTATIC_FLOAT)
2356         (GETSTATIC_LONG, PUTSTATIC_CELL, PUTSTATIC_INT, PUTSTATIC_FLOAT)
2357         (PUTSTATIC_LONG, GETFIELD_CELL, GETFIELD_INT, GETFIELD_FLOAT)
2358         (GETFIELD_LONG, PUTFIELD_CELL, PUTFIELD_INT, PUTFIELD_FLOAT)
2359         (PUTFIELD_LONG): Now take a fieldinfo instead of an unresolved_field.
2360         (INVOKEVIRTUAL, INVOKESTATIC, INVOKESPECIAL, INVOKEINTERFACE): Now
2361         take
2362         a methodinfo instead of an unresolved_method.
2363         (PATCHER_GETSTATIC_CLINIT_INT, PATCHER_GETSTATIC_CLINIT_FLOAT)
2364         (PATCHER_GETSTATIC_CLINIT_LONG, PATCHER_GETSTATIC_CLINIT_CELL): Added.
2365         (PATCHER_PUTSTATIC_CLINIT_INT, PATCHER_PUTSTATIC_CLINIT_FLOAT)
2366         (PATCHER_PUTSTATIC_CLINIT_LONG, PATCHER_PUTSTATIC_CLINIT_CELL): Added.
2367         
2368         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
2369         Use INSTRUCTION_GET_METHODDESC to get method descriptor.
2370         
2371         * src/vm/jit/stack.c (stack_analyse): Ported to new unresolved
2372         reference
2373         scheme.
2374         (stack_show_icmd): Likewise.
2375         
2376         * src/vm/jit/verify/typecheck.c (verify_invocation): Ported to new
2377         unresolved
2378         reference scheme.
2379         (verify_basic_block): Likewise.
2380         
2381         * src/vm/jit/powerpc/codegen.c (codegen): Ported to new unresolved
2382         reference
2383         scheme.
2384         
2385         * src/vm/jit/alpha/codegen.c (codegen): Ported to new unresolved
2386         reference
2387         scheme.
2388         
2389         * src/vm/jit/mips/codegen.c (codegen): Ported to new unresolved
2390         reference
2391         scheme.
2392         
2393         * src/vm/jit/i386/codegen.c (codegen): Ported to new unresolved
2394         reference
2395         scheme.
2396         
2397         * src/vm/jit/x86_64/codegen.c (codegen): Ported to new unresolved
2398         reference
2399         scheme.
2400         
2401         * src/vm/jit/intrp/codegen.c (codegen): Ported to new unresolved
2402         reference
2403         scheme.
2404         (Changes): Added my name.
2405         
2406         * src/vm/jit/intrp/codegen.h (vim boilerplate): Added.
2407
2408 2006-04-12 18:07  edwin
2409
2410         * src/vm/resolve.h (resolve_result_t): Added.
2411         (resolve_method_lazy): Added prototype.
2412         (resolve_field_lazy): Added prototype.
2413         (resolve_and_check_subtype_set): Removed prototype. This function is
2414         becoming static.
2415
2416 2006-04-12 17:51  edwin
2417
2418         * src/vm/class.c (class_showconstantpool): Use the new functions
2419         method_methodref_print and field_fieldref_print.
2420         
2421         * src/vm/loader.c (load_constantpool): Use p.index in constant_FMIref.
2422         (load_class_from_classbuffer): Likewise.
2423         
2424         * src/vm/jit/stack.c (stack_show_icmd): Use p.index in
2425         constant_FMIref.
2426         
2427         * src/vm/jit/verify/typecheck.c (verify_invocation): Use p.index in
2428         constant_FMIref.
2429         
2430         * src/vm/resolve.c (resolve_field, resolve_method,
2431         constrain_unresolved_field)
2432         (unresolved_field_debug_dump, unresolved_method_debug_dump):
2433         Use p.index in constant_FMIref.
2434         
2435         * src/vm/method.c, src/vm/method.h (method_methodref_print): Added.
2436         (method_methodref_println): Likewise.
2437         
2438         * src/vm/field.c, src/vm/field.h (field_fieldref_print): Added.
2439         (field_fieldref_println): Likewise.
2440         
2441         * src/vm/references.h (constant_FMIref): Changed field `classref`
2442         into a
2443         union that is used for caching of already resolved fields/methods.
2444         (IS_FMIREF_RESOLVED): Added.
2445         (METHODREF_CLASSNAME): Added.
2446         (FIELDREF_CLASSNAME): Added.
2447         
2448         * src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED): Added. This is a
2449         preparation
2450         for the lazy resolving rewrite.
2451         (INSTRUCTION_IS_UNRESOLVED): Likewise.
2452         (INSTRUCTION_GET_FIELDREF): Likewise.
2453         (INSTRUCTION_GET_METHODREF): Likewise.
2454         (INSTRUCTION_GET_FIELDDESC): Likewise.
2455         (INSTRUCTION_GET_METHODDESC): Likewise.
2456         (INSTRUCTION_UNRESOLVED_METHOD): Likewise.
2457         (INSTRUCTION_UNRESOLVED_FIELD): Likewise.
2458         (INSTRUCTION_RESOLVED_FMIREF): Likewise.
2459         (INSTRUCTION_RESOLVED_FIELDINFO): Likewise.
2460         (INSTRUCTION_RESOLVED_METHODINFO): Likewise.
2461         
2462         * src/vm/jit/intrp/disass.c (printarg_auf): Use METHODREF_CLASSNAME.
2463
2464 2006-04-12 11:51  twisti
2465
2466         * src/vm/jit/alpha/codegen.c (codegen): Use directly argument
2467         registers in exception stubs, instead of temporary ones. This reduces
2468         code-size about 200kB for -all.
2469
2470 2006-04-12 09:49  twisti
2471
2472         * src/vm/jit/powerpc/codegen.c (codegen): Fixed displacement overflow
2473         problem when restoring LR. We can't use r0 here.
2474
2475 2006-04-12 09:30  twisti
2476
2477         * NEWS: Line-number fix added.
2478
2479 2006-04-12 09:20  edwin
2480
2481         * src/vm/jit/parse.c (parse): Skip line number entries that span over
2482         zero
2483         bytecode instructions.
2484
2485 2006-04-12 08:52  edwin
2486
2487         * src/vm/method.h (methodinfo): Forward declaration moved to
2488         refereneces.h.
2489         * src/vm/field.h (fieldinfo): Forward declaration moved to
2490         refereneces.h.
2491         * src/vm/references.h (methodinfo, fieldinfo): Added forward
2492         references.
2493
2494 2006-04-12 08:34  edwin
2495
2496         * src/vm/class.c (class_showconstanti): Removed.
2497         (class_showconstantpool): Documented.
2498         (class_showmethods): Documented.
2499         (vim boilerplate): Added.
2500         (Changes): Finally added my name.
2501
2502 2006-04-11 13:13  twisti
2503
2504         * src/vm/jit/x86_64/codegen.c (codegen): Changed signature to use
2505         jitdata. Renamed reg_of_var by codegen_reg_of_var.
2506         * src/vm/jit/x86_64/codegen.h (M_COPY): Likewise.
2507
2508 2006-04-11 10:54  twisti
2509
2510         * tests/regression/clinitexception.2output: Updated.
2511         * tests/regression/native/checkjni.output: Likewise.
2512         * tests/regression/extest.2output: Likewise.
2513
2514 2006-04-11 10:20  twisti
2515
2516         * src/vm/builtin.c (builtin_throw_exception): Changed return type and
2517         return NULL. This is less error-prone in asm_vm_call_method.
2518         * src/vm/builtin.h: Likewise.
2519         
2520         * src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler):
2521         Don't set v0 to NULL. This is now done in builtin_throw_exception.
2522         * src/vm/jit/i386/asmpart.S: Likewise.
2523         * src/vm/jit/mips/asmpart.S: Likewise.
2524         * src/vm/jit/powerpc/asmpart.S: Likewise.
2525         * src/vm/jit/x86_64/asmpart.S: Likewise.
2526
2527 2006-04-11 10:04  twisti
2528
2529         * src/vm/jit/ifconv/ifconv.c (ifconv_static): Keep compiler happy.
2530
2531 2006-04-11 09:00  edwin
2532
2533         * src/vm/jit/stack.c (stack_print_stack): Only use `regs` if
2534         ENABLE_DISASSEMBLER is defined.
2535         (stack_show_method): Likewise.
2536         
2537         * src/vm/jit/replace.c (replace_executionstate_println): Likewise.
2538
2539 2006-04-11 05:10  edwin
2540
2541         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Do not
2542         trace
2543         exception when NDEBUG.
2544         
2545         * src/vm/jit/intrp/dynamic-super.c (disassemble_prim): Only enable for
2546         ENABLE_DISASSEMBLER.
2547         (dynamic_super_init): Only call disassemble_prim for
2548         ENABLE_DISASSEMBLER.
2549         
2550         * src/vm/jit/intrp/java.vmg: Disable builtin_displaymethodstop and
2551         builtin_trace_args for NDEBUG.
2552
2553 2006-04-06 12:54  twisti
2554
2555         * src/vm/jit/mips: Added TAGS.
2556         * src/vm/jit/mips/irix: Likewise.
2557         * src/vm/jit/mips/irix/.cvsignore: Likewise.
2558         * src/vm/jit/mips/.cvsignore: Likewise.
2559
2560 2006-04-06 12:51  twisti
2561
2562         * src/vm/jit/mips/codegen.c (codegen): Changed signature to use
2563         jitdata. Renamed reg_of_var by codegen_reg_of_var.
2564         (createcompilerstub): Replaced docacheflush by md_cacheflush.
2565         * src/vm/jit/mips/codegen.h (M_COPY): Likewise.
2566         * src/vm/jit/mips/md.c (sys/mman.h): Removed.
2567         (docacheflush): Likewise.
2568
2569 2006-04-06 00:33  edwin
2570
2571         * configure.ac: Added host type `armv5l`.
2572
2573 2006-04-05 20:31  edwin
2574
2575         * src/vm/jit/parse.h, src/vm/jit/parse.c (OP1LOAD):
2576         Split into OP1LOAD_ONEWORD and OP1LOAD_TWOWORD. Index is only checked
2577         if
2578         ENABLE_VERIFIER.
2579         (OP1STORE): Split into OP1STORE_ONEWORD and OP1STORE_TWOWORD. Index
2580         is
2581         only checked if ENABLE_VERIFIER.
2582
2583 2006-04-05 19:58  edwin
2584
2585         * src/vm/jit/parse.c (parse): Cleaned up and reordered an if.
2586
2587 2006-04-05 19:44  edwin
2588
2589         * src/vm/jit/parse.c (parse): Remove the `if (!iswide)` check for
2590         each opcode
2591         by making JAVA_WIDE continue directly to the label fetch_opcode.
2592         (This also
2593         removed a part of the iswide check at the end of the loop.)
2594
2595 2006-04-05 18:48  edwin
2596
2597         * src/vm/jit/alpha/codegen.c (codegen, createnativestub): Remove
2598         opt_verbosecall code for NDEBUG builds.
2599
2600 2006-04-05 18:13  edwin
2601
2602         * src/vm/jit/parse.c (parse): Only do verifier checks if
2603         ENABLE_VERIFIER.
2604         Cleaned up an obsolete printf.
2605
2606 2006-04-05 12:56  edwin
2607
2608         * configure.ac (ENABLE_RT_TIMING): Added.
2609         
2610         * src/vm/jit/jit.c (ENABLE_RT_TIMING): Added code for real-time timing
2611         of compiler passes.
2612         
2613         * src/vm/jit/jit.h (jit_print_time_stats): Added.
2614         
2615         * src/vm/vm.c (vm_exit_handler): Call jit_print_time_stats.
2616
2617 2006-04-05 11:32  edwin
2618
2619         * src/vm/jit/inline/inline.c (create_block): Use BASICBLOCK_INIT.
2620
2621 2006-04-05 10:02  twisti
2622
2623         * src/vm/jit/alpha/asmpart.S (asm_vm_call_method): Removed !NDEBUG as
2624         builtin_throw_exception actually posts the thrown exception to the VM
2625         system.
2626         * src/vm/jit/powerpc/asmpart.S: Likewise.
2627         * src/vm/jit/mips/asmpart.S: Likewise.
2628         * src/vm/jit/x86_64/asmpart.S: Likewise.
2629
2630 2006-04-05 09:57  edwin
2631
2632         * src/vm/jit/jit.h (instruction): Removed `method` field.
2633         (insinfo_inline): Added.
2634         (basicblock): Added `method` field.
2635         
2636         * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start)
2637         (dseg_addlinenumber_inline_end): Use new insinfo_inline struct.
2638         
2639         * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed unused
2640         variable `myclass`.
2641         
2642         * src/vm/jit/inline/inline.c (emit_inlining_prolog,
2643         emit_inlining_epilog):
2644         Use insinfo_inline struct.
2645         (inline_write_exception_handlers): Removed `method` field.
2646         
2647         * src/vm/jit/i386/codegen.c (codegen): Use insinfo_inline struct.
2648         
2649         * src/vm/jit/parse.h (several macros): Removed `method` field from
2650         instruction.
2651         
2652         * src/vm/jit/stack.c (stack_show_icmd): Adapted to new insinfo_inline
2653         struct.
2654
2655 2006-04-05 09:54  twisti
2656
2657         Fixes GCC Bugzilla Bug #26990.
2658         * src/vm/vm.c (vm_exit): Don't check for exception of System.exit().
2659
2660 2006-04-04 21:31  edwin
2661
2662         * src/vm/builtin.c (builtin_throw_exception): No twisti, we don't
2663         turn off
2664         exceptions just because it is NDEBUG ;)
2665         * src/vm/jit/i386/asmpart.S (asm_vm_call_method_exception_handler):
2666         Likewise.
2667
2668 2006-04-04 18:14  edwin
2669
2670         * src/vm/jit/i386/Makefile.am: Do not build disassebmler for
2671         --disable-disassembler
2672         * src/vm/jit/i386/codegen.c (codegen): disable verbosecall code for
2673         NDEBUG
2674
2675 2006-04-04 18:11  edwin
2676
2677         * src/vm/jit/ifconv/ifconv.c (ifconv_static): #ifdef debug code.
2678         (check): Likewise.
2679
2680 2006-04-04 09:17  twisti
2681
2682         * src/threads/native/threads.c (tablelock): Removed.
2683         (tables_lock, tables_unlock): Likewise.
2684         (criticalcompare): Removed tablelock initialization.
2685         * src/vm/hashtable.h (tables_lock, tables_unlock): Removed.
2686         * src/vm/global.h (VFTBLINTERFACETABLE): Likewise.
2687         (cast_lock, cast_unlock): Likewise.
2688
2689 2006-04-04 09:14  twisti
2690
2691         * src/vm/exceptions.c (exceptions_new_nosuchmethoderror): Print
2692         classname with dots.
2693         (exceptions_handle_exception): Compiler warning fix.
2694
2695 2006-04-04 09:13  edwin
2696
2697         * src/vm/jit/verify/typeinfo.c (CLASSINFO_IMPLEMENTS_INTERFACE):
2698         Removed the
2699         single use of the macro VFTBLINTERFACETABLE
2700
2701 2006-04-04 08:45  twisti
2702
2703         * src/native/vm/VMClass.c: Reordered methods like in the
2704         VMClass.java. This eases the 1.5 changes addition.
2705
2706 2006-04-04 08:30  edwin
2707
2708         * src/vm/jit/parse.c (parse): Removed obsolete variable
2709         `skipBasicBlockChange`.
2710
2711 2006-04-04 08:24  edwin
2712
2713         * src/vm/jit/parse.c (parse): Removed obsolete variable `firstlocal`.
2714         (Was used for the old inliner.)
2715
2716 2006-04-03 15:36  twisti
2717
2718         * src/vm/jit/powerpc/codegen.c (codegen): Changed signature to use
2719         jitdata. Renamed reg_of_var by codegen_reg_of_var.
2720         * src/vm/jit/powerpc/codegen.h (M_COPY): Likewise.
2721
2722 2006-04-03 13:59  twisti
2723
2724         * src/vm/jit/powerpc/codegen.c (codegen): Renamed parentargs_base to
2725         stackframesize.
2726         (codegen_trace_args): Likewise.
2727
2728 2006-04-02 16:17  edwin
2729
2730         * src/vm/jit/i386/codegen.c (codegen): Implemented inlining of
2731         synchronized
2732         methods (INLINE_START, INLINE_END do monitorenter/exit).
2733
2734 2006-04-02 16:16  edwin
2735
2736         * src/vm/jit/inline/inline.c (inline_node): Added fields for inlining
2737         synchronized methods.
2738         (inline_context): Added `master` pointer to outermost caller. Added
2739         field
2740         `calls_others`. (Leaf method detection should really be done after
2741         inlining).
2742         (several methods): Implemented inlining of synchronized methods.
2743         (inline_new_stackslot): Added.
2744         (inline_write_exception_handlers): Added.
2745
2746 2006-04-01 21:03  edwin
2747
2748         * src/vm/jit/intrp/codegen.c (createcalljavafunction): Create
2749         codeinfo with
2750         the right methodinfo pointer.
2751
2752 2006-04-01 21:00  edwin
2753
2754         * src/vm/jit/codegen-common.h (intrp_createnativestub): Takes a
2755         `jitdata *` now.
2756         
2757         * src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub)
2758         (createcalljavafunction): Use jitdata.
2759
2760 2006-03-31 12:38  edwin
2761
2762         * src/vm/jit/inline/inline.c, src/vm/jit/inline/inline_debug.c:
2763         Adapted to
2764         twisti's jitdata changes.
2765
2766 2006-03-31 07:50  twisti
2767
2768         * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Replaced $stub
2769         symbols with old symbols and define them for darwin in the
2770         corresponding md-asm.h.
2771         (asm_call_jit_compiler): Likewise.
2772         (asm_wrapper_patcher): Likewise.
2773         (asm_replacement_out): Likewise.
2774         * src/vm/jit/powerpc/darwin/md-asm.h (builtin_asm_get_exceptionptrptr)
2775         (builtin_throw_exception, exceptions_handle_exception, jit_compile)
2776         (replace_me, stacktrace_create_extern_stackframeinfo)
2777         (stacktrace_remove_stackframeinfo): Changed to $stub symbol.
2778         (stacktrace_extern_fillInStackTrace): Removed.
2779         
2780         * src/vm/jit/powerpc/linux/md-abi.c (regs): Added.
2781
2782 2006-03-31 07:14  twisti
2783
2784         * src/vm/jit/powerpc/patcher.c
2785         (patcher_checkcast_instanceof_interface): Compile fix (typo).
2786
2787 2006-03-30 12:01  twisti
2788
2789         * src/vm/jit/alpha/asmpart.S (vm/jit/abi.h): Changed to
2790         vm/jit/abi-asm.h.
2791         * src/vm/jit/mips/asmpart.S: Likewise.
2792         * src/vm/jit/i386/asmpart.S: Likewise.
2793         * src/vm/jit/x86_64/asmpart.S: Likewise.
2794
2795 2006-03-30 11:59  twisti
2796
2797         * src/vm/jit/powerpc/codegen.c (codegen): Changed signature to use
2798         jitdata. Renamed reg_of_var by codegen_reg_of_var.
2799         * src/vm/jit/powerpc/codegen.h (M_COPY): Likewise.
2800         
2801         * src/vm/jit/powerpc/asmpart.S (vm/jit/abi.h): Changed to
2802         vm/jit/abi-asm.h.
2803         (asm_vm_call_method_exception_handler): Export it.
2804         (asm_vm_call_method): Don't put label addresses into the
2805         "data-segment", as it's located in the .text area and that may be
2806         read-only. Changed to use PIC code. Linux stuff is still missing.
2807         
2808         * src/vm/jit/powerpc/Makefile.am (DISASS_SOURCES): Added.
2809         * src/vm/jit/powerpc/disass.c (regs): Removed.
2810
2811 2006-03-30 10:26  twisti
2812
2813         * src/vm/jit/ifconv/Makefile.am (AM_CPPFLAGS): Added OS_DIR.
2814         (LIBS): Added.
2815
2816 2006-03-30 10:23  twisti
2817
2818         * src/vm/jit/Makefile.am (noinst_HEADERS): Added abi-asm.h.
2819         * src/vm/jit/abi.h (vm/jit/abi-asm.h): Added.
2820         (nregdescint, regs, nregdescfloat): Added.
2821         * src/vm/jit/abi-asm.h: New file.
2822         * src/vm/jit/reg.h (nregdescint, nregdescfloat): Removed.
2823         * src/vm/jit/reg.c (vm/jit/abi.h): Added.
2824         * src/vm/jit/replace.c: Likewise.
2825         * src/vm/jit/allocator/lsra.c: Likewise.
2826         * src/vm/jit/powerpc/darwin/md-asm.h
2827         (asm_vm_call_method_exception_handler): Added.
2828         * src/vm/jit/powerpc/darwin/md-abi.c (regs): Added.
2829
2830 2006-03-30 10:14  twisti
2831
2832         * src/vm/jit/codegen-common.c: Use ENABLE_DISASSEMBLER.
2833         * src/vm/jit/codegen-common.h: Likewise.
2834         * src/vm/jit/stack.c: Likewise. Plus ENABLE_LSRA.
2835         * src/vm/jit/disass.h: Likewise.
2836         * src/vm/jit/jit.c: Likewise. Plus ENABLE_LOOP.
2837
2838 2006-03-30 10:10  twisti
2839
2840         * src/vm/jit/powerpc/patcher.c (patcher_invokevirtual): Use disp
2841         variable for code patching. This will ease the overflow code
2842         comming.
2843         (patcher_invokeinterface): Likewise.
2844         (patcher_checkcast_instanceof_interface): Likewise.
2845
2846 2006-03-30 09:52  twisti
2847
2848         * src/vm/exceptions.c (exceptions_handle_exception): Check for special
2849         * start/endpc-NULL case. This makes asmpart stuff much easier, like on
2850         * Darwin or IRIX.
2851         
2852         * src/vm/jit/asmpart.h (asm_vm_call_method_exception_handler): Added.
2853         
2854         * src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler):
2855         Export it.
2856         (asm_vm_call_method): Don't put label addresses into the
2857         "data-segment", as it's located in the .text area and that may be
2858         read-only.
2859         * src/vm/jit/i386/asmpart.S: Likewise.
2860         * src/vm/jit/mips/asmpart.S: Likewise.
2861         * src/vm/jit/x86_64/asmpart.S: Likewise.
2862
2863 2006-03-30 09:20  twisti
2864
2865         * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Return NULL for
2866         exception.
2867
2868 2006-03-30 08:48  twisti
2869
2870         * configure.ac (opcodes): Check for disassembler symbol as
2871         init_disassemble_info isn't defined everywhere, like NetBSD.
2872
2873 2006-03-29 23:11  twisti
2874
2875         * src/vm/jit/powerpc/netbsd: New directory.
2876         * src/vm/jit/powerpc/netbsd/md-abi.h: New file.
2877         * src/vm/jit/powerpc/netbsd/md-os.c: Likewise.
2878         * src/vm/jit/powerpc/netbsd/md-asm.h: Likewise.
2879         * src/vm/jit/powerpc/netbsd/Makefile.am: Likewise.
2880         * src/vm/jit/powerpc/netbsd/md-abi.c: Likewise.
2881         * src/vm/jit/powerpc/netbsd/.cvsignore: Likewise.
2882         * configure.ac (host_os): Added NetBSD.
2883         (AC_CONFIG_FILES): Added src/vm/jit/powerpc/netbsd/Makefile.
2884
2885 2006-03-28 15:43  twisti
2886
2887         * tests/regression/codepatching/test.java: Made functions static
2888         final.
2889         --This line, and those below, will be ignored--
2890         
2891         M test.java
2892
2893 2006-03-28 15:41  twisti
2894
2895         * src/vm/jit/i386/codegen.c (codegen): Changed signature to use
2896         jitdata. Renamed reg_of_var by codegen_reg_of_var.
2897         * src/vm/jit/i386/codegen.h (M_COPY): Likewise.
2898
2899 2006-03-28 15:14  twisti
2900
2901         * configure.ac (AC_CONFIG_FILES): Added src/vm/jit/ifconv/Makefile.
2902
2903 2006-03-28 15:10  twisti
2904
2905         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv.
2906         * src/vm/jit/ifconv: New directory.
2907         * src/vm/jit/ifconv/ifconv.c: New file.
2908         * src/vm/jit/ifconv/Makefile.am: Likewise.
2909         * src/vm/jit/ifconv/ifconv.h: Likewise.
2910         * src/vm/jit/ifconv/.cvsignore: Likewise.
2911
2912 2006-03-28 14:52  twisti
2913
2914         * src/vm/method.h (vm/jit/code.h): Added.
2915         (codeinfo, rplpoint, executionstate, sourcestate): typedef's removed.
2916         
2917         * src/vm/jit/codegen-common.c (codegendata): Removed code.
2918         (codegen_setup, codegen_finish, createnativestub, codegen)
2919         (intrp_codegen): Changed signature to use jitdata.
2920         (reg_of_var): Renamed to codegen_reg_of_var. Changed signature.
2921         (codegen_free): Removed.
2922         * src/vm/jit/codegen-common.h: Likewise.
2923         
2924         * src/vm/jit/stack.c (lock_show_icmd): Renamed to
2925         lock_stack_show_icmd.
2926         (analyse_stack): Renamed to stack_analyse. Changed signature to use
2927         jitdata.
2928         (ICMD_IF_ICMPxx): Make ICMD_IFxx last instruction in basic block. This
2929         is required for if-conversion.
2930         (stack_print): Renamed to stack_print_stack.
2931         (show_icmd_method): Renamed to stack_show_method. Changed signature to
2932         use jitdata.
2933         (show_icmd_block): Renamed to stack_show_basicblock. Changed signature
2934         to use jitdata.
2935         (show_icmd): Renamed to stack_show_icmd.
2936         * src/vm/jit/stack.h: Likewise.
2937         
2938         * src/vm/jit/code.h (codeinfo): Added typedef.
2939         
2940         * src/vm/jit/dseg.c (assert.h): Moved.
2941         (dseg_resolve_datareferences, dseg_display): Changed signature to use
2942         jitdata.
2943         * src/vm/jit/dseg.h: Likewise.
2944         
2945         * src/vm/jit/verify/typecheck.c (typecheck): Changed signature to use
2946         jitdata.
2947         * src/vm/jit/verify/typecheck.h: Likewise.
2948         
2949         * src/vm/jit/loop/loop.c (analyseGraph): Changed signature to use
2950         jitdata.
2951         * src/vm/jit/loop/loop.h: Likewise.
2952         * src/vm/jit/loop/graph.c (depthFirst): Likewise.
2953         * src/vm/jit/loop/graph.h: Likewise.
2954         * src/vm/jit/loop/analyze.c (optimize_loops): Likewise.
2955         * src/vm/jit/loop/analyze.h: Likewise.
2956         * src/vm/jit/allocator/lsra.c (lsra): Likewise.
2957         * src/vm/jit/allocator/lsra.h: Likewise.
2958         * src/vm/jit/allocator/simplereg.c (interface_regalloc)
2959         (local_regalloc,allocate_scratch_registers): Likewise.
2960         * src/vm/jit/allocator/simplereg.h: Likewise.
2961         * src/vm/jit/parse.c (parse): Likewise.
2962         * src/vm/jit/replace.c (replace_create_replacement_points): Likewise.
2963         * src/vm/jit/intrp/codegen.c (intrp_codegen): Likewise.
2964         * src/vm/jit/reg.c (reg_setup): Likewise.
2965         * src/vm/jit/reg.h: Likewise.
2966         
2967         * src/vm/jit/jit.c (jit_compile): Use new function signatures and
2968         jitdata structure.
2969         (jit_compile_intern): Changed signature to use jitdata.
2970         * src/vm/jit/jit.h (jitdata): Added.
2971         (ICMD_OPCODE_MASK): Likewise.
2972         (ICMD_CONDITION_MASK): Likewise.
2973         
2974         * src/vm/jit/replace.h (rplpoint, executionstate, sourcestate):
2975         typedef's added.
2976         (replace_create_replacement_points): Changed signature to use jitdata.
2977         
2978         * src/vm/jit/parse.h (INDEX_ONEWORD, INDEX_TWOWORD): Use goto.
2979         (parse): Changed signature to use jitdata.
2980
2981 2006-03-28 14:31  twisti
2982
2983         * src/vm/jit/x86_64/md.c (md_signal_handler_sigsegv)
2984         (md_signal_handler_sigfpe): Comment changes.
2985
2986 2006-03-28 14:30  twisti
2987
2988         * src/vm/jit/i386/codegen.c (createnativestub): Replaced _exceptionptr
2989         by _no_threads_exceptionptr.
2990
2991 2006-03-28 14:22  twisti
2992
2993         * NEWS: Added upcoming 0.96 release. Added miranda-methods fix.
2994
2995 2006-03-28 14:21  twisti
2996
2997         * src/tests/regression/native/checkjni.c (PushLocalFrame): New method.
2998         * src/tests/regression/native/checkjni.java (PushLocalFrame):
2999         Likewise.
3000         (equal(int,int)): Likewise.
3001         * src/tests/regression/native/Makefile.am (NOTESTNAMES): Added.
3002
3003 2006-03-28 11:54  twisti
3004
3005         * src/vm/jit/x86_64/codegen.c (codegen): Renamed parentargs_base to
3006         stackframesize.
3007         * tests/regression/extest.2output: Updated.
3008
3009 2006-03-28 10:42  twisti
3010
3011         * src/vm/Makefile.am (noinst_LTLIBRARIES): Reformatted.
3012
3013 2006-03-28 10:21  twisti
3014
3015         * src/native/vm/VMClassLoader.c (loadClass): Smaller changes.
3016
3017 2006-03-28 09:41  twisti
3018
3019         * src/native/native.c (dummynativetable): Renamed getModifiers
3020         functions to getModifiersInternal due to GNU Classpath VM interface
3021         changes.
3022         * src/native/vm/Constructor.c (getModifiers): Renamed to
3023         getModifiersInternal.
3024         * src/native/vm/Field.c (getModifiers): Likewise.
3025         * src/native/vm/Method.c (getModifiers): Likewise.
3026
3027 2006-03-27 11:37  twisti
3028
3029         * src/vm/class.c: Don't initialize classes to NULL.
3030         
3031         * src/vm/loader.c (loader_load_all_classes): Added NDEBUG.
3032         * src/vm/builtin.c (builtin_new): Likewise.
3033         * src/vm/jit/codegen-common.c (codegen_createnativestub): Likewise.
3034         (codegen_disassemble_nativestub): Likewise.
3035         * src/vm/jit/codegen-common.h (codegen_disassemble_nativestub):
3036         Likewise.
3037         * src/vm/jit/stack.c (stack_print): Likewise.
3038         * src/vm/jit/stack.h (stack_print, show_icmd_method, show_icmd_block)
3039         (show_icmd): Likewise.
3040         * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
3041         * src/vm/linker.c (link_class_intern): Likewise.
3042         * src/cacao/cacao.c (main): Likewise.
3043         
3044         * src/vm/jit/x86_64/codegen.c: Likewise.
3045         * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Likewise.
3046         * src/vm/jit/x86_64/Makefile.am (DISASS_SOURCES): Added. Put into
3047         ENABLE_DISASSEMBLER.
3048         
3049         * src/vm/jit/jit.c (jit_compile_intern): Added ENABLE_LOOP.
3050         * src/vm/vm.c (vm_create): Added ENABLE_PROFILING.
3051         (vm_exit_handler): Likewise.
3052         
3053         * configure.ac (AC_ENABLE_SHARED, AC_DISABLE_STATIC): Removed. Set it
3054         manually.
3055         (EXPORT_SYMBOLS_FLAGS): Removed.
3056         (--enable-disassembler): Added.
3057         (--ensable-loop): Likewise.
3058         (--ensable-profiling): Likewise.
3059         (--ensable-libjvm): Likewise.
3060         (--ensable-inlining): Moved.
3061         
3062         * src/vm/jit/Makefile.am (LOOP_LIB): Added. Put into ENABLE_LOOP.
3063         (PROFILE_LIB): Put into ENABLE_PROFILING.
3064         * src/cacao/Makefile.am (cacao_LDFLAGS): Use -export-dynamic and let
3065         libtool do the work. Add -all-static for ENABLE_STATICVM.
3066         
3067         * src/lib/Makefile.am: Made it -j aware.
3068         
3069         * src/vm/resolve.c (config.h, vm/global.h): Added.
3070         * src/vm/classcache.c (config.h): Moved to top.
3071         
3072         * src/vm/exceptions.h: Small change.
3073
3074 2006-03-27 11:15  twisti
3075
3076         * src/vm/utf8.c: Removed superfluous comment.
3077
3078 2006-03-24 11:50  motse
3079
3080         * src/cacao/cacao.c (main): remove debug code
3081
3082 2006-03-23 12:48  edwin
3083
3084         * src/vm/jit/parse.h (bound_check): Renamed to CHECK_BYTECODE_INDEX,
3085         made
3086         a NOP for ENABLE_VERIFIER undefined.
3087         (bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE,
3088         made
3089         a NOP for ENABLE_VERIFIER undefined.
3090         
3091         * src/vm/jit/parse.c (fillextable): Cleaned up.
3092         (bound_check): Renamed to CHECK_BYTECODE_INDEX.
3093         (bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE.
3094         (parse): Only do checks if ENABLE_VERIFIER is defined.
3095
3096 2006-03-23 11:22  edwin
3097
3098         * src/vm/jit/parse.c (CHECK_END_OF_BYTECODE): Added a macro for
3099         checking
3100         the end of the bytecode that becomes a NOP if ENABLE_VERIFIER is
3101         undefined.
3102
3103 2006-03-23 02:06  edwin
3104
3105         * src/vm/jit/parse.c (parse): Uncuddled else's.
3106
3107 2006-03-23 00:56  edwin
3108
3109         * src/vm/jit/powerpc/darwin/md-asm.h (_asm_replacement_out)
3110         (_asm_replacement_in, _replace_me): Added #defines for Darwin.
3111
3112 2006-03-23 00:30  edwin
3113
3114         * src/vm/jit/stack.h (CHECK_STACK_DEPTH): Added. Uses goto to a common
3115         label for stack depth mismatches.
3116         (MARKREACHED): Use CHECK_STACK_DEPTH, which becomes a NOP if
3117         ENABLE_VERIFIER is undefined.
3118         
3119         * src/vm/jit/stack.c (anaylse_stack): Use CHECK_STACK_DEPTH.
3120         Added common label `throw_stack_depth_error` for stack depth
3121         mismatches.
3122         Uncuddled else's.
3123
3124 2006-03-23 00:08  edwin
3125
3126         * src/vm/global.h (TYPECHECK_STACK_COMPCAT): Replaced by
3127         ENABLE_VERIFIER.
3128         The separation made no sense, anyway.
3129         
3130         * src/vm/jit/stack.c (TYPECHECK_STACK_COMPCAT): Replaced by
3131         ENABLE_VERIFIER.
3132         (analyse_stack): Removed code duplication by branching to a common
3133         label
3134         for all computational category errors: throw_stack_category_error.
3135
3136 2006-03-22 23:51  edwin
3137
3138         * src/vm/jit/stack.h (BBEND): Inlined this macro (used only once) at
3139         its
3140         call site in stack.c.
3141         
3142         * src/vm/jit/stack.c (analyse_stack): Inlined BBEND macro and cleaned
3143         up
3144         the code.
3145
3146 2006-03-22 23:29  edwin
3147
3148         * src/vm/jit/stack.c (analyse_stack): Removed obsolete label
3149         `icmd_store`.
3150
3151 2006-03-22 23:27  edwin
3152
3153         * src/vm/jit/jit.h (ICMD_READONLY_ARG, ICMD_CLEAR_ARGREN): Removed.
3154         
3155         * src/vm/jit/stack.c (analyse_stack): Removed obsolete argument
3156         renaming.
3157         
3158         * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed
3159         ICMD_READONLY_ARG and ICMD_CLEAR_ARGREN.
3160
3161 2006-03-22 23:17  edwin
3162
3163         * src/vm/jit/stack.h (TYPE_VERIFYERROR): Changed to CHECK_BASIC_TYPE.
3164         This
3165         macro now becomes a NOP if ENABLE_VERIFIER is undefined. Otherwise it
3166         uses
3167         a goto to the common label throw_stack_type_error in order to save
3168         space.
3169         
3170         * src/vm/jit/stack.c (analyse_stack): Added variable `expectedtype`
3171         for use
3172         by CHECK_BASIC_TYPE. Added label throw_stack_type_error.
3173
3174 2006-03-22 20:59  edwin
3175
3176         * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Save/restore stack
3177         pointer
3178         properly. Fixed copy&paste error in restoring callee-save registers.
3179
3180 2006-03-22 18:32  edwin
3181
3182         * src/vm/jit/stack.c (analyse_stack): Added throw_stack_overflow
3183         label.
3184         
3185         * src/vm/jit/stack.h (CHECKOVERFLOW): Make this a NOP if
3186         ENABLE_VERIFIER
3187         is undefined.
3188         (REQUIRE): Use #if defined(...)
3189
3190 2006-03-22 17:25  edwin
3191
3192         * src/vm/jit/stack.h (REQUIRE): Made a NOP if ENABLE_VERIFIER is
3193         undefined.
3194         
3195         * src/vm/jit/stack.c (analyse_stack): Only define
3196         throw_stack_underflow
3197         if ENABLE_VERIFIER is defined.
3198         (jit_type): Do not define that for NDEBUG.
3199
3200 2006-03-22 17:14  edwin
3201
3202         * src/vm/jit/stack.h (REQUIRE): Avoid duplication of exception
3203         throwing code.
3204         
3205         * src/vm/jit/stack.c (analyse_stack): Added label
3206         throw_stack_underflow
3207         for the REQUIRE macro.
3208
3209 2006-03-22 15:30  edwin
3210
3211         * src/vm/jit/powerpc/md.c (DISASSINSTR): #ifdef'ed
3212         * src/vm/jit/alpha/md.c (DISASSINSTR): #ifdef'ed
3213         * src/vm/jit/i386/md.c (DISASSINSTR): #ifdef'ed
3214         * src/vm/jit/x86_64/md.c (DISASSINSTR): #ifdef'ed
3215         * src/vm/jit/mips/md.c (DISASSINSTR): #ifdef'ed
3216
3217 2006-03-22 12:35  edwin
3218
3219         * src/vm/jit/inline/inline.c (stack_depth): Moved here from
3220         inline_debug.c.
3221         (NDEBUG): Put debug stuff inside #ifndef NDEBUG.
3222         
3223         * src/vm/jit/inline/inline_debug.c (stack_depth): Moved to inline.c
3224
3225 2006-03-22 09:19  edwin
3226
3227         * src/vm/jit/inline/inline_debug.c (debug_dump_stack): Fixed warning
3228         on
3229         platforms that don't define NULL as a pointer.
3230
3231 2006-03-22 01:22  edwin
3232
3233         * src/vm/jit/inline/inline.c (relocate_stack_ptr_inter,
3234         rewrite_method):
3235         Fixed warnings.
3236         
3237         * src/vm/jit/inline/inline_debug.c (DEBUG_SLOT, dump_inline_tree):
3238         Fixed warnings.
3239
3240 2006-03-21 14:07  twisti
3241
3242         * src/vm/jit/i386/codegen.h (ALIGNCODENOP): Added.
3243         
3244         * src/vm/jit/i386/codegen.c (codegen): Renamed to parentargs_base to
3245         stackframesize. Align stack to 16-bytes.
3246         (ICMD_GOTO): Use ALIGNCODENOP.
3247         
3248         * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Align stack to
3249         16-bytes. Use register defines for better readability.
3250
3251 2006-03-21 11:58  twisti
3252
3253         * src/vm/jit/Makefile.am: Removed ifconv. Again...
3254
3255 2006-03-21 11:50  twisti
3256
3257         * configure.ac (AC_INIT): Changed cvs to svn.
3258         (--enable-inlining): Added.
3259         
3260         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv.
3261         (ENABLE_IFCONV): Added. Use IFCONV_LIB.
3262         (USE_INLINING): Renamed to ENABLE_INLINING.
3263
3264 2006-03-21 07:57  edwin
3265
3266         * src/vm/jit/alpha/codegen.c (codegen): Comment 16-byte stack
3267         alignment.
3268         
3269         * src/vm/jit/alpha/asmpart.S (asm_replacment_out): Fix comment about
3270         stack layout.
3271
3272 2006-03-21 07:42  edwin
3273
3274         * src/vm/jit/alpha/asmpart.S (REPLACEMENT_ROOM): Fixed deleted
3275         characters.
3276
3277 2006-03-21 04:14  edwin
3278
3279         * src/vm/jit/inline/Makefile.am (AM_CPPFLAGS): Added OS include dir.
3280
3281 2006-03-21 03:15  edwin
3282
3283         * src/vm/jit/inline/inline_debug.c: Added file.
3284
3285 2006-03-21 00:13  edwin
3286
3287         * src/vm/jit/inline/inline.c: Committed the inliner. This code works
3288         but
3289         it is still in prototyping stage.
3290         
3291         * src/vm/jit/parse.c (parse): Added (#if 0-ed) code for storing the
3292         exception table that the inliner uses.
3293
3294 2006-03-21 00:04  motse
3295
3296         major rework of jvmti. now we have three processes in jvmti mode.
3297         there are still many debug statements
3298
3299 2006-03-20 23:56  edwin
3300
3301         * src/vm/jit/code.h (codeinfo): Comment that profiling fields
3302         will be removed.
3303
3304 2006-03-20 15:41  edwin
3305
3306         * src/vm/jit/alpha/asmpart.S (asm_replacement_out): 16-byte align
3307         stack.
3308
3309 2006-03-20 15:37  edwin
3310
3311         * doc/stack_frames.txt: Some fixes, described PowerPC stack frames.
3312
3313 2006-03-20 15:12  twisti
3314
3315         * src/vm/jit/alpha/codegen.c (codegen): Align stack to 16-bytes in
3316         replacement stub.
3317         * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Load GP before
3318         symbolic jumps.
3319
3320 2006-03-20 14:43  twisti
3321
3322         * autogen.sh, src/boehm-gc/autogen.sh: Prefix all shell variables with
3323         CACAO_ to prevent problems on OpenBSD.
3324
3325 2006-03-20 14:27  twisti
3326
3327         * src/boehm-gc/darwin_stop_world.c,
3328         src/boehm-gc/threadlibs.c,
3329         src/boehm-gc/doc/README.changes,
3330         src/boehm-gc/doc/README,
3331         src/boehm-gc/doc/gcinterface.html,
3332         src/boehm-gc/mark.c,
3333         src/boehm-gc/include/gc.h,
3334         src/boehm-gc/include/gc_cpp.h,
3335         src/boehm-gc/include/gc_pthread_redirects.h,
3336         src/boehm-gc/include/leak_detector.h,
3337         src/boehm-gc/include/gc_config_macros.h,
3338         src/boehm-gc/include/private/gc_priv.h,
3339         src/boehm-gc/include/private/gcconfig.h,
3340         src/boehm-gc/include/private/gc_pmark.h,
3341         src/boehm-gc/include/private/gc_locks.h,
3342         src/boehm-gc/configure.in,
3343         src/boehm-gc/allchblk.c,
3344         src/boehm-gc/powerpc_darwin_mach_dep.s,
3345         src/boehm-gc/dbg_mlc.c,
3346         src/boehm-gc/version.h,
3347         src/boehm-gc/pthread_stop_world.c,
3348         src/boehm-gc/malloc.c,
3349         src/boehm-gc/headers.c,
3350         src/boehm-gc/pthread_support.c,
3351         src/boehm-gc/Makefile.direct,
3352         src/boehm-gc/os_dep.c,
3353         src/boehm-gc/Makefile.am,
3354         src/boehm-gc/dyn_load.c,
3355         src/boehm-gc/alloc.c,
3356         src/boehm-gc/misc.c: Updated to upstream version 6.7.
3357
3358 2006-03-19 19:46  edwin
3359
3360         * src/vm/jit/code.c (code_get_stack_frame_size): Implement stack
3361         alignment
3362         for MIPS.
3363         
3364         * src/vm/jit/mips/md.c (md_patch_replacement_point): Added.
3365         
3366         * src/vm/jit/mips/codegen.c (codegen): Handle replacement points.
3367         8-byte align blocks that start with replacement points.
3368         
3369         * src/vm/jit/mips/asmpart.S (asm_replacement_out): Added.
3370         (asm_replacement_in): Likewise.
3371         
3372         * src/vm/jit/replace.c (replace_activate_replacement_point): Activated
3373         for MIPS.
3374         (replace_deactivate_replacement_poin): Likewise.
3375         (replace_me): Likewise.
3376         (replace_read_executionstate): MIPS also keeps returnAddress in ITMP1.
3377         (replace_write_executionstate): Likewise.
3378         
3379         * doc/stack_frames.txt: Documented MIPS stack frames.
3380         
3381         * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Fixed comment.
3382
3383 2006-03-18 04:14  edwin
3384
3385         * src/vm/jit/powerpc/md.c (md_patch_replacement_point): Added.
3386         
3387         * src/vm/jit/powerpc/codegen.c (codegen): Handle replacement points.
3388         
3389         * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Added.
3390         (asm_replacement_in): Likewise.
3391         
3392         * src/vm/jit/alpha/codegen.c (codegen): Added missing initialization
3393         of `replacementpoint`.
3394         
3395         * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Store PV register.
3396         
3397         * src/vm/jit/code.c (code_get_sync_slot_count): Ported to PowerPC.
3398         (code_get_stack_frame_size): Likewise.
3399         
3400         * src/vm/jit/replace.c (replace_activate_replacement_point)
3401         (replace_deactivate_replacement_poin): Activated for PowerPC.
3402         (replace_read_value, replace_write_value): Added.
3403         (replace_read_executionstate): Ported to PowerPC, more complete
3404         data type handling.
3405         (replace_write_executionstate): Ported to Ported, more complete
3406         data type handling, fixed missing initialization of `topslot`.
3407         (replace_me): Activated for PowerPC.
3408
3409 2006-03-16 23:32  edwin
3410
3411         * src/vm/jit/alpha/codegen.c (codegen): Use `disp` for displacement.
3412
3413 2006-03-16 21:12  edwin
3414
3415         * src/vm/jit/alpha/md.c (Changes): Added my name.
3416
3417 2006-03-16 21:11  edwin
3418
3419         * src/vm/jit/alpha/md.c (md_patch_replacement_point): Added.
3420         (vim boilerplate): Added.
3421         
3422         * src/vm/jit/replace.c (replace_activate_replacement_point)
3423         (replace_deactivate_replacement_point, replace_me):
3424         Activated replacement for alpha.
3425
3426 2006-03-16 20:31  edwin
3427
3428         * src/vm/jit/alpha/asmpart.S (asm_replacement_out)
3429         (asm_replacement_in): Use stt/ldt for float registers.
3430         
3431         * src/vm/jit/alpha/codegen.c (codegen): Put replacement-out stub
3432         generation in correct scope. Fix warnings.
3433
3434 2006-03-16 19:55  edwin
3435
3436         * src/vm/jit/alpha/codegen.c (codegen): Handle replacement points.
3437         
3438         * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Added.
3439         (asm_replacement_in): Likewise.
3440         (vim boilerplate): Added.
3441
3442 2006-03-16 19:36  edwin
3443
3444         * src/vm/jit/replace.c (replace_read_executionstate)
3445         (replace_write_executionstate): Position of synchronization slot must
3446         be calculated from low addresses up, instead of backwards from stack
3447         base.
3448
3449 2006-03-16 19:00  edwin
3450
3451         * src/vm/jit/replace.c (replace_create_replacement_points): Set
3452         isleafmethod.
3453
3454 2006-03-16 18:57  edwin
3455
3456         * src/vm/jit/code.c (code_codeinfo_new): Set codeinfo.isleafmethod.
3457
3458 2006-03-16 18:44  edwin
3459
3460         * src/vm/jit/x86_64/codegen.c (codegen): Reuse `disp` variable.
3461         * src/vm/jit/i386/codegen.c (codegen): Likewise.
3462
3463 2006-03-16 18:38  edwin
3464
3465         * src/vm/jit/i386/asmpart.S (asm_replacement_out): Added pv.
3466         * src/vm/jit/x86_64/asmpart.S (asm_replacement_out): Added pv.
3467         
3468         * src/vm/jit/replace.c (replace_read_executionstate)
3469         (replace_write_executionstate): Prepared for alpha. Some cleanup.
3470         
3471         * src/vm/jit/replace.c (replace_write_executionstate):
3472         Calculate stack pointer from given stack base.
3473         (replace_executionstate_println): Added pv.
3474         (replace_sourcestate_println): Added stackbase.
3475         
3476         * src/vm/jit/replace.h (executionstate): Added pv.
3477         (sourcestate): Added stackbase.
3478         
3479         * src/vm/jit/tools/genoffsets.c (main): Added offes_pv.
3480         
3481         * doc/stack_frames.txt: Clarifications.
3482
3483 2006-03-16 18:32  edwin
3484
3485         * src/vm/jit/code.c (code_get_sync_slot_count): No synchronization
3486         slots
3487         if USE_THREADS is undefined.
3488         (code_get_stack_frame_size): Added x86_64 alignment slot.
3489
3490 2006-03-16 17:29  edwin
3491
3492         * doc/stack_frames.txt: Added description of x86_64 stack frames.
3493
3494 2006-03-16 17:24  twisti
3495
3496         * src/vm/jit/mips/md.c (sys/cachectl.h): Added.
3497         (md_cacheflush, md_icacheflush, md_dcacheflush): New method.
3498         
3499         * src/vm/jit/mips/codegen.c: Use new exception stubs.
3500         * src/vm/jit/mips/codegen.h (gen_nullptr_check, gen_bound_check)
3501         (gen_div_check): Use new add reference functions.
3502         
3503         * src/vm/jit/mips/patcher.c: Replaced cacheflush with md_icacheflush
3504         or md_dcacheflush.
3505         
3506         * src/vm/jit/mips/asmpart.S: (asm_calljavafunction): Removed.
3507         (asm_calljavafunction2): Renamed to asm_vm_call_method. Pointer to
3508         vm_arg block is now in a2. Use new defines.
3509
3510 2006-03-16 17:22  edwin
3511
3512         * doc/stack_frames.txt: Added description of alpha stack frames.
3513
3514 2006-03-16 17:16  twisti
3515
3516         * src/vm/vm.c (version): Check if __VERSION__ is defined.
3517
3518 2006-03-16 15:36  twisti
3519
3520         * src/vm/jit/x86_64/md.c (md_cacheflush): New method.
3521
3522 2006-03-16 15:28  edwin
3523
3524         * src/vm/jit/alpha/codegen.c (codegen): Cast to avoid compiler
3525         warning.
3526
3527 2006-03-16 15:19  twisti
3528
3529         * src/vm/jit/alpha, src/vm/jit/alpha/linux,
3530         src/vm/jit/alpha/linux/.cvsignore, src/vm/jit/alpha/freebsd,
3531         src/vm/jit/alpha/freebsd/.cvsignore, src/vm/jit/alpha/.cvsignore:
3532         Added TAGS.
3533
3534 2006-03-16 15:16  twisti
3535
3536         * src/vm/jit/alpha/md.c (md_cacheflush, md_icacheflush): New method.
3537         * src/vm/jit/alpha/asmpart.S (asm_sync_instruction_cache): Renamed to
3538         asm_cacheflush.
3539         * src/vm/jit/alpha/patcher.c: Replaced asm_sync_instruction_cache with
3540         md_icacheflush.
3541
3542 2006-03-16 14:29  twisti
3543
3544         * src/vm/jit/i386/md.c (md_cacheflush): New method.
3545
3546 2006-03-16 14:23  twisti
3547
3548         * src/vm/jit/powerpc, src/vm/jit/powerpc/linux,
3549         src/vm/jit/powerpc/linux/.cvsignore, src/vm/jit/powerpc/darwin,
3550         src/vm/jit/powerpc/darwin/.cvsignore, src/vm/jit/powerpc/.cvsignore:
3551         Added TAGS.
3552
3553 2006-03-16 14:19  twisti
3554
3555         * src/vm/jit/jit.h (md_cacheflush, md_icacheflush, md_dcacheflush):
3556         Added.
3557         * src/vm/jit/asmpart.h (asm_sync_instruction_cache): Removed.
3558         
3559         * src/vm/jit/codegen-common.c (codegen_finish): Call md_cacheflush for
3560         the dynamic superinstructions (intrp) and the generated code.
3561         
3562         * src/vm/jit/powerpc/codegen.c: Use new exception stubs.
3563         * src/vm/jit/powerpc/codegen.h (gen_nullptr_check, gen_bound_check):
3564         Use new add reference functions.
3565         
3566         * src/vm/jit/powerpc/md.c (vm/jit/asmpart.h): Added.
3567         (md_cacheflush, md_icacheflush, md_dcacheflush): New function.
3568         * src/vm/jit/powerpc/patcher.c: Use new cache flush functions.
3569
3570 2006-03-16 14:00  twisti
3571
3572         * src/cacao/cacao.c (mm/boehm.h, mm/memory.h): Removed.
3573
3574 2006-03-16 13:59  twisti
3575
3576         * src/vm/jit/intrp/engine.c (USE_spTOS): Define it for __POWERPC__,
3577         __POWERPC64__, __SPARC__. We know we need it there.
3578
3579 2006-03-16 13:56  twisti
3580
3581         * tests/regression/native/Makefile.am (AM_CPPFLAGS): Added OS_DIR.
3582
3583 2006-03-16 12:53  twisti
3584
3585         * src/vm/jit/tools/Makefile.am, src/vm/jit/verify/Makefile.am,
3586         src/vm/jit/loop/Makefile.am, src/vm/jit/profile/Makefile.am,
3587         src/cacao/Makefile.am, src/native/tools/Makefile.am,
3588         src/native/vm/Makefile.am, src/native/Makefile.am,
3589         src/toolbox/Makefile.am, src/mm/Makefile.am, src/cacaoh/Makefile.am
3590         (AM_CPPFLAGS): Added OS_DIR.
3591
3592 2006-03-16 12:03  twisti
3593
3594         * src/vm/jit/alpha/codegen.c: Use new exception stubs.
3595         * src/vm/jit/alpha/codegen.h (gen_nullptr_check, gen_bound_check): Use
3596         new add reference functions.
3597
3598 2006-03-16 04:38  edwin
3599
3600         * src/vm/jit/replace.h (RPLPOINT_SBR): Removed obsolete flag constant.
3601
3602 2006-03-16 04:17  edwin
3603
3604         * src/vm/jit/code.c (code_codeinfo_new): Commented.
3605         (code_get_sync_slot_count): Added.
3606         (code_get_stack_frame_size): Commented.
3607         (code_codeinfo_free): Commented.
3608         (code_free_code_of_method): Commented. Some cleanup.
3609         
3610         * src/vm/jit/code.h (code_get_sync_slot_count): Added.
3611         
3612         * src/vm/jit/i386/codegen.c (codegen): Use cd->lastmcodeptr to avoid
3613         patching over basic block boundaries.
3614         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
3615         
3616         * src/vm/jit/replace.h (rplpoint): `type` and `flags` added,
3617         `hashlink` removed.
3618         (sourcestate): Added slots for synchronized methods.
3619         
3620         * src/vm/jit/replace.c (replace_create_replacement_points): Store
3621         basicblock
3622         type.
3623         (replace_read_executionstate, replace_write_executionstate):
3624         Handle 2-word locals. Special handling for BBTYPE_SBR and BBTYPE_EXH
3625         blocks.
3626         Transfer synchronization slots.
3627
3628 2006-03-16 00:05  edwin
3629
3630         * src/vm/jit/code.c (code_get_stack_frame_size): Deal with 4/8-byte
3631         stackslots.
3632         
3633         * src/vm/jit/tools/genoffsets.c (main): Offsets of intregs and
3634         fltregs.
3635         
3636         * src/vm/jit/i386/asmpart.S (asm_replacement_out): Renamed regs to
3637         intregs. Some cleanup.
3638         
3639         * src/vm/jit/replace.c (replace_activate_replacement_point)
3640         (replace_deactivate_replacement_point): Enabled on x86_64.
3641         (replace_read_executionstate, replace_write_executionstate):
3642         Deal with 4/8-byte stackslots. Handle float registers.
3643         (replace_executionstate_println, replace_sourcestate_println):
3644         Print register names where possible.
3645         
3646         * src/vm/jit/x86_64/md.c (md_patch_replacement_point): Added.
3647         (vim boilerplate): Added.
3648         
3649         * src/vm/jit/x86_64/codegen.c (codegen): Handle replacement points.
3650         Generate replacement-out stubs.
3651         
3652         * src/vm/jit/x86_64/asmpart.S (asm_replacement_out,
3653         asm_replacement_in):
3654         Added.
3655         (vim boilerplate): Added.
3656         
3657         * src/vm/jit/replace.h (executionstate): Separate registers into int
3658         and float registers. Some cleanup, use INT_REG_CNT, FLT_REG_CNT
3659         macros.
3660
3661 2006-03-15 21:27  edwin
3662
3663         * src/vm/jit/replace.c (replace_read_executionstate): Commented.
3664         (replace_write_executionstate): Likewise, and set new PC here.
3665         (replace_me): Target PC is now set in replace_write_executionstate.
3666
3667 2006-03-15 20:53  edwin
3668
3669         * src/vm/jit/code.h (codeinfo): Changed regalloc to use rplalloc
3670         structs.
3671         Added fields storing stack slot counts.
3672         
3673         * src/vm/jit/code.c, src/vm/jit/code.h (code_get_stack_frame_size):
3674         Added.
3675         
3676         * src/vm/jit/replace.c (replace_create_replacement_points): Store full
3677         allocation info for locals and stack slots in rplalloc structs. Store
3678         number of stack slots.
3679         
3680         * src/vm/jit/replace.c (replace_read_executionstate): Added.
3681         (replace_write_executionstate): Likewise.
3682         
3683         * src/vm/jit/replace.c (replace_me): Use dump memory for sourcestate.
3684         Read an write executionstate. Do actual replace by calling
3685         asm_replace_in.
3686         
3687         * src/vm/jit/replace.c (replace_replacement_point_println)
3688         (replace_executionstate_println): Print new fields. Show correct
3689         number
3690         of stack slots.
3691         (replace_sourcestate_println): Added.
3692         
3693         * src/vm/jit/replace.h (rplalloc): Added.
3694         (rplpoint): Changed regalloc fields to use rplalloc structs.
3695         (executionstate): Removed saved regs.
3696         (sourcestate): Added saved regs.
3697         (replace_executionstate_println): Now takes codeinfo* argument.
3698         (replace_sourcestate_println): Added.
3699
3700 2006-03-15 20:43  edwin
3701
3702         * doc/stack_frames.txt: Added arrows indicating increasing
3703         addresses/indices.
3704
3705 2006-03-15 20:42  edwin
3706
3707         * src/vm/jit/asmpart.h (asm_replacement_in): Added prototype.
3708
3709 2006-03-15 20:40  edwin
3710
3711         * src/vm/jit/i386/asmpart.S (asm_replacement_out): Save all integer
3712         registers,
3713         add space between stack frame and executionstate to accomodate
3714         changing stack
3715         frame size.
3716         
3717         * src/vm/jit/i386/asmpart.S (asm_replacement_in): Added.
3718
3719 2006-03-15 20:38  edwin
3720
3721         * src/vm/jit/tools/genoffsets.c (main): Added offset of pc and sp
3722         in executionstate.
3723
3724 2006-03-15 17:17  twisti
3725
3726         * src/vm/jit/i386/codegen.c: Use new exception stubs. Don't cast with
3727         M_MOV_IMM.
3728         * src/vm/jit/i386/codegen.h (M_MOV_IMM, M_IST_IMM, M_IST32_IMM)
3729         (M_PUSH_IMM): Added cast.
3730         (M_CMP, M_CMP_MEMBASE, M_CMP_IMM_MEMBASE): Added.
3731
3732 2006-03-15 16:36  twisti
3733
3734         * src/vm/jit/codegen-common.h (branchref): Removed.
3735         (codegendata): Removed xboundrefs, xnullrefs, xcastrefs, xstorerefs,
3736         xdivrefs and xexceptionrefs. Added exceptionrefs.
3737         (codegen_addxboundrefs, codegen_addxcastrefs, codegen_addxdivrefs)
3738         (codegen_addxstorerefs, codegen_addxnullrefs)
3739         (codegen_addxexceptionrefs): Removed.
3740         (codegen_add_arithmeticexception_ref)
3741         (codegen_add_arrayindexoutofboundsexception_ref)
3742         (codegen_add_arraystoreexception_ref)
3743         (codegen_add_classcastexception_ref)
3744         (codegen_add_nullpointerexception_ref)
3745         (codegen_add_fillinstacktrace_ref): New function.
3746         * src/vm/jit/codegen-common.c: Likewise.
3747         
3748         * src/vm/jit/dseg.h (exceptionref): New structure.
3749         
3750         * src/vm/jit/x86_64/codegen.c: Use new exception stubs. Don't cast
3751         with M_MOV_IMM.
3752         * src/vm/jit/x86_64/codegen.h (M_MOV_IMM, M_IMOV_IMM): Added cast.
3753         
3754         * src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace): Moved.
3755         * src/vm/jit/stacktrace.h (STACKTRACE_inline_arithmeticexception)
3756         (STACKTRACE_inline_arrayindexoutofboundsexception)
3757         (STACKTRACE_inline_arraystoreexception)
3758         (STACKTRACE_inline_classcastexception)
3759         (STACKTRACE_inline_nullpointerexception)
3760         (STACKTRACE_inline_fillInStackTrace): Added functionptr defines.
3761         
3762         * src/vm/jit/jit.h (branchref): Added.
3763
3764 2006-03-15 12:14  edwin
3765
3766         * doc/stack_frames.txt: Added slots for synched methods.
3767
3768 2006-03-15 12:04  edwin
3769
3770         * doc/stack_frames.txt: Added file.
3771         
3772         * src/vm/jit/code.h (codeinfo): Rearranged fields.
3773         
3774         * src/vm/jit/i386/md.c, src/vm/jit/i386/asmpart.S,
3775         src/vm/jit/replace.c:
3776         Comment changes.
3777
3778 2006-03-15 11:38  edwin
3779
3780         * src/vm/jit/i386/md.c (md_patch_replacement_point): Generalized to
3781         activation and deactivation of replacement points.
3782         
3783         * src/vm/jit/i386/codegen.c (codegen): Prepare machine code for
3784         patching replacement points.
3785         
3786         * src/vm/jit/replace.c, src/vm/jit/replace.h
3787         (replace_deactivate_replacement_point): Added.
3788         
3789         * src/vm/jit/replace.c
3790         (replace_replacement_point_println): Print machine code.
3791         
3792         * src/vm/jit/replace.h (rplpoint): Added `mcode` field.
3793
3794 2006-03-15 11:18  twisti
3795
3796         * src/vm/jit/i386/codegen.c (GETFIELD, PUTFIELD, PUTFIELDCONST): Use
3797         M_ILD32 and M_LLD32 macros.
3798         (patcher): Save REG_ITMP3. Don't allocate a codegendata structure,
3799         just do it as on Alpha.
3800         * src/vm/jit/i386/codegen.h (var_to_reg_lng): Added.
3801         (store_reg_to_var_lng): Likewise.
3802         (M_ILD32, M_LLD, M_LLD32, M_IST32, M_IST32_IMM, M_LST, M_LST32)
3803         (M_LST_IMM, M_LST32_IMM): Likewise.
3804         
3805         * src/vm/jit/i386/patcher.c: Changed position of return address due to
3806         saving of REG_ITMP3.
3807         * src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Changed due to
3808         saving of REG_ITMP3.
3809
3810 2006-03-15 10:34  edwin
3811
3812         * src/vm/jit/replace.c (replace_create_replacement_points): Don't use
3813         rd->locals in the interpreter -- it's NULL there.
3814
3815 2006-03-15 05:13  edwin
3816
3817         * src/vm/jit/codegen-common.c (codegen_finish): Removed a compiler
3818         warning.
3819
3820 2006-03-15 05:08  edwin
3821
3822         * src/vm/jit/replace.h, src/vm/jit/i386/md.c
3823         (md_patch_replacement_point):
3824         Fixed return type.
3825         
3826         * src/vm/jit/replace.c (replace_activate_replacement_point): Only call
3827         md_patch_replacement_point if ENABLE_JIT is defined.
3828
3829 2006-03-15 04:57  edwin
3830
3831         * src/vm/jit/replace.c (replace_activate_replacement_point): Do not
3832         use
3833         the symbol md_patch_replacement_point on platforms where it does not
3834         exist, yet.
3835
3836 2006-03-15 04:43  edwin
3837
3838         * src/vm/jit/replace.h, src/vm/jit/replace.c
3839         (replace_activate_replacement_point): Added.
3840         (replace_activate): Added prototype.
3841         (md_patch_replacement_point): Added prototype.
3842         (replace_me): Added.
3843         (replace_replacement_point_println): Added.
3844         (replace_show_replacement_points): Cleaned up.
3845         (replace_executionstate_println): Added.
3846         
3847         * src/vm/jit/i386/codegen.c (codegen): Generate replacement-out stubs.
3848         
3849         * src/vm/jit/codegen-common.c (codegen_finish): Resolve replacement
3850         points.
3851         
3852         * src/vm/jit/asmpart.h, src/vm/jit/i386/asmpart.S
3853         (asm_replacement_out): Added.
3854         
3855         * src/vm/method.h (executionstate): Typo fixed.
3856         
3857         * src/vm/jit/stack.c (src/vm/jit/stack.c): Minor output change.
3858         
3859         * src/vm/jit/tools/genoffsets.c (executionstate): Added size and
3860         offset.
3861         
3862         * src/vm/jit/i386/md.c (md_patch_replacement_point): Added.
3863
3864 2006-03-15 01:50  edwin
3865
3866         * src/vm/jit/replace.h, src/vm/jit/replace.c
3867         (replace_replacement_info_print): Renamed to
3868         replace_show_replacement_points.
3869         * src/vm/jit/stack.c: Likewise.
3870
3871 2006-03-15 01:39  edwin
3872
3873         * src/vm/jit/replace.c, src/vm/jit/replace.h
3874         (replace_create_replacement_points): Added.
3875         (replace_free_replacement_points): Added.
3876         (replace_replacement_info_print): Added.
3877         
3878         * src/vm/jit/replace.h (rplpoint): Changed fields, made fixed length.
3879         
3880         * src/vm/jit/code.h (codeinfo): Changed replacement point fields.
3881         
3882         * src/vm/jit/jit.c (jit_compile_intern): Create replacement points.
3883         
3884         * src/vm/jit/jit.c (jit_compile_intern): Use already allocated
3885         codeinfo
3886         for do-nothing methods.
3887         
3888         * src/vm/jit/code.c (code_codeinfo_free): Free replacement points.
3889         
3890         * src/vm/jit/stack.c (show_icmd_method): Print replacement points.
3891
3892 2006-03-15 00:06  edwin
3893
3894         * src/vm/jit/stack.c, src/vm/jit/stack.h (icmd_print_stack): Renamed
3895         to
3896         stack_print. Documented.
3897         (show_icmd_method, show_icmd_block, show_icmd): Documented.
3898         (show_icmd_block): Print basicblock.bitflags.
3899         
3900         * src/vm/jit/stack.h (MARKREACHED): Mark targets of backward branches
3901         as replacement points (BBFLAG_REPLACEMENT)
3902
3903 2006-03-14 23:49  edwin
3904
3905         * src/vm/jit/jit.h (basicblock): Added `bitflags` field. Note: The
3906         flags
3907         of this struct should really be cleaned up.
3908         
3909         * src/vm/jit/jit.h (BASICBLOCK_INIT): Added, so we have a central
3910         place
3911         where to put initialization of the fields.
3912         
3913         * src/vm/jit/parse.c (parse): Cleaned up basicblock allocation.
3914
3915 2006-03-14 23:16  edwin
3916
3917         * src/vm/jit/jit.h (basicblock): Comment.
3918
3919 2006-03-14 23:00  edwin
3920
3921         * src/vm/jit/parse.c (fillextable): Removed unused label_index.
3922         (parse): Likewise.
3923         
3924         * src/vm/jit/replace.h: Comment moved.
3925
3926 2006-03-14 22:30  edwin
3927
3928         * src/native/jvmti/jvmti.c (GetMethodLocation): Use the new
3929         m->code field to get to the location of the method.
3930
3931 2006-03-14 22:16  edwin
3932
3933         * src/vm/method.h (methodinfo): Moved `entrypoint` to `codeinfo`.
3934         * src/vm/loader.c (load_method): Likewise.
3935         
3936         * src/vm/loader.c (load_newly_created_array): Use codeinfo.entrypoint.
3937         * src/vm/builtin.c (builtin_trace_exception): Likewise. Note:
3938         Currently
3939         we always use the current codeinfo. This is preliminary.
3940         
3941         * src/vm/jit/powerpc/codegen.c (codegen): Use cd->code->entrypoint.
3942         * src/vm/jit/alpha/codegen.c (createnativestub): Likewise.
3943         * src/vm/jit/dseg.c (dseg_resolve_datareferences): Likewise.
3944         * src/vm/jit/mips/codegen.c (codegen, createnativestub): Likewise.
3945         * src/vm/jit/i386/codegen.c (createnativestub): Likewise.
3946         * src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub)
3947         (createcalljavafunction): Likewise.
3948         * src/vm/jit/x86_64/codegen.c (createnativestub): Likewise.
3949         
3950         * src/vm/jit/intrp/codegen.c (nativecall): Use m->code->entrypoint.
3951         
3952         * src/vm/jit/codegen-common.h, src/vm/jit/codegen-common.c,
3953         src/cacaoh/headers.c (codegen_createnativestub): Now returns
3954         the created codeinfo instead of the entrypoint.
3955         
3956         * src/vm/jit/stacktrace.c (stacktrace_add_method): Find the codeinfo
3957         that contains the current PC. Note: This is preliminary. We should
3958         find the codeinfo * via the PV of the code containing the PC.
3959         
3960         * src/vm/jit/jit.c (jit_compile): Use m->code. Create a codeinfo
3961         for native stubs and the do-nothing stub
3962         
3963         * src/vm/jit/codegen-common.c (codegen_finish): Set entrypoint
3964         in codeinfo instead of in methodinfo.
3965
3966 2006-03-14 20:59  edwin
3967
3968         * src/vm/jit/code.c, src/vm/jit/replace.c, src/vm/jit/replace.h:
3969         Added GPL header and boilerplate.
3970
3971 2006-03-14 20:57  edwin
3972
3973         * src/vm/jit/code.h: Added GPL header and boilerplate.
3974
3975 2006-03-14 20:51  edwin
3976
3977         * src/vm/jit/code.c, src/vm/jit/code.h: Files added.
3978         
3979         * src/vm/jit/replace.c, src/vm/jit/replace.h: Files added.
3980         
3981         * src/vm/jit/Makefile.am (code.[ch], replace.[ch]): Added.
3982         
3983         * src/vm/method.h (methodinfo): Added field `code`. Each method
3984         may now have zero or more codeinfo:s associated with it. A
3985         codeinfo represents the machine code of a particular version
3986         of the compiled method. Note: Some fields in methodinfo that
3987         may need to be moved to codeinfo where marked XXX.
3988         
3989         * src/vm/jit/codegen-common.h (codegendata): Added field `code`.
3990         
3991         * src/vm/jit/codegen-common.c (codegen_setup): Allocate
3992         a new codeinfo.
3993         (codegen_finish): Use `code` field of codegendata.
3994         (codegen_createnativestub): Likewise.
3995         
3996         * src/vm/jit/stack.c (show_icmd_method, show_icmd_block):
3997         Use `code` field of codegendata.
3998         * src/vm/jit/dseg.c (dseg_display): Likewise.
3999         * src/vm/jit/jit.c (jit_compile_intern): Likewise. Switch
4000         current codeinfo after compilation is complete.
4001         
4002         * src/cacaoh/headers.c (code_free_code_of_method): Added stub.
4003         
4004         * src/vm/method.c (method_free): Free codeinfo:s of method.
4005         
4006         * src/vm/loader.c (load_method): Initialize m->code.
4007
4008 2006-03-14 16:40  twisti
4009
4010         * src/cacao/Makefile.am (ENABLE_STATICVM): Added cacao_LDFLAGS,
4011         otherwise the sumbols are not exported.
4012         
4013         * src/native/include/Makefile.am (ENABLE_STATICVM): Renamed to
4014         WITH_STATIC_CLASSPATH.
4015
4016 2006-03-14 16:30  twisti
4017
4018         * src/vm/jit/stacktrace.c (stacktrace_create): We have to check for an
4019         OOM when allocating from the heap. Fixes a crash in Jonas.
4020
4021 2006-03-14 15:00  edwin
4022
4023         * doc/design_onstack_replacement.txt: More design options added.
4024
4025 2006-03-13 21:26  edwin
4026
4027         * design_onstack_replacement.txt: Added file.
4028
4029 2006-03-13 11:35  twisti
4030
4031         * src/vm/vm.c (vm_create): Only put .jar file into classpath. Fixes
4032         startup bug with knopflerfish.
4033
4034 2006-03-13 08:02  edwin
4035
4036         * src/native/vm/VMClass.c (Java_java_lang_VMClass_getComponentType):
4037         Link class before accessing c->vftbl->arraydesc.
4038
4039 2006-03-13 07:06  edwin
4040
4041         * src/native/vm/VMClass.c (Java_java_lang_VMClass_getSuperclass): We
4042         must not
4043         assume that the class is already linked, so we have to resolve the
4044         super class
4045         reference. This fixes a NPE bug with Jonas.
4046
4047 2006-03-12 23:23  twisti
4048
4049         * src/vm/suck.c (suck_start): We really should close class files after
4050         reading it.
4051
4052 2006-03-11 21:34  edwin
4053
4054         * src/vm/resolve.c (resolve_class_from_typedesc): Safer check for
4055         reference types.
4056
4057 2006-03-11 20:41  edwin
4058
4059         * src/vm/jit/codegen-common.c (codegen_finish): When setting the
4060         entrypoint of a method, be sure not to overwrite an already set
4061         entrypoint.
4062
4063 2006-03-11 20:34  edwin
4064
4065         * src/vm/references.h (IS_XCLASSREF): Commented.
4066
4067 2006-03-11 20:32  edwin
4068
4069         * src/vm/references.h (IS_XCLASSREF): Added.
4070         (CLASSREF_OR_CLASSINFO_NAME): Added.
4071
4072 2006-03-11 20:30  edwin
4073
4074         * src/vm/class.c, src/vm/class.h (class_classref_print): Added.
4075         (class_classref_println): Added.
4076
4077 2006-03-11 16:06  edwin
4078
4079         * src/vm/jit/jit.c (jit_compile_intern): Check if the method has been
4080         compiled during static class initialization.
4081
4082 2006-03-11 15:03  edwin
4083
4084         * src/vm/method.c (vim boilerplate): Added.
4085
4086 2006-03-11 15:01  edwin
4087
4088         * src/vm/method.c (method_vftbl_lookup): Check ACC_INTERFACE on the
4089         class, instead of on the method, where it is not set. Do not check
4090         ACC_ABSTRACT here, because non-interface ACC_ABSTRACT methods are
4091         looked up just like non-abstract non-interface methods.
4092
4093 2006-03-10 22:22  twisti
4094
4095         * src/native/vm/VMRuntime.c (vm/options.h): Added.
4096         (nativeLoad): Print dlerror output when dlopen fails.
4097
4098 2006-03-09 16:13  twisti
4099
4100         * autogen.sh: Fixed typo.
4101
4102 2006-03-09 13:51  twisti
4103
4104         * src/vm/jit/powerpc/darwin/md-asm.h (asm_calljavafunction): Removed.
4105         (asm_calljavafunction_int): Likewise.
4106         (asm_calljavafunction2): Likewise.
4107         (asm_calljavafunction2int): Likewise.
4108         (asm_calljavafunction2long): Likewise.
4109         (asm_calljavafunction2float): Likewise.
4110         (asm_calljavafunction2double): Likewise.
4111         (_exceptionptr): Likewise.
4112         (asm_vm_call_method): Define added.
4113         (asm_vm_call_method_int): Likewise.
4114         (asm_vm_call_method_long): Likewise.
4115         (asm_vm_call_method_float): Likewise.
4116         (asm_vm_call_method_double): Likewise.
4117
4118 2006-03-09 13:46  twisti
4119
4120         * src/vm/jit/powerpc/patcher.c (patcher_get_putfield): Check for the
4121         instruction order on long fields.
4122
4123 2006-03-09 13:26  twisti
4124
4125         * autogen.sh: Check for installed programs and exit if no proper one
4126         was found.
4127         * src/boehm-gc/autogen.sh: Use the programs found by top-level
4128         autogen.
4129
4130 2006-03-08 09:44  twisti
4131
4132         * src/native/jni.c (PushLocalFrame): Implemented.
4133         (PopLocalFrame): Likewise.
4134         (DeleteLocalRef): Walk through all local frames.
4135         (NewLocalRef): Allocate a new local frame if the current frame is out
4136         of space.
4137         (EnsureLocalCapacity): Implemented.
4138         * src/vm/jit/codegen-common.c (codegen_finish_native_call): Release
4139         all local reference frames.
4140
4141 2006-03-07 20:44  twisti
4142
4143         * src/native/vm/VMClassLoader.c (nativeGetResources): Check if
4144         resource is a directory and don't add it.
4145
4146 2006-03-07 19:32  twisti
4147
4148         * src/vm/vm.c (usage): Small change.
4149         
4150         * src/native/vm/VMSystemProperties.c (preInit): Set java.ext.dirs to
4151         $JAVA_HOME/jre/lib/ext.
4152
4153 2006-03-07 18:18  twisti
4154
4155         * src/cacaoh/headers.c (intrp_main_stack): Changed type.
4156
4157 2006-03-07 17:21  twisti
4158
4159         test
4160
4161 2006-03-07 17:19  twisti
4162
4163         test
4164
4165 2006-03-07 10:48  twisti
4166
4167         * src/native/jni.c (_Jv_jni_CallIntMethodA): New function.
4168         (CallBooleanMethodA): Implemented.
4169
4170 2006-03-07 10:36  twisti
4171
4172         * src/vm/string.c (string_java_lang_StringIndexOutOfBoundsException):
4173         Added.
4174         * src/vm/stringlocal.h: Likewise.
4175         
4176         * src/vm/exceptions.c
4177         (exceptions_new_stringindexoutofboundsexception): New function.
4178         (exceptions_throw_stringindexoutofboundsexception): Likewise.
4179         * src/vm/exceptions.h: Likewise.
4180         
4181         * src/native/jni.c (GetStringRegion): Implemented.
4182
4183 2006-03-07 09:40  twisti
4184
4185         * src/vm/vm.c (_Jv_jvm): Changed type to _Jv_JavaVM.
4186         * src/vm/vm.h (_Jv_jvm): Added.
4187         
4188         * src/native/jni.c (ptr_jvm): Removed.
4189         (ptr_env): Likewise.
4190         (CallStaticObjectMethodA): Implemented.
4191         (GetJavaVM): Return _Jv_jvm as vm.
4192         (AttachCurrentThread): Return _Jv_env as env.
4193         (GetEnv): Likewise.
4194         (JNI_JavaVMTable): Renamed to _Jv_JNIInvokeInterface.
4195         (JNI_JNIEnvTable): Renamed to _Jv_JNINativeInterface.
4196         (JNI_CreateJavaVM): Allocate a _Jv_JavaVM structure and set it up
4197         correctly, this fixes the usage in C++ programs.
4198         * src/native/jni.h (_Jv_JavaVM): Added.
4199         
4200         * src/native/jvmti/jvmti.c: Renamed JNI_JavaVMTable to
4201         _Jv_JNIInvokeInterface and JNI_JNIEnvTable to _Jv_JNINativeInterface.
4202
4203 2006-03-06 18:45  christian
4204
4205         * src/vm/jit/stack.c (analyse_stack): Bugfix for copy elimination.
4206
4207 2006-03-06 13:03  twisti
4208
4209         * src/vm/jit/powerpc/linux/Makefile.am (LIBS): Added defined empty, as
4210         * this makes problems on darwin and actually we do not need to link
4211         * the configured libraries into convenience libraries.
4212         * src/vm/jit/powerpc/darwin/Makefile.am: Likewise.
4213         * src/vm/jit/powerpc/Makefile.am: Likewise.
4214         * src/vm/jit/alpha/linux/Makefile.am: Likewise.
4215         * src/vm/jit/alpha/Makefile.am: Likewise.
4216         * src/vm/jit/alpha/freebsd/Makefile.am: Likewise.
4217         * src/vm/jit/tools/Makefile.am: Likewise.
4218         * src/vm/jit/verify/Makefile.am: Likewise.
4219         * src/vm/jit/mips/linux/Makefile.am: Likewise.
4220         * src/vm/jit/mips/Makefile.am: Likewise.
4221         * src/vm/jit/mips/irix/Makefile.am: Likewise.
4222         * src/vm/jit/loop/Makefile.am: Likewise.
4223         * src/vm/jit/inline/Makefile.am: Likewise.
4224         * src/vm/jit/allocator/Makefile.am: Likewise.
4225         * src/vm/jit/i386/linux/Makefile.am: Likewise.
4226         * src/vm/jit/i386/Makefile.am: Likewise.
4227         * src/vm/jit/i386/freebsd/Makefile.am: Likewise.
4228         * src/vm/jit/schedule/Makefile.am: Likewise.
4229         * src/vm/jit/intrp/Makefile.am: Likewise.
4230         * src/vm/jit/x86_64/Makefile.am: Likewise.
4231         * src/vm/jit/profile/Makefile.am: Likewise.
4232         * src/vm/jit/Makefile.am: Likewise.
4233         * src/vm/Makefile.am: Likewise.
4234         * src/native/tools/Makefile.am: Likewise.
4235         * src/native/vm/Makefile.am: Likewise.
4236         * src/native/Makefile.am: Likewise.
4237         * src/toolbox/Makefile.am: Likewise.
4238         * src/mm/Makefile.am: Likewise.
4239         * src/threads/native/Makefile.am: Likewise.
4240         * src/fdlibm/Makefile.am: Likewise.
4241         
4242         * src/cacaoh/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
4243
4244 2006-03-06 00:30  twisti
4245
4246         * src/vm/jit/powerpc/asmpart.S (asm_calljavafunction): Removed.
4247         (asm_calljavafunction2): Renamed to asm_vm_call_method.
4248
4249 2006-03-05 23:53  twisti
4250
4251         * src/vm/jit/alpha/asmpart.S (asm_calljavafunction): Removed.
4252         (asm_calljavafunction2): Renamed to asm_vm_call_method.
4253
4254 2006-03-05 23:35  twisti
4255
4256         * src/vm/jit/codegen-common.c (codegen_init): Removed
4257         asm_calljavafunction.
4258         * src/vm/jit/i386/asmpart.S (asm_calljavafunction): Removed.
4259         (asm_calljavafunction2): Renamed to asm_vm_call_method.
4260
4261 2006-03-05 23:24  twisti
4262
4263         * src/vm/vm.c (vm_call_method_intern): Removed.
4264         (vm_vmargs_from_valist): Added.
4265         (vm_vmargs_from_jvalue): Likewise.
4266         (vm_call_method): New function.
4267         (vm_call_method_valist): Likewise.
4268         (vm_call_method_jvalue): Likewise.
4269         (vm_call_method_vmarg): Likewise.
4270         (vm_call_method_int): Likewise.
4271         (vm_call_method_int_valist): Likewise.
4272         (vm_call_method_int_jvalue): Likewise.
4273         (vm_call_method_int_vmarg): Likewise.
4274         (vm_call_method_long): Likewise.
4275         (vm_call_method_long_valist): Likewise.
4276         (vm_call_method_long_jvalue): Likewise.
4277         (vm_call_method_long_vmarg): Likewise.
4278         (vm_call_method_float): Likewise.
4279         (vm_call_method_float_valist): Likewise.
4280         (vm_call_method_float_jvalue): Likewise.
4281         (vm_call_method_float_vmarg): Likewise.
4282         (vm_call_method_double): Likewise.
4283         (vm_call_method_double_valist): Likewise.
4284         (vm_call_method_double_jvalue): Likewise.
4285         (vm_call_method_double_vmarg): Likewise.
4286         * src/vm/vm.h: Likewise.
4287         
4288         * src/native/jni.c (_Jv_jni_fill_vmargs_from_vargs): Removed.
4289         (_Jv_jni_vmargs_from_args): Likewise.
4290         (_Jv_jni_CallObjectMethodA): New function.
4291         (_Jv_jni_CallObjectMethod): Use vm_call_method.
4292         (_Jv_jni_CallIntMethod): Likewise.
4293         (_Jv_jni_CallLongMethod): Likewise.
4294         (_Jv_jni_CallFloatMethod): Likewise.
4295         (_Jv_jni_CallDoubleMethod): Likewise.
4296         (_Jv_jni_CallVoidMethod): Likewise.
4297         (_Jv_jni_CallVoidMethodA): Likewise.
4298         (_Jv_jni_invokeNative): Likewise.
4299         (CallObjectMethodA): Implemented.
4300         
4301         * src/vm/loader.c (load_class_from_sysloader): Replaced
4302         vm_call_method_intern by vm_call_method.
4303         (load_class_from_classloader): Likewise.
4304         * src/vm/finalizer.c (finalizer_run): Likewise.
4305         * src/vm/initialize.c (initialize_class_intern): Likewise.
4306         * src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace):
4307         Likewise.
4308         * src/vm/exceptions.c (throw_exception_exit_intern): Likewise.
4309         (new_arrayindexoutofboundsexception): Likewise.
4310         * src/vm/properties.c (properties_system_add): Likewise.
4311         * src/cacao/cacao.c (setup_debugger_process): Likewise.
4312         (getmainclassnamefromjar): Likewise.
4313         (main): Likewise.
4314         * src/native/vm/VMClassLoader.c (nativeGetResources): Likewise.
4315         * src/native/native.c (native_new_and_init): Likewise.
4316         (native_new_and_init_string): Likewise.
4317         (native_new_and_init_int): Likewise.
4318         (native_new_and_init_throwable): Likewise.
4319         * src/threads/native/threads.c (threads_init): Likewise.
4320         (threads_startup_thread): Likewise.
4321         * src/cacaoh/headers.c: Likewise.
4322         
4323         * src/vm/jit/x86_64/asmpart.S (asm_calljavafunction): Removed.
4324         (asm_calljavafunction2): Renamed to asm_vm_call_method.
4325         * src/vm/jit/intrp/asmpart.c: Likewise.
4326         * src/vm/jit/asmpart.h: Likewise.
4327
4328 2006-03-05 23:05  twisti
4329
4330         * tests/regression/native/testarguments.c (nlsub): Use %llx on all
4331         architectures.
4332         (ndsub): Likewise.
4333
4334 2006-03-05 21:54  christian
4335
4336         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
4337         Bugfix and reformatting.
4338
4339 2006-03-05 15:51  twisti
4340
4341         * src/vm/jit/i386/asmpart.S (asm_calljavafunction2): Pointer to vm_arg
4342         block is now in a2. Use new defines.
4343
4344 2006-03-04 18:35  twisti
4345
4346         * src/vm/jit/alpha/asmpart.S (asm_calljavafunction2): Pointer to
4347         vm_arg block is now in a2. Use new defines.
4348
4349 2006-03-04 18:01  twisti
4350
4351         * src/vm/jit/powerpc/asmpart.S (asm_calljavafunction2): Pointer to
4352         vm_arg block is now in a2. Use new defines.
4353
4354 2006-03-04 17:19  twisti
4355
4356         * src/vm/jit/asmpart.h (ASM_CALLJAVAFUNCTION): Removed.
4357         (ASM_CALLJAVAFUNCTION_ADR): Likewise.
4358         (ASM_CALLJAVAFUNCTION_INT): Likewise.
4359         (ASM_CALLJAVAFUNCTION2): Likewise.
4360         (ASM_CALLJAVAFUNCTION2_ADR): Likewise.
4361         (ASM_CALLJAVAFUNCTION2_INT): Likewise.
4362         (ASM_CALLJAVAFUNCTION2_LONG): Likewise.
4363         (ASM_CALLJAVAFUNCTION2_FLOAT): Likewise.
4364         (ASM_CALLJAVAFUNCTION2_DOUBLE): Likewise.
4365         (asm_calljavafunction2int): Changed signature.
4366         (asm_calljavafunction2long): Likewise.
4367         (asm_calljavafunction2float): Likewise.
4368         (asm_calljavafunction2double): Likewise.
4369
4370 2006-03-04 17:15  twisti
4371
4372         * src/vm/global.h (jni_callblock): Removed.
4373         
4374         * src/vm/vm.c (vm/vm.h): Added.
4375         (vm_call_method_intern): New function.
4376         (vm_call_method_intern_int): Likewise.
4377         (vm_call_method): Likewise.
4378         (vm_call_method_int): Likewise.
4379         (vm_call_method_long): Likewise.
4380         (vm_call_method_float): Likewise.
4381         (vm_call_method_double): Likewise.
4382         * src/vm/vm.h (vm_arg): Structure added.
4383         (vm_call_method_intern): New function.
4384         (vm_call_method_intern_int): Likewise.
4385         (vm_call_method): Likewise.
4386         (vm_call_method_int): Likewise.
4387         (vm_call_method_long): Likewise.
4388         (vm_call_method_float): Likewise.
4389         (vm_call_method_double): Likewise.
4390         
4391         * src/vm/jit/tools/genoffsets.c (vm/vm.h): Added.
4392         (sizejniblock): Renamed to sizevmarg.
4393         (offjniitemtype): Renamed to offvmargtype.
4394         (offjniitem): Renamed to offvmargdata.
4395         * src/vm/jit/x86_64/asmpart.S (asm_calljavafunction2): Pointer to
4396         vm_arg block is now in a2. Use new defines.
4397         
4398         * src/vm/jit/stacktrace.c (vm/vm.h): Added.
4399         (ASM_CALLJAVAFUNCTION): Replaced with vm_call_method_intern.
4400         * src/vm/exceptions.c: Likewise.
4401         * src/vm/properties.c: Likewise.
4402         * src/vm/loader.c: Likewise.
4403         * src/vm/finalizer.c: Likewise.
4404         * src/vm/initialize.c: Likewise.
4405         * src/cacao/cacao.c: Likewise.
4406         * src/native/vm/VMClassLoader.c: Likewise.
4407         * src/threads/native/threads.c: Likewise.
4408         
4409         * src/cacaoh/headers.c (asm_calljavafunction): Removed.
4410         (intrp_asm_calljavafunction): Likewise.
4411         (vm_call_method_intern): New function.
4412         
4413         * src/native/jni.c (fill_callblock_from_vargs): Renamed to
4414         _Jv_jni_vmargs_from_vargs.
4415         (fill_callblock_from_objectarray): Renamed to
4416         _Jv_jni_vmargs_from_objectarray.
4417         (_Jv_jni_vmargs_from_objectarray): New function.
4418         (_Jv_jni_CallVoidMethodA): Likewise.
4419         (ASM_CALLJAVAFUNCTION2): Replaced with appropriate vm_call_method
4420         function.
4421         (NewObjectA): Implemented.
4422         (CallVoidMethodA): Likewise.
4423         (CallNonvirtualVoidMethodA): Likewise.
4424         (CallStaticVoidMethodA): Likewise.
4425
4426 2006-03-03 00:00  twisti
4427
4428         * src/vm/linker.c (link_class_intern): Handle miranda methods
4429         properly.
4430         * src/vm/global.h (ACC_MIRANDA): Defined.
4431         * src/native/vm/VMClass.c (getDeclaredMethods): Don't return miranda
4432         methods.
4433
4434 2006-03-01 17:00  twisti
4435
4436         * src/vm/options.c: Renamed runverbose to opt_verbosecall.
4437         * src/vm/options.h: Likewise.
4438         * src/vm/jit/alpha/codegen.c: Likewise.
4439         * src/vm/jit/i386/codegen.c: Likewise.
4440         * src/vm/jit/intrp/codegen.c: Likewise.
4441         * src/vm/jit/mips/codegen.c: Likewise.
4442         * src/vm/jit/powerpc/codegen.c: Likewise.
4443         * src/vm/jit/x86_64/codegen.c: Likewise.
4444         * src/vm/jit/intrp/asmpart.c: Likewise.
4445         * src/vm/jit/intrp/dynamic-super.c: Likewise.
4446         * src/vm/jit/intrp/java.vmg: Likewise.
4447         
4448         * src/vm/builtin.c (builtin_trace_exception): Renamed runverbose to
4449         opt_verbosecall. Removed stacktrace printing code.
4450         * src/vm/exceptions.c (exceptions_handle_exception): Renamed
4451         runverbose to opt_verbosecall. Print exception stacktrace when caught.
4452         
4453         * src/vm/vm.c: Support Sun's commandline options and ignore them if
4454         not supported. Reordered options.
4455         
4456         * src/native/vm/VMObject.c (notify): Removed debug output.
4457         (notifyAll): Likewise.
4458         (wait): Likewise.
4459         * src/native/vm/VMThread.c (suspend): Likewise.
4460         (resume): Likewise.
4461         (nativeSetPriority): Likewise.
4462         (nativeStop): Likewise.
4463         (yield): Likewise.
4464         
4465         * src/native/vm/VMThrowable.c (fillInStackTrace): Renamed par1 to t.
4466
4467 2006-02-23 14:08  twisti
4468
4469         * src/vm/jit/intrp/dynamic-super.c (disassemble_prim): New function.
4470         (dynamic_super_init): Added disassembling of IADD, ILOAD and
4471         GETFIELD_INT.
4472
4473 2006-02-22 14:03  twisti
4474
4475         * src/vm/jit/i386/codegen.c (createnativestub): Renamed _exceptionptr
4476         to _no_threads_exceptionptr.
4477
4478 2006-02-22 13:34  twisti
4479
4480         * src/vm/jit/i386/codegen.c (mm/memory.h): Added.
4481
4482 2006-02-21 16:17  twisti
4483
4484         * configure.ac (VERSION_CONFIGURE_ARGS, VERSION_CC, VERSION_CFLAGS):
4485         Added define.
4486         * src/vm/vm.c (version): Print configure options, compiler version and
4487         CFLAGS.
4488
4489 2006-02-21 16:06  twisti
4490
4491         * src/vm/jit/intrp/java.vmg (MULTIANEWARRAY): Use malloc instead of a
4492         dynamic-sized array (-fomit-frame-pointer).
4493
4494 2006-02-21 13:43  twisti
4495
4496         * src/vm/jit/intrp/codegen.c (cacao/cacao.h): Removed.
4497         (vm/vm.h): Added.
4498         (createnativestub): Replaced ENABLE_STATICVM with
4499         WITH_STATIC_CLASSPATH and &env by _Jv_env.
4500         
4501         * src/vm/jit/intrp/patcher.c: Replaced ENABLE_STATICVM by
4502         WITH_STATIC_CLASSPATH.
4503         * src/vm/jit/intrp/java.vmg: Likewise.
4504         
4505         * src/vm/vm.c (mm/memory.h): Added.
4506         (vm_create): Allocate the main thread interpreter stack on the Java
4507         heap.
4508
4509 2006-02-21 13:40  twisti
4510
4511         * src/vm/jit/jit.c (jit_compile_intern): Replaced ENABLE_STATICVM by
4512         WITH_STATIC_CLASSPATH.
4513
4514 2006-02-21 13:39  twisti
4515
4516         * src/cacao/cacao.c (main): Added main utf variable for better
4517         debugability.
4518
4519 2006-02-21 13:37  twisti
4520
4521         * src/native/native.c: Small changes.
4522
4523 2006-02-21 13:35  twisti
4524
4525         * src/vm/loader.c (load_class_from_classloader): Added name
4526         java.lang.String variable for better debugability.
4527
4528 2006-02-21 12:41  twisti
4529
4530         * src/vm/jit/powerpc/asmpart.S: Rewritten for PIC code.
4531
4532 2006-02-21 10:47  twisti
4533
4534         * src/vm/jit/alpha/asmpart.S: Rewritten for PIC code.
4535
4536 2006-02-21 10:39  twisti
4537
4538         * src/vm/jit/x86_64/codegen.c (cacao/cacao.h): Removed.
4539         (vm/vm.h): Added.
4540         (createnativestub): Replaced ENABLE_STATICVM with
4541         WITH_STATIC_CLASSPATH and &env by _Jv_env.
4542
4543 2006-02-21 10:25  twisti
4544
4545         * src/vm/jit/i386/.cvsignore, src/vm/jit/i386/linux/.cvsignore: Added
4546         TAGS.
4547
4548 2006-02-21 09:34  twisti
4549
4550         * src/vm/jit/i386/asmpart.S: Rewritten for PIC code.
4551
4552 2006-02-21 09:31  twisti
4553
4554         * src/threads/native/threads.c (vm/vm.h): Added.
4555         (threads_startup_thread): Compiler warning fix.
4556
4557 2006-02-21 09:25  twisti
4558
4559         * src/vm/jit/stacktrace.c (stacktrace_getCurrentClassLoader): Renamed
4560         to stacktrace_getCurrentClass and it returns the first Java method's
4561         class on the stack.
4562         * src/vm/jit/stacktrace.h (stacktrace_getCurrentClassLoader):
4563         Likewise.
4564
4565 2006-02-21 09:18  twisti
4566
4567         * src/vm/jit/intrp/engine.c (cacao/cacao.h): Removed.
4568
4569 2006-02-21 09:14  twisti
4570
4571         * configure.ac (AC_CONFIG_FILES): Remvoed ifconv, not yet.
4572
4573 2006-02-21 09:11  twisti
4574
4575         * configure.ac: Default to AC_ENABLE_SHARED and AC_DISABLE_STATIC.
4576         (ifconv): Added.
4577         (jni.h): Check for jni.h in GNU Classpath.
4578         (static-classpath): Added.
4579         
4580         * src/vm/vm.c, src/vm/vm.h: New files, contain the JVM startup code.
4581         * src/vm/Makefile.am (libvm_la_SOURCES): Added vm.[ch].
4582         
4583         * src/cacao/cacao.c: Removed JVM startup code.
4584         * src/cacao/cacao.h: Removed.
4585         * src/cacao/Makefile.am: Replaced ENABLE_STATICVM by
4586         WITH_STATIC_CLASSPATH.
4587         (ENABLE_STATICVM): Build a shared library when not defined.
4588         
4589         * src/vm/options.c, src/vm/options.h (mm/memory.h, native/jni.h):
4590         Added.
4591         (native/jni.h): Added.
4592         (opt_ind): Renamed to opt_index.
4593         (opt_jar, opt_run, opt_method, opt_signature, opt_ifconv): Added.
4594         (get_opt): Renamed to options_get.
4595         (options_prepare): New method.
4596         
4597         * src/cacaoh/cacaoh.c (main): Use new option handling.
4598         
4599         * src/vm/jit/alpha/codegen.c, src/vm/jit/arm/codegen.c,
4600         src/vm/jit/i386/codegen.c, src/vm/jit/mips/codegen.c,
4601         src/vm/jit/powerpc/codegen.c (cacao/cacao.h): Removed.
4602         (vm/vm.h): Added.
4603         (createnativestub): Replaced ENABLE_STATICVM with
4604         WITH_STATIC_CLASSPATH and &env by _Jv_env.
4605         
4606         * src/vm/jit/patcher.h, src/vm/jit/alpha/patcher.c,
4607         src/vm/jit/arm/patcher.c, src/vm/jit/i386/patcher.c,
4608         src/vm/jit/mips/patcher.c, src/vm/jit/powerpc/patcher.c,
4609         src/vm/jit/x86_64/patcher.c: Replaced ENABLE_STATICVM by
4610         WITH_STATIC_CLASSPATH.
4611         
4612         * src/vm/jit/x86_64/asmpart.S: Rewritten for PIC code.
4613         
4614         * src/vm/signal.c (cacao/cacao.h): Removed.
4615         (vm/vm.h): Added.
4616         (signal_handler_sigint): Use vm_* functions.
4617         
4618         * src/native/native.c: Replaced ENABLE_STATICVM by
4619         WITH_STATIC_CLASSPATH.
4620         (cacao/cacao.h): Removed.
4621         (native_resolve_function): Smaller changes.
4622         
4623         * src/native/vm/VMRuntime.c: Replaced ENABLE_STATICVM by
4624         WITH_STATIC_CLASSPATH.
4625         (cacao/cacao.h): Removed.
4626         (vm/vm.h): Added.
4627         (execInternal): Removed.
4628         (exit): Use vm_shutdown.
4629         
4630         * src/native/native.h: Replaced ENABLE_STATICVM by
4631         WITH_STATIC_CLASSPATH.
4632         * src/native/Makefile.am: Likewise.
4633         * src/native/vm/VMSystemProperties.c: Likewise.
4634         
4635         * src/threads/native/threads.c (cacao/cacao.h): Removed.
4636         
4637         * src/native/jni.h: Removed our JNI stuff and include GNU Classpath's.
4638         * src/native/jni.c: Adapt to the new jni.h header.
4639         (Release<type>ArrayElements): Copy correct element type.
4640         (Get<type>ArrayRegion): Likewise.
4641         (Set<type>ArrayRegion): Likewise.
4642
4643 2006-02-20 23:35  twisti
4644
4645         * src/vm/global.h: Sorted java_<type>array definitions.
4646
4647 2006-02-20 23:31  twisti
4648
4649         * src/vm/linker.c (link_class_intern): Comment reformatted.
4650
4651 2006-02-20 15:19  twisti
4652
4653         * src/vm/jit/intrp/engine.c (USE_spTOS): Disable per default.
4654
4655 2006-02-20 14:08  twisti
4656
4657         * src/vm/classcache.c (classcache_new_name): Keep c89 compilers happy.
4658
4659 2006-02-19 22:27  christian
4660
4661         * src/vm/jit/jit.h: added define STKEEP
4662         
4663         * src/vm/jit/simplereg.c (reg_free_tmp_func): SAVEDTMP and TMPARG
4664         flags are not cleared anymore from Stackslots.
4665         (reg_alloc_dup): TEMPVARs are not reused as SAVEDVARs anymore. This
4666         has to be checked for conflicts.
4667         (reg_mark_copy): Added. TEMPVAR Destination Stackslots are marked here
4668         with STCOPY, if they use a duplicated register/memory location. Not
4669         reused register/memory locations of TEMPVAR source Stacklots are freed
4670         again.
4671         (allocate_scratch_registers): ICMD_DUPx and ICMD_SWAP use now the new
4672         reg_mark_copy.
4673
4674 2006-02-16 19:39  christian
4675
4676         * src/vm/jit/stack.h (COPY): Prevent setting varkind to STACKVAR for
4677         stackslots copied by DUPx and SWAP.
4678         (DUP) Likewise.
4679         * src/vm/jit/stack.c (analyse_stack): Copy elimination and needed
4680         conflict resolution was implemented as
4681         described in the CACAO paper. As "potential exception throwing
4682         instruction" for now only INVOKE*s are
4683         regarded. Conflict resolution over DUPx and SWAP should be refined to
4684         be less conservative.
4685         * src/vm/jit/jit.c (jit_init): Stackreq for JAVA_IINC is set to 0
4686         again, since no dummy stackslot is
4687         needed anymore for conflict resolution with XSTORE.
4688         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Reuse unused
4689         float and int argument registers
4690         for interfaces, too.
4691         (reg_free_temp): Regard the new stackslot flag STCOPY, before freeing
4692         a register/memory location.
4693         (reg_alloc_dup): New function to allocate, if possible, the same
4694         register/memory location for stackslot
4695         copied by DUPx and SWAP.
4696         (allocate_scratch_registers): The new function reg_alloc_dup is used
4697         now for allocation at ICMD_DUPx and
4698         ICMD_SWAP, if possible.
4699         * src/vm/jit/jit.h: Added STCOPY as stackslot flag to mark
4700         simultanously live stackslots with same
4701         register after DUPx and SWAP.
4702         * doc/stack.txt: Updated invariants to show the change with IINC (no
4703         dummy stacklot anymore).
4704
4705 2006-02-14 20:27  edwin
4706
4707         * src/native/jni.c (_Jv_jni_invokeNative): Cleanup.
4708         
4709         * src/native/jni.c (Changes): Added my name.
4710         
4711         * src/native/jni.c (vim boilerplate): Added.
4712
4713 2006-02-14 20:10  edwin
4714
4715         * src/native/jni.c (_Jv_jni_invokeNative): Look up _all_ instance
4716         methods
4717         in the vftbl.
4718
4719 2006-02-14 20:09  edwin
4720
4721         * src/vm/linker.c (link_class_intern): Do not override
4722         package-private methods
4723         from other packages.
4724         
4725         * src/vm/linker.c (vim boilerplate): Added.
4726
4727 2006-02-14 15:53  edwin
4728
4729         * src/vm/classcache.c, src/vm/classcache.h: Merge cache entries when
4730         they are resolved to the same class.
4731
4732 2006-02-14 15:34  edwin
4733
4734         * src/vm/utf8.c, src/vm/utf8.h (utf_full_hashkey): Added.
4735
4736 2006-02-14 11:01  twisti
4737
4738         * configure.ac (AC_INIT): Changed version number to 0.95+cvs.
4739         (CFLAGS): Changed optimization back to -O0.
4740
4741 2006-02-14 10:30  twisti
4742
4743         * ChangeLog: Updated for release 0.95.
4744
4745 2006-02-14 10:14  twisti
4746
4747         * configure.ac: Updated version to 0.95, set optimization level to
4748         -O2, some indent changes.
4749         * ChangeLog-2005: Removed 2006 entries.
4750
4751 2006-02-14 01:10  twisti
4752
4753         * src/vm/jit/profile/profile.c (profile_thread): Fixed compiler
4754         warning.
4755
4756 2006-02-14 01:05  twisti
4757
4758         * src/vm/jit/intrp/codegen.c (createcompilerstub): Store the
4759         methodinfo pointer in the same place as in the methodheader for
4760         compiled methods.
4761
4762 2006-02-14 00:41  twisti
4763
4764         * src/vm/jit/x86_64/codegen.c (createcompilerstub): Store the
4765         methodinfo pointer in the same place as in the methodheader for
4766         compiled methods.
4767
4768 2006-02-14 00:33  twisti
4769
4770         * contrib/svn2cl.xsl: New file.
4771         * THIRDPARTY (contrib/svn2cl.xsl): Added copyright message.
4772
4773 2006-02-14 00:05  twisti
4774
4775         * NEWS: Updated 0.95 release notes.
4776
4777 2006-02-14 00:03  twisti
4778
4779         * src/vm/loader.c (load_field): Removed f->xta.
4780         
4781         * src/vm/class.h (vm/method.h): Added.
4782         (vm/jit/inline/sets.h): Removed.
4783         
4784         * src/vm/method.h (vm/jit/inline/parseXTA.h): Removed.
4785         
4786         * src/vm/field.h (vm/jit/inline/parseXTA.h): Likewise.
4787         (fieldinfo): Removed member xta.
4788         
4789         * src/lib/Makefile.am (EXTRA_DIST): Fixed typo.
4790
4791 2006-02-14 00:01  twisti
4792
4793         * src/vm/jit/inline/sets.c, src/vm/jit/inline/parseRTstats.c,
4794         src/vm/jit/inline/parseRT.c, src/vm/jit/inline/parseRTflags.h,
4795         src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/sets.h,
4796         src/vm/jit/inline/parseRTstats.h, src/vm/jit/inline/parseRT.h,
4797         src/vm/jit/inline/parseXTA.c, src/vm/jit/inline/parseXTA.h: Removed.
4798
4799 2006-02-13 23:45  twisti
4800
4801         * src/vm/class.c (class_findmethod_approx): Removed.
4802         * src/vm/class.h (class_findmethod_approx): Likewise.
4803         (class_resolvemethod_approx): Likewise.
4804
4805 2006-02-13 23:16  edwin
4806
4807         * NEWS: Added JNI method resolution fix.
4808
4809 2006-02-13 18:55  twisti
4810
4811         * src/vm/method.c (assert.h): Added.
4812         (vm/linker.h): Likewise.
4813         (vm/jit/methodheader.h): Likewise.
4814         (method_vftbl_lookup): New method.
4815         
4816         * src/vm/method.h (vm/linker.h): Added.
4817         (method_vftbl_lookup): New method.
4818         
4819         Fixes bug #17 and #18.
4820         * src/native/jni.c: Complete rewrite of Call*Method code.
4821
4822 2006-02-13 10:53  twisti
4823
4824         * src/vm/utf8.c (utf_display): Some reformatting.
4825         (utf_display_classname): Likewise.
4826
4827 2006-02-13 00:12  twisti
4828
4829         * src/vm/jit/mips/codegen.c (createcompilerstub): Store the methodinfo
4830         pointer in the same place as in the methodheader for compiled methods.
4831
4832 2006-02-12 23:43  twisti
4833
4834         * src/vm/jit/alpha/md.c (md_assembler_get_patch_address): New method.
4835         (md_codegen_findmethod): Use assert's directly.
4836         
4837         * src/vm/jit/mips/md.c (md_assembler_get_patch_address): Likewise.
4838         (md_codegen_findmethod): Likewise.
4839         
4840         * src/vm/jit/alpha/codegen.c (createcompilerstub): Store the
4841         methodinfo pointer in the same place as in the methodheader for
4842         compiled methods and pass the pointer in REG_ITMP1.
4843         
4844         * src/vm/jit/alpha/md-asm.h (mptr): Defined.
4845         
4846         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo
4847         pointer is passed via itmp1. Use md_assembler_get_patch_address to
4848         get the patch address.
4849         (asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer
4850         via itmp1.
4851
4852 2006-02-12 23:22  twisti
4853
4854         * src/vm/jit/powerpc/codegen.c (createcompilerstub): Store the
4855         methodinfo pointer in the same place as in the methodheader for
4856         compiled methods.
4857         
4858         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo
4859         pointer is passed via itmp1.
4860         (asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer
4861         via itmp1.
4862
4863 2006-02-12 22:08  edwin
4864
4865         * src/threads/native/threads.c (threads_dump): Removed unused
4866         variable 'ee'.
4867
4868 2006-02-12 21:57  edwin
4869
4870         * src/native/vm/VMClass.c (Java_java_lang_VMClass_getDeclaredMethods):
4871         Cast to java_lang_Class in order to avoid compiler warning.
4872         
4873         * src/native/vm/VMClass.c (Changes): Added my name.
4874         
4875         * src/native/vm/VMClass.c (vim biolerplate): Added.
4876
4877 2006-02-12 21:47  edwin
4878
4879         * src/threads/native/threads.c (allocLockRecordSimple): Fixed
4880         declaration
4881         after code error.
4882
4883 2006-02-12 16:28  twisti
4884
4885         * src/vm/jit/i386/codegen.c (createcompilerstub): Store the
4886         methodinfo* in the same place as in the methodheader for compiled
4887         methods.
4888
4889 2006-02-12 16:24  edwin
4890
4891         * NEWS: Added directory check bugfix.
4892
4893 2006-02-12 16:10  edwin
4894
4895         * NEWS: Added two bugfixes.
4896
4897 2006-02-12 16:02  edwin
4898
4899         * src/vm/loader.c, src/vm/loader.h (vim boilerplate): Added.
4900
4901 2006-02-12 13:11  twisti
4902
4903         * src/vm/zip.c (zip_open): Don't add directories to the zipfile
4904         hashtable. We use the trailing `/' to identify a directory (i hope
4905         that's correct).
4906
4907 2006-02-12 12:59  christian
4908
4909         * src/vm/jit/x86_64/md-abi.c (md_param_alloc): Regard use of A0 for
4910         returning float values.
4911
4912 2006-02-12 02:18  edwin
4913
4914         * src/native/vm/VMClassLoader.c (vim boilerplate): Added.
4915
4916 2006-02-12 02:17  edwin
4917
4918         * src/vm/classcache.c (classcache_store): Made classcache_store
4919         idempotent.
4920         
4921         * src/native/vm/VMClassLoader.c
4922         (Java_java_lang_VMClassLoader_defineClass):
4923         Store defined class with classcache_store instead of just with
4924         classcache_store_defined, so it an initiating loader is recorded for
4925         the
4926         class. This should solve problems with classes that are defined
4927         outside
4928         of a loadClass context (e.g. by java.lang.reflect.Proxy).
4929
4930 2006-02-12 00:30  twisti
4931
4932         * src/native/vm/VMClass.c (getDeclaredMethods): Set the method's class
4933         in java.lang.reflect.Method.
4934         
4935         * src/native/vm/Method.c (toolbox/logging.h, vm/jit/stacktrace.h):
4936         Removed.
4937         
4938         * src/native/vm/VMSystem.c (identityHashCode): Use casts.
4939
4940 2006-02-12 00:25  twisti
4941
4942         * src/vm/exceptions.c, src/vm/exceptions.h
4943         (exceptions_throw_nosuchmethoderror): New method.
4944
4945 2006-02-11 21:25  christian
4946
4947         * src/vm/jit/stack.h (COPY) All copied stackslots set to TEMPVAR.
4948         This prevents conflicts with LOCALVAR
4949         and
4950         (DUP) Likewise.
4951         STACKVARS.
4952
4953 2006-02-07 23:18  edwin
4954
4955         * src/vm/jit/stack.h (TYPE_VERIFYERROR): Converted most of body to a
4956         function.
4957         
4958         * src/vm/exceptions.c, src/vm/exceptions.h
4959         (exceptions_throw_verifyerror_for_stack): Added.
4960         
4961         * src/vm/exceptions.c, src/vm/exceptions.h (vim boilerplate): Added.
4962
4963 2006-02-07 21:27  edwin
4964
4965         * src/vm/jit/stack.h (vim boilerplate): Fixed.
4966
4967 2006-02-07 21:15  twisti
4968
4969         * NEWS: Added some stuff.
4970
4971 2006-02-07 17:28  edwin
4972
4973         * src/vm/jit/intrp/codegen.c (createcalljavafunction):
4974         Removed t_inlining_globals.
4975
4976 2006-02-07 17:22  edwin
4977
4978         * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h
4979         (codegen_setup):
4980         Removed t_inlining_globals argument.
4981         
4982         * src/vm/jit/codegen-common.c (codegen_finish): Prepared for inlined
4983         line
4984         number tables. References with line number <-3 will not be relocated.
4985         
4986         * src/vm/jit/codegen-common.c (codegen_createnativestub):
4987         Removed t_inlining_globals and inlining_setup.
4988         
4989         * src/vm/jit/codegen-common.h (Changes): Added my name to 'Changes'.
4990         
4991         * src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h: Ripped out
4992         old
4993         inliner.
4994         
4995         * src/vm/jit/jit.c: Removed inlining headers.
4996         
4997         * src/vm/jit/jit.c (INLINE_GOTO): Added instruction name to table.
4998         
4999         * src/vm/jit/jit.c (jit_compile_intern): Removed t_inlining_globals
5000         argument.
5001         
5002         * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h,
5003         src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h (vim
5004         boilerplate):
5005         Added.
5006
5007 2006-02-07 16:52  edwin
5008
5009         * src/vm/jit/i386/codegen.c (codegen): Prepared for inlining. The
5010         icmds
5011         ICMD_INLINE_START, ICMD_INLINE_END, ICMD_INLINE_GOTO were
5012         implemented, and
5013         at the start of exception handlers the indepth is no longer assumed
5014         to be 1.
5015
5016 2006-02-07 16:47  edwin
5017
5018         * src/vm/jit/jit.h (Changes): Fixed tabs.
5019
5020 2006-02-06 21:06  twisti
5021
5022         * src/threads/native/threads.c, src/threads/native/threads.h
5023         (sleepThread): Renamed to thread_sleep.
5024
5025 2006-02-06 21:01  twisti
5026
5027         * src/cacao/cacao.c (vm/jit/profile.h): Changed to
5028         vm/jit/profile/profile.h.
5029         (main): profile_init and profile_start_thread calls added.
5030
5031 2006-02-06 18:50  twisti
5032
5033         * configure.ac (AC_CONFIG_FILES): Added src/vm/jit/profile/Makefile.
5034
5035 2006-02-06 18:49  twisti
5036
5037         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added profile.
5038         (PROFILE_LIB): Added.
5039         (PROFILE_SOURCES): Removed.
5040
5041 2006-02-06 18:48  twisti
5042
5043         * src/vm/jit/profile/profile.c (profile_init): New method.
5044         (profile_thread): Likewise.
5045         (profile_start_thread): Likewise.
5046         * src/vm/jit/profile/profile.h (profile_init): Added.
5047         (profile_start_thread): Likewise.
5048         * src/vm/jit/profile/Makefile.am: New file.
5049         * src/vm/jit/profile/.cvsignore: Likewise.
5050
5051 2006-02-06 18:34  twisti
5052
5053         * src/vm/jit/profile.h: Moved to src/vm/jit/profile/.
5054
5055 2006-02-06 18:33  twisti
5056
5057         * src/vm/jit/profile.c: Moved to src/vm/jit/profile/.
5058         * src/vm/jit/profile: Added.
5059
5060 2006-02-06 18:32  twisti
5061
5062         * src/vm/jit/profile: Ooops.
5063
5064 2006-02-06 18:31  twisti
5065
5066         * src/vm/jit/profile.c: Moved to src/vm/jit/profile/.
5067
5068 2006-02-06 18:14  twisti
5069
5070         * src/vm/jit/allocator/Makefile.am: Use tabs instead of space.
5071         (INCLUDE): Renamed to AM_CPPFLAGS.
5072
5073 2006-02-06 08:22  edwin
5074
5075         * doc/Makefile.am (EXTRA_DIST): Added inlining_stacktrace.txt and
5076         native_threads.txt.
5077
5078 2006-02-06 06:49  edwin
5079
5080         * src/threads/native/threads.c: Minor cleanup.
5081
5082 2006-02-06 06:46  edwin
5083
5084         * src/threads/native/threads.c: Uncuddled `else`s and other cleanup.
5085
5086 2006-02-06 06:16  edwin
5087
5088         * doc/inlining_stacktrace.txt: Clarified, added entry after the
5089         inlined body
5090         for the rest of the line after the call.
5091
5092 2006-02-06 05:00  edwin
5093
5094         * src/vm/jit/i386/machine-instr.h (compare_and_swap): Commented.
5095
5096 2006-02-06 04:50  edwin
5097
5098         * doc/native_threads.txt: Added.
5099
5100 2006-02-06 04:46  edwin
5101
5102         * src/threads/native/threads.c (allocLockRecordPool): Relink the free
5103         list
5104         of lock records when reusing a pool from the global_pool. This avoids
5105         cross-linking of lock record owned by different threads, and hopefully
5106         fixes our long-standing deadlock problem.
5107         
5108         * src/threads/native/threads.c (allocLockRecordSimple,
5109         recycleLockRecord)
5110         (initObjectLock): Temporarily added assertions to shake out possible
5111         further bugs in the free list handling.
5112         
5113         * src/threads/native/threads.c (monitorEnter, monitorExit): Commented.
5114         
5115         * src/threads/native/threads.c (Changes): Added my name to 'Changes'.
5116         
5117         * src/threads/native/threads.c (vim boilerplate): Added.
5118
5119 2006-02-06 01:28  edwin
5120
5121         * src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Added.
5122         (stacktrace_add_method): Documented. Now uses
5123         stacktrace_add_method_intern.
5124         (stacktrace_getCurrentClassLoader): Documented.
5125         (stacktrace_dump_trace): Removed unused variable.
5126         (Changes): Added my name to 'Changes'.
5127
5128 2006-02-06 01:08  edwin
5129
5130         * src/vm/jit/verify/typecheck.c (verify_basic_block): Teach the
5131         verifier
5132         about the new inline instructions ICMD_INLINE_START, ICMD_INLINE_END,
5133         and ICMD_INLINE_GOTO.
5134
5135 2006-02-06 01:02  edwin
5136
5137         * src/vm/jit/stack.c (analyse_stack): Set bptr->stack for each visited
5138         block.
5139         (show_icmd): Implemented printing of new inline instructions.
5140
5141 2006-02-06 00:02  edwin
5142
5143         * src/vm/jit/allocator/simplereg.c (ICMD_INLINE_GOTO): Added.
5144         (Changes): Added my name to 'Changes'.
5145         (vim boilerplate): Added.
5146
5147 2006-02-05 23:34  edwin
5148
5149         * src/vm/jit/allocator/lsra.c, src/vm/jit/allocator/lsra.h (lsra,
5150         lsra_init):
5151         Removed t_inlining_globals argument.
5152         (Changes): Added my name to 'Changes'.
5153         (vim boilerplate): Added.
5154         
5155         * src/vm/jit/jit.c (lsra): Removed t_inlining_globals argument.
5156
5157 2006-02-05 23:24  edwin
5158
5159         * src/vm/jit/jit.c (reg_setup): Removed t_inlining_globals argument.
5160         
5161         * src/vm/jit/codegen-common.c (reg_setup): Removed t_inlining_globals
5162         argument.
5163         
5164         * src/vm/jit/reg.c, src/vm/jit/reg.h (reg_setup): Removed
5165         t_inlining_globals
5166         argument.
5167         (Changes): Added my name to 'Changes'.
5168         (vim boilerplate): Added.
5169
5170 2006-02-05 23:09  edwin
5171
5172         * src/vm/jit/jit.h (Changes): Added my name to 'Changes'.
5173
5174 2006-02-05 23:07  edwin
5175
5176         * src/vm/jit/jit.h (ICMD_INLINE_GOTO): Added. Not used, yet.
5177         
5178         * src/vm/jit/jit.h (basicblock): Added 'stack' field. Not used, yet.
5179         
5180         * src/vm/jit/jit.h, src/vm/jit/jit.c (vim boilerplate): Added.
5181
5182 2006-02-05 23:02  edwin
5183
5184         * src/vm/jit/parse.c (parseRT.h, parseXTA.h, inline.h,
5185         parseRTprint.h):
5186         No longer included.
5187         (parse): Removed t_inlining_globals * from arguments.
5188         
5189         * src/vm/jit/jit.c (parse): Removed t_inlining_globals * from
5190         arguments.
5191
5192 2006-02-05 22:47  edwin
5193
5194         * src/vm/jit/parse.c, src/vm/jit/parse.h (inline_env): Removed most
5195         occurences.
5196         (bound_check1): Renamed to bound_check_exclusive.
5197
5198 2006-02-05 22:22  edwin
5199
5200         * src/vm/jit/parse.c (useinlining): Removed.
5201
5202 2006-02-05 17:36  edwin
5203
5204         * doc/inlining_stacktrace.txt: Added warning about signedness.
5205         Fixed copy&paste errors.
5206
5207 2006-02-05 15:26  edwin
5208
5209         * doc/inlining_stacktrace.txt: Added.
5210         
5211         * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Added.
5212         (dseg_addlinenumber_inline_end): Added.
5213         (dseg_addlinenumber): Commented.
5214         (vim boilerplate): Added.
5215         
5216         * src/vm/jit/dseg.h (linenumberref): Changed for inlining stacktraces.
5217         Made targetmpc a ptrint, made linenumber s4, reordered fields.
5218         (dseg_addlinenumber_inline_start): Added.
5219         (dseg_addlinenumber_inline_end): Added.
5220         (vim boilerplate): Added.
5221
5222 2006-02-05 13:52  stefan
5223
5224         * src/threads/native/threads.h: waiting is correctly typed now
5225         (previous checkin was wrong).
5226
5227 2006-02-05 13:39  stefan
5228
5229         * src/threads/native/threads.c: Let's see if this improves the dead
5230         lock situation (waiter handling changed slightly).
5231
5232 2006-02-05 12:22  twisti
5233
5234         * tests/regression/native/.cvsignore (*.h, *.so): Added.
5235
5236 2006-02-05 12:20  twisti
5237
5238         * tests/regression/native/Makefile.am,
5239         tests/regression/codepatching/Makefile.am,
5240         tests/regression/Makefile.am (JAVAFLAGS): Use VM_ZIP_STRING and
5241         GLIBJ_ZIP_STRING.
5242
5243 2006-02-05 12:03  twisti
5244
5245         * src/vm/jit/powerpc/asmpart.S, src/vm/jit/alpha/asmpart.S,
5246         src/vm/jit/mips/asmpart.S, src/vm/jit/i386/asmpart.S,
5247         src/vm/jit/x86_64/asmpart.S, src/vm/jit/arm/asmpart.S: Disable
5248         executable stacks, this is required for Gentoo and we actually don't
5249         need them.
5250
5251 2006-02-05 00:40  twisti
5252
5253         * src/vm/jit/stacktrace.c (stacktrace_create): Get the value of
5254         _no_threads_stackframeinfo, since it's a pointer, not a structure.
5255         (stacktrace_print_trace): Check for NULL value and return.
5256         * src/vm/exceptions.c (exceptions_handle_exception): Compiler warning
5257         fixed.
5258         (exceptions_print_exception): Check for NULL value, print it and
5259         return.
5260
5261 2006-02-05 00:16  twisti
5262
5263         * src/mm/memory.h (string.h): Moved after config.h.
5264         (OFFSET): Use internal datatypes.
5265         (NEW, MNEW): Use the proper GC macro when Gc is disabled.
5266
5267 2006-02-05 00:13  twisti
5268
5269         * src/mm/nogc.c (config.h): Moved in front of system headers.
5270         (heap_allocate): Call exceptions_throw_outofmemory_exit.
5271         (nogc_init): Likewise.
5272
5273 2006-02-05 00:01  twisti
5274
5275         * src/threads/none/: New.
5276         * src/threads/none/threads.h: New file. We need this one for
5277         e.g. stacktrace.c where we use thread stuff in the code.
5278
5279 2006-02-04 23:59  twisti
5280
5281         * src/vm/access.c (assert.h): Move after config.h.
5282         * src/vm/properties.c (mm/memory.h): Added.
5283         * src/vm/jit/stacktrace.c (mm/memory.h): Likewise.
5284         (threads.h): Added.
5285         (stacktrace_create): Handle stackframeinfo when threads disabled
5286         properly.
5287
5288 2006-02-04 23:56  twisti
5289
5290         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
5291         Generate an exception instead of exiting.
5292         * src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates):
5293         Likewise.
5294
5295 2006-02-04 20:15  twisti
5296
5297         * src/vm/jit/stacktrace.h (stacktrace_getCallingClassLoader): Renamed
5298         to stacktrace_getCurrentClassLoader.
5299         
5300         * src/cacaoh/headers.c (nativelyoverloaded): Fixed compiler warning.
5301
5302 2006-02-04 19:09  twisti
5303
5304         * src/native/native.c (native_resolve_function): Print failed is the
5305         symbol was not found.
5306
5307 2006-02-04 19:08  twisti
5308
5309         * src/vm/jit/stacktrace.h (STACKTRACE_CAPACITY_DEFAULT)
5310         (STACKTRACE_CAPACITY_INCREMENT): Changed default from 40 to 80, seems
5311         this is what eclipse and tomcat want.
5312         (stacktracebuffer): Changed entries from an array to a pointer.
5313
5314 2006-02-04 19:04  twisti
5315
5316         * src/vm/jit/stacktrace.c (stacktrace_add_entry): Reallocate to
5317         stb->entries.
5318         (stacktrace_create): Do two dump and heap allocs, does not affect
5319         performance.
5320         (stacktrace_getCallingClassLoader): Renamed to
5321         stacktrace_getCurrentClassLoader.
5322         
5323         * src/native/jni.c (FindClass): Renamed
5324         stacktrace_getCallingClassLoader to stacktrace_getCurrentClassLoader.
5325         
5326         * src/native/vm/VMStackWalker.c (getCallingClassLoader): Revert to old
5327         implementation.
5328
5329 2006-02-04 17:39  edwin
5330
5331         * doc/stack.txt: Typos fixed.
5332
5333 2006-02-04 17:31  edwin
5334
5335         * doc/stack.txt: Expanded tabs.
5336         * doc/Makefile.am (stack.txt): Added EXTRA_DIST entry for stack.txt.
5337
5338 2006-02-04 17:25  edwin
5339
5340         * doc/stack.txt: Added. This file describes some details about the
5341         stack representation.
5342
5343 2006-02-04 00:43  twisti
5344
5345         * src/native/Makefile.am (CLEANFILES): Always clean nativetable.inc.
5346         ($(srcdir)/native.c): Moved inside if ENABLE_STATICVM where it
5347         belongs! Dammit!
5348
5349 2006-02-04 00:33  twisti
5350
5351         * src/native/Makefile.am: Accidentally moved the library into if
5352         ENABLE_STATICVM.
5353         * src/native/include/Makefile.am: Enable accidentally removed
5354         dependencies.
5355
5356 2006-02-04 00:13  edwin
5357
5358         * src/vm/jit/verify/typecheck.c (logging): Adapted to new logging API.
5359
5360 2006-02-04 00:08  edwin
5361
5362         * src/vm/jit/stack.h (MARKREACHED): Use BBREACHED for readability.
5363         (vim boilerplate): Added.
5364
5365 2006-02-04 00:04  edwin
5366
5367         * src/vm/method.h (methodinfo): Fixed copy&paste error in comment.
5368         (vim boilerplate): Added.
5369
5370 2006-02-04 00:00  edwin
5371
5372         * src/vm/jit/stacktrace.c (vim boilerplate): Added.
5373
5374 2006-02-03 22:57  twisti
5375
5376         * configure.ac (VM_ZIP_STRING): Added.
5377         (GLIBJZ): Renamed to GLIBJ_ZIP_STRING.
5378         * src/vm/global.h (CACAO_VM_ZIP_PATH): Use GLIBJ_ZIP_STRING.
5379         * src/lib/Makefile.am (GLIBJ_ZIP): Likewise.
5380         * src/native/include/Makefile.am, src/native/Makefile.am (VM_ZIP): Use
5381         VM_ZIP_STRING.
5382         (GLIBJ_ZIP): Use GLIBJ_ZIP_STRING.
5383         * contrib/setenvinstalled.in, contrib/setenvsource.in: Likewise.
5384
5385 2006-02-03 22:53  twisti
5386
5387         * src/native/vm/VMRuntime.c (nativeLoad): #ifdef ENABLE_STATICVM
5388         warning fix.
5389
5390 2006-02-03 22:24  twisti
5391
5392         * src/vm/global.h (CACAO_VM_ZIP_PATH): Removed accidentally commited
5393         VM_ZIP_FILE.
5394         * src/native/Makefile.am (VM_ZIP): Likewise.
5395         * src/native/include/Makefile.am (VM_ZIP): Likewise.
5396
5397 2006-02-03 22:03  twisti
5398
5399         * src/vm/global.h (CACAO_VM_ZIP_PATH): Set correctly for ifndef
5400         ENABLE_ZLIB.
5401         * src/lib/Makefile.am (JAVA_VM_FILES): Renamed to VM_JAVA_FILES.
5402         (VM_CLASS_FILES): Added.
5403         (pkgdata_DATA): Set to class files for ifndef ENABLE_ZLIB.
5404         * src/native/include/Makefile.am (VM_ZIP): Set correctly for ifndef
5405         ENABLE_ZLIB.
5406         * src/native/Makefile.am (VM_ZIP): Likewise.
5407
5408 2006-02-03 21:58  twisti
5409
5410         * src/vm/suck.c (suck_add): Fixed compiler warning with #ifndef
5411         ENABLE_ZLIB.
5412
5413 2006-02-03 21:51  twisti
5414
5415         * src/native/tools/.cvsignore (TAGS): Added.
5416
5417 2006-02-03 20:54  twisti
5418
5419         * src/native/Makefile.am (VM_ZIP, GLIBJ_ZIP, CLASSPATH): Added.
5420
5421 2006-02-03 20:53  twisti
5422
5423         * src/native/tools/gennativetable.c (main): Don't free bootclasspath,
5424         do proper initalization of subsystems, don't link classes.
5425
5426 2006-02-03 19:44  twisti
5427
5428         * src/native/Makefile.am (nativetable.inc): Pass classpath on
5429         commandline, environment variable support was removed.
5430
5431 2006-02-03 19:42  twisti
5432
5433         * src/native/tools/gennativetable.c: Updated to work again.
5434
5435 2006-02-03 19:27  twisti
5436
5437         * src/cacao/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
5438         (CLASSPATH_PREFIX): Renamed to CLASSPATH_LIBDIR.
5439
5440 2006-02-03 18:45  twisti
5441
5442         * configure.ac (ENABLE_SOFTFLOAT): Added.
5443         (NDEBUG): Bugfix for AM_CONDITIONAL.
5444
5445 2006-02-03 14:14  twisti
5446
5447         * src/vm/jit/stacktrace.c (stacktrace_entry): Wrong return value,
5448         added some checks.
5449
5450 2006-02-03 13:19  twisti
5451
5452         * src/vm/jit/stacktrace.c, src/vm/jit/stacktrace.h
5453         (lineNumberTableEntry): Renamed to linenumbertable_entry.
5454         (addEntry): Renamed to stacktrace_add_entry.
5455         (stacktrace_fillInStackTrace_methodRecursive): Removed.
5456         (stacktrace_fillInStackTrace_method): Renamed to
5457         stacktrace_add_method.
5458         (cacao_stacktrace_fillInStackTrace): Renamed to stacktrace_create.
5459         (stackTraceCollector): Removed.
5460         (cacao_stacktrace_NormalTrace): Renamed to
5461         stacktrace_fillInStackTrace.
5462         (classContextCollector): Removed.
5463         (cacao_createClassContextArray): Renamed to
5464         stacktrace_getClassContext.
5465         (stacktrace_classLoaderCollector): Removed.
5466         (cacao_currentClassLoader): Renamed to
5467         stacktrace_getCallingClassLoader.
5468         (getStackCollector): Removed.
5469         (cacao_getStackForVMAccessController): Renamed to stacktrace_getStack.
5470         
5471         * src/native/jni.c (jni_init): Use new GCNEW.
5472         (FindClass): Renamed cacao_currentClassLoader to
5473         stacktrace_getCallingClassLoader.
5474         
5475         * src/native/vm/VMAccessController.c (getStack): Renamed
5476         cacao_getStackForVMAccessController to stacktrace_getStack.
5477         
5478         * src/native/vm/VMStackWalker.c (getClassContext): Renamed
5479         cacao_createClassContextArray to stacktrace_getClassContext.
5480         (getCallingClass): Likewise.
5481         (getCallingClassLoader): Call stacktrace_getCallingClassLoader.
5482         
5483         * src/native/vm/Method.c (config.h): Added.
5484         (invokeNative): Renamed cacao_createClassContextArray to
5485         stacktrace_getClassContext.
5486         
5487         * src/native/vm/Field.c (config.h): Added.
5488         (cacao_get_field_address): Renamed cacao_createClassContextArray to
5489         stacktrace_getClassContext. Check for CLASS_INITIALIZED.
5490         
5491         * src/native/vm/VMThrowable.c
5492         (native/include/gnu_classpath_Pointer.h): Added.
5493         (fillInStackTrace): Call stacktrace_fillInStackTrace.
5494         (getStackTrace): Adapted.
5495         
5496         * src/mm/memory.h (GCNEW): Use only 1 parameter, like NEW.
5497         (GCMNEW): Added.
5498
5499 2006-02-03 12:46  twisti
5500
5501         * src/threads/native/threads.h (THREADOBJECT): Don't cast to
5502         java_lang_VMThread*, we don't need that.
5503
5504 2006-02-03 12:38  twisti
5505
5506         * src/vm/method.c (method_printflags, method_print): Check for NULL.
5507         * src/vm/field.c (field_printflags, field_print) Likewise.
5508         (stdio.h): Added.
5509         * src/vm/class.c (class_printflags, class_print): Likewise.
5510
5511 2006-02-02 09:16  twisti
5512
5513         * configure.ac (AC_PROG_JAR): Added.
5514         * m4/ac_prog_jar.m4: New file.
5515         * src/lib/Makefile.am (VM_ZIP): Added.
5516         (vm.zip): Check if $(JAR) is zip or jar type.
5517
5518 2006-02-02 08:51  twisti
5519
5520         * src/vm/loader.c (loader_load_all_classes): Added missing #ifde
5521         ENABLE_ZLIB.
5522
5523 2006-02-02 08:45  twisti
5524
5525         * configure.ac (NDEBUG): Added missing WITH_BINUTILS_DISASSEMBLER
5526         conditional.
5527         (zlib): Fixed handling.
5528
5529 2006-01-31 23:54  twisti
5530
5531         * src/vm/jit/i386/codegen.c (codegen): Added basic block frequency
5532         count code.
5533
5534 2006-01-31 23:45  twisti
5535
5536         * src/vm/jit/profile.c ("mm/memory.h,vm/options.h): Added.
5537         (list_method_entry): Likewise.
5538         (profile_printstats): Sort methods into a list and print it sorted,
5539         added basic block frequency output.
5540
5541 2006-01-31 23:43  twisti
5542
5543         * src/vm/method.h (methodinfo): Renamed executioncount to
5544         frequency. Added bbfrequency and cycles.
5545         
5546         * src/vm/jit/x86_64/codegen.c (codegen): Added cycle profiling code.
5547         
5548         * src/vm/jit/x86_64/codegen.h (M_FMOV): Added.
5549         (M_IADD_MEMBASE, M_IADC_MEMBASE, M_ISUB_MEMBASE, M_ISBB_MEMBASE):
5550         Likewise.
5551         (M_RDTSC, PROFILE_CYCLE_START, PROFILE_CYCLE_STOP): Likewise.
5552         
5553         * src/vm/jit/x86_64/emitfuncs.c (x86_64_inc_membase)
5554         (x86_64_incl_membase): Fixed.
5555         (emit_rdtsc): Added.
5556         
5557         * src/vm/jit/jit.c (jit_compile): Free m->bbfrequency memory.
5558         (jit_compile_intern): Allocate m->bbfrequency memory.
5559         
5560         * src/vm/jit/jit.h: Reformatting.
5561
5562 2006-01-31 23:29  twisti
5563
5564         * src/vm/statistics.c, src/vm/jit/inline/inline.c: Removed inlining
5565         statistics stuff.
5566
5567 2006-01-31 23:27  twisti
5568
5569         * src/vm/options.c, src/vm/options.h (opt_rt, opt_xta, opt_vta):
5570         Removed.
5571         (opt_prof_bb): Added.
5572         * src/cacao/cacao.c: Likewise.
5573         (OPT_PROF_OPTION): Added.
5574
5575 2006-01-31 22:31  twisti
5576
5577         * src/vm/jit/stack.c (show_icmd_block): Print the basic block type.
5578
5579 2006-01-31 22:27  twisti
5580
5581         * src/toolbox/list.c, src/toolbox/list.h (list_add_before): Added.
5582
5583 2006-01-31 15:41  twisti
5584
5585         * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
5586         src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c (codegen): Use
5587         CLASS_IS_OR_ALMOST_INITIALIZED macro, saves some code space.
5588
5589 2006-01-31 15:35  twisti
5590
5591         Fixes Debian bug #350729
5592         * src/vm/jit/i386/asmpart.S (asm_md_init): Added, puts the FPU to
5593         64-bit precision mode.
5594         * src/vm/jit/i386/md.c (md_init): Call asm_md_init.
5595         
5596         * src/vm/jit/asmpart.h (asm_md_init): Added.
5597         (has_no_x_instr_set): Removed.
5598         * src/vm/options.c, src/vm/options.h (has_ext_instr_set): Removed.
5599         * src/vm/jit/jit.c (jit_init): Removed has_no_x_instr_set call.
5600         * src/vm/jit/alpha/asmpart.S (has_no_x_instr_set): Renamed to
5601         asm_md_init.
5602         * src/vm/jit/alpha/md.c (has_ext_instr_set): Added.
5603         (md_init): Call asm_md_init.
5604         * src/vm/jit/alpha/md.h (has_ext_instr_set): Added.
5605
5606 2006-01-31 15:18  edwin
5607
5608         * src/vm/classcache.c: Added a formal description of the classcache.
5609
5610 2006-01-31 14:24  twisti
5611
5612         * src/vm/signal.c (signal_handler_sigint): Typo, reported by Chris
5613         Burdess on irc.
5614
5615 2006-01-30 16:25  twisti
5616
5617         * src/vm/jit/i386/codegen.c (codegen): Added profiling code.
5618         (ICMD_IINC): Use macros.
5619         * src/vm/jit/i386/codegen.h (ucontext.h): Removed.
5620         (thread_restartcriticalsection): Likewise.
5621         (M_IADD_IMM_MEMBASE): Added.
5622
5623 2006-01-30 15:44  twisti
5624
5625         * src/vm/options.h, src/vm/options.c (opt_prof): Added.
5626         * src/cacao/cacao.c (OPT_PROF): Added.
5627         (exit_handler): Added profile_printstats when opt_prof is enabled.
5628         
5629         * src/vm/class.h (classinfo): Members classUsed and impldBy removed.
5630         * src/vm/loader.c (load_class_from_classbuffer): Likewise.
5631         * src/vm/linker.c (link_primitivetype_table): Likewise.
5632         (link_class_intern): Likewise.
5633         * src/vm/jit/inline/inline.c: Likewise.
5634         
5635         * src/vm/method.h (methodinfo): Added member executioncount.
5636         
5637         * src/vm/jit/x86_64/codegen.c (codegen): Added profiling code. Some
5638         code reordering, using more macros and save some code space.
5639         * src/vm/jit/x86_64/codegen.h (M_ILD32, M_LLD32, M_IST_IMM, M_IST32)
5640         (M_LST32, M_IST32_IMM, M_LST32_IMM32, M_IINC_MEMBASE, M_ITEST)
5641         (M_CMP_IMM_MEMBASE, M_ICMP, M_ICMP_IMM, M_ICMP_IMM_MEMBASE, M_CMOVEQ)
5642         (M_CMOVNE, M_CMOVLT, M_CMOVLE, M_CMOVGE, M_CMOVGT, M_CMOVB, M_CMOVA)
5643         (M_CMOVP, M_CLR): Added.
5644         
5645         * src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ifcc): Use macros.
5646         (x86_64_call_mem): Changed mem argument to ptrint type.
5647         * src/vm/jit/x86_64/emitfuncs.h (x86_64_call_mem): Likewise.
5648         
5649         * src/vm/jit/profile.c, src/vm/jit/profile.h: New files.
5650         * src/vm/jit/Makefile.am (DISASS_OBJ): Renamed to DISASS_SOURCES.
5651         (PROFILE_SOURCES): Added.
5652
5653 2006-01-30 14:24  christian
5654
5655         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Used
5656         m->parseddesc->arg[int|flt|adr]reguse to enable use of unused
5657         argumentregisters in leadmethods.
5658         (local_regalloc): Likewise.
5659         (reg_init_temp): Likewise.
5660
5661 2006-01-30 11:26  christian
5662
5663         * src/vm/jit/allocator/simplereg.c: Ensured proper alignment of all
5664         doubles and longs if ALIGN_[DOUBLES|LONGS]_IN_MEMORY is defined.
5665         (local_regalloc): Fixed error for HAS_ADREDD_REGISTER_FILE - else was
5666         missing. Ensured use of unused argument register in leafmethod before
5667         use of saved registers. Regarded PACK_REGS for
5668         SUPPORT_COMBINE_INTEGER_REGISTER archs for unused integer argument
5669         registers.
5670         * src/vm/jit/i386/arch.h: Added defines for
5671         ALIGN_[DOUBLES|LONGS]_IN_MEMORY.
5672         * src/vm/jit/powerpc/arch.h: Likewise.
5673
5674 2006-01-29 17:27  twisti
5675
5676         * src/vm/jit/stack.c (show_icmd): Fixed ICMD_ELSE_ICONST output.
5677
5678 2006-01-28 14:42  twisti
5679
5680         * src/vm/jit/powerpc/linux/md-abi.c,
5681         src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Use
5682         m->parseddesc->paramcount instead of m->paramcount.
5683         * src/vm/jit/schedule/schedule.c (schedule_init): Likewise.
5684         
5685         * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
5686         src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c (codegen):
5687         Removed first MCODECHECK since it not required.
5688         
5689         * src/vm/jit/methodheader.h: Added comment.
5690
5691 2006-01-28 14:25  twisti
5692
5693         * src/vm/jit/x86_64/.cvsignore: Added TAGS.
5694
5695 2006-01-28 14:21  twisti
5696
5697         * src/vm/loader.c (load_method): Removed reference to
5698         nativelyoverloaded, monoPoly, subRedefs, subRedefsUsed, xta.
5699         (load_newly_created_array): Removed reference to monoPoly.
5700
5701 2006-01-28 14:18  twisti
5702
5703         * src/vm/method.c (method_descriptor2types): Removed.
5704         * src/vm/method.h (methodinfo): Removed members returntype,
5705         returnclass, paramcount, paramtypes, paramclass, xta, methodXTAparsed,
5706         methodUsed, monoPoly, subRedefs, subRedefsUsed, and
5707         nativelyoverloaded, this saves about 3.2MB of classinfo memory for
5708         -all.
5709         (method_descriptor2types): Removed.
5710         
5711         * src/vm/jit/inline/inline.c (inlining_analyse_method): Use
5712         m->parseddesc->paramcount instead of m->paramcount.
5713         * src/vm/jit/allocator/simplereg.c (local_regalloc): Likewise.
5714         * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Likewise.
5715         
5716         * src/vm/jit/jit.c (jit_compile): Removed RT_jit_parse and
5717         XTA_jit_parse calls.
5718         (jit_compile_intern): Removed method_descriptor2types call.
5719         
5720         * src/cacaoh/cacaoh.c (main): Call string_init. Removed
5721         nativemethod_chain and nativeclass_chain stuff.
5722         
5723         * src/cacaoh/headers.c (nativemethod_chain): Removed.
5724         (nativeclass_chain): Likewise.
5725         (printmethod): Use m->isleafmethod instead of m->nativelyoverloaded.
5726         (headerfile_generate): Likewise.
5727
5728 2006-01-28 11:26  twisti
5729
5730         * src/vm/jit/inline/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
5731         (libinline_la_SOURCES): Don't build RTA/XTA stuff.
5732
5733 2006-01-28 11:24  twisti
5734
5735         * Makefile.am (EXTRA_DIST): Added THIRDPARTY.
5736
5737 2006-01-27 19:05  stefan
5738
5739         * src/threads/native/threads.c: Removed a superfluous (I hope) NULL
5740         check.
5741
5742 2006-01-27 18:53  stefan
5743
5744         * src/threads/native/threads.c: Repaired thread_getself.
5745
5746 2006-01-27 17:35  twisti
5747
5748         * src/toolbox/logging.c, src/toolbox/logging.h (log_start): Added.
5749         (log_vprint): Likewise.
5750         (log_print): Likewise.
5751         (log_println): Likewise.
5752         (log_finish): Likewise.
5753         (log_plain): Removed.
5754         (log_nl): Removed.
5755         (log_flush): Likewise.
5756         (dolog_plain): Likewise.
5757         (get_logfile): Likewise.
5758         (log_utf): Likewise.
5759         (log_plain_utf): Likewise.
5760         (log_text): Removed but added a define until we have ported all files.
5761         (dolog): Likewise.
5762         * src/vm/statistics.c (print_stats): Started to use new logging
5763         functions. Print some ratios.
5764
5765 2006-01-27 16:32  twisti
5766
5767         * src/native/vm/VMSystemProperties.c (preInit): Don't add . to
5768         java.library.path per default.
5769
5770 2006-01-27 12:43  twisti
5771
5772         * NEWS: Added powerpc fixes found by javver.
5773
5774 2006-01-24 19:09  twisti
5775
5776         * src/vm/jit/powerpc/codegen.h (var_to_reg_dbl): Added.
5777         (M_COPY): Handle doubles properly.
5778
5779 2006-01-24 13:52  twisti
5780
5781         * src/vm/jit/powerpc/codegen.h (M_LNGMOVE): Added.
5782         (var_to_reg_lng): Likewise.
5783         (M_COPY): Support longs. This was actually never implemented and never
5784         worked, grrr.
5785
5786 2006-01-24 10:30  twisti
5787
5788         * src/vm/jit/stacktrace.c (cacao_stacktrace_fillInStackTrace): Use
5789         method_print. Fixed typo.
5790         * src/vm/jit/powerpc/md.c (md_codegen_findmethod): Handle 2
5791         instruction returns properly.
5792
5793 2006-01-24 10:28  twisti
5794
5795         * src/vm/builtin.c (builtin_f2i): Enable for interpreter.
5796         (builtin_d2i): Likewise.
5797         * src/vm/jit/stack.c (icmd_print_stack): Fixed for ENABLE_INTRP and
5798         SUPPORT_COMBINE_INTEGER_REGISTERS.
5799
5800 2006-01-23 16:03  twisti
5801
5802         * src/vm/jit/stack.c (show_icmd_method): Fixed basic block count
5803         output.
5804         
5805         * src/vm/jit/i386/codegen.c (codegen): Use disp instead of a. Usage of
5806         some more macros.
5807         * src/vm/jit/i386/codegen.h (M_BLT): Added.
5808         (M_BLE): Likewise.
5809         (M_BGE): Likewise.
5810         (M_BGT): Likewise.
5811         (M_BBE): Likewise.
5812         (M_BAE): Likewise.
5813
5814 2006-01-23 01:12  twisti
5815
5816         * configure.ac (AC_INIT): Changed version number to 0.94+cvs.
5817         (CFLAGS): Changed optimization back to -O0.
5818
5819 2006-01-23 01:01  twisti
5820
5821         * ChangeLog: Updated for 0.94 release.
5822
5823 2006-01-22 23:42  twisti
5824
5825         * configure.ac (AC_INIT): Changed version number to 0.94.
5826         (CFLAGS): Changed optimization to -O2.
5827
5828 2006-01-22 23:33  twisti
5829
5830         * Updated header: Added 2006. Changed address of FSF. Changed email
5831         address.
5832
5833 2006-01-22 23:16  twisti
5834
5835         * Updated svn:ignore propset.
5836
5837 2006-01-22 23:00  twisti
5838
5839         * src/vm/jit/intrp/Makefile.am (EXTRA_DIST): Added gray.fs and
5840         BUILT_SOURCES.
5841
5842 2006-01-22 22:46  twisti
5843
5844         * tests/regression/extest.java: Typo.
5845
5846 2006-01-22 22:36  twisti
5847
5848         * NEWS: Added releases 0.90, 0.91, 0.92, 0.93, 0.94.
5849
5850 2006-01-22 22:34  twisti
5851
5852         * README: Updated.
5853
5854 2006-01-22 21:42  twisti
5855
5856         * src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Revert edwin's
5857         bugfix, but we can't use ffi_type_slong as it's defined as 64-bit
5858         value on 32-bit machines.
5859
5860 2006-01-22 21:40  twisti
5861
5862         * src/native/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
5863         (libnative_la_SOURCES): Removed nativecalls.inc.
5864
5865 2006-01-22 21:39  twisti
5866
5867         * tests/Makefile.am (SUBDIRS): Removed native.
5868
5869 2006-01-22 21:38  twisti
5870
5871         * tests/regression/native/testarguments.output: Updated.
5872         * tests/regression/native/Makefile.am: Made it work with distcheck.
5873         * tests/regression/codepatching/Makefile.am: Likewise.
5874         * tests/regression/Makefile.am: Likewise.
5875         
5876         * tests/regression/extest.java: Comment changed.
5877
5878 2006-01-22 21:22  twisti
5879
5880         * configure.in: Renamed to configure.ac.
5881
5882 2006-01-22 21:21  twisti
5883
5884         * configure.in (AC_CONFIG_FILES): Removed tests/native/Makefile, added
5885         tests/regression/native/Makefile.
5886
5887 2006-01-22 20:21  twisti
5888
5889         * tests/native: Moved to tests/regression/native.
5890
5891 2006-01-22 20:00  twisti
5892
5893         * src/vm/jit/asmpart.h (asm_handle_exception)
5894         (asm_handle_nat_exception): #ifdef ENABLE_JIT.
5895
5896 2006-01-22 19:59  twisti
5897
5898         * src/vm/jit/jit.c (jit_compile_intern): Use
5899         CLASS_IS_OR_ALMOST_INITIALIZED to check uninitialized.
5900
5901 2006-01-22 19:57  twisti
5902
5903         * src/vm/jit/stacktrace.c (stacktrace_create_inline_stackframeinfo):
5904         Compiler warning fix.
5905
5906 2006-01-22 19:56  twisti
5907
5908         * src/vm/jit/intrp/java.vmg: Some reformatting.
5909
5910 2006-01-22 19:55  twisti
5911
5912         * src/vm/jit/intrp/asmpart.c (vm/loader.h): Added.
5913         (intrp_asm_calljavafunction_intern): Use u1* instead of entrypoint.
5914         (jni_invoke_java_intern): Likewise.
5915
5916 2006-01-22 19:50  twisti
5917
5918         * .cvsignore, src/toolbox/.cvsignore, src/vm/jit/inline/.cvsignore,
5919         src/vm/jit/allocator/.cvsignore: TAGS added.
5920
5921 2006-01-22 19:37  twisti
5922
5923         * src/boehm-gc/.cvsignore, src/boehm-gc/include/.cvsignore,
5924         src/vm/.cvsignore, src/vm/jit/tools/.cvsignore,
5925         src/vm/jit/verify/.cvsignore, src/vm/jit/loop/.cvsignore,
5926         src/vm/jit/.cvsignore, src/vm/jit/intrp/.cvsignore,
5927         src/cacao/.cvsignore, src/native/vm/.cvsignore,
5928         src/native/include/.cvsignore, src/native/.cvsignore,
5929         src/mm/.cvsignore, src/threads/native/.cvsignore,
5930         src/threads/.cvsignore, src/fdlibm/.cvsignore, src/.cvsignore,
5931         src/cacaoh/.cvsignore: TAGS added.
5932
5933 2006-01-22 19:29  edwin
5934
5935         * src/vm/jit/intrp/codegen.c (nativecall): Fixed calculation of the
5936         stackframeinfo address.
5937
5938 2006-01-22 14:44  twisti
5939
5940         * src/vm/jit/codegen-common.c (codegen_addreference): The last fix was
5941         not correct if only the intrp is built.
5942
5943 2006-01-22 14:39  twisti
5944
5945         * src/vm/class.c (class_showmethods): Use class_printflags.
5946         * src/vm/loader.c, src/vm/loader.h (fprintflags): Removed.
5947         (printflags): Likewise.
5948         * src/vm/jit/inline/sets.c (printFldSet): Use field_println instead of
5949         field_display.
5950         * src/vm/field.c, src/vm/field.h (field_display): Removed.
5951         (field_printflags): Added.
5952         (field_print): Likewise.
5953         (field_println): Likewise.
5954
5955 2006-01-22 00:45  edwin
5956
5957         * src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Use ffi_type_sint
5958         for
5959         values of TYPE_INT. This fixes the interpreter on i386, though I'm not
5960         sure if it is a correct and complete solution.
5961
5962 2006-01-21 21:46  edwin
5963
5964         * src/vm/jit/codegen-common.c (codegen_addreference): Fixed bug when
5965         both ENABLE_INTRP and ENABLE_JIT were defined.
5966
5967 2006-01-21 20:22  edwin
5968
5969         * src/vm/jit/verify/typecheck.c (typestack_copy,
5970         typestack_separable_with)
5971         (typestack_separable_from, verify_basic_block): Comment-only changes.
5972         (verify_basic_block): Small typo fix in string.
5973
5974 2006-01-20 14:49  twisti
5975
5976         * src/native/jni.c (fill_callblock_from_objectarray): Fixed typo.
5977         (jni_method_invokeNativeHelper): Major code rewrite and speed
5978         improvement, renamed to _Jv_jni_invokeNative.
5979         (cacao_jni_CallVoidMethod): Fixed interpreter bug, renamed to
5980         _Jv_jni_CallVoidMethod.
5981         (callLongMethod): Renamed to _Jv_jni_CallLongMethod.
5982         * src/native/jni.h (jni_method_invokeNativeHelper): Renamed to
5983         _Jv_jni_invokeNative.
5984         * src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative):
5985         Renamed jni_method_invokeNativeHelper to _Jv_jni_invokeNative.
5986         * src/native/vm/Constructor.c: Updated includes.
5987         (Java_java_lang_reflect_Constructor_constructNative): Renamed
5988         jni_method_invokeNativeHelper to _Jv_jni_invokeNative.
5989
5990 2006-01-20 13:41  twisti
5991
5992         * tests/regression/Makefile.am (EXTRA_DIST): Made it more readable.
5993
5994 2006-01-20 13:40  twisti
5995
5996         * src/vm/jit/intrp/intrp.h (ffi.h): Removed, not required in this
5997         file.
5998         * src/vm/jit/intrp/codegen.c (nativecall): Removed unused big-endian
5999         code.
6000         * src/vm/jit/intrp/asmpart.c (asm_calljavafunction_intern): Renamed to
6001         intrp_asm_calljavafunction_intern, just to be sure.
6002
6003 2006-01-20 13:33  twisti
6004
6005         * src/vm/jit/mips/irix/md-os.c (md_signal_handler_sigsegv): Missed the
6006         actal rename from the previous commit.
6007
6008 2006-01-20 13:28  twisti
6009
6010         * src/vm/signal.c (vm/signallocal.h): Added.
6011         * src/vm/signallocal.h (md_signal_handler_sigfpe): #ifdef for i386 and
6012         x86_64.
6013
6014 2006-01-20 13:25  twisti
6015
6016         * src/vm/jit/powerpc/linux/md-os.c, src/vm/jit/powerpc/darwin/md-os.c,
6017         src/vm/jit/alpha/linux/md-os.c, src/vm/jit/alpha/freebsd/md-os.c,
6018         src/vm/jit/mips/linux/md-os.c, src/vm/jit/mips/irix/md-os.c
6019         (signal_handler_sigsegv): Renamed to md_signal_handler_sigsegv.
6020         * src/vm/jit/i386/linux/md-os.c, src/vm/jit/i386/freebsd/md-os.c,
6021         src/vm/jit/x86_64/md.c (signal_handler_sigsegv): Renamed to
6022         md_signal_handler_sigsegv.
6023         (signal_handler_sigfpe): Renamed to md_signal_handler_sigfpe.
6024         * src/vm/signal.c (signal_init): Renamed signal_handler_sigsegv to
6025         md_signal_handler_sigsegv and signal_handler_sigfpe to
6026         md_signal_handler_sigfpe respectively.
6027         * src/vm/signallocal.h (md_signal_handler_sigsegv): Added.
6028         (md_signal_handler_sigfpe): Likewise.
6029
6030 2006-01-20 13:19  twisti
6031
6032         * src/vm/jit/alpha/codegen.h (ucontext.h): Removed.
6033         (thread_restartcriticalsection): Removed.
6034
6035 2006-01-20 13:06  twisti
6036
6037         * src/vm/jit/x86_64/disass.c (dis-asm.h): Added.
6038         (vm/global.h): Likewise.
6039         (mm/memory.h): Removed.
6040
6041 2006-01-20 13:05  twisti
6042
6043         * src/vm/class.c, src/vm/class.h (class_printflags): Added.
6044         (class_print): Likewise.
6045         (class_println): Likewise.
6046
6047 2006-01-20 12:58  twisti
6048
6049         * src/vm/jit/i386/disass.c (disassinstr): Set the read_memory_func in
6050         disassemble_info to disass_buffer_read_memory.
6051         (disassemble): Removed.
6052
6053 2006-01-20 12:57  twisti
6054
6055         * src/vm/jit/stack.c (show_icmd_method): Print basic blocks count and
6056         better basic block header output.
6057         ICMD_MULTIANEWARRAY: Changed iptr->target and iptr->val.a value.
6058         ICMD_IFLE_ICONST, ICMD_ELSE_ICONST: Print values better.
6059
6060 2006-01-20 12:01  twisti
6061
6062         * src/vm/jit/powerpc/disass.c (disassinstr): Set the read_memory_func
6063         in disassemble_info to disass_buffer_read_memory.
6064         (disassemble): Removed.
6065
6066 2006-01-20 11:38  twisti
6067
6068         * src/vm/jit/disass-common.c, src/vm/jit/disass.h: Added
6069         disassemble_info and disass_initialized.
6070         (disassemble): Added.
6071         (buffer_read_memory): Renamed to disass_buffer_read_memory.
6072         * src/vm/jit/x86_64/disass.c (disassinstr): Set the read_memory_func
6073         in disassemble_info to disass_buffer_read_memory.
6074         (disassemble): Removed.
6075
6076 2006-01-20 10:15  twisti
6077
6078         * regression/extest.java: Removed asmpart exceptions as they are now
6079         checked with codepatching.
6080         * regression/extest.2output: Regenerated.
6081         * regression/extest_clinit.java: Added.
6082
6083 2006-01-20 10:08  twisti
6084
6085         * src/vm/jit/alpha/md.c (md_init): Moved #include and extern's to the
6086         top of the file, since this broke compilation on debian unstable.
6087
6088 2006-01-19 23:40  edwin
6089
6090         * src/vm/jit/parse.h: Added vim boilerplate.
6091
6092 2006-01-19 23:35  edwin
6093
6094         * src/vm/jit/stack.c: Added vim boilerplate.
6095
6096 2006-01-19 22:21  twisti
6097
6098         * configure.in (AC_CONFIG_FILES): Removed tests/codepatching/Makefile
6099         and added tests/regression/codepatching/Makefile.
6100         * tests/Makefile.am (SUBDIRS): Removed codepatching.
6101         * tests/regression/Makefile.am (SUBDIRS) Added with codepatching.
6102         * tests/regression/codepatching/Makefile.am (JAVAFLAGS): Added.
6103
6104 2006-01-19 22:11  edwin
6105
6106         * src/vm/jit/parse.c (parse): Removed inlining code.
6107
6108 2006-01-19 22:06  edwin
6109
6110         * src/vm/options.c, src/vm/options.h (useinliningm): Removed.
6111
6112 2006-01-19 22:05  twisti
6113
6114         * tests/codepatching: Moved to tests/regression/codepatching.
6115
6116 2006-01-19 21:31  edwin
6117
6118         * src/vm/jit/jit.c (jit_compile): Removed the INAFTERMAIN hack.
6119
6120 2006-01-19 21:27  edwin
6121
6122         * src/vm/jit/inline/inline.c (inlining_setup): Removed INAFTERMAIN
6123         hack.
6124
6125 2006-01-19 21:26  edwin
6126
6127         * src/cacao/cacao.c (main): Disabled useinlining and useinliningm.
6128
6129 2006-01-19 20:56  twisti
6130
6131         * src/vm/jit/intrp/codegen.c, src/vm/jit/intrp/java.vmg (FALOAD)
6132         (FASTORE): Added, required for big-endian machines.
6133         * src/vm/jit/intrp/engine.c (access_array_float): Likewise.
6134
6135 2006-01-19 20:53  twisti
6136
6137         * src/vm/global.h (java_floatarray): Typo.
6138
6139 2006-01-19 20:28  edwin
6140
6141         * src/vm/jit/parse.c (parse, fillextable): Removed debugging code.
6142         Minor cleanup.
6143
6144 2006-01-19 20:13  edwin
6145
6146         * src/vm/jit/parse.c (parse): Removed commented out debugging code.
6147
6148 2006-01-19 20:03  twisti
6149
6150         * src/vm/class.c (class_showmethods): Replaced method_display with
6151         method_println.
6152
6153 2006-01-19 20:00  twisti
6154
6155         * src/vm/jit/inline/inline.c, src/vm/jit/inline/sets.c,
6156         src/vm/jit/inline/parseRTstats.c, src/vm/jit/inline/parseRT.c,
6157         src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/parseXTA.c:
6158         Replaced method_display and method_display_w_class calls with
6159         method_println.
6160
6161 2006-01-19 19:49  twisti
6162
6163         * src/vm/method.c, src/vm/method.h (method_display): Removed.
6164         (method_display_w_class): Likewise.
6165         (method_printflags): Added.
6166         (method_print): Likewise.
6167         (method_println): Likewise.
6168         Removed. --This line, and those below, will be ignored--
6169         
6170         M method.c
6171         M method.h
6172
6173 2006-01-19 17:02  twisti
6174
6175         * src/vm/jit/powerpc/linux/Makefile.am (INCLUDES): Renamed to
6176         AM_CPPFLAGS.
6177         * src/vm/jit/powerpc/Makefile.am (AM_CPPFLAGS): Added missing
6178         $(OS_DIR) include.
6179
6180 2006-01-19 16:02  twisti
6181
6182         * INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc,
6183         as this is more common these days.
6184
6185 2006-01-19 11:58  edwin
6186
6187         * alpha, mips, nat: removed obsolete directories resurrected by svn
6188         migration
6189
6190 2006-01-19 09:47  twisti
6191
6192         * INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc,
6193         as this is more common these days.
6194
6195 2006-01-18 21:41  edwin
6196
6197         * havoc.class: fix corruption by svn eol-style conversion
6198
6199 2006-01-18 15:43  twisti
6200
6201         * AC_CHECK_HEADER: Added ansidecl.h, symcat.h, bfd.h and zconf.h.
6202
6203 2006-01-18 15:41  twisti
6204
6205         * main: Call nogc_init for DISABLE_GC.
6206
6207 2006-01-17 18:51  twisti
6208
6209         * Removed extern stuff that was removed from the lib.
6210
6211 2006-01-17 18:37  twisti
6212
6213         * Updated to new classpath configure options.
6214
6215 2006-01-17 18:24  twisti
6216
6217         * CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX.
6218
6219 2006-01-17 17:06  twisti
6220
6221         * CACAO_INSTALL_PREFIX: Renamed to CACAO_PREFIX.
6222         * NDEBUG: Check for libintl on cygwin and darwin.
6223         * --with-classpath-install-dir: Renamed to --with-classpath-prefix.
6224         * --with-classpath-libdir: Added to support 64-bit platforms where the
6225         libdir may be /usr/lib64.
6226
6227 2006-01-17 16:59  twisti
6228
6229         * main: Removed CACAO_INSTALL_PREFIX and CLASSPATH_INSTALL_DIR since
6230         CACAO_VM_ZIP_PATH and CLASSPATH_GLIBJ_ZIP_PATH are now full paths.
6231
6232 2006-01-17 16:58  twisti
6233
6234         * Java_gnu_classpath_VMSystemProperties_preInit: Renamed
6235         CACAO_INSTALL_PREFIX to CACAO_PREFIX.
6236
6237 2006-01-17 16:57  twisti
6238
6239         * CACAO_VM_ZIP_PATH: Prepend CACAO_PREFIX.
6240         * CLASSPATH_GLIBJ_ZIP_PATH: Prepend CLASSPATH_PREFIX.
6241         * CLASSPATH_LIBRARY_PATH: Prepend CLASSPATH_LIBDIR.
6242
6243 2006-01-17 16:55  twisti
6244
6245         * CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX.
6246
6247 2006-01-17 16:53  twisti
6248
6249         * Added.
6250
6251 2006-01-17 16:51  twisti
6252
6253         * m4/as-ac-expand.m4: Added.
6254
6255 2006-01-16 00:07  twisti
6256
6257         * jni_init: Fixed small typo.
6258
6259 2006-01-16 00:04  twisti
6260
6261         * Java_gnu_classpath_VMSystemProperties_preInit: Use the same os.arch
6262         property values as SUN and others do, so we are compatible (e.g.
6263         jogl had
6264         some problems), file.encoding removed as it's set by GNU Classpath,
6265         hardcode values for gnu.cpu.endian.
6266
6267 2006-01-15 23:32  twisti
6268
6269         * utf_java_nio_DirectByteBufferImpl_ReadWrite: Removed.
6270         * utf_gnu_classpath_Pointer{32,64}: Likewise.
6271         * class_java_nio_Buffer: Added, load and link this class in
6272         jni_init().
6273         * class_java_nio_DirectByteBufferImpl: Likewise.
6274         * NewDirectByteBuffer: Removed debug output.
6275         * GetDirectBufferAddress: Added instanceof check.
6276         * GetDirectBufferCapacity: Likewise.
6277
6278 2006-01-15 14:12  twisti
6279
6280         * native_new_and_init: Ooops, reverting last change and added an
6281         explaining
6282         comment.
6283
6284 2006-01-15 13:32  twisti
6285
6286         * CLASSPATH_LIBRARY_PATH, CLASSPATH_GLIBJ_ZIP_PATH: Temporary bugfix.
6287
6288 2006-01-15 12:28  twisti
6289
6290         * native_findfunction: #ifdef ENABLE_STATICVM.
6291         * native_new_and_init: Fixed return value.
6292
6293 2006-01-15 01:56  twisti
6294
6295         * math.h: Added for isnan.
6296
6297 2006-01-15 00:37  twisti
6298
6299         * JAVAC: Removed.
6300
6301 2006-01-15 00:36  twisti
6302
6303         * Java_gnu_classpath_VMSystemProperties_preInit: Set user.country
6304         instead
6305         of user.region, set en_US if none is defined,
6306         java.protocol.handler.pkgs
6307         removed.
6308
6309 2006-01-14 20:02  twisti
6310
6311         * builtin_trace_args: Added callcount to verbose call output.
6312
6313 2006-01-14 17:19  edwin
6314
6315         * src/native/vm/Method.c (invokeNative): check class access rights
6316
6317 2006-01-13 19:37  twisti
6318
6319         * codegen_setup: #ifdef datareferences.
6320
6321 2006-01-13 18:51  twisti
6322
6323         * This class does not differ from the GNU classpath upstream version.
6324
6325 2006-01-13 18:49  twisti
6326
6327         * defineClassWithTransformers: Added, updated to generics version.
6328
6329 2006-01-13 15:29  twisti
6330
6331         * codegendata: #ifdef datareferences member.
6332         * codegen_finish: Moved data segment reference resolving into
6333         dseg_resolve_datareferences.
6334
6335 2006-01-13 15:28  twisti
6336
6337         * dseg_resolve_datareferences: Added.
6338
6339 2006-01-13 15:27  twisti
6340
6341         * Small reformatting.
6342
6343 2006-01-13 10:47  twisti
6344
6345         * src/vm/jit/{i386,x86_64}/{dis-asm.h,i386-dis.c}: Removed.
6346         * src/vm/jit/powerpc/{ppc.h,ppc-dis.c,ppc-opc.c}: Likewise.
6347         * m4/{ac_prog_javac.m4,ac_prog_javac_works.m4}: Added.
6348
6349 2006-01-13 10:42  twisti
6350
6351         * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
6352
6353 2006-01-13 10:11  twisti
6354
6355         * codegen.h: Added when ENABLE_JIT defined.
6356         * codegen_addpatchref: Set lastmcodeptr when ENABLE_JIT is defined
6357         and the
6358         architecture requires it.
6359
6360 2006-01-13 10:09  twisti
6361
6362         * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
6363
6364 2006-01-12 23:54  twisti
6365
6366         * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
6367
6368 2006-01-12 23:33  twisti
6369
6370         * arch.h: Added.
6371         * GC_test_and_set: Removed 64-bit version since the 32-bit seems to be
6372         sufficient and works.
6373
6374 2006-01-12 23:31  twisti
6375
6376         * show_icmd: Use CLASS_IS_OR_ALMOST_INITIALIZED.
6377         * initialize_class: Use CLASS_IS_OR_ALMOST_INITIALIZED.
6378
6379 2006-01-12 23:30  twisti
6380
6381         * CLASS_IS_OR_ALMOST_INITIALIZED: Added.
6382
6383 2006-01-12 23:27  twisti
6384
6385         * GETSTATIC_FLOAT, PUTSTATIC_FLOAT, GETFIELD_FLOAT, PUTFIELD_FLOAT:
6386         Added.
6387         * PATCHER_GETSTATIC_FLOAT, PATCHER_PUTSTATIC_FLOAT,
6388         PATCHER_GETFIELD_FLOAT,
6389         PATCHER_PUTFIELD_FLOAT: Likewise.
6390         * TRACENATIVECALL: Removed codegen_findmethod, use methodinfo* from
6391         threaded code stream.
6392         * TRACECALL, TRACERETURN, TRACELRETURN: Likewise.
6393
6394 2006-01-12 23:23  twisti
6395
6396         * Some 64-bit big-endian bugfixes.
6397         * Use CLASS_IS_OR_ALMOST_INITIALIZED macro.
6398
6399 2006-01-12 23:21  twisti
6400
6401         * 64-bit big-endian bugfix: replace s4 with ptrint.
6402
6403 2006-01-12 23:10  twisti
6404
6405         * Imported for the interpreter.
6406
6407 2006-01-12 23:09  twisti
6408
6409         * Added powerpc64 target.
6410
6411 2006-01-12 23:08  twisti
6412
6413         * intrp_disassinstr, intrp_disassemble: Added.
6414
6415 2006-01-12 23:07  twisti
6416
6417         * vm/options.h: Added.
6418
6419 2006-01-12 23:05  twisti
6420
6421         * config.h, vm/types.h: Added.
6422
6423 2006-01-12 23:03  twisti
6424
6425         * Use ASM_CALLJAVAFUNCTION* macros.
6426
6427 2006-01-12 22:42  twisti
6428
6429         * thread_addstaticcritical: Quick hack: #ifdef ENABLE_JIT
6430         asm_criticalsections.
6431         * sigsuspend_handler: Quick hack: #ifdef ENABLE_JIT
6432         thread_restartcriticalsection.
6433
6434 2006-01-12 22:41  twisti
6435
6436         * vm/options.h: Added.
6437         * descriptor_pool_parse_method_descriptor: #ifdef ENABLE_JIT
6438         md_param_alloc
6439         call.
6440         * descriptor_params_from_paramtypes: Likewise.
6441
6442 2006-01-12 22:40  twisti
6443
6444         * Fixed a lot of compiler warnings (functionptr -> u1*).
6445
6446 2006-01-12 22:39  twisti
6447
6448         * regs: Removed.
6449         * disassinstr, disassemble: Prefixed with intrp_.
6450
6451 2006-01-12 22:38  twisti
6452
6453         * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
6454
6455 2006-01-12 22:37  twisti
6456
6457         * builtin_gen_table: #if function according to arch.h.
6458         * codegen: Prefixed with intrp_, usage of iptr->val.a and iptr->target
6459         changed.
6460         * codegen_createlinenumbertable: Renamed to
6461         dseg_createlinenumbertable.
6462         * createcompilerstub: Prefixed with intrp_.
6463         * createnativestub: Likewise.
6464
6465 2006-01-12 22:35  twisti
6466
6467         * verify_multianewarray: Usage iptr->val.a and iptr->target changed.
6468         * JAVA_MULTIANEWARRAY: Pass c in iptr->val.a and cr in iptr->target.
6469
6470 2006-01-12 22:34  twisti
6471
6472         * codegen_createnativestub: #ifdef ENABLE_JIT md_param_alloc call.
6473         * codegen_disassemble_nativestub: Use DISASSEMBLE macro.
6474
6475 2006-01-12 22:32  twisti
6476
6477         * analyse_stack: #ifdef ENBALE_JIT md_return_alloc call.
6478         * icmd_print_stack: Print regs correctly for jit.
6479         * show_icmd_method: Likewise.
6480
6481 2006-01-12 21:55  twisti
6482
6483         * builtintable_internal: Removed ICMD_CHECKCAST.
6484
6485 2006-01-12 21:39  twisti
6486
6487         * Prefixed functions with intrp_.
6488         * md_init, md_stacktrace_get_returnaddress: Prefixed with intrp_.
6489         * thread_restartcriticalsection, md_param_alloc, md_return_alloc:
6490         Removed.
6491
6492 2006-01-12 21:38  twisti
6493
6494         * Prefix functions with intrp_.
6495
6496 2006-01-12 21:37  twisti
6497
6498         * Use ptrint instead of s8 in some places.
6499
6500 2006-01-12 21:36  twisti
6501
6502         * Use DISASSINSTR macro.
6503
6504 2006-01-12 21:36  michi
6505
6506         * Comment updated (for asm_cacheflush)
6507
6508 2006-01-12 21:35  twisti
6509
6510         * intrp_createcompilerstub, intrp_createnativestub, intrp_codegen:
6511         Added.
6512         * codegen.h: Include only for some archs.
6513         * md-abi.h: Include only for arm.
6514         * codegen_init: Changed #ifdef to ENABLE_JIT.
6515         * codegen_createnativestub: Call reg_setup only for jit, #ifdef
6516         createnativestub to support interpreter.
6517
6518 2006-01-12 21:30  twisti
6519
6520         * intrp_md_stacktrace_get_returnaddress: Added.
6521         * cacao_stacktrace_fillInStackTrace: #ifdef
6522         md_stacktrace_get_returnaddress
6523         to support interpreter.
6524
6525 2006-01-12 21:29  twisti
6526
6527         * Seperate ENABLE_JIT and ENABLE_INTRP.
6528
6529 2006-01-12 21:17  twisti
6530
6531         * config.h: Added.
6532         * intrp_patcher_get_putstatic, intrp_patcher_get_putfield,
6533         intrp_patcher_aconst, intrp_patcher_builtin_multianewarray,
6534         intrp_patcher_builtin_arraycheckcast,
6535         intrp_patcher_invokestatic_special,
6536         intrp_patcher_invokevirtual, intrp_patcher_invokeinterface,
6537         intrp_patcher_checkcast_instanceof, intrp_patcher_resolve_native:
6538         Likewise.
6539
6540 2006-01-12 21:16  twisti
6541
6542         * jit_compile_intern: #ifdef codegen call to support interpreter, use
6543         DISASSEMBLE macro.
6544
6545 2006-01-12 21:15  twisti
6546
6547         * DISASSINSTR, DISASSEMBLE: Added.
6548
6549 2006-01-12 21:14  twisti
6550
6551         * Use ASM_CALLJAVAFUNCTION macro.
6552
6553 2006-01-12 21:13  twisti
6554
6555         * Use ASM_CALLJAVAFUNCTION_INT macro.
6556
6557 2006-01-12 21:11  twisti
6558
6559         * intrp_asm_calljavafunction, intrp_createcompilerstub,
6560         intrp_asm_getclassvalues_atomic: Added.
6561
6562 2006-01-12 21:08  twisti
6563
6564         * Use ASM_CALLJAVAFUNCTION macros.
6565         * main: #ifdef md_init call to support interpreter.
6566         * link_class_intern: #ifdef createcompilerstub call to support
6567         interpreter.
6568
6569 2006-01-12 21:07  twisti
6570
6571         * Use ASM_CALLJAVAFUNCTION macros.
6572
6573 2006-01-12 21:06  twisti
6574
6575         * Use ASM_CALLJAVAFUNCTION_ADR macro.
6576         * Use ASM_CALLJAVAFUNCTION macro.
6577
6578 2006-01-12 21:04  twisti
6579
6580         * intrp_md_init: Added.
6581
6582 2006-01-12 20:57  twisti
6583
6584         * Check explicitly for isnan.
6585
6586 2006-01-12 18:25  twisti
6587
6588         * print_dynamic_super_statistics: Added from intrp.
6589
6590 2006-01-12 18:09  michi
6591
6592         * Included md-abi.h (needed for REG_SPLIT on Arm)
6593
6594 2006-01-12 17:52  twisti
6595
6596         * We have to use a machine dependent arch.h.
6597
6598 2006-01-11 12:16  twisti
6599
6600         * vm/jit/codegen.inc.h: Removed.
6601         * Fixed compiler warnings.
6602
6603 2006-01-11 10:35  twisti
6604
6605         * ICMD_F2I, ICMD_D2I, ICMD_F2L, ICMD_D2L: #if 0.
6606
6607 2006-01-11 10:01  twisti
6608
6609         * SUPPORT_FMOD: Removed.
6610         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
6611         SUPPORT_L2F,
6612         SUPPORT_L2D.
6613         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
6614         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
6615
6616 2006-01-10 22:44  twisti
6617
6618         * SUPPORT_FMOD: Removed.
6619         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
6620         SUPPORT_L2F,
6621         SUPPORT_L2D.
6622         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
6623         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
6624
6625 2006-01-10 22:38  twisti
6626
6627         * SUPPORT_FMOD: Removed.
6628         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
6629         SUPPORT_L2F,
6630         SUPPORT_L2D.
6631         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
6632         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
6633
6634 2006-01-10 22:22  twisti
6635
6636         * EXTRA_DIST: Added ChangeLog-2005.
6637
6638 2006-01-10 22:18  twisti
6639
6640         * SUPPORT_FMOD: Removed.
6641         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
6642         SUPPORT_L2F,
6643         SUPPORT_L2D.
6644         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
6645         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
6646
6647 2006-01-10 22:11  twisti
6648
6649         * asm_getclassvalues_atomic: Replaced with ASM_GETCLASSVALUES_ATOMIC.
6650         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F or SUPPORT_I2D.
6651         * SUPPORT_FICVT: Replaced with SUPPORT_F2I.
6652         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F.
6653         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
6654
6655 2006-01-10 22:09  twisti
6656
6657         * ASM_CALLJAVAFUNCTION, ASM_CALLJAVAFUNCTION_ADR,
6658         ASM_CALLJAVAFUNCTION_INT,
6659         ASM_CALLJAVAFUNCTION2, ASM_CALLJAVAFUNCTION2_ADR,
6660         ASM_CALLJAVAFUNCTION2_INT, ASM_CALLJAVAFUNCTION2_LONG,
6661         ASM_CALLJAVAFUNCTION2_FLOAT, ASM_CALLJAVAFUNCTION2_DOUBLE: Macros
6662         added,
6663         these macros hide the selection between jit and intrp functions.
6664         * ASM_GETCLASSVALUES_ATOMIC: Likewise.
6665         * intrp_asm_calljavafunction, intrp_asm_calljavafunction_int: Added.
6666         * intrp_asm_calljavafunction2, intrp_asm_calljavafunction2int,
6667         intrp_asm_calljavafunction2long, intrp_asm_calljavafunction2float,
6668         intrp_asm_calljavafunction2double: Likewise.
6669         * intrp_asm_getclassvalues_atomic: Likewise.
6670
6671 2006-01-10 21:58  twisti
6672
6673         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F or SUPPORT_I2D.
6674         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
6675         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2I, SUPPORT_F2L or
6676         SUPPORT_D2I,
6677         SUPPORT_D2L.
6678
6679 2006-01-10 21:11  twisti
6680
6681         * exceptions_throw_negativearraysizeexception: Use
6682         * builtin_throw_exception: #ifndef NDEBUG.
6683         * builtin_trace_exception: Likewise.
6684         * builtin_trace_args: Likewise.
6685         * builtin_displaymethodstop: Likewise.
6686         * builtin_*: #if the function regarding the defines in arch.h.
6687
6688 2006-01-10 20:57  twisti
6689
6690         * exceptions_throw_classformaterror,
6691         exceptions_throw_arrayindexoutofboundsexception,
6692         exceptions_throw_illegalargumentexception,
6693         exceptions_throw_negativearraysizeexception,
6694         exceptions_throw_nullpointerexception: Added.
6695         * exceptions_print_exception: #ifndef NDEBUG.
6696
6697 2006-01-10 20:56  twisti
6698
6699         * exceptions_throw_classformaterror: Use this function.
6700
6701 2006-01-10 20:55  twisti
6702
6703         * exceptions_throw_nullpointerexception: Use this function.
6704
6705 2006-01-10 20:50  twisti
6706
6707         * exceptions_throw_nullpointerexception,
6708         exceptions_throw_arrayindexoutofboundsexception: Use these
6709         functions.
6710
6711 2006-01-10 20:48  twisti
6712
6713         * exceptions_throw_nullpointerexception,
6714         exceptions_throw_illegalargumentexception: Use these functions.
6715
6716 2006-01-10 20:46  twisti
6717
6718         * exceptions_throw_illegalargumentexception,
6719         exceptions_throw_negativearraysizeexception,
6720         exceptions_throw_arrayindexoutofboundsexception,
6721         exceptions_throw_nullpointerexception: Use these functions.
6722
6723 2006-01-10 20:44  twisti
6724
6725         * exceptions_throw_classformaterror,
6726         exceptions_throw_negativearraysizeexception,
6727         exceptions_throw_nullpointerexception: Added.
6728
6729 2006-01-10 15:52  twisti
6730
6731         * Not required anymore.
6732
6733 2006-01-10 15:50  twisti
6734
6735         * use_class_as_object, create_property, copy_vftbl, create_methodsig:
6736         Removed.
6737         * classMeth, nativeCall, methodCall, nativeMethod, nativeCompCall,
6738         methodCompCall, nativeCompMethod: Likewise.
6739         * natcall2utf, printNativeCall, markNativeMethodsRT: Likewise.
6740
6741 2006-01-10 15:48  twisti
6742
6743         * nativeCalls, nativeCompCalls: Removed.
6744         * copy_vftbl, create_methodsig: Likewise.
6745         * printNativeCall, printCompNativeCall, findNativeMethodCalls,
6746         findNativeClassCalls, utfNativeCall, natcall2utf: Likewise.
6747
6748 2006-01-10 10:59  twisti
6749
6750         * codegen_ncode_increase: Typo.
6751
6752 2006-01-09 20:52  twisti
6753
6754         * disass_buf: Fixed typo.
6755
6756 2006-01-09 20:28  twisti
6757
6758         * disass_printf: Ooops, #ifdef was wrong.
6759
6760 2006-01-09 20:19  twisti
6761
6762         * Removed, we now link against libbfd and libopcodes.
6763         * stdarg.h, string.h, assert.h, vm/jit/powerpc/dis-asm.h: Removed.
6764         * dis-asm.h, stdio.h, vm/jit/disass.h: Added.
6765         * myprintf, buffer_read_memory, perror_memory, generic_print_address,
6766         generic_symbol_at_address, bfd_getb32, bfd_getl32, sprintf_vma:
6767         Removed.
6768         * Use disass-common.c stuff.
6769
6770 2006-01-09 20:15  twisti
6771
6772         * libarch_la_SOURCES: Removed dis-asm.h, ppc-dis.c, ppc-opc.c and
6773         ppc.h.
6774
6775 2006-01-09 19:21  twisti
6776
6777         * assert.h, stdarg.h, vm/jit/x86_64/dis-asm.h: Removed.
6778         * stdio.h, vm/jit/disass.h: Added.
6779         * myprintf, buffer_read_memory, generic_symbol_at_address,
6780         generic_print_address, perror_memory: Likewise.
6781         * Use disass-common.c stuff.
6782
6783 2006-01-09 16:37  twisti
6784
6785         * string.h, vm/jit/i386/dis-asm.h: Removed.
6786         * mylinebuf, mylen: Likewise.
6787         * myprintf, buffer_read_memory, generic_symbol_at_address,
6788         generic_print_address, perror_memory: Likewise.
6789         * Use disass-common.c stuff.
6790
6791 2006-01-09 16:36  twisti
6792
6793         * WITH_BINUTILS_DISASSEMBLER: Added, define DISASS_OBJ.
6794         * noinst_LTLIBRARIES: Added DISASS_OBJ.
6795
6796 2006-01-09 16:30  twisti
6797
6798         * This file contains the common functions required when we use the
6799         binutils
6800         disassembler.
6801
6802 2006-01-09 16:29  twisti
6803
6804         * WITH_BINUTILS_DISASSEMBLER: Added.
6805         * disass_printf: Added.
6806
6807 2006-01-09 16:26  twisti
6808
6809         * WITH_BINUTILS_DISASSEMBLER: Added.
6810
6811 2006-01-09 12:12  twisti
6812
6813         * Removed, we now link against libbfd and libopcodes.
6814
6815 2006-01-09 12:10  twisti
6816
6817         * libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c.
6818
6819 2006-01-09 10:37  twisti
6820
6821         * AC_CHECK_HEADER checks for ansidecl.h, bfd.h and symcat.h removed.
6822         * AC_CHECK_HEADER check for dis-asm.h added.
6823         * AC_CHECK_LIB checks for libbfd and libopcodes added.
6824
6825 2006-01-09 10:35  twisti
6826
6827         * Removed, we now link against libbfd and libopcodes.
6828         * libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c, we now link
6829         against
6830         libbfd and libopcodes.
6831
6832 2006-01-08 23:37  twisti
6833
6834         * Updated from GNU Classpath:
6835         
6836         2005-12-17 Guilhem Lavaux <guilhem@kaffe.org>
6837         
6838         * native/fdlibm/fdlibm.h
6839         (isnan): Define explicitly isnan if it is not a macro.
6840
6841 2006-01-08 23:00  twisti
6842
6843         * loader_load_all_classes: Print exception when loading failed.
6844
6845 2006-01-08 22:38  twisti
6846
6847         * SUCK_xx_xx: We can only optimize little endian loads on i386 and
6848         x86_64
6849         machines. All others have problems with alignment.
6850
6851 2006-01-08 22:12  twisti
6852
6853         * Ignore *.class files.
6854
6855 2006-01-08 22:11  twisti
6856
6857         * java-assert.h: Unused, removed.
6858
6859 2006-01-08 22:01  twisti
6860
6861         * Added VM interface change to be consistent:
6862         
6863         2005-11-13 Archie Cobbs <archie@dellroad.org>
6864         
6865         * vm/reference/gnu/classpath/VMStackWalker.java (getClassLoader()):
6866         added to fix an infinite loop bug.
6867         * NEWS: note VM interface change.
6868
6869 2006-01-08 21:32  twisti
6870
6871         * suck_add: Check for lce != NULL before adding it to the list, since
6872         zip_open can return NULL.
6873
6874 2006-01-08 19:14  twisti
6875
6876         * JAVAC: Removed.
6877
6878 2006-01-08 19:13  twisti
6879
6880         * SOURCE_FILES: Added.
6881         * JAVAC: Removed.
6882         * checkall: Renamed to check.
6883
6884 2006-01-08 19:12  twisti
6885
6886         * Use $(mkdir_p), $(JAVAC) and $(ZIP) variables.
6887
6888 2006-01-08 19:11  twisti
6889
6890         * AM_PROG_MKDIR_P: Added.
6891         * Added headers checks for ansidecl.h, bfd.h, and symcat.h if we have
6892         debugging enabled.
6893         * AC_PROG_JAVAC: Added.
6894         * AC_PATH_PROG: Added check for zip.
6895
6896 2006-01-08 19:09  twisti
6897
6898         * Macros to check for a Java compiler, taken from
6899         http://ac-archive.sourceforge.net/.
6900
6901 2006-01-04 09:35  twisti
6902
6903         * Removed src/toolbox/avl.[ch] copyright.
6904
6905 2006-01-04 09:34  twisti
6906
6907         * avl_dump: Only print node->data.
6908
6909 2006-01-03 23:46  twisti
6910
6911         * Use new avl tree code.
6912         * Rewritten.
6913
6914 2006-01-03 23:44  twisti
6915
6916         * exit_handler: Removed print_dynamic_super_statistics.
6917         * print_stats: Added print_dynamic_super_statistics.
6918
6919 2006-01-03 23:43  twisti
6920
6921         * threads.h: Added.
6922         * builtin.h: Likewise.
6923
6924 2006-01-03 23:08  twisti
6925
6926         * CallNonvirtualBooleanMethodA: Added missing ;.
6927
6928 2006-01-03 23:05  twisti
6929
6930         * ENABLE_STATISTICS: Fixed typo.
6931
6932 2006-01-02 21:01  christian
6933
6934         typeing error
6935
6936 2006-01-02 17:13  twisti
6937
6938         * nregdescint, nregdescfloat: Moved to md-abi.c.
6939
6940 2006-01-02 17:12  twisti
6941
6942         * nregdescint, nregdescfloat: Added.
6943
6944 2006-01-02 17:11  twisti
6945
6946         * noinst_HEADERS: Removed md-abi.inc.
6947
6948 2006-01-02 16:40  twisti
6949
6950         * signal_handler_sigsegv: Replaced functionptr with u1*.
6951
6952 2006-01-02 16:18  twisti
6953
6954         * nregdescint, nregdescfloat: Moved to md-abi.c.
6955
6956 2006-01-02 16:17  twisti
6957
6958         * nregdescint, nregdescfloat: Added.
6959         * noinst_HEADERS: Removed md-abi.inc.
6960
6961 2006-01-02 16:12  twisti
6962
6963         * INCLUDES: Added OS_DIR, some archs have their md-abi.* files in the
6964         os
6965         directory.
6966
6967 2006-01-02 16:08  christian
6968
6969         *** empty log message ***
6970
6971 2006-01-02 16:04  twisti
6972
6973         * nregdescint, nregdescfloat: Moved to md-abi.c.
6974
6975 2006-01-02 16:03  twisti
6976
6977         * nregdescint, nregdescfloat: Added.
6978         * noinst_HEADERS: Removed md-abi.inc.
6979
6980 2006-01-02 14:32  christian
6981
6982         Removed old debug message
6983
6984 2006-01-02 14:26  twisti
6985
6986         * md-abi.inc: Removed.
6987
6988 2006-01-02 14:25  twisti
6989
6990         * nregdescint, nregdescfloat: Moved to md-abi.c.
6991
6992 2006-01-02 14:24  twisti
6993
6994         * nregdescint, nregdescfloat: Added.
6995         * noinst_HEADERS: Removed md-abi.inc.
6996
6997 2006-01-02 14:11  christian
6998
6999         Corrected \"\" to \<\> for system header include
7000
7001 2006-01-02 14:07  twisti
7002
7003         * nregdescint, nregdescfloat: Moved to md-abi.c.
7004         * noinst_HEADERS: Removed md-abi.inc.
7005
7006 2006-01-02 14:06  twisti
7007
7008         * nregdescint, nregdescfloat: Added.
7009         * disassinstr: Some code improvement.
7010
7011 2006-01-02 14:05  twisti
7012
7013         * md-abi.inc: Removed.
7014
7015 2006-01-02 13:05  christian
7016
7017         Changed register allocator .inc to .c files and moved them to
7018         src/vm/jit/allocator
7019
7020 2006-01-02 12:59  christian
7021
7022         Changed register allocator .inc to .c files and moved them to
7023         src/vm/jit/allocator
7024
7025 2006-01-02 12:22  twisti
7026
7027         * Fixed result message for debug.
7028
7029 2006-01-02 12:10  twisti
7030
7031         * Typo.
7032
7033 2006-01-02 12:04  twisti
7034
7035         * Added ltdl.h check.
7036
7037 2006-01-02 11:34  twisti
7038
7039         * Fixed ltdl.h include path.
7040
7041 2006-01-02 01:34  twisti
7042
7043         * Fixed ltdl.h include path.
7044
7045 2006-01-02 01:15  twisti
7046
7047         * I don't think we really need them, but they are still in Attic.
7048
7049 2006-01-02 01:10  twisti
7050
7051         * Generated changelog for 2005.
7052
7053 2006-01-02 01:05  twisti
7054
7055         * unzip.[ch], libffi, libltdl: Removed.
7056
7057 2006-01-01 21:53  twisti
7058
7059         * Removed libltdl.
7060
7061 2006-01-01 21:38  twisti
7062
7063         * We now use the system libltdl.
7064
7065 2006-01-01 21:32  twisti
7066
7067         * Changed text of kaffe's stuff, dalibor pointed this out.
7068
7069 2006-01-01 21:29  twisti
7070
7071         * AC_LIBLTDL_CONVENIENCE, AC_SUBST(LIBLTDL): Removed.
7072         * AC_COMPILE_CHECK_SIZEOF: Replaced with AC_CHECK_SIZEOF.
7073
7074 2006-01-01 21:22  twisti
7075
7076         * m4 macros have a different copyright header.
7077
7078 2006-01-01 21:13  twisti
7079
7080         * Lists all third party software we use. This list contains all
7081         stuff we
7082         used in 0.93. Stuff that has been ripped will be deleted after that
7083         commit, this is for the records.
7084
7085 2006-01-01 20:55  twisti
7086
7087         * Not required.
7088
7089 2006-01-01 19:39  twisti
7090
7091         * Removed libltdlc.la.
7092         * DIST_SUBDIRS: Removed libltdl.
7093         * SUBDIRS: Likewise.
7094
7095 2006-01-01 19:38  twisti
7096
7097         * Added libltdl check.
7098         * AC_CONFIG_SUBDIRS: Removed src/libltdl.
7099
7100 2006-01-01 18:39  twisti
7101
7102         * libarch_la_SOURCES: Removed symcat.h.
7103
7104 2006-01-01 18:34  twisti
7105
7106         * Use system one.
7107
7108 2006-01-01 18:33  twisti
7109
7110         * libarch_la_SOURCES: Removed symcat.h.
7111
7112 2006-01-01 18:30  twisti
7113
7114         * generic_symbol_at_address: Print only 8 bytes.
7115
7116 2006-01-01 18:21  twisti
7117
7118         * Use system ones.
7119         * generic_symbol_at_address: Added, they were implemented in dis-buf.c
7120         which was removed.
7121         * generic_print_address: Likewise.
7122         * perror_memory: Likewise.
7123
7124 2006-01-01 18:20  twisti
7125
7126         * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c.
7127         * config.h, vm/jit/codegen-common.h: Added.
7128
7129 2006-01-01 16:40  twisti
7130
7131         * Changed include to use system headers.
7132
7133 2006-01-01 16:39  twisti
7134
7135         * Use system ones.
7136         * generic_symbol_at_address: Added, they were implemented in dis-buf.c
7137         which was removed.
7138         * generic_print_address: Likewise.
7139         * perror_memory: Likewise.
7140
7141 2006-01-01 16:37  twisti
7142
7143         * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c.
7144
7145 2006-01-01 16:35  twisti
7146
7147         * DEC OSF cc only defines __alpha.
7148
7149 2006-01-01 16:34  twisti
7150
7151         * class_resolvefield: Renamed except to throwexception since some
7152         compilers
7153         have a builtin except macro (like DEC OSF cc).
7154         * class_resolveclassmethod: Likewise.
7155         * class_resolveinterfacemethod: Likewise.
7156
7157 2006-01-01 16:31  twisti
7158
7159         * zip_open: Handle compiler error with DEC OSF's cc.
7160
7161 2005-12-30 20:45  twisti
7162
7163         * vm/jit/codegen.inc: Removed.
7164         * vm/exceptions.h: Added.
7165         * vm/jit/codegen-common.h: Likewise.
7166         * vm/jit/dseg.h: Likewise.
7167         * codegen: Renamed codegen_createlinenumbertable to
7168         dseg_createlinenumbertable.
7169