* ChangeLog: Updated for release 0.97.
[cacao.git] / ChangeLog
1 2006-10-30 23:52  twisti
2
3         * configure.ac (AC_INIT): Changed version to 0.97.
4         (--enable-threads): Removed green from help string.
5
6 2006-10-30 13:03  twisti
7
8         * src/vm/jit/show.c (show_method): Removed debug output.
9         (SHOW_INT_CONST): Removed long cast and print hex value additionally.
10         (SHOW_LNG_CONST): Removed long long cast and print hex value
11         additionally. Also added version for SIZEOF_VOID_P == 4.
12         (SHOW_ADR_CONST): Added.
13         (SHOW_FLT_CONST): Print hex value additionally.
14         (SHOW_DBL_CONST): Likewise. Also added version for SIZEOF_VOID_P == 4.
15         (show_icmd): Smaller changes.
16
17 2006-10-30 12:27  twisti
18
19         * src/threads/native/threads.h (MUTEXSIM): Removed.
20         (pthread_mutex_rec_t): Likewise.
21         (pthread_mutex_init_rec): Likewise.
22         (pthread_mutex_destroy_rec): Likewise.
23         (pthread_mutex_lock_rec): Likewise.
24         (pthread_mutex_unlock_rec): Likewise.
25         * src/threads/native/threads.c (pthread_mutex_init_rec): Removed.
26         (pthread_mutex_destroy_rec): Likewise.
27         (pthread_mutex_lock_rec): Likewise.
28         (pthread_mutex_unlock_rec): Likewise.
29         (compiler_lock): Use pthread functions.
30         (compiler_unlock): Likewise.
31         (threads_cast_darwinstop): Warning fixes and use vm_abort.
32         (threads_cast_darwinresume): Use vm_abort.
33         (threads_cast_stopworld): Warning fixes.
34         (pthreads_preinit) [!MUTEXSIM]: Removed code.
35
36 2006-10-30 11:52  edwin
37
38         * src/vm/jit/intrp/intrp.h (Cell): Moved the typedef upward, so we can
39         use it in other headers.
40         (global_sp): Does not need the complex casts anymore.
41         
42         * src/threads/native/threads.h (threadobject): Made _global_sp a
43         Cell*.
44         * src/threads/native/threads.c: Likewise.
45
46 2006-10-30 11:21  edwin
47
48         * src/mm/memory.h (ALIGN): Renamed to MEMORY_ALIGN.
49         * src/mm/memory.c: Likewise.
50         * src/vm/jit/dseg.c: Likewise.
51         * src/vm/jit/parse.c: Likewise.
52         * src/vm/jit/codegen-common.c: Likewise.
53         * src/vm/linker.c: Likewise.
54         * src/mm/nogc.c: Likewise.
55         * src/cacaoh/headers.c: Likewise.
56
57 2006-10-30 11:04  edwin
58
59         * src/threads/native/threads.c (threads_dump): Cast pthread_t to long
60         for printing it.
61
62 2006-10-30 11:00  edwin
63
64         * src/vm/jit/cfg.c (cfg_build): Removed set-but-not-used variable (m).
65         * src/vm/jit/ifconv/ifconv.c (check): Likewise (cd).
66         * src/vm/jit/stack.c (stack_reanalyse_block): Likewise (maythrow).
67         (stack_analyse): Likewise (code, b_index).
68         * src/vm/jit/show.c (show_basicblock): Likewise (m).
69         * src/vm/jit/mips/emit.c (emit_copy): Likewise (rd).
70         * src/vm/jit/parse.c (parse): Likewise (code).
71         * src/vm/exceptions.c (exceptions_handle_exception): Likewise
72         (framesize).
73
74 2006-10-30 10:32  edwin
75
76         * src/vm/jit/verify/typecheck-common.c (typecheck_init_flags): Removed
77         set-but-not-used variable `i`.
78
79 2006-10-30 10:31  edwin
80
81         * src/vm/jit/verify/typecheck-builtins.inc: Removed set-but-not-used
82         variable `cls`.
83
84 2006-10-30 10:15  edwin
85
86         * src/vm/jit/alpha/codegen.c (codegen): Zero `uf` to avoid warning.
87
88 2006-10-30 00:45  edwin
89
90         * src/vm/builtin.c (builtin_print_argument): Made logtextlen an in/out
91         argument. Correctly reallocate logtext, increase logtextlen.
92         (builtin_trace_args): Pass &logtextlen to builtin_print_argument.
93         (builtin_displaymethodstop): Likewise.
94
95 2006-10-29 23:43  edwin
96
97         * src/vm/jit/jit.h (stackelement): Removed the obsolete fields
98         `typeinfo` and `regoff`.
99
100 2006-10-29 23:37  edwin
101
102         * src/vm/jit/stack.c (stack_grow_variable_array): Zero the additional
103         space when reallocating the jd->var array.
104         
105         * src/vm/jit/parse.c (parse_realloc_instructions): Zero the
106         additional space when reallocating the instructions array.
107
108 2006-10-29 23:33  edwin
109
110         * src/vm/jit/parse.c (parse): Fix in ICMD_TABLESWITCH: Put table into
111         dump memory.
112
113 2006-10-29 23:23  edwin
114
115         * NEWS: Typo fixed.
116
117 2006-10-29 16:21  edwin
118
119         * src/vm/suck.c (stdlib.h): Include to avoid warning about `free`.
120
121 2006-10-29 16:14  edwin
122
123         * src/vm/suck.c (suck_add_from_property): Use `free` to free memory
124         coming out of the C library - it has not been allocated with M?NEW,
125         so M?FREE is wrong here.
126
127 2006-10-29 14:49  twisti
128
129         * src/vm/builtin.c (builtin_print_argument): Print float/double values
130         with %g and addresses as hex.
131         (builtin_trace_args): Fixed message length calclation.
132         (builtin_displaymethodstop): Fixed bug: we only passed the long value.
133
134 2006-10-29 11:15  edwin
135
136         * src/cacaoh/headers.c (vm_abort): Print the error message before
137         aborting.
138
139 2006-10-28 19:40  twisti
140
141         * NEWS: New news.
142
143 2006-10-28 19:26  twisti
144
145         * src/vm/jit/dseg.c (dseg_find_float): Compare hex value.
146         (dseg_find_double): Likewise.
147
148 2006-10-28 17:45  twisti
149
150         * NEWS: Added some stuff.
151
152 2006-10-28 17:15  edwin
153
154         * NEWS: Added news for CACAO 0.97.
155
156 2006-10-28 16:55  edwin
157
158         * src/vm/jit/jit.c (stackreq): Fixed for DUP/SWAP instructions. The
159         numbers for DUP2_X1 and DUP2_X2 were also wrong before the new IR
160         had been introduced. The new IR in addition needs extra temps in some
161         cases, thus the numbers before the 'plus' operators.
162
163 2006-10-28 16:51  edwin
164
165         * src/vm/jit/stack.c (stack_analyse): Store vartop in jitdata.
166         
167         * src/vm/jit/show.c (show_method): Show number of variables.
168         
169         * tests/regression/jasmin/test_many_dup2_x2.j: New test.
170         * tests/regression/jasmin/test_many_dup.j: Likewise.
171         * tests/regression/jasmin/test_many_dup_x2.j: Likewise.
172         * tests/regression/jasmin/test_many_swap.j: Likewise.
173         * tests/regression/jasmin/test_many_dup2.j: Likewise.
174         * tests/regression/jasmin/test_many_dup2_x1.j: Likewise.
175         * tests/regression/jasmin/test_many_dup_x1.j: Likewise.
176         
177         * tests/regression/jasmin/Makefile.am: Added new tests.
178
179 2006-10-28 15:21  edwin
180
181         * src/vm/jit/stack.c (stackdata_t): Added field varsallocated.
182         (stack_grow_variable_array): Smarted memory allocation.
183         (stack_analyse): Initialize sd.varsallocated.
184
185 2006-10-28 13:02  edwin
186
187         * src/vm/access.c (ACCESS_ASSERT): Replaced with assert. Because of
188         a mistake in the definition of ACCESS_DEBUG, ACCESS_ASSERT always
189         was a NOP!
190         (access_is_accessible_member): Fixed assertion.
191
192 2006-10-28 12:53  edwin
193
194         * src/vm/loader.c (LOADER_ASSERT): Replaced with assert.
195
196 2006-10-28 12:49  edwin
197
198         * src/vm/class.c (CLASS_ASSERT): Replaced by assert.
199
200 2006-10-28 12:47  edwin
201
202         * src/vm/class.c (class_array_of): Release dump memory.
203         (class_multiarray_of): Likewise.
204         (class_get_classref_multiarray_of): Likewise.
205
206 2006-10-27 10:41  twisti
207
208         * src/vm/vm.c: Renamed -Xglibj to -Xbootclasspath/c to match jamvm's
209         option (Robert, Mark and I decided that once).
210         (vm_create): Removed unnecessary k. #ifdef'd the profiling stuff.
211         (vm_run): Removed commented code.
212         * src/vm/options.c, src/vm/options.h [ENABLE_PROFILING] (opt_prof)
213         (opt_prof_bb): Added.
214         * src/vm/jit/jit.c (jit_compile) [ENABLE_PROFILING]: Added for
215         opt_prof stuff.
216         [ENABLE_VERIFIER]: Added for flag setting.
217         * src/vm/jit/codegen-common.c (codegen_createnativestub)
218         [ENABLE_PROFILING]: Added for opt_prof stuff.
219
220 2006-10-26 16:41  edwin
221
222         * src/vm/jit/alpha/codegen.c (codegen): Declare variables at the start
223         of codegen (uf, fi).
224
225 2006-10-26 12:05  twisti
226
227         * src/vm/jit/powerpc/codegen.c (codegen): Made fieldinfo and
228         unresolved_field fucntion variables, fieldtype was uninitialized for
229         PUTFIELD.
230
231 2006-10-26 11:57  twisti
232
233         * src/vm/jit/x86_64/codegen.c (codegen): Made fieldinfo and
234         unresolved_field function variables (it makes the code more readable).
235
236 2006-10-26 11:47  edwin
237
238         * src/vm/jit/alpha/codegen.c (codegen): Fixed ICMD_PUTFIELD: Set
239         fieldtype before it is used. Fixed warnings.
240         
241         * src/vm/jit/mips/codegen.c (codegen): Prevent warnings.
242
243 2006-10-26 11:35  twisti
244
245         * NEWS: Added some 0.97 news.
246
247 2006-10-26 11:30  twisti
248
249         * src/vm/exceptions.c (exceptions_print_exception): Removed [!NDEBUG]
250         condition, as we may need this function in the VM (e.g. recompile).
251         * src/vm/jit/recompile.c (vm/exceptions.h): Added.
252         (recompile_thread): Call exceptions_print_exception in exception case.
253
254 2006-10-26 11:29  edwin
255
256         * src/vm/jit/intrp/codegen.c (codegen): Initialize uf to NULL for
257         resolved fields, to avoid warnings.
258         
259         * src/vm/jit/intrp/engine.c (engine): Initialize
260         classcastexception_object and arrayindexoutofbounds_index to avoid
261         warnings.
262
263 2006-10-26 11:23  edwin
264
265         * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Read inline
266         info from instruction, ported to new instruction format.
267         (dseg_addlinenumber_inline_end): Likewise.
268
269 2006-10-26 11:19  edwin
270
271         * src/vm/jit/show.c (show_icmd): Fixed warning fix.
272
273 2006-10-26 11:18  edwin
274
275         * src/threads/native/threads.c (threads_table_dump): Fix warning (the
276         function is currently unused, but may become handy again.)
277
278 2006-10-26 11:15  edwin
279
280         * src/vm/jit/show.c (show_method): Fixed warning.
281         (show_basicblock): Likewise.
282         (show_icmd): Likewise.
283
284 2006-10-26 11:04  twisti
285
286         * src/vm/jit/x86_64/md.h: Removed.
287         * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Removed md.h.
288         * src/vm/jit/x86_64/codegen.c (md.h): Removed.
289         (codegen): Warning fix.
290
291 2006-10-26 10:34  twisti
292
293         * src/vm/jit/mips/md-abi.h: Fixed MIPS64 compilation and backported
294         some MIPS32 stuff.
295
296 2006-10-26 10:09  twisti
297
298         * src/vm/descriptor.h (paramdesc): We need a type for MIPS32, as the
299         type in the allocated argument register may be different to the actual
300         register (e.g. passing a float in an integer register).
301
302 2006-10-26 09:55  twisti
303
304         * src/vm/jit/mips/codegen.c (codegen): More comment and brace changes.
305
306 2006-10-26 09:44  twisti
307
308         * src/vm/jit/mips/codegen.c (codegen): Comment and brace changes.
309
310 2006-10-26 09:29  twisti
311
312         * src/vm/jit/mips/md-asm.h: Renamed t8 to t4 and removed t9, as it's
313         actually itmp3.
314         * src/vm/jit/mips/asmpart.S: Likewise.
315
316 2006-10-25 14:26  tbfg
317
318         * src/vm/jit/powerpc64/linux/md-abi.c (_ALIGN): Renamed to
319         CACAO_ALIGN because of name clash with /usr/include/asm-ppc64/page.h.
320         
321         * src/vm/jit/powerpc64/emit.c (emit_lconst): Added.
322         (emit_iconst): Reformatted.
323         
324         * src/vm/jit/powerpc64/codegen.c (codegen):
325         Replaced all stackframesize with cd->stackframesize.
326         Implemented ICMD_IF_LLT, ICMD_IF_LLE, ICMD_IF_LGE, ICMD_IF_LGT.
327         
328         * src/vm/jit/powerpc64/asmpart.S:
329         Partially fixed exception path.
330         (asm_cacheflush): Fixed.
331         
332         * src/vm/jit/powerpc64/codegen.h (LCONST): Implemented.
333         
334         * tests/if_tests.java: Added simple testcase for if and compare.
335
336 2006-10-24 23:24  edwin
337
338         * src/vm/utf8.h, src/vm/utf8.c (utf8_safe_number_of_u2s): Modified to
339         completely emulate the behaviour of the RI in case of truncated UTF-8
340         characters. This requires an extra strlen(text) beforehand. We still
341         require zero-termination. We could drop that with a few extra changes,
342         should we find other uses for these functions.
343         (utf8_safe_convert_to_u2s): Likewise.
344         
345         * src/vm/string.c (javastring_safe_new_from_utf8): Pass number of
346         bytes to the decoding functions.
347
348 2006-10-24 17:51  edwin
349
350         * src/vm/utf8.c (utf8_safe_number_of_u2s): Skip only bytes beginning
351         with high bits 10 in invalid sequences.
352         (utf8_safe_convert_to_u2s): Likewise.
353
354 2006-10-24 16:41  edwin
355
356         * src/vm/utf8.h, src/vm/utf8.c (utf8_safe_number_of_u2s): New
357         function.
358         (utf8_safe_convert_to_u2s): Likewise.
359         
360         * src/vm/stringlocal.h, src/vm/string.c
361         (javastring_safe_new_from_utf8): New function.
362         
363         * src/native/jni.c (_Jv_JNI_NewStringUTF): Use the new functions for
364         safe UTF-8 decoding.
365
366 2006-10-24 11:17  twisti
367
368         * src/vm/jit/dseg.c (dseg_display): Rewritten.
369
370 2006-10-22 04:28  ajordan
371
372         * src/vm/jit/sparc64/codegen.h: fixed M_SAVE.
373         
374         * src/vm/jit/sparc64/disass.c: configuring disass for big-endian.
375
376 2006-10-22 02:49  ajordan
377
378         * src/vm/jit/sparc64/emit.c: Implemented trace enter/exit functions.
379         * src/vm/jit/sparc64/codegen.c: Likewise.
380         
381         * src/vm/jit/sparc64/md.c: Implemented md_get_method_patch_address.
382         
383         * src/vm/jit/sparc64/asmpart.S(asm_call_jit_compiler): Fixed window
384         handling
385         
386         * src/vm/jit/sparc64/disass.c: Fixed disassembly printing.
387         
388         * src/vm/jit/sparc64/md-abi.h: Minor changes/fixes.
389         * src/vm/jit/sparc64/codegen.h: Likewise.
390         * src/vm/jit/sparc64/md-asm.h: Likewise.
391
392 2006-10-22 00:38  edwin
393
394         * src/vm/jit/jit.c (jit_asm_compile): Fixed xpc for extern
395         stackframeinfo by subtracting 1 from the return address.
396         This fixes stacktraces when exceptions are thrown out of
397         the compiler.
398         
399         * tests/regression/extest.2output: Changed line numbers to
400         the values same the RI returns, which are correct upon inspection
401         of the Java code.
402
403 2006-10-21 15:06  edwin
404
405         * src/vm/jit/parse.c (parse): Bugfix for -noverify: Do not make the
406         variable array dependant on jd->flags, as this breaks stack_analyse.
407
408 2006-10-20 18:35  twisti
409
410         * src/vm/jit/mips/codegen.c (md.h): Removed.
411         * src/vm/jit/mips/md.h: Removed.
412         * src/vm/jit/mips/Makefile.am (libarch_la_SOURCES): Removed md.h.
413
414 2006-10-20 14:53  twisti
415
416         * src/vm/jit/jit.c (jit_init) [ENABLE_JIT]: Call stack_init only for
417         JIT.
418         [ENABLE_JIT] (jit_asm_compile): Only for JIT.
419         
420         * src/vm/jit/Makefile.am (SUBDIRS) [ENABLE_JIT]: Add allocator only
421         for JIT.
422         (libjit_la_SOURCES) [ENABLE_JIT]: Compile reg.[ch], replace.[ch] and
423         stack.[ch] only for JIT.
424         
425         * src/cacaoh/headers.c [ENABLE_INTRP] (intrp_asm_abstractmethoderror):
426         Added.
427
428 2006-10-20 14:26  twisti
429
430         * src/vm/linker.c (link_class_intern): Handle AbstractMethodError for
431         interpreter (missed this one in the last commit).
432
433 2006-10-20 14:22  twisti
434
435         * src/vm/jit/intrp/asmpart.c (intrp_asm_abstractmethoderror): Added.
436         * src/vm/jit/asmpart.h [ENABLE_INTRP] (intrp_asm_abstractmethoderror):
437         Likewise.
438         * src/vm/linker.c (linker_addinterface): Handle AbstractMethodError
439         for interpreter.
440
441 2006-10-20 13:58  twisti
442
443         * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Removed
444         unused ld_library_path.
445
446 2006-10-20 13:54  twisti
447
448         * src/vm/suck.c (vm/vm.h): Added.
449         (bootclasspath, classpath): Removed.
450         (suck_add_from_property): Prefix bootclasspath with _Jv_.
451         * src/vm/suck.h (bootclasspath, classpath): Removed.
452         
453         * src/vm/vm.c (_Jv_bootclasspath, _Jv_classpath)
454         (_Jv_java_library_path): Added.
455         (version): Prefix bootclasspath with _Jv_.
456         (vm_create): Likewise, set _Jv_java_library_path to LD_LIBRARY_PATH
457         before handling commandline options.
458         * src/vm/vm.h (_Jv_bootclasspath, _Jv_classpath)
459         (_Jv_java_library_path): Added.
460         
461         * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Prefix
462         bootclasspath and classpath with _Jv_, use _Jv_java_library_path for
463         setting java.library.path.
464         
465         * src/cacao/cacao.c (main): First let dlopen try to open libjvm at
466         it's default locations.
467         * src/native/native.c (native_init): Likewise.
468         
469         * src/cacaoh/headers.c (_Jv_bootclasspath): Added.
470         
471         * contrib/setenvinstalled.in: Set LD_LIBRARY_PATH again.
472         * contrib/setenvsource.in: Likewise.
473         
474         * tests/regression/native/Makefile.am (JAVAFLAGS): Removed
475         -Djava.library.path=.
476         (check): Set LD_LIBRARY_PATH.
477         * tests/regression/codepatching/Makefile.am (check): Likewise.
478         * tests/regression/Makefile.am: Likewise.
479
480 2006-10-20 13:09  twisti
481
482         * src/vm/signal.c (signal_init): Added dummy allocation to install
483         Boehm's signal handlers.
484         * src/threads/native/threads.c (threads_preinit): Removed dummy
485         allocation.
486         
487         * src/vm/vm.c (vm_create): Call threads_preinit before gc_init.
488         * src/cacaoh/cacaoh.c (main): Likewise.
489
490 2006-10-20 12:00  twisti
491
492         * src/vm/exceptions.c [ENABLE_JIT] (exceptions_handle_exception): Only
493         required for JIT.
494
495 2006-10-20 00:37  ajordan
496
497         * src/mm/memory.c: fixed typo in _no_threads_dumpinfo definition
498
499 2006-10-19 10:10  twisti
500
501         * src/threads/native/threads.c (threads_interrupt_thread): Renamed to
502         threads_thread_interrupt, send thread a SIGHUP singal to interrupt
503         blocking system calls (thanks to Robert Schuster).
504         (threads_dump): Removed threads_sleep call.
505         
506         * src/threads/native/threads.h (threads_interrupt_thread): Renamed to
507         threads_thread_interrupt.
508         * src/native/vm/java_lang_VMThread.c (interrupt): Likewise.
509         * src/native/jvmti/jvmti.c (InterruptThread): Likewise.
510         
511         * src/vm/signal.c (signal_init): Register SIGHUP.
512         (signal_handler_sighup): Added.
513
514 2006-10-19 09:32  twisti
515
516         * src/vm/jit/stacktrace.c (stacktrace_dump_trace): Changed signature.
517         * src/vm/jit/stacktrace.h: Likewise.
518         
519         * src/vm/jit/codegen-common.c (codegen_get_pv_from_pc): Pass
520         threadobject to stacktrace_dump_trace.
521         
522         * src/vm/signal.c (signal_init): Don't register SIGUSR1.
523         (signal_handler_sigusr1): Removed.
524         
525         * src/native/jni.h: Include GNU Classpath JNI header before we define
526         our header.
527         (localref_table): Forward typedef.
528         
529         * src/threads/native/threads.c (threads_dump): Pass threadobject to
530         stacktrace_dump_trace.
531         
532         * src/cacaoh/headers.c (stacktrace_dump_trace): Added.
533
534 2006-10-19 09:27  twisti
535
536         * src/threads/native/threads.h (threadobject, threads_table_entry_t)
537         (threads_table_t): Forward typedef.
538         (threadobject): Changed dumpinfo to dumpinfo_t.
539
540 2006-10-19 09:25  twisti
541
542         * src/mm/memory.h (dumpblock): Postfixed with _t and moved before
543         internal includes, as we have some problems with threadobject.
544         (dumpinfo): Likewise.
545         * src/mm/memory.c: Postfixed dumpblock and dumpinfo with _t.
546
547 2006-10-19 09:23  twisti
548
549         * src/vm/jit/powerpc/codegen.c (codegen): Warning fixes.
550
551 2006-10-18 16:55  edwin
552
553         * src/vm/jit/codegen-common.c (codegen_createnativestub): Initialize
554         jd->flags to zero.
555
556 2006-10-18 16:27  edwin
557
558         * tests/regression/jasmin/runtest: Removed debugging `tee TEST`.
559         * tests/regression/jasmin/Makefile.am (CLEANFILES): Added file
560         TESTSIA.
561
562 2006-10-18 16:19  edwin
563
564         * tests/regression/jasmin/Makefile.am (SOURCE_FILES): Use EXTRA_DIST,
565         instead.
566
567 2006-10-18 15:57  edwin
568
569         * src/vm/jit/i386/linux/Makefile.am (noinst_HEADERS): Added md-asm.h.
570         * src/vm/jit/i386/freebsd/Makefile.am (noinst_HEADERS): Likewise.
571
572 2006-10-18 15:27  twisti
573
574         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added powerpc64.
575
576 2006-10-18 15:19  twisti
577
578         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added optimizing.
579
580 2006-10-18 15:14  twisti
581
582         * src/vm/jit/sparc64/Makefile.am (libarch_la_SOURCES): Removed md.h.
583
584 2006-10-18 15:09  twisti
585
586         * src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Renamed md-emit.h
587         to emit.h.
588
589 2006-10-18 15:04  twisti
590
591         * configure.ac (AC_INIT): Changed to version 0.97rc.
592         (CFLAGS): Changed to -O2.
593
594 2006-10-18 14:53  edwin
595
596         * tests/regression/jasmin/Makefile.am: Temporarily disable failing
597         tests for the release.
598         * src/vm/jit/stack.c (stack_analyse): Check field type when creating
599         a PUTFIELDCONST/PUTSTATICCONST instruction.
600
601 2006-10-16 09:59  edwin
602
603         * src/vm/jit/parse.c (parse_resolve_exception_table): Do not use
604         codegendata.
605         (parse): Likewise.
606         
607         * src/vm/jit/stack.c (stack_analyse): Likewise.
608
609 2006-10-16 09:02  twisti
610
611         * src/vm/jit/allocator/simplereg.c [ENABLE_STATISTICS]
612         (simplereg_make_statistics): Don't print this INREGISTER stuff.
613
614 2006-10-16 08:53  twisti
615
616         * src/vm/jit/jit.c (jit_compile_intern) [ENABLE_STATISTICS]:
617         exceptiontablelength is now in jitdata.
618
619 2006-10-16 00:05  ajordan
620
621         * src/vm/jit/sparc64/codegen.c: Ported to unified variables.
622         * src/vm/jit/sparc64/emit.c: Likewise.
623         
624         * src/vm/jit/sparc64/md.c: Implemented md_codegen_get_pv_from_pc.
625         
626         * src/vm/jit/sparc64/codegen.h: Some fixes.
627         * src/vm/jit/sparc64/asmpart.S: Likewise.
628
629 2006-10-15 22:44  edwin
630
631         * src/vm/linker.c (link_class_intern): Removed unused variable.
632
633 2006-10-15 22:25  edwin
634
635         * src/vm/jit/jit.h (exception_entry): New struct.
636         (jitdata): Added exceptiontable fields. Cleaned up.
637         
638         * src/vm/exceptions.h (exceptionentry): Removed.
639         
640         * src/vm/jit/dseg.h (dseg_exception_entry): New struct.
641         
642         * src/vm/jit/stack.h (BLOCK_OF): Moved to parse.h.
643         * src/vm/jit/parse.h (BLOCK_OF): Added.
644         
645         * src/vm/jit/codegen-common.h (codegendata): Removed exceptiontable
646         and exceptiontablelength.
647         
648         * src/vm/loader.c (load_method): Renamed m->exceptiontable* to
649         m->rawexceptiontable*.
650         (load_class_from_classbuffer): Likewise.
651         * src/vm/method.c (method_free): Likewise.
652         
653         * src/vm/method.h (methodinfo): Renamed m->exceptiontable* to
654         m->rawexceptiontable*.
655         (exceptiontable): Renamed to raw_exception_entry. Removed fields that
656         are only used in jd->exceptiontable.
657         
658         * src/vm/jit/powerpc/codegen.c (codegen): Moved exceptiontable to jd,
659         renamed struct exceptiontable to exception_entry.
660         * src/vm/jit/sparc64/codegen.c (codegen): Likewise.
661         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
662         * src/vm/jit/stack.c (stackdata_t): Likewise.
663         (stack_analyse): Likewise.
664         (stack_reanalyse_block): Likewise.
665         * src/vm/jit/optimizing/graph.c (graph_add_exceptions): Likewise.
666         * src/vm/jit/show.c (show_method): Likewise.
667         * src/vm/jit/verify/typecheck-common.h (verifier_state): Likewise.
668         * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
669         * src/vm/jit/verify/typecheck-stackbased.c (typecheck_stackbased):
670         Likewise.
671         * src/vm/jit/mips/codegen.c (codegen):
672         * src/vm/jit/loop/loop.h (LoopContainer): Likewise.
673         * src/vm/jit/loop/analyze.c (analyze_nested): Likewise.
674         (analyze_or_exceptions): Likewise.
675         (update_internal_exceptions): Likewise.
676         (create_static_checks): Likewise.
677         (optimize_loops): Likewise.
678         * src/vm/jit/inline/inline.c (test_inlining): Likewise.
679         * src/vm/jit/allocator/lsra.c (lsra_add_exceptions): Likewise.
680         * src/vm/jit/i386/codegen.c (codegen): Likewise.
681         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
682         * src/vm/jit/intrp/codegen.c (codegen): Likewise.
683         * src/vm/jit/schedule/schedule.h (M_SCHEDULE_SET_EXCEPTION_POINT):
684         Likewise.
685         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
686         * src/vm/jit/jit.c (jit_compile_intern): Likewise.
687         (jit_jitdata_new): Initialize exceptiontable fields.
688         
689         * src/vm/jit/codegen-common.c (codegen_setup): Removed exceptiontable
690         fields.
691         
692         * src/vm/jit/parse.c (parse_mark_exception_boundaries): New function.
693         (parse_resolve_exception_table): New function.
694         (fillextable): Removed.
695         (parse): Use parse_mark_exception_boundaries and
696         parse_resolve_exception_table. Write the basicblockindex for the end
697         marker block.
698         
699         * src/vm/jit/intrp/asmpart.c (exceptionentry): Renamed to
700         dseg_exception_entry.
701         * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
702         
703         * src/vm/linker.c (link_class_intern): Do not resolve exception
704         classes here. This is now done in parse.c.
705
706 2006-10-15 13:52  edwin
707
708         * src/vm/jit/jit.h: Indentation cleanup.
709
710 2006-10-15 13:37  edwin
711
712         * src/vm/jit/jit.h (flags_operand_t): Removed `fields` struct. It was
713         not safe to use, as defined.
714
715 2006-10-15 13:19  edwin
716
717         * src/vm/jit/jit.h (flags_operand_t): Removed unused argcount.
718         (ACONST_LOAD): Removed.
719         (ACONST_BUILTIN): Removed.
720
721 2006-10-15 12:59  edwin
722
723         * src/vm/method.h (methodinfo): Removed c_block_nr.
724         * src/vm/jit/jit.h (jitdata): Removed c_block_nr.
725         (BASICBLOCK_INIT): Do not set bptr->nr here.
726         
727         * src/vm/jit/jit.c (jit_compile_intern): Renumber basic blocks after
728         transformations.
729         (jit_check_basicblock_numbers): Made stricter.
730         
731         * src/vm/jit/stack.c (stack_append_block): Set basic block numbers
732         correctly.
733         (stack_clone_block): Do not set bptr->nr here.
734         
735         * src/vm/jit/verify/typecheck.c (typestate_reach): Use the correct
736         check for setting the repeat flag.
737         (typecheck): Check basic block numbers.
738         
739         * src/vm/jit/verify/typecheck-stackbased.c (typecheck_stackbased):
740         Check basic block numbers.
741         
742         * src/vm/jit/loop/analyze.c (copy_handler): Do not use c_block_nr.
743         (create_static_checks): Likewise.
744         * src/vm/jit/inline/inline.c (create_block): Likewise.
745         * src/vm/jit/parse.c (parse): Likewise.
746
747 2006-10-15 12:20  edwin
748
749         * src/vm/jit/jit.c (jit_renumber_basicblocks): New function.
750         (jit_check_basicblock_numbers): Likewise.
751         (jit_init): Removed obsolete variable `i`.
752         
753         * src/vm/jit/jit.h (jit_renumber_basicblocks): New function.
754         (jit_check_basicblock_numbers): Likewise.
755
756 2006-10-14 19:12  twisti
757
758         * src/native/jni.c (_Jv_JNI_DetachCurrentThread): Made
759         --disable-threads-safe.
760
761 2006-10-13 18:29  edwin
762
763         * tests/regression/jasmin/Makefile.am: Added new tests.
764
765 2006-10-13 18:25  edwin
766
767         * src/vm/jit/verify/icmds.c: Check basic types of instance for field
768         access.
769         * src/vm/jit/verify/typecheck-fields.inc: Check basic type of value.
770         
771         * src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
772         * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
773         
774         * src/vm/jit/verify/typecheck.c (verify_fieldaccess): Define
775         VERIFY_ERROR for the include file.
776         
777         * src/vm/jit/verify/typecheck-stackbased.c (VERIFY_ERROR): Fixed
778         macro.
779         
780         *
781         tests/regression/jasmin/test_verify_fail_putfieldconst_basic_type_instance.j,
782         tests/regression/jasmin/test_verify_fail_getfield_basic_type_instance.j,
783         tests/regression/jasmin/test_verify_fail_putfield_basic_type_value.j,
784         tests/regression/jasmin/test_verify_fail_putstatic_basic_type_value.j,
785         tests/regression/jasmin/test_verify_fail_putfieldconst_basic_type_value.j,
786         tests/regression/jasmin/test_verify_fail_getfield_basic_type_value.j,
787         tests/regression/jasmin/test_verify_fail_putfield_basic_type_instance.j,
788         tests/regression/jasmin/test_verify_fail_putfield_basic_type_lookup.j,
789         tests/regression/jasmin/test_verify_fail_getfield_basic_type_lookup.j,
790         tests/regression/jasmin/test_verify_fail_putstaticconst_basic_type_value.j:
791         New tests.
792         
793         * tests/regression/jasmin/runtest: Look for specified ICMDs in -sia
794         output.
795
796 2006-10-13 17:06  tbfg
797
798         * src/vm/jit/powerpc64/md.c (md_get_method_patch_address): Fixed
799         comments.
800         
801         * src/vm/jit/powerpc64/codegen.c: Added credits.
802         
803         * src/vm/jit/powerpc64/asmpart.S (asm_handle_nat_exception): Fixed
804         exception handling code. Added credits.
805
806 2006-10-13 16:30  edwin
807
808         * src/vm/jit/verify/typecheck-fields.inc: Re-activate stack overflow
809         checking.
810         
811         * src/vm/jit/verify/typecheck-common.h (verifier_state): Added field
812         `stackceiling`.
813         
814         * src/vm/jit/verify/typecheck-stackbased.c (CHECK_STACK_DEPTH):
815         Cleaned up.
816         (CHECK_STACK_SPACE): Cleaned up.
817         (typecheck_stackbased_verify_fieldaccess): Check for stack overflow.
818         (typecheck_stackbased): Moved stackceiling into state.
819
820 2006-10-13 16:06  edwin
821
822         * src/vm/jit/codegen-common.c (codegen_reg_of_var): Removed `inline`
823         declaration. The crappy IRIX compiler does not create a global symbol
824         otherwise.
825
826 2006-10-13 14:34  edwin
827
828         * src/vm/jit/verify/typecheck.c (verify_basic_block): Use generated
829         code.
830         
831         * src/vm/jit/verify/typecheck-stackbased-gen.inc: New file, GENERATED!
832         * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
833         
834         * src/vm/jit/verify/typecheck.h (typecheck_stackbased): Added.
835         
836         * src/vm/jit/verify/Makefile.am: Added source files for both generated
837         verifiers.
838         
839         * src/vm/jit/jit.c (jit_compile_intern): Call the stack-based verifier
840         for the interpreter.
841         
842         * src/vm/vm.c (vm_create): Re-enable verification fot the interpreter.
843
844 2006-10-13 14:22  edwin
845
846         * src/vm/jit/verify/generate.pl: Clearly mark generated code.
847
848 2006-10-13 14:00  edwin
849
850         * src/vm/jit/icmdtable.inc: Documented prettily.
851
852 2006-10-13 13:11  edwin
853
854         * src/vm/jit/jit.h (op_data): Removed.
855         (stackreq): Moved to a more logical place.
856         
857         * src/vm/jit/jit.c (op_data): Removed.
858         (jit_init): Removed code initializing op_data.
859         
860         * src/vm/jit/optimizing/lifetimes.c (LifeOutAtStatement): Use
861         icmd_table.
862         * src/vm/jit/optimizing/ssa.c (dead_code_elimination): Likewise.
863
864 2006-10-13 12:49  edwin
865
866         * src/vm/jit/jit.h (icmd_table): Added.
867         (icmd_names): Removed.
868         
869         * src/vm/jit/jit.c (icmd_table): Added.
870         (icmd_names): Removed.
871         
872         * src/vm/jit/show.c (show_icmd): Use icmd_table.
873         * src/vm/jit/optimizing/ssa.c (dead_code_elimination): Likewise.
874
875 2006-10-13 12:47  edwin
876
877         * src/vm/resolve.c: Removed obsolete debug prints.
878
879 2006-10-13 11:57  edwin
880
881         * src/vm/jit/jit.h: Added DF_ constants for ICMD table.
882         Added CF_ constants.
883         Added ICMDTABLE_ constants.
884         (icmdtable_entry_t): New struct.
885
886 2006-10-13 11:28  edwin
887
888         * src/vm/jit/icmdtable.inc: New file. Not used, yet.
889         * src/vm/jit/Makefile.am: Added new file.
890
891 2006-10-13 11:27  edwin
892
893         * src/vm/jit/verify/generate.pl: Omit comma at end of ICMD table.
894
895 2006-10-13 11:11  edwin
896
897         * src/vm/jit/verify/typecheck-stackbased.c: New file. Not used, yet.
898         * src/vm/jit/verify/icmds.c: New file.
899         * src/vm/jit/verify/generate.pl: New file.
900         
901         * src/vm/jit/verify/typecheck-invoke.inc: Added copyright notice.
902         * src/vm/jit/verify/typecheck-fields.inc: Likewise.
903         * src/vm/jit/verify/typecheck-builtins.inc: Likewise.
904         * src/vm/jit/verify/typecheck-common.c: Likewise.
905         * src/vm/jit/verify/typecheck-common.h: Likewise.
906
907 2006-10-13 10:36  edwin
908
909         * src/vm/jit/verify/typeinfo.c (typevector_store): Remove obsolete
910         assertion.
911
912 2006-10-13 10:33  edwin
913
914         * src/vm/jit/stack.c (stack_analyse): Set iptr->dst for CHECKNULL.
915
916 2006-10-13 00:47  edwin
917
918         * src/vm/builtin.c (builtin_isanysubclass): Bugfix for the case that
919         `sub` is an interface and `super` is a class. The function returned
920         random values in this case, since it used the <= 0 base value of the
921         interface class to perform the subclass check. The only case in which
922         an interface can be a subclass of a non-interface `super` is when
923         `super` is java.lang.Object, so we check explicitly for this case.
924         This fixes a bug with BeanShell-2.0b4.
925         
926         (builtin_isanysubclass_vftbl): Likewise.
927
928 2006-10-12 23:34  edwin
929
930         * src/vm/jit/stack.c (stack_check_invars): Bugfix: Only set flags to
931         BBTYPECHECK_REACHED if the block has already been analysed.
932         
933         (stack_check_invars_from_outvars): Likewise.
934
935 2006-10-12 20:06  twisti
936
937         * src/vm/jit/cfg.c (cfg_build): Check for EXH basic blocks in
938         fall-through case.
939
940 2006-10-12 15:59  edwin
941
942         * tests/regression/jasmin/runtest: Added timeout capability.
943
944 2006-10-12 15:22  edwin
945
946         * src/vm/jit/verify/typecheck-common.h (typecheck_print_statistics):
947         Added prototype.
948         (typecheck_jsr_t): New struct.
949         (typecheck_jsr_caller_t): Likewise.
950         (verifier_state): Added fields for stackbased verifier.
951
952 2006-10-12 15:07  edwin
953
954         * src/vm/jit/verify/typecheck-common.c: Made debugging and statistics
955         symbols global.
956         * src/vm/jit/verify/typecheck-common.h: Likewise.
957
958 2006-10-12 14:52  edwin
959
960         * src/vm/jit/verify/typecheck-invoke.inc: Added code variants for the
961         stackbased verifier. Not used, yet.
962         * src/vm/jit/verify/typecheck-builtins.inc: Likewise.
963
964 2006-10-12 14:42  edwin
965
966         * src/vm/jit/verify/typecheck-common.c: Include headers.
967         * src/vm/jit/verify/typecheck-common.h: Cleanup.
968
969 2006-10-12 14:39  edwin
970
971         * src/vm/jit/verify/typecheck.c (ISBUILTIN): Removed.
972         * src/vm/jit/verify/typecheck-builtins.inc (ISBUILTIN): Added.
973
974 2006-10-12 14:38  tbfg
975
976         * src/vm/jit/powerpc64/codegen.c (codegen): Adopt locals
977         and regoff changes.
978
979 2006-10-12 14:18  edwin
980
981         * src/vm/jit/verify/typecheck.c (verify_invocation): Prepared for
982         addeding the stackbased verifier. No functional change, yet.
983         (verify_builtin): Likewise.
984
985 2006-10-12 14:12  edwin
986
987         * src/vm/jit/verify/typecheck-common.c,
988         src/vm/jit/verify/typecheck-common.h (typecheck_init_flags): Added
989         minflags argument.
990         
991         * src/vm/jit/verify/typecheck.c (typecheck): Call typecheck_init_flags
992         with minflags set to BBFINISHED.
993
994 2006-10-12 14:02  edwin
995
996         * src/vm/jit/verify/typecheck.c (verify_fieldaccess): New function.
997         (verify_basic_block): Moved field verification into a separate
998         function.
999         
1000         * src/vm/jit/verify/typecheck-fields.inc: Removed opcode-dependant
1001         stuff. Some code for the stackbased verifier is checked in, but not
1002         used, yet.
1003
1004 2006-10-12 13:13  twisti
1005
1006         * src/vm/jit/mips/linux/md-os.c (thread_restartcriticalsection): Added
1007         uClibc support.
1008
1009 2006-10-12 12:44  twisti
1010
1011         * src/vm/jit/mips/linux/md-os.c (md_signal_handler_sigsegv): Added
1012         uClibc support.
1013
1014 2006-10-12 10:10  edwin
1015
1016         * src/vm/jit/verify/typecheck.c: Moved <assert.h> include to the right
1017         place. Moved some code to typecheck-common.[ch].
1018         
1019         * src/vm/jit/verify/typecheck-common.c: New file.
1020         * src/vm/jit/verify/typecheck-common.h: New file.
1021         
1022         * src/vm/jit/verify/Makefile.am: Added new source files.
1023
1024 2006-10-11 23:52  edwin
1025
1026         * src/vm/jit/verify/typecheck-builtins.inc: Removed redundant
1027         `return true`. Moved declaration of `av`.
1028
1029 2006-10-11 23:44  edwin
1030
1031         * src/vm/jit/verify/typecheck-invoke.inc: Use invokestatic where
1032         possible. Added a comment.
1033
1034 2006-10-11 23:41  edwin
1035
1036         * src/vm/jit/verify/typecheck-invoke.inc: Indent log messages to make
1037         them more readable.
1038
1039 2006-10-11 23:37  edwin
1040
1041         * src/vm/jit/verify/typecheck.c (verify_invocation): Define jd and dv
1042         before including the function body.
1043         
1044         * src/vm/jit/verify/typecheck-invoke.inc: Removed definitions of jd
1045         and dv. Small cleanup.
1046
1047 2006-10-11 23:22  edwin
1048
1049         * src/vm/jit/verify/typecheck.c (verify_builtin): Define jd and dv
1050         before including the function body.
1051         
1052         * src/vm/jit/verify/typecheck-builtins.inc: Removed definitions
1053         of jd and dv.
1054
1055 2006-10-11 23:00  edwin
1056
1057         * src/vm/jit/verify/typecheck.c (verify_invocation): Moved body to a
1058         separate file in order to prepare comitting the stackbased verifier.
1059         (verify_builtin): Likewise.
1060         (verify_generic_builtin): Likewise, no integrated in verify_builtin.
1061         (verify_basic_block): Moved field instruction verification to a
1062         separate file.
1063         
1064         * src/vm/jit/verify/typecheck-invoke.inc: New file.
1065         * src/vm/jit/verify/typecheck-fields.inc: New file.
1066         * src/vm/jit/verify/typecheck-builtins.inc: New file.
1067         
1068         * src/vm/jit/verify/Makefile.am: Added new source files.
1069
1070 2006-10-11 19:43  edwin
1071
1072         * src/cacaoh/headers.c (typeinfo_print_short): Stub added.
1073
1074 2006-10-11 19:42  edwin
1075
1076         * src/vm/jit/verify/typeinfo.c (typeinfo_init_component): Fixed for
1077         the case that srcarray == dst. (The mergedlist was overwritten with
1078         NULL in this case.)
1079
1080 2006-10-11 19:40  edwin
1081
1082         * src/vm/resolve.c, src/vm/resolve.h
1083         (resolve_method_param_type_checks_stackbased): New function.
1084         (resolve_constrain_unresolved_method_params_stackbased): Likewise.
1085
1086 2006-10-11 16:31  edwin
1087
1088         *
1089         tests/regression/jasmin/test_verify_fail_athrow_wrong_reftype_unresolved.j:
1090         New test.
1091         
1092         * tests/regression/jasmin/test_verify_fail_athrow_wrong_reftype.j:
1093         New test.
1094         
1095         * tests/regression/jasmin/Makefile.am: Added new tests.
1096
1097 2006-10-11 16:21  edwin
1098
1099         * tests/regression/jasmin/test_verify_fail_areturn_wrong_reftype.j:
1100         New test.
1101         
1102         * tests/regression/jasmin/test_verify_fail_invoke_return_basic_type.j:
1103         New test.
1104         
1105         * tests/regression/jasmin/test_verify_fail_ireturn_wrong_type.j: New
1106         test.
1107         
1108         * tests/regression/jasmin/Makefile.am: Added new tests.
1109
1110 2006-10-11 10:17  edwin
1111
1112         * tests/regression/jasmin/test_verify_fail_handler_bad_local.j: new
1113         test.
1114         
1115         * tests/regression/jasmin/Makefile.am: Added new test.
1116
1117 2006-10-10 21:16  edwin
1118
1119         * tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j:
1120         Added expected error.
1121         
1122         * tests/regression/jasmin/test_verify_fail_jsr_recursion.j: Likewise.
1123         
1124         * tests/regression/jasmin/test_verify_ok_jsr_improper_nesting.j: New
1125         test.
1126         
1127         * tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j: New
1128         test.
1129         
1130         * tests/regression/jasmin/Makefile.am: Added new tests.
1131
1132 2006-10-10 20:45  edwin
1133
1134         *
1135         tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j:
1136         New test.
1137         
1138         * tests/regression/jasmin/Makefile.am: Added new test.
1139
1140 2006-10-10 20:31  edwin
1141
1142         * tests/regression/jasmin/test_verify_fail_jsr_recursion.j: New test.
1143         
1144         * tests/regression/jasmin/Makefile.am: Added new test.
1145
1146 2006-10-10 00:29  edwin
1147
1148         * src/vm/resolve.c, src/vm/resolve.h (constrain_unresolved_method):
1149         Split into two new functions.
1150         
1151         (resolve_constrain_unresolved_method_instance): New function.
1152         (resolve_constrain_unresolved_method_params): Likewise.
1153         
1154         * src/vm/jit/verify/typecheck.c (verify_invocation): Use new
1155         functions.
1156
1157 2006-10-09 23:53  edwin
1158
1159         * src/vm/resolve.c (resolve_method_type_checks): Split up into
1160         two new functions.
1161         
1162         (resolve_method_instance_type_checks): New function.
1163         
1164         (resolve_method_param_type_checks): New function.
1165         
1166         * src/vm/resolve.h (resolve_method_type_checks): Removed.
1167         (resolve_method_instance_type_checks): New function.
1168         (resolve_method_param_type_checks): New function.
1169         
1170         * src/vm/jit/verify/typecheck.c (verify_invocation): Call
1171         resolve_method_instance_type_checks and
1172         resolve_method_param_type_checks.
1173
1174 2006-10-09 23:21  edwin
1175
1176         * src/vm/resolve.c (resolve_method_verifier_checks): Removed unused
1177         variable. Removed unclear assertion.
1178
1179 2006-10-09 23:17  edwin
1180
1181         * src/vm/resolve.c (resolve_method_verifier_checks): Removed unused
1182         arguments.
1183         
1184         (resolve_method): Changed arguments to resolve_method_verifier_checks.
1185         
1186         * src/vm/resolve.h (resolve_method_verifier_checks): Removed unused
1187         arguments.
1188         
1189         * src/vm/jit/verify/typecheck.c (verify_invocation): Changed
1190         arguments to resolve_method_verifier_checks.
1191
1192 2006-10-09 23:06  edwin
1193
1194         * src/vm/resolve.c (resolve_method_verifier_checks): Factored out
1195         parameter type checks into a separate function.
1196         
1197         (resolve_method_type_checks): New function.
1198         
1199         * src/vm/resolve.h (resolve_method_type_checks): New function.
1200         
1201         * src/vm/jit/verify/typecheck.c (verify_invocation): Call
1202         resolve_method_type_checks.
1203
1204 2006-10-09 22:19  edwin
1205
1206         * src/vm/resolve.c (resolve_method_verifier_checks): Factored out
1207         loading constraints into a separate function.
1208         
1209         (resolve_method_loading_constraints): New function.
1210         
1211         (resolve_method): Call resolve_method_loading_constraints.
1212         
1213         * src/vm/resolve.h (resolve_method_loading_constraints): New function.
1214         
1215         * src/vm/jit/verify/typecheck.c (verify_invocation): Call
1216         resolve_method_loading_constraints.
1217
1218 2006-10-09 17:08  edwin
1219
1220         * src/vm/resolve.c (resolve_method_lazy): Removed dependence on
1221         instruction format. Do not perform verifier checks. (Caller will
1222         do these.)
1223         
1224         (create_unresolved_method): Renamed to
1225         resolve_create_unresolved_method. Changed arguments.
1226         
1227         * src/vm/resolve.h (create_unresolved_method): Renamed to
1228         resolve_create_unresolved_method. Changed arguments.
1229         
1230         (resolve_method_lazy): Changed arguments.
1231         
1232         (resolve_method_verifier_checks): Export.
1233         
1234         * src/vm/jit/verify/typecheck.c (verify_invocation): Adapted
1235         to changed resolve functions. Call resolve_method_verifier_checks.
1236         Do promotion from INVOKEVIRTUAL to INVOKESPECIAL here.
1237         
1238         * src/vm/jit/parse.c (parse): Adapted to changed resolve functions.
1239         Do promotion from INVOKEVIRTUAL to INVOKESPECIAL here.
1240
1241 2006-10-09 15:42  edwin
1242
1243         * src/vm/resolve.c (resolve_field_verifier_checks): Removed dependence
1244         on instruction format.
1245         
1246         (resolve_field_lazy): Pass field reference, instead of instruction.
1247         Do not perform verification checks here. (Caller will do them.)
1248         
1249         (resolve_field): Adapted to changed resolve_field_verifier_checks.
1250         
1251         (create_unresolved_field): Renamed to resolve_create_unresolved_field.
1252         
1253         (constrain_unresolved_field): Renamed to
1254         resolve_constrain_unresolved_field. Removed dependence on instruction
1255         format.
1256         
1257         * src/vm/resolve.h (create_unresolved_field): Renamed to
1258         resolve_create_unresolved_field.
1259         
1260         (resolve_field_lazy): Changed arguments.
1261         
1262         (resolve_field_verifier_checks): Export.
1263         
1264         (constrain_unresolved_field): Renamed to
1265         resolve_constrain_unresolved_field. Changed arguments.
1266         
1267         * src/vm/jit/verify/typecheck.c (typecheck): Moved instruction set
1268         dependent parts of resolve functions into typecheck.
1269         
1270         * src/vm/jit/parse.c (resolve_field_lazy): Changed arguments.
1271         (create_unresolved_field): Renamed.
1272
1273 2006-10-08 22:49  edwin
1274
1275         *
1276         test/regression/jasmin/test_verify_ok_jsr_subroutine_loops_to_start.j:
1277         New test.
1278         
1279         * test/regression/jasmin/test.j: Small cleanup.
1280         
1281         * test/regression/jasmin/Makefile.am: Added new test.
1282
1283 2006-10-08 11:39  edwin
1284
1285         * src/vm/jit/stack.c: Verify that subroutines are not merged.
1286         (SBRSTART): New macro.
1287         (COPY_VAL_AND_TYPE_VAR): New macro, propagate SBRSTART.
1288         (COPY_VAL_AND_TYPE): Use COPY_VAL_AND_TYPE_VAR.
1289         (stack_create_invars): Cleaned up, use COPY_VAL_AND_TYPE_VAR.
1290         (stack_create_invars_from_outvars): Use COPY_VAL_AND_TYPE_VAR.
1291         (stack_check_invars): Check against merging of subroutines. Wrapped
1292         verifier checks in #if defined(ENABLE_VERIFIER).
1293         (stack_check_invars_from_outvars): Likewise.
1294         (stack_reanalyse_block): Wrapped verifier checks in
1295         #if defined(ENABLE_VERIFIER).
1296         (stack_analyse): Prepare a real variable for the handler stack.
1297         Implemented re-analysing of blocks. Set SBRSTART for JSR.
1298         
1299         * src/vm/jit/parse.c (parse): Reserve extra variables needed by
1300         stack_analyse.
1301         
1302         * src/vm/global.h (STACK_EXTRA_VARS): New macro.
1303
1304 2006-10-08 10:51  edwin
1305
1306         * src/vm/jit/show.c (show_basicblock): Removed extra newline.
1307
1308 2006-10-08 00:07  edwin
1309
1310         *
1311         tests/regression/jasmin/test_verify_fail_jsr_merge_subroutines_via_stack.j:
1312         New test.
1313         
1314         * tests/regression/jasmin/Makefile.am: Added new test.
1315
1316 2006-10-07 23:56  edwin
1317
1318         * src/vm/jit/cfg.c (cfg_build): Fixed a bug causing infinite loops.
1319         
1320         * src/vm/jit/parse.c (parse): Always add a NOP at block ends. This is
1321         needed by the JSR elimination in stack.c.
1322         
1323         * tests/regression/jasmin/test_verify_fail_jsr_merge_subroutines.j:
1324         New test.
1325         
1326         * tests/regression/jasmin/Makefile.am: Added new test.
1327
1328 2006-10-07 23:02  edwin
1329
1330         * tests/regression/jasmin/test_verify_fail_jsr_polymorphic_pop.j:
1331         New test.
1332         
1333         * tests/regression/jasmin/Makefile.am: Added new test.
1334         
1335         * src/vm/jit/stack.c (stack_check_invars): Fixed bug exposed by the
1336         new test.
1337         (stack_check_invars_from_outvars): Likewise.
1338
1339 2006-10-07 22:34  edwin
1340
1341         *
1342         tests/regression/jasmin/test_verify_fail_jsr_called_with_different_stackdepths.j:
1343         New test.
1344         * tests/regression/jasmin/Makefile.am: Added new test.
1345
1346 2006-10-07 12:54  edwin
1347
1348         * src/vm/jit/stack.c (GET_NEW_VAR): Fixed macro argument.
1349         
1350         (SET_TEMPVAR): Call new function stack_change_to_tempvar.
1351         
1352         (stack_change_to_tempvar): New function.
1353         
1354         (stack_analyse): Mark pass-through stackslots of INVOKEs instead of
1355         resetting them to TEMPVARs.
1356         
1357         * src/vm/jit/jit.h (PASSTHROUGH): New flag.
1358
1359 2006-10-07 10:22  edwin
1360
1361         * src/vm/jit/allocator/simplereg.c: Implemented REG_INDEX for
1362         architectures with address register file.
1363
1364 2006-10-07 09:44  edwin
1365
1366         * src/vm/jit/allocator/simplereg.c
1367         (simplereg_allocate_locals_leafmethod): Fixed declaration after code.
1368
1369 2006-10-07 00:06  edwin
1370
1371         * src/vm/jit/allocator/simplereg.c (simplereg_allocate_interface):
1372         Copy all flags except SAVEDVAR when reusing an interface slot.
1373
1374 2006-10-06 23:58  edwin
1375
1376         * src/vm/jit/allocator/simplereg.c: Cleaned up memory slot allocation.
1377
1378 2006-10-06 23:41  edwin
1379
1380         * src/vm/jit/allocator/simplereg.c (simplereg_allocate_interfaces):
1381         Fixed
1382         indentation.
1383
1384 2006-10-06 23:03  edwin
1385
1386         * src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
1387         Minor cleanup, use SIMPLEREG_REG_INDEX.
1388
1389 2006-10-06 22:37  edwin
1390
1391         * src/vm/jit/allocator/simplereg.c: Reuse interface registers in
1392         blocks
1393         that don't need them. Abstracted out the free register stacks with
1394         macros. Major code cleanup.
1395         
1396         * src/vm/jit/allocator/simplereg.h (reg_make_statistics): Renamed to
1397         simplereg_make_statistics.
1398         
1399         * src/vm/jit/reg.h (registerdata): Added fields `adrusedinout`,
1400         `intusedinout`, `fltusedinout`, and `regisoutvar`.
1401         
1402         * src/vm/jit/jit.c (simplereg_make_statistics): Renamed to
1403         simplereg_make_statistics.
1404         
1405         * src/vm/jit/jit.h (SAVEDTMP): Renamed to SAVREG.
1406         (TMPARG): Renamed to ARGREG.
1407         (STCOPY): Removed.
1408         (STKEEP): Removed.
1409
1410 2006-10-06 21:30  edwin
1411
1412         * src/vm/jit/stack.c (stack_analyse): Do not set argintreguse to
1413         a value > INT_ARG_CNT, as this breaks some new code that will
1414         later be committed to simplereg.c, and does not make sense, anyway.
1415
1416 2006-10-06 20:11  edwin
1417
1418         * src/vm/jit/intrp/Makefile.am (Changes): Added my name.
1419
1420 2006-10-06 20:09  edwin
1421
1422         * src/vm/jit/show.h (show_variable): Made global.
1423         (show_variable_array): Likewise.
1424         
1425         * src/vm/jit/show.c (show_variable): Likewise.
1426         (show_variable_array): Likewise.
1427
1428 2006-10-05 20:30  edwin
1429
1430         * src/threads/native/threads.c (threads_attach_current_thread): Rename
1431         left-over `t` to `thread` in interpreter code.
1432
1433 2006-10-05 20:21  edwin
1434
1435         * src/vm/jit/codegen-common.c: Include vm/jit/intrp/intrp.h to prevent
1436         a warning.
1437
1438 2006-10-05 20:18  edwin
1439
1440         * src/vm/jit/intrp/intrp.h: Added missing prototypes.
1441         
1442         * src/vm/jit/intrp/engine.c: Comment unused variable `ca1`.
1443         
1444         * src/vm/jit/intrp/java.vmg: Mark the variables `currentsp` as
1445         MAYBE_UNUSED.
1446
1447 2006-10-05 20:04  edwin
1448
1449         * src/vm/jit/intrp/intrp.h: Cleaned up. Defined missing prototypes.
1450         
1451         * src/vm/jit/intrp/java.vmg: Defined "afi" type prefix.
1452
1453 2006-10-05 19:36  edwin
1454
1455         * src/vm/jit/intrp/peephole.c: Include interpreter files using < >
1456         instead of " ", so they are only searched for in the include path.
1457         This avoids using the wrong include files when compiling in a
1458         buildir.
1459         
1460         * src/vm/jit/intrp/codegen.c: Likewise.
1461         * src/vm/jit/intrp/engine.c: Likewise.
1462         * src/vm/jit/intrp/disasm.c: Likewise.
1463         * src/vm/jit/intrp/dynamic-super.c: Likewise.
1464         
1465         * src/vm/jit/intrp/vmgenx: Fixed to work with builddir, and cleaned
1466         up.
1467         
1468         * src/vm/jit/intrp/Makefile.am: Fixed dependencies for builddir.
1469
1470 2006-10-05 17:52  edwin
1471
1472         * src/vm/jit/intrp/engine.c (Changes): Added my name.
1473         (vim boilerplate): Added.
1474
1475 2006-10-05 17:28  twisti
1476
1477         * src/native/jni.c (jni_attach_current_thread): New help function.
1478         (_Jv_JNI_AttachCurrentThread): Use helper function.
1479         (_Jv_JNI_AttachCurrentThreadAsDaemon): Likewise.
1480         (_Jv_JNI_DetachCurrentThread): Implemented.
1481         
1482         * src/threads/native/threads.c (method_thread_init)
1483         (method_threadgroup_add_: Made static.
1484         (threads_init): Code rearranged.
1485         (threads_startup_thread): Removed thread detach code and call
1486         threads_detach_thread.
1487         (threads_detach_thread): New function.
1488         
1489         * src/threads/native/threads.h (threads_detach_thread): Added.
1490
1491 2006-10-05 17:23  twisti
1492
1493         * src/vm/utf8.c (utf_removeThread, utf_java_lang_Thread__V): Added.
1494         (utf8_init): Initialize new strings.
1495         * src/vm/utf8.h (utf_removeThread, utf_java_lang_Thread__V): Added.
1496
1497 2006-10-05 16:28  edwin
1498
1499         * src/vm/vm.c (vm_create): Turn off the verifier for -Xint.
1500
1501 2006-10-05 16:18  edwin
1502
1503         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Style fix.
1504
1505 2006-10-05 16:12  edwin
1506
1507         * src/vm/jit/intrp/codegen.c (codegen): Save synchronized object in
1508         a special stackslot and use it for monitorexit.
1509         
1510         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): When
1511         unwinding a synchronized method, exit the monitor.
1512
1513 2006-10-05 15:43  edwin
1514
1515         * src/vm/jit/intrp/codegen.c (codegen): Reserve an extra stackslot in
1516         synchronized methods.
1517         (intrp_createcompilerstub): Likewise.
1518         (intrp_createnativestub): Use stackframesize for clarity.
1519
1520 2006-10-05 15:33  edwin
1521
1522         * src/vm/jit/intrp/codegen.c (codegen): Separate stackframesize from
1523         the number of local variables.
1524         (intrp_createcompilerstub): Likewise.
1525         
1526         * src/vm/jit/intrp/engine.c (MAXLOCALS): Changed to FRAMESIZE.
1527         
1528         * src/vm/jit/intrp/java.vmg (INVOKEVIRTUAL): Use FRAMESIZE.
1529         (INVOKESTATIC): Likewise.
1530         (INVOKESPECIAL): Likewise.
1531         (INVOKEINTERFACE): Likewise.
1532
1533 2006-10-05 14:13  twisti
1534
1535         * src/native/jni.c (jni_init_localref_table): New function.
1536         (AttachCurrentThread): Implemented.
1537         (JNI_CreateJavaVM): Use jni_init_localref_table.
1538         
1539         * src/threads/native/threads.c (method_thread_init)
1540         (method_threadgroup_add): New global variables.
1541         (threads_init): Store methods resolved in global variables.
1542         (threads_attach_current_thread): New function.
1543         
1544         * src/threads/native/threads.h (MIN_PRIORITY, NORM_PRIORITY)
1545         (MAX_PRIORITY): Defined.
1546         (threads_attach_current_thread): New function.
1547
1548 2006-10-05 12:23  edwin
1549
1550         * src/vm/jit/intrp/java.vmg (TRACECALL): Implemented for 32-bit
1551         architectures.
1552
1553 2006-10-05 10:50  edwin
1554
1555         * src/vm/jit/intrp/codegen.c (codegen): Fix off-by-one error in len
1556         tests of optimizations.
1557
1558 2006-10-05 10:41  edwin
1559
1560         * src/vm/jit/show.c (show_icmd): Show constant operand of IFxx, and
1561         IF_Lxx.
1562
1563 2006-10-05 10:39  edwin
1564
1565         * src/vm/jit/show.c (show_basicblock): Fixed deadcode check.
1566         
1567         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Clear
1568         global_sp.
1569
1570 2006-10-05 09:04  twisti
1571
1572         * src/vm/jit/powerpc/emit.c (emit_verbosecall_enter): Darwin build
1573         fixes.
1574
1575 2006-10-05 00:21  edwin
1576
1577         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Fixed for
1578         catch-all handlers.
1579
1580 2006-10-05 00:06  edwin
1581
1582         * src/vm/jit/show.c (show_method): Adapted to interpreter.
1583         (show_basicblock): Likewise.
1584         
1585         * src/vm/jit/intrp/disass.c (intrp_disassinstr): Write disassembly to
1586         stdout.
1587         (intrp_disassemble): Likewise.
1588
1589 2006-10-04 23:08  edwin
1590
1591         * tests/regression/jctest.java: Also test division/remainder with
1592         constant divisor 1.
1593         
1594         * tests/regression/jctest.output: Updated test output.
1595
1596 2006-10-04 23:05  edwin
1597
1598         * src/vm/jit/intrp/codegen.c (codegen): Don't ?DIVPOW2 with value 1.
1599         The optimization produces the wrong result in this case.
1600
1601 2006-10-04 22:53  edwin
1602
1603         * src/vm/jit/intrp/codegen.c (codegen): Implemented IDIVPOW2 and
1604         LDIVPOW2 optimizations.
1605
1606 2006-10-04 22:39  edwin
1607
1608         * src/vm/jit/intrp/codegen.c (codegen): Implemented IREMPOW2 and
1609         LREMPOW2 optimizations.
1610
1611 2006-10-04 22:12  edwin
1612
1613         * src/vm/jit/intrp/codegen.c (codegen): Implement optimization of
1614         comparisons.
1615
1616 2006-10-04 20:44  edwin
1617
1618         * src/vm/jit/allocator/simplereg.c (reg_free_temp_func): Fixed indices
1619         into regcopycount array.
1620         (allocate_scratch_registers): Likewise.
1621
1622 2006-10-04 20:02  edwin
1623
1624         * src/vm/jit/intrp/codegen.c (codegen): #if 0-ed optimized ICMDs that
1625         are currently not used. In order to use these instructions, we could
1626         either add the optimization checks directly to codegen.c, or introduce
1627         a special pass between parse and intrp_codegen which replaces the
1628         instructions.
1629
1630 2006-10-04 19:47  edwin
1631
1632         * src/vm/jit/intrp/codegen.c (codegen): Removed unoptimized *CONST
1633         instructions. Since stack_analyse is no longer performed before the
1634         interpreter codegen, these instructions cannot occur.
1635
1636 2006-10-04 19:38  edwin
1637
1638         * src/vm/jit/stack.c: Removed interpreter-specific code.
1639
1640 2006-10-04 18:44  edwin
1641
1642         * src/threads/native/lock.c (lock_monitor_exit): Check for NULL
1643         object.
1644         There is no guarantee that MONITORENTER/EXITs are properly nested, so
1645         we cannot rely on the check in lock_monitor_enter here.
1646
1647 2006-10-04 18:39  edwin
1648
1649         * tests/regression/jasmin/test_nullpointerexception_monitorexit.j:
1650         Fixed test case, so it passes if the exception is thrown.
1651
1652 2006-10-04 18:35  edwin
1653
1654         * tests/regression/jasmin/test_nullpointerexception_monitorexit.j:
1655         New test.
1656         
1657         * tests/regression/jasmin/Makefile.am: Added
1658         test_nullpointerexception_monitorexit.j.
1659
1660 2006-10-04 18:25  edwin
1661
1662         * tests/regression/jasmin/Makefile.am: Properly quote variables.
1663
1664 2006-10-04 18:23  edwin
1665
1666         * src/vm/jit/intrp/engine.c (THROW_CLASSCASTEXCEPTION): Really throw a
1667         ClassCastException, not a NullPointerException.
1668         
1669         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Set
1670         global_sp, in case the resolving of the catchtype involves the
1671         execution of Java code.
1672         
1673         * src/vm/jit/intrp/java.vmg (MONITORENTER): Check for exception.
1674         (MONITOREXIT): Likewise.
1675
1676 2006-10-04 16:42  edwin
1677
1678         * src/vm/jit/intrp/java.vmg (LOOKUPSWITCH): No point in using >= 0 on
1679         an unsigned variable.
1680
1681 2006-10-04 16:01  edwin
1682
1683         * src/vm/jit/intrp/codegen.c (nativecall): Store return valud of
1684         codegen_finish_native_call in *exceptionptr.
1685         
1686         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Resolve
1687         unresolved catchtype references.
1688
1689 2006-10-04 15:14  edwin
1690
1691         * src/vm/jit/intrp/codegen.c (codegen): Convert JavaPCs to block
1692         indices.
1693         Do not check for BBREACHED (not set by parse).
1694         (gen_branch): Convert JavaPCs to block indices.
1695         
1696         * src/vm/jit/intrp/java.vmg (RET): restored.
1697         
1698         * src/vm/jit/jit.c (jit_compile_intern): Do not perform stack_analyse
1699         and
1700         dependent passes for intrp.
1701
1702 2006-10-04 15:04  twisti
1703
1704         * src/vm/jit/intrp/md.c (intrp_md_init): Set vm_out to stderr.
1705         
1706         * src/vm/jit/intrp/engine.c (THROW_CLASSCASTEXCEPTION): Added.
1707         (engine): Handle ClassCastExceptions with argument.
1708         
1709         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Indent.
1710         
1711         * src/vm/jit/intrp/dynamic-super.c: Use LOCK_MONITOR_{ENTER,EXIT}
1712         macros.
1713         
1714         * src/vm/jit/intrp/patcher.c (intrp_patcher_invokestatic_special):
1715         Write back method pointer. I wonder how this ever worked before.
1716         (intrp_patcher_invokevirtual): Likewise.
1717         (intrp_patcher_invokeinterface): Likewise.
1718         
1719         * src/vm/jit/intrp/java.vmg (RET): Removed.
1720         (TABLESWITCH): Changed reading direction of cases. Don't know if that
1721         works: NOT TESTED!
1722         (CHECKCAST): Use THROW_CLASSCASTEXCEPTION.
1723         (ARRAYCHECKCAST): Likewise.
1724         (MONITORENTER): Likewise.
1725         (MONITOREXIT): Likewise.
1726
1727 2006-10-04 14:50  edwin
1728
1729         * src/vm/jit/intrp/dynamic-super.c (superreuse_insert): Use
1730         lock_monitor_ functions.
1731         (patchersuper_rewrite): Likewise.
1732         (hashtable_patchersupers_insert): Likewise.
1733
1734 2006-10-04 14:31  edwin
1735
1736         * src/vm/jit/intrp/codegen.c (codegen): Restored ICMD_RET to really
1737         perform a RET (JSR elimination will not be performed for intrp.)
1738         Removed a comment that does not apply any more.
1739
1740 2006-10-04 14:20  edwin
1741
1742         * src/vm/jit/intrp/java.vmg (builtin_monitorenter): Changed to
1743         lock_monitor_enter.
1744         (builtin_monitorexit): Changed to lock_monitor_exit.
1745
1746 2006-10-04 13:40  edwin
1747
1748         * src/vm/jit/intrp/codegen.c: Made it compile again.
1749
1750 2006-10-04 13:35  twisti
1751
1752         * src/vm/jit/intrp/codegen.c: New instruction format fixes.
1753
1754 2006-10-04 12:09  twisti
1755
1756         * configure.ac (AC_CONFIG_FILES): Removed src/scripts/rmic and
1757         src/scripts/rmiregistry.
1758         * src/scripts/Makefile.am (bin_SCRIPTS): Removed trailing \.
1759
1760 2006-10-04 10:37  twisti
1761
1762         * src/scripts/rmic.in: Removed.
1763         * src/scripts/rmiregistry.in: Likewise.
1764         
1765         * src/scripts/Makefile.am (bin_SCRIPTS) Removed rmi.in and
1766         rmiregistry.in.
1767         * src/scripts/.cvsignore: Likewise.
1768         
1769         * src/scripts/java.in: Don't call cacao with an absolute path, this
1770         would break WITH_JRE_LAYOUT. I think we can expect cacao to be in the
1771         PATH.
1772
1773 2006-10-04 10:10  twisti
1774
1775         * configure.ac (--with-jre-layout): Added.
1776         
1777         * src/vm/global.h (CLASSPATH_LIBRARY_PATH): Removed.
1778         
1779         * src/vm/vm.c [WITH_JRE_LAYOUT] (libgen.h, unistd.h): Added.
1780         (cacao_prefix, cacao_libjvm, classpath_libdir): New global variables.
1781         (version): Print gnu.classpath.boot.library.path instead of
1782         java.library.path as this is the interesting one.
1783         (vm_create): Added WITH_JRE_LAYOUT stuff.
1784         
1785         * src/vm/vm.h (stackbottom): Removed.
1786         (cacao_prefix, cacao_libjvm, classpath_libdir): Added.
1787         
1788         * src/cacao/cacao.c [WITH_JRE_LAYOUT] (errno.h, libgen.h, unistd.h):
1789         Added.
1790         (main): Added WITH_JRE_LAYOUT stuff.
1791         
1792         * src/native/vm/gnu_classpath_VMSystemProperties.c (vm/vm.h): Added.
1793         (preInit): Set env_java_home to cacao_prefix and
1794         gnu.classpath.boot.library.path to classpath_libdir.
1795         
1796         * src/native/native.c (native_init): Use cacao_libjvm in lt_dlopenext
1797         call.
1798
1799 2006-10-03 21:19  edwin
1800
1801         * src/vm/jit/jit.h (jitdata): Renamed c_debug_nr to c_block_nr. (Still
1802         not a good name. Should probably be removed entirely.)
1803         Added comments.
1804         
1805         * src/vm/method.h (c_debug_nr): Renamed to c_block_nr.
1806         * src/vm/jit/stack.c: Likewise.
1807         * src/vm/jit/loop/analyze.c: Likewise.
1808         * src/vm/jit/inline/inline.c: Likewise.
1809         * src/vm/jit/parse.c: Likewise.
1810
1811 2006-10-03 20:57  edwin
1812
1813         * src/vm/jit/powerpc/codegen.c: Removed new_ prefix from variable and
1814         field names.
1815         
1816         * src/vm/jit/cfg.c: Likewise.
1817         * src/vm/jit/sparc64/codegen.c: Likewise.
1818         * src/vm/jit/reorder.c: Likewise.
1819         * src/vm/jit/ifconv/ifconv.c: Likewise.
1820         * src/vm/jit/alpha/codegen.c: Likewise.
1821         * src/vm/jit/stack.c: Likewise.
1822         * src/vm/jit/stack.h: Likewise.
1823         * src/vm/jit/show.c: Likewise.
1824         * src/vm/jit/verify/typecheck.c: Likewise.
1825         * src/vm/jit/mips/codegen.c: Likewise.
1826         * src/vm/jit/allocator/simplereg.c: Likewise.
1827         * src/vm/jit/i386/codegen.c: Likewise.
1828         * src/vm/jit/powerpc64/codegen.c: Likewise.
1829         * src/vm/jit/parse.c: Likewise.
1830         * src/vm/jit/replace.c: Likewise.
1831         * src/vm/jit/x86_64/codegen.c: Likewise.
1832         * src/vm/jit/parse.h: Likewise.
1833         * src/vm/jit/jit.c: Likewise.
1834         * src/vm/jit/jit.h: Likewise.
1835
1836 2006-10-03 20:44  edwin
1837
1838         * src/vm/resolve.c: Removed new_ prefix from function names.
1839         * src/vm/resolve.h: Likewise.
1840         * src/vm/jit/stack.c: Likewise.
1841         * src/vm/jit/stack.h: Likewise.
1842         * src/vm/jit/show.c: Likewise.
1843         * src/vm/jit/verify/typecheck.c: Likewise.
1844         * src/vm/jit/show.h: Likewise.
1845         * src/vm/jit/allocator/simplereg.c: Likewise.
1846         * src/vm/jit/allocator/simplereg.h: Likewise.
1847         * src/vm/jit/parse.c: Likewise.
1848         * src/vm/jit/parse.h: Likewise.
1849         * src/vm/jit/jit.c: Likewise.
1850
1851 2006-10-03 20:27  edwin
1852
1853         * src/vm/jit/allocator/simplereg.c: Warning fixed.
1854
1855 2006-10-03 20:26  edwin
1856
1857         * src/vm/jit/i386/codegen.c (codegen): Use varindex as in other
1858         codegens.
1859
1860 2006-10-03 20:22  edwin
1861
1862         * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete stack depth
1863         checking code.
1864         
1865         * src/vm/jit/stack.h (CHECK_STACK_DEPTH): Removed macro.
1866
1867 2006-10-03 19:11  edwin
1868
1869         * src/vm/jit/powerpc64/codegen.c (codegen): Unified IINC and
1870         IADDCONST.
1871
1872 2006-10-03 18:50  edwin
1873
1874         * src/vm/jit/powerpc/codegen.c (codegen): Unify IINC and IADDCONST.
1875
1876 2006-10-03 18:34  edwin
1877
1878         * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Bugfix.
1879
1880 2006-10-03 18:21  twisti
1881
1882         * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): We don't
1883         need to strcpy the library variables. Don't know where this code came
1884         from.
1885
1886 2006-10-03 18:09  edwin
1887
1888         * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Make it
1889         compile again.
1890
1891 2006-10-03 17:44  edwin
1892
1893         Moved unified_variables branch to trunk.
1894
1895 2006-10-03 17:24  edwin
1896
1897         * tests/regression/jasmin/test_iinc.j: New test.
1898         
1899         * tests/regression/jasmin/Makefile.am: Added test_iinc.j
1900
1901 2006-10-03 16:42  edwin
1902
1903         Merged r5640 from trunk:
1904         
1905         * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Renamed
1906         md-emit.h to emit.h.
1907
1908 2006-10-03 16:32  edwin
1909
1910         * src/vm/jit/powerpc/codegen.c: Implemented ICMD_JSR like ICMD_GOTO.
1911         * src/vm/jit/powerpc64/codegen.c: Likewise.
1912         
1913         * src/vm/jit/alpha/codegen.c: Implemented ICMD_JSR like ICMD_GOTO.
1914         Unified ICMD_IINC and ICMD_IADDCONST.
1915         * src/vm/jit/mips/codegen.c: Likewise.
1916         * src/vm/jit/i386/codegen.c: Likewise.
1917         * src/vm/jit/x86_64/codegen.c: Likewise.
1918
1919 2006-10-02 19:24  edwin
1920
1921         Merged r5636, r5637, and r5638 from trunk:
1922         
1923         * src/native/tools/gennativetable.c: Made it work again.
1924         
1925         * tests/regression/jasmin/.cvsignore: New file.
1926         
1927         * src/vm/jit/powerpc/codegen.c (codegen): #if 0 replacement point
1928         code.
1929         
1930         * src/vm/jit/powerpc/emit.c [!NDEBUG] (emit_verbosecall_enter)
1931         (emit_verbosecall_exit): #ifdef'ed.
1932
1933 2006-10-02 16:36  christian
1934
1935         * src/vm/jit/alpha/md-abi.c (md_return_alloc): Activated return value
1936         stackslot registers precolouring again.
1937
1938 2006-10-02 14:18  edwin
1939
1940         * src/vm/jit/powerpc/netbsd/md-abi.c: Blindly ported to
1941         unified_variables.
1942         
1943         * src/vm/jit/powerpc/linux/md-abi.c: Cleaned up.
1944         * src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
1945         * src/vm/jit/alpha/md-abi.c: Likewise.
1946         * src/vm/jit/mips/md-abi.c: Likewise.
1947         * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
1948         * src/vm/jit/x86_64/md-abi.c: Likewise.
1949
1950 2006-10-02 13:59  edwin
1951
1952         * src/vm/jit/powerpc/codegen.c: Changed OUTVAR to INOUT.
1953         * src/vm/jit/alpha/codegen.c: Likewise.
1954         * src/vm/jit/stack.c: Likewise.
1955         * src/vm/jit/show.c: Likewise.
1956         * src/vm/jit/mips/codegen.c: Likewise.
1957         * src/vm/jit/allocator/simplereg.c: Likewise.
1958         * src/vm/jit/i386/codegen.c: Likewise.
1959         * src/vm/jit/powerpc64/codegen.c: Likewise.
1960         * src/vm/jit/x86_64/codegen.c: Likewise.
1961         * src/vm/jit/jit.h: Likewise.
1962
1963 2006-10-02 13:43  edwin
1964
1965         * src/vm/jit/alpha/codegen.h: Removed M_COPY.
1966         * src/vm/jit/mips/codegen.h: Likewise.
1967         * src/vm/jit/i386/codegen.h: Likewise.
1968         * src/vm/jit/powerpc64/codegen.h: Likewise.
1969         * src/vm/jit/x86_64/codegen.h: Likewise.
1970         
1971         * src/vm/jit/powerpc/codegen.c: Unified ICMD_RET with ICMD_GOTO.
1972         * src/vm/jit/alpha/codegen.c: Likewise.
1973         * src/vm/jit/mips/codegen.c: Likewise.
1974         * src/vm/jit/i386/codegen.c: Likewise.
1975         * src/vm/jit/powerpc64/codegen.c: Likewise.
1976         * src/vm/jit/intrp/codegen.c: Likewise.
1977         * src/vm/jit/x86_64/codegen.c: Likewise.
1978
1979 2006-10-02 13:26  edwin
1980
1981         * src/vm/jit/powerpc/codegen.c (codegen): Unified LOAD/STORE and
1982         COPY/MOVE instructions.
1983         
1984         * src/vm/jit/powerpc/codegen.h (M_COPY): Removed.
1985
1986 2006-10-02 13:16  edwin
1987
1988         * src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Cleaned up
1989         comments.
1990         * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Likewise.
1991         
1992         * src/vm/jit/powerpc/codegen.c (codegen): Removed obsolete call to
1993         codegen_reg_of_var.
1994         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
1995         * src/vm/jit/mips/codegen.c (codegen): Likewise.
1996         * src/vm/jit/i386/codegen.c (codegen): Likewise.
1997         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
1998         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
1999         
2000         * src/vm/jit/codegen-common.c (codegen_reg_of_var): Cleaned up.
2001         (codegen_reg_of_dst): Implemented using inline codegen_reg_of_var.
2002
2003 2006-10-02 12:10  edwin
2004
2005         Merged r5626 from trunk:
2006         
2007         * src/vm/jit/replace.c (replace_create_replacement_points): Return
2008         true.
2009
2010 2006-10-02 11:55  edwin
2011
2012         Merged r5624 from trunk:
2013         
2014         * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Remove argument
2015         stack frame in normal path.
2016
2017 2006-10-02 00:32  edwin
2018
2019         * src/vm/jit/alpha/codegen.c (codegen): Unified MOVE/COPY with
2020         LOAD/STORE instructions.
2021
2022 2006-10-02 00:08  edwin
2023
2024         * tests/regression/jasmin/runtest: Made it a bash script, so it works
2025         on crappy fp98.
2026
2027 2006-10-02 00:06  edwin
2028
2029         * tests/regression/jasmin/runtest: Do not use grep -o.
2030
2031 2006-10-01 23:51  edwin
2032
2033         * src/vm/jit/mips/emit.c (emit_copy): Fixed arguments to
2034         codegen_reg_of_var.
2035         * src/vm/jit/powerpc64/emit.c (emit_copy): Likewise.
2036         
2037         * src/vm/jit/mips/codegen.c (codegen): Define varindex.
2038         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise. Fixed arguments
2039         to codegen_reg_of_var. Replaced codegen_reg_of_var with
2040         codegen_reg_of_dst.
2041
2042 2006-10-01 23:37  edwin
2043
2044         * src/vm/jit/powerpc64/codegen.c: Ported to unified_variables.
2045         * src/vm/jit/powerpc64/codegen.h: Likewise.
2046         * src/vm/jit/powerpc64/emit.c: Likewise.
2047         * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
2048
2049 2006-10-01 23:00  edwin
2050
2051         Merged r5616 from trunk:
2052         
2053         * src/native/jni.c: Prefix all JNI functions with _Jv_JNI_, as gcj
2054         does. This should prevent any linking problems.
2055
2056 2006-10-01 22:55  edwin
2057
2058         * src/vm/jit/mips/codegen.c: Ported to unified_variables.
2059         * src/vm/jit/mips/codegen.h: Likewise.
2060         * src/vm/jit/mips/emit.c: Likewise.
2061         * src/vm/jit/mips/md-abi.c: Likewise.
2062
2063 2006-10-01 20:52  edwin
2064
2065         * src/vm/jit/powerpc/codegen.c (codegen): Cleaned up unified_variables
2066         changes.
2067
2068 2006-10-01 20:49  edwin
2069
2070         * src/vm/jit/i386/codegen.c (codegen): Cleaned up unified_variables
2071         changes.
2072
2073 2006-10-01 20:42  edwin
2074
2075         * src/vm/jit/x86_64/codegen.c (codegen): Cleaned up unified_variables
2076         changes.
2077
2078 2006-10-01 20:37  edwin
2079
2080         * src/vm/jit/alpha/codegen.c (codegen): Cleaned up unified_variables
2081         changes.
2082
2083 2006-10-01 20:08  edwin
2084
2085         * tests/regression/jasmin/runtest: Use default JASMIN_JAR, if given.
2086
2087 2006-10-01 18:01  edwin
2088
2089         * src/vm/jit/codegen-common.c (codegen_reg_of_var): Fixed typo in
2090         ARM code.
2091
2092 2006-10-01 15:44  edwin
2093
2094         * src/vm/jit/verify/typeinfo.c (typevector_store_retaddr): Do not
2095         invalidate the variable at index i-1.
2096         (typevector_store_twoword): Removed.
2097
2098 2006-10-01 15:25  edwin
2099
2100         * src/vm/jit/verify/typecheck.c (typecheck): Added debug print of
2101         the reverse local map.
2102
2103 2006-10-01 14:43  edwin
2104
2105         * src/vm/vm.c (vm_compile_all): Only use if !defined(NDEBUG).
2106         (vm_compile_method): Likewise.
2107
2108 2006-10-01 14:37  edwin
2109
2110         * src/vm/jit/verify/typeinfo.h: Disabled TYPECHECK_VERBOSE.
2111
2112 2006-09-30 23:28  edwin
2113
2114         * src/vm/jit/jit.c (jit_compile_intern): Removed commented out
2115         debugging code.
2116
2117 2006-09-30 23:12  edwin
2118
2119         * src/vm/jit/allocator/simplereg.c (reg_new_temp): Simplified.
2120         (reg_free_temp): Formatted.
2121
2122 2006-09-30 23:06  edwin
2123
2124         * src/vm/jit/powerpc/linux/md-abi.c: Use VAR and VAROP macros.
2125         * src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
2126         * src/vm/jit/alpha/codegen.c: Likewise.
2127         * src/vm/jit/alpha/codegen.h: Likewise.
2128         * src/vm/jit/alpha/md-abi.c: Likewise.
2129         * src/vm/jit/show.c: Likewise.
2130         * src/vm/jit/verify/typecheck.c: Likewise.
2131         * src/vm/jit/allocator/simplereg.c: Likewise.
2132         * src/vm/jit/i386/codegen.h: Likewise.
2133         * src/vm/jit/parse.c: Likewise.
2134         * src/vm/jit/x86_64/emit.c: Likewise.
2135         * src/vm/jit/x86_64/codegen.c: Likewise.
2136         * src/vm/jit/x86_64/codegen.h: Likewise.
2137         * src/vm/jit/x86_64/md-abi.c: Likewise.
2138         * src/vm/jit/codegen-common.c: Likewise.
2139
2140 2006-09-30 22:45  edwin
2141
2142         * src/vm/jit/i386/codegen.c (codegen): Use VAR and VAROP macros.
2143         (codegen_insert_phi_moves): Likewise.
2144
2145 2006-09-30 22:24  edwin
2146
2147         Merged r5591 from trunk:
2148         
2149         * src/native/jni.c (GetVersion): Prefixed with _Jv_, we should do that
2150         with all JNI functions.
2151
2152 2006-09-30 22:22  edwin
2153
2154         Merged r5589 and r5590 from trunk:
2155         
2156         * configure.ac: Fixed CFLAGS for cygwin.
2157         * src/threads/native/threads.c: Inserted asserts for cygwin.
2158         * src/vm/jit/i386/cygwin/Makefile.am: See below.
2159         * src/vm/jit/i386/cygwin/md-asm.h: Added.
2160         * src/vm/jit/i386/cygwin/md-os.c: Inserted asserts.
2161         * src/vm/jit/i386/cygwin/ucontext.c: Added 3rd party file.
2162         * src/vm/jit/i386/cygwin/ucontext.h: Added 3rd party file.
2163         
2164         
2165         * src/cacao/.cvsignore, src/cacaoh/.cvsignore,
2166         src/vm/jit/tools/.cvsignore: Added ignores for cygwin and
2167         modified properties accordingly.
2168
2169 2006-09-30 11:04  christian
2170
2171         * src/vm/jit/alpha/codegen.c (codegen): Changed to use the macros VAR
2172         and VAROP.
2173
2174 2006-09-30 10:16  christian
2175
2176         * src/vm/jit/x86_64/codegen.c (codegen): Changed to use the macros
2177         VAR and VAROP.
2178
2179 2006-09-29 14:02  edwin
2180
2181         * src/vm/jit/allocator/simplereg.c (reg_free_temp_func): Handle
2182         packed registers.
2183         (new_allocate_scratch_registers): Likewise.
2184
2185 2006-09-29 13:33  edwin
2186
2187         Merged r5540 from trunk:
2188         
2189         * configure.ac: Cygwin OS dir added.
2190         * src\lib\Makefile.am: Now checks for "zip.exe" as well
2191         * src\vm\jit\i386\Makefile.am: Added Cygwin OS dir.
2192         * src\vm\jit\i386\cygwin\Makefile.am: Added.
2193         * src\vm\jit\i386\cygwin\md-os.c: Added. Only contains
2194         dummy signal handlers.
2195         * src\vm\builtin.c: Undefine Bias for Cygwin because
2196         Windows uses this define.
2197         * src\vm\signal.c: No signal handlers for Cygwin.
2198
2199 2006-09-29 12:46  edwin
2200
2201         Merged r5573, r5574, r5577, r5578, and r5579 from trunk.
2202         
2203         * src/cacao/cacao.c (vm/vm.h): Added.
2204         * src/cacao/Makefile.am [!ENABLE_LIBJVM] (CACAO_LIB): Link libjvm.la.
2205         
2206         
2207         * src/vm/jit/powerpc/darwin/md-asm.h (md_codegen_get_pv_from_pc):
2208         Added stub define.
2209         * src/vm/jit/powerpc/asmpart.S (L_md_codegen_get_pv_from_pc$stub):
2210         Added.
2211         
2212         
2213         * src/cacaoh/cacaoh.c (cacaoh_options_prepare): Set nOptions, this was
2214         deleted accidentally.
2215         
2216         
2217         * src/vm/vm.c (vm_create): Added installation of exit handler.
2218         (vm_run): New function.
2219         (vm_get_mainclass_from_jar): Likewise.
2220         (vm_compile_all): Likewise.
2221         (vm_compile_method): Likewise.
2222         * src/vm/vm.h (vm_run): New function.
2223         
2224         * src/vm/options.c (options_prepare): Removed.
2225         * src/vm/options.h (options_prepare): Likewise.
2226         
2227         * src/cacao/cacao.c (getmainclassnamefromjar): Removed.
2228         (main): Moved most stuff to vm-functions and load libjvm with dlopen
2229         and resolve symbols for ENABLE_LIBJVM.
2230         (cacao_options_prepare): New function.
2231         
2232         * src/cacao/Makefile.am (CACAO_LIBS): New variable.
2233         (cacao_LDADD): Use CACAO_LIBS.
2234         
2235         * src/native/native.c (native_init): Set mainhandle to libjvm for
2236         ENABLE_LIBJVM.
2237         
2238         * src/cacaoh/cacaoh.c (cacaoh_prepare_options): New function.
2239         
2240         
2241         * src/native/jni.c (JNI_CreateJavaVM): Renamed jvm to vm.
2242
2243 2006-09-28 22:33  edwin
2244
2245         * src/vm/jit/powerpc64: Merged changes from r5403 to r5548 from trunk.
2246
2247 2006-09-28 20:56  edwin
2248
2249         * src/vm/jit/i386/cygwin: Copied directory from trunk.
2250
2251 2006-09-28 20:38  edwin
2252
2253         Merged r5547 from trunk:
2254         
2255         * src/native/jni.c (FindClass): Removed architecture #ifdef's.
2256
2257 2006-09-28 20:33  edwin
2258
2259         Merged r5543 from trunk:
2260         
2261         * src/vm/jit/sparc64/codegen.c: Completed port to new instruction
2262         format.
2263         * src/vm/jit/sparc64/md-abi.h: Likewise.
2264         * src/vm/jit/sparc64/emit.c: Likewise.
2265
2266 2006-09-28 20:31  edwin
2267
2268         Merged r5541 from trunk:
2269         
2270         * src/vm/jit/powerpc/emit.c (vm/jit/emit.h): Renamed to
2271         vm/jit/emit-common.h.
2272         (emit_load_s1, emit_load_s2, emit_load_s3, emit_load_s1_low)
2273         (emit_load_s2_low, emit_load_s3_low, emit_load_s1_high)
2274         (emit_load_s2_high, emit_load_s3_high) (emit_store_dst): Removed.
2275         
2276         * src/vm/jit/powerpc/codegen.c (vm/jit/emit.h): Renamed to
2277         vm/jit/emit-common.h.
2278
2279 2006-09-28 20:29  edwin
2280
2281         Merged r5540 and r5542 from trunk:
2282         
2283         * configure.ac: Cygwin OS dir added.
2284         * src\lib\Makefile.am: Now checks for "zip.exe" as well
2285         * src\vm\jit\i386\Makefile.am: Added Cygwin OS dir.
2286         * src\vm\jit\i386\cygwin\Makefile.am: Added.
2287         * src\vm\jit\i386\cygwin\md-os.c: Added. Only contains
2288         dummy signal handlers.
2289         * src\vm\builtin.c: Undefine Bias for Cygwin because
2290         Windows uses this define.
2291         * src\vm\signal.c: No signal handlers for Cygwin.
2292         
2293         * src/vm/jit/i386/cygwin/.cvsignore: New file.
2294
2295 2006-09-28 20:23  edwin
2296
2297         Merged r5539 from trunk:
2298         
2299         * src/vm/jit/mips/emit.c (emit_exception_stubs): Don't use
2300         SIZEOF_VOID_P for getting return address, this is wrong on MIPS32.
2301         * src/vm/jit/mips/codegen.c (createnativestub): Likewise.
2302
2303 2006-09-28 20:20  edwin
2304
2305         Merged r5538 from trunk:
2306         
2307         * src/native/native.c (native_insert_char): New function.
2308         (native_resolve_function): Use native_insert_char function to fill
2309         name buffer.
2310
2311 2006-09-28 20:19  edwin
2312
2313         Merged r5537 from trunk:
2314         
2315         * src/vm/jit/mips/codegen.c (codegen): Make fieldinfo,
2316         unresolved_field local variables, better code for ICMD_PUTFIELD.
2317
2318 2006-09-28 20:18  edwin
2319
2320         Merged r5536 from trunk:
2321         
2322         * src/vm/jit/mips/emit.c (vm/jit/emit.h): Renamed to
2323         vm/jit/emit-common.h.
2324         (emit_load_s1, emit_load_s2, emit_load_s3, emit_store_dst): Removed.
2325         
2326         * src/vm/jit/mips/codegen.c (vm/jit/emit.h): Renamed to
2327         vm/jit/emit-common.h.
2328         (codegen): Some updates to field instructions.
2329
2330 2006-09-28 20:17  edwin
2331
2332         Merged r5535 from trunk:
2333         
2334         * src/vm/jit/mips/codegen.c (codegen): Moved ICMD_IREMPOW2 and
2335         ICMD_LREMPOW2.
2336
2337 2006-09-28 20:16  edwin
2338
2339         Merged r5534 from trunk:
2340         
2341         * src/vm/jit/alpha/emit.c (vm/jit/emit.h): Renamed to
2342         vm/jit/emit-common.h.
2343         (emit_load_s1, emit_load_s2, emit_load_s3, emit_store_dst): Removed.
2344         
2345         * src/vm/jit/alpha/codegen.c (vm/jit/emit.h): Renamed to
2346         vm/jit/emit-common.h.
2347
2348 2006-09-28 20:13  edwin
2349
2350         Merged r5531 and r5532, ported to unified_variables:
2351         
2352         * src/vm/jit/i386/md-emit.h: Renamed to src/vm/jit/i386/emit.h.
2353         
2354         * src/vm/jit/i386/emit.c (vm/jit/i386/md-emit.h): Renamed to
2355         vm/jit/i386/emit.h.
2356         (vm/jit/emit.h): Renamed to vm/jit/emit-common.h.
2357         (emit_load_s1, emit_load_s2, emit_load_s3, emit_load_s1_low)
2358         (emit_load_s2_low, emit_load_s1_high, emit_load_s2_high)
2359         (emit_store_dst): Removed.
2360         
2361         * src/vm/jit/i386/codegen.c (vm/jit/i386/md-emit.h): Renamed to
2362         vm/jit/i386/emit.h.
2363         (vm/jit/emit.h): Renamed to vm/jit/emit-common.h.
2364
2365 2006-09-28 19:53  edwin
2366
2367         Merged r5530 from trunk:
2368         
2369         * src/vm/jit/emit.h: Renamed to src/vm/jit/emit-common.h.
2370         * src/vm/jit/emit-common.c: New file.
2371         
2372         * src/vm/jit/Makefile.am (noinst_HEADERS): Removed emit.h.
2373         (libjit_la_SOURCES): Added emit-common.[ch].
2374         
2375         * src/vm/jit/x86_64/emit.c (emit_load_s1, emit_load_s2, emit_load_s3)
2376         (emit_store_dst): Removed.
2377         
2378         * src/vm/jit/x86_64/codegen.c: Changed include names.
2379
2380 2006-09-28 19:46  edwin
2381
2382         Merged r5529 from trunk:
2383         
2384         * src/vm/jit/x86_64/md-emit.h: Renamed to src/vm/jit/x86_64/emit.h.
2385
2386 2006-09-28 19:36  edwin
2387
2388         Merged r5527 from trunk:
2389         
2390         * src/native/include/.cvsignore: Added sun_misc_Unsafe.h.
2391
2392 2006-09-28 19:33  edwin
2393
2394         Merged r5526 from trunk:
2395         
2396         * src/native/vm/sun_misc_Unsafe.c: New file:
2397         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
2398         sun_misc_Unsafe.c.
2399         * src/native/include/Makefile.am (GEN_HEADER_FILES): Added
2400         sun_misc_Unsafe.h.
2401
2402 2006-09-28 19:31  edwin
2403
2404         Merged r5525 from trunk:
2405         
2406         * tests/regression/clinitexception.2output: Updated to GNU Classpath
2407         0.92.
2408         * tests/regression/extest.2output: Likewise.
2409
2410 2006-09-28 19:30  edwin
2411
2412         Merged r5509 from trunk:
2413         
2414         * src/vm/jit/show.c (new_show_basicblock): Print predecessors only for
2415         stage >= SHOW_CFG.
2416         * src/vm/jit/show.h (SHOW_CFG): Defined.
2417
2418 2006-09-28 19:24  edwin
2419
2420         Merged r5506 from trunk:
2421         
2422         * src/native/jni.c (GetDirectBufferAddress): Check if address is NULL.
2423
2424 2006-09-28 19:22  edwin
2425
2426         Merged r5502 from trunk, with additional fixes:
2427         
2428         * src/vm/jit/jit.c (jit_compile_intern): Moved cfg_build call after
2429         stack_analyse, because of JSR elimination.
2430         
2431         * src/vm/jit/cfg.c (cfg_build): Updated to be run after stack_analyse.
2432         
2433         Fixes:
2434         
2435         * src/vm/jit/cfg.c (cfg_build): Skip NOPs at the end of the block.
2436         Handle JSR and RET correctly. Use bptr->next in the default case
2437         of falling into the following block.
2438
2439 2006-09-28 18:45  edwin
2440
2441         Merged r5489 from trunk:
2442         
2443         * configure.ac (INTRP_CFLAGS): Moved a bit.
2444         * src/vm/jit/intrp/Makefile.am (CFLAGS): Don't define.
2445         (AM_CFLAGS): Define as INTRP_CFLAGS, that seems to be the correct way.
2446
2447 2006-09-28 18:42  edwin
2448
2449         * src/vm/jit/sparc64/codegen.c (codegen): Replaced catchtype.cls
2450         with catchtype.any to reflect that it can be a classref or a
2451         classinfo. (Also see r5488.)
2452
2453 2006-09-28 18:35  edwin
2454
2455         Merged r5476 from trunk:
2456         
2457         Merged sparc64 changes from trunk.
2458
2459 2006-09-28 18:31  edwin
2460
2461         Merged r5462 from trunk:
2462         
2463         * src/vm/jit/parse.c (new_parse): Added a ICMD_NOP at the end of each
2464         basic block, if we have reorder enabled.
2465
2466 2006-09-28 17:02  edwin
2467
2468         * src/vm/jit/reg.h (registerdata): New fields regcopycount,
2469         memcopycount, and memcopycountsize.
2470         
2471         * src/vm/jit/allocator/simplereg.c (reg_init_temp): Take jitdata
2472         argument, initialize copy counts.
2473         (reg_free_temp): Simplified a bit.
2474         (reg_free_temp_func): Check if freeing a copy.
2475         (reg_alloc_dup): New function.
2476         (new_allocate_scratch_registers): Implemented DUP coalescing using a
2477         copy count for each register/memory regoff.
2478
2479 2006-09-19 09:41  edwin
2480
2481         * tests/regression/jasmin/runtest: Display only the basename of tests.
2482         * tests/regression/jasmin/Makefile.am: Use $(srcdir) to locate the
2483         runtest script.
2484
2485 2006-09-15 20:18  edwin
2486
2487         * src/vm/jit/stack.c (new_stack_analyse): Set stackslot SAVEDVAR for
2488         MULTIANEWARRAY.
2489
2490 2006-09-15 17:19  christian
2491
2492         src/vm/jit/allocator/simplereg.c (reg_free_temp_func): New var
2493         structures also for SUPPORT_COMBINE_INTEGER_REGISTERS.
2494
2495 2006-09-15 17:05  christian
2496
2497         * src/vm/jit/ppc/emit.c (emit_load): Changed to new variable
2498         structure (varinfo * instead of stackptr) and the use of Macros
2499         IS_INMEMORY and VAROP.
2500         (emit_store): Likewise.
2501         (emit_copy): Likewise.
2502         (emit_load_high): Likewise.
2503         (emit_load_low): Likewise.
2504         (emit_load_s1): Likewise.
2505         (emit_load_s1_low): Likewise.
2506         (emit_load_s1_high): Likewise.
2507         (emit_load_s2): Likewise.
2508         (emit_load_s2_low): Likewise.
2509         (emit_load_s2_high): Likewise.
2510         (emit_load_s3): Likewise.
2511         (emit_load_s3_low): Likewise.
2512         (emit_load_s3_high): Likewise.
2513         (emit_store_dst): Likewise.
2514         
2515         * src/vm/jit/ppc/codegen.c (codegen): Changed to new variable
2516         structure (varinfo * instead of stackptr, adapting of Argument
2517         handling, no interface copying anymore at BB Boundaries ) and the use
2518         of Macros IS_INMEMORY, VAR and VAROP. ICMD_xSTORE and ICMD_xLOAD use
2519         now
2520         emit_copy. ICMD_DUPx and ICMD_SWAP were replaced by ICMD_MOVE and
2521         ICMD_COPY. Invars are now regarded for EXH and JSR
2522         Blocks. Changed ICMD_RET handling like with i386.
2523         
2524         * src/vm/jit/ppc/codegen.h (M_COPY): Changed to new variable
2525         structure.
2526         
2527         * src/vm/jit/ppc/linux/md-abi.c (md_return_alloc): Changed to new
2528         variable structure.
2529         
2530         * src/vm/jit/ppc/darwin/md-abi.c (md_return_alloc): Changed to new
2531         variable structure.
2532
2533 2006-09-15 16:55  edwin
2534
2535         * tests/regression/jasmin/Makefile.am: Added new test.
2536         * tests/regression/jasmin/test_dup_x2_interface_slots.j: New test.
2537         * tests/regression/jasmin/test_dup_x1_interface_slots.j: Changed
2538         second loop to also use DUP_X1.
2539
2540 2006-09-15 16:44  edwin
2541
2542         * src/vm/jit/stack.c (MOVE_TO_TEMP): New macro.
2543         (new_stack_analyse): Use MOVE_TO_TEMP to save sources for all
2544         DUP*, SWAP instructions where it is necessary.
2545         
2546         * src/vm/jit/parse.c (new_parse): Reserve additional NOPs for
2547         DUP* instructions.
2548
2549 2006-09-15 16:39  edwin
2550
2551         * tests/regression/jasmin/test_dup_x1_interface_slots.j: New test.
2552         * tests/regression/jasmin/test_dup2_x1.j: Added dup2_x1 with
2553         interface slots.
2554         * tests/regression/jasmin/Makefile.am: Added new test.
2555
2556 2006-09-15 16:31  christian
2557
2558         * src/vm/jit/alpha/emit.c (emit_load): Changed to new variable
2559         structure (varinfo * instead of stackptr) and the use of Macro
2560         IS_INMEMORY.
2561         (emit_store): Likewise.
2562         (emit_copy): Likewise.
2563         (emit_load_s1): Likewise and reuse emit_load.
2564         (emit_load_s2): Likewise and reuse emit_load.
2565         (emit_load_s3): Likewise and reuse emit_load.
2566         (emit_store_dst): Likewise and reuse emit_store.
2567         
2568         * src/vm/jit/alpha/codegen.c (codegen): Changed to new variable
2569         structure (varinfo * instead of stackptr, adapting of Argument
2570         handling, no interface copying anymore at BB Boundaries ) and the use
2571         of Macro IS_INMEMORY. ICMD_xSTORE and ICMD_xLOAD use now
2572         emit_copy. ICMD_DUPx and ICMD_SWAP were replaced by ICMD_MOVE and
2573         ICMD_COPY. Invars are now regarded
2574         for EXH and JSR Blocks. Changed ICMD_RET handling like with i386.
2575         
2576         * src/vm/jit/alpha/codegen.h (M_COPY): Changed to new variable
2577         structure.
2578         
2579         * src/vm/jit/alpha/md-abi.c (md_return_alloc): Changed to new
2580         variable structure.
2581
2582 2006-09-15 15:52  edwin
2583
2584         * src/vm/jit/stack.c (new_stack_analyse): Add a third move at the
2585         beginning of a swap operation to save the src1 operand, unless it
2586         is in a temporary variable.
2587         
2588         * src/vm/jit/parse.c (new_parse): Reserve three ICMDs for SWAP.
2589
2590 2006-09-15 15:44  edwin
2591
2592         * tests/regression/jasmin/Makefile.am: Added/renamed tests.
2593
2594 2006-09-15 14:43  edwin
2595
2596         * src/vm/jit/verify/typecheck.c: Cleanup and documentation.
2597
2598 2006-09-15 14:18  edwin
2599
2600         * src/vm/jit/verify/typecheck.c (typestate_reach): Removed check
2601         against uninitialized object on stack/in locals during backward
2602         branch. It is unnecessary, and not done by the RI. Reference:
2603         Alessandro Coglio
2604         Improving the official specification of Java bytecode verification
2605         Proceedings of the 3rd ECOOP Workshop on Formal Techniques for
2606         Java Programs
2607         June 2001
2608         citeseer.ist.psu.edu/article/coglio03improving.html
2609         
2610         (verify_basic_block): Removed check against uninitialized object in
2611         locals within try block. See above.
2612         
2613         * tests/regression/jasmin/
2614         test_verify_fail_backward_with_new_in_local.j: Renamed.
2615         * tests/regression/jasmin/test_verify_fail_new_in_local_within_try.j:
2616         Renamed.
2617         
2618         * tests/regression/jasmin/
2619         test_verify_unspecced_ok_backward_with_new_on_stack.j: New test.
2620         
2621         * tests/regression/jasmin/
2622         test_verify_fail_backward_with_new_on_stack.j: Fixed.
2623
2624 2006-09-15 13:08  edwin
2625
2626         * tests/regression/jasmin/runtest: Use [ \t] instead of \s in the
2627         regex for sed, as this seems to be more portable.
2628
2629 2006-09-15 13:03  edwin
2630
2631         * src/vm/jit/verify/typecheck.c (typecheck_reset_flags): Mark
2632         unreached
2633         blocks as BBDELETED. The only case in which this can happen to a block
2634         that was considered reachable by the stack analysis, is in the case of
2635         an exception handler which only covers blocks that have no PEIs.
2636
2637 2006-09-15 12:51  edwin
2638
2639         * src/vm/resolve.c (new_resolve_field_lazy): Check jd->flags instead
2640         of opt_verify.
2641         (new_resolve_method_lazy): Likewise.
2642
2643 2006-09-15 12:48  christian
2644
2645         * src/vm/jit/stack.c (new_stack_analyse): Stackslot flags have to be
2646         set for SAVEDVARs, too.
2647
2648 2006-09-15 11:02  edwin
2649
2650         * src/vm/jit/verify/typecheck.c (verify_basic_block): Fix check for
2651         active exception handlers. We may not compare pointers here, as the
2652         blocks are not allocated with rising memory addresses. Use the
2653         block numbers to compare ranges.
2654
2655 2006-09-15 09:19  christian
2656
2657         * src/vm/jit/x86_64/emit.c (emit_load): Changed to new variable
2658         structure (varinfo * instead of stackptr) and the use of Macro
2659         IS_INMEMORY.
2660         (emit_store): Likewise.
2661         (emit_copy): Likewise.
2662         (emit_ishift): Likewise.
2663         (emit_lshift): Likewise.
2664         (emit_load_s1): Likewise and reuse emit_load.
2665         (emit_load_s2): Likewise and reuse emit_load.
2666         (emit_load_s3): Likewise and reuse emit_load.
2667         (emit_store_dst): Likewise and reuse emit_store.
2668         
2669         * src/vm/jit/x86_64/md-emit.h: Adapded prototypes.
2670         
2671         * src/vm/jit/x86_64/codegen.c (codegen): Changed to new variable
2672         structure (varinfo * instead of stackptr, adapting of Argument
2673         handling, no interface copying anymore at BB Boundaries ) and the use
2674         of Macro IS_INMEMORY. ICMD_xSTORE and ICMD_xLOAD use now
2675         emit_copy. Invars are now regarded for EXH and JSR Blocks.
2676         
2677         * src/vm/jit/x86_64/codegen.h (M_COPY): Changed to new variable
2678         structure.
2679         
2680         * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Changed to new
2681         variable structure.
2682         
2683         * src/vm/jit/stack.c (new_stack_analyse): Only try to preallocate
2684         return stackslots, if they hold a TEMPVAR. Some preparation for SSA.
2685         
2686         * src/vm/jit/jit.c (jit_compile_intern): Had to disable
2687         replace_create_replacement_points(jd).
2688         
2689         * src/vm/jit/show.c (new_show_icmd): Show s1 of [FIDL]RETURN like for
2690         ARETURN.
2691
2692 2006-09-14 22:51  edwin
2693
2694         * configure.ac: Generate tests/regression/jasmin/Makefile.
2695         
2696         * tests/regression/Makefile.am: Added subdir jasmin.
2697         
2698         * tests/regression/jasmin/Makefile.am: New file.
2699         
2700         * tests/regression/jasmin/runtest: Check if jasmin .jar is available.
2701
2702 2006-09-14 22:49  edwin
2703
2704         * src/vm/jit/verify/typecheck.c (verify_basic_block): Change
2705         destination variable of GETFIELD/GETSTATIC after all checks have been
2706         performed, so there is no problem if destination == source.
2707
2708 2006-09-14 21:29  edwin
2709
2710         * tests/regression/jasmin/test_verify_fail_retaddr_as_object.j:
2711         New test.
2712
2713 2006-09-14 21:23  edwin
2714
2715         *
2716         tests/regression/jasmin/test_verify_fail_backward_with_new_in_local.j:
2717         New test.
2718         * tests/regression/jasmin/test_verify_fail_new_in_local_within_try.j:
2719         Likewise.
2720         * tests/regression/jasmin/test_verify_fail_double_local_index.j:
2721         Likewise.
2722         *
2723         tests/regression/jasmin/test_verify_fail_backward_with_new_on_stack.j:
2724         Likewise.
2725
2726 2006-09-14 20:55  edwin
2727
2728         * tests/regression/jasmin/test_verify_fail_long_local.j:
2729         Added comment.
2730         * tests/regression/jasmin/test_verify_fail_double_overwritten.j:
2731         New test.
2732         * tests/regression/jasmin/test_verify_fail_invoke_basic_type.j:
2733         New test.
2734         * tests/regression/jasmin/test_verify_fail_long_overwritten.j:
2735         New test.
2736
2737 2006-09-14 20:36  edwin
2738
2739         * src/vm/jit/verify/typecheck.c (typecheck_invalidate_locals):
2740         New function.
2741         (verify_basic_block): Invalidate locals that share space with the
2742         stored local.
2743         (typecheck): Build reverse map of locals.
2744
2745 2006-09-14 18:56  edwin
2746
2747         * src/vm/jit/reg.h (varinfo): Added typeinfo member.
2748         
2749         * src/vm/jit/verify/typecheck.c: Ported to unified_variables.
2750         * src/vm/jit/verify/typeinfo.h: Likewise.
2751         * src/vm/jit/verify/typeinfo.c: Likewise.
2752
2753 2006-09-14 18:55  edwin
2754
2755         * src/vm/resolve.c (resolve_class_from_name): RESOLVE_VERBOSE changes.
2756         (resolve_classref_or_classinfo): Likewise.
2757         (resolve_class_from_typedesc): Likewise.
2758         (resolve_and_check_subtype_set): Likewise.
2759         (new_create_unresolved_field): Likewise.
2760         (new_create_unresolved_method): Likewise.
2761         
2762         (new_resolve_field_verifier_checks): Ported to unified_variables.
2763         (new_resolve_field_lazy): Likewise.
2764         (new_resolve_method_verifier_checks): Likewise.
2765         (new_resolve_method_lazy): Likewise.
2766         (new_constrain_unresolved_field): Likewise.
2767         
2768         
2769         (unresolved_subtype_set_from_typeinfo): Take classname directly,
2770         instead of the constant_classref *.
2771         
2772         (create_unresolved_class): Pass classname to
2773         unresolved_subtype_set_from_typeinfo.
2774         
2775         (new_constrain_unresolved_method): Ported to unified_variables.
2776         Pass classname to unresolved_subtype_set_from_typeinfo. (This should
2777         fix a bug when fieldref->p.classref was invalid.)
2778         
2779         (new_constrain_unresolved_method): Ported to unified_variables.
2780         Pass classname to unresolved_subtype_set_from_typeinfo.
2781         
2782         * src/vm/resolve.h (jit/reg.h): Include this before typeinfo.h
2783         (new_resolve_method_lazy): Added jd parameter.
2784         (new_resolve_field_lazy): Likewise.
2785         (new_constrain_unresolved_field): Likewise.
2786         (new_constrain_unresolved_method): Likewise.
2787         
2788         * src/vm/jit/parse.c (new_parse): Pass jd to resolve functions.
2789
2790 2006-09-14 18:45  edwin
2791
2792         * src/vm/jit/show.c (new_show_method): Only show allocation of locals
2793         if stage is at least SHOW_REGS.
2794         (new_show_icmd): Show class for CHECKCAST.
2795
2796 2006-09-14 18:44  edwin
2797
2798         * src/vm/jit/stack.c (stack_create_invars): Add extra locals needed
2799         by the verifier.
2800         (stack_create_invars_from_outvars): Likewise.
2801         (new_stack_analyse): Create inlocals for first block. Allow ASTORE of
2802         returnAddress values.
2803
2804 2006-09-14 18:40  edwin
2805
2806         * src/vm/jit/parse.c (new_parse): Commented calculation of varcount
2807         and added added extra variables that will be needed by the verifier.
2808
2809 2006-09-14 18:36  edwin
2810
2811         * src/vm/global.h (VERIFIER_EXTRA_LOCALS): New constant.
2812         (VERIFIER_EXTRA_VARS): Likewise.
2813
2814 2006-09-14 18:20  edwin
2815
2816         * src/vm/class.c (class_classref_or_classinfo_print): New function.
2817         (class_classref_or_classinfo_println): Likewise.
2818         
2819         * src/vm/class.h (class_classref_or_classinfo_print): New function.
2820         (class_classref_or_classinfo_println): Likewise.
2821
2822 2006-09-14 18:16  edwin
2823
2824         * src/vm/jit/jit.h (VAROP): New macro for accessing variable operands.
2825         (VAR): New macro for getting a variable from a varindex.
2826
2827 2006-09-14 16:46  edwin
2828
2829         * tests/regression/jasmin/test_verify_fail_load_wrong_type.j:
2830         New test.
2831         * tests/regression/jasmin/
2832         test_verify_fail_load_wrong_type_within_block.j: New test.
2833         * tests/regression/jasmin/test_verify_fail_local_index.j: New test.
2834         * tests/regression/jasmin/test_verify_fail_long_local_index.j:
2835         New test.
2836         * tests/regression/jasmin/test_verify_fail_long_local.j: New test.
2837         * tests/regression/jasmin/test_verify_fail_split_local.j: New test.
2838         * tests/regression/jasmin/test_verify_ok_overwrite_local_type.j:
2839         New test.
2840         * tests/regression/jasmin/test_verify_ok_untyped_local.j: New test.
2841
2842 2006-09-13 00:21  edwin
2843
2844         * src/vm/jit/powerpc/codegen.c (codegen): Replaced catchtype.cls with
2845         catchtype.any to reflect that it can be a classref or a classinfo.
2846         
2847         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
2848         * src/vm/jit/mips/codegen.c (codegen): Likewise.
2849         * src/vm/jit/i386/codegen.c (codegen): Likewise.
2850         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
2851         * src/vm/jit/intrp/codegen.c (codegen): Likewise.
2852         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
2853         
2854         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Added XXX
2855         comment warning that classrefs must be resolved here.
2856
2857 2006-09-13 00:03  edwin
2858
2859         * src/vm/jit/i386/codegen.c (codegen): Use emit_copy for LOAD/STORE
2860         instructions. We should also combine this with ICMD_COPY/MOVE, but
2861         I was not sure how to deal with the M_COPY macro.
2862
2863 2006-09-12 23:35  edwin
2864
2865         * tests/regression/jasmin/test_swap_locals.j: New test.
2866
2867 2006-09-12 23:31  edwin
2868
2869         * tests/regression/jasmin/test_swap_interface_slots.j: New test.
2870
2871 2006-09-12 23:18  edwin
2872
2873         * tests/regression/jasmin/test_many_monitors.j: New test. (This test
2874         case used to fail with old-instruction-format cacao.)
2875
2876 2006-09-12 22:32  christian
2877
2878         * src/vm/jit/i386/codegen.c (codegen): Corrected handling of taking
2879         arguments out of stack frame. Some changes to adapt SSA to unified
2880         variables.
2881
2882 2006-09-12 21:34  edwin
2883
2884         * src/vm/jit/parse.c (parse_check_instructions): Renamed to
2885         parse_realloc_instructions to reflect what it really does. Fixed so
2886         it adds at least as many instructions as required by the check.
2887         
2888         * src/vm/jit/parse.h (INSTRUCTIONS_CHECK): Use
2889         parse_realloc_instructions.
2890         (MARK_BASICBLOCK): Cleaned up backslashes.
2891
2892 2006-09-12 21:23  edwin
2893
2894         * src/vm/jit/stack.c (new_stack_analyse): Fixed test for existing
2895         coalescing for *STORE.
2896         Properly use the return value of stack_mark_reached when analysing
2897         a block for the first time.
2898         
2899         * tests/regression/jasmin/test_simple_load_store.j: Added a test
2900         that just does ILOAD 1, ISTORE 1.
2901
2902 2006-09-12 00:21  edwin
2903
2904         * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub.j:
2905         Renamed to test_verify_fail_jsr_handler_in_sub.j, as it fails on the
2906         reference implementation.
2907         
2908         * tests/regression/jasmin/test_verify_ok_jsr_exceptions.j: Renamed to
2909         test_verify_fail_jsr_exceptions.j, likewise.
2910         
2911         * tests/regression/jasmin/test_verify_fail_ret_uninit_var.j,
2912         tests/regression/jasmin/test_verify_fail_aload_retaddress.j,
2913         tests/regression/jasmin/test_verify_fail_ret_bad_type.j: Made
2914         expected error match both CACAO's message and the reference
2915         implementation's message.
2916
2917 2006-09-11 23:32  edwin
2918
2919         * src/vm/jit/stack.c (stack_reanalyse_block): Removed unused
2920         variable.
2921
2922 2006-09-11 23:24  edwin
2923
2924         * src/vm/jit/stack.c: Added JSR elimination by block specialization.
2925         
2926         * src/vm/jit/i386/codegen.c (codegen): Treat ICMD_RET as a GOTO.
2927
2928 2006-09-11 23:17  edwin
2929
2930         * tests/regression/jasmin/runtest: Add --color option.
2931
2932 2006-09-11 22:17  edwin
2933
2934         * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub2.j: Added
2935         a second call of the subroutine, so cacao has to clone the exception
2936         handler.
2937
2938 2006-09-11 14:59  edwin
2939
2940         * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub.j:
2941         New test.
2942         * tests/regression/jasmin/test_verify_ok_jsr_exceptions.j: Likewise.
2943         * tests/regression/jasmin/test_verify_ok_jsr_through_variable.j:
2944         Likewise.
2945         * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub2.j:
2946         Likewise.
2947         * tests/regression/jasmin/test_verify_ok_jsr_swap.j: Likewise.
2948
2949 2006-09-11 14:57  edwin
2950
2951         * tests/regression/jasmin/test_dup2.j: Fix stackdepth.
2952         * tests/regression/jasmin/test_load_store_conflict.j: Likewise.
2953
2954 2006-09-11 14:55  edwin
2955
2956         * tests/regression/jasmin/runtest: Only show PASS if status is ok.
2957
2958 2006-09-11 14:54  edwin
2959
2960         * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
2961         Zero destination of ICMD_JSR to avoid problems when showing the IR.
2962
2963 2006-09-11 14:52  edwin
2964
2965         * src/vm/jit/show.h (show_jit_type_letters): New variable.
2966         (show_jit_type_names): Likewise.
2967         
2968         * src/vm/jit/show.c (jit_type): Renamed to show_jit_type_names and
2969         exported.
2970         (show_jit_type_letters): New variable.
2971         (new_show_method): Improved.
2972         (new_show_icmd): Likewise.
2973
2974 2006-09-11 14:45  edwin
2975
2976         * src/toolbox/logging.h (log_text): Fixed for strings containing %.
2977
2978 2006-09-11 14:37  edwin
2979
2980         * src/vm/jit/reg.h (varinfo): Put regoff inside a union (vv) so it
2981         can share space with the constant values put in varinfo. Also made
2982         type and flags s4.
2983         
2984         * src/vm/jit/stack.c (new_stack_analyse): Replace regoff with
2985         vv.regoff.
2986         
2987         * src/vm/jit/show.c (new_show_method): Likewise.
2988         (new_show_variable): Likewise.
2989         
2990         * src/vm/jit/allocator/simplereg.c (local_regalloc): Likewise.
2991         (reg_new_temp_func): Likewise.
2992         (reg_free_temp_func): Likewise.
2993         (new_allocate_scratch_registers): Likewise.
2994         (reg_make_statistics): Likewise.
2995         
2996         * src/vm/jit/i386/emit.c: Likewise.
2997         * src/vm/jit/i386/codegen.c: Likewise.
2998         * src/vm/jit/codegen-common.c: Likewise.
2999
3000 2006-09-11 00:33  edwin
3001
3002         * src/vm/global.h (TYPE_RET): New constant.
3003         
3004         * src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack):
3005         Display TYPE_RET correctly.
3006
3007 2006-09-11 00:30  edwin
3008
3009         * src/vm/jit/jit.h (basicblock): Added fields `inlocals` and
3010         `original` (for JSR elimination).
3011
3012 2006-09-11 00:03  edwin
3013
3014         * tests/regression/jasmin/test_verify_fail_aload_retaddress.j: New
3015         test.
3016         * tests/regression/jasmin/test_verify_fail_ret_uninit_var.j: New
3017         test.
3018         * tests/regression/jasmin/test_verify_ok_jsr_pop.j: New test.
3019         * tests/regression/jasmin/test_verify_ok_jsr_push.j: New test.
3020
3021 2006-09-10 13:51  edwin
3022
3023         * tests/regression/jasmin/runtest: Return correct exit code.
3024
3025 2006-09-10 13:45  edwin
3026
3027         * tests/regression/jasmin/runtest: Delete temporary files.
3028         * tests/regression/jasmin/test_verify_ok_jsr.j: New test.
3029         * tests/regression/jasmin/test_verify_ok_jsr_multiple_blocks.j: New
3030         test.
3031         * tests/regression/jasmin/test_verify_fail_ret_bad_type.j: New test.
3032
3033 2006-09-10 13:43  edwin
3034
3035         * tests/regression/jasmin/runtest: Added harness code for expecting
3036         errors.
3037
3038 2006-09-10 11:35  christian
3039
3040         * src/vm/jit/i386/codegen.c (codegen): Corrected handling of taking
3041         arguments out of stack frame.
3042
3043 2006-09-10 11:20  edwin
3044
3045         * src/vm/jit/stack.c (DUP_SLOT): Removed code for direct coalescing.
3046         (DUP coalescing will be done in simplereg, probably.)
3047
3048 2006-09-10 09:11  edwin
3049
3050         * src/vm/jit/show.c (new_show_method): Use class_print and
3051         class_classref_print for showing the catch type.
3052
3053 2006-09-09 22:33  edwin
3054
3055         * src/vm/jit/stack.c: Fixed macro backslashes.
3056
3057 2006-09-09 22:05  edwin
3058
3059         * src/vm/jit/show.c (new_show_method): Show hexadecimal offsets in
3060         stack slot table.
3061
3062 2006-09-09 21:58  edwin
3063
3064         * src/vm/jit/stack.c (new_stack_analyse): Reset the sd.new pointer at
3065         the beginning of each basic block.
3066
3067 2006-09-09 21:50  edwin
3068
3069         * src/vm/jit/stack.c (new_stack_analyse): Made control-flow easier
3070         to read. The majority of the code is now indented one level too much.
3071         I did not change this, yet, to avoid a giant diff. We can do this
3072         when all the branches are merged together.
3073
3074 2006-09-09 21:41  edwin
3075
3076         * src/vm/jit/stack.c (new_stack_analyse): Combined calls to
3077         stack_create_instack.
3078
3079 2006-09-09 21:33  edwin
3080
3081         * src/vm/jit/jit.h (basicblock): Removed members instack and
3082         outstack.
3083         
3084         * src/vm/jit/stack.c (stack_check_invars): New function.
3085         (stack_create_instack): New function.
3086         (stack_mark_reached): Use new functions.
3087         (new_stack_analyse): Likewise.
3088         
3089         * src/vm/jit/stack.h (COPYCURSTACK): Removed macro.
3090
3091 2006-09-09 20:05  edwin
3092
3093         * src/vm/jit/stack.h (COPYCURSTACK): Do not create invars here.
3094         
3095         * src/vm/jit/stack.c (stack_create_invars): New function.
3096         (stack_mark_reached): Use stack_create_invars.
3097         (new_stack_analyse): Likewise.
3098
3099 2006-09-09 19:37  edwin
3100
3101         * src/vm/jit/jit.h (basicblock): Added fields varstart and varcount.
3102         Reordered fields for clarity and alignment.
3103         
3104         * src/vm/jit/stack.c (new_stack_analyse): Set varstart and varcount
3105         of each basic block.
3106
3107 2006-09-09 19:25  edwin
3108
3109         * src/vm/exceptions.c (exceptions_handle_exception): Added comment on
3110         why we have to do eager resolving here. Check for exceptions while
3111         resolving the catch class reference.
3112         
3113         * src/vm/linker.c (link_class_intern): Resolve exception classes
3114         in handler entries lazily, instead of eagerly.
3115
3116 2006-09-09 14:49  edwin
3117
3118         * src/vm/jit/stack.h (CURKIND): Removed macro.
3119         (CURTYPE): Removed macro.
3120         
3121         * src/vm/jit/stack.c (new_stack_analyse): Removed the single use of
3122         CURKIND.
3123
3124 2006-09-09 14:45  edwin
3125
3126         * src/vm/jit/stack.h (Changes): Added my name.
3127
3128 2006-09-09 14:41  edwin
3129
3130         * src/vm/jit/stack.h (REQUIRE_1, REQUIRE_2, REQUIRE_3, REQUIRE_4):
3131         Removed.
3132         * src/vm/jit/stack.c (new_stack_analyse): Use the general REQUIRE
3133         macro.
3134
3135 2006-09-08 23:59  edwin
3136
3137         * src/vm/jit/stack.c (IS_TEMPVAR): Fix bug spotted
3138         (and produced ;) by c_u.
3139
3140 2006-09-08 20:54  edwin
3141
3142         * src/vm/jit/stack.c (new_stack_analyse): Added some assertion.
3143         When we do a STORE coalescing, the stackslot must have a creator.
3144
3145 2006-09-08 20:50  edwin
3146
3147         * src/vm/jit/stack.c (new_stack_analyse): Unified last_dup_boundary
3148         and last_pei_boundary to coalescing_boundary.
3149         Activated STORE coalescing. Change destination operand of creator, if
3150         any.
3151
3152 2006-09-08 20:41  edwin
3153
3154         * src/vm/jit/stack.h (COPYCURSTACK): Use GET_NEW_VAR.
3155         Removed SET_OUTVAR.
3156         * src/vm/jit/stack.c (GET_NEW_VAR): New macro.
3157         (various macros): Use GET_NEW_VAR, so the variable type is set.
3158         Reset coalescing for non-consuming uses.
3159         (SET_TEMPVAR): Fix: do not use "copy". Change the destination operand
3160         of the creator, if any.
3161         (DST_LOCAL): Activate LOAD coalescing.
3162         (new_stack_analyse): Reset coalescing for pass-through operands.
3163
3164 2006-09-08 19:48  edwin
3165
3166         * src/vm/jit/jit.h (stackelement): Added creator field.
3167         * src/vm/jit/stack.h (COPYCURSTACK): Set creator = NULL.
3168         * src/vm/jit/stack.c (DST, DST_LOCALVAR, MOVE_COPY_UP, COPY_DOWN):
3169         Set creator to current iptr.
3170         * src/vm/jit/stack.h: Cleaned up macros.
3171         * src/vm/jit/stack.c: Likewise.
3172
3173 2006-09-08 18:14  edwin
3174
3175         * src/vm/jit/codegen-common.h: Removed the NEW_VAR define.
3176         * src/vm/jit/stack.c: Likewise.
3177         * src/vm/jit/verify/typecheck.c: Likewise.
3178         * src/vm/jit/i386/codegen.c: Likewise.
3179         * src/vm/jit/parse.c: Likewise.
3180         * src/vm/jit/reg.c: Likewise.
3181         * src/vm/jit/reg.h: Likewise.
3182         * src/vm/jit/jit.c: Likewise.
3183         * src/vm/jit/codegen-common.c: Likewise.
3184         * src/vm/jit/jit.h: Likewise, and removed the dupslots member from
3185         the dst_operand_t union.
3186
3187 2006-09-08 18:12  edwin
3188
3189         * src/vm/jit/show.c (new_show_icmd): Removed code for DUPs.
3190
3191 2006-09-08 17:59  edwin
3192
3193         * src/vm/jit/verify/typecheck.c: Removed code for DUPs.
3194
3195 2006-09-08 17:57  edwin
3196
3197         * src/vm/jit/i386/codegen.c (codegen): Removed code for DUPs.
3198
3199 2006-09-08 17:50  edwin
3200
3201         * src/vm/jit/i386/codegen.c (*LOAD, *STORE): Normalized the source ==
3202         dest check so it always looks the same.
3203         (LLOAD, LSTORE): Use M_LNGMOVE, not M_INTMOVE.
3204         (DSTORE): Combined with FSTORE, because it now has the same code.
3205
3206 2006-09-08 17:37  edwin
3207
3208         * src/vm/jit/i386/codegen.c (codegen): Fix LSTORE: The source == dest
3209         test was broken.
3210
3211 2006-09-08 16:41  edwin
3212
3213         * src/vm/jit/show.c (new_show_method): Fix display of local table.
3214
3215 2006-09-08 16:26  edwin
3216
3217         * src/vm/jit/stack.c (new_stack_analyse): Fix ICMD_RET: The variable
3218         index has to be mapped.
3219
3220 2006-09-08 16:07  edwin
3221
3222         * src/vm/jit/stack.c (DUP_SLOT): Turn off coalescing.
3223         (MOVE_COPY_UP): New macro.
3224         (COPY_DOWN): New macro.
3225         (interface_map): Changed to array of interface_info.
3226         (*STORE): Fix index into last_store_boundary (must be javaindex).
3227         (DUP*, SWAP): Eliminate DUPs.
3228         (new_stack_analyse): Mark invar interfaces used.
3229         
3230         * src/vm/jit/show.c (new_show_method): Adapted to new
3231         interface_map layout.
3232         
3233         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Adapted
3234         to new interface_map layout.
3235         (new_allocate_scratch_registers): Likewise.
3236         (new_allocate_scratch_registers): Removed code for DUP* instructions.
3237         (ICMD_MOVE, ICMD_COPY): Added.
3238
3239 2006-09-08 16:02  edwin
3240
3241         * src/vm/jit/i386/codegen.h (M_FLTMOVE): Only assert(0) if move would
3242         have to be performed.
3243
3244 2006-09-08 14:17  edwin
3245
3246         * src/vm/jit/show.c (show_variable): Check for invalid flags.
3247
3248 2006-09-08 14:16  edwin
3249
3250         * src/vm/jit/i386/codegen.c (codegen): Removed a debug print.
3251
3252 2006-09-08 14:15  edwin
3253
3254         * src/vm/jit/stack.c (DST_LOCALVAR): _Really_ turn off coalescing
3255         temporarily.
3256
3257 2006-09-08 12:19  edwin
3258
3259         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Changed
3260         allocation of interface registers. interface_map now contains the
3261         necessary flags, and receives a combination of allocated flags
3262         and regoff.
3263         
3264         (new_allocate_scratch_registers): Copy the allocation of the
3265         invars and outvars for each basic block.
3266
3267 2006-09-08 12:17  edwin
3268
3269         * src/vm/jit/jit.h (LOCAL_UNUSED): Changed (in comment) to UNUSED.
3270
3271 2006-09-08 12:16  edwin
3272
3273         * src/vm/jit/stack.c (stackdata_t): New struct for keeping internal
3274         data of the stack analysis. This is necessary for converting macros
3275         to functions.
3276         (various macros): Adapted to use stackdata_t. Removed old code.
3277         (DST_LOCALVAR): Temporarily turned off local variable coalescing.
3278         (MARKREACHED): Converted to a function.
3279         (stack_mark_reached): New function.
3280         (last_store_boundary): Use java indices instead of internal local
3281         indices into this table.
3282         (new_stack_analyse): Removed old code.
3283         
3284         * src/vm/jit/stack.h (various macros): Adapted to use stackdata_t.
3285         (MARKREACHED): Converted to a function.
3286
3287 2006-09-08 12:10  edwin
3288
3289         * src/vm/jit/parse.h: Removed old code.
3290         * src/vm/jit/parse.c (new_parse): Do not modify m->maxlocals and
3291         cd->maxlocals.
3292         They refer to the number of javalocals, and that's ok. We have
3293         jd->localcount
3294         to keep the number of internal locals.
3295
3296 2006-09-08 12:07  edwin
3297
3298         * src/vm/jit/show.c (new_show_method): Show isleafmethod.
3299         (new_show_method): Pretty interface map printing (prepared for
3300         interface register allocation changes).
3301         (new_show_method): Print allocation of stack slots.
3302         (show_allocation): New function.
3303         (show_variable): Mark SAVEDVARs with an exclamation mark.
3304
3305 2006-09-08 01:05  edwin
3306
3307         * src/vm/jit/show.c (new_show_method): Only show local table if there
3308         are locals.
3309
3310 2006-09-07 23:17  edwin
3311
3312         * src/vm/jit/show.c (jit_type): Made types uppercase.
3313         (new_show_method): Prettier printing of locals_map and interface_map.
3314         (SHOW_STACKVAR): Renamed to SHOW_VARIABLE.
3315         (new_show_stackvar): Renamed to show_variable. Cleaned up.
3316
3317 2006-09-07 22:44  edwin
3318
3319         * src/vm/jit/allocator/simplereg.c (reg_new_temp_func): Removed old
3320         version.
3321         (reg_free_temp_func): Likewise.
3322         (allocate_scratch_registers): Likewise.
3323
3324 2006-09-07 22:39  edwin
3325
3326         * src/vm/jit/allocator/simplereg.c (reg_alloc_dup): Removed.
3327         (new_reg_mark_copy): Likewise.
3328
3329 2006-09-07 14:41  edwin
3330
3331         * src/vm/jit/i386/codegen.c (ICMD_COPY): Added.
3332         (ICMD_MOVE): Likewise.
3333
3334 2006-09-07 14:38  edwin
3335
3336         * src/vm/jit/reg.h (varinfo): New field copycount.
3337         * src/vm/jit/parse.c (new_parse): Zero jd->var array.
3338
3339 2006-09-07 14:31  edwin
3340
3341         * src/vm/jit/parse.c (new_parse): Allocate extra NOPs for stack
3342         operations.
3343
3344 2006-09-07 14:25  edwin
3345
3346         * src/vm/jit/show.c (ICMD_COPY): Uncommented.
3347         (ICMD_MOVE): Likewise.
3348
3349 2006-09-07 14:24  edwin
3350
3351         * src/vm/jit/jit.h, src/vm/jit/jit.c (ICMD_COPY): New ICMD.
3352         (ICMD_MOVE): Likewise.
3353
3354 2006-09-07 14:00  christian
3355
3356         * src/vm/jit/allocator/simplreg: Removed #if defined(NEW_VAR) over
3357         some functions.
3358
3359 2006-09-07 13:41  edwin
3360
3361         * src/vm/jit/jit.c (ENABLE_VERIFY): Corrected to ENABLE_VERIFIER.
3362
3363 2006-09-07 13:29  christian
3364
3365         Unified variables changes for common/i386.
3366
3367 2006-09-07 13:01  edwin
3368
3369         Branch for developing unified variables.
3370
3371 2006-09-07 12:52  twisti
3372
3373         * src/vm/jit/i386/emit.c: Use IS_INMEMORY macro.
3374         * src/vm/jit/i386/codegen.c: Likewise.
3375
3376 2006-09-07 12:26  twisti
3377
3378         * src/vm/jit/powerpc/codegen.c (codegen): Use IS_INMEMORY macro.
3379
3380 2006-09-07 12:24  twisti
3381
3382         * src/vm/jit/powerpc/emit.c (emit_copy): Eliminate register move if
3383         one of the variables resides in memory.
3384
3385 2006-09-07 11:14  twisti
3386
3387         * src/vm/jit/alpha/emit.c (emit_copy): Only one not-equal comparison.
3388
3389 2006-09-07 11:09  twisti
3390
3391         * src/vm/jit/powerpc64/emit.c (emit_copy): Eliminate register move if
3392         one of the variables resides in memory.
3393
3394 2006-09-07 10:59  twisti
3395
3396         * src/vm/jit/mips/emit.c (emit_copy): Eliminate register move if one
3397         of the variables resides in memory.
3398
3399 2006-09-07 10:46  twisti
3400
3401         * src/vm/jit/i386/emit.c (emit_copy): Eliminate register move if one
3402         of the variables resides in memory.
3403
3404 2006-09-07 10:16  twisti
3405
3406         * src/vm/jit/x86_64/emit.c (emit_copy): Eliminate register move if one
3407         of the variables resides in memory.
3408
3409 2006-09-07 10:03  twisti
3410
3411         * src/vm/jit/alpha/emit.c (emit_copy): Eliminate register move if one
3412         of the variables resides in memory.
3413
3414 2006-09-07 09:40  twisti
3415
3416         * src/vm/jit/jit.h (IS_SAVEDVAR): Added.
3417         (IS_INMEMORY): Likewise.
3418
3419 2006-09-07 00:32  edwin
3420
3421         * src/vm/jit/show.c (new_show_icmd): Separate real arguments and
3422         pass-through variables for INVOKE*.
3423
3424 2006-09-07 00:29  edwin
3425
3426         * src/vm/jit/show.c (new_show_icmd): Separate real arguments and
3427         pass-through variables for BUILTIN.
3428
3429 2006-09-06 23:18  twisti
3430
3431         * src/vm/jit/powerpc64/linux/md-abi.h: Bugfixes and changes for new
3432         instruction format.
3433         * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
3434         * src/vm/jit/powerpc64/emit.c: Likewise.
3435         * src/vm/jit/powerpc64/codegen.c: Likewise.
3436         * src/vm/jit/powerpc64/codegen.h: Likewise.
3437
3438 2006-09-06 22:34  twisti
3439
3440         * src/vm/jit/mips/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
3441         Defined.
3442         * src/vm/jit/mips/codegen.c: Use REG_A? defines instead of
3443         rd->argintreg[] loads.
3444
3445 2006-09-06 22:16  twisti
3446
3447         * src/vm/jit/alpha/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
3448         Defined.
3449         * src/vm/jit/alpha/codegen.c: Use REG_A? defines instead of
3450         rd->argintreg[] loads.
3451
3452 2006-09-06 21:56  twisti
3453
3454         * src/vm/jit/x86_64/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
3455         Defined.
3456         * src/vm/jit/x86_64/codegen.c: Use REG_A? defines instead of
3457         rd->argintreg[] loads.
3458
3459 2006-09-06 21:40  twisti
3460
3461         * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete precedessor
3462         calucation.
3463
3464 2006-09-06 21:32  edwin
3465
3466         * tests/regression/jasmin/test_dup_x2.j: Split second test into
3467         separate file.
3468         * tests/regression/jasmin/test_dup_x2_to_dup_x1: New test.
3469
3470 2006-09-06 21:30  edwin
3471
3472         * tests/regression/jasmin/runtest: Improved harness script.
3473
3474 2006-09-06 21:17  twisti
3475
3476         * src/vm/jit/powerpc/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
3477         Defined.
3478         * src/vm/jit/powerpc/darwin/md-abi.h: Likewise.
3479         
3480         * src/vm/jit/powerpc/codegen.c: Use REG_A? defines instead of
3481         rd->argintreg[] loads.
3482
3483 2006-09-06 17:05  twisti
3484
3485         * src/vm/jit/mips/codegen.c (codegen): Generate the INVOKE/BUILTIN
3486         call code in a common place.
3487
3488 2006-09-06 16:43  twisti
3489
3490         * src/vm/jit/x86_64/codegen.c (codegen): Generate the INVOKE/BUILTIN
3491         call code in a common place.
3492
3493 2006-09-06 16:41  twisti
3494
3495         * src/vm/jit/i386/codegen.c (codegen): Don't move the function address
3496         into disp for ICMD_BUILTIN.
3497
3498 2006-09-06 16:30  twisti
3499
3500         * src/vm/jit/i386/codegen.c (codegen): Generate the INVOKE/BUILTIN
3501         call code in a common place.
3502         (createnativestub): Removed unused disp variable.
3503
3504 2006-09-06 16:24  twisti
3505
3506         * src/vm/jit/alpha/codegen.c (codegen): Generate the INVOKE/BUILTIN
3507         call code in a common place.
3508
3509 2006-09-06 16:06  twisti
3510
3511         * src/vm/jit/powerpc/codegen.c (codegen): Generate the INVOKE/BUILTIN
3512         call code in a common place.
3513
3514 2006-09-06 16:01  edwin
3515
3516         * src/vm/jit/jit.h (INS_FLAG_NOCHECK): Reversed to INS_FLAG_CHECK.
3517         * src/vm/jit/stack.c: Likewise.
3518         * src/vm/jit/stack.h: Likewise.
3519         * src/vm/jit/parse.c: Likewise.
3520         * src/vm/jit/parse.h: Likewise.
3521
3522 2006-09-06 15:22  edwin
3523
3524         * src/vm/jit/parse.h (INSTRUCTIONS_CHECK): New macro.
3525         * src/vm/jit/parse.c (new_parse): Merged twisti's reallocation of the
3526         instruction array.
3527
3528 2006-09-06 14:38  twisti
3529
3530         * src/vm/jit/alpha/codegen.c (ICMD_I2L): Use REG_ITMP1 for dst, this
3531         can save a move.
3532         (ICMD_LDIV, ICMD_LREM): Use argument registers for s1 and s2 when
3533         loaded.
3534
3535 2006-09-06 14:32  edwin
3536
3537         Checked in jasmin tests.
3538
3539 2006-09-06 14:01  edwin
3540
3541         * src/vm/jit/parse.c (parserdata_t): New type.
3542         (parse_setup): New function.
3543         (parse_check_instructions): New function.
3544
3545 2006-09-06 13:46  christian
3546
3547         * src/vm/jit/stack.c (new_stack_analyse): Ifdeffed handling of new var
3548         system.
3549         
3550         * src/vm/jit/stack.h: Likewise.
3551         
3552         * src/vm/jit/parse.c (new_parse) : Likewise.
3553         
3554         * src/vm/jit/parse.h: Likewise.
3555         
3556         * src/vm/jit/jit.h: Ifdeffed structure entries for new var system.
3557
3558 2006-09-06 12:37  twisti
3559
3560         * src/vm/jit/powerpc/codegen.c (codegen): Use M_ISUB in ICMD_ISUBCONST
3561         instead of M_IADD.
3562
3563 2006-09-06 11:58  twisti
3564
3565         * src/vm/jit/mips/emit.c (emit_copy): Removed accidentally pasted
3566         code.
3567
3568 2006-09-06 11:12  edwin
3569
3570         * src/vm/jit/stack.h: Removed macros for old instruction format.
3571
3572 2006-09-06 11:01  edwin
3573
3574         * src/vm/jit/parse.h: Removed NEW_ prefix from macros.
3575         * src/vm/jit/parse.c: Likewise.
3576
3577 2006-09-06 10:56  edwin
3578
3579         * src/vm/jit/stack.h (CHECKOVERFLOW): Removed.
3580         (NEW_CHECKOVERFLOW): Renamed to CHECKOVERFLOW.
3581         
3582         * src/vm/jit/stack.c (new_stack_analyse): Removed NEW_ prefix from
3583         macro names.
3584
3585 2006-09-06 10:48  edwin
3586
3587         * src/vm/jit/x86_64/emit.c: Renamed new_instruction to instruction.
3588         * src/vm/jit/x86_64/md-emit.h: Likewise.
3589         * src/vm/jit/x86_64/codegen.c: Likewise.
3590
3591 2006-09-06 10:20  christian
3592
3593         * src/vm/stack.c (new_stack_analyse): Removed assert to check, that
3594         all outvars are STACKVARS. Would be a possible conflict with swap
3595         
3596         * src/vm/parse.c (new_parse): Data colletion for local var
3597         renaming(de-coalescing)
3598         
3599         * src/vm/parse.h (new_pase): Likewise.
3600         
3601         * src/vm/jit.h: Likewise.
3602         
3603         * src/vm/jit/i386/codegen.c (codegen): Ifdefed interface copy in
3604         regard to new
3605         var system.
3606
3607 2006-09-06 10:16  edwin
3608
3609         * src/vm/jit/mips/emit.c (emit_load_s1): Removed obsolete src param.
3610         (emit_load_s2): Likewise.
3611         (emit_load_s3): Likewise.
3612
3613 2006-09-06 10:14  edwin
3614
3615         * src/vm/jit/powerpc64/emit.c (emit_load): New function.
3616         (emit_load_s1): Implemented in terms of emit_load.
3617         (emit_load_s2): Likewise.
3618         (emit_load_s3): Likewise.
3619         (emit_store_dst): New function.
3620
3621 2006-09-06 10:09  edwin
3622
3623         * src/vm/jit/mips/emit.c (emit_load): New function.
3624         (emit_load_s1): Implemented in terms of emit_load.
3625         (emit_load_s2): Likewise.
3626         (emit_load_s3): Likewise.
3627         (emit_store_dst): New function.
3628
3629 2006-09-06 09:57  edwin
3630
3631         * src/vm/jit/stack.c (new_stack_analyse): Implement conflict checking
3632         and coalescing for *STORE.
3633         * src/vm/jit/show.c (new_show_stackvar): Show coalescing info.
3634
3635 2006-09-06 00:18  christian
3636
3637         * src/vm/jit/stack.c (new_stack_analyse): Mark all in and out
3638         Stackslots of Basic Blocks as STACKVAR.
3639         
3640         * src/vm/jit/i386/codegen.c (codegen): Removed copy of interfaces
3641         to in and from out stackslots.
3642
3643 2006-09-06 00:07  edwin
3644
3645         * src/vm/jit/powerpc64/codegen.c (codegen): ++lookup in LOOKUPSWITCH
3646         loop.
3647         * src/vm/jit/powerpc64/codegen.c (codegen): Ported to new instruction
3648         format.
3649
3650 2006-09-05 23:37  edwin
3651
3652         * src/vm/jit/i386/codegen.c (codegen): Port LASTORECONST, PUT*CONST.
3653
3654 2006-09-05 23:10  edwin
3655
3656         * src/vm/jit/mips/codegen.c (codegen): Ported to new instruction
3657         format.
3658
3659 2006-09-05 23:08  twisti
3660
3661         * src/vm/jit/powerpc/emit.c: Updated to new instruction format.
3662         * src/vm/jit/powerpc/codegen.c: Likewise.
3663
3664 2006-09-05 23:07  twisti
3665
3666         * src/vm/builtin.c (builtin_print_argument): Print decimal values for
3667         int and long arguments.
3668
3669 2006-09-05 22:51  christian
3670
3671         * i386/emit.c: Changed to new instruction format.
3672         * i386/codegen.c: Likewise.
3673         * i386/codegen.h: Likewise.
3674         * parse.c: Likewise.
3675         * parse.h: Likewise.
3676         * jit.h: Likewise.
3677
3678 2006-09-05 22:42  edwin
3679
3680         * src/vm/jit/show.c (new_show_icmd): Show LOOKUPSWITCH targets.
3681
3682 2006-09-05 22:27  edwin
3683
3684         * src/vm/jit/alpha/codegen.c (codegen): Port MULTIANEWARRAY.
3685
3686 2006-09-05 22:23  edwin
3687
3688         * sarc/vm/jit/parse.c (parse): Check return value of
3689         lock_monitor_enter.
3690
3691 2006-09-05 22:22  edwin
3692
3693         * src/threads/native/lock.h (lock_monitor_enter): Return bool.
3694         * src/threads/native/lock.c (lock_monitor_enter): Check for
3695         NullPointerException.
3696
3697 2006-09-05 22:05  twisti
3698
3699         * src/vm/jit/cfg.c (cfg_build): It's better to not reuse the loop
3700         variable.
3701
3702 2006-09-05 21:53  edwin
3703
3704         * src/vm/jit/show.c (new_show_icmd): Show BLOCK_OF tableswitch
3705         targets.
3706
3707 2006-09-05 21:50  edwin
3708
3709         * src/vm/jit/show.c (new_show_icmd): Show TABLESWITCH targets.
3710
3711 2006-09-05 21:20  edwin
3712
3713         * src/vm/jit/alpha/codegen.c (codegen): Port ICMD_CHECKCAST.
3714
3715 2006-09-05 21:20  twisti
3716
3717         * src/vm/method.h (methodinfo): Removed members basicblockcount,
3718         basicblocks, basicblockindex, instructioncount, instructions,
3719         stackcount, and stack.
3720         
3721         * src/vm/jit/cfg.c: Use jitdata variables instead of methodinfo ones.
3722         * src/vm/jit/reorder.c: Likewise.
3723         * src/vm/jit/ifconv/ifconv.c: Likewise.
3724         * src/vm/jit/allocator/simplereg.c: Likewise.
3725         * src/vm/jit/replace.c: Likewise.
3726         * src/vm/jit/jit.c: Likewise.
3727
3728 2006-09-05 21:17  twisti
3729
3730         * src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added
3731         accidentally removed codegen.c.
3732
3733 2006-09-05 21:16  twisti
3734
3735         * src/vm/jit/x86_64/codegen.c (codegen): Use d for return type checks.
3736
3737 2006-09-05 21:15  twisti
3738
3739         * src/cacaoh/headers.c: Use a dummy flag for natively overloaded
3740         methods.
3741
3742 2006-09-05 21:14  edwin
3743
3744         * src/vm/jit/alpha/codegen.c (codegen): Deactivate replacement points.
3745         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
3746
3747 2006-09-05 21:06  edwin
3748
3749         * src/vm/jit/alpha/codegen.c (codegen): Set fieldtype in all cases.
3750
3751 2006-09-05 20:58  edwin
3752
3753         * src/vm/jit/show.c (new_show_basicblock): Prettier if.
3754
3755 2006-09-05 20:57  edwin
3756
3757         * src/vm/jit/alpha/codegen.c (codegen): Use jd->new_basicblocks.
3758
3759 2006-09-05 20:50  edwin
3760
3761         * src/vm/jit/alpha/codegen.c: Use invars/outvars instead of
3762         instack/outstack.
3763
3764 2006-09-05 20:17  edwin
3765
3766         * src/vm/jit/alpha/codegen.c (codegen): Port handling of INVOKE*
3767         arguments.
3768
3769 2006-09-05 20:11  edwin
3770
3771         * src/vm/jit/alpha/emit.c: Ported to new instruction format.
3772         * src/vm/jit/alpha/codegen.c: Likewise.
3773
3774 2006-09-05 19:38  twisti
3775
3776         * src/vm/jit/jit.h (instruction): Removed.
3777         (new_instruction): Renamed to instruction.
3778         
3779         * src/vm/builtin.c: Renamed new_instruction to instruction.
3780         * src/vm/builtin.h: Likewise.
3781         * src/vm/resolve.c: Likewise.
3782         * src/vm/resolve.h: Likewise.
3783         * src/vm/jit/powerpc/emit.c: Likewise.
3784         * src/vm/jit/powerpc/Makefile.am: Likewise.
3785         * src/vm/jit/codegen-common.h: Likewise.
3786         * src/vm/jit/cfg.c: Likewise.
3787         * src/vm/jit/reorder.c: Likewise.
3788         * src/vm/jit/emit.h: Likewise.
3789         * src/vm/jit/stack.c: Likewise.
3790         * src/vm/jit/stack.h: Likewise.
3791         * src/vm/jit/show.c: Likewise.
3792         * src/vm/jit/dseg.c: Likewise.
3793         * src/vm/jit/verify/typecheck.c: Likewise.
3794         * src/vm/jit/verify/typeinfo.c: Likewise.
3795         * src/vm/jit/show.h: Likewise.
3796         * src/vm/jit/allocator/simplereg.c: Likewise.
3797         * src/vm/jit/parse.c: Likewise.
3798         * src/vm/jit/codegen-common.c: Likewise.
3799
3800 2006-09-05 19:06  edwin
3801
3802         * src/vm/jit/powerpc/codegen.c (codegen): Converted with
3803         portcodegen.pl.
3804         * src/vm/jit/sparc64/codegen.c (codegen): Likewise.
3805         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
3806         * src/vm/jit/mips/codegen.c (codegen): Likewise.
3807         * src/vm/jit/i386/codegen.c (codegen): Likewise.
3808         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
3809
3810 2006-09-05 18:43  edwin
3811
3812         Merge changes from trunk (powerpc64).
3813
3814 2006-09-05 17:42  edwin
3815
3816         * src/vm/jit/powerpc/codegen.c (codegen): Use emit_load instead of
3817         emit_load_s1/s2 for variable arguments and interface copying.
3818         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
3819         * src/vm/jit/mips/codegen.c (codegen): Likewise.
3820         * src/vm/jit/i386/codegen.c (codegen): Likewise.
3821         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
3822
3823 2006-09-05 17:21  edwin
3824
3825         Merged changes from trunk.
3826
3827 2006-09-05 16:45  edwin
3828
3829         * src/vm/jit/powerpc/codegen.c (codegen): ICMD_PUTSTATIC: Use
3830         emit_load_s1 to load the first operand.
3831         * src/vm/jit/sparc64/codegen.c (codegen): Likewise.
3832         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
3833         * src/vm/jit/mips/codegen.c (codegen): Likewise.
3834         * src/vm/jit/i386/codegen.c (codegen): Likewise.
3835         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
3836
3837 2006-09-05 16:12  edwin
3838
3839         * src/vm/jit/jit.h (basicblock): Changed type of iinstr to
3840         new_instruction *.
3841         * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete casts.
3842         * src/vm/jit/show.c (new_show_basicblock): Likewise.
3843         * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
3844         * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
3845         Likewise.
3846         * src/vm/jit/parse.c (new_parse): Likewise.
3847         * src/vm/jit/x86_64/codegen.c (new_parse): Likewise.
3848
3849 2006-09-05 12:42  edwin
3850
3851         * src/vm/jit/jit.h (s3_operand_t): Removed arrayvftbl.
3852         * src/vm/jit/x86_64/codegen.c (codegen): ICMD_MULTIANEWARRAY:
3853         Use s3.c.cls instead of s3.arrayvftbl.
3854
3855 2006-09-05 12:29  edwin
3856
3857         * src/vm/jit/jit.h (jitdata): Removed field new_rd.
3858         * src/vm/jit/jit.c (jit_compile): Use rd instead of new_rd.
3859         (jit_compile_intern): Likewise.
3860         * src/vm/jit/verify/typecheck.c (typecheck): Likewise.
3861         (verify_basic_block): Removed unused variables.
3862         * src/vm/jit/allocator/simplereg.c (new_regalloc):
3863         Use rd instead of new_rd.
3864         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
3865
3866 2006-09-05 11:53  edwin
3867
3868         * src/vm/jit/x86_64/codegen.c: Ported to new instruction format.
3869         * src/vm/jit/x86_64/emit.c: Likewise.
3870         * src/vm/jit/x86_64/md-emit.h: Likewise.
3871
3872 2006-09-05 11:50  edwin
3873
3874         * src/vm/jit/jit.h (s3_operand_t): Added union field arrayvftbl.
3875
3876 2006-09-05 11:47  edwin
3877
3878         * src/vm/jit/jit.c (jit_compile): Test setup for the new x86_64
3879         codegen.
3880         (jit_compile_intern): Likewise.
3881
3882 2006-09-05 11:42  edwin
3883
3884         * src/vm/jit/emit.h (emit_load*): Changed for new instruction format.
3885         (emit_store*): Likewise.
3886         (emit_copy*): Likewise.
3887         (emit_store_dst): New function.
3888
3889 2006-09-05 11:40  edwin
3890
3891         * src/vm/jit/jit.h (basicblock): Added fields invars and outvars.
3892         * src/vm/jit/stack.h (MARKREACHED): Set invars.
3893         * src/vm/jit/stack.c (new_stack_analyse): Set invars and outvars.
3894         * src/vm/jit/show.c (new_show_basicblock): Show invars and outvars.
3895
3896 2006-09-05 11:34  edwin
3897
3898         * src/vm/jit/jit.h (NEW_INSTRUCTION_*): Renamed to INSTRUCTION_.
3899         The old INSTRUCTION_ and ICMD_ macros are removed.
3900         * src/vm/resolve.c (NEW_INSTRUCTION_*): Replaced with INSTRUCTION_.
3901         * src/vm/jit/show.c (new_show_icmd): Likewise.
3902         * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
3903         Likewise.
3904         * src/vm/jit/stack.c (new_stack_analyse): Likewise, and add a call
3905         of builtintable_replace_function.
3906
3907 2006-09-05 11:20  edwin
3908
3909         * src/vm/jit/verify/typecheck.c: Ported to new instruction format.
3910         * src/vm/jit/verify/typeinfo.c (typeinfo_print): Likewise.
3911         (typeinfo_print_short): Likewise.
3912
3913 2006-09-05 11:16  edwin
3914
3915         * src/vm/builtin.h (builtintable_replace_function): Ported to new
3916         instruction format.
3917         * src/vm/builtin.c (builtintable_replace_function): Likewise.
3918
3919 2006-09-05 11:13  edwin
3920
3921         * src/vm/jit/show.c (new_show_variable_array): New function.
3922         (new_show_method): Fixed calculation of lastbptr.
3923         Only show code lengths if stage >= SHOW_CODE.
3924
3925 2006-09-05 10:52  edwin
3926
3927         * src/vm/resolve.h: Removed code for old instruction format.
3928         * src/vm/resolve.c: Likewise.
3929
3930 2006-09-05 10:47  edwin
3931
3932         * src/vm/jit/allocator/simplereg.h: Removed code for old instruction
3933         format.
3934         * src/vm/jit/allocator/simplereg.c: Likewise.
3935
3936 2006-09-05 10:44  edwin
3937
3938         * src/vm/jit/show.h: Removed code for old instruction format.
3939         * src/vm/jit/show.c: Likewise.
3940
3941 2006-09-05 10:39  edwin
3942
3943         * src/vm/jit/stack.h: Removed code for old instruction format.
3944         * src/vm/jit/stack.c: Likewise.
3945
3946 2006-09-05 10:37  edwin
3947
3948         * src/vm/jit/parse.h: Removed code for old instruction format.
3949         * src/vm/jit/parse.c: Likewise.
3950
3951 2006-09-05 10:20  edwin
3952
3953         Branch for porting the new instruction format.
3954
3955 2006-09-05 10:15  twisti
3956
3957         * src/vm/jit/i386/Makefile.am (noinst_HEADERS): Removed
3958         icmd_uses_reg_res.inc.
3959
3960 2006-09-05 10:10  twisti
3961
3962         * src/vm/jit/i386/icmd_uses_reg_res.inc: Removed.
3963
3964 2006-09-05 10:09  edwin
3965
3966         * src/vm/jit/x86_64/codegen.h (ICONST): Fix this macro so it properly
3967         uses its arguments.
3968         (LCONST): Likewise.
3969
3970 2006-09-05 10:04  twisti
3971
3972         * src/tests/Howdy.java: Removed.
3973
3974 2006-09-05 10:03  twisti
3975
3976         * src/vm/jit/x86_64/codegen.c (codegen): Use cd->stackframesize
3977         instead of stackframesize (bugfix).
3978         (createnativestub): Likewise.
3979
3980 2006-09-05 09:59  edwin
3981
3982         * src/vm/jit/codegen-common.h (codegen_reg_of_dst): New function.
3983         * src/vm/jit/codegen-common.c (codegen_reg_of_dst): Likewise.
3984         Right now this duplicates codegen_reg_of_var's body. We should
3985         probably make one of these functions inline the other.
3986
3987 2006-09-05 00:12  edwin
3988
3989         * src/vm/jit/ifconv/ifconv.c (ifconv_static): Deactivated
3990         show_basicblock calls that will become a problem when code for the
3991         old instruction format is removed.
3992         (check): Likewise.
3993
3994 2006-09-05 00:02  edwin
3995
3996         * src/vm/resolve.c (resolve_field): new_resolve_field_verifier_checks
3997         used instead of the old function that will be removed soon.
3998         (resolve_method): Use new_resolve_method_verifier_checks instead of
3999         the
4000         old function that will be removed soon.
4001         (new_resolve_method_verifier_checks): Port handling of
4002         TYPEINFO_IS_NEWOBJECT.
4003         (new_resolve_method_verifier_checks): Likewise.
4004         (new_constrain_unresolved_field): Likewise.
4005         (new_constrain_unresolved_method): Likewise.
4006
4007 2006-09-04 23:24  edwin
4008
4009         * src/vm/jit/parse.c (new_parse): Changed leftover "OP" macro uses
4010         to "NEW_OP".
4011
4012 2006-09-04 17:45  twisti
4013
4014         * src/vm/jit/mips/emit.c (config.h): Added.
4015         [ENABLE_THREADS] (threads/native/lock.h): Likewise.
4016         (vm/exceptions.h): Likewise.
4017         (vm/stringlocal.h): Likewise.
4018         (vm/jit/asmpart.h): Likewise.
4019         (vm/jit/dseg.h): Likewise.
4020         (vm/jit/replace.h): Likewise.
4021         (emit_exception_stubs): New method.
4022         (emit_patcher_stubs): Likewise.
4023         (emit_replacement_stubs): Likewise.
4024         
4025         * src/vm/jit/mips/codegen.c (codegen): Use cd->stackframesize instead
4026         of stackframesize, use emit functions to generate stubs and call trace
4027         code.
4028         (createnativestub): Likewise.
4029
4030 2006-09-04 17:12  christian
4031
4032         * src/vm/jit/alpha/patcher.c (patcher_wrapper): Patch back machine
4033         code.
4034         (patcher_aconst): Renamed to patcher_resolve_classref_to_classinfo.
4035         (patcher_clinit): Renamed to patcher_initialize_class.
4036         (patcher_resolve_native): Renamed to patcher_resolve_native_function.
4037         (patcher_athrow_areturn): Renamed to patcher_resolve_class.
4038         (patcher_checkcast_instanceof_class): Renamed to
4039         patcher_resolve_classref_to_vftbl.
4040         (patcher_checkcast_instanceof_flags): Renamed to
4041         patcher_resolve_classref_to_flags.
4042         (patcher_builtin_multianewarray): Removed.
4043         (patcher_builtin_arraycheckcast): Likewise.
4044         
4045         * src/vm/jit/alpha/codegen.c (codegen): Use new patcher functions.
4046
4047 2006-09-04 16:33  twisti
4048
4049         * src/vm/jit/alpha/emit.c (vm/builtin.h): Added.
4050         (vm/jit/abi-asm.h): Likewise.
4051         (vm/jit/replace.h): Likewise.
4052         (emit_verbosecall_enter): New method.
4053         (emit_verbosecall_exit): Likewise.
4054         
4055         * src/vm/jit/alpha/codegen.c (codegen): Use emit functions to generate
4056         call trace code.
4057         (createnativestub): Likewise.
4058
4059 2006-09-04 15:48  twisti
4060
4061         * src/vm/jit/powerpc/emit.c (config.h): Added.
4062         [ENABLE_THREADS] (threads/native/lock.h): Likewise.
4063         (vm/builtin.h): Likewise.
4064         (vm/jit/abi-asm.h): Likewise.
4065         (vm/jit/asmpart.h): Likewise.
4066         (vm/jit/replace.h): Likewise.
4067         (emit_exception_stubs): New method.
4068         (emit_patcher_stubs): Likewise.
4069         (emit_replacement_stubs): Likewise.
4070         (emit_verbosecall_enter): Likewise.
4071         (emit_verbosecall_exit): Likewise.
4072         
4073         * src/vm/jit/powerpc/codegen.c (codegen): Use emit functions to
4074         generate stubs and call trace code.
4075         (createnativestub): Likewise.
4076
4077 2006-09-04 14:21  twisti
4078
4079         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): We don't save
4080         an argument on the stack anymore, offsets adjusted.
4081         (asm_handle_exception): Use md_codegen_get_pv_from_pc instead of
4082         assembler code and temporary variables as on other RISC architectures.
4083
4084 2006-09-04 12:38  tbfg
4085
4086         * src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter): Fixed off
4087         by one stackslot overwrite some stuff bug.
4088         
4089         * src/vm/jit/powerpc64/codegen.c (codegen): Fix parameter passing
4090         in.
4091
4092 2006-09-02 14:26  tbfg
4093
4094         * src/vm/jit/powerpc64/arch.h: Reenabled platfrom features.
4095         
4096         * src/vm/jit/powerpc64/codegen.c (codegen): Fixed native calls.
4097         (createnativestub): Likewise.
4098
4099 2006-08-31 19:58  tbfg
4100
4101         * srv/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Fixed argument
4102         handling.
4103
4104 2006-08-31 13:32  tbfg
4105
4106         * src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter): Moved from
4107         codegen.c refactored into function, and made it work.
4108         (emit_verbosecall_exit): Likewise.
4109         
4110         * src/vm/jit/powerpc64/codegen.c (codegen_trace_args): Moved into
4111         emit.c and renamed it to emit_verbosecall_enter.
4112         (codegen): Using emit_verbosecall_* instead of inline code, and
4113         various fixes to make verbose:call work.
4114         (createnativestub): Likewise.
4115
4116 2006-08-28 19:31  tbfg
4117
4118         * src/vm/jit/powerpc64/linux/md-abi.h: New REG_TOC name needed to
4119         call builtins due to ppc64 function descriptors (ELF ABI).
4120         
4121         * src/vm/jit/powerpc64/codegen.c (createnativestub): Big endian
4122         requires M_LLD and M_IST to copy s4 values from dseg to stack.
4123         (codegen): gen_method needs to create function descriptor call.
4124         
4125         * src/vm/jit/powerpc64/asmpart.S: When linking statically
4126         non function descriptor calls are generated by compiler.
4127         Some ifdefs added to fix static linking.
4128
4129 2006-08-28 15:18  twisti
4130
4131         * src/vm/jit/patcher.h (patcher_resolve_class): Added.
4132         (patcher_initialize_class): Likewise.
4133         (patcher_resolve_classref_to_classinfo): Likewise.
4134         (patcher_resolve_classref_to_vftbl): Likewise.
4135         (patcher_resolve_classref_to_flags): Likewise.
4136         (patcher_resolve_native_function): Likewise.
4137         
4138         * src/vm/jit/powerpc/patcher.c (patcher_wrapper): Patch back machine
4139         code.
4140         (patcher_aconst): Renamed to patcher_resolve_classref_to_classinfo.
4141         (patcher_clinit): Renamed to patcher_initialize_class.
4142         (patcher_resolve_native): Renamed to patcher_resolve_native_function.
4143         (patcher_athrow_areturn): Renamed to patcher_resolve_class.
4144         (patcher_checkcast_class): Renamed to
4145         patcher_resolve_classref_to_vftbl.
4146         (patcher_checkcast_instanceof_flags): Renamed to
4147         patcher_resolve_classref_to_flags.
4148         (patcher_builtin_multianewarray): Removed.
4149         (patcher_builtin_arraycheckcast): Likewise.
4150         (patcher_instanceof_class): Likewise.
4151         
4152         * src/vm/jit/powerpc/codegen.c (codegen): Use new patcher functions
4153         (some of them were already commited accidentally in the last commit).
4154
4155 2006-08-28 13:05  twisti
4156
4157         * src/vm/jit/emit.h (emit_verbosecall_enter): Added.
4158         (emit_verbosecall_exit): Likewise.
4159         
4160         * src/vm/jit/powerpc/emit.c (vm/builtin.h): Added.
4161         (vm/jit/asmpart.h): Likewise.
4162         (vm/jit/replace.h): Likewise.
4163         (emit_exception_stubs): New method.
4164         (emit_patcher_stubs): Likewise.
4165         (emit_replacement_stubs): Likewise.
4166         (emit_verbosecall_enter): Likewise.
4167         (emit_verbosecall_exit): Likewise.
4168         
4169         * src/vm/jit/powerpc/codegen.c (vm/jit/abi-asm.h): Added.
4170         (codegen_trace_args): Removed.
4171         (codegen): Use cd->stackframesize instead of stackframesize, use emit
4172         functions to generate stubs and call trace code.
4173         (createnativestub): Likewise.
4174
4175 2006-08-25 11:55  tbfg
4176
4177         * src/vm/jit/show.c (show_method): Stubs are printed green when
4178         using -debug-color.
4179         
4180         * src/vm/jit/powerpc64/linux/md-os.c (md_signal_handler_sigusr2):
4181         Moved into #ifdef ENABLE_THREADS conditional compile, as it depends
4182         on threadobject.
4183         
4184         * src/vm/jit/powerpc64/codegen.h: Added M_LADD_IMM and M_AADD_IMM
4185         for better reading of code. Fixed M_CLR.
4186         
4187         * src/vm/jit/powerpc64/codegen.c (codegen): Some fixes with ?RETURN,
4188         some fixes for -verbose:call (still defunc),
4189         (createnativestub): Lots of fixes in stackframe calculations.
4190         
4191         * src/vm/jit/powerpc64/patcher.c (patch_aconst): Correct asm comment.
4192         
4193         * src/vm/jit/powerpc64/disass.c (disassinstr): Display 64 bit
4194         addresses in disassembled code (-sa).
4195         
4196         * src/vm/jit/powerpc64/asmpart.S (L_asm_vm_call_method_return):
4197         Fixed path for methods returning a value.
4198         (L_asm_handle_exception): Fixed path for exception handling.
4199         (asm_patcher_wrapper): Fixed path for codepatching.
4200
4201 2006-08-25 07:54  twisti
4202
4203         * src/vm/exceptions.c (new_illegalmonitorstateexception): Renamed to
4204         exceptions_new_illegalmonitorstateexception.
4205         (exceptions_throw_illegalmonitorstateexception): New method.
4206         * src/vm/exceptions.h: Likewise.
4207         
4208         * src/threads/native/lock.c (lock_monitor_exit): Use
4209         exceptions_throw_illegalmonitorstateexception instead of
4210         new_illegalmonitorstateexception.
4211         (lock_monitor_wait): Likewise.
4212         (lock_monitor_notify): Likewise.
4213         
4214         * src/cacaoh/headers.c (new_illegalmonitorstateexception): Renamed to
4215         exceptions_throw_illegalmonitorstateexception.
4216
4217 2006-08-25 07:29  twisti
4218
4219         * src/vm/jit/alpha/emit.c (emit_exception_stubs): Bugfix when
4220         reallocating the code area.
4221         (emit_patcher_stubs): Reuse the asm_patcher_wrapper call code.
4222         (emit_replacement_stubs): Removed savedmcodeptr.
4223
4224 2006-08-25 07:14  twisti
4225
4226         * src/vm/jit/alpha/emit.c (emit_exception_stubs): Bugfix when
4227         reallocating the code area.
4228         (emit_patcher_stubs): Likewise.
4229
4230 2006-08-24 18:42  twisti
4231
4232         * src/vm/jit/codegen-common.h (codegendata): Added stackframesize. I
4233         think this is more obvious than in jitdata.
4234         
4235         * src/vm/jit/jit.h (jitdata): Removed stackframesize.
4236         
4237         * src/vm/jit/alpha/emit.c (emit_exception_stubs): Replaced
4238         jd->stackframesize with cd->stackframesize.
4239         
4240         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
4241         (createnativestub): Likewise.
4242         
4243         * src/vm/jit/i386/emit.c (emit_exception_stubs): Likewise.
4244         
4245         * src/vm/jit/i386/codegen.c (codegen): Likewise.
4246         (createnativestub): Likewise.
4247
4248 2006-08-24 09:29  tbfg
4249
4250         srv/vm/jit/powerpc/linux/md-os.c (md_signal_handler_sigusr2): Moved
4251         inside
4252         ENABLE_THREADS ifdef as is depends on threads.
4253
4254 2006-08-23 16:04  twisti
4255
4256         * src/vm/jit/alpha/emit.c [ENABLE_THREADS] (threads/native/lock.h):
4257         Added.
4258         (vm/jit/asmpart.h): Likewise.
4259         (vm/jit/dseg.h): Likewise.
4260         (emit_exception_stubs): New function.
4261         (emit_patcher_stubs): Likewise.
4262         (emit_replacement_stubs): Likewise.
4263         
4264         * src/vm/jit/i386/codegen.c (codegen): Use jd->stackframesize, removed
4265         stub generation code.
4266         (createnativestub): Likewise.
4267
4268 2006-08-23 15:55  twisti
4269
4270         * src/vm/jit/alpha/asmpart.S (asm_handle_exception): Fixed bug with
4271         maybe-leaf stack and use same registers as on MIPS.
4272
4273 2006-08-23 15:45  twisti
4274
4275         * src/vm/jit/alpha/asmpart.S (asm_handle_exception): Use
4276         md_codegen_get_pv_from_pc.
4277
4278 2006-08-23 15:10  twisti
4279
4280         * src/vm/jit/mips/asmpart.S (asm_handle_exception): Changed some
4281         comments.
4282
4283 2006-08-23 14:55  twisti
4284
4285         * src/vm/jit/alpha/asmpart.S (L_asm_handle_exception_stack_loop):
4286         Don't save xpc.
4287
4288 2006-08-23 14:23  twisti
4289
4290         * src/boehm-gc/configure.in (AC_C_INLINE): Set CFLAGS properly before.
4291
4292 2006-08-23 14:07  twisti
4293
4294         * configure.ac (AC_CONFIG_SUBDIRS): Moved to the end of the file and
4295         export OPT_CFLAGS/ARCH_CFLAGS instead of CFLAGS.
4296         
4297         * src/boehm-gc/configure.in: Pass CFLAGS to Makefile's as for CACAO.
4298         * src/boehm-gc/Makefile.am (AM_CXXFLAGS, AM_CFLAGS): Commented.
4299         (AM_CPPFLAGS): Added.
4300
4301 2006-08-23 12:57  twisti
4302
4303         * src/vm/jit/alpha/emit.c (config.h): Added.
4304         [ENABLE_THREADS] (threads/native/lock.h): Likewise.
4305         (vm/jit/asmpart.h): Likewise.
4306         (vm/jit/dseg.h): Likewise.
4307         (emit_exception_stubs): New function.
4308         (emit_patcher_stubs): Likewise.
4309         (emit_replacement_stubs): Likewise.
4310         
4311         * src/vm/jit/alpha/codegen.c (codegen): Use jd->stackframesize, use
4312         new desg_add_* functions, removed stub generation code.
4313         (createnativestub): Likewise.
4314
4315 2006-08-23 12:29  twisti
4316
4317         * src/vm/vm.c (OPT_ALL, OPT_METHOD, OPT_SIGNATURE): #ifndef NDEBUG.
4318         (usage): Don't print -all, -m, -sig options.
4319
4320 2006-08-23 12:12  twisti
4321
4322         * src/vm/jit/emit.h (emit_replacement_stubs): Added.
4323
4324 2006-08-22 20:48  twisti
4325
4326         * src/vm/jit/i386/md-emit.h (vm/jit/codegen-common.h): Added.
4327
4328 2006-08-22 19:53  twisti
4329
4330         * src/vm/jit/emit.h (emit_exception_stubs): Added.
4331         (emit_patcher_stubs): Likewise.
4332         
4333         * src/vm/jit/jit.h (jitdata): Added member stackframesize.
4334
4335 2006-08-22 15:49  tbfg
4336
4337         * src/vm/jit/powerpc64/linux/md-abi.h: Added PA_SIZE and
4338         PA_SIZE_IN_POINTERS defines.
4339         
4340         * src/vm/jit/powerpc64/arch.h: Enabled machine dependend
4341         compare_and_swap implementation for ppc64.
4342         
4343         * src/vm/jit/powerpc64/codegen.c (codegen): Remove lot of PACK_REGS
4344         usages, changed stack address calculations from *4 -> *8, added
4345         a M_NOP for debugging.
4346         
4347         * src/vm/jit/powerpc64/machine-instr.h (compare_and_swap): Ported
4348         for 64 bit.
4349         (atomic_add): Removed.
4350         
4351         * src/vm/jit/powerpc64/patcher.c (patcher_wrapper): Fixed stack
4352         calculations from *4 -> *8
4353         (patcher_aconst): Likewise.
4354         (patcher_athrow_areturn): Likewise.
4355         (patcher_builtin_arraycheckcast): Likewise.
4356         (patcher_builtin_multianewarray): Likewise.
4357         (patcher_checkcast_class): Likewise.
4358         (patcher_checkcast_instanceof_flags): Likewise.
4359         (patcher_checkcast_instanceof_interf): Likewise.
4360         (patcher_clinit): Likewise.
4361         (patcher_get_putfield): Likewise.
4362         (patcher_get_putstatic): Likewise.
4363         (patcher_instanceof_class): Likewise.
4364         (patcher_invokeinterface): Likewise.
4365         (patcher_invokestatic_special): Likewise.
4366         (patcher_invokevirtual): Likewise.
4367         (patcher_resolve_native): Likewise.
4368         
4369         * src/vm/jit/powerpc64/asmpart.S (asm_patcher_wrapper): Fixed
4370         calling convetions, as we callback C. Fixed 32 bit issues.
4371         (asm_call_jit_compiler): PPC64 has additional PA_SIZE
4372         on stack - fixed that.
4373
4374 2006-08-22 14:39  twisti
4375
4376         * src/native/vm/java_lang_VMThrowable.c (fillInStackTrace): Removed
4377         architecture #ifdef's.
4378         (getStackTrace): Likewise.
4379
4380 2006-08-22 12:43  twisti
4381
4382         * src/native/native.c (dummynativetable): Made non-static, GCC 4.1
4383         optimized the table away.
4384         (native_init): Removed dummynativetable-hack.
4385
4386 2006-08-22 09:02  tbfg
4387
4388         * src/vm/options.h: Renamed -verbosecolor to -debug-color,
4389         opt_colorverbose to opt_debugcolor and OPT_COLORVERBOSE to
4390         OPT_DEBUGCOLOR
4391         * src/vm/method.c: Same as above.
4392         * src/vm/jit/dseg.c: Same as above.
4393         * src/vm/vm.c: Same as above.
4394         * src/vm/options.c: Same as above.
4395         * src/vm/jit/Makefile.am: Removed options.h dependecy, as deps are
4396         tracked automatically.
4397
4398 2006-08-21 17:37  twisti
4399
4400         * src/lib/vm/reference/gnu/classpath/VMStackWalker.java
4401         (firstNonNullClassLoader): Added and made native.
4402         
4403         * src/native/vm/gnu_classpath_VMStackWalker.c (getClassContext):
4404         Removed architecture #ifdef's, as most stacktrace stuff is
4405         architecture independent and the dependent stuff is very simple to
4406         implement.
4407         (getCallingClass): Likewise.
4408         (getCallingClassLoader): Likewise.
4409         (firstNonNullClassLoader): Added.
4410
4411 2006-08-21 15:25  twisti
4412
4413         * src/vm/jit/i386/asmpart.S (L_asm_patcher_wrapper_exception): Removed
4414         duplicate add line.
4415
4416 2006-08-21 15:17  twisti
4417
4418         * configure.ac (AC_CONFIG_FILES): Added
4419         src/vm/jit/i386/darwin/Makefile.
4420         
4421         * src/vm/jit/i386/codegen.c (createnativestub): Align stack to
4422         16-bytes.
4423         
4424         * src/vm/jit/i386/darwin/md-os.c: Darwin specific functions.
4425         * src/vm/jit/i386/darwin/md-asm.h: Darwin specific assembler defines.
4426         * src/vm/jit/i386/darwin/Makefile.am: New file.
4427         * src/vm/jit/i386/darwin/.cvsignore: Likewise.
4428         
4429         * src/vm/jit/i386/linux/md-asm.h: Linux specific assembler defines.
4430         * src/vm/jit/i386/freebsd/md-asm.h: FreeBSD specific assembler
4431         defines.
4432         
4433         * src/vm/jit/i386/md-asm.h: Removed.
4434         
4435         * src/vm/jit/i386/asmpart.S (asm_handle_exception): Align stack to
4436         16-bytes.
4437         (asm_abstractmethoderror): Likewise.
4438         (asm_patcher_wrapper): Likewise.
4439         (asm_builtin_f2i, asm_builtin_d2i, asm_builtin_f2l, asm_builtin_d2l):
4440         Likewise.
4441         
4442         * src/vm/jit/i386/Makefile.am (DIST_SUBDIRS): Added darwin.
4443         (AM_CPPFLAGS): Added OS_DIR as include.
4444         (noinst_HEADERS): Removed md-asm.h.
4445         
4446         * src/threads/native/threads.c (threads_cast_darwinstop): Use generic
4447         defines and machine dependent structures.
4448
4449 2006-08-21 14:52  twisti
4450
4451         * src/vm/jit/powerpc/darwin/md-asm.h (asm_initialize_thread_stack):
4452         Define removed.
4453         (asm_perform_threadswitch): Likewise.
4454         (asm_switchstackandcall): Likewise.
4455
4456 2006-08-18 18:37  tbfg
4457
4458         src/vm/options.h: Added the commandlineswitch --verbosecolor which
4459         enables
4460         colored output of show: -si prints method names in red -sd shows
4461         datasegment
4462         dump in blue. (use | less -R)
4463         
4464         src/vm/options.c (options_get): There is a nasty bug in there, read
4465         comment.
4466
4467 2006-08-18 13:07  twisti
4468
4469         * src/toolbox/util.c (util_current_time_millis): Removed.
4470         * src/toolbox/util.h: Likewise.
4471         
4472         * src/vm/vm.c (vm_create): Use builtin_currenttimemillis instead of
4473         util_current_time_millis.
4474
4475 2006-08-18 13:01  twisti
4476
4477         * src/vm/exceptions.c (new_arraystoreexception): Renamed to
4478         exceptions_new_arraystoreexception.
4479         (exceptions_throw_arraystoreexception): New function.
4480         * src/vm/exceptions.h: Likewise.
4481         
4482         * src/vm/builtin.c (builtintable_init): Reimplemented and added
4483         builtintable_function.
4484         (builtintable_replace_function): New function.
4485         (builtin_arraycopy): Likewise.
4486         (builtin_currenttimemillis): Likewise.
4487         
4488         * src/vm/builtin.h (builtintable_entry): Added some extra members.
4489         (builtin_asm_get_exceptionptrptr): Removed.
4490         (builtintable_replace_function): Added.
4491         (builtin_arraycopy): Likewise.
4492         (builtin_currenttimemillis): Likewise.
4493         
4494         * src/vm/builtintable.inc (builtintable_internal): Use new
4495         builtintable_entry structure.
4496         (builtintable_automatic): Likewise.
4497         (builtintable_function): Added.
4498         
4499         * src/vm/jit/stack.c (stack_analyse): Call
4500         builtintable_replace_function.
4501         
4502         * src/vm/jit/show.c (new_show_icmd): Print correct variable of builtin
4503         calls.
4504         (show_icmd): Likewise.
4505         
4506         * src/vm/jit/stacktrace.c (stacktrace_inline_arraystoreexception): Use
4507         exceptions_new_arraystoreexception.
4508         
4509         * src/native/vm/java_lang_VMSystem.c (arraycopy): Removed
4510         implementation and use builtin_arraycopy.
4511         
4512         * src/cacaoh/headers.c
4513         (exceptions_throw_arrayindexoutofboundsexception): Added.
4514         (exceptions_new_arraystoreexception): Likewise.
4515         (exceptions_throw_arraystoreexception): Likewise.
4516
4517 2006-08-18 12:24  twisti
4518
4519         * src/vm/class.c (class_java_lang_VMSystem): Added.
4520         * src/vm/class.h: Likewise.
4521         * src/vm/loader.c (loader_init): Likewise.
4522         * src/vm/linker.c (linker_init): Likewise.
4523
4524 2006-08-18 10:22  tbfg
4525
4526         src/vm/jit/powerpc64/linux/md-os.c: Ported signal handlers to ppc64
4527         ucontext.
4528
4529 2006-08-17 17:51  tbfg
4530
4531         src/vm/jit/powerpc64/md.c (md_get_method_patch_address): Fixed
4532         opcodes in
4533         casetests.
4534         
4535         src/vm/jit/powerpc64/arch.h: Temporarily disabled all hardwarefeaturs
4536         to
4537         make porting easier.
4538         
4539         src/vm/jit/powerpc64/codegen.c: Started to fix 32/64 bit issues.
4540         
4541         src/vm/jit/powerpc64/codegen.h: Removing special long handling.
4542         
4543         src/vm/jit/powerpc64/patcher.c: Changed comment only.
4544
4545 2006-08-17 09:59  twisti
4546
4547         * src/vm/jit/i386/asmpart.S (asm_patcher_wrapper): Restore REG_ITMP3
4548         from stub stack. I missed this when I did the last changes.
4549
4550 2006-08-17 09:26  twisti
4551
4552         * src/vm/jit/optimizing: Added ignore property.
4553
4554 2006-08-16 15:35  christian
4555
4556         * src/vm/jit/optimizing/.cvsignore: New file.
4557
4558 2006-08-16 12:21  christian
4559
4560         * src/vm/jit/stack.c (stack_analyse): Use of real PEI data
4561         (op_data[opcode][PEI]) to prevent copy propagation to LOCALVAR with
4562         ICMD_XSTORE instead of just regarding INVOKES as PEI's.
4563
4564 2006-08-16 12:11  christian
4565
4566         * src/toolbox/worklist.h: Comments added.
4567
4568 2006-08-16 12:10  christian
4569
4570         * src/toolbox/bitvector.c: Comments added.
4571         
4572         * src/toolbox/bitvector.h: Comments added.
4573         
4574         * src/toolbox/worklist.c: Comments added.
4575
4576 2006-08-16 11:35  christian
4577
4578         * src/toolbox/worklist.c: Corrected Header information.
4579         
4580         * src/toolbox/worklist.h: Likewise.
4581         
4582         * src/toolbox/bitvector.c: Likewise.
4583         
4584         * src/toolbox/bitvector.h: Likewise.
4585
4586 2006-08-16 11:31  christian
4587
4588         * src/vm/jit/allocator/liveness.c: Corrected Header information.
4589         
4590         * src/vm/jit/allocator/liveness.h: Likewise.
4591         
4592         * src/vm/jit/allocator/lsra.c: Likewise.
4593         
4594         * src/vm/jit/allocator/lsra.h: Likewise.
4595
4596 2006-08-16 11:26  christian
4597
4598         * src/vm/jit/optimizing/dominators.c: Corrected Header information.
4599         
4600         * src/vm/jit/optimizing/dominators.h: Likewise.
4601         
4602         * src/vm/jit/optimizing/graph.c: Likewise.
4603         
4604         * src/vm/jit/optimizing/graph.h: Likewise.
4605         
4606         * src/vm/jit/optimizing/lifetimes.c: Likewise.
4607         
4608         * src/vm/jit/optimizing/lifetimes.h: Likewise.
4609         
4610         * src/vm/jit/optimizing/lsra.c: Likewise.
4611         
4612         * src/vm/jit/optimizing/lsra.h: Likewise.
4613         
4614         * src/vm/jit/optimizing/ssa.c: Likewise.
4615         
4616         * src/vm/jit/optimizing/ssa.h: Likewise.
4617
4618 2006-08-16 11:18  christian
4619
4620         * src/vm/jit/optimizing/ssa.c (ssa_print_phi): Printing now phi
4621         functions correctly for debug output.
4622         
4623         * src/vm/jit/optimizing/ssa.c (dead_code_elimination): No removal of
4624         potential exception throwing instructions (PEI) anymore.
4625         
4626         * src/vm/jit/jit.h: Renamed op_needs_saved[] to op_data[][NEEDS_SAVED]
4627         and introduced the new op_data[][PEI].
4628         
4629         * src/vm/jit/jit.c (jit_init): Added init of op_data[NEEDS_SAVED|PEI]
4630         
4631         * src/vm/jit/optimizing/lifetimes.c (LifeOutAtStatement): Renamed
4632         op_needs_saved[] to the new op_data[][NEEDS_SAVED]
4633
4634 2006-08-15 14:54  christian
4635
4636         * src/vm/jit/optimizing/lifetimes.c (LifenessAnalysis): Ignore
4637         variables used in phi functions, if they define itself (x =
4638         phi(...,x,...)).
4639         
4640         * src/vm/jit/i386/codegen.c (codegen): Bugfix in code created for
4641         ICMD_IINC for SSA.
4642         
4643         * src/vm/jit/show.c (new_show_method): Regard ENABLE_SSA like
4644         ENABLE_LSRA to suppress output of interfaces.
4645         
4646         * src/vm/jit/show.c (show_method): likewise.
4647         
4648         * src/vm/jit/show.c (show_icmd): Regard special operand format for
4649         ICMD_IINC with SSA.
4650
4651 2006-08-14 18:14  christian
4652
4653         * src/vm/jit/optimizing/: New directory for optimizing compiler (SSA
4654         by now - does not work by now, code merging with svn head introduced
4655         some hazardous faults).
4656         
4657         * src/vm/jit/optimizing/dominators.c: Computation of dominators and
4658         domination frontier for SSA.
4659         
4660         * src/vm/jit/optimizing/dominators.h: Include file for dominators.c.
4661         
4662         * src/vm/jit/optimizing/graph.c: CFG functions needed for SSA.
4663         
4664         * src/vm/jit/optimizing/graph.h: Include file for graph.c
4665         
4666         * src/vm/jit/optimizing/lifetimes.c: Scanning lifetimes for SSA.
4667         
4668         * src/vm/jit/optimizing/lifetimes.h: Include file for lifetimes.c
4669         
4670         * src/vm/jit/optimizing/lsra.c: LSRA based on SSA.
4671         
4672         * src/vm/jit/optimizing/lsra.h: Include file for lsra.c.
4673         
4674         * src/vm/jit/optimizing/Makefile.am: New Makefile.am for this
4675         directory.
4676         
4677         * src/vm/jit/optimizing/ssa.c: Computation of SSA form.
4678         
4679         * src/vm/jit/optimizing/ssa.h: Include File for ssa.c.
4680
4681 2006-08-14 18:10  christian
4682
4683         * src/vm/jit/optimizing: New directory
4684
4685 2006-08-14 17:50  christian
4686
4687         * src/vm/jit/optimizing/: New directory for optimizing compiler (SSA
4688         by now - does not work by now, code merging with svn head introduced
4689         some hazardous faults).
4690         
4691         * src/vm/jit/optimizing/dominators.c: Computation of dominators and
4692         domination frontier for SSA.
4693         
4694         * src/vm/jit/optimizing/dominators.h: Include file for dominators.c.
4695         
4696         * src/vm/jit/optimizing/graph.c: CFG functions needed for SSA.
4697         
4698         * src/vm/jit/optimizing/graph.h: Include file for graph.c
4699         
4700         * src/vm/jit/optimizing/lifetimes.c: Scanning lifetimes for SSA.
4701         
4702         * src/vm/jit/optimizing/lifetimes.h: Include file for lifetimes.c
4703         
4704         * src/vm/jit/optimizing/lsra.c: LSRA based on SSA.
4705         
4706         * src/vm/jit/optimizing/lsra.h: Include file for lsra.c.
4707         
4708         * src/vm/jit/optimizing/Makefile.am: New Makefile.am for this
4709         directory.
4710         
4711         * src/vm/jit/optimizing/ssa.c: Computation of SSA form.
4712         
4713         * src/vm/jit/optimizing/ssa.h: Include File for ssa.c.
4714         
4715         * src/vm/jit/allocator/lsra.c: Moved from src/vm/jit. Quite complete
4716         code change (including: no more allocation of unused reserved
4717         registers, possibility of exact lifetime analysis, removal of old
4718         lifetime test functions).
4719         
4720         * src/vm/jit/allocator/lsra.h: Moved from src/vm/jit.
4721         
4722         * src/vm/jit/allocator/liveness.c: New File. Exact lifetime analysis
4723         for LSRA.
4724         
4725         * src/vm/jit/allocator/liveness.h: New File. Include File for
4726         liveness.c. The #define LV enables by now the exact liveness analysis.
4727         
4728         * src/vm/jit/allocator/Makefile.am: Adopted for new/moved files in
4729         src/vm/jit/allocator.
4730         
4731         * sc/vm/jit/Makefile.am: Adopted for above new/moved files.
4732         
4733         * configure.ac: Introduced ENABLE_SSA: new option --enable-ssa.
4734         Changes for ENABLE_LSRA (--enable-lsra). New Makefile in
4735         src/vm/jit/optimizing added.
4736         
4737         * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Support for
4738         ENABLE_SSA for statistics.
4739         
4740         * src/vm/options.h: opt_lsra is used with ENABLE_SSA like with
4741         ENABLE_LSRA.
4742         
4743         * src/vm/options.c: opt_lsra is used with ENABLE_SSA like with
4744         ENABLE_LSRA.
4745         
4746         * src/vm/global.h: New struct imm for union imm_union to get another
4747         operand for IINC in combination with SSA added.
4748         
4749         * src/vm/vm.c: opt_lsra and the option -lsra is used with ENABLE_SSA
4750         like with ENABLE_LSRA.
4751         
4752         * src/vm/jit/stack.c (stack_analyse): No stack element lifetimes
4753         counting anymore for lsra/ssa (m->maxlifetimes).
4754         
4755         * src/vm/jit/stack.h: No stack lifetime counting anymore for lsra/ssa
4756         (m->maxlifetimes).
4757         
4758         * src/vm/jit/i386/codegen.c: Support for ENABLE_SSA added.
4759         
4760         * src/vm/jit/i386/codegen.c (codegen_insert_phi_moves): New function
4761         to insert phi moves for SSA at the end of Basic Blocks.
4762         
4763         * src/vm/jit/i386/codegen.c (cg_move): New function to create the
4764         instructions for the actual move for codegen_insert_phi_moves).
4765         
4766         * src/vm/jit/i386/codegen.c (codegen): Logic and calls to use
4767         codegen_insert_phi_moves for SSA added. With SSA for parameters in
4768         memory this memory positions cannot be reused to avoid copying. Checks
4769         added to prevent moves to or from stackslots removed by the dead code
4770         elimination. Special handling for the new ICMD_IINC operand format
4771         used by SSA added.
4772         
4773         * src/vm/jit/i386/codegen.h (M_COPY): Checks added to prevent moves to
4774         or from stackslots removed by the dead code elimination. Original
4775         M_COPY renamed to _M_COPY.
4776         
4777         * src/vm/jit/jit.c (jit_init): Populate op_needs_saved. Regard
4778         ENABLE_SSA.
4779         
4780         * src/vm/jit/jit.h: Support for ENABLE_SSA added. Added an array which
4781         shows which ICMD's need a SAVEDVAR for SSA and the new LSRA with exact
4782         liveness analysis. src/toolbox/Makefile.am: Changed to include the
4783         following new files:
4784         
4785         * src/toolbox/bitvector.c: Bitvector implementation for SSA.
4786         
4787         * src/toolbox/bitvector.h: Include file for bitvector.c.
4788         
4789         * src/toolbox/worklist.c: Worklist implementation for SSA.
4790         
4791         * src/toolbox/worklist.h: Include file for worklist.c.
4792
4793 2006-08-14 10:59  twisti
4794
4795         * src/vm/jit/codegen-common.c (codegen_findmethod): Renamed to
4796         codegen_get_pv_from_pc.
4797         
4798         * src/vm/jit/codegen-common.h (codegen_findmethod): Likewise.
4799         (md_codegen_findmethod): Renamed to md_codegen_get_pv_from_pc.
4800         
4801         * src/vm/jit/stacktrace.c (stacktrace_create_stackframeinfo):
4802         Likewise.
4803         (stacktrace_create_inline_stackframeinfo): Likewise.
4804         (stacktrace_create_extern_stackframe): Likewise.
4805         (stacktrace_create): Likewise.
4806         
4807         * src/vm/jit/alpha/md.c (md_codegen_findmethod): Renamed to
4808         md_codegen_get_pv_from_pc.
4809         * src/vm/jit/i386/md.c: Likewise.
4810         * src/vm/jit/mips/md.c: Likewise.
4811         * src/vm/jit/powerpc/md.c: Likewise.
4812         * src/vm/jit/powerpc64/md.c: Likewise.
4813         * src/vm/jit/sparc64/md.c: Likewise.
4814         * src/vm/jit/x86_64/md.c: Likewise.
4815         
4816         * src/vm/jit/i386/asmpart.S: Likewise.
4817         * src/vm/jit/mips/asmpart.S: Likewise.
4818         * src/vm/jit/powerpc/asmpart.S: Likewise.
4819         * src/vm/jit/x86_64/asmpart.S: Likewise.
4820         * src/vm/jit/intrp/asmpart.c: Likewise.
4821         
4822         * src/vm/jit/i386/patcher.c (patcher_wrapper): Fixed comment.
4823         * src/vm/jit/x86_64/patcher.c: Likewise.
4824
4825 2006-08-11 13:11  tbfg
4826
4827         * src/vm/jit/powerpc64/linux/md-abi.h: LA_WORD_SIZE renamed to
4828         LA_SIZE_IN_POINTERS, value fixed
4829         * src/vm/jit/powerpc64/linux/md-abi.c: LA_SIZE_IN_POINTERS rename
4830         * src/vm/jit/powerpc64/linux/md.c (md_codegen_findmethod): PPC64 uses
4831         r14
4832         instead of r13 (as PPC) for PV so opcodes changed.
4833         * src/vm/jit/powerpc64/asmpart.S: Using LA_SIZE instead of
4834         LA_WORD_SIZE,
4835         LA_SIZE_IN_POINTERS for SAVE_*_REGISTERS macros only.
4836
4837 2006-08-11 10:13  twisti
4838
4839         * src/vm/jit/powerpc/linux/md-abi.h (LA_WORD_SIZE): Renamed to
4840         LA_SIZE_IN_POINTERS.
4841         
4842         * src/vm/jit/powerpc/darwin/md-abi.h (LA_WORD_SIZE): Likewise.
4843         
4844         * src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Use
4845         LA_SIZE_IN_POINTERS instead of LA_WORD_SIZE.
4846         
4847         * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Likewise.
4848         
4849         * src/vm/jit/powerpc/asmpart.S: Likewise.
4850         
4851         * src/vm/jit/stack.c (new_stack_analyse): Likewise.
4852         (stack_analyse): Likewise.
4853         
4854         * src/vm/jit/reg.c (reg_setup): Likewise.
4855
4856 2006-08-10 19:45  tbfg
4857
4858         * src/vm/jit/powerpc64/linux/md-abi.h: fixed linkage area defines for
4859         64bit abi.
4860         * src/vm/jit/powerpc64/linux/md-asm.h: fixed register name defines
4861         and
4862         SAVE/RESTORE macros.
4863         * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): fixed no
4864         argument method
4865         call path, coming back to C now.
4866
4867 2006-08-10 09:10  twisti
4868
4869         * src/boehm-gc/darwin_stop_world.c: Updated to version 6.8.
4870         * src/boehm-gc/doc/README.changes: Likewise.
4871         * src/boehm-gc/doc/README: Likewise.
4872         * src/boehm-gc/include/gc.h: Likewise.
4873         * src/boehm-gc/include/gc_config_macros.h: Likewise.
4874         * src/boehm-gc/include/private/gcconfig.h: Likewise.
4875         * src/boehm-gc/configure.in: Likewise.
4876         * src/boehm-gc/version.h: Likewise.
4877         * src/boehm-gc/malloc.c: Likewise.
4878         * src/boehm-gc/pthread_support.c: Likewise.
4879         * src/boehm-gc/os_dep.c: Likewise.
4880         * src/boehm-gc/dyn_load.c: Likewise.
4881
4882 2006-08-09 15:11  twisti
4883
4884         * src/vm/jit/i386/codegen.c (codegen): Fixed ICMD_LMUL bug.
4885
4886 2006-08-09 15:10  twisti
4887
4888         * src/vm/jit/i386/emit.c (emit_load_s1): Coding style changes.
4889         (emit_load_s2): Likewise.
4890         (emit_load_s3): Likewise.
4891         (emit_load_s1_low): Likewise.
4892         (emit_load_s2_low): Likewise.
4893         (emit_load_s1_high): Likewise.
4894         (emit_store): Likewise.
4895
4896 2006-08-08 19:57  edwin
4897
4898         * src/vm/jit/jit.c (stackreq): Initialize this table statically.
4899         (jit_init): Removed dynamic initialization of stackreq table.
4900
4901 2006-08-08 19:23  edwin
4902
4903         * src/native/vm/java_lang_reflect_Method.c
4904         (Java_java_lang_reflect_Method_invokeNative): Removed unused
4905         variables.
4906         
4907         * src/native/vm/java_lang_reflect_Constructor.c (vm/access.h):
4908         Include to fix warning.
4909
4910 2006-08-08 19:18  edwin
4911
4912         * src/native/vm/java_lang_reflect_Field.c (cacao_get_field_address):
4913         Use access_check_caller.
4914
4915 2006-08-08 16:21  edwin
4916
4917         * src/vm/access.h, src/vm/access.c (access_check_caller): Added.
4918         
4919         * src/native/vm/java_lang_reflect_Method.c
4920         (Java_java_lang_reflect_Method_invokeNative): Use access_check_caller
4921         for the access check.
4922         
4923         * src/native/vm/java_lang_reflect_Constructor.c
4924         (Java_java_lang_reflect_Constructor_constructNative): Likewise. This
4925         should fix the mauve test case
4926         java.lang.reflect.AccessibleObject.security.
4927         
4928         * src/cacaoh/headers.c (stacktrace_getClassContext): Added dummy
4929         implementation.
4930
4931 2006-08-08 14:24  twisti
4932
4933         * src/vm/jit/parse.h (new_block_insert): Renamed to
4934         NEW_MARK_BASICBLOCK.
4935         (block_insert): Renamed to MARK_BASICBLOCK.
4936         
4937         * src/vm/jit/parse.c (new_fillextable): Likewise.
4938         (fillextable): Likewise.
4939         (new_parse): Likewise.
4940         (parse): Likewise.
4941
4942 2006-08-08 13:25  twisti
4943
4944         * src/vm/jit/stack.c (new_stack_analyse): Replaced debug_nr with nr.
4945         
4946         * src/vm/jit/verify/typecheck.c (typestate_reach): Likewise.
4947         (verify_basic_block): Likewise.
4948         
4949         * src/vm/jit/i386/codegen.c (codegen): Likewise.
4950         * src/vm/jit/powerpc/codegen.c (codegen): Likewise.
4951         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
4952
4953 2006-08-08 13:03  twisti
4954
4955         * src/vm/jit/cfg.c (cfg_insert_predecessors): New method.
4956         (cfg_build): Use cfg_insert_predecessors for TABLESWITCH and
4957         LOOKUPSWITCH.
4958
4959 2006-08-08 13:01  edwin
4960
4961         * src/vm/resolve.h, src/vm/resolve.c (new_resolve_method_lazy):
4962         Removed curstack parameter.
4963         (new_resolve_field_lazy): Likewise.
4964         (new_constrain_unresolved_field): New function.
4965         (new_constrain_unresolved_method): Likewise.
4966         
4967         * src/vm/jit/parse.c (new_parse): Use new_resolve_field_lazy and
4968         new_resolve_method_lazy.
4969
4970 2006-08-08 12:56  edwin
4971
4972         * src/vm/jit/stack.c (new_stack_analyse): For INVOKE* instructions,
4973         store the live-through stack slots as additional arguments after
4974         the live-in slots. These live-through slots are needed by the
4975         verifier and by on-stack replacement in order to create a replacement
4976         point at the call site.
4977         NOTE: Currently the live-through slots are also stored for builtins.
4978         This should change in the final version.
4979
4980 2006-08-08 12:46  edwin
4981
4982         * src/vm/jit/jit.h (NEW_INSTRUCTION_IS_RESOLVED): New macro.
4983         (NEW_INSTRUCTION_IS_UNRESOLVED): Likewise.
4984         (NEW_INSTRUCTION_MUST_CHECK): Likewise.
4985
4986 2006-08-08 12:45  twisti
4987
4988         * src/vm/jit/cfg.h (CFG_UNKNOWN_PREDECESSORS): Defined.
4989         
4990         * src/vm/jit/stack.c (vm/jit/cfg.h): Added.
4991         (new_stack_analyse): Set predecessorcount for EXH blocks to
4992         CFG_UNKNOWN_PREDECESSORS.
4993         (stack_analyse): Likewise.
4994         
4995         * src/vm/jit/show.c (new_show_basicblock): Print predecessor block
4996         numbers.
4997         (show_basicblock): Likewise.
4998
4999 2006-08-07 16:10  twisti
5000
5001         * src/vm/jit/reorder.c (reorder): Iterate to m->basicblockcount + 1,
5002         so we kind of set the last basic block too.
5003
5004 2006-08-07 15:30  twisti
5005
5006         * src/vm/jit/jit.h (basicblock): Renamed debug_nr to nr.
5007         (BASICBLOCK_INIT): Likewise.
5008         
5009         * src/vm/jit/reorder.c (reorder_place_next_unplaced_block): Likewise.
5010         (reorder): Likewise.
5011         
5012         * src/vm/jit/show.c (new_show_method): Likewise.
5013         (show_method): Likewise.
5014         (new_show_basicblock): Likewise.
5015         (show_basicblock): Likewise.
5016         (SHOW_TARGET): Likewise.
5017         (show_icmd): Likewise.
5018         
5019         * src/vm/jit/ifconv/ifconv.c (check): Likewise.
5020         
5021         * src/vm/jit/loop/analyze.c (insert_exception): Likewise.
5022         (copy_handler): Likewise.
5023         (create_static_checks): Likewise.
5024         
5025         * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
5026         (typecheck_reset_flags): Likewise.
5027         (typecheck): Likewise.
5028         
5029         * src/vm/jit/verify/typeinfo.c (typeinfo_print): Likewise.
5030         (typeinfo_print_short): Likewise.
5031         (typeinfo_print_stacktype): Likewise.
5032
5033 2006-08-07 15:12  tbfg
5034
5035         * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method, asm_cacheflush):
5036         ppc64 abi needs function descriptor for function called from other
5037         relocateable modules and uses direct calling for module intern calls.
5038
5039 2006-08-07 11:15  twisti
5040
5041         * src/vm/jit/reorder.c (reorder): #ifdef debug output.
5042
5043 2006-08-07 11:12  twisti
5044
5045         * src/vm/jit/Makefile.am (libjit_la_SOURCES): Add cfg.[ch] and
5046         reorder.[ch] for debugging.
5047
5048 2006-08-07 11:10  twisti
5049
5050         * src/vm/jit/jit.c (vm/jit/cfg.h): Added.
5051         (vm/jit/reorder.h): Likewise.
5052         (jit_recompile): Set JITDATA_FLAG_REORDER flag.
5053         (jit_compile_intern): Call cfg_build and reorder.
5054         (jit_complement_condition): New function.
5055         
5056         * src/vm/jit/jit.h (basicblock): Changed type of predecessors and
5057         successors.
5058         (jit_complement_condition): Added.
5059         
5060         * src/vm/jit/cfg.c (cfg_allocate_predecessors): New method.
5061         (cfg_allocate_successors): Likewise.
5062         (cfg_build): Finished implementation.
5063         
5064         * src/vm/jit/reorder.c (reorder_place_next_unplaced_block): New
5065         function.
5066         (reorder): Improved, still not working.
5067         
5068         * src/vm/jit/show.c (new_show_method): Walk the basic block chain to
5069         find the last block, as this may change.
5070         (show_method): Likewise.
5071
5072 2006-08-04 14:50  twisti
5073
5074         * src/vm/jit/reorder.c: New file.
5075         * src/vm/jit/reorder.h: Likewise.
5076
5077 2006-08-04 14:42  twisti
5078
5079         * src/vm/jit/parse.c (new_parse): MZERO basicblock array.
5080         (parse): Likewise.
5081         
5082         * src/vm/jit/jit.h (JITDATA_FLAG_REORDER): Added.
5083         (JITDATA_HAS_FLAG_REORDER): Likewise.
5084         (basicblock): Removed pre_count and added predecessorcount,
5085         successorcount, predecessors, successors.
5086         (BASICBLOCK_INIT): Don't zero fields.
5087         
5088         * src/vm/jit/stack.c (new_stack_analyse): Renamed pre_count to
5089         predecessorcount.
5090         (stack_analyse): Likewise and removed predecessor count calculation.
5091         
5092         * src/vm/jit/show.c (new_show_basicblock): Likewise.
5093         (show_basicblock): Likewise.
5094         
5095         * src/vm/jit/ifconv/ifconv.c (ifconv_static): Likewise.
5096
5097 2006-08-04 14:27  twisti
5098
5099         * src/vm/jit/cfg.c: New file.
5100         * src/vm/jit/cfg.h: Likewise.
5101
5102 2006-08-04 14:10  twisti
5103
5104         * src/vm/options.c (opt_foo): Added. This is a development option.
5105         * src/vm/options.h (opt_foo): Likewise.
5106         
5107         * src/vm/vm.c (vm_create): Added OPT_FOO.
5108
5109 2006-08-01 20:38  twisti
5110
5111         * autogen.sh: Recognize autoconf 2.60.
5112
5113 2006-08-01 15:51  twisti
5114
5115         * src/vm/jit/codegen-common.c (codegen_createnativestub): Set
5116         JITDATA_FLAG_INSTRUMENT for opt_prof.
5117
5118 2006-08-01 15:08  twisti
5119
5120         * src/vm/jit/recompile.c (recompile_thread): Check return value of
5121         jit_recompile and print the exception in error case.
5122
5123 2006-08-01 13:10  twisti
5124
5125         * src/vm/jit/parse.c (new_parse): Replaced opt_verify with
5126         JITDATA_HAS_FLAG_VERIFY, because on recompilation we don't turn
5127         verifying on.
5128
5129 2006-07-31 20:42  twisti
5130
5131         * src/vm/jit/x86_64/codegen.c (codegen): Load address for INVOKESTATIC
5132         from data segment and pass the displacement to the patcher.
5133         
5134         * src/vm/jit/x86_64/patcher.c (patcher_get_putstatic): Use
5135         displacement from patcher, not from the instruction.
5136         (patcher_builtin_multianewarray): Don't patch BUILTIN_multianewarray
5137         address, it's not required.
5138         (patcher_invokestatic_special): Use displacement passed and patch the
5139         data segment.
5140         
5141         * src/vm/jit/x86_64/md.c (md_stacktrace_get_returnaddress): Changed to
5142         new INVOKESTATIC calling sequence.
5143
5144 2006-07-31 16:30  twisti
5145
5146         * src/native/native.c
5147         (native/include/java_lang_management_VMManagementFactory.h): Added.
5148         (dummynativetable): Added VMManagementFactory methods.
5149
5150 2006-07-31 16:26  twisti
5151
5152         * src/native/include/.cvsignore: Added
5153         java_lang_management_VMManagementFactory.h.
5154
5155 2006-07-31 16:25  twisti
5156
5157         * src/native/vm/java_lang_management_VMManagementFactory.c: New file.
5158         
5159         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
5160         java_lang_management_VMManagementFactory.c.
5161         
5162         * src/native/include/Makefile.am
5163         (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
5164         java_lang_management_VMManagementFactory.h.
5165
5166 2006-07-31 15:35  twisti
5167
5168         * src/native/include/Makefile.am (DO_HEADER_FILES): Do not depend on
5169         CACAO_VM_ZIP.
5170
5171 2006-07-31 15:27  twisti
5172
5173         * src/native/include/.cvsignore: Added
5174         gnu_java_lang_management_VMThreadMXBeanImpl.h and
5175         java_lang_management_ThreadInfo.h.
5176
5177 2006-07-31 15:26  twisti
5178
5179         * src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c: New
5180         file.
5181         
5182         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
5183         gnu_java_lang_management_VMThreadMXBeanImpl.c.
5184         
5185         * src/native/include/Makefile.am
5186         (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
5187         gnu_java_lang_management_VMThreadMXBeanImpl.h and
5188         java_lang_management_ThreadInfo.h.
5189         (VM_ZIP): Removed.
5190         
5191         * src/native/jni.h (_Jv_JavaVM): Added total_started_thread_count.
5192         
5193         * src/threads/native/threads.c (threads_startup_thread): Count
5194         total_started_thread_count.
5195         
5196         * src/cacao/cacao.c (main): Likewise.
5197         
5198         * src/cacaoh/headers.c (_Jv_jvm): Added.
5199
5200 2006-07-31 14:43  twisti
5201
5202         * src/native/include: Updated ignore property.
5203
5204 2006-07-31 14:35  twisti
5205
5206         * src/native/vm/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c:
5207         New file.
5208         
5209         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
5210         gnu_java_lang_management_VMClassLoadingMXBeanImpl.c.
5211         
5212         * src/native/include/Makefile.am
5213         (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADER_FILES): Added
5214         gnu_java_lang_management_VMClassLoadingMXBeanImpl.h.
5215         
5216         * src/native/include/.cvsignore: Likewise.
5217         
5218         * src/native/jni.h (_Jv_JavaVM): Added
5219         Java_gnu_java_lang_management_VMClassLoadingMXBeanImpl_verbose.
5220         
5221         * src/native/native.c
5222         (native/include/gnu_java_lang_management_VMClassLoadingMXBeanImpl.h):
5223         Added.
5224         (native/include/gnu_java_lang_management_VMMemoryMXBeanImpl.h):
5225         Likewise.
5226         (dummynativetable): Added VMClassLoadingMXBeanImpl and
5227         VMMemoryMXBeanImpl functions.
5228
5229 2006-07-31 14:21  twisti
5230
5231         * src/vm/classcache.c (classcache_number_of_loaded_classes): New
5232         internal function.
5233         (classcache_get_loaded_class_count): New function.
5234         (classcache_jvmti_GetLoadedClasses): Renamed to
5235         classcache_get_loaded_classes and reimplemented.
5236         
5237         * src/vm/classcache.h (classcache_get_loaded_class_count): Added.
5238         (classcache_jvmti_GetLoadedClasses): Renamed to
5239         classcache_get_loaded_classes.
5240
5241 2006-07-31 12:29  twisti
5242
5243         * src/native/include/.cvsignore: Added
5244         gnu_java_lang_management_VMMemoryMXBeanImpl.h and
5245         java_lang_management_MemoryUsage.h.
5246
5247 2006-07-31 12:28  twisti
5248
5249         *
5250         src/lib/vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java:
5251         New file.
5252         
5253         * src/lib/Makefile.am (VM_JAVA_FILES): Added
5254         gnu/java/lang/management/VMMemoryMXBeanImpl.java.
5255         (VM_CLASS_FILES): Likewise.
5256         
5257         * src/native/include/Makefile.am
5258         (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
5259         gnu_java_lang_management_VMMemoryMXBeanImpl.h and
5260         java_lang_management_MemoryUsage.h.
5261         
5262         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
5263         gnu_java_lang_management_VMMemoryMXBeanImpl.c.
5264         
5265         * src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c
5266         (vm/loader.h): Added.
5267
5268 2006-07-31 12:25  twisti
5269
5270         * src/mm/boehm.c (gc_get_total_bytes): New function.
5271         * src/mm/boehm.h (gc_get_total_bytes): Added.
5272
5273 2006-07-31 12:17  twisti
5274
5275         * src/lib/vm/reference/java/lang/VMClassLoader.java: Merged GNU
5276         Classpath changes.
5277
5278 2006-07-31 12:15  twisti
5279
5280         * src/native/Makefile.am (nativetable.inc): Renamed VM_ZIP to
5281         CACAO_VM_ZIP.
5282
5283 2006-07-28 13:24  twisti
5284
5285         * src/vm/jit/dseg.c (desg_increase): Removed.
5286         (dseg_finish): New function.
5287         (dseg_find_s4): Likewise.
5288         (dseg_find_s8): Likewise.
5289         (dseg_find_float): Likewise.
5290         (dseg_find_double): Likewise.
5291         (dseg_find_address): Likewise.
5292         (dseg_add_s4_intern): Likewise.
5293         (dseg_add_unique_s4): Likewise.
5294         (dseg_add_s4): Likewise.
5295         (dseg_add_s8_intern): Likewise.
5296         (dseg_add_unique_s8): Likewise.
5297         (dseg_add_s8): Likewise.
5298         (dseg_add_float_intern): Likewise.
5299         (dseg_add_unique_float): Likewise.
5300         (dseg_add_float): Likewise.
5301         (dseg_add_double_intern): Likewise.
5302         (dseg_add_unique_double): Likewise.
5303         (dseg_add_double): Likewise.
5304         (dseg_add_address_intern): Likewise.
5305         (dseg_add_unique_address): Likewise.
5306         (dseg_add_address): Likewise.
5307         
5308         * src/vm/jit/dseg.h (dsegentry): New structure.
5309         
5310         * src/vm/jit/codegen-common.c (codegen_setup): Don't allocate memory
5311         for data segment.
5312         (codegen_finish): Call dseg_finish.
5313         
5314         * src/vm/jit/codegen-common.h (codegendata): Removed dsegtop and
5315         dsegsize, added dseg.
5316         
5317         * src/vm/jit/powerpc/codegen.c: Use new dseg function names.
5318         
5319         * src/vm/jit/powerpc/emit.c (vm/jit/dseg.h): Added.
5320         (emit_iconst): Use new dseg function names.
5321
5322 2006-07-28 10:54  twisti
5323
5324         * src/vm/jit/powerpc/linux/md-abi.h (REG_ITMP23_PACKED): New define.
5325         * src/vm/jit/powerpc/darwin/md-abi.h (REG_ITMP23_PACKED): Likewise.
5326
5327 2006-07-28 10:12  twisti
5328
5329         * src/vm/loader.c (load_class_from_classbuffer): Enable "Extra bytes
5330         at the end of class file"-check, since we are something like Java 1.5.
5331
5332 2006-07-26 15:20  twisti
5333
5334         * src/vm/jit/jit.h (INSTRUCTION_UNRESOLVED_CLASS): Defined.
5335         
5336         * src/vm/jit/alpha/codegen.c (codegen): First changes for duplicate
5337         patcher removal.
5338
5339 2006-07-26 14:50  twisti
5340
5341         * src/vm/jit/show.c (new_show_method): Print stub length in method
5342         header.
5343         (show_method): Likewise.
5344         
5345         * src/vm/jit/codegen-common.c (codegen_addpatchref): Don't cast to
5346         u1*.
5347
5348 2006-07-26 13:27  twisti
5349
5350         * src/vm/jit/parse.h (code_get_u1, code_get_s1, code_get_u2)
5351         (code_get_s2, code_get_u4, code_get_s4): Removed.
5352         
5353         * src/vm/suck.h (SUCK_BE_S1, SUCK_BE_S2, SUCK_BE_S4, SUCK_BE_S8):
5354         Defined.
5355         
5356         * src/vm/jit/parse.c (vm/suck.h): Added.
5357         (new_parse): Use SUCK_BE_* macros instead of code_get_*.
5358         (parse): Likewise.
5359
5360 2006-07-26 11:04  twisti
5361
5362         * src/vm/builtin.c (builtin_print_argument): #ifndef NDEBUG.
5363
5364 2006-07-26 10:16  twisti
5365
5366         * src/vm/jit/powerpc/linux/md-asm.h: Added register defines.
5367
5368 2006-07-26 10:06  twisti
5369
5370         * src/vm/jit/powerpc/darwin/md-asm.h: Added fr register defines again,
5371         we need them.
5372         
5373         * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Use internal
5374         register defines instead of numbers, as darwin does not understand it.
5375         (asm_replacement_in): Likewise.
5376
5377 2006-07-26 09:59  twisti
5378
5379         * src/vm/jit/powerpc/darwin/md-asm.h (mach/ppc/asm.h): Removed. Don't
5380         define the fr register names.
5381
5382 2006-07-26 09:43  twisti
5383
5384         * src/vm/jit/powerpc/linux/md-asm.h (asm/ppc_asm.h): Removed, it's not
5385         an official kernel header.
5386         
5387         * src/vm/jit/powerpc/asmpart.S: Use CACAO internal register defines or
5388         simple register numbers.
5389
5390 2006-07-25 18:30  twisti
5391
5392         * src/vm/global.h (IS_FLT_TYPE): Added.
5393         (IS_DBL_TYPE): Likewise.
5394
5395 2006-07-25 16:00  twisti
5396
5397         * src/vm/jit/i386/md-emit.h (emit_ialu): Removed.
5398         (emit_ialuconst): Likewise.
5399         (emit_lalu): Likewise.
5400         (emit_laluconst): Likewise.
5401         (emit_ishift): Likewise.
5402         (emit_ishiftconst): Likewise.
5403         (emit_ifcc_iconst): Likewise.
5404
5405 2006-07-25 15:57  twisti
5406
5407         * src/vm/jit/jit.h (ICMD_ELSE_ICONST): Removed.
5408         (ICMD_IFEQ_ICONST): Likewise.
5409         (ICMD_IFNE_ICONST): Likewise.
5410         (ICMD_IFLT_ICONST): Likewise.
5411         (ICMD_IFGE_ICONST): Likewise.
5412         (ICMD_IFGT_ICONST): Likewise.
5413         (ICMD_IFLE_ICONST): Likewise.
5414         
5415         * src/vm/jit/jit.c (icmd_names): Set removed ICMDs to UNDEF.
5416         
5417         * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
5418         Removed ICMDs.
5419         (allocate_scratch_registers): Likewise.
5420         
5421         * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
5422         
5423         * src/vm/jit/stack.c (new_stack_analyse): Likewise.
5424         (stack_analyse): Likewise.
5425         
5426         * src/vm/jit/show.c (new_show_icmd): Likewise.
5427         (show_icmd): Likewise.
5428         
5429         * src/vm/jit/alpha/arch.h (CONDITIONAL_LOADCONST): Removed.
5430         * src/vm/jit/i386/arch.h: Likewise.
5431         * src/vm/jit/mips/arch.h: Likewise.
5432         * src/vm/jit/powerpc/arch.h: Likewise.
5433         * src/vm/jit/powerpc64/arch.h: Likewise.
5434         * src/vm/jit/sparc64/arch.h: Likewise.
5435         * src/vm/jit/x86_64/arch.h: Likewise.
5436         
5437         * src/vm/jit/alpha/codegen.c (codegen): Removed ICMDs.
5438         * src/vm/jit/i386/codegen.c: Likewise.
5439         * src/vm/jit/mips/codegen.c: Likewise.
5440         * src/vm/jit/sparc64/codegen.c: Likewise.
5441         * src/vm/jit/x86_64/codegen.c: Likewise.
5442         
5443         * src/vm/jit/i386/emit.c (emit_ifcc_iconst): Removed.
5444
5445 2006-07-25 15:33  twisti
5446
5447         * src/vm/jit/x86_64/md.c (md_signal_handler_sigusr2): Fixed comment.
5448         
5449         * src/vm/jit/i386/linux/md-os.c (md_signal_handler_sigusr2): New
5450         function.
5451
5452 2006-07-25 13:52  twisti
5453
5454         * src/vm/jit/jit.h (TYPE_INT, TYPE_LNG, TYPE_FLT, TYPE_DBL, TYPE_ADR)
5455         (IS_INT_LNG_TYPE, IS_FLT_DBL_TYPE, IS_2_WORD_TYPE)
5456         (IS_INT_TYPE, IS_LNG_TYPE, IS_ADR_TYPE, IS_VOID_TYPE): Removed.
5457         
5458         * src/vm/global.h (TYPE_LONG, TYPE_FLOAT, TYPE_DOUBLE, TYPE_ADDRESS):
5459         Removed.
5460         (TYPE_INT, TYPE_LNG, TYPE_FLT, TYPE_DBL, TYPE_ADR)
5461         (IS_INT_LNG_TYPE, IS_FLT_DBL_TYPE, IS_2_WORD_TYPE)
5462         (IS_INT_TYPE, IS_LNG_TYPE, IS_ADR_TYPE, IS_VOID_TYPE): Added.
5463         
5464         * src/vm/loader.c (load_field): Use short TYPE_* defines.
5465         (load_newly_created_array): Likewise.
5466         
5467         * src/vm/descriptor.c (descriptor_to_basic_type): Likewise.
5468         (descriptor_typesize): Likewise.
5469         (descriptor_to_typedesc): Likewise.
5470         (descriptor_pool_parse_method_descriptor): Likewise.
5471         (descriptor_debug_print_typedesc): Likewise.
5472         
5473         * src/vm/jit/verify/typecheck.c (typestack_copy): Likewise.
5474         (typestack_put_retaddr): Likewise.
5475         (typestack_merge): Likewise.
5476         (verify_basic_block): Likewise.
5477         (verify_init_locals): Likewise.
5478         
5479         * src/vm/jit/verify/typeinfo.c (typevectorset_copymergedtype):
5480         Likewise.
5481         (typevectorset_store_retaddr): Likewise.
5482         (typevectorset_store_twoword): Likewise.
5483         (typevector_merge): Likewise.
5484         (typeinfos_init_from_methoddesc): Likewise.
5485         (typeinfo_test_parse): Likewise.
5486         (typeinfo_print_type): Likewise.
5487         (typeinfo_print_stacktype): Likewise.
5488         
5489         * src/vm/jit/verify/typeinfo.h (TYPE_IS_RETURNADDRESS): Likwise.
5490         (TYPE_IS_REFERENCE): Likwise.
5491         
5492         * src/native/jni.c (_Jv_jni_vmargs_from_objectarray): Likewise.
5493
5494 2006-07-25 12:33  twisti
5495
5496         * src/mm/memory.c (memory_cnew): When MAP_ANONYMOUS and MAP_ANON are
5497         not defined, we use simply malloc. This is required for IRIX.
5498
5499 2006-07-25 11:38  twisti
5500
5501         * configure.ac (AC_FUNC_MMAP): Added.
5502         (AC_CHECK_FUNCS): Removed mprotect.
5503         
5504         * src/mm/memory.c (DEFAULT_CODEMEM_SIZE): Renamed to
5505         DEFAULT_CODE_MEMORY_SIZE.
5506         (codememlock): Renamed to lock_code_memory.
5507         (codememptr): Renamed to code_memory.
5508         (codememsize): Renamed to code_memory_size.
5509         (pagesize): Added global static variable.
5510         (memory_init): Use new variable names and set pagesize.
5511         (memory_cnew): Don't use malloc/mprotect as this makes some problems
5512         with selinux enabled distributions. Instead use mmap.
5513
5514 2006-07-21 14:40  twisti
5515
5516         * src/boehm-gc/configure.in (MY_CFLAGS): Commented. We want to use the
5517         top-level CFLAGS.
5518         * src/boehm-gc/Makefile.am (LTCOMPILE): Likewise.
5519         (LINK): Likewise.
5520
5521 2006-07-21 14:15  twisti
5522
5523         * src/vm/jit/powerpc/linux/md-asm.h (__ASSEMBLY__): Defined. It's
5524         required for <asm/ppc_asm.h> on my Debian system.
5525
5526 2006-07-21 10:09  twisti
5527
5528         * src/vm/exceptions.c (new_verifyerror): Renamed to
5529         exceptions_new_verifyerror.
5530         (exceptions_throw_verifyerror): New function.
5531         * src/vm/exceptions.h (new_verifyerror): Renamed to
5532         exceptions_new_verifyerror.
5533         (exceptions_throw_verifyerror): Added.
5534         
5535         * src/vm/resolve.c: Use exceptions_throw_verifyerror instead of
5536         new_verifyerror.
5537         * src/vm/jit/parse.c: Likewise.
5538         * src/vm/jit/stack.c: Likewise.
5539         * src/vm/jit/verify/typecheck.c: Likewise.
5540         * src/vm/jit/verify/typeinfo.c: Likewise.
5541         
5542         * src/cacaoh/headers.c (new_verifyerror): Renamed to
5543         exceptions_throw_verifyerror.
5544
5545 2006-07-21 09:24  twisti
5546
5547         * src/vm/builtin.c (builtin_asm_get_exceptionptrptr): Removed.
5548         * src/vm/builtin.h (builtin_get_exceptionptrptr): Likewise.
5549
5550 2006-07-19 15:54  twisti
5551
5552         * src/vm/jit/mips/patcher.c (assert.h): Added.
5553         (vm/exceptions.h): Added.
5554         (vm/jit/methodheader.h): Likewise.
5555         (patcher_wrapper): New function.
5556         (patcher_get_putstatic): Removed monitor enter/exit, this is now done
5557         by the wrapper.
5558         (patcher_get_putfield): Likewise.
5559         (patcher_aconst): Likewise.
5560         (patcher_builtin_multianewarray): Likewise.
5561         (patcher_builtin_arraycheckcast): Likewise.
5562         (patcher_invokestatic_special): Likewise.
5563         (patcher_invokevirtual): Likewise.
5564         (patcher_invokeinterface): Likewise.
5565         (patcher_checkcast_instanceof_flags): Likewise.
5566         (patcher_checkcast_instanceof_interface): Likewise.
5567         (patcher_checkcast_instanceof_class): Likewise.
5568         (patcher_clinit): Likewise.
5569         (patcher_athrow_areturn): Likewise.
5570         (patcher_resolve_native): Likewise.
5571         
5572         * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Use
5573         exceptions_get_and_clear_exception.
5574         (asm_abstractmethoderror): Added missing .ent/.end.
5575         (asm_wrapper_patcher): Use patcher_wrapper.
5576
5577 2006-07-19 13:38  twisti
5578
5579         * src/vm/jit/show.c (new_show_method): Print data length.
5580         (show_method): Likewise.
5581
5582 2006-07-19 13:07  tbfg
5583
5584         * src/vm/jit/powerpc64/* (global): changed all powerpc references to
5585         powerpc64.
5586
5587 2006-07-19 12:09  twisti
5588
5589         * src/vm/jit/show.c (new_show_method): Print method's code length.
5590         (show_method): Likewise.
5591
5592 2006-07-19 09:13  twisti
5593
5594         * src/vm/jit/alpha/patcher.c (patcher_wrapper): Patch back the
5595         original instruction on successful returns.
5596         (patcher_get_putstatic): Removed instruction patching.
5597         (patcher_get_putfield): Likewise.
5598         (patcher_aconst): Likewise.
5599         (patcher_builtin_multianewarray): Likewise.
5600         (patcher_builtin_arraycheckcast): Likewise.
5601         (patcher_invokestatic_special): Likewise.
5602         (patcher_invokevirtual): Likewise.
5603         (patcher_invokeinterface): Likewise.
5604         (patcher_checkcast_instanceof_flags): Likewise.
5605         (patcher_checkcast_instanceof_interface): Likewise.
5606         (patcher_checkcast_instanceof_class): Likewise.
5607         (patcher_clinit): Likewise.
5608         (patcher_athrow_areturn): Likewise.
5609         (patcher_resolve_native): Likewise.
5610
5611 2006-07-18 18:38  tbfg
5612
5613         * src/vm/jit/powerpc64/linux/md-abi.c (md_return_alloc): isleafmethod
5614         has been moved to jitdata.
5615         
5616         * src/vm/jjit/powerpc64/codegen.c (global): fixes for isleafmethod
5617         changes, BUILTIN_monitor* renamed to LOCK_monitor_*
5618         codegen_add_classcastexception_ref api changed.
5619         
5620         * src/vm/jit/powerpc64/asmpart.S (global): fixed R_PPC64_ADDR32
5621         issues (32 bit adresses) all jump tables data types from
5622         long to quad and synched with powerpc asmpart.S.
5623
5624 2006-07-18 14:05  twisti
5625
5626         * src/mm/memory.c (memory_cfree): New function.
5627         * src/mm/memory.h (CFREE): Define to memory_cfree.
5628         (memory_cfree): Added.
5629
5630 2006-07-18 11:09  twisti
5631
5632         * src/native/jvmti/Makefile.am (lib_LTLIBRARIES): Removed libjdwp.la.
5633         (libjdwp_la_SOURCES): Removed.
5634         
5635         * src/native/jvmti/VMjdwp.c: Removed.
5636         * src/native/jvmti/VMjdwp.h: Likewise.
5637         
5638         * src/native/vm/Makefile.am [ENABLE_JVMTI] (lib_LTLIBRARIES): Added
5639         libjdwp.la.
5640         (libjdwp_la_SOURCES): Added.
5641         
5642         * src/native/vm/VMFrame.c: Removed.
5643         * src/native/vm/VMMethod.c: Likewise.
5644         * src/native/vm/VMVirtualMachine.c: Likewise.
5645         
5646         * src/native/vm/VMjdwp.c: Added.
5647         * src/native/vm/VMjdwp.h: Likewise.
5648         * src/native/vm/gnu_classpath_jdwp_VMVirtualMachine.c: Likewise.
5649         * src/native/vm/gnu_classpath_jdwp_VMFrame.c: Likewise.
5650         * src/native/vm/gnu_classpath_jdwp_VMMethod.c: Likewise.
5651
5652 2006-07-18 11:02  motse
5653
5654         * src/native/jvmti/VMjdwp.c (Breakpoint): adapt BreakpointEvent
5655         signature to changed gnu classpath jdwp implementation.
5656         (fillidcache): idem
5657
5658 2006-07-18 08:56  twisti
5659
5660         * src/vm/builtin.c (builtin_trace_args): Added missing
5661         TRACE_ARGS_NUM >= 4 case.
5662
5663 2006-07-18 08:36  twisti
5664
5665         * src/vm/jit/powerpc/darwin/md-asm.h (asm_wrapper_patcher): Renamed to
5666         asm_patcher_wrapper.
5667
5668 2006-07-18 08:19  twisti
5669
5670         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added package
5671         prefix to filenames.
5672         
5673         * src/native/vm/VMClassLoader.c: Removed.
5674         * src/native/vm/VMThrowable.c: Likewise.
5675         * src/native/vm/VMAccessController.c: Likewise.
5676         * src/native/vm/VMString.c: Likewise.
5677         * src/native/vm/VMObject.c: Likewise.
5678         * src/native/vm/VMStackWalker.c: Likewise.
5679         * src/native/vm/Field.c: Likewise.
5680         * src/native/vm/VMSystem.c: Likewise.
5681         * src/native/vm/VMSystemProperties.c: Likewise.
5682         * src/native/vm/VMClass.c: Likewise.
5683         * src/native/vm/VMThread.c: Likewise.
5684         * src/native/vm/Method.c: Likewise.
5685         * src/native/vm/VMProxy.c: Likewise.
5686         * src/native/vm/Constructor.c: Likewise.
5687         * src/native/vm/VMRuntime.c: Likewise.
5688         
5689         * src/native/vm/gnu_classpath_VMStackWalker.c: Added.
5690         * src/native/vm/java_lang_VMSystem.c: Likewise.
5691         * src/native/vm/java_lang_reflect_Method.c: Likewise.
5692         * src/native/vm/java_lang_VMObject.c: Likewise.
5693         * src/native/vm/java_lang_VMString.c: Likewise.
5694         * src/native/vm/gnu_classpath_VMSystemProperties.c: Likewise.
5695         * src/native/vm/java_lang_VMRuntime.c: Likewise.
5696         * src/native/vm/java_lang_reflect_Field.c: Likewise.
5697         * src/native/vm/java_lang_VMThrowable.c: Likewise.
5698         * src/native/vm/java_lang_VMClassLoader.c: Likewise.
5699         * src/native/vm/java_lang_VMClass.c: Likewise.
5700         * src/native/vm/java_lang_VMThread.c: Likewise.
5701         * src/native/vm/java_security_VMAccessController.c: Likewise.
5702         * src/native/vm/java_lang_reflect_VMProxy.c: Likewise.
5703         * src/native/vm/java_lang_reflect_Constructor.c: Likewise.
5704
5705 2006-07-18 08:16  twisti
5706
5707         * src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c: New
5708         file.
5709
5710 2006-07-18 08:14  twisti
5711
5712         * src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c
5713         (vm/vm.h): Added.
5714         (getStartTime): Implemented.
5715
5716 2006-07-18 08:05  twisti
5717
5718         * src/native/vm/VMSystemProperties.c (preInit): Added
5719         gnu.java.compiler.name property.
5720
5721 2006-07-17 16:11  twisti
5722
5723         * src/vm/jit/jit.h (IS_VOID_TYPE): Added.
5724         
5725         * src/vm/builtin.c (builtin_print_argument): New function.
5726         (builtin_trace_args): Rewritten. Uses builtin_trace_args and prints
5727         arguments much better.
5728         (builtin_displaymethodstop): Likewise.
5729
5730 2006-07-17 15:14  twisti
5731
5732         * src/native/jvmti/.cvsignore (TAGS): Added.
5733         (cacaodbgserver): Likewise.
5734
5735 2006-07-17 15:11  twisti
5736
5737         * configure.ac (CACAO_LIBDIR): Added.
5738         
5739         * src/vm/classcache.c [ENABLE_JVMTI] (lock_hashtable_classcache):
5740         Don't export it.
5741         (classcache_jvmti_GetLoadedClasses): New method.
5742         
5743         * src/vm/classcache.h (CLASSCACHE_LOCK): Don't define it.
5744         (CLASSCACHE_UNLOCK): Likewise.
5745         (lock_hashtable_classcache): Don't export it.
5746         (classcache_jvmti_GetLoadedClasses): Added.
5747         
5748         * src/vm/vm.c (vm_create): Use CACAO_LIBDIR in OPT_XRUNJDWP.
5749         
5750         * src/native/jvmti/jvmti.c (GetLoadedClasses): Use
5751         classcache_jvmti_GetLoadedClasses.
5752         (jvmti_agentload): Some code cleanup.
5753
5754 2006-07-17 13:50  twisti
5755
5756         * src/native/include/include/Makefile.am (GEN_JVMTI_HEADER_FILES):
5757         Reordered.
5758         
5759         * src/native/include/include/.cvsignore
5760         (gnu_classpath_jdwp_VMMethod.h): Added.
5761         (gnu_classpath_jdwp_util_VariableTable.h): Likewise.
5762
5763 2006-07-17 11:48  twisti
5764
5765         * src/vm/jit/asmpart.h (asm_wrapper_patcher): Renamed to
5766         asm_patcher_wrapper.
5767         
5768         * src/vm/jit/alpha/codegen.c (codegen): Likewise.
5769         (createnativestub): Likewise.
5770         * src/vm/jit/alpha/asmpart.S (asm_wrapper_patcher): Likewise.
5771         
5772         * src/vm/jit/i386/codegen.c (codegen): Likewise.
5773         (createnativestub): Likewise.
5774         * src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Likewise.
5775         
5776         * src/vm/jit/mips/codegen.c (codegen): Likewise.
5777         (createnativestub): Likewise.
5778         * src/vm/jit/mips/asmpart.S (asm_wrapper_patcher): Likewise.
5779         
5780         * src/vm/jit/powerpc/codegen.c (codegen): Likewise.
5781         (createnativestub): Likewise.
5782         * src/vm/jit/powerpc/asmpart.S (asm_wrapper_patcher): Likewise.
5783         
5784         * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
5785         (createnativestub): Likewise.
5786         * src/vm/jit/powerpc64/asmpart.S (asm_wrapper_patcher): Likewise.
5787         
5788         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
5789         (createnativestub): Likewise.
5790         * src/vm/jit/x86_64/asmpart.S (asm_wrapper_patcher): Likewise.
5791
5792 2006-07-17 11:09  twisti
5793
5794         * src/mm/boehm.c (heap_allocate): Changed signature. Some cleanup.
5795         * src/mm/boehm.h (heap_allocate): Likewise.
5796
5797 2006-07-17 10:00  twisti
5798
5799         * src/native/vm/VMRuntime.c (maxMemory): Comment fix.
5800         (availableProcessors): Likewise.
5801
5802 2006-07-17 09:47  twisti
5803
5804         * src/vm/jit/x86_64/patcher.c (vm/jit/x86_64/codegen.h): Added.
5805         (vm/exceptions.h): Likewise.
5806         (patcher_get_putstatic): Removed monitor enter/exit and return address
5807         calculation, this is now done by the wrapper.
5808         (patcher_get_putfield): Likewise.
5809         (patcher_putfieldconst): Likewise.
5810         (patcher_aconst): Likewise.
5811         (patcher_builtin_multianewarray): Likewise.
5812         (patcher_builtin_arraycheckcast): Likewise.
5813         (patcher_invokestatic_special): Likewise.
5814         (patcher_invokevirtual): Likewise.
5815         (patcher_invokeinterface): Likewise.
5816         (patcher_checkcast_instanceof_flags): Likewise.
5817         (patcher_checkcast_instanceof_interface): Likewise.
5818         (patcher_checkcast_class): Likewise.
5819         (patcher_instanceof_class): Likewise.
5820         (patcher_clinit): Likewise.
5821         (patcher_athrow_areturn): Likewise.
5822         (patcher_resolve_native): Likewise.
5823         
5824         * src/vm/jit/x86_64/asmpart.S (asm_wrapper_patcher): Use
5825         patcher_wrapper.
5826
5827 2006-07-16 15:58  twisti
5828
5829         * src/native/jvmti/jvmti.c (DestroyRawMonitor): Don't pass
5830         threadobject to lock_monitor_exit.
5831         (RawMonitorEnter): Changed builtin_monitorenter to lock_monitor_enter.
5832         (RawMonitorExit): Changed builtin_monitorexit to lock_monitor_exit.
5833
5834 2006-07-16 15:38  twisti
5835
5836         * src/vm/jit/recompile.c (recompile_threadobject): Renamed to
5837         recompile_vmthread and changed type to java_lang_VMThread.
5838         (recompile_start_thread): Changed initialization of the thread
5839         object. This fixes the not-exit bug.
5840         
5841         * src/vm/jit/profile/profile.c (profile_threadobject): Renamed to
5842         profile_vmthread.
5843         (profile_thread): Call codegen_get_pv_from_pc_nocheck instead of
5844         codegen_findmethod.
5845         (profile_start_thread): Changed initialization of the thread
5846         object.
5847         
5848         * src/vm/jit/codegen-common.c (codegen_findmethod): Print a stacktrace
5849         if no function was found and exit the VM.
5850         (codegen_get_pv_from_pc_nocheck): New function. Like
5851         codegen_findmethod, but can return NULL.
5852         * src/vm/jit/codegen-common.h (codegen_get_pv_from_pc_nocheck): Added.
5853
5854 2006-07-14 17:08  edwin
5855
5856         * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
5857         Fixed dupslots indices for ICMD_SWAP.
5858
5859 2006-07-14 17:07  edwin
5860
5861         * src/vm/jit/show.c (new_show_icmd): General handling of
5862         INS_FLAG_UNRESOLVED.
5863
5864 2006-07-14 17:06  edwin
5865
5866         * src/vm/jit/show.c (new_show_icmd): Fixed showing of LASTORECONST.
5867
5868 2006-07-14 17:05  edwin
5869
5870         * src/vm/jit/stack.c (new_stack_analyse): Fixed propagation of
5871         INS_FLAG_UNRESOLVED for PUTFIELDCONST/PUTSTATICCONST.
5872
5873 2006-07-14 17:03  edwin
5874
5875         * src/vm/jit/stack.c (DUP_SLOT): Copy only TEMPVARs directly.
5876
5877 2006-07-14 17:02  edwin
5878
5879         * src/vm/jit/parse.c (new_parse): No exception check for
5880         MONITORENTER.
5881
5882 2006-07-14 16:58  edwin
5883
5884         * src/vm/jit/show.c (new_show_stackvar): Show varkind and varnum for
5885         variables with an invalid varkind.
5886
5887 2006-07-14 16:56  edwin
5888
5889         * src/vm/jit/stack.c (new_stack_analyse): Use POPANY for DUP*
5890         instructions, in order to set varkind correctly. The repeated
5891         POPANY macros should probably be replaced by more efficient
5892         code.
5893
5894 2006-07-14 16:54  edwin
5895
5896         * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
5897         Fixed dupslots indices for ICMD_DUP_X1.
5898
5899 2006-07-14 16:52  edwin
5900
5901         * src/vm/jit/parse.h (NEW_OP_STORE_ONEWORD): Store index in dst,
5902         not in s1.
5903         (NEW_OP_STORE_TWOWORD): Likewise.
5904
5905 2006-07-13 11:54  twisti
5906
5907         * src/vm/jit/powerpc/codegen.c (codegen): Use lock_monitor_enter/exit
5908         instead of builtin_monitorenter/exit.
5909
5910 2006-07-13 11:17  motse
5911
5912         * doc/handbook/jvmti.tex: documentation of the cacao jvmti
5913         implementation added to the cacao handbook
5914         * doc/handbook/arch.eps: idem
5915         * doc/handbook/cacao.tex: idem
5916         * doc/handbook/java.bib: idem
5917         * doc/handbook/arm.tex: added bounding box for arm-double-memory.png
5918
5919 2006-07-13 10:26  twisti
5920
5921         * src/vm/jit/mips/codegen.c (codegen): Use lock_monitor_enter/exit
5922         instead of builtin_monitorenter/exit.
5923         (createnativestub): Don't use builtin_get_exceptionptrptr, but
5924         codegen_finish_native_call for exception check.
5925
5926 2006-07-12 22:55  twisti
5927
5928         * src/mm/memory.c (vm/vm.h): Added.
5929         (memory_cnew): Replaced throw_cacao_exception_exit with vm_abort.
5930         (dump_release): Likewise.
5931         
5932         * src/toolbox/util.c (_Jv_getcwd): Likewise.
5933
5934 2006-07-12 22:12  twisti
5935
5936         * src/vm/jit/alpha/codegen.c (codegen): Use lock_monitor_enter/exit
5937         instead of builtin_monitorenter/exit.
5938
5939 2006-07-12 21:59  twisti
5940
5941         * src/vm/jit/i386/codegen.c (codegen): Use lock_monitor_enter/exit
5942         instead of builtin_monitorenter/exit.
5943
5944 2006-07-12 21:45  twisti
5945
5946         * src/vm/builtin.c (builtin_monitorenter): Removed.
5947         (builtin_staticmonitorenter): Likewise.
5948         (builtin_monitorexit): Likewise.
5949         * src/vm/builtin.h: Likewise.
5950         
5951         * src/threads/native/lock.c (lock_monitor_enter): Don't pass
5952         threadobject, get it in this function.
5953         (lock_monitor_exit): Likewise.
5954         
5955         * src/threads/native/lock.h (lock_monitor_enter): Changed signature.
5956         (lock_monitor_exit): Likewise.
5957         (LOCK_monitor_enter): Defined.
5958         (LOCK_monitor_exit): Likewise.
5959         (LOCK_MONITOR_ENTER): Likewise.
5960         (LOCK_MONITOR_EXIT): Likewise.
5961         
5962         * src/vm/suck.c: Use lock_monitor_enter/exit instead of
5963         builtin_monitorenter/exit.
5964         * src/vm/string.c: Likewise.
5965         * src/vm/finalizer.c: Likewise.
5966         * src/vm/classcache.c: Likewise.
5967         * src/vm/initialize.c: Likewise.
5968         * src/vm/jit/recompile.c: Likewise.
5969         * src/vm/jit/show.c: Likewise.
5970         * src/vm/jit/patcher.h: Likewise.
5971         * src/vm/jit/parse.c: Likewise.
5972         * src/vm/jit/x86_64/md.c: Likewise.
5973         * src/vm/jit/x86_64/codegen.c: Likewise.
5974         * src/vm/jit/jit.c: Likewise.
5975         * src/vm/builtintable.inc: Likewise.
5976         * src/vm/exceptions.c: Likewise.
5977         * src/vm/linker.c: Likewise.
5978         * src/vm/utf8.c: Likewise.
5979         * src/native/jni.c: Likewise.
5980         * src/native/native.c: Likewise.
5981         * src/toolbox/avl.c: Likewise.
5982         * src/toolbox/list.c: Likewise.
5983         * src/mm/memory.c: Likewise.
5984         * src/cacaoh/headers.h: Likewise.
5985
5986 2006-07-12 21:33  twisti
5987
5988         * src/threads/Makefile.am: Added path to header.
5989
5990 2006-07-12 21:32  twisti
5991
5992         * src/vm/jit/Makefile.am (RECOMPILE_SOURCES): Added, compile recompile
5993         only if threads are enabled.
5994         
5995         * src/vm/vm.c (vm_create): Call recompile_init only if threads are
5996         enabled.
5997
5998 2006-07-12 21:27  twisti
5999
6000         * src/threads/none/.cvsignore: New file.
6001
6002 2006-07-12 21:26  twisti
6003
6004         * src/threads/none/Makefile.am: New file.
6005         * src/threads/none/lock.h: Likewise.
6006         * src/threads/Makefile.am (DIST_SUBDIRS): Added.
6007         * configure.ac (AC_CONFIG_FILES): Added src/threads/none/Makefile.
6008
6009 2006-07-12 20:27  twisti
6010
6011         * src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Use
6012         jd->isleafmethod.
6013
6014 2006-07-12 20:14  twisti
6015
6016         * src/vm/jit/powerpc/codegen.c (codegen): Use jd->isleafmethod.
6017         * src/vm/jit/powerpc/linux/md-abi.c (md_return_alloc): Likewise.
6018
6019 2006-07-12 15:02  twisti
6020
6021         * src/vm/jit/recompile.c (recompile_replace_vftbl): #ifndef NDEBUG
6022         debugging code.
6023
6024 2006-07-12 14:55  twisti
6025
6026         * src/vm/jit/powerpc/linux/md-abi.c (vm/jit/abi.h): Added.
6027         * src/vm/jit/powerpc/netbsd/md-abi.c: Likewise.
6028         * src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
6029         * src/vm/jit/alpha/md-abi.c: Likewise.
6030         * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
6031         * src/vm/jit/i386/md-abi.c: Likewise.
6032         
6033         * src/vm/jit/sparc64/md-abi.c: Added GNU header.
6034         (vm/jit/abi.h): Added.
6035
6036 2006-07-12 14:53  twisti
6037
6038         * src/vm/jit/mips/codegen.c (codegen): Use jd->isleafmethod. Pass
6039         register number to codegen_add_classcastexception_ref.
6040         
6041         * src/vm/jit/mips/md-abi.c (vm/jit/abi.h): Added.
6042         (md_return_alloc): Changed signature.
6043
6044 2006-07-12 14:42  edwin
6045
6046         * src/vm/jit/emit.h (emit_load): New function. This is a general
6047         function for emitting loads that will keep its stackvar argument
6048         after switching to the new instruction format. It will be used
6049         for instructions with variable arguments, for example.
6050         
6051         * src/vm/jit/x86_64/emit.c (emit_load): New function.
6052
6053 2006-07-12 13:52  twisti
6054
6055         * src/vm/jit/x86_64/codegen.c (codegen): Use jd->isleafmethod.
6056         * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Likewise.
6057
6058 2006-07-12 13:47  twisti
6059
6060         * src/vm/jit/code.c (code_get_stack_frame_size): Commented code, we
6061         need another implementation.
6062
6063 2006-07-11 22:23  twisti
6064
6065         * src/vm/jit/x86_64/asmpart.S (asm_call_jit_compiler): Use
6066         exceptions_get_and_clear_exception.
6067         (asm_wrapper_patcher): Likewise.
6068
6069 2006-07-11 19:17  twisti
6070
6071         * src/vm/jit/i386/emit.c: Changed prefix from i386_ to emit_.
6072         (vm/jit/emit.h): Added.
6073         (emit_load_s1_low): New function.
6074         (emit_load_s2_low): New function.
6075         
6076         * src/vm/jit/i386/md.c (md_get_method_patch_address): Changed
6077         instruction byte.
6078         
6079         * src/vm/jit/i386/md-emit.h: Changed prefix from i386_ to emit_. Added
6080         architecture defines.
6081         
6082         * src/vm/jit/i386/codegen.c Changed the code generator to produce
6083         RISC-like code. These are way too much changes to name them.
6084         
6085         * src/vm/jit/i386/codegen.h: Removed a lot of architecture stuff.
6086         
6087         * src/vm/jit/i386/patcher.c (vm/exceptions.h): Added.
6088         (patcher_wrapper): New function.
6089         (patcher_get_putstatic): Removed monitor enter/exit and return address
6090         calculation, this is now done by the wrapper.
6091         
6092         (patcher_getfield): Likewise.
6093         (patcher_putfield): Likewise.
6094         (patcher_putfieldconst): Likewise.
6095         (patcher_aconst): Likewise.
6096         (patcher_builtin_multianewarray): Likewise.
6097         (patcher_builtin_arraycheckcast): Likewise.
6098         (patcher_invokestatic_special): Likewise.
6099         (patcher_invokevirtual): Likewise.
6100         (patcher_invokeinterface): Likewise.
6101         (patcher_checkcast_instanceof_flags): Likewise.
6102         (patcher_checkcast_instanceof_interface): Likewise.
6103         (patcher_checkcast_class): Likewise.
6104         (patcher_instanceof_class): Likewise.
6105         (patcher_clinit): Likewise.
6106         (patcher_athrow_areturn): Likewise.
6107         (patcher_resolve_native): Likewise.
6108         
6109         * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Changed calling
6110         sequence of asm_call_jit_compiler.
6111         (asm_call_jit_compiler): Use jit_asm_compile.
6112         (asm_wrapper_patcher): Use patcher_wrapper.
6113
6114 2006-07-11 18:39  twisti
6115
6116         * src/vm/jit/emit.h [SIZEOF_VOID_P == 4] (emit_store_low): Added.
6117         [SIZEOF_VOID_P == 4] (emit_store_high): Likewise.
6118
6119 2006-07-11 18:35  twisti
6120
6121         * src/vm/jit/i386/md-asm.h (mptr): Added.
6122
6123 2006-07-11 18:34  twisti
6124
6125         * src/vm/jit/i386/md-abi.h (REG_METHODPTR): Added.
6126         (REG_ITMP12_PACKED): Likewise.
6127         (REG_ITMP13_PACKED): Likewise.
6128         (REG_ITMP23_PACKED): Likewise.
6129         (REG_RESULT_PACKED): Likewise.
6130         (EAX_EDX_PACKED): Likewise.
6131
6132 2006-07-11 17:10  twisti
6133
6134         * src/vm/jit/alpha/patcher.c (patcher_wrapper): Added return address
6135         calculation.
6136         (patcher_get_putstatic): Removed return address calculation.
6137         (patcher_get_putfield): Likewise.
6138         (patcher_aconst): Likewise.
6139         (patcher_builtin_multianewarray): Likewise.
6140         (patcher_builtin_arraycheckcast): Likewise.
6141         (patcher_invokestatic_special): Likewise.
6142         (patcher_invokevirtual): Likewise.
6143         (patcher_invokeinterface): Likewise.
6144         (patcher_checkcast_instanceof_flags): Likewise.
6145         (patcher_checkcast_instanceof_interface): Likewise.
6146         (patcher_checkcast_instanceof_class): Likewise.
6147         (patcher_clinit): Likewise.
6148         (patcher_athrow_areturn): Likewise.
6149         (patcher_resolve_native): Likewise.
6150
6151 2006-07-10 17:22  twisti
6152
6153         * configure.ac (disassembler): Disabled by default, made too many
6154         problems.
6155         
6156         * src/vm/vm.c (toolbox/util.h): Added.
6157         (vm_create): Save VM start time, #ifdef disassembler stuff.
6158         
6159         * src/native/jni.h (_Jv_JavaVM): Added starttime and
6160         Java_gnu_java_lang_management_VMMemoryMXBeanImpl_verbose.
6161         
6162         * src/toolbox/util.c (config.h): Added.
6163         (sys/time.h): Likewise.
6164         (vm/vm.h): Likewise.
6165         (util_current_time_millis): New function.
6166         
6167         * src/toolbox/util.h (config.h): Added.
6168         (vm/types.h): Likewise.
6169         (util_current_time_millis): New function.
6170
6171 2006-07-10 14:47  twisti
6172
6173         * src/vm/jit/alpha/codegen.c codegen): CHECKCAST: Load s1 again before
6174         exception check.
6175
6176 2006-07-10 14:42  twisti
6177
6178         * src/vm/jit/i386/emit.c (i386_call_mem): Removed.
6179
6180 2006-07-10 14:41  twisti
6181
6182         * src/vm/jit/i386/codegen.c (codegen): CHECKCAST: Load s1 again before
6183         exception check.
6184         (callgetexceptionptrptr): Removed.
6185
6186 2006-07-10 14:22  twisti
6187
6188         * src/vm/jit/i386/codegen.c (codegen): Use jd->isleafmethod.
6189
6190 2006-07-10 14:20  twisti
6191
6192         * src/vm/jit/jit.c (jit_jitdata_new): New function.
6193         (jit_compile): Use jit_jitdata_new.
6194         (jit_recompile): Likewise.
6195
6196 2006-07-10 14:11  twisti
6197
6198         * NEWS: Added ClassCastException and system assertions.
6199         * src/vm/jit/stack.c (new_stack_analyse): Changed missing
6200         jd->isleafmethod.
6201         (stack_analyse): Likewise.
6202
6203 2006-07-10 14:02  twisti
6204
6205         * src/vm/jit/code.h (codeinfo): Removed basicblocks and isleafmethod.
6206         * src/vm/jit/jit.h (jitdata): Added isleafmethod.
6207         
6208         * src/vm/jit/alpha/codegen.c (codegen): Use jd->isleafmethod. Pass
6209         register number to codegen_add_classcastexception_ref.
6210         
6211         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Use
6212         jd->isleafmethod.
6213         (local_regalloc): Likewise.
6214         
6215         * src/vm/jit/parse.c (new_parse): Likewise.
6216         (parse): Likewise.
6217         
6218         * src/vm/jit/parse.h (NEW_OP_BUILTIN_CHECK_EXCEPTION): Likewise.
6219         (NEW_OP_BUILTIN_NO_EXCEPTION): Likewise.
6220         (NEW_OP_BUILTIN_ARITHMETIC): Likewise.
6221         (BUILTIN): Likewise.
6222
6223 2006-07-10 13:53  twisti
6224
6225         * src/vm/jit/powerpc64/linux/.cvsignore: New file.
6226         * src/vm/jit/powerpc64/.cvsignore: Likewise.
6227
6228 2006-07-10 13:51  twisti
6229
6230         * src/vm/jit/alpha/patcher.c (assert.h): Added.
6231         (vm/exceptions.h): Added.
6232         (vm/jit/methodheader.h): Likewise.
6233         (patcher_wrapper): New function.
6234         (patcher_get_putstatic): Removed monitor enter/exit, this is now done
6235         by the wrapper.
6236         (patcher_get_putfield): Likewise.
6237         (patcher_aconst): Likewise.
6238         (patcher_builtin_multianewarray): Likewise.
6239         (patcher_builtin_arraycheckcast): Likewise.
6240         (patcher_invokestatic_special): Likewise.
6241         (patcher_invokevirtual): Likewise.
6242         (patcher_invokeinterface): Likewise.
6243         (patcher_checkcast_instanceof_flags): Likewise.
6244         (patcher_checkcast_instanceof_interface): Likewise.
6245         (patcher_checkcast_instanceof_class): Likewise.
6246         (patcher_clinit): Likewise.
6247         (patcher_athrow_areturn): Likewise.
6248         (patcher_resolve_native): Likewise.
6249         
6250         * src/vm/jit/alpha/asmpart.S (asm_wrapper_patcher): Use
6251         patcher_wrapper.
6252         
6253         * src/vm/jit/alpha/md-abi.c (md_return_alloc): Changed signature.
6254
6255 2006-07-10 13:36  twisti
6256
6257         * src/vm/statistics.c (count_class_infos): Renamed to size_classinfo.
6258         (size_fieldinfo): Added.
6259         (size_methodinfo): Likewise.
6260         (size_codeinfo): Likewise.
6261         (print_stats): Print new variables.
6262         
6263         * src/vm/statistics.h (count_class_infos): Renamed to size_classinfo.
6264         (size_fieldinfo): Added.
6265         (size_methodinfo): Likewise.
6266         (size_codeinfo): Likewise.
6267         
6268         * src/vm/class.c (class_create_classinfo): Renamed count_class_infos
6269         to size_classinfo.
6270         
6271         * src/vm/loader.c (load_class_from_classbuffer): Likewise and use new
6272         variables.
6273         
6274         * src/vm/jit/code.c [ENABLE_STATISTICS] (code_codeinfo_new): Add
6275         codeinfo size.
6276         [ENABLE_STATISTICS] (code_codeinfo_free): Subtract codeinfo size.
6277
6278 2006-07-10 10:18  twisti
6279
6280         * src/vm/jit/x86_64/codegen.c (codegen): Pass register number to
6281         codegen_add_classcastexception_ref.
6282
6283 2006-07-10 10:01  twisti
6284
6285         * src/lib/vm/reference/java/lang/VMClassLoader.java
6286         (defaultAssertionStatus): Made native.
6287         * src/native/vm/VMClassLoader.c (defaultAssertionStatus): Added.
6288         
6289         * src/native/jni.h (_Jv_JavaVM): Added
6290         Java_java_lang_VMClassLoader_defaultAssertionStatus.
6291         
6292         * src/vm/vm.c (OPT_ESA): Added.
6293         (OPT_DSA): Likewise.
6294
6295 2006-07-08 22:07  twisti
6296
6297         * src/vm/jit/methodheader.h (ExEntrySize): Removed.
6298         (ExStartPC): Likewise.
6299         (ExEndPC): Likewise.
6300         (ExHandlerPC): Likewise.
6301         (ExCatchType): Likewise.
6302
6303 2006-07-08 20:32  twisti
6304
6305         * src/vm/jit/i386/codegen.c (codegen): Pass register number to
6306         codegen_add_classcastexception_ref.
6307
6308 2006-07-08 20:16  twisti
6309
6310         * src/vm/utf8.c (utf_java_lang_ClassCastException): Added.
6311         (utf8_init): Initialize utf_java_lang_ClassCastException.
6312         * src/vm/utf8.h (utf_java_lang_ClassCastException): Added.
6313         
6314         * src/vm/class.c (class_java_lang_ClassCastException): Added.
6315         * src/vm/class.h (class_java_lang_ClassCastException): Likewise.
6316         
6317         * src/vm/exceptions.c (exceptions_init): Initialize
6318         class_java_lang_ClassCastException.
6319         
6320         (new_classcastexception): Renamed to
6321         exceptions_new_classcastexception, pass the failing class name to the
6322         exception.
6323         
6324         * src/vm/exceptions.h (exceptionptr): Use thread object directly.
6325         (new_classcastexception): Renamed to
6326         exceptions_new_classcastexception.
6327         
6328         * src/vm/jit/stacktrace.c (stacktrace_inline_classcastexception):
6329         Changed signature.
6330         * src/vm/jit/stacktrace.h (stacktrace_inline_classcastexception):
6331         Likewise.
6332         
6333         * src/vm/jit/codegen-common.c (codegen_add_classcastexception_ref):
6334         Likewise.
6335         * src/vm/jit/codegen-common.h (codegen_add_classcastexception_ref):
6336         Likewise.
6337         
6338         * src/vm/jit/powerpc/codegen.c (codegen): Pass register number to
6339         codegen_add_classcastexception_ref.
6340
6341 2006-07-08 19:08  twisti
6342
6343         * src/vm/jit/i386/codegen.c (createnativestub): Don't use
6344         builtin_get_exceptionptrptr, but codegen_finish_native_call for
6345         exception check.
6346
6347 2006-07-08 18:28  twisti
6348
6349         * configure.ac: Use ARCH_CFLAGS and OPT_CFLAGS instead of CFLAGS and
6350         pass the flags via AM_CFLAGS to Makefile's.
6351
6352 2006-07-08 14:20  twisti
6353
6354         * src/vm/jit/stacktrace.c (stacktrace_create): Added another code ==
6355         NULL check.
6356
6357 2006-07-06 22:52  twisti
6358
6359         * src/vm/jit/powerpc/darwin/md-abi.h (REG_ITMP12_PACKED): Added.
6360         (REG_RESULT_PACKED): Added.
6361         
6362         * src/vm/jit/powerpc/darwin/md-asm.h (patcher_wrapper): Added.
6363         
6364         * src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Changed
6365         signature.
6366         
6367         * src/vm/jit/powerpc/asmpart.S (L_patcher_wrapper$stub): Added.
6368
6369 2006-07-06 14:19  twisti
6370
6371         * src/vm/jit/x86_64/codegen.c (codegen): Use code variables.
6372         (createnativestub): Likewise and don't use
6373         builtin_get_exceptionptrptr, but codegen_finish_native_call for
6374         exception check.
6375         
6376         * src/vm/jit/x86_64/codegen.h (PROFILE_CYCLE_START): Use code
6377         variables.
6378         (PROFILE_CYCLE_STOP): Likewise.
6379         
6380         * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Changed signature.
6381
6382 2006-07-06 14:10  tbfg
6383
6384         fixed isleafmethod is now part of code issues
6385
6386 2006-07-06 13:59  tbfg
6387
6388         powerpc64 compiles
6389         arch.h and md-abi.h: modified PV register assignment
6390
6391 2006-07-06 12:42  twisti
6392
6393         * src/vm/jit/i386/codegen.c (codegen): Use code->isleafmethod.
6394         * src/vm/jit/i386/md-abi.c (md_return_alloc): Changed signature.
6395
6396 2006-07-06 11:36  twisti
6397
6398         * src/vm/method.h (methodinfo): Removed isleafmethod, frequency,
6399         bbfrequency and cycles.
6400         
6401         * src/vm/jit/powerpc/linux/md-abi.c (md_return_alloc): Changed
6402         signature, use code->isleafmethod.
6403         
6404         * src/vm/jit/powerpc/linux/md-abi.h (REG_IFTMP): Changed from 0 to 16.
6405         (REG_ITMP12_PACKED): Added.
6406         (REG_RESULT_PACKED): Likewise.
6407         
6408         * src/vm/jit/powerpc/codegen.c (vm/jit/methodheader.h): Added.
6409         (codegen): Use code->isleafmethod, added instrumentation code.
6410         
6411         * src/vm/jit/abi.h (md_return_alloc): Added.
6412         
6413         * src/vm/jit/stack.c (new_stack_analyse): Use code->isleafmethod.
6414         (stack_analyse): Likewise.
6415         
6416         * src/vm/jit/stack.h (md_return_alloc): Removed.
6417         
6418         * src/vm/jit/code.c (code_codeinfo_new): Don't memset as NEW already
6419         does that, set isleafmethod to true.
6420         
6421         * src/vm/jit/code.h (codeinfo): Added basicblockcount and basicblocks.
6422         
6423         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Use
6424         code->isleafmethod.
6425         (local_regalloc): Likewise.
6426         
6427         * src/vm/jit/parse.c (new_parse): Likewise.
6428         (parse): Likewise.
6429         
6430         * src/vm/jit/parse.h (NEW_OP_BUILTIN_CHECK_EXCEPTION): Likewise.
6431         (NEW_OP_BUILTIN_NO_EXCEPTION): Likewise.
6432         (NEW_OP_BUILTIN_ARITHMETIC): Likewise.
6433         (BUILTIN): Likewise.
6434         
6435         * src/vm/jit/replace.c (replace_create_replacement_points): Don't set
6436         code->isleafmethod, it's already set.
6437         
6438         * src/vm/jit/profile/profile.c (profile_printstats): Use code
6439         variables.
6440         
6441         * src/vm/jit/jit.c (jit_compile_intern): Don't set m->isleafmethod.
6442         
6443         * src/cacaoh/headers.c: Use stackcount instead of isleafmethod.
6444
6445 2006-07-05 11:48  twisti
6446
6447         * src/vm/descriptor.h: Removed space.
6448
6449 2006-07-04 19:06  twisti
6450
6451         * src/vm/jit/powerpc/darwin/md-asm.h
6452         (builtin_asm_get_exceptionptrptr): Removed.
6453         (_no_threads_exceptionptr): Likewise.
6454         (exceptions_get_and_clear_exception): Added.
6455         
6456         * src/vm/jit/powerpc/patcher.c (vm/exceptions.h): Added.
6457         (vm/jit/methodheader.h): Likewise.
6458         (patcher_wrapper): New function.
6459         (patcher_get_putstatic): Removed monitor enter/exit, this is now done
6460         by the wrapper.
6461         (patcher_get_putfield): Likewise.
6462         (patcher_aconst): Likewise.
6463         (patcher_builtin_multianewarray): Likewise.
6464         (patcher_builtin_arraycheckcast): Likewise.
6465         (patcher_invokestatic_special): Likewise.
6466         (patcher_invokevirtual): Likewise.
6467         (patcher_invokeinterface): Likewise.
6468         (patcher_checkcast_instanceof_flags): Likewise.
6469         (patcher_checkcast_instanceof_interface): Likewise.
6470         (patcher_checkcast_class): Likewise.
6471         (patcher_instanceof_class): Likewise.
6472         (patcher_clinit): Likewise.
6473         (patcher_athrow_areturn): Likewise.
6474         (patcher_resolve_native): Likewise.
6475         
6476         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): Use
6477         exceptions_get_and_clear_exception.
6478         (asm_wrapper_patcher): Likewise, use patcher_wrapper.
6479         (L_builtin_asm_get_exceptionptrptr$stub): Removed.
6480         (L_exceptions_get_and_clear_exception$stub): Added.
6481         
6482         * src/vm/jit/patcher.h (assert.h): Added.
6483         (PATCHER_FLAG_PATCHED): Likewise.
6484         (PATCHER_MONITORENTER): Added assert and return NULL.
6485         (PATCHER_MARK_PATCHED_MONITOREXIT): Use PATCHER_FLAG_PATCHED.
6486         (patcher_wrapper): Added.
6487
6488 2006-07-04 18:24  twisti
6489
6490         * src/vm/jit/powerpc/codegen.c (createnativestub): Don't use
6491         builtin_get_exceptionptrptr, but codegen_finish_native_call for
6492         exception check.
6493
6494 2006-07-04 16:56  twisti
6495
6496         * tests/regression/codepatching/test.java: Catch only thrown
6497         exceptions.
6498
6499 2006-07-04 16:05  twisti
6500
6501         * src/vm/jit/powerpc/darwin/md-os.c (md_signal_handler_sigusr2): New
6502         function.
6503         
6504         * src/vm/jit/powerpc/darwin/md-asm.h (asm_handle_nullptr_exception):
6505         Removed.
6506         (asm_abstractmethoderror): Added.
6507         (exceptions_asm_new_abstractmethoderror): Likewise.
6508         * src/vm/jit/powerpc/asmpart.S
6509         (L_exceptions_asm_new_abstractmethoderror$stub): Added.
6510
6511 2006-07-04 16:02  twisti
6512
6513         * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Code
6514         beautifying.
6515
6516 2006-07-03 14:06  twisti
6517
6518         * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use
6519         exceptions_get_and_clear_exception.
6520         (asm_wrapper_patcher): Likewise.
6521
6522 2006-07-03 13:49  twisti
6523
6524         * src/vm/jit/codegen-common.c (codegen_finish_native_call): Check for
6525         exception and return it.
6526         * src/vm/jit/codegen-common.h (codegen_finish_native_call): Changed
6527         signature.
6528         
6529         * src/vm/jit/alpha/codegen.c (createnativestub): Don't use
6530         builtin_get_exceptionptrptr, but codegen_finish_native_call for
6531         exception check.
6532         
6533         * src/vm/jit/alpha/codegen.h (M_ASUB_IMM): Added.
6534
6535 2006-07-03 13:46  twisti
6536
6537         * src/vm/jit/alpha/md-abi.c (nregdescint): Added comments.
6538
6539 2006-07-03 13:45  twisti
6540
6541         * src/vm/jit/alpha/linux/md-os.c (md_signal_handler_sigusr2): New
6542         method.
6543         (thread_restartcriticalsection): Code cleanup.
6544
6545 2006-07-03 12:06  twisti
6546
6547         * src/vm/jit/alpha/asmpart.S (asm_abstractmethoderror): New method.
6548
6549 2006-07-03 10:18  twisti
6550
6551         * src/vm/exceptions.c (exceptions_get_and_clear_exception): New
6552         function.
6553         * src/vm/exceptions.h (exceptions_get_and_clear_exception): Added.
6554
6555 2006-07-02 18:31  twisti
6556
6557         * src/lib/vm/reference/gnu/java: Added.
6558         * src/lib/vm/reference/gnu/java/lang: Likewise.
6559         * src/lib/vm/reference/gnu/java/lang/management: Likewise.
6560         *
6561         src/lib/vm/reference/gnu/java/lang/management/VMRuntimeMXBeanImpl.java:
6562         New file.
6563         * src/lib/Makefile.am (VM_JAVA_FILES): Added
6564         src/lib/vm/reference/gnu/java/lang/management/VMRuntimeMXBeanImpl.java.
6565         (VM_CLASS_FILES): Added
6566         classes/gnu/java/lang/management/VMRuntimeMXBeanImpl.class.
6567         (vm.zip, nozip): Removed ecj check.
6568         
6569         * src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c: New
6570         file.
6571         * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
6572         gnu_java_lang_management_VMRuntimeMXBeanImpl.c.
6573         
6574         * src/native/include/.cvsignore: Added
6575         gnu_java_lang_management_VMRuntimeMXBeanImpl.h.
6576         * src/native/include/Makefile.am
6577         (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADER_FILES): Added
6578         gnu_java_lang_management_VMRuntimeMXBeanImpl.h.
6579         
6580         * src/native/native.c
6581         (native/include/gnu_java_lang_management_VMRuntimeMXBeanImpl.h):
6582         Added.
6583         (dummynativetable): Added
6584         Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getInputArguments
6585         and Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getStartTime.
6586
6587 2006-07-02 18:24  twisti
6588
6589         * m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Add -1.5 option when using ecj.
6590
6591 2006-07-02 11:00  twisti
6592
6593         * m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Added bootclasspath to compiler
6594         checks.
6595
6596 2006-07-02 10:42  twisti
6597
6598         * src/vm/jit/mips/asmpart.S (asm_abstractmethoderror): New function.
6599
6600 2006-06-28 22:47  twisti
6601
6602         * NEWS: Added new release.
6603
6604 2006-06-28 22:38  twisti
6605
6606         * src/lib/vm/reference/java/lang/VMThread.java: Updated to GNU
6607         Classpath version.
6608
6609 2006-06-28 21:52  twisti
6610
6611         * src/vm/jit/powerpc/asmpart.S (asm_abstractmethoderror): New
6612         function.
6613
6614 2006-06-28 21:51  twisti
6615
6616         * src/vm/exceptions.c (exceptions_handle_exception): Typo.
6617
6618 2006-06-28 21:46  twisti
6619
6620         * src/vm/linker.c (link_class_intern): Fixed compiler warning, added
6621         comment.
6622         (linker_addinterface): Fixed compiler warning.
6623
6624 2006-06-28 21:44  edwin
6625
6626         * src/vm/linker.c (link_class_intern): Converted the check against
6627         creating a stubroutine twice into an assert. The check became
6628         obsolete because abstract methods do no longer get compiler stubs.
6629
6630 2006-06-28 21:01  edwin
6631
6632         * src/vm/linker.c (link_class_intern): Do not generate compiler
6633         stubs for abstract methods.
6634
6635 2006-06-28 20:33  edwin
6636
6637         * src/vm/jit/intrp/codegen.c (intrp_codegen): Changed MethodPointer
6638         in method header to CodeinfoPointer.
6639         (intrp_createcompilerstub): Likewise.
6640         (intrp_createnativestub): Likewise.
6641         (createcalljavafunction): Likewise.
6642         
6643         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception):
6644         Changed MethodPointer in method header to CodeinfoPointer.
6645
6646 2006-06-28 19:43  twisti
6647
6648         * src/vm/exceptions.c (exceptions_asm_new_abstractmethoderror): New
6649         function.
6650         * src/vm/exceptions.h (exceptions_asm_new_abstractmethoderror): Added.
6651         
6652         * src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Use
6653         exceptions_asm_new_abstractmethoderror.
6654         * src/vm/jit/i386/asmpart.S (asm_abstractmethoderror): Likewise.
6655
6656 2006-06-28 19:11  twisti
6657
6658         * src/vm/utf8.c (utf_java_lang_AbstractMethodError): Added.
6659         (utf8_init): Initialize utf_java_lang_AbstractMethodError.
6660         * src/vm/utf8.h (utf_java_lang_AbstractMethodError): Added.
6661         
6662         * src/vm/class.c (class_java_lang_AbstractMethodError): Added.
6663         (class_resolveclassmethod): Use exceptions_throw_abstractmethoderror.
6664         * src/vm/class.h (class_java_lang_AbstractMethodError): Added.
6665         
6666         * src/vm/exceptions.c (exceptions_init): Initialize
6667         class_java_lang_AbstractMethodError.
6668         (exceptions_new_abstractmethoderror): New function.
6669         (exceptions_throw_abstractmethoderror): Likewise.
6670         * src/vm/exceptions.h (exceptions_new_abstractmethoderror)
6671         (exceptions_throw_abstractmethoderror): Added.
6672         
6673         * src/vm/resolve.c (resolve_method_invokespecial_lookup): Use
6674         exceptions_throw_abstractmethoderror.
6675         
6676         * src/vm/jit/asmpart.h (asm_abstractmethoderror): Added.
6677         
6678         * src/vm/jit/i386/asmpart.S (asm_abstractmethoderror): New function.
6679         * src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Likewise.
6680         
6681         * src/vm/linker.c (link_class_intern): Fill empty slots in vftbl with
6682         the AbstractMethodError stub.
6683         (linker_addinterface): Insert the AbstractMethodError stub if no
6684         suitable method was found.
6685         
6686         * src/cacaoh/headers.c (asm_abstractmethoderror): Added.
6687         (exceptions_throw_abstractmethoderror): Likewise.
6688
6689 2006-06-28 17:05  twisti
6690
6691         * src/vm/jit/jit.h (JITDATA_FLAG_INSTRUMENT)
6692         (JITDATA_HAS_FLAG_INSTRUMENT): Likewise.
6693         (ICMD_OPCODE_MASK, ICMD_CONDITION_MASK): Removed.
6694         
6695         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
6696         Removed ICMD_OPCODE_MASK.
6697         
6698         * src/vm/jit/show.c (show_icmd): Commented conditional stuff, maybe I
6699         need it again someday.
6700         
6701         * src/vm/jit/x86_64/emit.c (emit_store): Likewise.
6702         (emit_cmovxx): Likewise.
6703         * src/vm/jit/codegen-common.c (codegen_reg_of_var): Likewise.
6704
6705 2006-06-28 15:39  twisti
6706
6707         * src/vm/jit/x86_64/md.c [ENABLE_THREADS] (threads/native/threads.h):
6708         Added.
6709         (md_signal_handler_sigusr2): New function.
6710         (thread_restartcriticalsection): Code cleanup.
6711
6712 2006-06-28 08:24  twisti
6713
6714         * src/scripts/.cvsignore: Removed cacao, jarsigner, javac and keytool.
6715         * src/scripts: Updated svn:ignore.
6716         
6717         * src/scripts/Makefile.am (bin_SCRIPTS): Removed jarsigner and
6718         keytool, there are now wrappers in GNU Classpath.
6719         
6720         * src/scripts/javac.in: Removed.
6721         * src/scripts/jarsigner.in: Likewise.
6722         * src/scripts/cacao.in: Likewise.
6723         * src/scripts/keytool.in: Likewise.
6724         
6725         * configure.ac (AC_CONFIG_FILES): Removed src/scripts/jarsigner and
6726         src/scripts/keytool.
6727
6728 2006-06-23 12:07  twisti
6729
6730         * src/vm/string.c (javastring_toutf): Check for NULL and return
6731         utf_null.
6732         (literalstring_u2): Replaced list_addfirst with list_add_first.
6733         
6734         * src/vm/builtin.h (BUILTIN_MONITOR_ENTER, BUILTIN_MONITOR_EXIT):
6735         Defined.
6736         
6737         * src/vm/jit/powerpc/codegen.c (codegen): Don't use
6738         BUILTIN_staticmonitorenter, use JITDATA_HAS_FLAG_VERBOSECALL instead
6739         of opt_verbosecall.
6740         (createnativestub): Likewise.
6741         
6742         * src/vm/jit/code.c: Smaller changes.
6743         
6744         * src/vm/jit/code.h (codeinfo): Added optlevel.
6745         
6746         * src/vm/jit/Makefile.am (libjit_la_SOURCES): Added recompile.[ch].
6747         * src/vm/jit/recompile.c: New file.
6748         * src/vm/jit/recompile.h: Likewise.
6749         
6750         * src/vm/jit/show.c (new_show_method, show_method)
6751         (new_show_basicblock, show_basicblock): Use
6752         JITDATA_HAS_FLAG_SHOWDISASSEMBLE instead of opt_showdisassemble.
6753         
6754         * src/vm/jit/profile/profile.c (vm/jit/jit.h): Added.
6755         (list_method_entry): Moved to src/vm/jit/recompile.h.
6756         (profile_thread): First real implementation.
6757         (profile_start_thread): Better code.
6758         (profile_printstats): Use codeinfo frequencies.
6759         
6760         * src/vm/jit/jit.c (jit_compile): Set jd->flags properly. Moved
6761         codeinfo memory freeing before dump_release because we need jd, which
6762         is allocated on dump memory.
6763         (jit_recompile): New function.
6764         (jit_compile_intern): Use jd->flags.
6765         
6766         * src/vm/jit/codegen-common.c (codegen_createnativestub): Set
6767         jd->flags.
6768         
6769         * src/vm/jit/jit.h (JITDATA_FLAG_PARSE, JITDATA_FLAG_VERIFY)
6770         (JITDATA_FLAG_SHOWINTERMEDIATE, JITDATA_FLAG_SHOWDISASSEMBLE)
6771         (JITDATA_FLAG_VERBOSECALL): Added.
6772         (JITDATA_HAS_FLAG_PARSE, JITDATA_HAS_FLAG_VERIFY)
6773         (JITDATA_HAS_FLAG_IFCONV, JITDATA_HAS_FLAG_SHOWINTERMEDIATE)
6774         (JITDATA_HAS_FLAG_SHOWDISASSEMBLE, JITDATA_HAS_FLAG_VERBOSECALL):
6775         Likewise.
6776         (jit_recompile): Likewise.
6777         
6778         * src/vm/vm.c (vm/jit/recompile.h): Added.
6779         (vm_create): Call recompile_init and recompile_start_thread.
6780         
6781         * src/toolbox/list.h (config.h, vm/types.h, vm/global.h): Added.
6782         (list): Added lock.
6783         (list_init): Renamed to list_create.
6784         (list_addfirst): Renamed to list_add_first.
6785         (list_addlast): Renamed to list_add_last.
6786         (list_add_last_unsynced): New function.
6787         
6788         * src/toolbox/list.c (mm/memory.h, threads/native/threads.h)
6789         (vm/builtin.h): Added.
6790         (list_init): Renamed to list_create.
6791         (list_addfirst): Renamed to list_add_first and made synchronized.
6792         (list_addlast): Likewise.
6793         (list_add_last_unsynced): Likewise.
6794         (list_add_before): Made synchronized.
6795         (list_remove): Likewise.
6796         (list_first): Likewise.
6797         (list_last): Likewise.
6798         (list_next): Likewise.
6799         (list_prev): Likewise.
6800         
6801         * src/vm/suck.c (suck_init): Replaced list_init with list_create.
6802         (suck_add): Replaced list_addlast with list_add_last.
6803         
6804         * src/vm/loader.c (load_constantpool): Replaced list_addfirst with
6805         list_add_first.
6806         (load_newly_created_array): Likewise.
6807         
6808         * src/vm/properties.c (properties_init): Replaced list_init with
6809         list_create.
6810         (properties_add): Use list_add_last_unsynced, as this is required
6811         during bootstrapping.
6812         
6813         * src/threads/native/threads.h (THREAD_FLAG_JAVA)
6814         (THREAD_FLAG_INTERNAL): Added.
6815         (threadobject): Added flags.
6816         
6817         * src/threads/native/threads.c (threads_init): Flag main thread as
6818         Java thread (required for profiling sampling).
6819         (threads_startup_thread): Flag threads as Java or internal thread.
6820
6821 2006-06-23 09:23  twisti
6822
6823         * src/vm/linker.c (vm/vm.h): Added.
6824
6825 2006-06-22 18:48  twisti
6826
6827         * src/vm/utf8.c, src/vm/utf8.h (utf_null): Added.
6828
6829 2006-06-22 14:39  twisti
6830
6831         * src/vm/utf8.c (utf8_init): Compile fix with ENABLE_STATISTICS.
6832
6833 2006-06-21 16:29  ajordan
6834
6835         * configure.ac: Added support for compiling on sparc64
6836         
6837         * src/vm/jit/Makefile.am: Added sparc64 subdirectory
6838         
6839         * src/vm/jit/sparc64/*: Added files for the sparc64 JIT (which won't
6840         compile yet)
6841
6842 2006-06-21 08:30  twisti
6843
6844         * src/vm/jit/mips/linux/.cvsignore: Added TAGS.
6845
6846 2006-06-20 15:50  twisti
6847
6848         * src/vm/jit/mips/codegen.c (codegen): Use codeinfo instead of
6849         methodinfo.
6850         (createcompilerstub): Likewise.
6851         (createnativestub): Likewise.
6852         
6853         * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Likewise.
6854
6855 2006-06-20 11:55  twisti
6856
6857         * src/vm/jit/alpha/codegen.c (codegen): Use codeinfo instead of
6858         methodinfo.
6859         (createcompilerstub): Likewise.
6860         (createnativestub): Likewise.
6861         
6862         * src/vm/jit/alpha/asmpart.S (asm_vm_call_method): Likewise.
6863
6864 2006-06-20 09:10  twisti
6865
6866         * src/vm/jit/x86_64/codegen.c (codegen): Use codeinfo instead of
6867         methodinfo.
6868         (createcompilerstub): Likewise.
6869         (createnativestub): Likewise.
6870         
6871         * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Likewise.
6872
6873 2006-06-19 22:53  twisti
6874
6875         * src/vm/jit/i386/codegen.c (codegen): Use codeinfo instead of
6876         methodinfo.
6877         (createcompilerstub): Likewise.
6878         (createnativestub): Likewise.
6879         
6880         * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Likewise.
6881
6882 2006-06-19 22:23  twisti
6883
6884         * src/threads/native/threads.h (threadobject): Added pc.
6885
6886 2006-06-19 22:22  twisti
6887
6888         * src/vm/jit/methodheader.h (MethodPointer): Removed.
6889         (CodeinfoPointer): Added.
6890         
6891         * src/vm/method.c (method_vftbl_lookup): Use CodeinfoPointer.
6892         
6893         * src/vm/jit/powerpc/codegen.c (codegen): Use codeinfo instead of
6894         methodinfo.
6895         (createcompilerstub): Likewise.
6896         (createnativestub): Likewise.
6897         
6898         * src/vm/jit/powerpc/asmpart.S: Likewise.
6899         
6900         * src/vm/jit/stacktrace.c (stacktrace_create_stackframeinfo):
6901         Likewise.
6902         (stacktrace_create_native_stackframeinfo): Likewise.
6903         (stacktrace_add_method): Likewise.
6904         (stacktrace_create): Likewise.
6905         
6906         * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
6907         
6908         * src/vm/jit/codegen-common.c (codegen_findmethod): Define for all
6909         architectures. Removed assert, we have to check that somewhere else.
6910         (codegen_finish): Add the method for all architectures.
6911         
6912         * src/vm/jit/codegen-common.h (methodtree_element): Likewise.
6913         
6914         * src/vm/jit/profile/profile.c (profile_thread): First implementation.
6915         * src/vm/jit/profile/profile.h (vm/global.h): Added.
6916         
6917         * src/vm/signal.c (signal_init): Install SIGUSR2 for profiling.
6918         * src/vm/signallocal.h (md_signal_handler_sigusr2): Added.
6919         * src/vm/jit/powerpc/linux/md-os.c (md_signal_handler_sigusr2): New
6920         method.
6921         
6922         * src/vm/vm.c (vm_create): Call profile_start_thread only with
6923         opt_prof.
6924         
6925         * src/cacaoh/headers.c (exceptions_throw_nosuchmethoderror): Added.
6926
6927 2006-06-19 21:39  twisti
6928
6929         * src/vm/class.c (class_resolveinterfacemethod_intern): Smaller
6930         changes.
6931         (class_resolveclassmethod): Likewise.
6932
6933 2006-06-19 21:04  twisti
6934
6935         * src/vm/linker.c (link_class_inter): Smaller changes.
6936         (linker_addinterface): Likewise, added some comments about checks we
6937         should do.
6938
6939 2006-06-19 21:00  twisti
6940
6941         * src/vm/jit/powerpc/patcher.c (assert.h): Added.
6942         (patcher_invokeinterface): Added XXX comments.
6943
6944 2006-06-19 20:51  twisti
6945
6946         * configure.ac (profiling): Disable by default.
6947
6948 2006-06-19 12:36  twisti
6949
6950         * src/native/jni.c (AttachCurrentThread): Removed dummy
6951         implementation.
6952         (GetEnv): Use switch instead of if's.
6953
6954 2006-06-14 18:55  motse
6955
6956         * src/native/native.c (native_resolve_function): fix/add to my last
6957         incomplete commit.
6958
6959 2006-06-14 18:36  motse
6960
6961         * src/vm/loader.c (load_class_from_classloader): Add call to jvmti
6962         Class Load and Prepare event.
6963         
6964         * src/native/jni.c (RegisterNatives): Add comment for calling jvmti
6965         Native Method Bind event.
6966         
6967         * src/native/vm/VMClassLoader.c (defineClass): Add call to jvmti
6968         Class File Load Hook event.
6969         
6970         * src/native/vm/VMObject.c (wait): Add call to jvmti Monitor Wait
6971         and Waited event.
6972         
6973         * src/native/native.c (native_resolve_function): Add call to jvmti
6974         Native Method Bind event.
6975         
6976         * src/native/jvmti/cacaodbg.c (jvmti_ClassFileLoadHook): new function
6977         to supprt event.
6978         (jvmti_ClassLoadPrepare): idem
6979         (jvmti_MonitorContendedEntering): idem
6980         (jvmti_MonitorWaiting): idem
6981         (jvmti_ThreadStartEnd): idem
6982         (jvmti_NativeMethodBind): idem
6983         
6984         * src/native/jvmti/cacaodbg.h: Add function headers for
6985         jvmti_ClassFileLoadHook, jvmti_ClassLoadPrepare,
6986         jvmti_MonitorContendedEntering, jvmti_MonitorWaiting,
6987         jvmti_ThreadStartEnd, jvmti_NativeMethodBind.
6988         
6989         * src/native/jvmti/jvmti.c (execute_callback): Add support for Class
6990         File Load Hook event.
6991         (GetOwnedMonitorInfo): Adapt lock record iteration to new
6992         data structure.
6993         (GetCurrentContendedMonitor): idem
6994         
6995         * src/threads/native/lock.c (lock_monitor_enter): Add call to jvmti
6996         Monitor Contended Enter and Entered event
6997         
6998         * src/threads/native/threads.c (threads_startup_thread): replace
6999         breakpoint by direct call to jvmti Thread Start/End event
7000         
7001         * src/cacaoh/headers.c add dummy functions jvmti_ThreadStartEnd,
7002         jvmti_ClassLoadPrepare and jvmti_MonitorContendedEntering
7003
7004 2006-06-13 10:41  twisti
7005
7006         * src/lib/vm/reference/java/lang/VMThread.java: Updated and removed
7007         our old thread variables.
7008         * src/native/include/java_lang_VMThread.h: Regenerated.
7009
7010 2006-06-12 21:34  edwin
7011
7012         * src/vm/jit/stack.c (new_stack_analyze): Fixed warnings about
7013         directive in macro argument.
7014
7015 2006-06-12 21:27  edwin
7016
7017         * src/vm/jit/show.c (new_show_basicblock): Fixed warnings.
7018         (new_show_stackvar): Likewise.
7019
7020 2006-06-12 21:14  edwin
7021
7022         * src/vm/jit/stack.c (new_stack_analyse): Set dst field for IINC.
7023         
7024         * src/vm/jit/show.c (new_show_method): Use jitdata.new_rd.
7025         Only show locals and interfaces if available.
7026         (new_show_basicblock): Changed basicblock output format.
7027         (new_show_stackvar): Copied&pasted full stackvar printing.
7028         (new_show_icmd): Show some more ICMD operands.
7029         
7030         * src/vm/jit/allocator/simplereg.c (new_reg_mark_copy): Fixed
7031         bug for the case nthrough != 0.
7032
7033 2006-06-12 18:50  edwin
7034
7035         * src/vm/jit/allocator/simplereg.h, src/vm/jit/allocator/simplereg.c
7036         (new_regalloc): New function for new instruction format.
7037         (new_allocate_scratch_registers): Likewise.
7038         
7039         * src/vm/jit/show.c (new_show_stackvar): Show allocated register
7040         for stage SHOW_REGS and above.
7041         
7042         * src/vm/jit/jit.h (jitdata): Added field new_rd for testing the
7043         new simplereg allocator.
7044
7045 2006-06-12 14:23  edwin
7046
7047         * src/vm/jit/stack.c (new_stack_analyse): Fixed new stack analysis
7048         for ICMD_JSR.
7049         
7050         * src/vm/jit/show.c (new_show_icmd): Show operands of new instruction
7051         format.
7052         (new_show_basicblock): Removed obsolete stack display.
7053
7054 2006-06-10 14:53  edwin
7055
7056         * src/vm/jit/stack.c (IF_INTRP): New macro.
7057         (IF_JIT): New macro.
7058         (STATISTICS_STACKDEPTH_DISTRIBUTION): New macro.
7059         (new_stack_analyse): New function. Implemented stack analysis for
7060         new instruction format. (Not used, yet.)
7061         
7062         * src/vm/jit/stack.h (NEWSTACK): Enclosed in do { } while(0).
7063         
7064         * src/vm/jit/show.h, src/vm/jit/show.c (new_show_method): New
7065         function.
7066         (new_show_basicblock): New function.
7067         (new_show_icmd): New function.
7068         
7069         * src/vm/jit/parse.c (new_fillextable): New function.
7070         (parse): Parsing of JSR changed. Fixed bptr->icount setting.
7071         
7072         * src/vm/jit/jit.h (new_instruction): New field s3.jsrtarget.
7073         New field dst.dupslots.
7074
7075 2006-06-08 07:26  twisti
7076
7077         * tests/regression/codepatching/test.java (aastoreconst): Fixed skip
7078         case.
7079
7080 2006-06-07 12:51  twisti
7081
7082         * src/vm/suck.c (suck_add_from_property): Always set namelist to NULL
7083         before scandir.
7084
7085 2006-06-07 12:19  twisti
7086
7087         * src/vm/global.h (bool): Changed to `unsigned int', as the MIPS Pro
7088         compiler complains about signed bit fields. And I think that warning
7089         is really ok.
7090         
7091         * src/vm/suck.c (scandir_filter): Changed the signature define, as
7092         only linux seems to use const.
7093
7094 2006-06-07 12:10  twisti
7095
7096         * src/vm/suck.c (suck_add_from_property): Check for scandir return
7097         value in error case, as on some systems, like Linux, it returns NULL.
7098
7099 2006-06-06 21:13  motse
7100
7101         src/native/vm/VMVirtualMachine.c (unregisterEvent): print error
7102         message
7103         
7104         src/native/jvmti/cacaodbg.c (jvmti_cacao_debug_init): set variable
7105         jvmti
7106         
7107         src/native/jvmti/VMjdwp.c: add jmethodID and jclass cache variables.
7108         Add new callback functions to jvmti_jdwp_EventCallbacks
7109         (ThreadStart/ThreadEnd/ClassPrepare/Breakpoint): add
7110         ThreadStart/ThreadEnd event callbackes implementation who notify jdwp.
7111         (Exception/MethodEntry): dummy implementation. There are no jdwp
7112         exeception/MethodEntry events in gnu classpath yet.
7113         (setup_jdwp_thread): use cache variables.
7114         FINDCLASSWITHEXCEPTION/GETMIDWITHEXCEPTION: helper macros to ease
7115         jni findclass and getmethodid.
7116         (fillidcache): new function that fills valid jmethodIDs and jclasses
7117         in the cache variables.
7118         (VMInit): add call to fillidcache.
7119         (Agent_OnLoad): do not enable all jvmti callbacks anymore. Only
7120         enable needed VMInit callback. The other callbacks will be enable
7121         with VMVirtualMachine.registerEvent by need.
7122         
7123         src/native/jvmti.c (dofireEvent): check if a valid event callback is
7124         available before executing it.
7125         (SetEventNotificationMode): ThreadStart/End event are no more
7126         implemented as breakpoints but have direct function calls to
7127         dofireEvent.
7128         (SuspendThread/ResumeThread/getcacaostacktrace): sketch for further
7129         implementation of this function. Final threads_suspend* functions are
7130         not yet available.
7131         (GetArgumentsSize): new implementation using parsed descriptors.
7132         (GetMethodLocation): add checks for JVMTI_ERROR_NATIVE_METHOD
7133         (Samuel Vinson). And return -1 as return values for this dummy
7134         implementation.
7135         (GetJLocationFormat): JLocationFormat probably will be
7136         JVMTI_JLOCATION_OTHER
7137         
7138         src/native/jvmti/VMjdwp.h: add jdwpthread which stores the thread
7139         object for the jdwp listening thread.
7140         
7141         src/threads/native/threads.h: remove jvmti_get_threads_breakpoints
7142         beacause ThreadStart/End events are implemented as direct function
7143         calls by now.
7144         
7145         src/threads/native/threads.c (threads_startup_thread): replace
7146         ThreadStart/End event implementation.
7147         (jvmti_get_threads_breakpoints): removed.
7148         
7149         src/cacaoh/headers.c (jvmti_fireEvent): added dummy implementation to
7150         enable linking of cacaoh.
7151
7152 2006-06-06 18:51  twisti
7153
7154         * tests/regression/extest.java: Get the maximum heap size and use it
7155         for OOM checks.
7156         * tests/regression/extest.2output: Updated.
7157
7158 2006-06-06 18:05  twisti
7159
7160         * src/vm/jit/alpha/arch.h (SUPPORT_LONG_DIV_POW2)
7161         (SUPPORT_LONG_REM_POW2): Added, as we probably support these two
7162         instructions while the architecture does not support long division.
7163         * src/vm/jit/i386/arch.h: Likewise.
7164         * src/vm/jit/mips/arch.h: Likewise.
7165         * src/vm/jit/powerpc/arch.h: Likewise.
7166         * src/vm/jit/x86_64/arch.h: Likewise.
7167         
7168         * src/vm/jit/stack.c (stack_analyse): Use SUPPORT_LONG_DIV_POW2 and
7169         SUPPORT_LONG_REM_POW2 instead of SUPPORT_LONG_DIV.
7170
7171 2006-06-06 14:32  michi
7172
7173         * doc/handbook/arm.tex: Added.
7174         * doc/handbook/arm-double-memory.png: Image describing doubles in
7175         memory.
7176         * doc/handbook/cacao.tex, doc/handbook/Makefile.am: Added arm.tex.
7177
7178 2006-06-06 13:13  twisti
7179
7180         * tests/regression/Makefile.am (JAVAFLAGS): Use flat vm classes and
7181         CLASSPATH_GLIBJ_ZIP.
7182         * tests/regression/codepatching/Makefile.am: Likewise.
7183         * tests/regression/native/Makefile.am: Likewise.
7184
7185 2006-06-06 12:17  twisti
7186
7187         * .externalToolBuilders/CacaoConfigure.launch: Updated to new
7188         configure options.
7189
7190 2006-06-06 11:22  twisti
7191
7192         * configure.ac (VM_ZIP_STRING): Removed.
7193         (--with-vm-zip): Added.
7194         (--with-classpath-glibj-zip): Added.
7195         (--with-flat-classpath): Removed.
7196         
7197         * contrib/setenvinstalled.in (BOOTCLASSPATH): Use hardcoded vm.zip and
7198         @CLASSPATH_GLIBJ_ZIP@.
7199         * contrib/setenvsource.in: Likewise.
7200         
7201         * src/vm/global.h (CACAO_VM_ZIP_PATH): Removed.
7202         (CLASSPATH_GLIBJ_ZIP_PATH): Likewise.
7203         * src/vm/vm.c (CACAO_VM_ZIP_PATH): Replaced with CACAO_VM_ZIP.
7204         (CLASSPATH_GLIBJ_ZIP_PATH): Replaced with CLASSPATH_GLIBJ_ZIP.
7205         * src/cacaoh/cacaoh.c: Likewise.
7206         
7207         * src/lib/Makefile.am (GLIBJ_ZIP): Removed and replaced with
7208         CLASSPATH_GLIBJ_ZIP.
7209         * src/native/include/Makefile.am (VM_ZIP): Removed and replaced with
7210         flat classes in builddir.
7211         (GLIBJ_ZIP): Removed and replaced with CLASSPATH_GLIBJ_ZIP.
7212         * src/native/Makefile.am: Likewise.
7213
7214 2006-06-01 22:53  edwin
7215
7216         * src/vm/jit/stack.h (NEW_CHECKOVERFLOW): New macro.
7217
7218 2006-06-01 22:52  edwin
7219
7220         * src/vm/jit/parse.c (new_parse): Use temporary fields in jitdata,
7221         instead of methodinfo fields. Check exceptions for MONITORENTER/EXIT.
7222         Cleaned up.
7223
7224 2006-06-01 22:49  edwin
7225
7226         * src/vm/jit/parse.h (new_block_insert): New macro.
7227
7228 2006-06-01 22:46  edwin
7229
7230         * src/vm/jit/jit.h (jitdata): Added temporary fields for development
7231         of new instruction format.
7232         (NEW_INSTRUCTION_GET_METHODDESC): New macro.
7233
7234 2006-06-01 16:00  edwin
7235
7236         * src/vm/resolve.c (new_resolve_field_lazy): New method. This will
7237         become the resolve_field_lazy for the new instruction format.
7238         (new_resolve_method_lazy): New method. This will
7239         become the resolve_method_lazy for the new instruction format.
7240         (new_create_unresolved_field): New method. This will
7241         become the create_unresolved_field for the new instruction format.
7242         (new_create_unresolved_method): New method. This will
7243         become the create_unresolved_method for the new instruction format.
7244         
7245         * src/vm/jit/parse.c (new_parse): Further work for new format.
7246         
7247         * src/vm/jit/jit.h (NEW_INSTRUCTION_GET_FIELDREF): New macro.
7248         (NEW_INSTRUCTION_GET_METHODREF): New macro.
7249
7250 2006-06-01 15:09  edwin
7251
7252         * src/vm/jit/jit.c (jcommandsize): Reformatted prettily. Use comments
7253         instead of duplicated #defines.
7254
7255 2006-06-01 14:36  edwin
7256
7257         * src/vm/jit/jit.h (ICMD_CHECKNULL_POP): New ICMD.
7258         * src/vm/jit/jit.c (ICMD_CHECKNULL_POP): Likewise.
7259         
7260         * src/vm/jit/parse.c (new_parse): Further work on parsing for new
7261         instruction format. Zero flags where necessary. Clarify policy of
7262         at most one instruction per byte of original bytecode. Use the new
7263         ICMD_CHECKNULL_POP for MONITORENTER/EXIT without threads.
7264
7265 2006-06-01 13:00  edwin
7266
7267         * src/vm/jit/parse.h: Reworked and documented macros for new
7268         instruction set.
7269
7270 2006-05-31 23:18  edwin
7271
7272         * src/vm/jit/jit.h: Whitespace cleanup and comments.
7273
7274 2006-05-31 23:03  edwin
7275
7276         * src/vm/jit/parse.c (parse): Removed unnecessary variable `s4ptr`.
7277
7278 2006-05-31 22:56  edwin
7279
7280         * src/vm/jit/parse.c (new_parse): Implement LOOKUPSWITCH and
7281         TABLESWITCH for the new instruction format.
7282         
7283         * src/vm/jit/jit.h (branch_target_t): New union.
7284         (lookup_target_t): New struct.
7285         (s3_operand_t): lookupdefault is now a branch_target_t.
7286         (dst_operand_t): Changed some field names and types.
7287
7288 2006-05-31 22:07  twisti
7289
7290         * src/native/jvmti/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
7291         (LIBS): Added, required for darwin.
7292         (libjdwp_la_SOURCES): Removed trailing \.
7293
7294 2006-05-31 21:31  edwin
7295
7296         * src/vm/jit/ifconv/ifconv.c (show.h): Include this instead of
7297         stack.h.
7298         * src/vm/jit/verify/typecheck.c (show.h): Likewise.
7299         * src/vm/jit/inline/inline.c (show.h): Include.
7300         * src/vm/jit/jit.c (show.h): Include.
7301
7302 2006-05-31 21:10  edwin
7303
7304         * src/vm/jit/show.c (show_init): Do not define this function for
7305         NDEBUG.
7306
7307 2006-05-31 20:28  edwin
7308
7309         * src/vm/jit/show.h: New file.
7310         * src/vm/jit/show.c: New file.
7311         
7312         * src/vm/jit/stack.h (stack_show_method): Moved to show.h, renamed to
7313         show_method.
7314         (stack_show_basicblock): Moved to show.h, renamed to show_basicblock.
7315         (stack_show_icmd): Moved to show.h, renamed to show_icmd.
7316         
7317         * src/vm/jit/stack.c (lock_stack_show_icmd): Moved to show.c, renamed
7318         to show_global_lock.
7319         (stack_show_method): Moved to show.c, renamed to show_method.
7320         (stack_show_basicblock): Moved to show.c, renamed to show_basicblock.
7321         (stack_show_icmd): Moved to show.c, renamed to show_icmd.
7322         (stack_init): This function is now empty.
7323         
7324         * src/vm/jit/ifconv/ifconv.c (stack_show_basicblock): Renamed to
7325         show_basicblock.
7326         
7327         * src/vm/jit/inline/inline.c (stack_show_method): Renamed to
7328         show_method.
7329         (stack_show_icmd): Renamed to show_icmd.
7330         
7331         * src/vm/jit/inline/inline_debug.inc (stack_show_icmd): Renamed to
7332         show_icmd.
7333         
7334         * src/vm/jit/jit.c (jit_init): Call show_init.
7335         (stack_show_method): Renamed to show_method.
7336         
7337         * src/vm/jit/Makefile.am (show.c): Added.
7338         (show.h): Added.
7339         
7340         * src/threads/native/lock.h (pthread.h): Included.
7341
7342 2006-05-31 19:25  edwin
7343
7344         * src/vm/jit/jit.h (s3_operant_t): Typo fixed to s3_operand_t.
7345         Thanks, twisti.
7346
7347 2006-05-31 13:53  motse
7348
7349         src/native/vm/VMVirtualMachine.c (suspendThread): print error message
7350         with printjvmtierror
7351         (resumeThread): idem
7352         (getAllLoadedClassCount): idem
7353         (getAllLoadedClasses): idem
7354         (getClassStatus): idem
7355         (getAllClassMethods): idem
7356         (getFrameCount): idem
7357         (getThreadStatus): idem
7358         (getSourceFile): idem
7359         (registerEvent): idem
7360         
7361         src/native/vm/VMMethod.c (printjvmtierror): new helper function for
7362         getting and print error messages
7363         (getName): print error message with printjvmtierror, remove
7364         signature, generic signature
7365         (getSignature): print error message with printjvmtierror, remove
7366         name, generic signature
7367         (getModifiers): print error message with printjvmtierror
7368         (getlinetable): idem
7369         (fillVariableTable): new function for converting
7370         jvmtiLocalVariableEntry to arguments for
7371         gnu.classpath.jdwp.util.VariableTable constructor
7372         (getVariableTable): new implementation. tries to get local variable
7373         table and return gnu.classpath.jdwp.util.VariableTable.
7374         
7375         src/native/include/Makefile.am: add VariableTable
7376         
7377         src/native/jvmti/VMjdwp.c (printjvmtierror) new function (duplicate)
7378         - this is a work around
7379         (VMInit): print error message with printjvmtierror
7380         
7381         src/native/jvmti/jvmti.c (InterruptThread): new implentation
7382         (GetThreadInfo): switch form using javastring_tochar (uses malloc)
7383         to javastring_toutf/utf_sprint_convert_to_latin1
7384         (GetOwnedMonitorInfo): fix error handling
7385         (GetFrameLocation): idem
7386         (DestroyRawMonitor): use heap_free
7387         (GetClassSignature): fix error handling
7388         (GetSourceFileName): use utf_bytes
7389         (GetFieldName): fix error handling
7390         (GetFieldDeclaringClass): add error handling
7391         (GetFieldModifiers): idem
7392         (GetMethodName): fix error handling
7393         (GetClassLoaderClasses): idem
7394         (GenerateEvents): add CHECK_CAPABILITY
7395         can_generate_compiled_method_load_events
7396         
7397         src/native/jvmti/VMjdwp.h add printjvmtierror
7398
7399 2006-05-31 13:10  twisti
7400
7401         * src/vm/jit/x86_64/md-emit.h (IS_IMM8, IS_IMM32): Removed.
7402         * src/vm/jit/emit.h (IS_IMM8, IS_IMM32): Added.
7403
7404 2006-05-31 12:33  twisti
7405
7406         * src/vm/jit/x86_64/emit.c: Use new emit methods, saves about 6k code
7407         size.
7408         (emit_membase32): New method.
7409         (emit_memindex): Likewise.
7410         * src/vm/jit/x86_64/md-emit.h (emit_membase32): Removed.
7411         (emit_memindex): Likewise.
7412
7413 2006-05-30 23:38  edwin
7414
7415         * src/vm/jit/parse.c (new_parse): Worked on implementing parsing for
7416         the new instruction format. (Not used, yet.)
7417         * src/vm/jit/parse.h: Likewise.
7418         
7419         * src/vm/jit/jit.h (INS_FLAG_UNRESOLVED, INS_FLAG_CLASS)
7420         (INS_FLAG_ARRAY, INS_FLAG_NOCHECK): Added flag constants for new
7421         instruction format.
7422
7423 2006-05-30 12:24  edwin
7424
7425         * src/vm/jit/parse.h (new_instruction): Moved `bte` field to s3.
7426         * src/vm/jit/jit.h: Likewise.
7427
7428 2006-05-29 23:59  edwin
7429
7430         * src/vm/jit/jit.h (subroutineinfo): Removed unused typedef.
7431
7432 2006-05-29 23:47  edwin
7433
7434         * src/vm/jit/parse.h: New macros for new instruction format (not
7435         used,
7436         yet).
7437         
7438         * src/vm/jit/jit.h (new_instruction, ...): Further development of new
7439         instruction format (not used, yet).
7440
7441 2006-05-29 22:37  edwin
7442
7443         * src/vm/jit/parse.h: Reordered and commented macros. No functional
7444         changes.
7445         (Changes): Added my name.
7446
7447 2006-05-29 21:48  edwin
7448
7449         * src/vm/jit/parse.c (new_parse): New function. This will become the
7450         parse function for the new instruction format.
7451         (parse): Removed obsolete variable `gp`. (Was used for old inlining).
7452         
7453         * src/vm/jit/jit.h (jitdata): Added temporary fields
7454         `new_instructions` and `new_instructioncount` for parallel
7455         development of the new instruction format.
7456
7457 2006-05-29 20:22  edwin
7458
7459         * src/vm/jit/jit.h (new_instruction): Committed the new instruction
7460         struct (with name `new_instruction` so it can co-exist with the old
7461         format `instruction`).
7462         (resolve.h): Include for new instruction format.
7463         
7464         * src/vm/resolve.h (typeinfo.h): Include to resolve dependencies.
7465         
7466         * src/vm/jit/parse.h: Added a reminder comment.
7467
7468 2006-05-29 19:28  twisti
7469
7470         * configure.ac (AC_INIT): Changed to 0.96+svn.
7471         (CFLAGS): Changed to -O0.
7472
7473 2006-05-29 18:53  twisti
7474
7475         * ChangeLog: Updated.
7476
7477 2006-05-29 18:52  twisti
7478
7479         * configure.ac (AC_INIT): Changed to version 0.96.
7480         (CFLAGS): Changed to -O2.
7481         * NEWS: Changed date.
7482
7483 2006-05-29 15:51  twisti
7484
7485         * src/vm/vm.c (usage): Removed new-line.
7486
7487 2006-05-29 15:37  twisti
7488
7489         * src/vm/vm.c (OPT_GLIBJ): Added.
7490         (Xusage): Added help for -Xglibj.
7491         (version): Changed signature for conditional exit.
7492         (main): Added OPT_GLIBJ. Print version after all commandline arguments
7493         have been handled.
7494
7495 2006-05-29 15:21  edwin
7496
7497         * src/vm/linker.c (link_class_intern): On i386 align all fields to
7498         just 4 bytes as gcc does. This makes the offsets of Java fields match
7499         the offset of native headers. This fixes a bug (java.lang.Double.value
7500         had been at offset 16, but java_lang_Double.value is offset 12).
7501
7502 2006-05-29 15:17  twisti
7503
7504         * src/threads/native/critical.h (signal.h): Added, build fix for some
7505         older Darwin systems.
7506
7507 2006-05-29 14:32  twisti
7508
7509         * NEWS: Added a lot of stuff.
7510
7511 2006-05-29 14:31  twisti
7512
7513         * src/cacao/Makefile.am: Renamed libcacaovm.so to libjvm.so to be
7514         binary compatible with Sun.
7515
7516 2006-05-29 09:41  motse
7517
7518         src/native/jni.c: removed jvmti.h included cacaodbg.h for GetEnv -
7519         jvmti
7520         src/native/vm/VMVirtualMachine.c: formatting changes/removed debug
7521         statements
7522         src/native/vm/VMMethod.c:
7523         (getName/getSignature/getModifiers/getLineTable): (Samuel Vinson) new
7524         implementation. (partially changed by motse)
7525         src/native/jvmti/cacaodbg.h: removed unused function declarations
7526         src/native/jvmti/jvmti.c (getcacaostacktrace): new implementation -
7527         does not yet handle traces of not current threads correctly.
7528         (GetMethodName): fix: return JVMTI_ERROR_NULL_POINTER only on method
7529         == NULL
7530         (GetFrameCount/GetStackTrace): fixed check for valid thread argument.
7531
7532 2006-05-26 16:24  edwin
7533
7534         * src/toolbox/logging.h (stdarg.h): Include it here, instead of in
7535         logging.c.
7536         * src/toolbox/logging.c: See above.
7537
7538 2006-05-26 12:58  twisti
7539
7540         * src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
7541         Removed assert.
7542         * src/vm/jit/powerpc/darwin/md-os.c (thread_restartcriticalsection):
7543         Compile fix. Removed assert.
7544
7545 2006-05-26 12:46  edwin
7546
7547         * NEWS: Added unicode cleanup.
7548
7549 2006-05-26 12:44  edwin
7550
7551         * NEWS: Added tasuki locks and other news.
7552
7553 2006-05-26 12:31  motse
7554
7555         src/native/jvmti/jvmti.c (GetClassStatus): bugfix - only compare
7556         class state
7557
7558 2006-05-26 12:26  edwin
7559
7560         * src/vm/jit/stacktrace.c (stacktrace_remove_stackframeinfo):
7561         Commented.
7562
7563 2006-05-26 12:25  twisti
7564
7565         * src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
7566         Implemented.
7567         * src/vm/jit/powerpc/darwin/md-os.c: Likewise.
7568
7569 2006-05-26 12:19  edwin
7570
7571         * src/vm/builtin.c (builtin_init): Documented.
7572         (builtin_trace_args): Documented.
7573         (builtin_displaymethodstop): Documented.
7574         
7575         * src/vm/jit/alpha/md-abi.c (md_param_alloc): Documented.
7576         
7577         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
7578         Documented.
7579         
7580         * src/vm/jit/codegen-common.c (methodtree_comparator): Documented.
7581         (codegen_insertmethod): Documented.
7582         
7583         * src/toolbox/util.c (getcwd): Documented.
7584
7585 2006-05-26 12:09  edwin
7586
7587         * src/vm/loader.h: Comment update.
7588         
7589         * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed obsolete
7590         inlining check.
7591         
7592         * src/vm/jit/replace.c: Typo fixed.
7593         
7594         * src/vm/jit/reg.c: Avoid XXX as wildcard in comments.
7595         * src/vm/jit/jit.h: Likewise.
7596
7597 2006-05-26 11:57  twisti
7598
7599         * src/vm/properties.c (properties_system_add): Changed
7600         javastring_new_from_ascii to javastring_new_from_utf_string.
7601         
7602         * src/native/jni.c (ThrowNew): Use a variable for clazz.
7603         (JNI_CreateJavaVM): Release allocated memory if vm_create fails.
7604         
7605         * src/threads/native/threads.c: Comments reformatted.
7606
7607 2006-05-26 11:48  edwin
7608
7609         * src/vm/class.c (class_resolveclassmethod): Removed obsolete XXX
7610         comments.
7611         (class_resolveinterfacemethod): Likewise.
7612         (class_resolvefield): Likewise.
7613         
7614         * src/vm/classcache.h: Removed obsolete XXX comment.
7615         
7616         * src/vm/jit/allocator/lsra.h: Changed TYPE_XXX to TYPE_* in comments.
7617         * src/vm/jit/jit.c: Likewise.
7618         
7619         * src/native/vm/VMObject.c (Java_java_lang_VMObject_clone):
7620         Removed obsolete XXX comment.
7621         
7622         * src/mm/memory.c (dump_release): Removed obsolete debugging code.
7623
7624 2006-05-26 11:22  edwin
7625
7626         * src/native/jni.c (DefineClass): Use javastring_new_from_utf_string.
7627         (ThrowNew): Likewise.
7628
7629 2006-05-26 09:30  twisti
7630
7631         * src/mm/boehm.c (stackcall_malloc_atomic): Removed.
7632         (stackcall_malloc_uncollectable): Likewise.
7633         (heap_alloc_uncollectable): Use macros directly.
7634         (heap_allocate): Likewise.
7635         
7636         * src/vm/vm.c: Added -jvm options, which is available on darwin.
7637         
7638         * src/vm/suck.c (scandir_filter): Changed signature for darwin.
7639
7640 2006-05-25 21:59  motse
7641
7642         src/vm/vm.c(usage): added information for jvmti agent for jdwp
7643         (vm_create): jdwp code move to jvmti agent for jdwp (VMjdwp.c)
7644         src/cacao/cacao.c (main): jdwp code move to jvmti agent for jdwp.
7645         execute jvmti_set_phase only if needed
7646         src/native/jvmti/cacaodbg.c (setup_jdwp_thread): jdwp code move to
7647         jvmti agent for jdwp
7648         src/native/jvmti/VMjdwp.c: change this to a jvmti complaint agent by
7649         using jni/jvmti function instead of cacao specific functions and
7650         implement a Agent_OnLoad as main entry point. Include
7651         setup_jdwp_thread function.
7652         src/native/jvmti/Makefile.am: add libjdwp.so
7653         src/native/jvmti/cacaodbg.h: remove no more needed global jdwp
7654         related variables
7655         src/native/jvmti/jvmti.c: (Resume/SuspendThread(List)): add temporary
7656         implementation for trying jdwp
7657         (jvmti_agentload): bugfix in getting/passing libname/arguments
7658
7659 2006-05-25 12:28  twisti
7660
7661         * vm/jit/intrp/intrp.h (global_sp): Added space, yeah, whatever...
7662         * vm/jit/intrp/dynamic-super.c (vm/builtin.h): Added.
7663         (vm/jit/disass.h): Likewise.
7664         (gen_inst): Fixed compiler warnings.
7665         * vm/jit/intrp/java.vmg: Fixed compiler warnings with
7666         stacktrace_create_stackframeinfo.
7667         * threads/native/threads.h (threadobject): Changed type of _global_sp
7668         to u1*.
7669
7670 2006-05-25 12:22  twisti
7671
7672         * NEWS: Sorry.
7673
7674 2006-05-25 12:21  twisti
7675
7676         * src/vm/vm.c (HEAP_MAXSIZE): Changed to 128MB.
7677         (STACK_SIZE): Changed to 64kB.
7678         (Xusage): Calculate default sizes.
7679         
7680         * NEWS: New stuff added.
7681
7682 2006-05-25 11:29  twisti
7683
7684         * src/vm/jit/x86_64/md-emit.h (emit_movl_reg_reg): Added.
7685
7686 2006-05-25 11:24  edwin
7687
7688         * configure.ac: Disable inlining and lsra by default.
7689
7690 2006-05-24 14:11  twisti
7691
7692         * src/threads/native/threads.c (threads_startup_thread): Allocate Java
7693         stack on Java heap instead of hardware stack.
7694
7695 2006-05-24 14:08  twisti
7696
7697         * configure.ac: Added INTRP_CFLAGS.
7698         * src/vm/jit/intrp/Makefile.am (CFLAGS): Set to INTRP_CFLAGS.
7699
7700 2006-05-24 11:00  motse
7701
7702         src/vm/vm.c (vm_exit): only set JVMTI_PHASE_DEAD if a jvmti agent or
7703         a jvmti environment is loaded.
7704         src/native/jvmti/cacaodbg.c (jvmti_cacaodbgserver_quit): bugfix: set
7705         dbgcom = NULL only if all environments have been disposed.
7706         src/native/jvmti/jvmti.c (GetLoadedClasses): remove debug statement
7707
7708 2006-05-23 19:52  motse
7709
7710         src/vm/classcache.c: export CLASSCACHE_LOCK/UNLOCK and
7711         lock_hashtable_classcache
7712         src/vm/classcache.h: idem
7713         src/native/jvmti/jvmti.c (GetLoadedClasses) implemented (sv/motse)
7714         (GetClassSignature) fixed
7715
7716 2006-05-23 15:31  motse
7717
7718         src/vm/vm.c (vm_create): rename jvmti function calls
7719         
7720         src/cacao/cacao.c (main): rename jvmti function calls
7721         
7722         src/native/jni.c (GetEnv): rename jvmti function calls. jvmti version
7723         changed to JVMTI_VERSION_INTERFACE_JVMTI
7724         
7725         src/native/vm/VMVirtualMachine.c (getAllLoadedClassesCount): (Samuel
7726         Vinson) implemented.
7727         (getAllLoadedClassesCount): jvmti Deallocate call added. (sv):
7728         CallObjectMethod fix
7729         (getAllClassMethods): (Samuel Vinson) implemented.
7730         (getClassMethod): (Samuel Vinson) implemented.
7731         
7732         src/native/jvmti/jvmti.h: added JVMTI_VERSION interface and mask
7733         
7734         src/native/jvmti/cacaodbgserver.h: msg queue/shared mem related
7735         things removed. gdb related defines added.
7736         
7737         src/native/jvmti/dbg.h: remove ptrace related things
7738         
7739         src/native/jvmti/cacaodbg.c change setsysbrkpt name to
7740         jvmti_set_system_breakpoint, addbrkpt to jvmti_add_breakpoint,
7741         allthreads to jvmti_get_all_threads
7742         (jvmti_cacao_debug_init): new function where fork/exec of
7743         cacaodbgserver takes place
7744         (jvmti_set_system_breakpoint): added functionality for brkpt delete
7745         and asm label for cacaodbgserver support
7746         (jvmti_cacaodbgserver_quit): new function for killing cacaodbgserver
7747         properly
7748         (jvmti_cacao_generic_breakpointhandler): new function. This is the
7749         entry point for every breakpointhandler and start for a new jvmti
7750         event
7751         (jvmti_cacao_debug_init): new function for starting up
7752         cacaodbgserver process.
7753         
7754         src/native/jvmti/VMjdwp.c (jvmti_VMjdwpInit): function renamed
7755         
7756         src/native/jvmti/Makefile.am: delete dbg.c. (sv) add compile/install
7757         support for cacaodbgserver.
7758         
7759         src/native/jvmti/cacaodbg.h: breakpoint counter added to struct
7760         _brkpt. change setsysbrkpt name to jvmti_set_system_breakpoint,
7761         addbrkpt to jvmti_add_breakpoint, allthreads to
7762         jvmti_get_all_threads, fireEvent to jvmti_fireEvent, agentload to
7763         jvmti_agentload agentunload to jvmti_agentunload, getcurrentthread to
7764         jvmti_get_current_thread, set_jvmti_phase to jvmti_set_phase,
7765         new_jvmtienv to jvmti_new_environment, VMjdwpinit to
7766         jvmti_VMjdwpInit. added breakpoint table constants. removed global
7767         jdwp, jvmti, suspend, transport, agentarg variables
7768         
7769         src/native/jvmti/jvmti.c all jvmti-environment function changed to
7770         static functions. execcallback renamed to execute_callback. fireEvent
7771         renamed to jvmti_fireEvent.
7772         (execute_callback): add phase checks
7773         (GetClassMethods): bugfix in copying jmethodIDs
7774         (DisposeEnvironment): relocate work to jvmti_cacaodbgserver_quit
7775         (jvmti_new_environment) : relocate forking new process to
7776         jvmti_cacao_debug_init
7777         (CHECK_ADD_CAPABILITY): bugfix in adding capabilities
7778         (GetClassMethods): bugfix coping methodinfo pointers
7779         (SetEventNotificationMode): setsysbrkpt calls added.
7780         rename jvmti function names.
7781         
7782         src/native/jvmti/cacaodbgserver.c changed to support gdb insted of
7783         using ptrace directly.
7784         (getchildprocptrace): removed
7785         (waitloop): removed
7786         (startgdb): new function. start a new gdb session.
7787         (getgdboutput): new helper function for getting gdb output.
7788         (dataevaluate): new helper function for getting value for a given
7789         expression
7790         (commonbreakpointhandler): new function which handles SIGTRAPs and
7791         gdb breakpoint hits.
7792         (controlloop) : new function handle communication with gdb
7793         (main): removed old code. added calls to startgdb and controlloop
7794         
7795         src/native/jvmti/dbg.c removed
7796         
7797         src/threads/native/threads.h: removed
7798         threads_set_current_threadobject. added jvmti_get_threads_breakpoints
7799         
7800         src/threads/native/threads.c: (threads_startup_thread) add thread
7801         start/end asm lables
7802         (threads_set_current_threadobject): removed jvmti thread start
7803         support.
7804         (jvmti_get_threads_breakpoints) new function that gets addresses of
7805         asm lables.
7806         
7807         src/threads/native/lock.h: added definition of lock_global_pool_lock
7808         and lock_global_pool
7809
7810 2006-05-23 08:51  twisti
7811
7812         * src/vm/jit/x86_64/codegen.c: Changed the code generator to produce
7813         RISC-like code. These are way too much changes to name them.
7814         (createnativestub): Bugfix in argument saving.
7815         * src/vm/jit/x86_64/codegen.h: Likewise.
7816         * src/vm/jit/x86_64/emit.c: Likewise.
7817         * src/vm/jit/x86_64/md-emit.h: Likewise.
7818
7819 2006-05-23 08:42  twisti
7820
7821         * src/vm/options.c (opt_heapmaxsize, opt_heapstartsize): Added.
7822         * src/vm/options.h: Likewise.
7823         
7824         * src/vm/vm.c (version): Print heap and stack information.
7825         (vm_create): Use global option variables.
7826
7827 2006-05-23 08:25  twisti
7828
7829         * src/vm/jit/x86_64/emit.c (emit_movl_reg_reg): New function.
7830         
7831         * src/vm/jit/x86_64/codegen.c (ICMD_L2I): Only move the low
7832         32-bit. Otherwise this may cause a bug with e.g. array accesses, as
7833         the index registers are treated as 64-bit.
7834         
7835         * src/vm/jit/x86_64/codegen.h (gen_bound_check): Bugfix: only read
7836         32-bit.
7837         (M_IMOV): Added.
7838         (M_ICMP_MEMBASE): Likewise.
7839
7840 2006-05-22 16:14  twisti
7841
7842         * configure.ac: Added --with-classpath-includedir.
7843
7844 2006-05-22 09:07  twisti
7845
7846         * NEWS: Some news.
7847
7848 2006-05-22 09:06  twisti
7849
7850         * src/vm/vm.c (vm_abort): New method.
7851         * src/vm/vm.h: Likewise.
7852         * src/cacaoh/headers.c: Likewise.
7853         
7854         * src/toolbox/logging.c (log_vprint): Made non-static.
7855         * src/toolbox/logging.h (log_vprint): Added.
7856         
7857         * src/threads/native/threads.c (threads_sem_init): Use vm_abort.
7858         (threads_sem_wait): Likewise.
7859         (threads_sem_post): Likewise.
7860         (threads_current_time_is_earlier_than): Likewise.
7861         (threads_init): Check for pthread_attr_init error.
7862         (threads_start_thread): Check for errors of pthread calls. Set the
7863         threads stack size.
7864
7865 2006-05-18 14:33  edwin
7866
7867         * src/threads/native/lock.h, src/threads/native/lock.c: Tasuki lock
7868         implementation (without lock deflation). This is a straight-forward
7869         implementation that uses an extra word in java_objectheader for the
7870         FLC (flat lock contention) bit.
7871         
7872         * src/vm/global.h (java_objectheader): Added field `flcword`.
7873         
7874         * src/threads/native/lock.h (Authors): Changed to myself, as there
7875         is none of the old code remaining in this file.
7876         
7877         * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
7878         src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c,
7879         src/vm/jit/x86_64/codegen.c (codegen, createnativestub): Add the
7880         FLC word when creating the fake object header for patcher
7881         synchronization.
7882
7883 2006-05-18 14:06  twisti
7884
7885         * src/vm/properties.c (properties_get): Search the list backwards to
7886         get the newest entry.
7887
7888 2006-05-18 12:50  twisti
7889
7890         * src/vm/vm.c (version): Print default and runtime classpath
7891         variables.
7892         (vm_create): Add a default java.endorsed.dirs property.
7893
7894 2006-05-17 22:06  twisti
7895
7896         * configure.ac: Don't export BOOTCLASSPATH, that makes problems.
7897
7898 2006-05-17 12:10  twisti
7899
7900         * src/vm/jit/powerpc/codegen.c (createnativestub): Fixed bug and
7901         changed argument saving and restoring.
7902         
7903         * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Partially
7904         implemented Darwin bits. Still some bugs with testarguments.
7905
7906 2006-05-16 13:08  twisti
7907
7908         * src/vm/jit/powerpc/codegen.c (codegen): Bugfix: use REG_ITMP3 in
7909         ICMD_L{DIV,REM} for function address. This fixes
7910         gnu.testlet.java.math.BigInteger.divide.
7911
7912 2006-05-16 01:49  edwin
7913
7914         * src/threads/native/lock.c: Fixed comment formatting.
7915
7916 2006-05-15 23:37  edwin
7917
7918         * src/vm/jit/i386/machine-instr.h (compare_and_swap): Fixed comment.
7919
7920 2006-05-15 23:31  twisti
7921
7922         * configure.ac: Export BOOTCLASSPATH for javac check.
7923         * src/cacao/Makefile.am (cacao_SOURCES)Removed cacao.h.
7924         * src/vm/jit/inline/Makefile.am (libinline_la_SOURCES): Added
7925         inline_debug.inc.
7926         * src/vm/jit/powerpc/Makefile.am (DIST_SUBDIRS): Added netbsd.
7927
7928 2006-05-15 23:22  edwin
7929
7930         * src/vm/jit/inline/inline_debug.c: Renamed to
7931         src/vm/jit/inline/inline_debug.inc.
7932         
7933         * src/vm/jit/inline/inline.c: #include changed to
7934         src/vm/jit/inline/inline_debug.inc.
7935         
7936         * src/vm/resolve.c: Typo fixed.
7937
7938 2006-05-15 21:48  edwin
7939
7940         * src/threads/native/lock.c (lock_record_remove_waiter): Made static.
7941         (lock_monitor_wait): Likewise.
7942
7943 2006-05-15 21:32  edwin
7944
7945         * src/threads/native/lock.h, src/threads/native/lock.c
7946         (lock_does_thread_hold_lock): Renamed to
7947         lock_is_held_by_current_thread
7948         and removed thread argument, as reliable checking is only possible for
7949         the current thread, anyway.
7950         
7951         * src/native/vm/VMThread.c (lock_does_thread_hold_lock): Changed to
7952         lock_is_held_by_current_thread.
7953         
7954         * src/native/jvmti/jvmti.c (lock_does_thread_hold_lock): Changed to
7955         lock_is_held_by_current_thread.
7956
7957 2006-05-15 18:24  edwin
7958
7959         * configure.ac (src/threads/green/Makefile): Removed from
7960         AC_CONFIG_FILES.
7961
7962 2006-05-15 15:06  edwin
7963
7964         * src/threads/native/lock.h (lock_record_pool_header_t): Documented.
7965         (lock_record_pool_t): Documented.
7966         
7967         * src/threads/native/lock.c: Minor whitespace cleanup.
7968
7969 2006-05-15 14:40  twisti
7970
7971         * THIRDPARTY: Removed green threads stuff.
7972
7973 2006-05-15 14:39  twisti
7974
7975         * src/vm/jit/alpha/asmpart.S (asm_perform_threadswitch)
7976         (asm_initialize_thread_stack, asm_switchstackandcall): Removed (2nd
7977         part of green threads removal).
7978         * src/vm/jit/mips/asmpart.S: Likewise.
7979         * src/vm/jit/i386/asmpart.S: Likewise.
7980         * src/vm/jit/x86_64/asmpart.S: Likewise.
7981
7982 2006-05-15 14:24  twisti
7983
7984         * src/vm/hashtable.h,
7985         src/vm/class.c,,
7986         src/vm/suck.c,
7987         src/vm/loader.c,
7988         src/vm/builtin.c,
7989         src/vm/string.c,
7990         src/vm/suck.h,
7991         src/vm/builtin.h,
7992         src/vm/loader.h,
7993         src/vm/finalizer.c,
7994         src/vm/classcache.c,
7995         src/vm/initialize.c,
7996         src/vm/jit/powerpc/linux/md-os.c,
7997         src/vm/jit/powerpc/netbsd/md-os.c,
7998         src/vm/jit/powerpc/darwin/md-os.c,
7999         src/vm/jit/powerpc/darwin/md-asm.h,
8000         src/vm/jit/powerpc/codegen.c,
8001         src/vm/jit/powerpc/asmpart.S,
8002         src/vm/jit/codegen-common.h,
8003         src/vm/jit/alpha/codegen.c,
8004         src/vm/jit/alpha/linux/md-os.c,
8005         src/vm/jit/alpha/asmpart.S,
8006         src/vm/jit/alpha/freebsd/md-os.c,
8007         src/vm/jit/stack.c,
8008         src/vm/jit/code.c,
8009         src/vm/jit/verify/typecheck.c,
8010         src/vm/jit/mips/codegen.c,
8011         src/vm/jit/mips/linux/md-os.c,
8012         src/vm/jit/mips/asmpart.S,
8013         src/vm/jit/mips/irix/md-os.c,
8014         src/vm/jit/patcher.h,
8015         src/vm/jit/inline/inline.c,
8016         src/vm/jit/allocator/simplereg.c,
8017         src/vm/jit/i386/codegen.c,
8018         src/vm/jit/i386/linux/md-os.c,
8019         src/vm/jit/i386/asmpart.S,
8020         src/vm/jit/i386/freebsd/md-os.c,
8021         src/vm/jit/parse.c,
8022         src/vm/jit/intrp/intrp.h,
8023         src/vm/jit/intrp/codegen.c,
8024         src/vm/jit/intrp/engine.c,
8025         src/vm/jit/intrp/asmpart.c,
8026         src/vm/jit/intrp/dynamic-super.c,
8027         src/vm/jit/intrp/java.vmg,
8028         src/vm/jit/asmpart.h,
8029         src/vm/jit/x86_64/md.c,
8030         src/vm/jit/x86_64/codegen.c,
8031         src/vm/jit/x86_64/asmpart.S,
8032         src/vm/jit/profile/profile.c,
8033         src/vm/jit/stacktrace.c,
8034         src/vm/jit/jit.c,
8035         src/vm/jit/stacktrace.h,
8036         src/vm/jit/codegen-common.c,
8037         src/vm/jit/jit.h,
8038         src/vm/global.h,
8039         src/vm/builtintable.inc,
8040         src/vm/signal.c,
8041         src/vm/exceptions.c,
8042         src/vm/vm.c,
8043         src/vm/linker.c,
8044         src/vm/exceptions.h,
8045         src/vm/utf8.c,
8046         src/vm/hashtable.c,
8047         src/cacao/cacao.c,
8048         src/cacao/Makefile.am,
8049         src/native/tools/Makefile.am,
8050         src/native/tools/gennativetable.c,
8051         src/native/jni.c,
8052         src/native/vm/VMObject.c,
8053         src/native/vm/VMThread.c,
8054         src/native/jni.h,
8055         src/native/native.c,
8056         src/native/jvmti/cacaodbg.c,
8057         src/native/jvmti/cacaodbg.h,
8058         src/native/jvmti/jvmti.c,
8059         src/toolbox/avl.c,
8060         src/toolbox/logging.c,
8061         src/toolbox/avl.h,
8062         src/mm/boehm.h,
8063         src/mm/memory.c,
8064         src/mm/boehm.c,
8065         src/threads/green,
8066         src/threads/native/threads.h,
8067         src/threads/native/threads.c,
8068         src/threads/Makefile.am,
8069         src/cacaoh/cacaoh.c,
8070         src/cacaoh/headers.h,
8071         src/cacaoh/Makefile.am,
8072         src/cacaoh/headers.c,
8073         configure.ac: Green threads removal, USE_THREADS renamed to
8074         ENABLE_THREADS, NATIVE_THREADS define removed.
8075
8076 2006-05-15 13:13  twisti
8077
8078         * src/vm/jit/asmpart.h (calljava_xhandler2): Not required anymore.
8079
8080 2006-05-15 12:23  twisti
8081
8082         * src/threads/native/threads.c (sem_init, sem_post, sem_wait)
8083         (sem_destroy): Added a pthread implementation (taken from Boehm-GC)
8084         for Darwin, as Darwin does not have an implementation for these
8085         functions.
8086         * src/threads/native/threads.h (sem_t): Added structure for Darwin.
8087         * src/threads/native/lock.h (semaphore.h): Removed.
8088
8089 2006-05-15 12:14  edwin
8090
8091         * src/threads/native/lock.c (THIN_UNLOCKED): Abstracted out the thin
8092         unlocked state so we can toggle the shape bit meaning if we want.
8093         (lock_pre_compute_thinlock): Likewise.
8094         (lock_get_initial_lock_word): Likewise.
8095         (lock_monitor_enter): Made void. Might save an instruction here and
8096         there.
8097         (lock_monitor_wait): lock_monitor_enter no longer returns the lock
8098         record. Assert that it is still the same fat lock (it must be).
8099
8100 2006-05-15 11:34  edwin
8101
8102         * src/threads/native/lock.c: Added reference to thin lock paper and
8103         explained the lockword format.
8104
8105 2006-05-14 22:41  edwin
8106
8107         * src/threads/native/lock.c: Thin lock implementation.
8108         
8109         * src/threads/native/threads.h (threadobject): Added thinlock field.
8110         (Authors, Changes): Moved myself to Authors because of rewrite.
8111         
8112         * src/threads/native/threads.c (threads_preinit): Init index and
8113         thinlock field of mainthreadobj here. (Needed early.)
8114         (threads_table_add): Init pre-computed thinlock field here.
8115         
8116         * src/threads/native/lock.h (lock_pre_compute_thinlock): New function.
8117
8118 2006-05-14 22:36  edwin
8119
8120         * src/threads/native/lock.c (lock_record_free_pools): Assert that
8121         this function is not called. It does not match the new way lock
8122         records are handled. We must find another way to free them.
8123         
8124         * src/threads/native/threads.c (threads_init): Do not call
8125         lock_record_free_pools.
8126         (threads_table_add): Removed debug code.
8127         (threads_startup_thread): Likewise.
8128
8129 2006-05-14 15:34  edwin
8130
8131         * src/threads/native/threads.c (threads_table_init): New function.
8132         (threads_table_add): New function.
8133         (threads_table_remove): New function.
8134         (threads_table_dump): New function.
8135         (threads_table): New global variable.
8136         (threads_preinit): Call threads_table_init.
8137         Call threads_table_add to add main thread.
8138         (threads_init_threadobject): Initialize index to 0.
8139         (threads_startup_thread): Call threads_table_add to add the thread
8140         to the table, and threads_table_remove to remove if afterwards.
8141
8142 2006-05-14 14:02  edwin
8143
8144         * src/threads/native/threads.h, src/threads/native/threads.c
8145         (nativethread): Removed. This struct is now inlined in threadobject.
8146         (threads_table_entry_t): New type.
8147         (threads_table_t): New type.
8148         Some further cleanup.
8149         
8150         * src/vm/builtin.h (THREADINFO): Becomes THREADOBJECT.
8151         
8152         * src/vm/jit/intrp/intrp.h (THREADINFO): Becomes THREADOBJECT.
8153         
8154         * src/vm/jit/stacktrace.c (_stackframeinfo): This is now directly
8155         a field of threadobject.
8156         
8157         * src/vm/jit/stacktrace.h (THREADINFO): Becomes THREADOBJECT.
8158         
8159         * src/native/jni.h (THREADINFO): Becomes THREADOBJECT.
8160         
8161         * src/native/jvmti/jvmti.c (isSleeping): Renamed to sleeping.
8162
8163 2006-05-14 12:22  edwin
8164
8165         * src/threads/native/lock.c, src/threads/native/lock.h: Rewritten
8166         as a very basic fat lock implementation.
8167         
8168         * src/vm/jit/powerpc64/arch.h (USE_MD_THREAD_STUFF): Renamed to
8169         USE_FAKE_ATOMIC_INSTRUCTIONS.
8170         
8171         * src/vm/jit/intrp/engine.c (USE_MD_THREAD_STUFF): Renamed to
8172         USE_FAKE_ATOMIC_INSTRUCTIONS.
8173         
8174         * src/threads/native/threads.c (USE_MD_THREAD_STUFF): Renamed to
8175         USE_FAKE_ATOMIC_INSTRUCTIONS.
8176         (ee.lrpool): Renamed to ee.lockrecordpools.
8177
8178 2006-05-14 12:15  edwin
8179
8180         * src/threads/native/threads.c (threads_calc_absolute_time): Optimize
8181         waiting for the maximum 64-bit number of milliseconds to an unbounded
8182         wait. This also avoids an overflow problem we seem to have with timed
8183         waits.
8184
8185 2006-05-13 23:25  edwin
8186
8187         * src/threads/native/lock.c (lock_init_thread_lock_record_pool):
8188         Renamed to lock_init_execution_env. Cleanup and Comments.
8189         
8190         * src/threads/native/lock.h (lock_init_thread_lock_record_pool):
8191         Renamed to lock_init_execution_env.
8192         
8193         * src/threads/native/threads.c (lock_init_thread_lock_record_pool):
8194         Renamed to lock_init_execution_env.
8195
8196 2006-05-13 23:10  edwin
8197
8198         * src/threads/native/threads.c, src/threads/native/threads.c: Further
8199         cleanup. Still no functional changes.
8200         Renamed external symbols are listed below.
8201         
8202         * src/threads/native/critical.h, src/threads/native/critical.c:
8203         Cleanup.
8204         
8205         * src/threads/native/lock.h: Cleanup.
8206         
8207         * src/vm/jit/profile/profile.c (thread_sleep): Renamed to
8208         threads_sleep.
8209         
8210         * src/vm/vm.c (joinAllThreads): Renamed to threads_join_all_threads.
8211         
8212         * src/native/jni.c (thread_getself): Renamed to
8213         threads_get_current_threadobject.
8214         
8215         * src/native/vm/VMThread.c (thread): Typedef `thread` has been
8216         removed.
8217         (interruptThread): Renamed to threads_interrupt_thread.
8218         (isInterruptedThread): Renamed to threads_thread_has_been_interrupted.
8219         (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
8220         (yieldThread): Renamed to threads_yield.
8221         (interruptedThread): Renamed to
8222         threads_check_if_interrupted_and_reset.
8223         
8224         * src/native/jvmti/cacaodbg.c (thread_getself): Renamed to
8225         threads_get_current_threadobject.
8226         (setthreadobject): Renamed to threads_set_current_threadobject.
8227         
8228         * src/native/jvmti/jvmti.c (setthreadobject): Renamed to
8229         threads_set_current_threadobject.
8230         
8231         * src/threads/green/threads.h (yieldThread): Renamed to threads_yield.
8232         (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
8233         
8234         * src/threads/green/threads.c (yieldThread): Renamed to threads_yield.
8235         (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
8236
8237 2006-05-12 16:49  edwin
8238
8239         * src/threads/native/threads.c: The Big Thread Cleanup. No functional
8240         changes,
8241         only code motion, renaming, documenting. This file has been split into
8242         threads.c, lock.c, and critical.c.
8243         Externally used symbols that were renamed are listed below. Static
8244         symbol
8245         renames are not listed.
8246         
8247         * src/threads/native/threads.h: The Big Thread Cleanup. No functional
8248         changes,
8249         only code motion, renaming, documenting. This file has been split into
8250         threads.h, lock.h, and critical.h.
8251         
8252         * src/cacaoh/cacaoh.c (initLocks): Renamed to lock_init (green
8253         threads).
8254         
8255         * src/cacaoh/headers.c (threadcritnode): Renamed to
8256         critical_section_node_t.
8257         
8258         * src/mm/memory.c (initObjectLock): Renamed to lock_init_object_lock.
8259         
8260         * src/native/jvmti/jvmti.c (lockRecordPool): Renamed to
8261         lock_record_pool_t.
8262         (pool_lock): Renamed to lock_global_pool_lock.
8263         (global_pool): Renamed to lock_global_pool.
8264         (ownerThread): Renamed to owner.
8265         (threadHoldsLock): Renamed to lock_does_thread_hold_lock.
8266         (monitorExit): Renamed to lock_monitor_exit.
8267         (wait_cond_for_object): Renamed to lock_wait_for_object.
8268         (signal_cond_for_object): Renamed to lock_notify_object.
8269         (broadcast_cond_for_object): Renamed to lock_notify_all_object.
8270         
8271         * src/native/tools/gennativetable.c (initLocks): Renamed to lock_init
8272         (green threads).
8273         
8274         * src/native/vm/VMObject.c (initObjectLock): Renamed to
8275         lock_init_object_lock.
8276         (wait_cond_for_object): Renamed to lock_wait_for_object.
8277         (signal_cond_for_object): Renamed to lock_notify_object.
8278         (broadcast_cond_for_object): Renamed to lock_notify_all_object.
8279         
8280         * src/native/vm/VMThread.c (threadHoldsLock): Renamed to
8281         lock_does_thread_hold_lock.
8282         
8283         * src/threads/green/locks.c, src/threads/green/locks.h
8284         (initLocks): Renamed to lock_init.
8285         (wait_cond_for_object): Renamed to lock_wait_for_object.
8286         (signal_cond_for_object): Renamed to lock_notify_object.
8287         (broadcast_cond_for_object): Renamed to lock_notify_all_object.
8288         (internal_broadcast_cond_for_object): Renamed to
8289         internal_lock_notify_all_object.
8290         
8291         * src/threads/green/threads.c (initLocks): Renamed to lock_init.
8292         (internal_broadcast_cond_for_object): Renamed to
8293         internal_lock_notify_all_object.
8294         
8295         * src/threads/native/Makefile.am (lock.c, lock.h): Added new files.
8296         (critical.c, critical.h): Added new files.
8297         (Changes): Added my name.
8298         
8299         * src/threads/native/critical.c: New file.
8300         
8301         * src/threads/native/critical.h: New file.
8302         
8303         * src/threads/native/lock.c: New file.
8304         
8305         * src/threads/native/lock.h: New file.
8306         
8307         * src/toolbox/avl.c (initObjectLock): Renamed to
8308         lock_init_object_lock.
8309         
8310         * src/vm/builtin.c (initObjectLock): Renamed to lock_init_object_lock.
8311         (monitorEnter): Renamed to lock_monitor_enter.
8312         (monitorExit): Renamed to lock_monitor_exit.
8313         
8314         * src/vm/class.c (initObjectLock): Renamed to lock_init_object_lock.
8315         
8316         * src/vm/classcache.c (initObjectLock): Likewise.
8317         
8318         * src/vm/finalizer.c (initObjectLock): Likewise.
8319         (wait_cond_for_object): Renamed to lock_wait_for_object.
8320         (signal_cond_for_object): Renamed to lock_notify_object.
8321         
8322         * src/vm/global.h (monitorLockRecord): Renamed to lock_record_t.
8323         
8324         * src/vm/hashtable.c (initObjectLock): Renamed to
8325         lock_init_object_lock.
8326         
8327         * src/vm/jit/asmpart.h: Added #include "threads/native/critical.h"
8328         (threadcritnode): Renamed to critical_section_node_t.
8329         
8330         * src/vm/jit/code.c: Comment changed.
8331         
8332         * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h
8333         (threadcritnode): Renamed to critical_section_node_t.
8334         (threadcritnodetemp): Renamed to codegen_critical_section_t.
8335         
8336         * src/vm/jit/alpha/codegen.c (get_dummyLR): Renamed to
8337         lock_get_initial_lock_word.
8338         
8339         * src/vm/jit/alpha/freebsd/md-os.c (thread_checkcritical): Renamed to
8340         critical_find_restart_point.
8341         * src/vm/jit/alpha/linux/md-os.c (thread_checkcritical): Renamed to
8342         critical_find_restart_point.
8343         
8344         * src/vm/jit/i386/codegen.c (get_dummyLR): Renamed to
8345         lock_get_initial_lock_word.
8346         
8347         * src/vm/jit/i386/freebsd/md-os.c (thread_checkcritical): Renamed to
8348         critical_find_restart_point.
8349         * src/vm/jit/i386/linux/md-os.c (thread_checkcritical): Renamed to
8350         critical_find_restart_point.
8351         
8352         * src/vm/jit/intrp/dynamic-super.c (initObjectLock): Renamed to
8353         lock_init_object_lock.
8354         
8355         * src/vm/jit/mips/codegen.c (get_dummyLR): Renamed to
8356         lock_get_initial_lock_word.
8357         
8358         * src/vm/jit/mips/irix/md-os.c (thread_checkcritical): Renamed to
8359         critical_find_restart_point.
8360         * src/vm/jit/mips/linux/md-os.c (thread_checkcritical): Renamed to
8361         critical_find_restart_point.
8362         
8363         * src/vm/jit/powerpc/codegen.c (get_dummyLR): Renamed to
8364         lock_get_initial_lock_word.
8365         
8366         * src/vm/jit/profile/profile.c (wait_cond_for_object): Renamed to
8367         lock_wait_for_object.
8368         
8369         * src/vm/jit/stack.c (initObjectLock): Renamed to
8370         lock_init_object_lock.
8371         
8372         * src/vm/jit/x86_64/codegen.c (get_dummyLR): Renamed to
8373         lock_get_initial_lock_word.
8374         
8375         * src/vm/jit/x86_64/md.c (thread_checkcritical): Renamed to
8376         critical_find_restart_point.
8377         
8378         * src/vm/loader.c (initObjectLock): Renamed to
8379         lock_init_object_lock.
8380         (initLocks): Renamed to lock_init (green threads).
8381         
8382         * src/vm/string.c (initObjectLock): Renamed to
8383         lock_init_object_lock.
8384         
8385         * src/vm/vm.c (initLocks): Renamed to lock_init (green threads).
8386
8387 2006-05-12 14:32  twisti
8388
8389         * src/vm/jit/emit.h: Replaced __POWERPC__ #ifdef with
8390         SIZEOF_VOID_P == 4.
8391
8392 2006-05-11 14:02  twisti
8393
8394         * src/native/vm/VMClassLoader.c (nativeGetResources): Bugfix: utf_new
8395         should be utfname.
8396
8397 2006-05-11 13:43  twisti
8398
8399         * src/vm/jit/mips/codegen.c: Changed mcodeptr from u4* to u1*.
8400         * src/vm/jit/mips/codegen.h: Likewise.
8401
8402 2006-05-11 13:09  twisti
8403
8404         * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Use new
8405         jit_asm_compile method.
8406
8407 2006-05-11 12:48  edwin
8408
8409         * src/threads/native/threads.c (monitorExit): Added an assert to
8410         check that no existing waiter is overwritten by the suspicious
8411         assignment.
8412
8413 2006-05-11 12:36  edwin
8414
8415         * src/lib/vm/reference/java/lang/VMClassLoader.java
8416         (getBootPackages): Merged patch to VMClassLoader.java of the
8417         reference implementation. getBootPackages now works in the
8418         presence of endorsed jars.
8419
8420 2006-05-11 12:18  twisti
8421
8422         * src/native/jni.c (DeleteGlobalRef): Bugfix: handle the removal of
8423         the first entry in the chain properly.
8424
8425 2006-05-11 09:18  twisti
8426
8427         * src/vm/hashtable.c (threads/native/threads.h): Added.
8428         (hashtable_create): Initialize lock object.
8429         (hashtable_resize): New function.
8430         (hashtable_free): Likewise.
8431         * src/vm/hashtable.h (hashtable): Added header pointer.
8432         (hashtable_resize): Added.
8433         (hashtable_free): Likewise.
8434         
8435         * src/vm/vm.c (vm_create): Call jni_init before threads_init.
8436         
8437         * src/vm/utf8.c (lock_hashtable_utf): Removed.
8438         (utf8_init): Allocate hashtable on heap.
8439         (utf_new): Use new hashtable stuff.
8440         
8441         * src/native/native.c (native_init): Use new hashtable stuff.
8442         (native_hashtable_library_add): Likewise.
8443         
8444         * src/native/jni.c (jni_init): Removed Java IdentityHashMap stuff and
8445         create a hashtable.
8446         (NewGlobalRef): Implemented with native hashtable.
8447         (DeleteGlobalRef): Likewise.
8448         
8449         * src/native/jni.h (hashtable_global_ref_entry): Added.
8450         
8451         * src/vm/string.c (literalstring_u2): Removed check for
8452         class_java_lang_String, we have an assert there.
8453
8454 2006-05-10 16:14  twisti
8455
8456         * src/vm/jit/alpha/codegen.c: Changed mcodeptr from u4* to u1*.
8457         * src/vm/jit/alpha/codegen.h: Likewise.
8458
8459 2006-05-10 15:51  twisti
8460
8461         * src/vm/jit/codegen-common.h (codegendata): Use an u1* mcodeptr for
8462         all architectures. This is necessary for the interpreter.
8463         * src/vm/jit/codegen-common.c (codegen_setup): Removed #ifdef.
8464         (codegen_increase): Likewise.
8465         
8466         * src/vm/jit/powerpc/codegen.c: Changed mcodeptr from u4* to u1*.
8467         * src/vm/jit/powerpc/codegen.h: Likewise.
8468
8469 2006-05-10 15:09  edwin
8470
8471         * src/vm/jit/inline/inline.c (inline_write_exception_handlers):
8472         Correct cast for abused instruction->target.
8473
8474 2006-05-10 13:12  twisti
8475
8476         * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use new
8477         jit_asm_compile method.
8478
8479 2006-05-08 11:09  twisti
8480
8481         * configure.ac (AC_CONFIG_FILES): Added src/scripts/keytool.
8482         * src/scripts/Makefile.am (bin_SCRIPTS): Added keytool.
8483         * src/scripts/.cvsignore: Likewise.
8484         * src/scripts/keytool.in: New file.
8485
8486 2006-05-08 11:05  twisti
8487
8488         * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Handle argument
8489         passing properly for SysV ABIs. Darwin is left to do.
8490
8491 2006-05-08 11:03  twisti
8492
8493         * tests/regression/native/testarguments.java: Added new test.
8494         * tests/regression/native/testarguments.c: Likewise.
8495         * tests/regression/native/testarguments.output: Likewise.
8496
8497 2006-05-06 18:29  motse
8498
8499         * src/vm/vm.c (vm_create): make agentlib/agentpath work
8500         * src/cacao/cacao.c (main): changes for jvmti/jdwp startup due to
8501         removal of jdwp process
8502         * src/native/jni.c (JNI_CreateJavaVM): change order vm_create and
8503         initialization of _Jv_jvm due to jvmti agent support.
8504         * src/native/vm/VMVirtualMachine.c: change name of jvmtienv and
8505         bugfixes of Samuel Vinson
8506         * src/native/include/Makefile.am: add VMMethod.h
8507         * src/native/jvmti/Makefile.am: removal of cacaodbgserver
8508         * src/native/jvmti/jvmti.c: remove jdwp process and convert to thread
8509         * src/native/jvmti/cacaodbg.h: idem
8510         * src/native/jvmti/jvmti.h: idem
8511         * src/native/jvmti/dbg.h: idem
8512         * src/native/jvmti/cacaodbg.c: idem
8513         * src/native/jvmti/dbg.c: idem
8514         * src/native/jvmti/cacaodbgserver.c: change to a autonomous program
8515         and removal of jdwp thread.
8516         * src/native/jvmti/VMjdwp.c (VMInit): different invocation due to
8517         removal of jdwp thread
8518         * src/native/jvmti/VMjdwp.h: export jvmti environment and event
8519         callbacks.
8520         * src/native/vm/VMMethod.c: initial/dummy implementation of VMMetod
8521         native method
8522
8523 2006-05-06 14:13  edwin
8524
8525         * src/native/vm/VMRuntime.c
8526         (Java_java_lang_VMRuntime_mapLibraryName): Use new utf_ functions.
8527         (Changes): Added my name.
8528         (vim boilerplate): Added.
8529
8530 2006-05-06 10:10  edwin
8531
8532         * src/native/vm/VMClassLoader.c
8533         (Java_java_lang_VMClassLoader_nativeGetResources): Really create a
8534         new utf string to search for if the trailing .class is stripped.
8535
8536 2006-05-06 00:16  edwin
8537
8538         * src/vm/classcache.c (classcache_merge_class_entries):
8539         Use utf_cat_classname.
8540         (classcache_store): Likewise.
8541         (classcache_store_defined): Likewise.
8542
8543 2006-05-06 00:11  edwin
8544
8545         * src/native/vm/VMClassLoader.c
8546         (Java_java_lang_VMClassLoader_nativeGetResources): Fixed and cleaned
8547         up. Skip leading '/'. Remove '.class' only at end. Free char buffer.
8548         Use correct utf_ functions. Check for exceptions.
8549         
8550         * src/vm/zip.c (zip_find): Documented.
8551
8552 2006-05-05 19:31  edwin
8553
8554         * src/vm/utf8.h: Moved #include "config.h" up front.
8555
8556 2006-05-05 19:22  edwin
8557
8558         * src/toolbox/logging.c (Changes): Added my name.
8559         (vim boilerplate): Added.
8560
8561 2006-05-05 19:21  edwin
8562
8563         * src/toolbox/logging.c (log_message_utf): Use new utf_ functions.
8564         (log_message_class_message_class): Likewise.
8565         (log_message_method): Likewise.
8566
8567 2006-05-05 19:13  edwin
8568
8569         * src/vm/builtin.c (builtin_throw_exception): Use new utf_ functions.
8570         (builtin_trace_exception): Likewise.
8571         (builtin_trace_args): Likewise.
8572         (builtin_displaymethodstop): Likewise.
8573
8574 2006-05-05 18:58  edwin
8575
8576         * src/vm/suck.c (suck_start): Use new utf_ functions.
8577
8578 2006-05-05 18:49  edwin
8579
8580         * src/vm/utf8.h, src/vm/utf8.c: Fixed header.
8581
8582 2006-05-05 18:14  edwin
8583
8584         * src/vm/loader.c (load_class_from_classbuffer): Use new
8585         utf_ functions.
8586
8587 2006-05-05 18:08  edwin
8588
8589         * src/vm/resolve.c (resolve_class_from_name): Use new utf_ functions.
8590         (resolve_subtype_check): Likewise.
8591         (resolve_field_verifier_checks): Likewise.
8592         (resolve_method_verifier_checks): Likewise.
8593
8594 2006-05-05 17:34  edwin
8595
8596         * src/vm/utf8.h, src/vm/utf8.c: The Big utf_* Renaming.
8597         The purpose of this change is to give the utf_* functions names
8598         that make clear what these functions _really_ have been doing
8599         all the time. I'm sure most callers would be surprised if they
8600         knew. All call sites should be reviewed!
8601         (utf_display): Renamed to utf_display_printable_ascii.
8602         (utf_display_classname): Renamed to
8603         utf_display_printable_ascii_classname.
8604         (utf_sprint): Renamed to utf_sprint_convert_to_latin1.
8605         (utf_sprint_classname): Renamed to
8606         utf_sprint_convert_to_latin1_classname.
8607         (utf_strcat): Renamed to utf_strcat_convert_to_latin1.
8608         (utf_strcat_classname): Renamed to
8609         utf_strcat_convert_to_latin1_classname.
8610         (utf_fprint): Renamed to utf_fprint_printable_ascii.
8611         (utf_fprint_classname): Renamed to
8612         utf_fprint_printable_ascii_classname.
8613         
8614         * src/vm/class.c, src/vm/suck.c, src/vm/loader.c, src/vm/builtin.c,
8615         src/vm/descriptor.c, src/vm/resolve.c, src/vm/method.c,
8616         src/vm/classcache.c, src/vm/jit/stack.c, src/vm/jit/verify/typeinfo.c,
8617         src/vm/jit/allocator/lsra.c, src/vm/jit/intrp/disass.c,
8618         src/vm/jit/stacktrace.c, src/vm/jit/codegen-common.c,
8619         src/vm/exceptions.c, src/vm/field.c, src/cacao/cacao.c,
8620         src/native/tools/gennativetable.c, src/native/vm/VMClassLoader.c,
8621         src/native/vm/VMRuntime.c, src/native/native.c, src/toolbox/logging.c,
8622         src/threads/green/threads.c, src/threads/native/threads.c,
8623         src/cacaoh/headers.c: The Big utf_ Renaming. All call sites of the
8624         renamed functions should be reviewed! Calls outside debugging code
8625         are probably incorrect and should use one of the new utf_ functions
8626         that copies byte-for-byte.
8627
8628 2006-05-05 17:09  edwin
8629
8630         * src/vm/exceptions.c (new_exception): Documented.
8631         (new_exception_message): Documented. Use new_exception_javastring.
8632         (new_exception_throwable): Documented.
8633         (new_exception_utfmessage): Documented. Use new_exception_javastring.
8634         (new_exception_javastring): Documented.
8635         (new_exception_int): Documented.
8636         (new_classformaterror): Documented. Use new byte-for-byte UTF-8
8637         functions.
8638         (exceptions_throw_classformaterror): Documented.
8639         (new_classnotfoundexception): Documented. Check return value of
8640         javastring_new.
8641         (new_noclassdeffounderror): Documented. Check return value of
8642         javastring_new.
8643         (new_internalerror): Documented.
8644         (exceptions_new_linkageerror): Documented. Use new byte-for-byte UTF-8
8645         functions.
8646         (exceptions_new_nosuchmethoderror): Documented. Use new byte-for-byte
8647         UTF-8
8648         functions.
8649         (exceptions_throw_nosuchmethoderror): Documented.
8650         (new_unsupportedclassversionerror): Documented. Use new byte-for-byte
8651         UTF-8
8652         functions.
8653         (new_verifyerror): Likewise.
8654         (exceptions_throw_verifyerror_for_stack): Likewise.
8655         (exceptions_handle_exception): Documented.
8656
8657 2006-05-05 16:51  edwin
8658
8659         * src/vm/utf8.c, src/vm/utf8.h (utf_copy): New function.
8660         (utf_cat): New function.
8661         (utf_copy_classname): New function.
8662         (utf_cat_classname): New function.
8663         These new functions copy the UTF-8 content byte-for-byte and thus
8664         do not lead to losses by conversion like the utf_strcpy, etc.
8665         functions.
8666
8667 2006-05-05 15:26  edwin
8668
8669         * src/vm/string.c, src/vm/stringlocal.h, src/vm/utf8.c, src/vm/utf8.h
8670         (Changes): Added my name.
8671         (vim boilerplate): Added.
8672
8673 2006-05-05 15:14  edwin
8674
8675         * src/vm/string.c, src/vm/stringlocal.h
8676         (javastring_new_from_utf_buffer): New function.
8677         (javastring_new_from_utf_string): New function.
8678         
8679         * src/vm/utf8.c (utf_get_number_of_u2s_for_buffer): New function.
8680         (utf_get_number_of_u2s): Documented that this function may throw
8681         exception.s.
8682         
8683         * src/vm/utf8.h (utf_get_number_of_u2s_for_buffer): New function.
8684
8685 2006-05-05 14:36  edwin
8686
8687         * src/vm/string.c, src/vm/stringlocal.h (java_string_new_char):
8688         Renamed to `java_string_new_from_ascii` to make more clear what this
8689         function does. It is wrong to use this function to create a
8690         java.lang.String from a buffer of UTF-8 characters!
8691         
8692         * src/vm/finalizer.c (finalizer_start_thread): Legitimate use.
8693         * src/vm/jit/profile/profile.c (profile_start_thread): Likewise.
8694         
8695         * src/vm/exceptions.c
8696         (exceptions_new_linkageerror): Definitely INCORRECT use.
8697         (exceptions_new_nosuchmethoderror): Likewise.
8698         * src/native/vm/VMRuntime.c
8699         (Java_java_lang_VMRuntime_mapLibraryName): Likewise.
8700         
8701         * src/vm/exceptions.c (new_exception_message): Probably INCORRECT use.
8702         * src/native/jni.c (DefineClass): Likewise.
8703         (ThrowNew): Likewise.
8704         * src/native/vm/VMClassLoader.c
8705         (Java_java_lang_VMClassLoader_nativeGetResources): Likewise.
8706         
8707         * src/vm/properties.c (properties_system_add): Needs review.
8708         * src/cacao/cacao.c (getmainclassnamefromjar): Likewise.
8709         * src/native/jvmti/cacaodbg.c (setup_jdwp_thread): Likewise.
8710         * src/native/jvmti/jvmti.c (CreateRawMonitor, GetSystemProperty)
8711         (SetSystemProperty): Likewise.
8712
8713 2006-05-05 13:56  edwin
8714
8715         * src/vm/utf8.c, src/vm/utf8.h (utf_bytes): New function.
8716         Use this function to query the number of octets of a utf string.
8717         This function will become the correct replacement for the old
8718         utf_strlen in most places. The calling code will have to be
8719         reviewed for that, however, and it will also require fixing
8720         utf_strcat, utf_sprint, and so on, to do the right thing.
8721
8722 2006-05-05 13:48  edwin
8723
8724         * src/vm/utf8.c, src/vm/utf8.h (utf_strlen): Renamed to
8725         `utf_get_number_of_u2s` in order to reflect what this function
8726         _really_ does. A long name was chosen intentionally to make it obvious
8727         that this is _not_ the function to use as the normal strlen. Most
8728         current uses of this function are invalid, as it must only be used
8729         when the utf string will be **converted to UTF-16**.
8730         
8731         * src/vm/suck.c (suck_start): Renamed utf_strlen. RECONSIDER USE!
8732         * src/vm/loader.c (load_class_from_classbuffer): Likewise.
8733         * src/vm/builtin.c (various functions): Likewise.
8734         * src/vm/resolve.c (various functions): Likewise.
8735         * src/vm/exceptions.c (various functions): Likewise.
8736         * src/native/vm/VMClassLoader.c
8737         (Java_java_lang_VMClassLoader_nativeGetResources): Likewise.
8738         * src/native/vm/VMRuntime.c
8739         (Java_java_lang_VMRuntime_mapLibraryName): Likewise.
8740         * src/native/native.c (native_resolve_function): Likewise.
8741         * src/toolbox/logging.c (various functions): Likewise.
8742         * src/cacaoh/headers.c (various functions): Likewise.
8743         
8744         * src/vm/string.c (javastring_new): Legitimate use.
8745         (javastring_new_slash_to_dot): Likewise.
8746         (literalstring_new) Likewise.
8747
8748 2006-05-03 23:04  edwin
8749
8750         * src/threads/native/threads.c (wakeWaiters): Renamed
8751         to threads_wake_waiters. Documented.
8752
8753 2006-05-03 22:58  edwin
8754
8755         * src/threads/native/threads.c (handleWaiter): Renamed arguments.
8756         Commented.
8757         (monitorEnter): Documented.
8758         (notifyOneOrAll): Cleaned up.
8759
8760 2006-05-03 22:46  edwin
8761
8762         * src/threads/native/threads.c (setPriority): Renamed to
8763         threads_set_thread_priority.
8764         (removeFromWaiters): Renamed to threads_remove_waiter.
8765         (timespec_less): Renamed to threads_timespec_earlier.
8766         (timeIsEarlier): Renamed to threads_current_time_is_earlier_than.
8767         (waitWithTimeout): Renamed to threads_wait_with_timeout. Removed
8768         unused
8769         argument `lr`.
8770         (thread_sleep): There is no need to create a lock record for
8771         calling threads_wait_with_timeout, as that does not use the
8772         lock record anyway (formerly waitWithTimeout).
8773         (various function): Lots of documentation and cleanup.
8774
8775 2006-05-02 16:16  twisti
8776
8777         * src/vm/jit/stack.c (stack_analyse): Check for val.a == NULL on
8778         SUPPORT_CONST_STORE_ZERO_ONLY architectures for ICMD_PUTSTATIC and
8779         ICMD_PUTFIELD.
8780
8781 2006-05-01 23:14  edwin
8782
8783         * src/threads/native/threads.c: Cleanup and documentation.
8784
8785 2006-05-01 21:40  edwin
8786
8787         * src/threads/native/threads.h (threads_sem_init): New function.
8788         (threads_sem_post): New function.
8789         
8790         * src/threads/native/threads.c (threads_sem_init): New function.
8791         (threads_sem_wait): Added assertion.
8792         (threads_sem_post): New function.
8793         (various function): Use threads_sem_init and threads_sem_post.
8794         
8795         * src/native/jvmti/cacaodbg.c (getworkingdatalock): Use
8796         threads_sem_post.
8797         (cacaodbgfork): Use threads_sem_init.
8798         
8799         * src/native/jvmti/cacaodbgserver.c (contchild, waitloop).
8800         Use threads_sem_post.
8801
8802 2006-05-01 12:40  edwin
8803
8804         * src/threads/native/threads.c (threads_sem_wait): New function.
8805         This function performs a non-interruptible sem_wait. This fixes
8806         segfaults and deadlocks that resulted from sem_wait calls returning
8807         prematurely.
8808         (cast_stopworld): Use threads_sem_wait.
8809         (threads_startup_thread): Likewise.
8810         (threads_start_thread): Likewise.
8811         (queueOnLockRecord): Likewise.
8812         
8813         * src/threads/native/threads.h (threads_sem_wait): New function.
8814         
8815         * src/native/jvmti/cacaodbg.c (msgqsendevent): Use threads_sem_wait
8816         instead of sem_wait.
8817         
8818         * src/native/jvmti/cacaodbgserver.c (contchild, waitloop): Use
8819         threads_sem_wait instead of sem_wait.
8820
8821 2006-04-30 17:18  twisti
8822
8823         * configure.ac (AC_CONFIG_FILES): Added src/scripts/jarsigner.
8824         * src/scripts/Makefile.am (bin_SCRIPTS): Added jarsigner.
8825         * src/scripts/.cvsignore: Likewise.
8826         * src/scripts/jarsigner.in: New file.
8827
8828 2006-04-30 16:17  edwin
8829
8830         * src/vm/resolve.c (resolve_method_verifier_checks)
8831         (constrain_unresolved_method): Use ICMD_ACONST_CLASSREF_OR_CLASSINFO.
8832         
8833         * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
8834         src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c,
8835         src/vm/jit/intrp/codegen.c, src/vm/jit/x86_64/codegen.c
8836         (codegen): Changes for new ACONST format.
8837         
8838         * src/vm/jit/stack.c (stack_analyse): Changes for new ACONST format.
8839         
8840         * src/vm/jit/verify/typecheck.c (verify_invocation): Use the new
8841         macros.
8842         (verify_builtin, verify_multianewarray, verify_basic_block): Changes
8843         for
8844         new ACONST format.
8845         
8846         * src/vm/jit/verify/typeinfo.h (TYPEINFO_INIT_JAVA_LANG_CLASS): Take
8847         a classref_or_classinfo as argument.
8848         
8849         * src/vm/jit/verify/typeinfo.c (typeinfo_init_class): Typo fixed.
8850         (typeinfo_print): Changes for new ACONST format.
8851         
8852         * src/vm/jit/inline/inline.c (inline_write_exception_handlers):
8853         Changes for new ACONST format.
8854         
8855         * src/vm/jit/parse.c (parse): Changes for new ACONST format.
8856         
8857         * src/vm/jit/parse.h (LOADCONST_A_CLASS): Removed.
8858         (LOADCONST_A_BUILTIN): Changes for new ACONST format.
8859         
8860         * src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED,
8861         INSTRUCTION_IS_UNRESOLVED):
8862         Only check least significant bit of target (provisory flag).
8863         (ICMD_ACONST_IS_CLASS, ICMD_ACONST_CLASSREF_OR_CLASSINFO)
8864         (ICMD_ACONST_RESOLVED_CLASSINFO, ICMD_ACONST_UNRESOLVED_CLASSREF):
8865         New macros.
8866
8867 2006-04-30 15:58  edwin
8868
8869         * src/vm/jit/loop/tracing.c (tracing): Adapted to new format of
8870         INVOKE
8871         instructions.
8872         * src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates)
8873         (_test_lifetimes): Likewise.
8874
8875 2006-04-28 12:25  edwin
8876
8877         * src/vm/jit/parse.c (parse): Added a comment.
8878
8879 2006-04-28 12:24  twisti
8880
8881         * src/vm/jit/stack.c (stack_analyse): We need to split AASTORECONST
8882         and PUT{STATIC,FIELD}CONST as they can store different values. I hope
8883         the checks are correct now (until we get our new instruction
8884         format). Edwin: Hint! Hint! Hint!
8885         (stack_show_icmd): Again a smaller change.
8886
8887 2006-04-28 11:50  twisti
8888
8889         * src/vm/jit/stack.c (stack_analyse): Check for
8890         {AASTORE,PUTSTATIC,PUTFIELD}CONST if the instruction is resolved. We
8891         don't have a patcher for that case.
8892         (stack_show_icmd): Smaller change.
8893
8894 2006-04-28 11:37  twisti
8895
8896         * tests/regression/codepatching/test.java: Added new test.
8897         * tests/regression/codepatching/Makefile.am: Files updated.
8898         
8899         * tests/regression/codepatching/putfieldconstIF.java,
8900         tests/regression/codepatching/putfieldconstJDL.java: Removed.
8901         
8902         * tests/regression/codepatching/putstaticconstJ.java,
8903         tests/regression/codepatching/putstaticconstL.java,
8904         tests/regression/codepatching/putfieldconstD.java,
8905         tests/regression/codepatching/putfieldconstF.java,
8906         tests/regression/codepatching/putstaticconstC.java,
8907         tests/regression/codepatching/putfieldconstJ.java,
8908         tests/regression/codepatching/putfieldconstL.java,
8909         tests/regression/codepatching/putstaticconstI.java,
8910         tests/regression/codepatching/putfieldconstC.java,
8911         tests/regression/codepatching/putstaticconstD.java,
8912         tests/regression/codepatching/putfieldconstI.java,
8913         tests/regression/codepatching/putstaticconstF.java: New file.
8914
8915 2006-04-28 11:24  edwin
8916
8917         * src/vm/resolve.c (resolve_method_lazy): Turn INVOKEVIRTUAL into
8918         INVOKESPECIAL for monomorphic calls.
8919
8920 2006-04-28 00:46  edwin
8921
8922         * src/vm/jit/intrp/asmpart.c (intrp_asm_vm_call_method_int): Fix
8923         build
8924         errors. TWISTI, please review these changes.
8925
8926 2006-04-28 00:31  edwin
8927
8928         * regression/codepatching/test.java: Added test for AASTORECONST
8929         with unresolved class constant. Currently exposes a bug when
8930         test.java is
8931         compiled with -target 1.5.
8932         
8933         * regression/codepatching/aastoreconstClass.java: New file.
8934
8935 2006-04-27 23:03  twisti
8936
8937         * src/vm/jit/stacktrace.h (STACKFRAMEINFO): Added parenthesis.
8938         * src/vm/global.h (java_objectheader): Changed type of monitorPtr to
8939         monitorLockRecord.
8940         
8941         * src/vm/vm.h (vm_arg): Added union.
8942         * src/vm/vm.c (vm_vmargs_from_valist): Use union of vm_arg's data.
8943         * src/native/jni.c (_Jv_jni_vmargs_from_objectarray): Likewise.
8944         
8945         * src/threads/native/threads.h (nativethread): Changed type of
8946         _stackframeinfo to stackframeinfo*.
8947         * src/threads/native/threads.c (monitorEnter): Cast compare_and_swap
8948         return value correctly.
8949
8950 2006-04-27 12:33  twisti
8951
8952         * src/vm/jit/x86_64/emit.c: Changed x86_64 function prefix to
8953         emit. And some other stuff too.
8954         * src/vm/jit/x86_64/md-emit.h: Likewise.
8955         * src/vm/jit/x86_64/codegen.c: Likewise.
8956         * src/vm/jit/x86_64/codegen.h: Likewise.
8957
8958 2006-04-27 11:05  twisti
8959
8960         * src/native/vm/VMSystemProperties.c (preInit): Append "/jre" to
8961         java.home property, as all JDKs and JREs do that. Fixed a problem with
8962         jonas testsuite. General cleanup.
8963
8964 2006-04-27 10:32  twisti
8965
8966         * src/vm/jit/powerpc/darwin/md-asm.h (jit_asm_compile): Renamed from
8967         jit_compile.
8968         * src/vm/jit/powerpc/asmpart.S: Likewise.
8969
8970 2006-04-26 15:44  edwin
8971
8972         * src/vm/jit/stacktrace.c (stacktrace_getClassContext): Reverted the
8973         hack that removes the first entry if this function is called by
8974         java.lang.SecurityManager. This (undocumented) hack probably was done
8975         to solve a problem that no longer exists.
8976
8977 2006-04-26 14:09  twisti
8978
8979         * src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Removed
8980         emitfuncs.c, emitfuncs.h and added emit.c, md-emit.h.
8981         
8982         * src/vm/jit/i386/emit.c (emit_load_s1): New method.
8983         (emit_load_s2): Likewise.
8984         (emit_load_s3): Likewise.
8985         (emit_store): Likewise.
8986         (emit_copy): Likewise.
8987         
8988         * src/vm/jit/i386/codegen.c (codegen): Use emit_load/store functions
8989         instead of macros.
8990         
8991         * src/vm/jit/i386/codegen.h (M_LNGMOVE): Added.
8992         (M_LNGMEMMOVE): Removed.
8993         (var_to_reg_int): Removed.
8994         (var_to_reg_lng): Likewise.
8995         (var_to_reg_flt): Likewise.
8996         (store_reg_to_var_int): Likewise.
8997         (store_reg_to_var_lng): Likewise.
8998         (store_reg_to_var_flt): Likewise.
8999         (M_FLD): Added.
9000         (M_DLD): Likewise.
9001         (M_FLD32): Likewise.
9002         (M_DLD32): Likewise.
9003         (M_FST): Likewise.
9004         (M_DST): Likewise.
9005
9006 2006-04-26 11:02  twisti
9007
9008         * src/vm/jit/i386/md-emit.h: Moved from src/vm/jit/i386/emitfuncs.h.
9009         * src/vm/jit/i386/emit.c: Moved from src/vm/jit/i386/emitfuncs.c.
9010
9011 2006-04-26 09:02  twisti
9012
9013         * configure.ac (AC_CONFIG_FILES): Added src/scripts/rmic.
9014         * src/scripts/Makefile.am (bin_SCRIPTS): Added rmic.
9015         * src/scripts/java.in: Use ${1+"$@"} instead of $@.
9016         * src/scripts/rmiregistry.in: Likewise.
9017         * src/scripts/rmic.in: Updated to new rmic location.
9018
9019 2006-04-26 08:57  twisti
9020
9021         * m4/ac_prog_javac.m4: Default to ecj.
9022         * src/lib/Makefile.am: If JAVAC is ecj, use the -1.5 flag. This
9023         produces much faster code regarding class$ (e.g. jonas startup time).
9024
9025 2006-04-25 18:02  edwin
9026
9027         * src/vm/jit/disass-common.c (disass_printf): Avoid compiler warning.
9028         
9029         * src/vm/jit/profile/profile.c (profile_printstats): Avoid compiler
9030         warnings.
9031
9032 2006-04-25 17:57  edwin
9033
9034         * src/vm/jit/i386/disass.c (disassinstr): Avoid compiler warning.
9035
9036 2006-04-25 17:53  edwin
9037
9038         * src/vm/jit/stack.c (stack_show_icmd): Removed unused variable `um`.
9039
9040 2006-04-25 17:48  edwin
9041
9042         * src/vm/loader.c (load_method): Simplify initialization of
9043         methodinfo by
9044         clearing it explicitely in load_class_from_classbuffer, instead of
9045         zeroing
9046         individual fields here.
9047         (load_class_from_classbuffer): MZERO methodinfo array.
9048         (load_newly_created_array): Initialize `params` to NULL for the clone
9049         method.
9050
9051 2006-04-25 17:45  edwin
9052
9053         * src/mm/memory.h (MZERO): Added macro MZERO for convenient memory
9054         cleaning.
9055
9056 2006-04-25 17:42  edwin
9057
9058         * src/native/vm/VMSystemProperties.c
9059         (Java_gnu_classpath_VMSystemProperties_preInit): Use strcpy instead of
9060         strcat, since there is nothing to concat to and we may want to lift
9061         the
9062         assertion that MSET clears memory.
9063
9064 2006-04-25 15:46  edwin
9065
9066         * src/vm/jit/i386/md.c (md_get_method_patch_address): Avoid compiler
9067         warning.
9068
9069 2006-04-25 15:31  edwin
9070
9071         * src/cacao/cacao.c (main): Avoid warning about unused label.
9072         Cleaned up whitespace.
9073
9074 2006-04-25 15:26  edwin
9075
9076         * src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack): Avoid
9077         compiler warning.
9078
9079 2006-04-25 12:35  edwin
9080
9081         * src/vm/jit/verify/typecheck.c (typecheckverbose): Renamed to
9082         opt_typecheckverbose.
9083         * src/vm/jit/verify/typeinfo.h: Likewise.
9084         
9085         * src/vm/vm.c (OPT_VERBOSETC): Only define if both ENABLE_VERIFIER
9086         and TYPECHECK_VERBOSE are defined.
9087         (typecheckverbose): Renamed to opt_typecheckverbose.
9088
9089 2006-04-25 12:25  edwin
9090
9091         * src/vm/options.h, src/vm/options.c (getloadingtime): Renamed to
9092         opt_getloadingtime. Only defined for ENABLE_STATISTICS.
9093         (getcompilingtime): Renamed to opt_getcompilingtime.
9094         Only defined for ENABLE_STATISTICS.
9095         
9096         * src/vm/loader.c (getloadingtime, getcompilingtime): Renamed.
9097         * src/vm/jit/jit.c: Likewise.
9098         * src/vm/linker.c: Likewise.
9099         * src/native/vm/VMClassLoader.c: Likewise.
9100         
9101         * src/vm/vm.c (OPT_TIME): Only defined for ENABLE_STATISTICS.
9102         
9103         * configure.ac (--enable-statistics): Now statistics are disabled by
9104         default.
9105
9106 2006-04-25 12:00  edwin
9107
9108         * src/vm/options.h (opt_verify): Only declare for ENABLE_VERIFIER.
9109         (opt_liberalutf): Removed.
9110         
9111         * src/vm/options.c (opt_verify): Only declare for ENABLE_VERIFIER.
9112         (opt_liberalutf): Removed.
9113         
9114         * src/vm/jit/inline/inline.c (test_inlining): Only verify if
9115         ENABLE_VERIFIER.
9116         
9117         * src/vm/jit/parse.c (parse): Only check opt_verify if
9118         ENABLE_VERIFIER.
9119         
9120         * src/vm/global.h (ENABLE_VERIFIER): Removed. This is now defined in
9121         config.h.
9122         
9123         * src/vm/vm.c (OPT_NOVERIFY): Only define this option if
9124         ENABLE_VERIFIER.
9125         (OPT_LIBERALUTF): Removed.
9126         
9127         * configure.ac (--disable-verifier): Added configure option.
9128         
9129         * src/vm/jit/stacktrace.c (stacktrace_getStack): Gather a wider range
9130         for the cycle count statistics.
9131
9132 2006-04-25 10:36  edwin
9133
9134         * src/vm/cycles-stats.h (CYCLES_STATS_COUNT_OVER): Added.
9135
9136 2006-04-24 18:28  edwin
9137
9138         * src/vm/cycles-stats.c: Cleaned up whitespace.
9139
9140 2006-04-24 18:22  edwin
9141
9142         * src/vm/cycles-stats.c (cycles_stats_print_percentile): Also perform
9143         measurement overhead compensation for cumulated cycle counts.
9144
9145 2006-04-24 17:16  edwin
9146
9147         * src/vm/global.h (ACC_CLASS_REFLECT_MASK): Added.
9148         (ACC_CLASS_HAS_POINTERS): Likewise.
9149         (vim boilerplate): Added.
9150         
9151         * src/vm/loader.c (load_field): Set ACC_CLASS_HAS_POINTERS flag.
9152         
9153         * src/vm/linker.c (link_class_intern): OR ACC_CLASS_HAS_POINTERS flag.
9154         
9155         * src/vm/builtin.c (builtin_new): Use ACC_CLASS_HAS_POINTERS to
9156         determine
9157         which kind of memory to allocate.
9158         
9159         * src/native/vm/VMClass.c (Java_java_lang_VMClass_getModifiers): Mask
9160         reported access flags with ACC_CLASS_REFLECT_MASK.
9161
9162 2006-04-24 16:24  twisti
9163
9164         * src/vm/jit/x86_64/emit.c (x86_64_emit_ifcc): Changed signature of
9165         codegen_addreference.
9166         (x86_64_emit_if_lcc): Likewise.
9167         (x86_64_emit_if_icmpcc): Likewise.
9168         (x86_64_emit_if_lcmpcc): Likewise.
9169
9170 2006-04-24 16:10  twisti
9171
9172         * src/vm/jit/i386/codegen.c (codegen): Don't initialize mcode
9173         variables. New dseg_addlinenumber signature fix.
9174         (createnativestub): Don't initialize mcode variables.
9175
9176 2006-04-24 16:06  twisti
9177
9178         * src/vm/jit/codegen-common.c (codegen_increase): Changed signature.
9179         (codegen_addreference): Likewise.
9180         (codegen_add_exception_ref): Likewise.
9181         (codegen_add_arithmeticexception_ref): Likewise.
9182         (codegen_add_arrayindexoutofboundsexception_ref): Likewise.
9183         (codegen_add_arraystoreexception_ref): Likewise.
9184         (codegen_add_classcastexception_ref): Likewise.
9185         (codegen_add_nullpointerexception_ref): Likewise.
9186         (codegen_add_fillinstacktrace_ref): Likewise.
9187         (codegen_addpatchref): Likewise.
9188         (codegen_finish): Likewise.
9189         * src/vm/jit/codegen-common.h: Likewise.
9190         
9191         * src/vm/jit/dseg.c (dseg_increase): Made static.
9192         (dseg_adds4): Use dseg_increase.
9193         (dseg_adds8): Likewise.
9194         (dseg_addfloat): Likewise.
9195         (dseg_adddouble): Likewise.
9196         (dseg_adds4_increase): Removed.
9197         (dseg_adds8_increase): Likewise.
9198         (dseg_addfloat_increase): Likewise.
9199         (dseg_adddouble_increase): Likewise.
9200         (dseg_addlinenumber): Changed signature.
9201         (dseg_addlinenumber_inline_start): Likewise.
9202         (dseg_adddata): Likewise.
9203         * src/vm/jit/dseg.h: Likewise.
9204         
9205         * src/vm/jit/alpha/emit.c (vm/jit/alpha/emit.h): Removed.
9206         (vm/jit/emit.h): Added.
9207         (emit_lconst): New method.
9208         * src/vm/jit/alpha/Makefile.am (libarch_la_SOURCES): Added emit.c
9209         
9210         * src/vm/jit/alpha/codegen.c (vm/jit/emit.h): Added.
9211         (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
9212         functions instead of macros. Saves over 50kB object code size. Use new
9213         signatures of codegen-common and dseg functions.
9214         * src/vm/jit/alpha/codegen.h (var_to_reg_int): Removed.
9215         (var_to_reg_flt): Likewise.
9216         (store_reg_to_var_int): Likewise.
9217         (store_reg_to_var_flt): Likewise.
9218         
9219         * src/vm/jit/i386/codegen.c: Use new signatures of codegen-common and
9220         dseg functions.
9221         * src/vm/jit/i386/codegen.h: Likewise.
9222         * src/vm/jit/intrp/codegen.c: Likewise.
9223         * src/vm/jit/intrp/codegen.h: Likewise.
9224         * src/vm/jit/mips/codegen.c: Likewise.
9225         * src/vm/jit/mips/codegen.h: Likewise.
9226         * src/vm/jit/powerpc/codegen.c: Likewise.
9227         * src/vm/jit/powerpc/codegen.h: Likewise.
9228         * src/vm/jit/x86_64/codegen.c: Likewise.
9229         * src/vm/jit/x86_64/codegen.h: Likewise.
9230
9231 2006-04-24 15:43  edwin
9232
9233         * src/vm/jit/stacktrace.c (stacktrace_create): Do not free dump
9234         memory here,
9235         this is now done in the parent functions. Also removed the copy to gc
9236         memory.
9237         (stacktrace_fillInStackTrace): Copy stacktrace to gc memory.
9238         Free dump memory.
9239         (stacktrace_getClassContext): Free dump memory.
9240         (stacktrace_getCurrentClass): Likewise.
9241         (stacktrace_getStack): Likewise.
9242         (stacktrace_dump_trace): Likewise.
9243
9244 2006-04-24 11:40  edwin
9245
9246         * src/vm/jit/stacktrace.c (stacktrace_fillInStackTrace)
9247         (stacktrace_getClassContext, stacktrace_getCurrentClass)
9248         (stacktrace_getStack): Added cycle count statistics.
9249         (stacktrace_print_cycles_stats): Added.
9250         
9251         * src/vm/jit/stacktrace.h (stacktrace_print_cycles_stats): Added.
9252         
9253         * src/vm/vm.c (vm_exit_handler): Call stacktrace_print_cycles_stats.
9254
9255 2006-04-24 11:36  edwin
9256
9257         * src/vm/cycles-stats.h (CYCLES_STATS_END_WITH_OVERHEAD): Fix
9258         arguments of
9259         empty macro definition.
9260
9261 2006-04-24 11:27  edwin
9262
9263         * src/vm/cycles-stats.h (CYCLES_STATS_DECLARE_AND_START)
9264         (CYCLES_STATS_DECLARE_AND_START_WITH_OVERHEAD)
9265         (CYCLES_STATS_END, CYCLES_STATS_END_WITH_OVERHEAD): Added convenience
9266         macros.
9267         
9268         * src/vm/cycles-stats.c (cycles_stats_print): Fixed divide-by-zero.
9269         Minor
9270         output changes.
9271
9272 2006-04-24 10:08  twisti
9273
9274         * src/vm/jit/mips/md.c (md_get_method_patch_address): Renamed from
9275         md_assembler_get_patch_address.
9276         * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Renamed
9277         md_assembler_get_patch_address to md_get_method_patch_address.
9278
9279 2006-04-24 10:00  twisti
9280
9281         * src/vm/jit/powerpc/md.c (md_get_method_patch_address): New method.
9282         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): Use new
9283         jit_asm_compile method. This fixes the ecj bugs seens with some mauve
9284         tests and eclipse.
9285
9286 2006-04-24 09:58  twisti
9287
9288         * src/vm/jit/powerpc/codegen.c (codegen): Replaced those ugly
9289         M_TINTMOVE macros. Use M_LLD macros where possible.
9290         * src/vm/jit/powerpc/codegen.h (M_LNGMOVE): Check for equal registers.
9291         (M_TINTMOVE): Removed.
9292
9293 2006-04-24 00:19  edwin
9294
9295         * src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Omit the
9296         stackframe.
9297         This saves a couple of cycles of measurement overhead.
9298
9299 2006-04-23 23:03  twisti
9300
9301         * src/vm/jit/alpha/md.c (md_get_method_patch_address): Renamed from
9302         md_assembler_get_patch_address.
9303         * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Renamed
9304         md_assembler_get_patch_address to md_get_method_patch_address.
9305
9306 2006-04-23 19:18  edwin
9307
9308         * src/vm/cycles-stats.c (cycles_stats_print_percentile): Better
9309         extrapolation.
9310         * src/vm/cycles-stats.h (CYCLES_STATS_DECLARE, CYCLES_STATS_COUNT)
9311         (CYCLES_STATS_PRINT, CYCLES_STATS_PRINT_OVERHEAD): Added total cycles
9312         counter.
9313
9314 2006-04-23 19:16  edwin
9315
9316         * src/vm/builtin.c (builtin_new): Renamed rt-timing identifier.
9317         (builtin_newarray): Added rt-timing.
9318         
9319         * src/vm/rt-timing.h: Added rt-timing for builtin_newarray.
9320         * src/vm/rt-timing.c: Likewise.
9321
9322 2006-04-23 16:11  edwin
9323
9324         * src/vm/builtin.c (builtin_print_cycles_stats): Use
9325         CYCLES_STATS_PRINT_OVERHEAD.
9326         
9327         * src/vm/cycles-stats.h (CYCLES_STATS_PRINT_OVERHEAD): Added.
9328         
9329         * src/vm/cycles-stats.c (cycles_stats_print_percentile): Added.
9330         (cycles_stats_print): Added `overhead` argument and automatic
9331         measurement overhead compensation.
9332
9333 2006-04-23 15:39  edwin
9334
9335         * src/vm/builtin.c (builtin_new): Added rt-timing.
9336         (builtin_print_cycles_stats): Removed unused variable.
9337         (builtin_monitorenter): Removed rt-timing.
9338         (builtin_monitorexit): Likewise.
9339         
9340         * src/vm/rt-timing.c: rt-timing for buitin_new.
9341         * src/vm/rt-timing.h: Likewise.
9342
9343 2006-04-23 15:31  edwin
9344
9345         * src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Better error
9346         handling.
9347
9348 2006-04-23 15:24  edwin
9349
9350         * src/vm/builtin.c (builtin_new): Gather cycle count statistics.
9351         (CYCLES_STATS_DECLARE): Moved declarations to beginning of file.
9352         
9353         * src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Added function for
9354         automatic CPU frequency detection via /proc/cpuinfo.
9355         (cycles_stats_print): Calculate estimated CPU times.
9356
9357 2006-04-22 09:35  edwin
9358
9359         * src/vm/cycles-stats.c (cycles_stats_print): Made count, floor, and
9360         ceiling
9361         of type u8. This should avoid overflow problems.
9362         
9363         * src/vm/cycles-stats.h (cycles_stats_print): Made count an u8.
9364
9365 2006-04-21 21:36  edwin
9366
9367         * src/vm/cycles-stats.c: New file. Better cycle count statistics.
9368         
9369         * src/vm/cycles-stats.h (CYCLES_STATS_PRINT): This is now a wrapper
9370         for
9371         cycles_stats_print.
9372         
9373         * src/vm/Makefile.am (cycles-stats.c): Added to sources.
9374
9375 2006-04-21 14:32  edwin
9376
9377         * src/vm/jit/stacktrace.c (stacktrace_inline_fillStackTrace): Assert
9378         that
9379         there is an exception before dereferencing it.
9380         (stacktrace_create): Document that this function may return NULL.
9381         (stacktrace_getClassContext): Check return value of stacktrace_create.
9382         (stacktrace_getCurrentClass): Likewise.
9383         (stacktrace_getStack): Likewise. Document that this function may
9384         return NULL.
9385
9386 2006-04-21 13:08  edwin
9387
9388         * src/vm/jit/stacktrace.c (stacktrace_getClassContext): Document that
9389         return
9390         value may be NULL (in case of an exception).
9391         
9392         * src/native/vm/VMStackWalker.c
9393         (Java_gnu_classpath_VMStackWalker_getCallingClass): Check return
9394         value of
9395         stacktrace_getClassContext.
9396         (Java_gnu_classpath_VMStackWalker_getCallingClassLoader): Likewise.
9397         
9398         * src/native/vm/Field.c (cacao_get_field_address): Check return value
9399         of
9400         stacktrace_getClassContext.
9401         
9402         * src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative):
9403         Check return value of stacktrace_getClassContext.
9404
9405 2006-04-21 11:07  twisti
9406
9407         * src/vm/jit/i386/md.c (md_get_method_patch_address): New method.
9408         (md_icacheflush): Added.
9409         (md_dcacheflush): Likewise.
9410
9411 2006-04-21 10:54  twisti
9412
9413         * src/vm/jit/jit.c (jit_asm_compile): New method.
9414         * src/vm/jit/jit.h (jit_asm_compile): Added.
9415         (md_get_method_patch_address): Likewise.
9416         
9417         * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Store
9418         asm_call_jit_compiler on stack as for the other architectures.
9419         (asm_call_jit_compiler): Use new jit_asm_compile.
9420         
9421         * src/vm/jit/x86_64/codegen.c (codegen): Use REG_ITMP3 for calling
9422         methods. This is required for asm_vm_call_method to work.
9423         
9424         * src/vm/jit/x86_64/md.c (md_get_method_patch_address): New method.
9425         (md_icacheflush): Added.
9426         (md_dcacheflush): Added.
9427         * src/vm/jit/x86_64/md-asm.h (mptr): Defined.
9428
9429 2006-04-21 10:45  twisti
9430
9431         * src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Reformatted
9432         comments.
9433
9434 2006-04-21 00:00  edwin
9435
9436         * src/vm/linker.c (link_class_intern): Impose loading constraints on
9437         the
9438         more general types of the overwritten method, instead of on the over-
9439         writing method. Don't impose loading constraints when "overwriting"
9440         the
9441         instance initializaton method <init>, as it is not called virtually.
9442
9443 2006-04-20 22:28  edwin
9444
9445         * src/vm/classcache.c (classcache_add_constraint): Also constrain the
9446         return type of the given method.
9447
9448 2006-04-20 21:47  edwin
9449
9450         * src/vm/linker.c (linker_addinterface): Add loading constraints when
9451         an
9452         interface method is overwritten.
9453         (link_class_intern): Check new return value of linker_addinterface.
9454
9455 2006-04-20 20:40  edwin
9456
9457         * src/vm/linker.c (link_class_intern): Only record loading constraints
9458         for ENABLE_VERIFIER.
9459
9460 2006-04-20 20:38  edwin
9461
9462         * src/vm/classcache.c (classcache_add_constraints_for_params): Added.
9463         (classcache_add_constraint): Only define for ENABLE_VERIFIER.
9464         
9465         * src/vm/classcache.h (classcache_add_constraints_for_params): Added.
9466         (classcache_add_constraint): Only define for ENABLE_VERIFIER.
9467         
9468         * src/vm/linker.c (link_class_intern): When overwriting a method,
9469         record loading constraints for the parameter types, as required
9470         by the spec.
9471
9472 2006-04-20 19:18  edwin
9473
9474         * src/mm/memory.c (Changes): Added my name.
9475         (vim boilerplate): Added.
9476
9477 2006-04-20 18:59  edwin
9478
9479         * src/mm/memory.c: Added comments and some cleanup.
9480
9481 2006-04-20 18:04  edwin
9482
9483         * configure.ac (ENABLE_LOOP): Changed default to "no".
9484         
9485         * src/vm/options.h (opt_loops): Only define for ENABLE_LOOP.
9486         
9487         * src/vm/options.c (opt_loops): Only define for ENABLE_LOOP.
9488         
9489         * src/vm/vm.c (-oloop, -i): Only recognize these options if
9490         enabled with ENABLE_LOOP/ENABLE_INLINING.
9491         
9492         * src/vm/jit/allocator/lsra.c (opt_loops): Only use for ENABLE_LOOP.
9493
9494 2006-04-20 10:55  twisti
9495
9496         * src/vm/jit/x86_64/codegen.h (M_ALD32): Added.
9497
9498 2006-04-20 10:42  twisti
9499
9500         * src/vm/jit/x86_64/md-abi.h (REG_METHODPTR): Added.
9501
9502 2006-04-20 08:45  twisti
9503
9504         * src/lib/vm/reference/java/lang/VMClassLoader.java: Updated to GNU
9505         Classpath version.
9506
9507 2006-04-19 01:05  edwin
9508
9509         * src/vm/builtin.c (builtin_print_cycles_stats): Added.
9510         (builtin_monitorenter): Gather cycle count statistics.
9511         (builtin_monitorexit): Likewise.
9512         
9513         * src/vm/builtin.h (builtin_print_cycles_stats): Added.
9514         
9515         * src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Added.
9516         
9517         * src/vm/jit/asmpart.h (asm_get_cycle_count): Added.
9518         
9519         * src/vm/vm.c (vm_exit_handler): Call builtin_print_cycles_stats.
9520         
9521         * src/vm/cycles-stats.h: New file.
9522         
9523         * src/vm/Makefile.am (CYCLES_STATS_SOURCE): Added.
9524         
9525         * src/cacaoh/headers.c (asm_get_cycle_count): Dummy implementation
9526         added.
9527         
9528         * configure.ac (--enable-cycles-stats): Added configure option.
9529
9530 2006-04-18 21:16  twisti
9531
9532         * src/vm/jit/x86_64/emitfuncs.c: Moved to emit.c.
9533         * src/vm/jit/x86_64/emitfuncs.h: Moved to md-emit.h
9534         
9535         * src/vm/jit/x86_64/codegen.c (vm/jit/x86_64/emitfuncs.h): Removed.
9536         (vm/jit/x86_64/md-emit.h): Added.
9537         
9538         * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Added emit.c and
9539         md-emit.h, removed emitfuncs.c and emitfuncs.h.
9540
9541 2006-04-18 20:36  twisti
9542
9543         * src/vm/jit/jit.h (IS_ADR_TYPE): Changed to use ==.
9544         (IS_INT_TYPE): Added.
9545         (IS_LNG_TYPE): Likewise.
9546
9547 2006-04-18 20:34  twisti
9548
9549         * src/vm/jit/x86_64/codegen.c (vm/jit/emit.h): Added.
9550         (codegen): Use emit_load/store functions instead of macors. Saves over
9551         25kB object code size.
9552         
9553         * src/vm/jit/x86_64/codegen.h (ALIGNCODENOP): Added.
9554         (var_to_reg_int): Removed.
9555         (var_to_reg_flt): Likewise.
9556         (store_reg_to_var_int): Likewise.
9557         (store_reg_to_var_flt): Likewise.
9558         (M_INEG, M_LNEG, M_INEG_MEMBASE, M_LNEG_MEMBASE): Added.
9559         (M_CMOVEQ_MEMBASE, M_CMOVNE_MEMBASE, M_CMOVLT_MEMBASE)
9560         (M_CMOVLE_MEMBASE, M_CMOVGE_MEMBASE, M_CMOVGT_MEMBASE): Likewise.
9561         
9562         * src/vm/jit/x86_64/emitfuncs.c (emit_load_s1): Added.
9563         (emit_load_s2): Likewise.
9564         (emit_load_s3): Likewise.
9565         (emit_store): Likewise.
9566         (emit_copy): Likewise.
9567         (emit_cmovxx): Likewise.
9568         
9569         * src/vm/jit/x86_64/emitfuncs.h (emit_cmovxx): Added.
9570
9571 2006-04-18 20:20  twisti
9572
9573         * src/vm/jit/x86_64/md-abi.h (REG_IFTMP): Defined.
9574
9575 2006-04-18 20:17  edwin
9576
9577         * src/vm/jit/stack.c (stack_show_icmd): Updated to use the correct
9578         macros for
9579         (un)resolved methods. Minor output format changes.
9580         
9581         * src/vm/field.c (field_print): Print the class name.
9582
9583 2006-04-18 20:10  twisti
9584
9585         * src/vm/jit/alpha/Makefile.am (DISASS_SOURCES): Added.
9586         * src/vm/jit/mips/Makefile.am: Likewise.
9587
9588 2006-04-18 15:55  twisti
9589
9590         * configure.ac (intl): Check on NetBSD too.
9591
9592 2006-04-18 15:40  twisti
9593
9594         * configure.ac: Fixed typos.
9595
9596 2006-04-18 13:36  twisti
9597
9598         * src/vm/jit/mips/codegen.h (M_FLTMOVE): Removed.
9599         (M_TFLTMOVE): Likewise.
9600         (M_TFLD): Likewise.
9601         (M_TFST): Likewise.
9602         (M_CCFLTMOVE): Likewise.
9603         (M_CCFLD): Likewise.
9604         (M_CCFST): Likewise.
9605         * src/vm/jit/mips/codegen.c (codegen): Use float and double
9606         explicitely.
9607         * src/vm/jit/mips/emit.c: Likewise.
9608
9609 2006-04-17 15:49  edwin
9610
9611         * src/vm/jit/intrp/codegen.c (intrp_codegen): Cast mcodeptr to u1*.
9612         This should fix intrp on archs with u4* mcodeptr.
9613
9614 2006-04-17 15:20  edwin
9615
9616         * src/vm/builtin.c (builtin_monitorenter, builtin_monitorexit): Added
9617         rt-timing.
9618         
9619         * src/vm/rt-timing.c, src/vm/rt-timing.h: rt-timing for locks.
9620
9621 2006-04-17 11:47  twisti
9622
9623         * src/vm/jit/codegen-common.h (codegendata): Define lastmcodeptr on
9624         all architectures. I think it does not matter.
9625
9626 2006-04-14 23:50  edwin
9627
9628         * src/vm/jit/codegen-common.h: Typo fix.
9629
9630 2006-04-14 23:48  edwin
9631
9632         * src/vm/jit/parse.c (parse): Removed unused variable `mi`.
9633
9634 2006-04-14 23:46  edwin
9635
9636         * src/vm/rt-timing.c: include stdlib.h to fix warning.
9637
9638 2006-04-14 12:40  twisti
9639
9640         * src/vm/jit/mips/emit.c: New file.
9641         * src/vm/jit/mips/Makefile.am (libarch_la_SOURCES): Added emit.c
9642         
9643         * src/vm/jit/mips/codegen.c (vm/jit/emit.h): Added.
9644         (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
9645         functions instead of macors. Saves over 50kB object code size.
9646         
9647         * src/vm/jit/mips/codegen.h (var_to_reg_int): Removed.
9648         (var_to_reg_flt): Likewise.
9649         (store_reg_to_var_int): Likewise.
9650         (store_reg_to_var_flt): Likewise.
9651
9652 2006-04-14 11:57  twisti
9653
9654         * src/vm/jit/codegen-common.c (codegen_setup): Fixed compiler
9655         warnings, set lastmcodeptr.
9656         (codegen_increase): Fixed compiler warnings.
9657         (codegen_finish): Likewise.
9658         (codegen_createnativestub): Likewise.
9659
9660 2006-04-14 11:28  twisti
9661
9662         * src/vm/jit/alpha/emit.h: Removed. There's now a common one in
9663         src/vm/jit/.
9664
9665 2006-04-14 11:20  twisti
9666
9667         * src/vm/jit/emit.h: New file.
9668         * src/vm/jit/Makefile.am (noinst_HEADERS): Added emit.h.
9669         
9670         * src/vm/jit/powerpc/emit.c: New file.
9671         * src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added emit.c.
9672         
9673         * src/vm/jit/powerpc/codegen.c (vm/jit/emit.h): Added.
9674         (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
9675         functions instead of macors. Saves over 100kB object code size.
9676         
9677         * src/vm/jit/powerpc/codegen.h (var_to_reg_int): Removed.
9678         (var_to_reg_lng): Likewise.
9679         (var_to_reg_lng_low): Likewise.
9680         (var_to_reg_lng_high): Likewise.
9681         (var_to_reg_flt): Likewise.
9682         (var_to_reg_dbl): Likewise.
9683         (store_reg_to_var_int): Likewise.
9684         (store_reg_to_var_lng): Likewise.
9685         (store_reg_to_var_adr): Likewise.
9686         (store_reg_to_var_flt): Likewise.
9687         (store_reg_to_var_dbl): Likewise.
9688         (M_LLD_INTERN): Added.
9689         (M_LLD): Likewise.
9690         (M_LST_INTERN): Likewise.
9691         (M_LST): Likewise.
9692
9693 2006-04-13 20:45  edwin
9694
9695         * src/vm/loader.c (load_class_from_classloader): Detailed rt-timing.
9696         (load_class_bootstrap): Likewise.
9697         
9698         * src/vm/rt-timing.c: Added rt-timing for loading from classloaders.
9699         * src/vm/rt-timing.h: Likewise.
9700
9701 2006-04-13 18:21  edwin
9702
9703         * src/vm/loader.c (load_class_from_classbuffer): Separate timing for
9704         descriptor_pool_new.
9705         
9706         * src/vm/rt-timing.c: Likewise.
9707         
9708         * src/vm/rt-timing.h: Likewise.
9709
9710 2006-04-13 18:00  edwin
9711
9712         * src/vm/loader.c (load_class_from_classbuffer): Added real-time
9713         loading time
9714         measurements.
9715         
9716         * src/vm/rt-timing.c: Likewise.
9717         * src/vm/rt-timing.h: Likewise.
9718
9719 2006-04-13 17:23  edwin
9720
9721         * src/vm/rt-timing.c: Added timing of linker stages.
9722         * src/vm/rt-timing.h: Likewise.
9723         * src/vm/linker.c: Likewise.
9724
9725 2006-04-13 16:58  edwin
9726
9727         * src/vm/rt-timing.h (RT_TIMING_TIME_DIFF): Added.
9728         
9729         * src/vm/jit/jit.c (jit_compile_intern): Use RT_TIMING_TIME_DIFF.
9730         
9731         * src/vm/linker.c (link_class): Use rt-timing for measuring link time.
9732         
9733         * src/cacaoh/Makefile.am (cacaoh_LDFLAGS): Link with librt for
9734         ENABLE_RT_TIMING.
9735
9736 2006-04-13 16:48  edwin
9737
9738         * src/vm/rt-timing.c (rt_timing_stat): Added field `totalindex`.
9739         (rt_timing_stat_defs): Likewise.
9740         (rt_timing_diff): Renamed to rt_timing_time_diff.
9741         (rt_timing_print_time_stats): Use `totalindex` to calculate
9742         percentage.
9743         
9744         * src/vm/rt-timing.h (RT_TIMING_LINK_TOTAL): Added.
9745         (rt_timing_diff): Renamed to rt_timing_time_diff.
9746
9747 2006-04-13 14:09  twisti
9748
9749         * src/vm/jit/alpha/emit.c: New file.
9750         * src/vm/jit/alpha/emit.h: Likewise.
9751
9752 2006-04-13 13:10  twisti
9753
9754         * src/vm/jit/codegen-common.h (codegendata): Changed mcodeend to
9755         u1*. Define mcodeptr to u4* for non-i386/x86_64 architectures.
9756
9757 2006-04-13 09:32  twisti
9758
9759         * src/vm/jit/x86_64/codegen.c (codegen): Use argument registers
9760         directly in exception stubs, instead of temporary ones. This reduces
9761         code-size about 150kB for -all.
9762
9763 2006-04-13 09:19  twisti
9764
9765         * src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ishift): Bugfixes found
9766         by javver.
9767         (x86_64_emit_lshift): Likewise.
9768
9769 2006-04-12 22:20  edwin
9770
9771         * src/vm/rt-timing.c: Added file.
9772         * src/vm/rt-timing.h: Likewise.
9773         
9774         * src/vm/jit/jit.c: Moved real-time timing stuff to rt-timing.[ch]
9775         * src/vm/jit/jit.h: Likewise.
9776         
9777         * src/vm/vm.c (vm_exit_handler): Call rt_timing_print_time_stats.
9778         
9779         * src/vm/Makefile.am (rt-timing.c, rt-timing.h): Added.
9780
9781 2006-04-12 22:16  edwin
9782
9783         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers): Fixed
9784         compiler warning.
9785
9786 2006-04-12 20:06  edwin
9787
9788         * src/vm/jit/parse.c (parse): New unresolved reference scheme: Data
9789         structures
9790         for unresolved fields/methods are only created if really needed.
9791         Otherwise
9792         a lazy resolving is done on-the-fly. This reduced compile time by
9793         over 10% for
9794         SpecJVM98 and eclipse.
9795         
9796         * src/vm/resolve.c (resolve_subtype_check): Added.
9797         (resolve_lazy_subtype_checks): Likewise.
9798         (resolve_and_check_subtype_set): Use resolve_subtype_check. Return
9799         resolve_result_t instead of bool. Removed `checked` argument.
9800         (resolve_class): Use resolve_subtype_check.
9801         (resolve_field_verifier_checks): Added.
9802         (resolve_field_lazy): Added.
9803         (resolve_field): Use resolve_field_verifier_checks.
9804         (resolve_method_invokespecial_lookup): Added.
9805         (resolve_method_verifier_checks): Added.
9806         (resolve_method_lazy): Added.
9807         (resolve_method): Use resolve_method_invokespecial_lookup and
9808         resolve_method_verifier_checks.
9809         (constrain_unresolved_method): Adapted to new unresolved reference
9810         scheme.
9811         (constrain_unresolved_field): Likewise.
9812         (unresolved_field_debug_dump): Likewise.
9813         (unresolved_method_debug_dump): Likewise.
9814         
9815         * src/vm/jit/patcher.h (intrp_patcher_get_putstatic_clinit): Added.
9816         
9817         * src/vm/jit/intrp/intrp.h (vm_Cell2afi): Added.
9818         (vm_afi2Cell): Likewise.
9819         (printarg_afi): Added.
9820         (vim boilerplate): Added.
9821         (Changes): Added my name.
9822         
9823         * src/vm/jit/intrp/patcher.c (intrp_patcher_get_putstatic_clinit):
9824         Added.
9825         
9826         * src/vm/jit/intrp/disass.c (printarg_afi): Added.
9827         (Changes): Added my name.
9828         (vim boilerplate): Added.
9829         
9830         * src/vm/jit/intrp/java.vmg (GETSTATIC_CELL, GETSTATIC_INT,
9831         GETSTATIC_FLOAT)
9832         (GETSTATIC_LONG, PUTSTATIC_CELL, PUTSTATIC_INT, PUTSTATIC_FLOAT)
9833         (PUTSTATIC_LONG, GETFIELD_CELL, GETFIELD_INT, GETFIELD_FLOAT)
9834         (GETFIELD_LONG, PUTFIELD_CELL, PUTFIELD_INT, PUTFIELD_FLOAT)
9835         (PUTFIELD_LONG): Now take a fieldinfo instead of an unresolved_field.
9836         (INVOKEVIRTUAL, INVOKESTATIC, INVOKESPECIAL, INVOKEINTERFACE): Now
9837         take
9838         a methodinfo instead of an unresolved_method.
9839         (PATCHER_GETSTATIC_CLINIT_INT, PATCHER_GETSTATIC_CLINIT_FLOAT)
9840         (PATCHER_GETSTATIC_CLINIT_LONG, PATCHER_GETSTATIC_CLINIT_CELL): Added.
9841         (PATCHER_PUTSTATIC_CLINIT_INT, PATCHER_PUTSTATIC_CLINIT_FLOAT)
9842         (PATCHER_PUTSTATIC_CLINIT_LONG, PATCHER_PUTSTATIC_CLINIT_CELL): Added.
9843         
9844         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
9845         Use INSTRUCTION_GET_METHODDESC to get method descriptor.
9846         
9847         * src/vm/jit/stack.c (stack_analyse): Ported to new unresolved
9848         reference
9849         scheme.
9850         (stack_show_icmd): Likewise.
9851         
9852         * src/vm/jit/verify/typecheck.c (verify_invocation): Ported to new
9853         unresolved
9854         reference scheme.
9855         (verify_basic_block): Likewise.
9856         
9857         * src/vm/jit/powerpc/codegen.c (codegen): Ported to new unresolved
9858         reference
9859         scheme.
9860         
9861         * src/vm/jit/alpha/codegen.c (codegen): Ported to new unresolved
9862         reference
9863         scheme.
9864         
9865         * src/vm/jit/mips/codegen.c (codegen): Ported to new unresolved
9866         reference
9867         scheme.
9868         
9869         * src/vm/jit/i386/codegen.c (codegen): Ported to new unresolved
9870         reference
9871         scheme.
9872         
9873         * src/vm/jit/x86_64/codegen.c (codegen): Ported to new unresolved
9874         reference
9875         scheme.
9876         
9877         * src/vm/jit/intrp/codegen.c (codegen): Ported to new unresolved
9878         reference
9879         scheme.
9880         (Changes): Added my name.
9881         
9882         * src/vm/jit/intrp/codegen.h (vim boilerplate): Added.
9883
9884 2006-04-12 18:07  edwin
9885
9886         * src/vm/resolve.h (resolve_result_t): Added.
9887         (resolve_method_lazy): Added prototype.
9888         (resolve_field_lazy): Added prototype.
9889         (resolve_and_check_subtype_set): Removed prototype. This function is
9890         becoming static.
9891
9892 2006-04-12 17:51  edwin
9893
9894         * src/vm/class.c (class_showconstantpool): Use the new functions
9895         method_methodref_print and field_fieldref_print.
9896         
9897         * src/vm/loader.c (load_constantpool): Use p.index in constant_FMIref.
9898         (load_class_from_classbuffer): Likewise.
9899         
9900         * src/vm/jit/stack.c (stack_show_icmd): Use p.index in
9901         constant_FMIref.
9902         
9903         * src/vm/jit/verify/typecheck.c (verify_invocation): Use p.index in
9904         constant_FMIref.
9905         
9906         * src/vm/resolve.c (resolve_field, resolve_method,
9907         constrain_unresolved_field)
9908         (unresolved_field_debug_dump, unresolved_method_debug_dump):
9909         Use p.index in constant_FMIref.
9910         
9911         * src/vm/method.c, src/vm/method.h (method_methodref_print): Added.
9912         (method_methodref_println): Likewise.
9913         
9914         * src/vm/field.c, src/vm/field.h (field_fieldref_print): Added.
9915         (field_fieldref_println): Likewise.
9916         
9917         * src/vm/references.h (constant_FMIref): Changed field `classref`
9918         into a
9919         union that is used for caching of already resolved fields/methods.
9920         (IS_FMIREF_RESOLVED): Added.
9921         (METHODREF_CLASSNAME): Added.
9922         (FIELDREF_CLASSNAME): Added.
9923         
9924         * src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED): Added. This is a
9925         preparation
9926         for the lazy resolving rewrite.
9927         (INSTRUCTION_IS_UNRESOLVED): Likewise.
9928         (INSTRUCTION_GET_FIELDREF): Likewise.
9929         (INSTRUCTION_GET_METHODREF): Likewise.
9930         (INSTRUCTION_GET_FIELDDESC): Likewise.
9931         (INSTRUCTION_GET_METHODDESC): Likewise.
9932         (INSTRUCTION_UNRESOLVED_METHOD): Likewise.
9933         (INSTRUCTION_UNRESOLVED_FIELD): Likewise.
9934         (INSTRUCTION_RESOLVED_FMIREF): Likewise.
9935         (INSTRUCTION_RESOLVED_FIELDINFO): Likewise.
9936         (INSTRUCTION_RESOLVED_METHODINFO): Likewise.
9937         
9938         * src/vm/jit/intrp/disass.c (printarg_auf): Use METHODREF_CLASSNAME.
9939
9940 2006-04-12 11:51  twisti
9941
9942         * src/vm/jit/alpha/codegen.c (codegen): Use directly argument
9943         registers in exception stubs, instead of temporary ones. This reduces
9944         code-size about 200kB for -all.
9945
9946 2006-04-12 09:49  twisti
9947
9948         * src/vm/jit/powerpc/codegen.c (codegen): Fixed displacement overflow
9949         problem when restoring LR. We can't use r0 here.
9950
9951 2006-04-12 09:30  twisti
9952
9953         * NEWS: Line-number fix added.
9954
9955 2006-04-12 09:20  edwin
9956
9957         * src/vm/jit/parse.c (parse): Skip line number entries that span over
9958         zero
9959         bytecode instructions.
9960
9961 2006-04-12 08:52  edwin
9962
9963         * src/vm/method.h (methodinfo): Forward declaration moved to
9964         refereneces.h.
9965         * src/vm/field.h (fieldinfo): Forward declaration moved to
9966         refereneces.h.
9967         * src/vm/references.h (methodinfo, fieldinfo): Added forward
9968         references.
9969
9970 2006-04-12 08:34  edwin
9971
9972         * src/vm/class.c (class_showconstanti): Removed.
9973         (class_showconstantpool): Documented.
9974         (class_showmethods): Documented.
9975         (vim boilerplate): Added.
9976         (Changes): Finally added my name.
9977
9978 2006-04-11 13:13  twisti
9979
9980         * src/vm/jit/x86_64/codegen.c (codegen): Changed signature to use
9981         jitdata. Renamed reg_of_var by codegen_reg_of_var.
9982         * src/vm/jit/x86_64/codegen.h (M_COPY): Likewise.
9983
9984 2006-04-11 10:54  twisti
9985
9986         * tests/regression/clinitexception.2output: Updated.
9987         * tests/regression/native/checkjni.output: Likewise.
9988         * tests/regression/extest.2output: Likewise.
9989
9990 2006-04-11 10:20  twisti
9991
9992         * src/vm/builtin.c (builtin_throw_exception): Changed return type and
9993         return NULL. This is less error-prone in asm_vm_call_method.
9994         * src/vm/builtin.h: Likewise.
9995         
9996         * src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler):
9997         Don't set v0 to NULL. This is now done in builtin_throw_exception.
9998         * src/vm/jit/i386/asmpart.S: Likewise.
9999         * src/vm/jit/mips/asmpart.S: Likewise.
10000         * src/vm/jit/powerpc/asmpart.S: Likewise.
10001         * src/vm/jit/x86_64/asmpart.S: Likewise.
10002
10003 2006-04-11 10:04  twisti
10004
10005         * src/vm/jit/ifconv/ifconv.c (ifconv_static): Keep compiler happy.
10006
10007 2006-04-11 09:00  edwin
10008
10009         * src/vm/jit/stack.c (stack_print_stack): Only use `regs` if
10010         ENABLE_DISASSEMBLER is defined.
10011         (stack_show_method): Likewise.
10012         
10013         * src/vm/jit/replace.c (replace_executionstate_println): Likewise.
10014
10015 2006-04-11 05:10  edwin
10016
10017         * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Do not
10018         trace
10019         exception when NDEBUG.
10020         
10021         * src/vm/jit/intrp/dynamic-super.c (disassemble_prim): Only enable for
10022         ENABLE_DISASSEMBLER.
10023         (dynamic_super_init): Only call disassemble_prim for
10024         ENABLE_DISASSEMBLER.
10025         
10026         * src/vm/jit/intrp/java.vmg: Disable builtin_displaymethodstop and
10027         builtin_trace_args for NDEBUG.
10028
10029 2006-04-06 12:54  twisti
10030
10031         * src/vm/jit/mips: Added TAGS.
10032         * src/vm/jit/mips/irix: Likewise.
10033         * src/vm/jit/mips/irix/.cvsignore: Likewise.
10034         * src/vm/jit/mips/.cvsignore: Likewise.
10035
10036 2006-04-06 12:51  twisti
10037
10038         * src/vm/jit/mips/codegen.c (codegen): Changed signature to use
10039         jitdata. Renamed reg_of_var by codegen_reg_of_var.
10040         (createcompilerstub): Replaced docacheflush by md_cacheflush.
10041         * src/vm/jit/mips/codegen.h (M_COPY): Likewise.
10042         * src/vm/jit/mips/md.c (sys/mman.h): Removed.
10043         (docacheflush): Likewise.
10044
10045 2006-04-06 00:33  edwin
10046
10047         * configure.ac: Added host type `armv5l`.
10048
10049 2006-04-05 20:31  edwin
10050
10051         * src/vm/jit/parse.h, src/vm/jit/parse.c (OP1LOAD):
10052         Split into OP1LOAD_ONEWORD and OP1LOAD_TWOWORD. Index is only checked
10053         if
10054         ENABLE_VERIFIER.
10055         (OP1STORE): Split into OP1STORE_ONEWORD and OP1STORE_TWOWORD. Index
10056         is
10057         only checked if ENABLE_VERIFIER.
10058
10059 2006-04-05 19:58  edwin
10060
10061         * src/vm/jit/parse.c (parse): Cleaned up and reordered an if.
10062
10063 2006-04-05 19:44  edwin
10064
10065         * src/vm/jit/parse.c (parse): Remove the `if (!iswide)` check for
10066         each opcode
10067         by making JAVA_WIDE continue directly to the label fetch_opcode.
10068         (This also
10069         removed a part of the iswide check at the end of the loop.)
10070
10071 2006-04-05 18:48  edwin
10072
10073         * src/vm/jit/alpha/codegen.c (codegen, createnativestub): Remove
10074         opt_verbosecall code for NDEBUG builds.
10075
10076 2006-04-05 18:13  edwin
10077
10078         * src/vm/jit/parse.c (parse): Only do verifier checks if
10079         ENABLE_VERIFIER.
10080         Cleaned up an obsolete printf.
10081
10082 2006-04-05 12:56  edwin
10083
10084         * configure.ac (ENABLE_RT_TIMING): Added.
10085         
10086         * src/vm/jit/jit.c (ENABLE_RT_TIMING): Added code for real-time timing
10087         of compiler passes.
10088         
10089         * src/vm/jit/jit.h (jit_print_time_stats): Added.
10090         
10091         * src/vm/vm.c (vm_exit_handler): Call jit_print_time_stats.
10092
10093 2006-04-05 11:32  edwin
10094
10095         * src/vm/jit/inline/inline.c (create_block): Use BASICBLOCK_INIT.
10096
10097 2006-04-05 10:02  twisti
10098
10099         * src/vm/jit/alpha/asmpart.S (asm_vm_call_method): Removed !NDEBUG as
10100         builtin_throw_exception actually posts the thrown exception to the VM
10101         system.
10102         * src/vm/jit/powerpc/asmpart.S: Likewise.
10103         * src/vm/jit/mips/asmpart.S: Likewise.
10104         * src/vm/jit/x86_64/asmpart.S: Likewise.
10105
10106 2006-04-05 09:57  edwin
10107
10108         * src/vm/jit/jit.h (instruction): Removed `method` field.
10109         (insinfo_inline): Added.
10110         (basicblock): Added `method` field.
10111         
10112         * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start)
10113         (dseg_addlinenumber_inline_end): Use new insinfo_inline struct.
10114         
10115         * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed unused
10116         variable `myclass`.
10117         
10118         * src/vm/jit/inline/inline.c (emit_inlining_prolog,
10119         emit_inlining_epilog):
10120         Use insinfo_inline struct.
10121         (inline_write_exception_handlers): Removed `method` field.
10122         
10123         * src/vm/jit/i386/codegen.c (codegen): Use insinfo_inline struct.
10124         
10125         * src/vm/jit/parse.h (several macros): Removed `method` field from
10126         instruction.
10127         
10128         * src/vm/jit/stack.c (stack_show_icmd): Adapted to new insinfo_inline
10129         struct.
10130
10131 2006-04-05 09:54  twisti
10132
10133         Fixes GCC Bugzilla Bug #26990.
10134         * src/vm/vm.c (vm_exit): Don't check for exception of System.exit().
10135
10136 2006-04-04 21:31  edwin
10137
10138         * src/vm/builtin.c (builtin_throw_exception): No twisti, we don't
10139         turn off
10140         exceptions just because it is NDEBUG ;)
10141         * src/vm/jit/i386/asmpart.S (asm_vm_call_method_exception_handler):
10142         Likewise.
10143
10144 2006-04-04 18:14  edwin
10145
10146         * src/vm/jit/i386/Makefile.am: Do not build disassebmler for
10147         --disable-disassembler
10148         * src/vm/jit/i386/codegen.c (codegen): disable verbosecall code for
10149         NDEBUG
10150
10151 2006-04-04 18:11  edwin
10152
10153         * src/vm/jit/ifconv/ifconv.c (ifconv_static): #ifdef debug code.
10154         (check): Likewise.
10155
10156 2006-04-04 09:17  twisti
10157
10158         * src/threads/native/threads.c (tablelock): Removed.
10159         (tables_lock, tables_unlock): Likewise.
10160         (criticalcompare): Removed tablelock initialization.
10161         * src/vm/hashtable.h (tables_lock, tables_unlock): Removed.
10162         * src/vm/global.h (VFTBLINTERFACETABLE): Likewise.
10163         (cast_lock, cast_unlock): Likewise.
10164
10165 2006-04-04 09:14  twisti
10166
10167         * src/vm/exceptions.c (exceptions_new_nosuchmethoderror): Print
10168         classname with dots.
10169         (exceptions_handle_exception): Compiler warning fix.
10170
10171 2006-04-04 09:13  edwin
10172
10173         * src/vm/jit/verify/typeinfo.c (CLASSINFO_IMPLEMENTS_INTERFACE):
10174         Removed the
10175         single use of the macro VFTBLINTERFACETABLE
10176
10177 2006-04-04 08:45  twisti
10178
10179         * src/native/vm/VMClass.c: Reordered methods like in the
10180         VMClass.java. This eases the 1.5 changes addition.
10181
10182 2006-04-04 08:30  edwin
10183
10184         * src/vm/jit/parse.c (parse): Removed obsolete variable
10185         `skipBasicBlockChange`.
10186
10187 2006-04-04 08:24  edwin
10188
10189         * src/vm/jit/parse.c (parse): Removed obsolete variable `firstlocal`.
10190         (Was used for the old inliner.)
10191
10192 2006-04-03 15:36  twisti
10193
10194         * src/vm/jit/powerpc/codegen.c (codegen): Changed signature to use
10195         jitdata. Renamed reg_of_var by codegen_reg_of_var.
10196         * src/vm/jit/powerpc/codegen.h (M_COPY): Likewise.
10197
10198 2006-04-03 13:59  twisti
10199
10200         * src/vm/jit/powerpc/codegen.c (codegen): Renamed parentargs_base to
10201         stackframesize.
10202         (codegen_trace_args): Likewise.
10203
10204 2006-04-02 16:17  edwin
10205
10206         * src/vm/jit/i386/codegen.c (codegen): Implemented inlining of
10207         synchronized
10208         methods (INLINE_START, INLINE_END do monitorenter/exit).
10209
10210 2006-04-02 16:16  edwin
10211
10212         * src/vm/jit/inline/inline.c (inline_node): Added fields for inlining
10213         synchronized methods.
10214         (inline_context): Added `master` pointer to outermost caller. Added
10215         field
10216         `calls_others`. (Leaf method detection should really be done after
10217         inlining).
10218         (several methods): Implemented inlining of synchronized methods.
10219         (inline_new_stackslot): Added.
10220         (inline_write_exception_handlers): Added.
10221
10222 2006-04-01 21:03  edwin
10223
10224         * src/vm/jit/intrp/codegen.c (createcalljavafunction): Create
10225         codeinfo with
10226         the right methodinfo pointer.
10227
10228 2006-04-01 21:00  edwin
10229
10230         * src/vm/jit/codegen-common.h (intrp_createnativestub): Takes a
10231         `jitdata *` now.
10232         
10233         * src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub)
10234         (createcalljavafunction): Use jitdata.
10235
10236 2006-03-31 12:38  edwin
10237
10238         * src/vm/jit/inline/inline.c, src/vm/jit/inline/inline_debug.c:
10239         Adapted to
10240         twisti's jitdata changes.
10241
10242 2006-03-31 07:50  twisti
10243
10244         * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Replaced $stub
10245         symbols with old symbols and define them for darwin in the
10246         corresponding md-asm.h.
10247         (asm_call_jit_compiler): Likewise.
10248         (asm_wrapper_patcher): Likewise.
10249         (asm_replacement_out): Likewise.
10250         * src/vm/jit/powerpc/darwin/md-asm.h (builtin_asm_get_exceptionptrptr)
10251         (builtin_throw_exception, exceptions_handle_exception, jit_compile)
10252         (replace_me, stacktrace_create_extern_stackframeinfo)
10253         (stacktrace_remove_stackframeinfo): Changed to $stub symbol.
10254         (stacktrace_extern_fillInStackTrace): Removed.
10255         
10256         * src/vm/jit/powerpc/linux/md-abi.c (regs): Added.
10257
10258 2006-03-31 07:14  twisti
10259
10260         * src/vm/jit/powerpc/patcher.c
10261         (patcher_checkcast_instanceof_interface): Compile fix (typo).
10262
10263 2006-03-30 12:01  twisti
10264
10265         * src/vm/jit/alpha/asmpart.S (vm/jit/abi.h): Changed to
10266         vm/jit/abi-asm.h.
10267         * src/vm/jit/mips/asmpart.S: Likewise.
10268         * src/vm/jit/i386/asmpart.S: Likewise.
10269         * src/vm/jit/x86_64/asmpart.S: Likewise.
10270
10271 2006-03-30 11:59  twisti
10272
10273         * src/vm/jit/powerpc/codegen.c (codegen): Changed signature to use
10274         jitdata. Renamed reg_of_var by codegen_reg_of_var.
10275         * src/vm/jit/powerpc/codegen.h (M_COPY): Likewise.
10276         
10277         * src/vm/jit/powerpc/asmpart.S (vm/jit/abi.h): Changed to
10278         vm/jit/abi-asm.h.
10279         (asm_vm_call_method_exception_handler): Export it.
10280         (asm_vm_call_method): Don't put label addresses into the
10281         "data-segment", as it's located in the .text area and that may be
10282         read-only. Changed to use PIC code. Linux stuff is still missing.
10283         
10284         * src/vm/jit/powerpc/Makefile.am (DISASS_SOURCES): Added.
10285         * src/vm/jit/powerpc/disass.c (regs): Removed.
10286
10287 2006-03-30 10:26  twisti
10288
10289         * src/vm/jit/ifconv/Makefile.am (AM_CPPFLAGS): Added OS_DIR.
10290         (LIBS): Added.
10291
10292 2006-03-30 10:23  twisti
10293
10294         * src/vm/jit/Makefile.am (noinst_HEADERS): Added abi-asm.h.
10295         * src/vm/jit/abi.h (vm/jit/abi-asm.h): Added.
10296         (nregdescint, regs, nregdescfloat): Added.
10297         * src/vm/jit/abi-asm.h: New file.
10298         * src/vm/jit/reg.h (nregdescint, nregdescfloat): Removed.
10299         * src/vm/jit/reg.c (vm/jit/abi.h): Added.
10300         * src/vm/jit/replace.c: Likewise.
10301         * src/vm/jit/allocator/lsra.c: Likewise.
10302         * src/vm/jit/powerpc/darwin/md-asm.h
10303         (asm_vm_call_method_exception_handler): Added.
10304         * src/vm/jit/powerpc/darwin/md-abi.c (regs): Added.
10305
10306 2006-03-30 10:14  twisti
10307
10308         * src/vm/jit/codegen-common.c: Use ENABLE_DISASSEMBLER.
10309         * src/vm/jit/codegen-common.h: Likewise.
10310         * src/vm/jit/stack.c: Likewise. Plus ENABLE_LSRA.
10311         * src/vm/jit/disass.h: Likewise.
10312         * src/vm/jit/jit.c: Likewise. Plus ENABLE_LOOP.
10313
10314 2006-03-30 10:10  twisti
10315
10316         * src/vm/jit/powerpc/patcher.c (patcher_invokevirtual): Use disp
10317         variable for code patching. This will ease the overflow code
10318         comming.
10319         (patcher_invokeinterface): Likewise.
10320         (patcher_checkcast_instanceof_interface): Likewise.
10321
10322 2006-03-30 09:52  twisti
10323
10324         * src/vm/exceptions.c (exceptions_handle_exception): Check for special
10325         * start/endpc-NULL case. This makes asmpart stuff much easier, like on
10326         * Darwin or IRIX.
10327         
10328         * src/vm/jit/asmpart.h (asm_vm_call_method_exception_handler): Added.
10329         
10330         * src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler):
10331         Export it.
10332         (asm_vm_call_method): Don't put label addresses into the
10333         "data-segment", as it's located in the .text area and that may be
10334         read-only.
10335         * src/vm/jit/i386/asmpart.S: Likewise.
10336         * src/vm/jit/mips/asmpart.S: Likewise.
10337         * src/vm/jit/x86_64/asmpart.S: Likewise.
10338
10339 2006-03-30 09:20  twisti
10340
10341         * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Return NULL for
10342         exception.
10343
10344 2006-03-30 08:48  twisti
10345
10346         * configure.ac (opcodes): Check for disassembler symbol as
10347         init_disassemble_info isn't defined everywhere, like NetBSD.
10348
10349 2006-03-29 23:11  twisti
10350
10351         * src/vm/jit/powerpc/netbsd: New directory.
10352         * src/vm/jit/powerpc/netbsd/md-abi.h: New file.
10353         * src/vm/jit/powerpc/netbsd/md-os.c: Likewise.
10354         * src/vm/jit/powerpc/netbsd/md-asm.h: Likewise.
10355         * src/vm/jit/powerpc/netbsd/Makefile.am: Likewise.
10356         * src/vm/jit/powerpc/netbsd/md-abi.c: Likewise.
10357         * src/vm/jit/powerpc/netbsd/.cvsignore: Likewise.
10358         * configure.ac (host_os): Added NetBSD.
10359         (AC_CONFIG_FILES): Added src/vm/jit/powerpc/netbsd/Makefile.
10360
10361 2006-03-28 15:43  twisti
10362
10363         * tests/regression/codepatching/test.java: Made functions static
10364         final.
10365         --This line, and those below, will be ignored--
10366         
10367         M test.java
10368
10369 2006-03-28 15:41  twisti
10370
10371         * src/vm/jit/i386/codegen.c (codegen): Changed signature to use
10372         jitdata. Renamed reg_of_var by codegen_reg_of_var.
10373         * src/vm/jit/i386/codegen.h (M_COPY): Likewise.
10374
10375 2006-03-28 15:14  twisti
10376
10377         * configure.ac (AC_CONFIG_FILES): Added src/vm/jit/ifconv/Makefile.
10378
10379 2006-03-28 15:10  twisti
10380
10381         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv.
10382         * src/vm/jit/ifconv: New directory.
10383         * src/vm/jit/ifconv/ifconv.c: New file.
10384         * src/vm/jit/ifconv/Makefile.am: Likewise.
10385         * src/vm/jit/ifconv/ifconv.h: Likewise.
10386         * src/vm/jit/ifconv/.cvsignore: Likewise.
10387
10388 2006-03-28 14:52  twisti
10389
10390         * src/vm/method.h (vm/jit/code.h): Added.
10391         (codeinfo, rplpoint, executionstate, sourcestate): typedef's removed.
10392         
10393         * src/vm/jit/codegen-common.c (codegendata): Removed code.
10394         (codegen_setup, codegen_finish, createnativestub, codegen)
10395         (intrp_codegen): Changed signature to use jitdata.
10396         (reg_of_var): Renamed to codegen_reg_of_var. Changed signature.
10397         (codegen_free): Removed.
10398         * src/vm/jit/codegen-common.h: Likewise.
10399         
10400         * src/vm/jit/stack.c (lock_show_icmd): Renamed to
10401         lock_stack_show_icmd.
10402         (analyse_stack): Renamed to stack_analyse. Changed signature to use
10403         jitdata.
10404         (ICMD_IF_ICMPxx): Make ICMD_IFxx last instruction in basic block. This
10405         is required for if-conversion.
10406         (stack_print): Renamed to stack_print_stack.
10407         (show_icmd_method): Renamed to stack_show_method. Changed signature to
10408         use jitdata.
10409         (show_icmd_block): Renamed to stack_show_basicblock. Changed signature
10410         to use jitdata.
10411         (show_icmd): Renamed to stack_show_icmd.
10412         * src/vm/jit/stack.h: Likewise.
10413         
10414         * src/vm/jit/code.h (codeinfo): Added typedef.
10415         
10416         * src/vm/jit/dseg.c (assert.h): Moved.
10417         (dseg_resolve_datareferences, dseg_display): Changed signature to use
10418         jitdata.
10419         * src/vm/jit/dseg.h: Likewise.
10420         
10421         * src/vm/jit/verify/typecheck.c (typecheck): Changed signature to use
10422         jitdata.
10423         * src/vm/jit/verify/typecheck.h: Likewise.
10424         
10425         * src/vm/jit/loop/loop.c (analyseGraph): Changed signature to use
10426         jitdata.
10427         * src/vm/jit/loop/loop.h: Likewise.
10428         * src/vm/jit/loop/graph.c (depthFirst): Likewise.
10429         * src/vm/jit/loop/graph.h: Likewise.
10430         * src/vm/jit/loop/analyze.c (optimize_loops): Likewise.
10431         * src/vm/jit/loop/analyze.h: Likewise.
10432         * src/vm/jit/allocator/lsra.c (lsra): Likewise.
10433         * src/vm/jit/allocator/lsra.h: Likewise.
10434         * src/vm/jit/allocator/simplereg.c (interface_regalloc)
10435         (local_regalloc,allocate_scratch_registers): Likewise.
10436         * src/vm/jit/allocator/simplereg.h: Likewise.
10437         * src/vm/jit/parse.c (parse): Likewise.
10438         * src/vm/jit/replace.c (replace_create_replacement_points): Likewise.
10439         * src/vm/jit/intrp/codegen.c (intrp_codegen): Likewise.
10440         * src/vm/jit/reg.c (reg_setup): Likewise.
10441         * src/vm/jit/reg.h: Likewise.
10442         
10443         * src/vm/jit/jit.c (jit_compile): Use new function signatures and
10444         jitdata structure.
10445         (jit_compile_intern): Changed signature to use jitdata.
10446         * src/vm/jit/jit.h (jitdata): Added.
10447         (ICMD_OPCODE_MASK): Likewise.
10448         (ICMD_CONDITION_MASK): Likewise.
10449         
10450         * src/vm/jit/replace.h (rplpoint, executionstate, sourcestate):
10451         typedef's added.
10452         (replace_create_replacement_points): Changed signature to use jitdata.
10453         
10454         * src/vm/jit/parse.h (INDEX_ONEWORD, INDEX_TWOWORD): Use goto.
10455         (parse): Changed signature to use jitdata.
10456
10457 2006-03-28 14:31  twisti
10458
10459         * src/vm/jit/x86_64/md.c (md_signal_handler_sigsegv)
10460         (md_signal_handler_sigfpe): Comment changes.
10461
10462 2006-03-28 14:30  twisti
10463
10464         * src/vm/jit/i386/codegen.c (createnativestub): Replaced _exceptionptr
10465         by _no_threads_exceptionptr.
10466
10467 2006-03-28 14:22  twisti
10468
10469         * NEWS: Added upcoming 0.96 release. Added miranda-methods fix.
10470
10471 2006-03-28 14:21  twisti
10472
10473         * src/tests/regression/native/checkjni.c (PushLocalFrame): New method.
10474         * src/tests/regression/native/checkjni.java (PushLocalFrame):
10475         Likewise.
10476         (equal(int,int)): Likewise.
10477         * src/tests/regression/native/Makefile.am (NOTESTNAMES): Added.
10478
10479 2006-03-28 11:54  twisti
10480
10481         * src/vm/jit/x86_64/codegen.c (codegen): Renamed parentargs_base to
10482         stackframesize.
10483         * tests/regression/extest.2output: Updated.
10484
10485 2006-03-28 10:42  twisti
10486
10487         * src/vm/Makefile.am (noinst_LTLIBRARIES): Reformatted.
10488
10489 2006-03-28 10:21  twisti
10490
10491         * src/native/vm/VMClassLoader.c (loadClass): Smaller changes.
10492
10493 2006-03-28 09:41  twisti
10494
10495         * src/native/native.c (dummynativetable): Renamed getModifiers
10496         functions to getModifiersInternal due to GNU Classpath VM interface
10497         changes.
10498         * src/native/vm/Constructor.c (getModifiers): Renamed to
10499         getModifiersInternal.
10500         * src/native/vm/Field.c (getModifiers): Likewise.
10501         * src/native/vm/Method.c (getModifiers): Likewise.
10502
10503 2006-03-27 11:37  twisti
10504
10505         * src/vm/class.c: Don't initialize classes to NULL.
10506         
10507         * src/vm/loader.c (loader_load_all_classes): Added NDEBUG.
10508         * src/vm/builtin.c (builtin_new): Likewise.
10509         * src/vm/jit/codegen-common.c (codegen_createnativestub): Likewise.
10510         (codegen_disassemble_nativestub): Likewise.
10511         * src/vm/jit/codegen-common.h (codegen_disassemble_nativestub):
10512         Likewise.
10513         * src/vm/jit/stack.c (stack_print): Likewise.
10514         * src/vm/jit/stack.h (stack_print, show_icmd_method, show_icmd_block)
10515         (show_icmd): Likewise.
10516         * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
10517         * src/vm/linker.c (link_class_intern): Likewise.
10518         * src/cacao/cacao.c (main): Likewise.
10519         
10520         * src/vm/jit/x86_64/codegen.c: Likewise.
10521         * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Likewise.
10522         * src/vm/jit/x86_64/Makefile.am (DISASS_SOURCES): Added. Put into
10523         ENABLE_DISASSEMBLER.
10524         
10525         * src/vm/jit/jit.c (jit_compile_intern): Added ENABLE_LOOP.
10526         * src/vm/vm.c (vm_create): Added ENABLE_PROFILING.
10527         (vm_exit_handler): Likewise.
10528         
10529         * configure.ac (AC_ENABLE_SHARED, AC_DISABLE_STATIC): Removed. Set it
10530         manually.
10531         (EXPORT_SYMBOLS_FLAGS): Removed.
10532         (--enable-disassembler): Added.
10533         (--ensable-loop): Likewise.
10534         (--ensable-profiling): Likewise.
10535         (--ensable-libjvm): Likewise.
10536         (--ensable-inlining): Moved.
10537         
10538         * src/vm/jit/Makefile.am (LOOP_LIB): Added. Put into ENABLE_LOOP.
10539         (PROFILE_LIB): Put into ENABLE_PROFILING.
10540         * src/cacao/Makefile.am (cacao_LDFLAGS): Use -export-dynamic and let
10541         libtool do the work. Add -all-static for ENABLE_STATICVM.
10542         
10543         * src/lib/Makefile.am: Made it -j aware.
10544         
10545         * src/vm/resolve.c (config.h, vm/global.h): Added.
10546         * src/vm/classcache.c (config.h): Moved to top.
10547         
10548         * src/vm/exceptions.h: Small change.
10549
10550 2006-03-27 11:15  twisti
10551
10552         * src/vm/utf8.c: Removed superfluous comment.
10553
10554 2006-03-24 11:50  motse
10555
10556         * src/cacao/cacao.c (main): remove debug code
10557
10558 2006-03-23 12:48  edwin
10559
10560         * src/vm/jit/parse.h (bound_check): Renamed to CHECK_BYTECODE_INDEX,
10561         made
10562         a NOP for ENABLE_VERIFIER undefined.
10563         (bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE,
10564         made
10565         a NOP for ENABLE_VERIFIER undefined.
10566         
10567         * src/vm/jit/parse.c (fillextable): Cleaned up.
10568         (bound_check): Renamed to CHECK_BYTECODE_INDEX.
10569         (bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE.
10570         (parse): Only do checks if ENABLE_VERIFIER is defined.
10571
10572 2006-03-23 11:22  edwin
10573
10574         * src/vm/jit/parse.c (CHECK_END_OF_BYTECODE): Added a macro for
10575         checking
10576         the end of the bytecode that becomes a NOP if ENABLE_VERIFIER is
10577         undefined.
10578
10579 2006-03-23 02:06  edwin
10580
10581         * src/vm/jit/parse.c (parse): Uncuddled else's.
10582
10583 2006-03-23 00:56  edwin
10584
10585         * src/vm/jit/powerpc/darwin/md-asm.h (_asm_replacement_out)
10586         (_asm_replacement_in, _replace_me): Added #defines for Darwin.
10587
10588 2006-03-23 00:30  edwin
10589
10590         * src/vm/jit/stack.h (CHECK_STACK_DEPTH): Added. Uses goto to a common
10591         label for stack depth mismatches.
10592         (MARKREACHED): Use CHECK_STACK_DEPTH, which becomes a NOP if
10593         ENABLE_VERIFIER is undefined.
10594         
10595         * src/vm/jit/stack.c (anaylse_stack): Use CHECK_STACK_DEPTH.
10596         Added common label `throw_stack_depth_error` for stack depth
10597         mismatches.
10598         Uncuddled else's.
10599
10600 2006-03-23 00:08  edwin
10601
10602         * src/vm/global.h (TYPECHECK_STACK_COMPCAT): Replaced by
10603         ENABLE_VERIFIER.
10604         The separation made no sense, anyway.
10605         
10606         * src/vm/jit/stack.c (TYPECHECK_STACK_COMPCAT): Replaced by
10607         ENABLE_VERIFIER.
10608         (analyse_stack): Removed code duplication by branching to a common
10609         label
10610         for all computational category errors: throw_stack_category_error.
10611
10612 2006-03-22 23:51  edwin
10613
10614         * src/vm/jit/stack.h (BBEND): Inlined this macro (used only once) at
10615         its
10616         call site in stack.c.
10617         
10618         * src/vm/jit/stack.c (analyse_stack): Inlined BBEND macro and cleaned
10619         up
10620         the code.
10621
10622 2006-03-22 23:29  edwin
10623
10624         * src/vm/jit/stack.c (analyse_stack): Removed obsolete label
10625         `icmd_store`.
10626
10627 2006-03-22 23:27  edwin
10628
10629         * src/vm/jit/jit.h (ICMD_READONLY_ARG, ICMD_CLEAR_ARGREN): Removed.
10630         
10631         * src/vm/jit/stack.c (analyse_stack): Removed obsolete argument
10632         renaming.
10633         
10634         * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed
10635         ICMD_READONLY_ARG and ICMD_CLEAR_ARGREN.
10636
10637 2006-03-22 23:17  edwin
10638
10639         * src/vm/jit/stack.h (TYPE_VERIFYERROR): Changed to CHECK_BASIC_TYPE.
10640         This
10641         macro now becomes a NOP if ENABLE_VERIFIER is undefined. Otherwise it
10642         uses
10643         a goto to the common label throw_stack_type_error in order to save
10644         space.
10645         
10646         * src/vm/jit/stack.c (analyse_stack): Added variable `expectedtype`
10647         for use
10648         by CHECK_BASIC_TYPE. Added label throw_stack_type_error.
10649
10650 2006-03-22 20:59  edwin
10651
10652         * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Save/restore stack
10653         pointer
10654         properly. Fixed copy&paste error in restoring callee-save registers.
10655
10656 2006-03-22 18:32  edwin
10657
10658         * src/vm/jit/stack.c (analyse_stack): Added throw_stack_overflow
10659         label.
10660         
10661         * src/vm/jit/stack.h (CHECKOVERFLOW): Make this a NOP if
10662         ENABLE_VERIFIER
10663         is undefined.
10664         (REQUIRE): Use #if defined(...)
10665
10666 2006-03-22 17:25  edwin
10667
10668         * src/vm/jit/stack.h (REQUIRE): Made a NOP if ENABLE_VERIFIER is
10669         undefined.
10670         
10671         * src/vm/jit/stack.c (analyse_stack): Only define
10672         throw_stack_underflow
10673         if ENABLE_VERIFIER is defined.
10674         (jit_type): Do not define that for NDEBUG.
10675
10676 2006-03-22 17:14  edwin
10677
10678         * src/vm/jit/stack.h (REQUIRE): Avoid duplication of exception
10679         throwing code.
10680         
10681         * src/vm/jit/stack.c (analyse_stack): Added label
10682         throw_stack_underflow
10683         for the REQUIRE macro.
10684
10685 2006-03-22 15:30  edwin
10686
10687         * src/vm/jit/powerpc/md.c (DISASSINSTR): #ifdef'ed
10688         * src/vm/jit/alpha/md.c (DISASSINSTR): #ifdef'ed
10689         * src/vm/jit/i386/md.c (DISASSINSTR): #ifdef'ed
10690         * src/vm/jit/x86_64/md.c (DISASSINSTR): #ifdef'ed
10691         * src/vm/jit/mips/md.c (DISASSINSTR): #ifdef'ed
10692
10693 2006-03-22 12:35  edwin
10694
10695         * src/vm/jit/inline/inline.c (stack_depth): Moved here from
10696         inline_debug.c.
10697         (NDEBUG): Put debug stuff inside #ifndef NDEBUG.
10698         
10699         * src/vm/jit/inline/inline_debug.c (stack_depth): Moved to inline.c
10700
10701 2006-03-22 09:19  edwin
10702
10703         * src/vm/jit/inline/inline_debug.c (debug_dump_stack): Fixed warning
10704         on
10705         platforms that don't define NULL as a pointer.
10706
10707 2006-03-22 01:22  edwin
10708
10709         * src/vm/jit/inline/inline.c (relocate_stack_ptr_inter,
10710         rewrite_method):
10711         Fixed warnings.
10712         
10713         * src/vm/jit/inline/inline_debug.c (DEBUG_SLOT, dump_inline_tree):
10714         Fixed warnings.
10715
10716 2006-03-21 14:07  twisti
10717
10718         * src/vm/jit/i386/codegen.h (ALIGNCODENOP): Added.
10719         
10720         * src/vm/jit/i386/codegen.c (codegen): Renamed to parentargs_base to
10721         stackframesize. Align stack to 16-bytes.
10722         (ICMD_GOTO): Use ALIGNCODENOP.
10723         
10724         * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Align stack to
10725         16-bytes. Use register defines for better readability.
10726
10727 2006-03-21 11:58  twisti
10728
10729         * src/vm/jit/Makefile.am: Removed ifconv. Again...
10730
10731 2006-03-21 11:50  twisti
10732
10733         * configure.ac (AC_INIT): Changed cvs to svn.
10734         (--enable-inlining): Added.
10735         
10736         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv.
10737         (ENABLE_IFCONV): Added. Use IFCONV_LIB.
10738         (USE_INLINING): Renamed to ENABLE_INLINING.
10739
10740 2006-03-21 07:57  edwin
10741
10742         * src/vm/jit/alpha/codegen.c (codegen): Comment 16-byte stack
10743         alignment.
10744         
10745         * src/vm/jit/alpha/asmpart.S (asm_replacment_out): Fix comment about
10746         stack layout.
10747
10748 2006-03-21 07:42  edwin
10749
10750         * src/vm/jit/alpha/asmpart.S (REPLACEMENT_ROOM): Fixed deleted
10751         characters.
10752
10753 2006-03-21 04:14  edwin
10754
10755         * src/vm/jit/inline/Makefile.am (AM_CPPFLAGS): Added OS include dir.
10756
10757 2006-03-21 03:15  edwin
10758
10759         * src/vm/jit/inline/inline_debug.c: Added file.
10760
10761 2006-03-21 00:13  edwin
10762
10763         * src/vm/jit/inline/inline.c: Committed the inliner. This code works
10764         but
10765         it is still in prototyping stage.
10766         
10767         * src/vm/jit/parse.c (parse): Added (#if 0-ed) code for storing the
10768         exception table that the inliner uses.
10769
10770 2006-03-21 00:04  motse
10771
10772         major rework of jvmti. now we have three processes in jvmti mode.
10773         there are still many debug statements
10774
10775 2006-03-20 23:56  edwin
10776
10777         * src/vm/jit/code.h (codeinfo): Comment that profiling fields
10778         will be removed.
10779
10780 2006-03-20 15:41  edwin
10781
10782         * src/vm/jit/alpha/asmpart.S (asm_replacement_out): 16-byte align
10783         stack.
10784
10785 2006-03-20 15:37  edwin
10786
10787         * doc/stack_frames.txt: Some fixes, described PowerPC stack frames.
10788
10789 2006-03-20 15:12  twisti
10790
10791         * src/vm/jit/alpha/codegen.c (codegen): Align stack to 16-bytes in
10792         replacement stub.
10793         * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Load GP before
10794         symbolic jumps.
10795
10796 2006-03-20 14:43  twisti
10797
10798         * autogen.sh, src/boehm-gc/autogen.sh: Prefix all shell variables with
10799         CACAO_ to prevent problems on OpenBSD.
10800
10801 2006-03-20 14:27  twisti
10802
10803         * src/boehm-gc/darwin_stop_world.c,
10804         src/boehm-gc/threadlibs.c,
10805         src/boehm-gc/doc/README.changes,
10806         src/boehm-gc/doc/README,
10807         src/boehm-gc/doc/gcinterface.html,
10808         src/boehm-gc/mark.c,
10809         src/boehm-gc/include/gc.h,
10810         src/boehm-gc/include/gc_cpp.h,
10811         src/boehm-gc/include/gc_pthread_redirects.h,
10812         src/boehm-gc/include/leak_detector.h,
10813         src/boehm-gc/include/gc_config_macros.h,
10814         src/boehm-gc/include/private/gc_priv.h,
10815         src/boehm-gc/include/private/gcconfig.h,
10816         src/boehm-gc/include/private/gc_pmark.h,
10817         src/boehm-gc/include/private/gc_locks.h,
10818         src/boehm-gc/configure.in,
10819         src/boehm-gc/allchblk.c,
10820         src/boehm-gc/powerpc_darwin_mach_dep.s,
10821         src/boehm-gc/dbg_mlc.c,
10822         src/boehm-gc/version.h,
10823         src/boehm-gc/pthread_stop_world.c,
10824         src/boehm-gc/malloc.c,
10825         src/boehm-gc/headers.c,
10826         src/boehm-gc/pthread_support.c,
10827         src/boehm-gc/Makefile.direct,
10828         src/boehm-gc/os_dep.c,
10829         src/boehm-gc/Makefile.am,
10830         src/boehm-gc/dyn_load.c,
10831         src/boehm-gc/alloc.c,
10832         src/boehm-gc/misc.c: Updated to upstream version 6.7.
10833
10834 2006-03-19 19:46  edwin
10835
10836         * src/vm/jit/code.c (code_get_stack_frame_size): Implement stack
10837         alignment
10838         for MIPS.
10839         
10840         * src/vm/jit/mips/md.c (md_patch_replacement_point): Added.
10841         
10842         * src/vm/jit/mips/codegen.c (codegen): Handle replacement points.
10843         8-byte align blocks that start with replacement points.
10844         
10845         * src/vm/jit/mips/asmpart.S (asm_replacement_out): Added.
10846         (asm_replacement_in): Likewise.
10847         
10848         * src/vm/jit/replace.c (replace_activate_replacement_point): Activated
10849         for MIPS.
10850         (replace_deactivate_replacement_poin): Likewise.
10851         (replace_me): Likewise.
10852         (replace_read_executionstate): MIPS also keeps returnAddress in ITMP1.
10853         (replace_write_executionstate): Likewise.
10854         
10855         * doc/stack_frames.txt: Documented MIPS stack frames.
10856         
10857         * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Fixed comment.
10858
10859 2006-03-18 04:14  edwin
10860
10861         * src/vm/jit/powerpc/md.c (md_patch_replacement_point): Added.
10862         
10863         * src/vm/jit/powerpc/codegen.c (codegen): Handle replacement points.
10864         
10865         * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Added.
10866         (asm_replacement_in): Likewise.
10867         
10868         * src/vm/jit/alpha/codegen.c (codegen): Added missing initialization
10869         of `replacementpoint`.
10870         
10871         * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Store PV register.
10872         
10873         * src/vm/jit/code.c (code_get_sync_slot_count): Ported to PowerPC.
10874         (code_get_stack_frame_size): Likewise.
10875         
10876         * src/vm/jit/replace.c (replace_activate_replacement_point)
10877         (replace_deactivate_replacement_poin): Activated for PowerPC.
10878         (replace_read_value, replace_write_value): Added.
10879         (replace_read_executionstate): Ported to PowerPC, more complete
10880         data type handling.
10881         (replace_write_executionstate): Ported to Ported, more complete
10882         data type handling, fixed missing initialization of `topslot`.
10883         (replace_me): Activated for PowerPC.
10884
10885 2006-03-16 23:32  edwin
10886
10887         * src/vm/jit/alpha/codegen.c (codegen): Use `disp` for displacement.
10888
10889 2006-03-16 21:12  edwin
10890
10891         * src/vm/jit/alpha/md.c (Changes): Added my name.
10892
10893 2006-03-16 21:11  edwin
10894
10895         * src/vm/jit/alpha/md.c (md_patch_replacement_point): Added.
10896         (vim boilerplate): Added.
10897         
10898         * src/vm/jit/replace.c (replace_activate_replacement_point)
10899         (replace_deactivate_replacement_point, replace_me):
10900         Activated replacement for alpha.
10901
10902 2006-03-16 20:31  edwin
10903
10904         * src/vm/jit/alpha/asmpart.S (asm_replacement_out)
10905         (asm_replacement_in): Use stt/ldt for float registers.
10906         
10907         * src/vm/jit/alpha/codegen.c (codegen): Put replacement-out stub
10908         generation in correct scope. Fix warnings.
10909
10910 2006-03-16 19:55  edwin
10911
10912         * src/vm/jit/alpha/codegen.c (codegen): Handle replacement points.
10913         
10914         * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Added.
10915         (asm_replacement_in): Likewise.
10916         (vim boilerplate): Added.
10917
10918 2006-03-16 19:36  edwin
10919
10920         * src/vm/jit/replace.c (replace_read_executionstate)
10921         (replace_write_executionstate): Position of synchronization slot must
10922         be calculated from low addresses up, instead of backwards from stack
10923         base.
10924
10925 2006-03-16 19:00  edwin
10926
10927         * src/vm/jit/replace.c (replace_create_replacement_points): Set
10928         isleafmethod.
10929
10930 2006-03-16 18:57  edwin
10931
10932         * src/vm/jit/code.c (code_codeinfo_new): Set codeinfo.isleafmethod.
10933
10934 2006-03-16 18:44  edwin
10935
10936         * src/vm/jit/x86_64/codegen.c (codegen): Reuse `disp` variable.
10937         * src/vm/jit/i386/codegen.c (codegen): Likewise.
10938
10939 2006-03-16 18:38  edwin
10940
10941         * src/vm/jit/i386/asmpart.S (asm_replacement_out): Added pv.
10942         * src/vm/jit/x86_64/asmpart.S (asm_replacement_out): Added pv.
10943         
10944         * src/vm/jit/replace.c (replace_read_executionstate)
10945         (replace_write_executionstate): Prepared for alpha. Some cleanup.
10946         
10947         * src/vm/jit/replace.c (replace_write_executionstate):
10948         Calculate stack pointer from given stack base.
10949         (replace_executionstate_println): Added pv.
10950         (replace_sourcestate_println): Added stackbase.
10951         
10952         * src/vm/jit/replace.h (executionstate): Added pv.
10953         (sourcestate): Added stackbase.
10954         
10955         * src/vm/jit/tools/genoffsets.c (main): Added offes_pv.
10956         
10957         * doc/stack_frames.txt: Clarifications.
10958
10959 2006-03-16 18:32  edwin
10960
10961         * src/vm/jit/code.c (code_get_sync_slot_count): No synchronization
10962         slots
10963         if USE_THREADS is undefined.
10964         (code_get_stack_frame_size): Added x86_64 alignment slot.
10965
10966 2006-03-16 17:29  edwin
10967
10968         * doc/stack_frames.txt: Added description of x86_64 stack frames.
10969
10970 2006-03-16 17:24  twisti
10971
10972         * src/vm/jit/mips/md.c (sys/cachectl.h): Added.
10973         (md_cacheflush, md_icacheflush, md_dcacheflush): New method.
10974         
10975         * src/vm/jit/mips/codegen.c: Use new exception stubs.
10976         * src/vm/jit/mips/codegen.h (gen_nullptr_check, gen_bound_check)
10977         (gen_div_check): Use new add reference functions.
10978         
10979         * src/vm/jit/mips/patcher.c: Replaced cacheflush with md_icacheflush
10980         or md_dcacheflush.
10981         
10982         * src/vm/jit/mips/asmpart.S: (asm_calljavafunction): Removed.
10983         (asm_calljavafunction2): Renamed to asm_vm_call_method. Pointer to
10984         vm_arg block is now in a2. Use new defines.
10985
10986 2006-03-16 17:22  edwin
10987
10988         * doc/stack_frames.txt: Added description of alpha stack frames.
10989
10990 2006-03-16 17:16  twisti
10991
10992         * src/vm/vm.c (version): Check if __VERSION__ is defined.
10993
10994 2006-03-16 15:36  twisti
10995
10996         * src/vm/jit/x86_64/md.c (md_cacheflush): New method.
10997
10998 2006-03-16 15:28  edwin
10999
11000         * src/vm/jit/alpha/codegen.c (codegen): Cast to avoid compiler
11001         warning.
11002
11003 2006-03-16 15:19  twisti
11004
11005         * src/vm/jit/alpha, src/vm/jit/alpha/linux,
11006         src/vm/jit/alpha/linux/.cvsignore, src/vm/jit/alpha/freebsd,
11007         src/vm/jit/alpha/freebsd/.cvsignore, src/vm/jit/alpha/.cvsignore:
11008         Added TAGS.
11009
11010 2006-03-16 15:16  twisti
11011
11012         * src/vm/jit/alpha/md.c (md_cacheflush, md_icacheflush): New method.
11013         * src/vm/jit/alpha/asmpart.S (asm_sync_instruction_cache): Renamed to
11014         asm_cacheflush.
11015         * src/vm/jit/alpha/patcher.c: Replaced asm_sync_instruction_cache with
11016         md_icacheflush.
11017
11018 2006-03-16 14:29  twisti
11019
11020         * src/vm/jit/i386/md.c (md_cacheflush): New method.
11021
11022 2006-03-16 14:23  twisti
11023
11024         * src/vm/jit/powerpc, src/vm/jit/powerpc/linux,
11025         src/vm/jit/powerpc/linux/.cvsignore, src/vm/jit/powerpc/darwin,
11026         src/vm/jit/powerpc/darwin/.cvsignore, src/vm/jit/powerpc/.cvsignore:
11027         Added TAGS.
11028
11029 2006-03-16 14:19  twisti
11030
11031         * src/vm/jit/jit.h (md_cacheflush, md_icacheflush, md_dcacheflush):
11032         Added.
11033         * src/vm/jit/asmpart.h (asm_sync_instruction_cache): Removed.
11034         
11035         * src/vm/jit/codegen-common.c (codegen_finish): Call md_cacheflush for
11036         the dynamic superinstructions (intrp) and the generated code.
11037         
11038         * src/vm/jit/powerpc/codegen.c: Use new exception stubs.
11039         * src/vm/jit/powerpc/codegen.h (gen_nullptr_check, gen_bound_check):
11040         Use new add reference functions.
11041         
11042         * src/vm/jit/powerpc/md.c (vm/jit/asmpart.h): Added.
11043         (md_cacheflush, md_icacheflush, md_dcacheflush): New function.
11044         * src/vm/jit/powerpc/patcher.c: Use new cache flush functions.
11045
11046 2006-03-16 14:00  twisti
11047
11048         * src/cacao/cacao.c (mm/boehm.h, mm/memory.h): Removed.
11049
11050 2006-03-16 13:59  twisti
11051
11052         * src/vm/jit/intrp/engine.c (USE_spTOS): Define it for __POWERPC__,
11053         __POWERPC64__, __SPARC__. We know we need it there.
11054
11055 2006-03-16 13:56  twisti
11056
11057         * tests/regression/native/Makefile.am (AM_CPPFLAGS): Added OS_DIR.
11058
11059 2006-03-16 12:53  twisti
11060
11061         * src/vm/jit/tools/Makefile.am, src/vm/jit/verify/Makefile.am,
11062         src/vm/jit/loop/Makefile.am, src/vm/jit/profile/Makefile.am,
11063         src/cacao/Makefile.am, src/native/tools/Makefile.am,
11064         src/native/vm/Makefile.am, src/native/Makefile.am,
11065         src/toolbox/Makefile.am, src/mm/Makefile.am, src/cacaoh/Makefile.am
11066         (AM_CPPFLAGS): Added OS_DIR.
11067
11068 2006-03-16 12:03  twisti
11069
11070         * src/vm/jit/alpha/codegen.c: Use new exception stubs.
11071         * src/vm/jit/alpha/codegen.h (gen_nullptr_check, gen_bound_check): Use
11072         new add reference functions.
11073
11074 2006-03-16 04:38  edwin
11075
11076         * src/vm/jit/replace.h (RPLPOINT_SBR): Removed obsolete flag constant.
11077
11078 2006-03-16 04:17  edwin
11079
11080         * src/vm/jit/code.c (code_codeinfo_new): Commented.
11081         (code_get_sync_slot_count): Added.
11082         (code_get_stack_frame_size): Commented.
11083         (code_codeinfo_free): Commented.
11084         (code_free_code_of_method): Commented. Some cleanup.
11085         
11086         * src/vm/jit/code.h (code_get_sync_slot_count): Added.
11087         
11088         * src/vm/jit/i386/codegen.c (codegen): Use cd->lastmcodeptr to avoid
11089         patching over basic block boundaries.
11090         * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
11091         
11092         * src/vm/jit/replace.h (rplpoint): `type` and `flags` added,
11093         `hashlink` removed.
11094         (sourcestate): Added slots for synchronized methods.
11095         
11096         * src/vm/jit/replace.c (replace_create_replacement_points): Store
11097         basicblock
11098         type.
11099         (replace_read_executionstate, replace_write_executionstate):
11100         Handle 2-word locals. Special handling for BBTYPE_SBR and BBTYPE_EXH
11101         blocks.
11102         Transfer synchronization slots.
11103
11104 2006-03-16 00:05  edwin
11105
11106         * src/vm/jit/code.c (code_get_stack_frame_size): Deal with 4/8-byte
11107         stackslots.
11108         
11109         * src/vm/jit/tools/genoffsets.c (main): Offsets of intregs and
11110         fltregs.
11111         
11112         * src/vm/jit/i386/asmpart.S (asm_replacement_out): Renamed regs to
11113         intregs. Some cleanup.
11114         
11115         * src/vm/jit/replace.c (replace_activate_replacement_point)
11116         (replace_deactivate_replacement_point): Enabled on x86_64.
11117         (replace_read_executionstate, replace_write_executionstate):
11118         Deal with 4/8-byte stackslots. Handle float registers.
11119         (replace_executionstate_println, replace_sourcestate_println):
11120         Print register names where possible.
11121         
11122         * src/vm/jit/x86_64/md.c (md_patch_replacement_point): Added.
11123         (vim boilerplate): Added.
11124         
11125         * src/vm/jit/x86_64/codegen.c (codegen): Handle replacement points.
11126         Generate replacement-out stubs.
11127         
11128         * src/vm/jit/x86_64/asmpart.S (asm_replacement_out,
11129         asm_replacement_in):
11130         Added.
11131         (vim boilerplate): Added.
11132         
11133         * src/vm/jit/replace.h (executionstate): Separate registers into int
11134         and float registers. Some cleanup, use INT_REG_CNT, FLT_REG_CNT
11135         macros.
11136
11137 2006-03-15 21:27  edwin
11138
11139         * src/vm/jit/replace.c (replace_read_executionstate): Commented.
11140         (replace_write_executionstate): Likewise, and set new PC here.
11141         (replace_me): Target PC is now set in replace_write_executionstate.
11142
11143 2006-03-15 20:53  edwin
11144
11145         * src/vm/jit/code.h (codeinfo): Changed regalloc to use rplalloc
11146         structs.
11147         Added fields storing stack slot counts.
11148         
11149         * src/vm/jit/code.c, src/vm/jit/code.h (code_get_stack_frame_size):
11150         Added.
11151         
11152         * src/vm/jit/replace.c (replace_create_replacement_points): Store full
11153         allocation info for locals and stack slots in rplalloc structs. Store
11154         number of stack slots.
11155         
11156         * src/vm/jit/replace.c (replace_read_executionstate): Added.
11157         (replace_write_executionstate): Likewise.
11158         
11159         * src/vm/jit/replace.c (replace_me): Use dump memory for sourcestate.
11160         Read an write executionstate. Do actual replace by calling
11161         asm_replace_in.
11162         
11163         * src/vm/jit/replace.c (replace_replacement_point_println)
11164         (replace_executionstate_println): Print new fields. Show correct
11165         number
11166         of stack slots.
11167         (replace_sourcestate_println): Added.
11168         
11169         * src/vm/jit/replace.h (rplalloc): Added.
11170         (rplpoint): Changed regalloc fields to use rplalloc structs.
11171         (executionstate): Removed saved regs.
11172         (sourcestate): Added saved regs.
11173         (replace_executionstate_println): Now takes codeinfo* argument.
11174         (replace_sourcestate_println): Added.
11175
11176 2006-03-15 20:43  edwin
11177
11178         * doc/stack_frames.txt: Added arrows indicating increasing
11179         addresses/indices.
11180
11181 2006-03-15 20:42  edwin
11182
11183         * src/vm/jit/asmpart.h (asm_replacement_in): Added prototype.
11184
11185 2006-03-15 20:40  edwin
11186
11187         * src/vm/jit/i386/asmpart.S (asm_replacement_out): Save all integer
11188         registers,
11189         add space between stack frame and executionstate to accomodate
11190         changing stack
11191         frame size.
11192         
11193         * src/vm/jit/i386/asmpart.S (asm_replacement_in): Added.
11194
11195 2006-03-15 20:38  edwin
11196
11197         * src/vm/jit/tools/genoffsets.c (main): Added offset of pc and sp
11198         in executionstate.
11199
11200 2006-03-15 17:17  twisti
11201
11202         * src/vm/jit/i386/codegen.c: Use new exception stubs. Don't cast with
11203         M_MOV_IMM.
11204         * src/vm/jit/i386/codegen.h (M_MOV_IMM, M_IST_IMM, M_IST32_IMM)
11205         (M_PUSH_IMM): Added cast.
11206         (M_CMP, M_CMP_MEMBASE, M_CMP_IMM_MEMBASE): Added.
11207
11208 2006-03-15 16:36  twisti
11209
11210         * src/vm/jit/codegen-common.h (branchref): Removed.
11211         (codegendata): Removed xboundrefs, xnullrefs, xcastrefs, xstorerefs,
11212         xdivrefs and xexceptionrefs. Added exceptionrefs.
11213         (codegen_addxboundrefs, codegen_addxcastrefs, codegen_addxdivrefs)
11214         (codegen_addxstorerefs, codegen_addxnullrefs)
11215         (codegen_addxexceptionrefs): Removed.
11216         (codegen_add_arithmeticexception_ref)
11217         (codegen_add_arrayindexoutofboundsexception_ref)
11218         (codegen_add_arraystoreexception_ref)
11219         (codegen_add_classcastexception_ref)
11220         (codegen_add_nullpointerexception_ref)
11221         (codegen_add_fillinstacktrace_ref): New function.
11222         * src/vm/jit/codegen-common.c: Likewise.
11223         
11224         * src/vm/jit/dseg.h (exceptionref): New structure.
11225         
11226         * src/vm/jit/x86_64/codegen.c: Use new exception stubs. Don't cast
11227         with M_MOV_IMM.
11228         * src/vm/jit/x86_64/codegen.h (M_MOV_IMM, M_IMOV_IMM): Added cast.
11229         
11230         * src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace): Moved.
11231         * src/vm/jit/stacktrace.h (STACKTRACE_inline_arithmeticexception)
11232         (STACKTRACE_inline_arrayindexoutofboundsexception)
11233         (STACKTRACE_inline_arraystoreexception)
11234         (STACKTRACE_inline_classcastexception)
11235         (STACKTRACE_inline_nullpointerexception)
11236         (STACKTRACE_inline_fillInStackTrace): Added functionptr defines.
11237         
11238         * src/vm/jit/jit.h (branchref): Added.
11239
11240 2006-03-15 12:14  edwin
11241
11242         * doc/stack_frames.txt: Added slots for synched methods.
11243
11244 2006-03-15 12:04  edwin
11245
11246         * doc/stack_frames.txt: Added file.
11247         
11248         * src/vm/jit/code.h (codeinfo): Rearranged fields.
11249         
11250         * src/vm/jit/i386/md.c, src/vm/jit/i386/asmpart.S,
11251         src/vm/jit/replace.c:
11252         Comment changes.
11253
11254 2006-03-15 11:38  edwin
11255
11256         * src/vm/jit/i386/md.c (md_patch_replacement_point): Generalized to
11257         activation and deactivation of replacement points.
11258         
11259         * src/vm/jit/i386/codegen.c (codegen): Prepare machine code for
11260         patching replacement points.
11261         
11262         * src/vm/jit/replace.c, src/vm/jit/replace.h
11263         (replace_deactivate_replacement_point): Added.
11264         
11265         * src/vm/jit/replace.c
11266         (replace_replacement_point_println): Print machine code.
11267         
11268         * src/vm/jit/replace.h (rplpoint): Added `mcode` field.
11269
11270 2006-03-15 11:18  twisti
11271
11272         * src/vm/jit/i386/codegen.c (GETFIELD, PUTFIELD, PUTFIELDCONST): Use
11273         M_ILD32 and M_LLD32 macros.
11274         (patcher): Save REG_ITMP3. Don't allocate a codegendata structure,
11275         just do it as on Alpha.
11276         * src/vm/jit/i386/codegen.h (var_to_reg_lng): Added.
11277         (store_reg_to_var_lng): Likewise.
11278         (M_ILD32, M_LLD, M_LLD32, M_IST32, M_IST32_IMM, M_LST, M_LST32)
11279         (M_LST_IMM, M_LST32_IMM): Likewise.
11280         
11281         * src/vm/jit/i386/patcher.c: Changed position of return address due to
11282         saving of REG_ITMP3.
11283         * src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Changed due to
11284         saving of REG_ITMP3.
11285
11286 2006-03-15 10:34  edwin
11287
11288         * src/vm/jit/replace.c (replace_create_replacement_points): Don't use
11289         rd->locals in the interpreter -- it's NULL there.
11290
11291 2006-03-15 05:13  edwin
11292
11293         * src/vm/jit/codegen-common.c (codegen_finish): Removed a compiler
11294         warning.
11295
11296 2006-03-15 05:08  edwin
11297
11298         * src/vm/jit/replace.h, src/vm/jit/i386/md.c
11299         (md_patch_replacement_point):
11300         Fixed return type.
11301         
11302         * src/vm/jit/replace.c (replace_activate_replacement_point): Only call
11303         md_patch_replacement_point if ENABLE_JIT is defined.
11304
11305 2006-03-15 04:57  edwin
11306
11307         * src/vm/jit/replace.c (replace_activate_replacement_point): Do not
11308         use
11309         the symbol md_patch_replacement_point on platforms where it does not
11310         exist, yet.
11311
11312 2006-03-15 04:43  edwin
11313
11314         * src/vm/jit/replace.h, src/vm/jit/replace.c
11315         (replace_activate_replacement_point): Added.
11316         (replace_activate): Added prototype.
11317         (md_patch_replacement_point): Added prototype.
11318         (replace_me): Added.
11319         (replace_replacement_point_println): Added.
11320         (replace_show_replacement_points): Cleaned up.
11321         (replace_executionstate_println): Added.
11322         
11323         * src/vm/jit/i386/codegen.c (codegen): Generate replacement-out stubs.
11324         
11325         * src/vm/jit/codegen-common.c (codegen_finish): Resolve replacement
11326         points.
11327         
11328         * src/vm/jit/asmpart.h, src/vm/jit/i386/asmpart.S
11329         (asm_replacement_out): Added.
11330         
11331         * src/vm/method.h (executionstate): Typo fixed.
11332         
11333         * src/vm/jit/stack.c (src/vm/jit/stack.c): Minor output change.
11334         
11335         * src/vm/jit/tools/genoffsets.c (executionstate): Added size and
11336         offset.
11337         
11338         * src/vm/jit/i386/md.c (md_patch_replacement_point): Added.
11339
11340 2006-03-15 01:50  edwin
11341
11342         * src/vm/jit/replace.h, src/vm/jit/replace.c
11343         (replace_replacement_info_print): Renamed to
11344         replace_show_replacement_points.
11345         * src/vm/jit/stack.c: Likewise.
11346
11347 2006-03-15 01:39  edwin
11348
11349         * src/vm/jit/replace.c, src/vm/jit/replace.h
11350         (replace_create_replacement_points): Added.
11351         (replace_free_replacement_points): Added.
11352         (replace_replacement_info_print): Added.
11353         
11354         * src/vm/jit/replace.h (rplpoint): Changed fields, made fixed length.
11355         
11356         * src/vm/jit/code.h (codeinfo): Changed replacement point fields.
11357         
11358         * src/vm/jit/jit.c (jit_compile_intern): Create replacement points.
11359         
11360         * src/vm/jit/jit.c (jit_compile_intern): Use already allocated
11361         codeinfo
11362         for do-nothing methods.
11363         
11364         * src/vm/jit/code.c (code_codeinfo_free): Free replacement points.
11365         
11366         * src/vm/jit/stack.c (show_icmd_method): Print replacement points.
11367
11368 2006-03-15 00:06  edwin
11369
11370         * src/vm/jit/stack.c, src/vm/jit/stack.h (icmd_print_stack): Renamed
11371         to
11372         stack_print. Documented.
11373         (show_icmd_method, show_icmd_block, show_icmd): Documented.
11374         (show_icmd_block): Print basicblock.bitflags.
11375         
11376         * src/vm/jit/stack.h (MARKREACHED): Mark targets of backward branches
11377         as replacement points (BBFLAG_REPLACEMENT)
11378
11379 2006-03-14 23:49  edwin
11380
11381         * src/vm/jit/jit.h (basicblock): Added `bitflags` field. Note: The
11382         flags
11383         of this struct should really be cleaned up.
11384         
11385         * src/vm/jit/jit.h (BASICBLOCK_INIT): Added, so we have a central
11386         place
11387         where to put initialization of the fields.
11388         
11389         * src/vm/jit/parse.c (parse): Cleaned up basicblock allocation.
11390
11391 2006-03-14 23:16  edwin
11392
11393         * src/vm/jit/jit.h (basicblock): Comment.
11394
11395 2006-03-14 23:00  edwin
11396
11397         * src/vm/jit/parse.c (fillextable): Removed unused label_index.
11398         (parse): Likewise.
11399         
11400         * src/vm/jit/replace.h: Comment moved.
11401
11402 2006-03-14 22:30  edwin
11403
11404         * src/native/jvmti/jvmti.c (GetMethodLocation): Use the new
11405         m->code field to get to the location of the method.
11406
11407 2006-03-14 22:16  edwin
11408
11409         * src/vm/method.h (methodinfo): Moved `entrypoint` to `codeinfo`.
11410         * src/vm/loader.c (load_method): Likewise.
11411         
11412         * src/vm/loader.c (load_newly_created_array): Use codeinfo.entrypoint.
11413         * src/vm/builtin.c (builtin_trace_exception): Likewise. Note:
11414         Currently
11415         we always use the current codeinfo. This is preliminary.
11416         
11417         * src/vm/jit/powerpc/codegen.c (codegen): Use cd->code->entrypoint.
11418         * src/vm/jit/alpha/codegen.c (createnativestub): Likewise.
11419         * src/vm/jit/dseg.c (dseg_resolve_datareferences): Likewise.
11420         * src/vm/jit/mips/codegen.c (codegen, createnativestub): Likewise.
11421         * src/vm/jit/i386/codegen.c (createnativestub): Likewise.
11422         * src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub)
11423         (createcalljavafunction): Likewise.
11424         * src/vm/jit/x86_64/codegen.c (createnativestub): Likewise.
11425         
11426         * src/vm/jit/intrp/codegen.c (nativecall): Use m->code->entrypoint.
11427         
11428         * src/vm/jit/codegen-common.h, src/vm/jit/codegen-common.c,
11429         src/cacaoh/headers.c (codegen_createnativestub): Now returns
11430         the created codeinfo instead of the entrypoint.
11431         
11432         * src/vm/jit/stacktrace.c (stacktrace_add_method): Find the codeinfo
11433         that contains the current PC. Note: This is preliminary. We should
11434         find the codeinfo * via the PV of the code containing the PC.
11435         
11436         * src/vm/jit/jit.c (jit_compile): Use m->code. Create a codeinfo
11437         for native stubs and the do-nothing stub
11438         
11439         * src/vm/jit/codegen-common.c (codegen_finish): Set entrypoint
11440         in codeinfo instead of in methodinfo.
11441
11442 2006-03-14 20:59  edwin
11443
11444         * src/vm/jit/code.c, src/vm/jit/replace.c, src/vm/jit/replace.h:
11445         Added GPL header and boilerplate.
11446
11447 2006-03-14 20:57  edwin
11448
11449         * src/vm/jit/code.h: Added GPL header and boilerplate.
11450
11451 2006-03-14 20:51  edwin
11452
11453         * src/vm/jit/code.c, src/vm/jit/code.h: Files added.
11454         
11455         * src/vm/jit/replace.c, src/vm/jit/replace.h: Files added.
11456         
11457         * src/vm/jit/Makefile.am (code.[ch], replace.[ch]): Added.
11458         
11459         * src/vm/method.h (methodinfo): Added field `code`. Each method
11460         may now have zero or more codeinfo:s associated with it. A
11461         codeinfo represents the machine code of a particular version
11462         of the compiled method. Note: Some fields in methodinfo that
11463         may need to be moved to codeinfo where marked XXX.
11464         
11465         * src/vm/jit/codegen-common.h (codegendata): Added field `code`.
11466         
11467         * src/vm/jit/codegen-common.c (codegen_setup): Allocate
11468         a new codeinfo.
11469         (codegen_finish): Use `code` field of codegendata.
11470         (codegen_createnativestub): Likewise.
11471         
11472         * src/vm/jit/stack.c (show_icmd_method, show_icmd_block):
11473         Use `code` field of codegendata.
11474         * src/vm/jit/dseg.c (dseg_display): Likewise.
11475         * src/vm/jit/jit.c (jit_compile_intern): Likewise. Switch
11476         current codeinfo after compilation is complete.
11477         
11478         * src/cacaoh/headers.c (code_free_code_of_method): Added stub.
11479         
11480         * src/vm/method.c (method_free): Free codeinfo:s of method.
11481         
11482         * src/vm/loader.c (load_method): Initialize m->code.
11483
11484 2006-03-14 16:40  twisti
11485
11486         * src/cacao/Makefile.am (ENABLE_STATICVM): Added cacao_LDFLAGS,
11487         otherwise the sumbols are not exported.
11488         
11489         * src/native/include/Makefile.am (ENABLE_STATICVM): Renamed to
11490         WITH_STATIC_CLASSPATH.
11491
11492 2006-03-14 16:30  twisti
11493
11494         * src/vm/jit/stacktrace.c (stacktrace_create): We have to check for an
11495         OOM when allocating from the heap. Fixes a crash in Jonas.
11496
11497 2006-03-14 15:00  edwin
11498
11499         * doc/design_onstack_replacement.txt: More design options added.
11500
11501 2006-03-13 21:26  edwin
11502
11503         * design_onstack_replacement.txt: Added file.
11504
11505 2006-03-13 11:35  twisti
11506
11507         * src/vm/vm.c (vm_create): Only put .jar file into classpath. Fixes
11508         startup bug with knopflerfish.
11509
11510 2006-03-13 08:02  edwin
11511
11512         * src/native/vm/VMClass.c (Java_java_lang_VMClass_getComponentType):
11513         Link class before accessing c->vftbl->arraydesc.
11514
11515 2006-03-13 07:06  edwin
11516
11517         * src/native/vm/VMClass.c (Java_java_lang_VMClass_getSuperclass): We
11518         must not
11519         assume that the class is already linked, so we have to resolve the
11520         super class
11521         reference. This fixes a NPE bug with Jonas.
11522
11523 2006-03-12 23:23  twisti
11524
11525         * src/vm/suck.c (suck_start): We really should close class files after
11526         reading it.
11527
11528 2006-03-11 21:34  edwin
11529
11530         * src/vm/resolve.c (resolve_class_from_typedesc): Safer check for
11531         reference types.
11532
11533 2006-03-11 20:41  edwin
11534
11535         * src/vm/jit/codegen-common.c (codegen_finish): When setting the
11536         entrypoint of a method, be sure not to overwrite an already set
11537         entrypoint.
11538
11539 2006-03-11 20:34  edwin
11540
11541         * src/vm/references.h (IS_XCLASSREF): Commented.
11542
11543 2006-03-11 20:32  edwin
11544
11545         * src/vm/references.h (IS_XCLASSREF): Added.
11546         (CLASSREF_OR_CLASSINFO_NAME): Added.
11547
11548 2006-03-11 20:30  edwin
11549
11550         * src/vm/class.c, src/vm/class.h (class_classref_print): Added.
11551         (class_classref_println): Added.
11552
11553 2006-03-11 16:06  edwin
11554
11555         * src/vm/jit/jit.c (jit_compile_intern): Check if the method has been
11556         compiled during static class initialization.
11557
11558 2006-03-11 15:03  edwin
11559
11560         * src/vm/method.c (vim boilerplate): Added.
11561
11562 2006-03-11 15:01  edwin
11563
11564         * src/vm/method.c (method_vftbl_lookup): Check ACC_INTERFACE on the
11565         class, instead of on the method, where it is not set. Do not check
11566         ACC_ABSTRACT here, because non-interface ACC_ABSTRACT methods are
11567         looked up just like non-abstract non-interface methods.
11568
11569 2006-03-10 22:22  twisti
11570
11571         * src/native/vm/VMRuntime.c (vm/options.h): Added.
11572         (nativeLoad): Print dlerror output when dlopen fails.
11573
11574 2006-03-09 16:13  twisti
11575
11576         * autogen.sh: Fixed typo.
11577
11578 2006-03-09 13:51  twisti
11579
11580         * src/vm/jit/powerpc/darwin/md-asm.h (asm_calljavafunction): Removed.
11581         (asm_calljavafunction_int): Likewise.
11582         (asm_calljavafunction2): Likewise.
11583         (asm_calljavafunction2int): Likewise.
11584         (asm_calljavafunction2long): Likewise.
11585         (asm_calljavafunction2float): Likewise.
11586         (asm_calljavafunction2double): Likewise.
11587         (_exceptionptr): Likewise.
11588         (asm_vm_call_method): Define added.
11589         (asm_vm_call_method_int): Likewise.
11590         (asm_vm_call_method_long): Likewise.
11591         (asm_vm_call_method_float): Likewise.
11592         (asm_vm_call_method_double): Likewise.
11593
11594 2006-03-09 13:46  twisti
11595
11596         * src/vm/jit/powerpc/patcher.c (patcher_get_putfield): Check for the
11597         instruction order on long fields.
11598
11599 2006-03-09 13:26  twisti
11600
11601         * autogen.sh: Check for installed programs and exit if no proper one
11602         was found.
11603         * src/boehm-gc/autogen.sh: Use the programs found by top-level
11604         autogen.
11605
11606 2006-03-08 09:44  twisti
11607
11608         * src/native/jni.c (PushLocalFrame): Implemented.
11609         (PopLocalFrame): Likewise.
11610         (DeleteLocalRef): Walk through all local frames.
11611         (NewLocalRef): Allocate a new local frame if the current frame is out
11612         of space.
11613         (EnsureLocalCapacity): Implemented.
11614         * src/vm/jit/codegen-common.c (codegen_finish_native_call): Release
11615         all local reference frames.
11616
11617 2006-03-07 20:44  twisti
11618
11619         * src/native/vm/VMClassLoader.c (nativeGetResources): Check if
11620         resource is a directory and don't add it.
11621
11622 2006-03-07 19:32  twisti
11623
11624         * src/vm/vm.c (usage): Small change.
11625         
11626         * src/native/vm/VMSystemProperties.c (preInit): Set java.ext.dirs to
11627         $JAVA_HOME/jre/lib/ext.
11628
11629 2006-03-07 18:18  twisti
11630
11631         * src/cacaoh/headers.c (intrp_main_stack): Changed type.
11632
11633 2006-03-07 17:21  twisti
11634
11635         test
11636
11637 2006-03-07 17:19  twisti
11638
11639         test
11640
11641 2006-03-07 10:48  twisti
11642
11643         * src/native/jni.c (_Jv_jni_CallIntMethodA): New function.
11644         (CallBooleanMethodA): Implemented.
11645
11646 2006-03-07 10:36  twisti
11647
11648         * src/vm/string.c (string_java_lang_StringIndexOutOfBoundsException):
11649         Added.
11650         * src/vm/stringlocal.h: Likewise.
11651         
11652         * src/vm/exceptions.c
11653         (exceptions_new_stringindexoutofboundsexception): New function.
11654         (exceptions_throw_stringindexoutofboundsexception): Likewise.
11655         * src/vm/exceptions.h: Likewise.
11656         
11657         * src/native/jni.c (GetStringRegion): Implemented.
11658
11659 2006-03-07 09:40  twisti
11660
11661         * src/vm/vm.c (_Jv_jvm): Changed type to _Jv_JavaVM.
11662         * src/vm/vm.h (_Jv_jvm): Added.
11663         
11664         * src/native/jni.c (ptr_jvm): Removed.
11665         (ptr_env): Likewise.
11666         (CallStaticObjectMethodA): Implemented.
11667         (GetJavaVM): Return _Jv_jvm as vm.
11668         (AttachCurrentThread): Return _Jv_env as env.
11669         (GetEnv): Likewise.
11670         (JNI_JavaVMTable): Renamed to _Jv_JNIInvokeInterface.
11671         (JNI_JNIEnvTable): Renamed to _Jv_JNINativeInterface.
11672         (JNI_CreateJavaVM): Allocate a _Jv_JavaVM structure and set it up
11673         correctly, this fixes the usage in C++ programs.
11674         * src/native/jni.h (_Jv_JavaVM): Added.
11675         
11676         * src/native/jvmti/jvmti.c: Renamed JNI_JavaVMTable to
11677         _Jv_JNIInvokeInterface and JNI_JNIEnvTable to _Jv_JNINativeInterface.
11678
11679 2006-03-06 18:45  christian
11680
11681         * src/vm/jit/stack.c (analyse_stack): Bugfix for copy elimination.
11682
11683 2006-03-06 13:03  twisti
11684
11685         * src/vm/jit/powerpc/linux/Makefile.am (LIBS): Added defined empty, as
11686         * this makes problems on darwin and actually we do not need to link
11687         * the configured libraries into convenience libraries.
11688         * src/vm/jit/powerpc/darwin/Makefile.am: Likewise.
11689         * src/vm/jit/powerpc/Makefile.am: Likewise.
11690         * src/vm/jit/alpha/linux/Makefile.am: Likewise.
11691         * src/vm/jit/alpha/Makefile.am: Likewise.
11692         * src/vm/jit/alpha/freebsd/Makefile.am: Likewise.
11693         * src/vm/jit/tools/Makefile.am: Likewise.
11694         * src/vm/jit/verify/Makefile.am: Likewise.
11695         * src/vm/jit/mips/linux/Makefile.am: Likewise.
11696         * src/vm/jit/mips/Makefile.am: Likewise.
11697         * src/vm/jit/mips/irix/Makefile.am: Likewise.
11698         * src/vm/jit/loop/Makefile.am: Likewise.
11699         * src/vm/jit/inline/Makefile.am: Likewise.
11700         * src/vm/jit/allocator/Makefile.am: Likewise.
11701         * src/vm/jit/i386/linux/Makefile.am: Likewise.
11702         * src/vm/jit/i386/Makefile.am: Likewise.
11703         * src/vm/jit/i386/freebsd/Makefile.am: Likewise.
11704         * src/vm/jit/schedule/Makefile.am: Likewise.
11705         * src/vm/jit/intrp/Makefile.am: Likewise.
11706         * src/vm/jit/x86_64/Makefile.am: Likewise.
11707         * src/vm/jit/profile/Makefile.am: Likewise.
11708         * src/vm/jit/Makefile.am: Likewise.
11709         * src/vm/Makefile.am: Likewise.
11710         * src/native/tools/Makefile.am: Likewise.
11711         * src/native/vm/Makefile.am: Likewise.
11712         * src/native/Makefile.am: Likewise.
11713         * src/toolbox/Makefile.am: Likewise.
11714         * src/mm/Makefile.am: Likewise.
11715         * src/threads/native/Makefile.am: Likewise.
11716         * src/fdlibm/Makefile.am: Likewise.
11717         
11718         * src/cacaoh/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
11719
11720 2006-03-06 00:30  twisti
11721
11722         * src/vm/jit/powerpc/asmpart.S (asm_calljavafunction): Removed.
11723         (asm_calljavafunction2): Renamed to asm_vm_call_method.
11724
11725 2006-03-05 23:53  twisti
11726
11727         * src/vm/jit/alpha/asmpart.S (asm_calljavafunction): Removed.
11728         (asm_calljavafunction2): Renamed to asm_vm_call_method.
11729
11730 2006-03-05 23:35  twisti
11731
11732         * src/vm/jit/codegen-common.c (codegen_init): Removed
11733         asm_calljavafunction.
11734         * src/vm/jit/i386/asmpart.S (asm_calljavafunction): Removed.
11735         (asm_calljavafunction2): Renamed to asm_vm_call_method.
11736
11737 2006-03-05 23:24  twisti
11738
11739         * src/vm/vm.c (vm_call_method_intern): Removed.
11740         (vm_vmargs_from_valist): Added.
11741         (vm_vmargs_from_jvalue): Likewise.
11742         (vm_call_method): New function.
11743         (vm_call_method_valist): Likewise.
11744         (vm_call_method_jvalue): Likewise.
11745         (vm_call_method_vmarg): Likewise.
11746         (vm_call_method_int): Likewise.
11747         (vm_call_method_int_valist): Likewise.
11748         (vm_call_method_int_jvalue): Likewise.
11749         (vm_call_method_int_vmarg): Likewise.
11750         (vm_call_method_long): Likewise.
11751         (vm_call_method_long_valist): Likewise.
11752         (vm_call_method_long_jvalue): Likewise.
11753         (vm_call_method_long_vmarg): Likewise.
11754         (vm_call_method_float): Likewise.
11755         (vm_call_method_float_valist): Likewise.
11756         (vm_call_method_float_jvalue): Likewise.
11757         (vm_call_method_float_vmarg): Likewise.
11758         (vm_call_method_double): Likewise.
11759         (vm_call_method_double_valist): Likewise.
11760         (vm_call_method_double_jvalue): Likewise.
11761         (vm_call_method_double_vmarg): Likewise.
11762         * src/vm/vm.h: Likewise.
11763         
11764         * src/native/jni.c (_Jv_jni_fill_vmargs_from_vargs): Removed.
11765         (_Jv_jni_vmargs_from_args): Likewise.
11766         (_Jv_jni_CallObjectMethodA): New function.
11767         (_Jv_jni_CallObjectMethod): Use vm_call_method.
11768         (_Jv_jni_CallIntMethod): Likewise.
11769         (_Jv_jni_CallLongMethod): Likewise.
11770         (_Jv_jni_CallFloatMethod): Likewise.
11771         (_Jv_jni_CallDoubleMethod): Likewise.
11772         (_Jv_jni_CallVoidMethod): Likewise.
11773         (_Jv_jni_CallVoidMethodA): Likewise.
11774         (_Jv_jni_invokeNative): Likewise.
11775         (CallObjectMethodA): Implemented.
11776         
11777         * src/vm/loader.c (load_class_from_sysloader): Replaced
11778         vm_call_method_intern by vm_call_method.
11779         (load_class_from_classloader): Likewise.
11780         * src/vm/finalizer.c (finalizer_run): Likewise.
11781         * src/vm/initialize.c (initialize_class_intern): Likewise.
11782         * src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace):
11783         Likewise.
11784         * src/vm/exceptions.c (throw_exception_exit_intern): Likewise.
11785         (new_arrayindexoutofboundsexception): Likewise.
11786         * src/vm/properties.c (properties_system_add): Likewise.
11787         * src/cacao/cacao.c (setup_debugger_process): Likewise.
11788         (getmainclassnamefromjar): Likewise.
11789         (main): Likewise.
11790         * src/native/vm/VMClassLoader.c (nativeGetResources): Likewise.
11791         * src/native/native.c (native_new_and_init): Likewise.
11792         (native_new_and_init_string): Likewise.
11793         (native_new_and_init_int): Likewise.
11794         (native_new_and_init_throwable): Likewise.
11795         * src/threads/native/threads.c (threads_init): Likewise.
11796         (threads_startup_thread): Likewise.
11797         * src/cacaoh/headers.c: Likewise.
11798         
11799         * src/vm/jit/x86_64/asmpart.S (asm_calljavafunction): Removed.
11800         (asm_calljavafunction2): Renamed to asm_vm_call_method.
11801         * src/vm/jit/intrp/asmpart.c: Likewise.
11802         * src/vm/jit/asmpart.h: Likewise.
11803
11804 2006-03-05 23:05  twisti
11805
11806         * tests/regression/native/testarguments.c (nlsub): Use %llx on all
11807         architectures.
11808         (ndsub): Likewise.
11809
11810 2006-03-05 21:54  christian
11811
11812         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
11813         Bugfix and reformatting.
11814
11815 2006-03-05 15:51  twisti
11816
11817         * src/vm/jit/i386/asmpart.S (asm_calljavafunction2): Pointer to vm_arg
11818         block is now in a2. Use new defines.
11819
11820 2006-03-04 18:35  twisti
11821
11822         * src/vm/jit/alpha/asmpart.S (asm_calljavafunction2): Pointer to
11823         vm_arg block is now in a2. Use new defines.
11824
11825 2006-03-04 18:01  twisti
11826
11827         * src/vm/jit/powerpc/asmpart.S (asm_calljavafunction2): Pointer to
11828         vm_arg block is now in a2. Use new defines.
11829
11830 2006-03-04 17:19  twisti
11831
11832         * src/vm/jit/asmpart.h (ASM_CALLJAVAFUNCTION): Removed.
11833         (ASM_CALLJAVAFUNCTION_ADR): Likewise.
11834         (ASM_CALLJAVAFUNCTION_INT): Likewise.
11835         (ASM_CALLJAVAFUNCTION2): Likewise.
11836         (ASM_CALLJAVAFUNCTION2_ADR): Likewise.
11837         (ASM_CALLJAVAFUNCTION2_INT): Likewise.
11838         (ASM_CALLJAVAFUNCTION2_LONG): Likewise.
11839         (ASM_CALLJAVAFUNCTION2_FLOAT): Likewise.
11840         (ASM_CALLJAVAFUNCTION2_DOUBLE): Likewise.
11841         (asm_calljavafunction2int): Changed signature.
11842         (asm_calljavafunction2long): Likewise.
11843         (asm_calljavafunction2float): Likewise.
11844         (asm_calljavafunction2double): Likewise.
11845
11846 2006-03-04 17:15  twisti
11847
11848         * src/vm/global.h (jni_callblock): Removed.
11849         
11850         * src/vm/vm.c (vm/vm.h): Added.
11851         (vm_call_method_intern): New function.
11852         (vm_call_method_intern_int): Likewise.
11853         (vm_call_method): Likewise.
11854         (vm_call_method_int): Likewise.
11855         (vm_call_method_long): Likewise.
11856         (vm_call_method_float): Likewise.
11857         (vm_call_method_double): Likewise.
11858         * src/vm/vm.h (vm_arg): Structure added.
11859         (vm_call_method_intern): New function.
11860         (vm_call_method_intern_int): Likewise.
11861         (vm_call_method): Likewise.
11862         (vm_call_method_int): Likewise.
11863         (vm_call_method_long): Likewise.
11864         (vm_call_method_float): Likewise.
11865         (vm_call_method_double): Likewise.
11866         
11867         * src/vm/jit/tools/genoffsets.c (vm/vm.h): Added.
11868         (sizejniblock): Renamed to sizevmarg.
11869         (offjniitemtype): Renamed to offvmargtype.
11870         (offjniitem): Renamed to offvmargdata.
11871         * src/vm/jit/x86_64/asmpart.S (asm_calljavafunction2): Pointer to
11872         vm_arg block is now in a2. Use new defines.
11873         
11874         * src/vm/jit/stacktrace.c (vm/vm.h): Added.
11875         (ASM_CALLJAVAFUNCTION): Replaced with vm_call_method_intern.
11876         * src/vm/exceptions.c: Likewise.
11877         * src/vm/properties.c: Likewise.
11878         * src/vm/loader.c: Likewise.
11879         * src/vm/finalizer.c: Likewise.
11880         * src/vm/initialize.c: Likewise.
11881         * src/cacao/cacao.c: Likewise.
11882         * src/native/vm/VMClassLoader.c: Likewise.
11883         * src/threads/native/threads.c: Likewise.
11884         
11885         * src/cacaoh/headers.c (asm_calljavafunction): Removed.
11886         (intrp_asm_calljavafunction): Likewise.
11887         (vm_call_method_intern): New function.
11888         
11889         * src/native/jni.c (fill_callblock_from_vargs): Renamed to
11890         _Jv_jni_vmargs_from_vargs.
11891         (fill_callblock_from_objectarray): Renamed to
11892         _Jv_jni_vmargs_from_objectarray.
11893         (_Jv_jni_vmargs_from_objectarray): New function.
11894         (_Jv_jni_CallVoidMethodA): Likewise.
11895         (ASM_CALLJAVAFUNCTION2): Replaced with appropriate vm_call_method
11896         function.
11897         (NewObjectA): Implemented.
11898         (CallVoidMethodA): Likewise.
11899         (CallNonvirtualVoidMethodA): Likewise.
11900         (CallStaticVoidMethodA): Likewise.
11901
11902 2006-03-03 00:00  twisti
11903
11904         * src/vm/linker.c (link_class_intern): Handle miranda methods
11905         properly.
11906         * src/vm/global.h (ACC_MIRANDA): Defined.
11907         * src/native/vm/VMClass.c (getDeclaredMethods): Don't return miranda
11908         methods.
11909
11910 2006-03-01 17:00  twisti
11911
11912         * src/vm/options.c: Renamed runverbose to opt_verbosecall.
11913         * src/vm/options.h: Likewise.
11914         * src/vm/jit/alpha/codegen.c: Likewise.
11915         * src/vm/jit/i386/codegen.c: Likewise.
11916         * src/vm/jit/intrp/codegen.c: Likewise.
11917         * src/vm/jit/mips/codegen.c: Likewise.
11918         * src/vm/jit/powerpc/codegen.c: Likewise.
11919         * src/vm/jit/x86_64/codegen.c: Likewise.
11920         * src/vm/jit/intrp/asmpart.c: Likewise.
11921         * src/vm/jit/intrp/dynamic-super.c: Likewise.
11922         * src/vm/jit/intrp/java.vmg: Likewise.
11923         
11924         * src/vm/builtin.c (builtin_trace_exception): Renamed runverbose to
11925         opt_verbosecall. Removed stacktrace printing code.
11926         * src/vm/exceptions.c (exceptions_handle_exception): Renamed
11927         runverbose to opt_verbosecall. Print exception stacktrace when caught.
11928         
11929         * src/vm/vm.c: Support Sun's commandline options and ignore them if
11930         not supported. Reordered options.
11931         
11932         * src/native/vm/VMObject.c (notify): Removed debug output.
11933         (notifyAll): Likewise.
11934         (wait): Likewise.
11935         * src/native/vm/VMThread.c (suspend): Likewise.
11936         (resume): Likewise.
11937         (nativeSetPriority): Likewise.
11938         (nativeStop): Likewise.
11939         (yield): Likewise.
11940         
11941         * src/native/vm/VMThrowable.c (fillInStackTrace): Renamed par1 to t.
11942
11943 2006-02-23 14:08  twisti
11944
11945         * src/vm/jit/intrp/dynamic-super.c (disassemble_prim): New function.
11946         (dynamic_super_init): Added disassembling of IADD, ILOAD and
11947         GETFIELD_INT.
11948
11949 2006-02-22 14:03  twisti
11950
11951         * src/vm/jit/i386/codegen.c (createnativestub): Renamed _exceptionptr
11952         to _no_threads_exceptionptr.
11953
11954 2006-02-22 13:34  twisti
11955
11956         * src/vm/jit/i386/codegen.c (mm/memory.h): Added.
11957
11958 2006-02-21 16:17  twisti
11959
11960         * configure.ac (VERSION_CONFIGURE_ARGS, VERSION_CC, VERSION_CFLAGS):
11961         Added define.
11962         * src/vm/vm.c (version): Print configure options, compiler version and
11963         CFLAGS.
11964
11965 2006-02-21 16:06  twisti
11966
11967         * src/vm/jit/intrp/java.vmg (MULTIANEWARRAY): Use malloc instead of a
11968         dynamic-sized array (-fomit-frame-pointer).
11969
11970 2006-02-21 13:43  twisti
11971
11972         * src/vm/jit/intrp/codegen.c (cacao/cacao.h): Removed.
11973         (vm/vm.h): Added.
11974         (createnativestub): Replaced ENABLE_STATICVM with
11975         WITH_STATIC_CLASSPATH and &env by _Jv_env.
11976         
11977         * src/vm/jit/intrp/patcher.c: Replaced ENABLE_STATICVM by
11978         WITH_STATIC_CLASSPATH.
11979         * src/vm/jit/intrp/java.vmg: Likewise.
11980         
11981         * src/vm/vm.c (mm/memory.h): Added.
11982         (vm_create): Allocate the main thread interpreter stack on the Java
11983         heap.
11984
11985 2006-02-21 13:40  twisti
11986
11987         * src/vm/jit/jit.c (jit_compile_intern): Replaced ENABLE_STATICVM by
11988         WITH_STATIC_CLASSPATH.
11989
11990 2006-02-21 13:39  twisti
11991
11992         * src/cacao/cacao.c (main): Added main utf variable for better
11993         debugability.
11994
11995 2006-02-21 13:37  twisti
11996
11997         * src/native/native.c: Small changes.
11998
11999 2006-02-21 13:35  twisti
12000
12001         * src/vm/loader.c (load_class_from_classloader): Added name
12002         java.lang.String variable for better debugability.
12003
12004 2006-02-21 12:41  twisti
12005
12006         * src/vm/jit/powerpc/asmpart.S: Rewritten for PIC code.
12007
12008 2006-02-21 10:47  twisti
12009
12010         * src/vm/jit/alpha/asmpart.S: Rewritten for PIC code.
12011
12012 2006-02-21 10:39  twisti
12013
12014         * src/vm/jit/x86_64/codegen.c (cacao/cacao.h): Removed.
12015         (vm/vm.h): Added.
12016         (createnativestub): Replaced ENABLE_STATICVM with
12017         WITH_STATIC_CLASSPATH and &env by _Jv_env.
12018
12019 2006-02-21 10:25  twisti
12020
12021         * src/vm/jit/i386/.cvsignore, src/vm/jit/i386/linux/.cvsignore: Added
12022         TAGS.
12023
12024 2006-02-21 09:34  twisti
12025
12026         * src/vm/jit/i386/asmpart.S: Rewritten for PIC code.
12027
12028 2006-02-21 09:31  twisti
12029
12030         * src/threads/native/threads.c (vm/vm.h): Added.
12031         (threads_startup_thread): Compiler warning fix.
12032
12033 2006-02-21 09:25  twisti
12034
12035         * src/vm/jit/stacktrace.c (stacktrace_getCurrentClassLoader): Renamed
12036         to stacktrace_getCurrentClass and it returns the first Java method's
12037         class on the stack.
12038         * src/vm/jit/stacktrace.h (stacktrace_getCurrentClassLoader):
12039         Likewise.
12040
12041 2006-02-21 09:18  twisti
12042
12043         * src/vm/jit/intrp/engine.c (cacao/cacao.h): Removed.
12044
12045 2006-02-21 09:14  twisti
12046
12047         * configure.ac (AC_CONFIG_FILES): Remvoed ifconv, not yet.
12048
12049 2006-02-21 09:11  twisti
12050
12051         * configure.ac: Default to AC_ENABLE_SHARED and AC_DISABLE_STATIC.
12052         (ifconv): Added.
12053         (jni.h): Check for jni.h in GNU Classpath.
12054         (static-classpath): Added.
12055         
12056         * src/vm/vm.c, src/vm/vm.h: New files, contain the JVM startup code.
12057         * src/vm/Makefile.am (libvm_la_SOURCES): Added vm.[ch].
12058         
12059         * src/cacao/cacao.c: Removed JVM startup code.
12060         * src/cacao/cacao.h: Removed.
12061         * src/cacao/Makefile.am: Replaced ENABLE_STATICVM by
12062         WITH_STATIC_CLASSPATH.
12063         (ENABLE_STATICVM): Build a shared library when not defined.
12064         
12065         * src/vm/options.c, src/vm/options.h (mm/memory.h, native/jni.h):
12066         Added.
12067         (native/jni.h): Added.
12068         (opt_ind): Renamed to opt_index.
12069         (opt_jar, opt_run, opt_method, opt_signature, opt_ifconv): Added.
12070         (get_opt): Renamed to options_get.
12071         (options_prepare): New method.
12072         
12073         * src/cacaoh/cacaoh.c (main): Use new option handling.
12074         
12075         * src/vm/jit/alpha/codegen.c, src/vm/jit/arm/codegen.c,
12076         src/vm/jit/i386/codegen.c, src/vm/jit/mips/codegen.c,
12077         src/vm/jit/powerpc/codegen.c (cacao/cacao.h): Removed.
12078         (vm/vm.h): Added.
12079         (createnativestub): Replaced ENABLE_STATICVM with
12080         WITH_STATIC_CLASSPATH and &env by _Jv_env.
12081         
12082         * src/vm/jit/patcher.h, src/vm/jit/alpha/patcher.c,
12083         src/vm/jit/arm/patcher.c, src/vm/jit/i386/patcher.c,
12084         src/vm/jit/mips/patcher.c, src/vm/jit/powerpc/patcher.c,
12085         src/vm/jit/x86_64/patcher.c: Replaced ENABLE_STATICVM by
12086         WITH_STATIC_CLASSPATH.
12087         
12088         * src/vm/jit/x86_64/asmpart.S: Rewritten for PIC code.
12089         
12090         * src/vm/signal.c (cacao/cacao.h): Removed.
12091         (vm/vm.h): Added.
12092         (signal_handler_sigint): Use vm_* functions.
12093         
12094         * src/native/native.c: Replaced ENABLE_STATICVM by
12095         WITH_STATIC_CLASSPATH.
12096         (cacao/cacao.h): Removed.
12097         (native_resolve_function): Smaller changes.
12098         
12099         * src/native/vm/VMRuntime.c: Replaced ENABLE_STATICVM by
12100         WITH_STATIC_CLASSPATH.
12101         (cacao/cacao.h): Removed.
12102         (vm/vm.h): Added.
12103         (execInternal): Removed.
12104         (exit): Use vm_shutdown.
12105         
12106         * src/native/native.h: Replaced ENABLE_STATICVM by
12107         WITH_STATIC_CLASSPATH.
12108         * src/native/Makefile.am: Likewise.
12109         * src/native/vm/VMSystemProperties.c: Likewise.
12110         
12111         * src/threads/native/threads.c (cacao/cacao.h): Removed.
12112         
12113         * src/native/jni.h: Removed our JNI stuff and include GNU Classpath's.
12114         * src/native/jni.c: Adapt to the new jni.h header.
12115         (Release<type>ArrayElements): Copy correct element type.
12116         (Get<type>ArrayRegion): Likewise.
12117         (Set<type>ArrayRegion): Likewise.
12118
12119 2006-02-20 23:35  twisti
12120
12121         * src/vm/global.h: Sorted java_<type>array definitions.
12122
12123 2006-02-20 23:31  twisti
12124
12125         * src/vm/linker.c (link_class_intern): Comment reformatted.
12126
12127 2006-02-20 15:19  twisti
12128
12129         * src/vm/jit/intrp/engine.c (USE_spTOS): Disable per default.
12130
12131 2006-02-20 14:08  twisti
12132
12133         * src/vm/classcache.c (classcache_new_name): Keep c89 compilers happy.
12134
12135 2006-02-19 22:27  christian
12136
12137         * src/vm/jit/jit.h: added define STKEEP
12138         
12139         * src/vm/jit/simplereg.c (reg_free_tmp_func): SAVEDTMP and TMPARG
12140         flags are not cleared anymore from Stackslots.
12141         (reg_alloc_dup): TEMPVARs are not reused as SAVEDVARs anymore. This
12142         has to be checked for conflicts.
12143         (reg_mark_copy): Added. TEMPVAR Destination Stackslots are marked here
12144         with STCOPY, if they use a duplicated register/memory location. Not
12145         reused register/memory locations of TEMPVAR source Stacklots are freed
12146         again.
12147         (allocate_scratch_registers): ICMD_DUPx and ICMD_SWAP use now the new
12148         reg_mark_copy.
12149
12150 2006-02-16 19:39  christian
12151
12152         * src/vm/jit/stack.h (COPY): Prevent setting varkind to STACKVAR for
12153         stackslots copied by DUPx and SWAP.
12154         (DUP) Likewise.
12155         * src/vm/jit/stack.c (analyse_stack): Copy elimination and needed
12156         conflict resolution was implemented as
12157         described in the CACAO paper. As "potential exception throwing
12158         instruction" for now only INVOKE*s are
12159         regarded. Conflict resolution over DUPx and SWAP should be refined to
12160         be less conservative.
12161         * src/vm/jit/jit.c (jit_init): Stackreq for JAVA_IINC is set to 0
12162         again, since no dummy stackslot is
12163         needed anymore for conflict resolution with XSTORE.
12164         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Reuse unused
12165         float and int argument registers
12166         for interfaces, too.
12167         (reg_free_temp): Regard the new stackslot flag STCOPY, before freeing
12168         a register/memory location.
12169         (reg_alloc_dup): New function to allocate, if possible, the same
12170         register/memory location for stackslot
12171         copied by DUPx and SWAP.
12172         (allocate_scratch_registers): The new function reg_alloc_dup is used
12173         now for allocation at ICMD_DUPx and
12174         ICMD_SWAP, if possible.
12175         * src/vm/jit/jit.h: Added STCOPY as stackslot flag to mark
12176         simultanously live stackslots with same
12177         register after DUPx and SWAP.
12178         * doc/stack.txt: Updated invariants to show the change with IINC (no
12179         dummy stacklot anymore).
12180
12181 2006-02-14 20:27  edwin
12182
12183         * src/native/jni.c (_Jv_jni_invokeNative): Cleanup.
12184         
12185         * src/native/jni.c (Changes): Added my name.
12186         
12187         * src/native/jni.c (vim boilerplate): Added.
12188
12189 2006-02-14 20:10  edwin
12190
12191         * src/native/jni.c (_Jv_jni_invokeNative): Look up _all_ instance
12192         methods
12193         in the vftbl.
12194
12195 2006-02-14 20:09  edwin
12196
12197         * src/vm/linker.c (link_class_intern): Do not override
12198         package-private methods
12199         from other packages.
12200         
12201         * src/vm/linker.c (vim boilerplate): Added.
12202
12203 2006-02-14 15:53  edwin
12204
12205         * src/vm/classcache.c, src/vm/classcache.h: Merge cache entries when
12206         they are resolved to the same class.
12207
12208 2006-02-14 15:34  edwin
12209
12210         * src/vm/utf8.c, src/vm/utf8.h (utf_full_hashkey): Added.
12211
12212 2006-02-14 11:01  twisti
12213
12214         * configure.ac (AC_INIT): Changed version number to 0.95+cvs.
12215         (CFLAGS): Changed optimization back to -O0.
12216
12217 2006-02-14 10:30  twisti
12218
12219         * ChangeLog: Updated for release 0.95.
12220
12221 2006-02-14 10:14  twisti
12222
12223         * configure.ac: Updated version to 0.95, set optimization level to
12224         -O2, some indent changes.
12225         * ChangeLog-2005: Removed 2006 entries.
12226
12227 2006-02-14 01:10  twisti
12228
12229         * src/vm/jit/profile/profile.c (profile_thread): Fixed compiler
12230         warning.
12231
12232 2006-02-14 01:05  twisti
12233
12234         * src/vm/jit/intrp/codegen.c (createcompilerstub): Store the
12235         methodinfo pointer in the same place as in the methodheader for
12236         compiled methods.
12237
12238 2006-02-14 00:41  twisti
12239
12240         * src/vm/jit/x86_64/codegen.c (createcompilerstub): Store the
12241         methodinfo pointer in the same place as in the methodheader for
12242         compiled methods.
12243
12244 2006-02-14 00:33  twisti
12245
12246         * contrib/svn2cl.xsl: New file.
12247         * THIRDPARTY (contrib/svn2cl.xsl): Added copyright message.
12248
12249 2006-02-14 00:05  twisti
12250
12251         * NEWS: Updated 0.95 release notes.
12252
12253 2006-02-14 00:03  twisti
12254
12255         * src/vm/loader.c (load_field): Removed f->xta.
12256         
12257         * src/vm/class.h (vm/method.h): Added.
12258         (vm/jit/inline/sets.h): Removed.
12259         
12260         * src/vm/method.h (vm/jit/inline/parseXTA.h): Removed.
12261         
12262         * src/vm/field.h (vm/jit/inline/parseXTA.h): Likewise.
12263         (fieldinfo): Removed member xta.
12264         
12265         * src/lib/Makefile.am (EXTRA_DIST): Fixed typo.
12266
12267 2006-02-14 00:01  twisti
12268
12269         * src/vm/jit/inline/sets.c, src/vm/jit/inline/parseRTstats.c,
12270         src/vm/jit/inline/parseRT.c, src/vm/jit/inline/parseRTflags.h,
12271         src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/sets.h,
12272         src/vm/jit/inline/parseRTstats.h, src/vm/jit/inline/parseRT.h,
12273         src/vm/jit/inline/parseXTA.c, src/vm/jit/inline/parseXTA.h: Removed.
12274
12275 2006-02-13 23:45  twisti
12276
12277         * src/vm/class.c (class_findmethod_approx): Removed.
12278         * src/vm/class.h (class_findmethod_approx): Likewise.
12279         (class_resolvemethod_approx): Likewise.
12280
12281 2006-02-13 23:16  edwin
12282
12283         * NEWS: Added JNI method resolution fix.
12284
12285 2006-02-13 18:55  twisti
12286
12287         * src/vm/method.c (assert.h): Added.
12288         (vm/linker.h): Likewise.
12289         (vm/jit/methodheader.h): Likewise.
12290         (method_vftbl_lookup): New method.
12291         
12292         * src/vm/method.h (vm/linker.h): Added.
12293         (method_vftbl_lookup): New method.
12294         
12295         Fixes bug #17 and #18.
12296         * src/native/jni.c: Complete rewrite of Call*Method code.
12297
12298 2006-02-13 10:53  twisti
12299
12300         * src/vm/utf8.c (utf_display): Some reformatting.
12301         (utf_display_classname): Likewise.
12302
12303 2006-02-13 00:12  twisti
12304
12305         * src/vm/jit/mips/codegen.c (createcompilerstub): Store the methodinfo
12306         pointer in the same place as in the methodheader for compiled methods.
12307
12308 2006-02-12 23:43  twisti
12309
12310         * src/vm/jit/alpha/md.c (md_assembler_get_patch_address): New method.
12311         (md_codegen_findmethod): Use assert's directly.
12312         
12313         * src/vm/jit/mips/md.c (md_assembler_get_patch_address): Likewise.
12314         (md_codegen_findmethod): Likewise.
12315         
12316         * src/vm/jit/alpha/codegen.c (createcompilerstub): Store the
12317         methodinfo pointer in the same place as in the methodheader for
12318         compiled methods and pass the pointer in REG_ITMP1.
12319         
12320         * src/vm/jit/alpha/md-asm.h (mptr): Defined.
12321         
12322         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo
12323         pointer is passed via itmp1. Use md_assembler_get_patch_address to
12324         get the patch address.
12325         (asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer
12326         via itmp1.
12327
12328 2006-02-12 23:22  twisti
12329
12330         * src/vm/jit/powerpc/codegen.c (createcompilerstub): Store the
12331         methodinfo pointer in the same place as in the methodheader for
12332         compiled methods.
12333         
12334         * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo
12335         pointer is passed via itmp1.
12336         (asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer
12337         via itmp1.
12338
12339 2006-02-12 22:08  edwin
12340
12341         * src/threads/native/threads.c (threads_dump): Removed unused
12342         variable 'ee'.
12343
12344 2006-02-12 21:57  edwin
12345
12346         * src/native/vm/VMClass.c (Java_java_lang_VMClass_getDeclaredMethods):
12347         Cast to java_lang_Class in order to avoid compiler warning.
12348         
12349         * src/native/vm/VMClass.c (Changes): Added my name.
12350         
12351         * src/native/vm/VMClass.c (vim biolerplate): Added.
12352
12353 2006-02-12 21:47  edwin
12354
12355         * src/threads/native/threads.c (allocLockRecordSimple): Fixed
12356         declaration
12357         after code error.
12358
12359 2006-02-12 16:28  twisti
12360
12361         * src/vm/jit/i386/codegen.c (createcompilerstub): Store the
12362         methodinfo* in the same place as in the methodheader for compiled
12363         methods.
12364
12365 2006-02-12 16:24  edwin
12366
12367         * NEWS: Added directory check bugfix.
12368
12369 2006-02-12 16:10  edwin
12370
12371         * NEWS: Added two bugfixes.
12372
12373 2006-02-12 16:02  edwin
12374
12375         * src/vm/loader.c, src/vm/loader.h (vim boilerplate): Added.
12376
12377 2006-02-12 13:11  twisti
12378
12379         * src/vm/zip.c (zip_open): Don't add directories to the zipfile
12380         hashtable. We use the trailing `/' to identify a directory (i hope
12381         that's correct).
12382
12383 2006-02-12 12:59  christian
12384
12385         * src/vm/jit/x86_64/md-abi.c (md_param_alloc): Regard use of A0 for
12386         returning float values.
12387
12388 2006-02-12 02:18  edwin
12389
12390         * src/native/vm/VMClassLoader.c (vim boilerplate): Added.
12391
12392 2006-02-12 02:17  edwin
12393
12394         * src/vm/classcache.c (classcache_store): Made classcache_store
12395         idempotent.
12396         
12397         * src/native/vm/VMClassLoader.c
12398         (Java_java_lang_VMClassLoader_defineClass):
12399         Store defined class with classcache_store instead of just with
12400         classcache_store_defined, so it an initiating loader is recorded for
12401         the
12402         class. This should solve problems with classes that are defined
12403         outside
12404         of a loadClass context (e.g. by java.lang.reflect.Proxy).
12405
12406 2006-02-12 00:30  twisti
12407
12408         * src/native/vm/VMClass.c (getDeclaredMethods): Set the method's class
12409         in java.lang.reflect.Method.
12410         
12411         * src/native/vm/Method.c (toolbox/logging.h, vm/jit/stacktrace.h):
12412         Removed.
12413         
12414         * src/native/vm/VMSystem.c (identityHashCode): Use casts.
12415
12416 2006-02-12 00:25  twisti
12417
12418         * src/vm/exceptions.c, src/vm/exceptions.h
12419         (exceptions_throw_nosuchmethoderror): New method.
12420
12421 2006-02-11 21:25  christian
12422
12423         * src/vm/jit/stack.h (COPY) All copied stackslots set to TEMPVAR.
12424         This prevents conflicts with LOCALVAR
12425         and
12426         (DUP) Likewise.
12427         STACKVARS.
12428
12429 2006-02-07 23:18  edwin
12430
12431         * src/vm/jit/stack.h (TYPE_VERIFYERROR): Converted most of body to a
12432         function.
12433         
12434         * src/vm/exceptions.c, src/vm/exceptions.h
12435         (exceptions_throw_verifyerror_for_stack): Added.
12436         
12437         * src/vm/exceptions.c, src/vm/exceptions.h (vim boilerplate): Added.
12438
12439 2006-02-07 21:27  edwin
12440
12441         * src/vm/jit/stack.h (vim boilerplate): Fixed.
12442
12443 2006-02-07 21:15  twisti
12444
12445         * NEWS: Added some stuff.
12446
12447 2006-02-07 17:28  edwin
12448
12449         * src/vm/jit/intrp/codegen.c (createcalljavafunction):
12450         Removed t_inlining_globals.
12451
12452 2006-02-07 17:22  edwin
12453
12454         * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h
12455         (codegen_setup):
12456         Removed t_inlining_globals argument.
12457         
12458         * src/vm/jit/codegen-common.c (codegen_finish): Prepared for inlined
12459         line
12460         number tables. References with line number <-3 will not be relocated.
12461         
12462         * src/vm/jit/codegen-common.c (codegen_createnativestub):
12463         Removed t_inlining_globals and inlining_setup.
12464         
12465         * src/vm/jit/codegen-common.h (Changes): Added my name to 'Changes'.
12466         
12467         * src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h: Ripped out
12468         old
12469         inliner.
12470         
12471         * src/vm/jit/jit.c: Removed inlining headers.
12472         
12473         * src/vm/jit/jit.c (INLINE_GOTO): Added instruction name to table.
12474         
12475         * src/vm/jit/jit.c (jit_compile_intern): Removed t_inlining_globals
12476         argument.
12477         
12478         * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h,
12479         src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h (vim
12480         boilerplate):
12481         Added.
12482
12483 2006-02-07 16:52  edwin
12484
12485         * src/vm/jit/i386/codegen.c (codegen): Prepared for inlining. The
12486         icmds
12487         ICMD_INLINE_START, ICMD_INLINE_END, ICMD_INLINE_GOTO were
12488         implemented, and
12489         at the start of exception handlers the indepth is no longer assumed
12490         to be 1.
12491
12492 2006-02-07 16:47  edwin
12493
12494         * src/vm/jit/jit.h (Changes): Fixed tabs.
12495
12496 2006-02-06 21:06  twisti
12497
12498         * src/threads/native/threads.c, src/threads/native/threads.h
12499         (sleepThread): Renamed to thread_sleep.
12500
12501 2006-02-06 21:01  twisti
12502
12503         * src/cacao/cacao.c (vm/jit/profile.h): Changed to
12504         vm/jit/profile/profile.h.
12505         (main): profile_init and profile_start_thread calls added.
12506
12507 2006-02-06 18:50  twisti
12508
12509         * configure.ac (AC_CONFIG_FILES): Added src/vm/jit/profile/Makefile.
12510
12511 2006-02-06 18:49  twisti
12512
12513         * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added profile.
12514         (PROFILE_LIB): Added.
12515         (PROFILE_SOURCES): Removed.
12516
12517 2006-02-06 18:48  twisti
12518
12519         * src/vm/jit/profile/profile.c (profile_init): New method.
12520         (profile_thread): Likewise.
12521         (profile_start_thread): Likewise.
12522         * src/vm/jit/profile/profile.h (profile_init): Added.
12523         (profile_start_thread): Likewise.
12524         * src/vm/jit/profile/Makefile.am: New file.
12525         * src/vm/jit/profile/.cvsignore: Likewise.
12526
12527 2006-02-06 18:34  twisti
12528
12529         * src/vm/jit/profile.h: Moved to src/vm/jit/profile/.
12530
12531 2006-02-06 18:33  twisti
12532
12533         * src/vm/jit/profile.c: Moved to src/vm/jit/profile/.
12534         * src/vm/jit/profile: Added.
12535
12536 2006-02-06 18:32  twisti
12537
12538         * src/vm/jit/profile: Ooops.
12539
12540 2006-02-06 18:31  twisti
12541
12542         * src/vm/jit/profile.c: Moved to src/vm/jit/profile/.
12543
12544 2006-02-06 18:14  twisti
12545
12546         * src/vm/jit/allocator/Makefile.am: Use tabs instead of space.
12547         (INCLUDE): Renamed to AM_CPPFLAGS.
12548
12549 2006-02-06 08:22  edwin
12550
12551         * doc/Makefile.am (EXTRA_DIST): Added inlining_stacktrace.txt and
12552         native_threads.txt.
12553
12554 2006-02-06 06:49  edwin
12555
12556         * src/threads/native/threads.c: Minor cleanup.
12557
12558 2006-02-06 06:46  edwin
12559
12560         * src/threads/native/threads.c: Uncuddled `else`s and other cleanup.
12561
12562 2006-02-06 06:16  edwin
12563
12564         * doc/inlining_stacktrace.txt: Clarified, added entry after the
12565         inlined body
12566         for the rest of the line after the call.
12567
12568 2006-02-06 05:00  edwin
12569
12570         * src/vm/jit/i386/machine-instr.h (compare_and_swap): Commented.
12571
12572 2006-02-06 04:50  edwin
12573
12574         * doc/native_threads.txt: Added.
12575
12576 2006-02-06 04:46  edwin
12577
12578         * src/threads/native/threads.c (allocLockRecordPool): Relink the free
12579         list
12580         of lock records when reusing a pool from the global_pool. This avoids
12581         cross-linking of lock record owned by different threads, and hopefully
12582         fixes our long-standing deadlock problem.
12583         
12584         * src/threads/native/threads.c (allocLockRecordSimple,
12585         recycleLockRecord)
12586         (initObjectLock): Temporarily added assertions to shake out possible
12587         further bugs in the free list handling.
12588         
12589         * src/threads/native/threads.c (monitorEnter, monitorExit): Commented.
12590         
12591         * src/threads/native/threads.c (Changes): Added my name to 'Changes'.
12592         
12593         * src/threads/native/threads.c (vim boilerplate): Added.
12594
12595 2006-02-06 01:28  edwin
12596
12597         * src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Added.
12598         (stacktrace_add_method): Documented. Now uses
12599         stacktrace_add_method_intern.
12600         (stacktrace_getCurrentClassLoader): Documented.
12601         (stacktrace_dump_trace): Removed unused variable.
12602         (Changes): Added my name to 'Changes'.
12603
12604 2006-02-06 01:08  edwin
12605
12606         * src/vm/jit/verify/typecheck.c (verify_basic_block): Teach the
12607         verifier
12608         about the new inline instructions ICMD_INLINE_START, ICMD_INLINE_END,
12609         and ICMD_INLINE_GOTO.
12610
12611 2006-02-06 01:02  edwin
12612
12613         * src/vm/jit/stack.c (analyse_stack): Set bptr->stack for each visited
12614         block.
12615         (show_icmd): Implemented printing of new inline instructions.
12616
12617 2006-02-06 00:02  edwin
12618
12619         * src/vm/jit/allocator/simplereg.c (ICMD_INLINE_GOTO): Added.
12620         (Changes): Added my name to 'Changes'.
12621         (vim boilerplate): Added.
12622
12623 2006-02-05 23:34  edwin
12624
12625         * src/vm/jit/allocator/lsra.c, src/vm/jit/allocator/lsra.h (lsra,
12626         lsra_init):
12627         Removed t_inlining_globals argument.
12628         (Changes): Added my name to 'Changes'.
12629         (vim boilerplate): Added.
12630         
12631         * src/vm/jit/jit.c (lsra): Removed t_inlining_globals argument.
12632
12633 2006-02-05 23:24  edwin
12634
12635         * src/vm/jit/jit.c (reg_setup): Removed t_inlining_globals argument.
12636         
12637         * src/vm/jit/codegen-common.c (reg_setup): Removed t_inlining_globals
12638         argument.
12639         
12640         * src/vm/jit/reg.c, src/vm/jit/reg.h (reg_setup): Removed
12641         t_inlining_globals
12642         argument.
12643         (Changes): Added my name to 'Changes'.
12644         (vim boilerplate): Added.
12645
12646 2006-02-05 23:09  edwin
12647
12648         * src/vm/jit/jit.h (Changes): Added my name to 'Changes'.
12649
12650 2006-02-05 23:07  edwin
12651
12652         * src/vm/jit/jit.h (ICMD_INLINE_GOTO): Added. Not used, yet.
12653         
12654         * src/vm/jit/jit.h (basicblock): Added 'stack' field. Not used, yet.
12655         
12656         * src/vm/jit/jit.h, src/vm/jit/jit.c (vim boilerplate): Added.
12657
12658 2006-02-05 23:02  edwin
12659
12660         * src/vm/jit/parse.c (parseRT.h, parseXTA.h, inline.h,
12661         parseRTprint.h):
12662         No longer included.
12663         (parse): Removed t_inlining_globals * from arguments.
12664         
12665         * src/vm/jit/jit.c (parse): Removed t_inlining_globals * from
12666         arguments.
12667
12668 2006-02-05 22:47  edwin
12669
12670         * src/vm/jit/parse.c, src/vm/jit/parse.h (inline_env): Removed most
12671         occurences.
12672         (bound_check1): Renamed to bound_check_exclusive.
12673
12674 2006-02-05 22:22  edwin
12675
12676         * src/vm/jit/parse.c (useinlining): Removed.
12677
12678 2006-02-05 17:36  edwin
12679
12680         * doc/inlining_stacktrace.txt: Added warning about signedness.
12681         Fixed copy&paste errors.
12682
12683 2006-02-05 15:26  edwin
12684
12685         * doc/inlining_stacktrace.txt: Added.
12686         
12687         * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Added.
12688         (dseg_addlinenumber_inline_end): Added.
12689         (dseg_addlinenumber): Commented.
12690         (vim boilerplate): Added.
12691         
12692         * src/vm/jit/dseg.h (linenumberref): Changed for inlining stacktraces.
12693         Made targetmpc a ptrint, made linenumber s4, reordered fields.
12694         (dseg_addlinenumber_inline_start): Added.
12695         (dseg_addlinenumber_inline_end): Added.
12696         (vim boilerplate): Added.
12697
12698 2006-02-05 13:52  stefan
12699
12700         * src/threads/native/threads.h: waiting is correctly typed now
12701         (previous checkin was wrong).
12702
12703 2006-02-05 13:39  stefan
12704
12705         * src/threads/native/threads.c: Let's see if this improves the dead
12706         lock situation (waiter handling changed slightly).
12707
12708 2006-02-05 12:22  twisti
12709
12710         * tests/regression/native/.cvsignore (*.h, *.so): Added.
12711
12712 2006-02-05 12:20  twisti
12713
12714         * tests/regression/native/Makefile.am,
12715         tests/regression/codepatching/Makefile.am,
12716         tests/regression/Makefile.am (JAVAFLAGS): Use VM_ZIP_STRING and
12717         GLIBJ_ZIP_STRING.
12718
12719 2006-02-05 12:03  twisti
12720
12721         * src/vm/jit/powerpc/asmpart.S, src/vm/jit/alpha/asmpart.S,
12722         src/vm/jit/mips/asmpart.S, src/vm/jit/i386/asmpart.S,
12723         src/vm/jit/x86_64/asmpart.S, src/vm/jit/arm/asmpart.S: Disable
12724         executable stacks, this is required for Gentoo and we actually don't
12725         need them.
12726
12727 2006-02-05 00:40  twisti
12728
12729         * src/vm/jit/stacktrace.c (stacktrace_create): Get the value of
12730         _no_threads_stackframeinfo, since it's a pointer, not a structure.
12731         (stacktrace_print_trace): Check for NULL value and return.
12732         * src/vm/exceptions.c (exceptions_handle_exception): Compiler warning
12733         fixed.
12734         (exceptions_print_exception): Check for NULL value, print it and
12735         return.
12736
12737 2006-02-05 00:16  twisti
12738
12739         * src/mm/memory.h (string.h): Moved after config.h.
12740         (OFFSET): Use internal datatypes.
12741         (NEW, MNEW): Use the proper GC macro when Gc is disabled.
12742
12743 2006-02-05 00:13  twisti
12744
12745         * src/mm/nogc.c (config.h): Moved in front of system headers.
12746         (heap_allocate): Call exceptions_throw_outofmemory_exit.
12747         (nogc_init): Likewise.
12748
12749 2006-02-05 00:01  twisti
12750
12751         * src/threads/none/: New.
12752         * src/threads/none/threads.h: New file. We need this one for
12753         e.g. stacktrace.c where we use thread stuff in the code.
12754
12755 2006-02-04 23:59  twisti
12756
12757         * src/vm/access.c (assert.h): Move after config.h.
12758         * src/vm/properties.c (mm/memory.h): Added.
12759         * src/vm/jit/stacktrace.c (mm/memory.h): Likewise.
12760         (threads.h): Added.
12761         (stacktrace_create): Handle stackframeinfo when threads disabled
12762         properly.
12763
12764 2006-02-04 23:56  twisti
12765
12766         * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
12767         Generate an exception instead of exiting.
12768         * src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates):
12769         Likewise.
12770
12771 2006-02-04 20:15  twisti
12772
12773         * src/vm/jit/stacktrace.h (stacktrace_getCallingClassLoader): Renamed
12774         to stacktrace_getCurrentClassLoader.
12775         
12776         * src/cacaoh/headers.c (nativelyoverloaded): Fixed compiler warning.
12777
12778 2006-02-04 19:09  twisti
12779
12780         * src/native/native.c (native_resolve_function): Print failed is the
12781         symbol was not found.
12782
12783 2006-02-04 19:08  twisti
12784
12785         * src/vm/jit/stacktrace.h (STACKTRACE_CAPACITY_DEFAULT)
12786         (STACKTRACE_CAPACITY_INCREMENT): Changed default from 40 to 80, seems
12787         this is what eclipse and tomcat want.
12788         (stacktracebuffer): Changed entries from an array to a pointer.
12789
12790 2006-02-04 19:04  twisti
12791
12792         * src/vm/jit/stacktrace.c (stacktrace_add_entry): Reallocate to
12793         stb->entries.
12794         (stacktrace_create): Do two dump and heap allocs, does not affect
12795         performance.
12796         (stacktrace_getCallingClassLoader): Renamed to
12797         stacktrace_getCurrentClassLoader.
12798         
12799         * src/native/jni.c (FindClass): Renamed
12800         stacktrace_getCallingClassLoader to stacktrace_getCurrentClassLoader.
12801         
12802         * src/native/vm/VMStackWalker.c (getCallingClassLoader): Revert to old
12803         implementation.
12804
12805 2006-02-04 17:39  edwin
12806
12807         * doc/stack.txt: Typos fixed.
12808
12809 2006-02-04 17:31  edwin
12810
12811         * doc/stack.txt: Expanded tabs.
12812         * doc/Makefile.am (stack.txt): Added EXTRA_DIST entry for stack.txt.
12813
12814 2006-02-04 17:25  edwin
12815
12816         * doc/stack.txt: Added. This file describes some details about the
12817         stack representation.
12818
12819 2006-02-04 00:43  twisti
12820
12821         * src/native/Makefile.am (CLEANFILES): Always clean nativetable.inc.
12822         ($(srcdir)/native.c): Moved inside if ENABLE_STATICVM where it
12823         belongs! Dammit!
12824
12825 2006-02-04 00:33  twisti
12826
12827         * src/native/Makefile.am: Accidentally moved the library into if
12828         ENABLE_STATICVM.
12829         * src/native/include/Makefile.am: Enable accidentally removed
12830         dependencies.
12831
12832 2006-02-04 00:13  edwin
12833
12834         * src/vm/jit/verify/typecheck.c (logging): Adapted to new logging API.
12835
12836 2006-02-04 00:08  edwin
12837
12838         * src/vm/jit/stack.h (MARKREACHED): Use BBREACHED for readability.
12839         (vim boilerplate): Added.
12840
12841 2006-02-04 00:04  edwin
12842
12843         * src/vm/method.h (methodinfo): Fixed copy&paste error in comment.
12844         (vim boilerplate): Added.
12845
12846 2006-02-04 00:00  edwin
12847
12848         * src/vm/jit/stacktrace.c (vim boilerplate): Added.
12849
12850 2006-02-03 22:57  twisti
12851
12852         * configure.ac (VM_ZIP_STRING): Added.
12853         (GLIBJZ): Renamed to GLIBJ_ZIP_STRING.
12854         * src/vm/global.h (CACAO_VM_ZIP_PATH): Use GLIBJ_ZIP_STRING.
12855         * src/lib/Makefile.am (GLIBJ_ZIP): Likewise.
12856         * src/native/include/Makefile.am, src/native/Makefile.am (VM_ZIP): Use
12857         VM_ZIP_STRING.
12858         (GLIBJ_ZIP): Use GLIBJ_ZIP_STRING.
12859         * contrib/setenvinstalled.in, contrib/setenvsource.in: Likewise.
12860
12861 2006-02-03 22:53  twisti
12862
12863         * src/native/vm/VMRuntime.c (nativeLoad): #ifdef ENABLE_STATICVM
12864         warning fix.
12865
12866 2006-02-03 22:24  twisti
12867
12868         * src/vm/global.h (CACAO_VM_ZIP_PATH): Removed accidentally commited
12869         VM_ZIP_FILE.
12870         * src/native/Makefile.am (VM_ZIP): Likewise.
12871         * src/native/include/Makefile.am (VM_ZIP): Likewise.
12872
12873 2006-02-03 22:03  twisti
12874
12875         * src/vm/global.h (CACAO_VM_ZIP_PATH): Set correctly for ifndef
12876         ENABLE_ZLIB.
12877         * src/lib/Makefile.am (JAVA_VM_FILES): Renamed to VM_JAVA_FILES.
12878         (VM_CLASS_FILES): Added.
12879         (pkgdata_DATA): Set to class files for ifndef ENABLE_ZLIB.
12880         * src/native/include/Makefile.am (VM_ZIP): Set correctly for ifndef
12881         ENABLE_ZLIB.
12882         * src/native/Makefile.am (VM_ZIP): Likewise.
12883
12884 2006-02-03 21:58  twisti
12885
12886         * src/vm/suck.c (suck_add): Fixed compiler warning with #ifndef
12887         ENABLE_ZLIB.
12888
12889 2006-02-03 21:51  twisti
12890
12891         * src/native/tools/.cvsignore (TAGS): Added.
12892
12893 2006-02-03 20:54  twisti
12894
12895         * src/native/Makefile.am (VM_ZIP, GLIBJ_ZIP, CLASSPATH): Added.
12896
12897 2006-02-03 20:53  twisti
12898
12899         * src/native/tools/gennativetable.c (main): Don't free bootclasspath,
12900         do proper initalization of subsystems, don't link classes.
12901
12902 2006-02-03 19:44  twisti
12903
12904         * src/native/Makefile.am (nativetable.inc): Pass classpath on
12905         commandline, environment variable support was removed.
12906
12907 2006-02-03 19:42  twisti
12908
12909         * src/native/tools/gennativetable.c: Updated to work again.
12910
12911 2006-02-03 19:27  twisti
12912
12913         * src/cacao/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
12914         (CLASSPATH_PREFIX): Renamed to CLASSPATH_LIBDIR.
12915
12916 2006-02-03 18:45  twisti
12917
12918         * configure.ac (ENABLE_SOFTFLOAT): Added.
12919         (NDEBUG): Bugfix for AM_CONDITIONAL.
12920
12921 2006-02-03 14:14  twisti
12922
12923         * src/vm/jit/stacktrace.c (stacktrace_entry): Wrong return value,
12924         added some checks.
12925
12926 2006-02-03 13:19  twisti
12927
12928         * src/vm/jit/stacktrace.c, src/vm/jit/stacktrace.h
12929         (lineNumberTableEntry): Renamed to linenumbertable_entry.
12930         (addEntry): Renamed to stacktrace_add_entry.
12931         (stacktrace_fillInStackTrace_methodRecursive): Removed.
12932         (stacktrace_fillInStackTrace_method): Renamed to
12933         stacktrace_add_method.
12934         (cacao_stacktrace_fillInStackTrace): Renamed to stacktrace_create.
12935         (stackTraceCollector): Removed.
12936         (cacao_stacktrace_NormalTrace): Renamed to
12937         stacktrace_fillInStackTrace.
12938         (classContextCollector): Removed.
12939         (cacao_createClassContextArray): Renamed to
12940         stacktrace_getClassContext.
12941         (stacktrace_classLoaderCollector): Removed.
12942         (cacao_currentClassLoader): Renamed to
12943         stacktrace_getCallingClassLoader.
12944         (getStackCollector): Removed.
12945         (cacao_getStackForVMAccessController): Renamed to stacktrace_getStack.
12946         
12947         * src/native/jni.c (jni_init): Use new GCNEW.
12948         (FindClass): Renamed cacao_currentClassLoader to
12949         stacktrace_getCallingClassLoader.
12950         
12951         * src/native/vm/VMAccessController.c (getStack): Renamed
12952         cacao_getStackForVMAccessController to stacktrace_getStack.
12953         
12954         * src/native/vm/VMStackWalker.c (getClassContext): Renamed
12955         cacao_createClassContextArray to stacktrace_getClassContext.
12956         (getCallingClass): Likewise.
12957         (getCallingClassLoader): Call stacktrace_getCallingClassLoader.
12958         
12959         * src/native/vm/Method.c (config.h): Added.
12960         (invokeNative): Renamed cacao_createClassContextArray to
12961         stacktrace_getClassContext.
12962         
12963         * src/native/vm/Field.c (config.h): Added.
12964         (cacao_get_field_address): Renamed cacao_createClassContextArray to
12965         stacktrace_getClassContext. Check for CLASS_INITIALIZED.
12966         
12967         * src/native/vm/VMThrowable.c
12968         (native/include/gnu_classpath_Pointer.h): Added.
12969         (fillInStackTrace): Call stacktrace_fillInStackTrace.
12970         (getStackTrace): Adapted.
12971         
12972         * src/mm/memory.h (GCNEW): Use only 1 parameter, like NEW.
12973         (GCMNEW): Added.
12974
12975 2006-02-03 12:46  twisti
12976
12977         * src/threads/native/threads.h (THREADOBJECT): Don't cast to
12978         java_lang_VMThread*, we don't need that.
12979
12980 2006-02-03 12:38  twisti
12981
12982         * src/vm/method.c (method_printflags, method_print): Check for NULL.
12983         * src/vm/field.c (field_printflags, field_print) Likewise.
12984         (stdio.h): Added.
12985         * src/vm/class.c (class_printflags, class_print): Likewise.
12986
12987 2006-02-02 09:16  twisti
12988
12989         * configure.ac (AC_PROG_JAR): Added.
12990         * m4/ac_prog_jar.m4: New file.
12991         * src/lib/Makefile.am (VM_ZIP): Added.
12992         (vm.zip): Check if $(JAR) is zip or jar type.
12993
12994 2006-02-02 08:51  twisti
12995
12996         * src/vm/loader.c (loader_load_all_classes): Added missing #ifde
12997         ENABLE_ZLIB.
12998
12999 2006-02-02 08:45  twisti
13000
13001         * configure.ac (NDEBUG): Added missing WITH_BINUTILS_DISASSEMBLER
13002         conditional.
13003         (zlib): Fixed handling.
13004
13005 2006-01-31 23:54  twisti
13006
13007         * src/vm/jit/i386/codegen.c (codegen): Added basic block frequency
13008         count code.
13009
13010 2006-01-31 23:45  twisti
13011
13012         * src/vm/jit/profile.c ("mm/memory.h,vm/options.h): Added.
13013         (list_method_entry): Likewise.
13014         (profile_printstats): Sort methods into a list and print it sorted,
13015         added basic block frequency output.
13016
13017 2006-01-31 23:43  twisti
13018
13019         * src/vm/method.h (methodinfo): Renamed executioncount to
13020         frequency. Added bbfrequency and cycles.
13021         
13022         * src/vm/jit/x86_64/codegen.c (codegen): Added cycle profiling code.
13023         
13024         * src/vm/jit/x86_64/codegen.h (M_FMOV): Added.
13025         (M_IADD_MEMBASE, M_IADC_MEMBASE, M_ISUB_MEMBASE, M_ISBB_MEMBASE):
13026         Likewise.
13027         (M_RDTSC, PROFILE_CYCLE_START, PROFILE_CYCLE_STOP): Likewise.
13028         
13029         * src/vm/jit/x86_64/emitfuncs.c (x86_64_inc_membase)
13030         (x86_64_incl_membase): Fixed.
13031         (emit_rdtsc): Added.
13032         
13033         * src/vm/jit/jit.c (jit_compile): Free m->bbfrequency memory.
13034         (jit_compile_intern): Allocate m->bbfrequency memory.
13035         
13036         * src/vm/jit/jit.h: Reformatting.
13037
13038 2006-01-31 23:29  twisti
13039
13040         * src/vm/statistics.c, src/vm/jit/inline/inline.c: Removed inlining
13041         statistics stuff.
13042
13043 2006-01-31 23:27  twisti
13044
13045         * src/vm/options.c, src/vm/options.h (opt_rt, opt_xta, opt_vta):
13046         Removed.
13047         (opt_prof_bb): Added.
13048         * src/cacao/cacao.c: Likewise.
13049         (OPT_PROF_OPTION): Added.
13050
13051 2006-01-31 22:31  twisti
13052
13053         * src/vm/jit/stack.c (show_icmd_block): Print the basic block type.
13054
13055 2006-01-31 22:27  twisti
13056
13057         * src/toolbox/list.c, src/toolbox/list.h (list_add_before): Added.
13058
13059 2006-01-31 15:41  twisti
13060
13061         * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
13062         src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c (codegen): Use
13063         CLASS_IS_OR_ALMOST_INITIALIZED macro, saves some code space.
13064
13065 2006-01-31 15:35  twisti
13066
13067         Fixes Debian bug #350729
13068         * src/vm/jit/i386/asmpart.S (asm_md_init): Added, puts the FPU to
13069         64-bit precision mode.
13070         * src/vm/jit/i386/md.c (md_init): Call asm_md_init.
13071         
13072         * src/vm/jit/asmpart.h (asm_md_init): Added.
13073         (has_no_x_instr_set): Removed.
13074         * src/vm/options.c, src/vm/options.h (has_ext_instr_set): Removed.
13075         * src/vm/jit/jit.c (jit_init): Removed has_no_x_instr_set call.
13076         * src/vm/jit/alpha/asmpart.S (has_no_x_instr_set): Renamed to
13077         asm_md_init.
13078         * src/vm/jit/alpha/md.c (has_ext_instr_set): Added.
13079         (md_init): Call asm_md_init.
13080         * src/vm/jit/alpha/md.h (has_ext_instr_set): Added.
13081
13082 2006-01-31 15:18  edwin
13083
13084         * src/vm/classcache.c: Added a formal description of the classcache.
13085
13086 2006-01-31 14:24  twisti
13087
13088         * src/vm/signal.c (signal_handler_sigint): Typo, reported by Chris
13089         Burdess on irc.
13090
13091 2006-01-30 16:25  twisti
13092
13093         * src/vm/jit/i386/codegen.c (codegen): Added profiling code.
13094         (ICMD_IINC): Use macros.
13095         * src/vm/jit/i386/codegen.h (ucontext.h): Removed.
13096         (thread_restartcriticalsection): Likewise.
13097         (M_IADD_IMM_MEMBASE): Added.
13098
13099 2006-01-30 15:44  twisti
13100
13101         * src/vm/options.h, src/vm/options.c (opt_prof): Added.
13102         * src/cacao/cacao.c (OPT_PROF): Added.
13103         (exit_handler): Added profile_printstats when opt_prof is enabled.
13104         
13105         * src/vm/class.h (classinfo): Members classUsed and impldBy removed.
13106         * src/vm/loader.c (load_class_from_classbuffer): Likewise.
13107         * src/vm/linker.c (link_primitivetype_table): Likewise.
13108         (link_class_intern): Likewise.
13109         * src/vm/jit/inline/inline.c: Likewise.
13110         
13111         * src/vm/method.h (methodinfo): Added member executioncount.
13112         
13113         * src/vm/jit/x86_64/codegen.c (codegen): Added profiling code. Some
13114         code reordering, using more macros and save some code space.
13115         * src/vm/jit/x86_64/codegen.h (M_ILD32, M_LLD32, M_IST_IMM, M_IST32)
13116         (M_LST32, M_IST32_IMM, M_LST32_IMM32, M_IINC_MEMBASE, M_ITEST)
13117         (M_CMP_IMM_MEMBASE, M_ICMP, M_ICMP_IMM, M_ICMP_IMM_MEMBASE, M_CMOVEQ)
13118         (M_CMOVNE, M_CMOVLT, M_CMOVLE, M_CMOVGE, M_CMOVGT, M_CMOVB, M_CMOVA)
13119         (M_CMOVP, M_CLR): Added.
13120         
13121         * src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ifcc): Use macros.
13122         (x86_64_call_mem): Changed mem argument to ptrint type.
13123         * src/vm/jit/x86_64/emitfuncs.h (x86_64_call_mem): Likewise.
13124         
13125         * src/vm/jit/profile.c, src/vm/jit/profile.h: New files.
13126         * src/vm/jit/Makefile.am (DISASS_OBJ): Renamed to DISASS_SOURCES.
13127         (PROFILE_SOURCES): Added.
13128
13129 2006-01-30 14:24  christian
13130
13131         * src/vm/jit/allocator/simplereg.c (interface_regalloc): Used
13132         m->parseddesc->arg[int|flt|adr]reguse to enable use of unused
13133         argumentregisters in leadmethods.
13134         (local_regalloc): Likewise.
13135         (reg_init_temp): Likewise.
13136
13137 2006-01-30 11:26  christian
13138
13139         * src/vm/jit/allocator/simplereg.c: Ensured proper alignment of all
13140         doubles and longs if ALIGN_[DOUBLES|LONGS]_IN_MEMORY is defined.
13141         (local_regalloc): Fixed error for HAS_ADREDD_REGISTER_FILE - else was
13142         missing. Ensured use of unused argument register in leafmethod before
13143         use of saved registers. Regarded PACK_REGS for
13144         SUPPORT_COMBINE_INTEGER_REGISTER archs for unused integer argument
13145         registers.
13146         * src/vm/jit/i386/arch.h: Added defines for
13147         ALIGN_[DOUBLES|LONGS]_IN_MEMORY.
13148         * src/vm/jit/powerpc/arch.h: Likewise.
13149
13150 2006-01-29 17:27  twisti
13151
13152         * src/vm/jit/stack.c (show_icmd): Fixed ICMD_ELSE_ICONST output.
13153
13154 2006-01-28 14:42  twisti
13155
13156         * src/vm/jit/powerpc/linux/md-abi.c,
13157         src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Use
13158         m->parseddesc->paramcount instead of m->paramcount.
13159         * src/vm/jit/schedule/schedule.c (schedule_init): Likewise.
13160         
13161         * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
13162         src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c (codegen):
13163         Removed first MCODECHECK since it not required.
13164         
13165         * src/vm/jit/methodheader.h: Added comment.
13166
13167 2006-01-28 14:25  twisti
13168
13169         * src/vm/jit/x86_64/.cvsignore: Added TAGS.
13170
13171 2006-01-28 14:21  twisti
13172
13173         * src/vm/loader.c (load_method): Removed reference to
13174         nativelyoverloaded, monoPoly, subRedefs, subRedefsUsed, xta.
13175         (load_newly_created_array): Removed reference to monoPoly.
13176
13177 2006-01-28 14:18  twisti
13178
13179         * src/vm/method.c (method_descriptor2types): Removed.
13180         * src/vm/method.h (methodinfo): Removed members returntype,
13181         returnclass, paramcount, paramtypes, paramclass, xta, methodXTAparsed,
13182         methodUsed, monoPoly, subRedefs, subRedefsUsed, and
13183         nativelyoverloaded, this saves about 3.2MB of classinfo memory for
13184         -all.
13185         (method_descriptor2types): Removed.
13186         
13187         * src/vm/jit/inline/inline.c (inlining_analyse_method): Use
13188         m->parseddesc->paramcount instead of m->paramcount.
13189         * src/vm/jit/allocator/simplereg.c (local_regalloc): Likewise.
13190         * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Likewise.
13191         
13192         * src/vm/jit/jit.c (jit_compile): Removed RT_jit_parse and
13193         XTA_jit_parse calls.
13194         (jit_compile_intern): Removed method_descriptor2types call.
13195         
13196         * src/cacaoh/cacaoh.c (main): Call string_init. Removed
13197         nativemethod_chain and nativeclass_chain stuff.
13198         
13199         * src/cacaoh/headers.c (nativemethod_chain): Removed.
13200         (nativeclass_chain): Likewise.
13201         (printmethod): Use m->isleafmethod instead of m->nativelyoverloaded.
13202         (headerfile_generate): Likewise.
13203
13204 2006-01-28 11:26  twisti
13205
13206         * src/vm/jit/inline/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
13207         (libinline_la_SOURCES): Don't build RTA/XTA stuff.
13208
13209 2006-01-28 11:24  twisti
13210
13211         * Makefile.am (EXTRA_DIST): Added THIRDPARTY.
13212
13213 2006-01-27 19:05  stefan
13214
13215         * src/threads/native/threads.c: Removed a superfluous (I hope) NULL
13216         check.
13217
13218 2006-01-27 18:53  stefan
13219
13220         * src/threads/native/threads.c: Repaired thread_getself.
13221
13222 2006-01-27 17:35  twisti
13223
13224         * src/toolbox/logging.c, src/toolbox/logging.h (log_start): Added.
13225         (log_vprint): Likewise.
13226         (log_print): Likewise.
13227         (log_println): Likewise.
13228         (log_finish): Likewise.
13229         (log_plain): Removed.
13230         (log_nl): Removed.
13231         (log_flush): Likewise.
13232         (dolog_plain): Likewise.
13233         (get_logfile): Likewise.
13234         (log_utf): Likewise.
13235         (log_plain_utf): Likewise.
13236         (log_text): Removed but added a define until we have ported all files.
13237         (dolog): Likewise.
13238         * src/vm/statistics.c (print_stats): Started to use new logging
13239         functions. Print some ratios.
13240
13241 2006-01-27 16:32  twisti
13242
13243         * src/native/vm/VMSystemProperties.c (preInit): Don't add . to
13244         java.library.path per default.
13245
13246 2006-01-27 12:43  twisti
13247
13248         * NEWS: Added powerpc fixes found by javver.
13249
13250 2006-01-24 19:09  twisti
13251
13252         * src/vm/jit/powerpc/codegen.h (var_to_reg_dbl): Added.
13253         (M_COPY): Handle doubles properly.
13254
13255 2006-01-24 13:52  twisti
13256
13257         * src/vm/jit/powerpc/codegen.h (M_LNGMOVE): Added.
13258         (var_to_reg_lng): Likewise.
13259         (M_COPY): Support longs. This was actually never implemented and never
13260         worked, grrr.
13261
13262 2006-01-24 10:30  twisti
13263
13264         * src/vm/jit/stacktrace.c (cacao_stacktrace_fillInStackTrace): Use
13265         method_print. Fixed typo.
13266         * src/vm/jit/powerpc/md.c (md_codegen_findmethod): Handle 2
13267         instruction returns properly.
13268
13269 2006-01-24 10:28  twisti
13270
13271         * src/vm/builtin.c (builtin_f2i): Enable for interpreter.
13272         (builtin_d2i): Likewise.
13273         * src/vm/jit/stack.c (icmd_print_stack): Fixed for ENABLE_INTRP and
13274         SUPPORT_COMBINE_INTEGER_REGISTERS.
13275
13276 2006-01-23 16:03  twisti
13277
13278         * src/vm/jit/stack.c (show_icmd_method): Fixed basic block count
13279         output.
13280         
13281         * src/vm/jit/i386/codegen.c (codegen): Use disp instead of a. Usage of
13282         some more macros.
13283         * src/vm/jit/i386/codegen.h (M_BLT): Added.
13284         (M_BLE): Likewise.
13285         (M_BGE): Likewise.
13286         (M_BGT): Likewise.
13287         (M_BBE): Likewise.
13288         (M_BAE): Likewise.
13289
13290 2006-01-23 01:12  twisti
13291
13292         * configure.ac (AC_INIT): Changed version number to 0.94+cvs.
13293         (CFLAGS): Changed optimization back to -O0.
13294
13295 2006-01-23 01:01  twisti
13296
13297         * ChangeLog: Updated for 0.94 release.
13298
13299 2006-01-22 23:42  twisti
13300
13301         * configure.ac (AC_INIT): Changed version number to 0.94.
13302         (CFLAGS): Changed optimization to -O2.
13303
13304 2006-01-22 23:33  twisti
13305
13306         * Updated header: Added 2006. Changed address of FSF. Changed email
13307         address.
13308
13309 2006-01-22 23:16  twisti
13310
13311         * Updated svn:ignore propset.
13312
13313 2006-01-22 23:00  twisti
13314
13315         * src/vm/jit/intrp/Makefile.am (EXTRA_DIST): Added gray.fs and
13316         BUILT_SOURCES.
13317
13318 2006-01-22 22:46  twisti
13319
13320         * tests/regression/extest.java: Typo.
13321
13322 2006-01-22 22:36  twisti
13323
13324         * NEWS: Added releases 0.90, 0.91, 0.92, 0.93, 0.94.
13325
13326 2006-01-22 22:34  twisti
13327
13328         * README: Updated.
13329
13330 2006-01-22 21:42  twisti
13331
13332         * src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Revert edwin's
13333         bugfix, but we can't use ffi_type_slong as it's defined as 64-bit
13334         value on 32-bit machines.
13335
13336 2006-01-22 21:40  twisti
13337
13338         * src/native/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
13339         (libnative_la_SOURCES): Removed nativecalls.inc.
13340
13341 2006-01-22 21:39  twisti
13342
13343         * tests/Makefile.am (SUBDIRS): Removed native.
13344
13345 2006-01-22 21:38  twisti
13346
13347         * tests/regression/native/testarguments.output: Updated.
13348         * tests/regression/native/Makefile.am: Made it work with distcheck.
13349         * tests/regression/codepatching/Makefile.am: Likewise.
13350         * tests/regression/Makefile.am: Likewise.
13351         
13352         * tests/regression/extest.java: Comment changed.
13353
13354 2006-01-22 21:22  twisti
13355
13356         * configure.in: Renamed to configure.ac.
13357
13358 2006-01-22 21:21  twisti
13359
13360         * configure.in (AC_CONFIG_FILES): Removed tests/native/Makefile, added
13361         tests/regression/native/Makefile.
13362
13363 2006-01-22 20:21  twisti
13364
13365         * tests/native: Moved to tests/regression/native.
13366
13367 2006-01-22 20:00  twisti
13368
13369         * src/vm/jit/asmpart.h (asm_handle_exception)
13370         (asm_handle_nat_exception): #ifdef ENABLE_JIT.
13371
13372 2006-01-22 19:59  twisti
13373
13374         * src/vm/jit/jit.c (jit_compile_intern): Use
13375         CLASS_IS_OR_ALMOST_INITIALIZED to check uninitialized.
13376
13377 2006-01-22 19:57  twisti
13378
13379         * src/vm/jit/stacktrace.c (stacktrace_create_inline_stackframeinfo):
13380         Compiler warning fix.
13381
13382 2006-01-22 19:56  twisti
13383
13384         * src/vm/jit/intrp/java.vmg: Some reformatting.
13385
13386 2006-01-22 19:55  twisti
13387
13388         * src/vm/jit/intrp/asmpart.c (vm/loader.h): Added.
13389         (intrp_asm_calljavafunction_intern): Use u1* instead of entrypoint.
13390         (jni_invoke_java_intern): Likewise.
13391
13392 2006-01-22 19:50  twisti
13393
13394         * .cvsignore, src/toolbox/.cvsignore, src/vm/jit/inline/.cvsignore,
13395         src/vm/jit/allocator/.cvsignore: TAGS added.
13396
13397 2006-01-22 19:37  twisti
13398
13399         * src/boehm-gc/.cvsignore, src/boehm-gc/include/.cvsignore,
13400         src/vm/.cvsignore, src/vm/jit/tools/.cvsignore,
13401         src/vm/jit/verify/.cvsignore, src/vm/jit/loop/.cvsignore,
13402         src/vm/jit/.cvsignore, src/vm/jit/intrp/.cvsignore,
13403         src/cacao/.cvsignore, src/native/vm/.cvsignore,
13404         src/native/include/.cvsignore, src/native/.cvsignore,
13405         src/mm/.cvsignore, src/threads/native/.cvsignore,
13406         src/threads/.cvsignore, src/fdlibm/.cvsignore, src/.cvsignore,
13407         src/cacaoh/.cvsignore: TAGS added.
13408
13409 2006-01-22 19:29  edwin
13410
13411         * src/vm/jit/intrp/codegen.c (nativecall): Fixed calculation of the
13412         stackframeinfo address.
13413
13414 2006-01-22 14:44  twisti
13415
13416         * src/vm/jit/codegen-common.c (codegen_addreference): The last fix was
13417         not correct if only the intrp is built.
13418
13419 2006-01-22 14:39  twisti
13420
13421         * src/vm/class.c (class_showmethods): Use class_printflags.
13422         * src/vm/loader.c, src/vm/loader.h (fprintflags): Removed.
13423         (printflags): Likewise.
13424         * src/vm/jit/inline/sets.c (printFldSet): Use field_println instead of
13425         field_display.
13426         * src/vm/field.c, src/vm/field.h (field_display): Removed.
13427         (field_printflags): Added.
13428         (field_print): Likewise.
13429         (field_println): Likewise.
13430
13431 2006-01-22 00:45  edwin
13432
13433         * src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Use ffi_type_sint
13434         for
13435         values of TYPE_INT. This fixes the interpreter on i386, though I'm not
13436         sure if it is a correct and complete solution.
13437
13438 2006-01-21 21:46  edwin
13439
13440         * src/vm/jit/codegen-common.c (codegen_addreference): Fixed bug when
13441         both ENABLE_INTRP and ENABLE_JIT were defined.
13442
13443 2006-01-21 20:22  edwin
13444
13445         * src/vm/jit/verify/typecheck.c (typestack_copy,
13446         typestack_separable_with)
13447         (typestack_separable_from, verify_basic_block): Comment-only changes.
13448         (verify_basic_block): Small typo fix in string.
13449
13450 2006-01-20 14:49  twisti
13451
13452         * src/native/jni.c (fill_callblock_from_objectarray): Fixed typo.
13453         (jni_method_invokeNativeHelper): Major code rewrite and speed
13454         improvement, renamed to _Jv_jni_invokeNative.
13455         (cacao_jni_CallVoidMethod): Fixed interpreter bug, renamed to
13456         _Jv_jni_CallVoidMethod.
13457         (callLongMethod): Renamed to _Jv_jni_CallLongMethod.
13458         * src/native/jni.h (jni_method_invokeNativeHelper): Renamed to
13459         _Jv_jni_invokeNative.
13460         * src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative):
13461         Renamed jni_method_invokeNativeHelper to _Jv_jni_invokeNative.
13462         * src/native/vm/Constructor.c: Updated includes.
13463         (Java_java_lang_reflect_Constructor_constructNative): Renamed
13464         jni_method_invokeNativeHelper to _Jv_jni_invokeNative.
13465
13466 2006-01-20 13:41  twisti
13467
13468         * tests/regression/Makefile.am (EXTRA_DIST): Made it more readable.
13469
13470 2006-01-20 13:40  twisti
13471
13472         * src/vm/jit/intrp/intrp.h (ffi.h): Removed, not required in this
13473         file.
13474         * src/vm/jit/intrp/codegen.c (nativecall): Removed unused big-endian
13475         code.
13476         * src/vm/jit/intrp/asmpart.c (asm_calljavafunction_intern): Renamed to
13477         intrp_asm_calljavafunction_intern, just to be sure.
13478
13479 2006-01-20 13:33  twisti
13480
13481         * src/vm/jit/mips/irix/md-os.c (md_signal_handler_sigsegv): Missed the
13482         actal rename from the previous commit.
13483
13484 2006-01-20 13:28  twisti
13485
13486         * src/vm/signal.c (vm/signallocal.h): Added.
13487         * src/vm/signallocal.h (md_signal_handler_sigfpe): #ifdef for i386 and
13488         x86_64.
13489
13490 2006-01-20 13:25  twisti
13491
13492         * src/vm/jit/powerpc/linux/md-os.c, src/vm/jit/powerpc/darwin/md-os.c,
13493         src/vm/jit/alpha/linux/md-os.c, src/vm/jit/alpha/freebsd/md-os.c,
13494         src/vm/jit/mips/linux/md-os.c, src/vm/jit/mips/irix/md-os.c
13495         (signal_handler_sigsegv): Renamed to md_signal_handler_sigsegv.
13496         * src/vm/jit/i386/linux/md-os.c, src/vm/jit/i386/freebsd/md-os.c,
13497         src/vm/jit/x86_64/md.c (signal_handler_sigsegv): Renamed to
13498         md_signal_handler_sigsegv.
13499         (signal_handler_sigfpe): Renamed to md_signal_handler_sigfpe.
13500         * src/vm/signal.c (signal_init): Renamed signal_handler_sigsegv to
13501         md_signal_handler_sigsegv and signal_handler_sigfpe to
13502         md_signal_handler_sigfpe respectively.
13503         * src/vm/signallocal.h (md_signal_handler_sigsegv): Added.
13504         (md_signal_handler_sigfpe): Likewise.
13505
13506 2006-01-20 13:19  twisti
13507
13508         * src/vm/jit/alpha/codegen.h (ucontext.h): Removed.
13509         (thread_restartcriticalsection): Removed.
13510
13511 2006-01-20 13:06  twisti
13512
13513         * src/vm/jit/x86_64/disass.c (dis-asm.h): Added.
13514         (vm/global.h): Likewise.
13515         (mm/memory.h): Removed.
13516
13517 2006-01-20 13:05  twisti
13518
13519         * src/vm/class.c, src/vm/class.h (class_printflags): Added.
13520         (class_print): Likewise.
13521         (class_println): Likewise.
13522
13523 2006-01-20 12:58  twisti
13524
13525         * src/vm/jit/i386/disass.c (disassinstr): Set the read_memory_func in
13526         disassemble_info to disass_buffer_read_memory.
13527         (disassemble): Removed.
13528
13529 2006-01-20 12:57  twisti
13530
13531         * src/vm/jit/stack.c (show_icmd_method): Print basic blocks count and
13532         better basic block header output.
13533         ICMD_MULTIANEWARRAY: Changed iptr->target and iptr->val.a value.
13534         ICMD_IFLE_ICONST, ICMD_ELSE_ICONST: Print values better.
13535
13536 2006-01-20 12:01  twisti
13537
13538         * src/vm/jit/powerpc/disass.c (disassinstr): Set the read_memory_func
13539         in disassemble_info to disass_buffer_read_memory.
13540         (disassemble): Removed.
13541
13542 2006-01-20 11:38  twisti
13543
13544         * src/vm/jit/disass-common.c, src/vm/jit/disass.h: Added
13545         disassemble_info and disass_initialized.
13546         (disassemble): Added.
13547         (buffer_read_memory): Renamed to disass_buffer_read_memory.
13548         * src/vm/jit/x86_64/disass.c (disassinstr): Set the read_memory_func
13549         in disassemble_info to disass_buffer_read_memory.
13550         (disassemble): Removed.
13551
13552 2006-01-20 10:15  twisti
13553
13554         * regression/extest.java: Removed asmpart exceptions as they are now
13555         checked with codepatching.
13556         * regression/extest.2output: Regenerated.
13557         * regression/extest_clinit.java: Added.
13558
13559 2006-01-20 10:08  twisti
13560
13561         * src/vm/jit/alpha/md.c (md_init): Moved #include and extern's to the
13562         top of the file, since this broke compilation on debian unstable.
13563
13564 2006-01-19 23:40  edwin
13565
13566         * src/vm/jit/parse.h: Added vim boilerplate.
13567
13568 2006-01-19 23:35  edwin
13569
13570         * src/vm/jit/stack.c: Added vim boilerplate.
13571
13572 2006-01-19 22:21  twisti
13573
13574         * configure.in (AC_CONFIG_FILES): Removed tests/codepatching/Makefile
13575         and added tests/regression/codepatching/Makefile.
13576         * tests/Makefile.am (SUBDIRS): Removed codepatching.
13577         * tests/regression/Makefile.am (SUBDIRS) Added with codepatching.
13578         * tests/regression/codepatching/Makefile.am (JAVAFLAGS): Added.
13579
13580 2006-01-19 22:11  edwin
13581
13582         * src/vm/jit/parse.c (parse): Removed inlining code.
13583
13584 2006-01-19 22:06  edwin
13585
13586         * src/vm/options.c, src/vm/options.h (useinliningm): Removed.
13587
13588 2006-01-19 22:05  twisti
13589
13590         * tests/codepatching: Moved to tests/regression/codepatching.
13591
13592 2006-01-19 21:31  edwin
13593
13594         * src/vm/jit/jit.c (jit_compile): Removed the INAFTERMAIN hack.
13595
13596 2006-01-19 21:27  edwin
13597
13598         * src/vm/jit/inline/inline.c (inlining_setup): Removed INAFTERMAIN
13599         hack.
13600
13601 2006-01-19 21:26  edwin
13602
13603         * src/cacao/cacao.c (main): Disabled useinlining and useinliningm.
13604
13605 2006-01-19 20:56  twisti
13606
13607         * src/vm/jit/intrp/codegen.c, src/vm/jit/intrp/java.vmg (FALOAD)
13608         (FASTORE): Added, required for big-endian machines.
13609         * src/vm/jit/intrp/engine.c (access_array_float): Likewise.
13610
13611 2006-01-19 20:53  twisti
13612
13613         * src/vm/global.h (java_floatarray): Typo.
13614
13615 2006-01-19 20:28  edwin
13616
13617         * src/vm/jit/parse.c (parse, fillextable): Removed debugging code.
13618         Minor cleanup.
13619
13620 2006-01-19 20:13  edwin
13621
13622         * src/vm/jit/parse.c (parse): Removed commented out debugging code.
13623
13624 2006-01-19 20:03  twisti
13625
13626         * src/vm/class.c (class_showmethods): Replaced method_display with
13627         method_println.
13628
13629 2006-01-19 20:00  twisti
13630
13631         * src/vm/jit/inline/inline.c, src/vm/jit/inline/sets.c,
13632         src/vm/jit/inline/parseRTstats.c, src/vm/jit/inline/parseRT.c,
13633         src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/parseXTA.c:
13634         Replaced method_display and method_display_w_class calls with
13635         method_println.
13636
13637 2006-01-19 19:49  twisti
13638
13639         * src/vm/method.c, src/vm/method.h (method_display): Removed.
13640         (method_display_w_class): Likewise.
13641         (method_printflags): Added.
13642         (method_print): Likewise.
13643         (method_println): Likewise.
13644         Removed. --This line, and those below, will be ignored--
13645         
13646         M method.c
13647         M method.h
13648
13649 2006-01-19 17:02  twisti
13650
13651         * src/vm/jit/powerpc/linux/Makefile.am (INCLUDES): Renamed to
13652         AM_CPPFLAGS.
13653         * src/vm/jit/powerpc/Makefile.am (AM_CPPFLAGS): Added missing
13654         $(OS_DIR) include.
13655
13656 2006-01-19 16:02  twisti
13657
13658         * INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc,
13659         as this is more common these days.
13660
13661 2006-01-19 11:58  edwin
13662
13663         * alpha, mips, nat: removed obsolete directories resurrected by svn
13664         migration
13665
13666 2006-01-19 09:47  twisti
13667
13668         * INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc,
13669         as this is more common these days.
13670
13671 2006-01-18 21:41  edwin
13672
13673         * havoc.class: fix corruption by svn eol-style conversion
13674
13675 2006-01-18 15:43  twisti
13676
13677         * AC_CHECK_HEADER: Added ansidecl.h, symcat.h, bfd.h and zconf.h.
13678
13679 2006-01-18 15:41  twisti
13680
13681         * main: Call nogc_init for DISABLE_GC.
13682
13683 2006-01-17 18:51  twisti
13684
13685         * Removed extern stuff that was removed from the lib.
13686
13687 2006-01-17 18:37  twisti
13688
13689         * Updated to new classpath configure options.
13690
13691 2006-01-17 18:24  twisti
13692
13693         * CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX.
13694
13695 2006-01-17 17:06  twisti
13696
13697         * CACAO_INSTALL_PREFIX: Renamed to CACAO_PREFIX.
13698         * NDEBUG: Check for libintl on cygwin and darwin.
13699         * --with-classpath-install-dir: Renamed to --with-classpath-prefix.
13700         * --with-classpath-libdir: Added to support 64-bit platforms where the
13701         libdir may be /usr/lib64.
13702
13703 2006-01-17 16:59  twisti
13704
13705         * main: Removed CACAO_INSTALL_PREFIX and CLASSPATH_INSTALL_DIR since
13706         CACAO_VM_ZIP_PATH and CLASSPATH_GLIBJ_ZIP_PATH are now full paths.
13707
13708 2006-01-17 16:58  twisti
13709
13710         * Java_gnu_classpath_VMSystemProperties_preInit: Renamed
13711         CACAO_INSTALL_PREFIX to CACAO_PREFIX.
13712
13713 2006-01-17 16:57  twisti
13714
13715         * CACAO_VM_ZIP_PATH: Prepend CACAO_PREFIX.
13716         * CLASSPATH_GLIBJ_ZIP_PATH: Prepend CLASSPATH_PREFIX.
13717         * CLASSPATH_LIBRARY_PATH: Prepend CLASSPATH_LIBDIR.
13718
13719 2006-01-17 16:55  twisti
13720
13721         * CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX.
13722
13723 2006-01-17 16:53  twisti
13724
13725         * Added.
13726
13727 2006-01-17 16:51  twisti
13728
13729         * m4/as-ac-expand.m4: Added.
13730
13731 2006-01-16 00:07  twisti
13732
13733         * jni_init: Fixed small typo.
13734
13735 2006-01-16 00:04  twisti
13736
13737         * Java_gnu_classpath_VMSystemProperties_preInit: Use the same os.arch
13738         property values as SUN and others do, so we are compatible (e.g.
13739         jogl had
13740         some problems), file.encoding removed as it's set by GNU Classpath,
13741         hardcode values for gnu.cpu.endian.
13742
13743 2006-01-15 23:32  twisti
13744
13745         * utf_java_nio_DirectByteBufferImpl_ReadWrite: Removed.
13746         * utf_gnu_classpath_Pointer{32,64}: Likewise.
13747         * class_java_nio_Buffer: Added, load and link this class in
13748         jni_init().
13749         * class_java_nio_DirectByteBufferImpl: Likewise.
13750         * NewDirectByteBuffer: Removed debug output.
13751         * GetDirectBufferAddress: Added instanceof check.
13752         * GetDirectBufferCapacity: Likewise.
13753
13754 2006-01-15 14:12  twisti
13755
13756         * native_new_and_init: Ooops, reverting last change and added an
13757         explaining
13758         comment.
13759
13760 2006-01-15 13:32  twisti
13761
13762         * CLASSPATH_LIBRARY_PATH, CLASSPATH_GLIBJ_ZIP_PATH: Temporary bugfix.
13763
13764 2006-01-15 12:28  twisti
13765
13766         * native_findfunction: #ifdef ENABLE_STATICVM.
13767         * native_new_and_init: Fixed return value.
13768
13769 2006-01-15 01:56  twisti
13770
13771         * math.h: Added for isnan.
13772
13773 2006-01-15 00:37  twisti
13774
13775         * JAVAC: Removed.
13776
13777 2006-01-15 00:36  twisti
13778
13779         * Java_gnu_classpath_VMSystemProperties_preInit: Set user.country
13780         instead
13781         of user.region, set en_US if none is defined,
13782         java.protocol.handler.pkgs
13783         removed.
13784
13785 2006-01-14 20:02  twisti
13786
13787         * builtin_trace_args: Added callcount to verbose call output.
13788
13789 2006-01-14 17:19  edwin
13790
13791         * src/native/vm/Method.c (invokeNative): check class access rights
13792
13793 2006-01-13 19:37  twisti
13794
13795         * codegen_setup: #ifdef datareferences.
13796
13797 2006-01-13 18:51  twisti
13798
13799         * This class does not differ from the GNU classpath upstream version.
13800
13801 2006-01-13 18:49  twisti
13802
13803         * defineClassWithTransformers: Added, updated to generics version.
13804
13805 2006-01-13 15:29  twisti
13806
13807         * codegendata: #ifdef datareferences member.
13808         * codegen_finish: Moved data segment reference resolving into
13809         dseg_resolve_datareferences.
13810
13811 2006-01-13 15:28  twisti
13812
13813         * dseg_resolve_datareferences: Added.
13814
13815 2006-01-13 15:27  twisti
13816
13817         * Small reformatting.
13818
13819 2006-01-13 10:47  twisti
13820
13821         * src/vm/jit/{i386,x86_64}/{dis-asm.h,i386-dis.c}: Removed.
13822         * src/vm/jit/powerpc/{ppc.h,ppc-dis.c,ppc-opc.c}: Likewise.
13823         * m4/{ac_prog_javac.m4,ac_prog_javac_works.m4}: Added.
13824
13825 2006-01-13 10:42  twisti
13826
13827         * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
13828
13829 2006-01-13 10:11  twisti
13830
13831         * codegen.h: Added when ENABLE_JIT defined.
13832         * codegen_addpatchref: Set lastmcodeptr when ENABLE_JIT is defined
13833         and the
13834         architecture requires it.
13835
13836 2006-01-13 10:09  twisti
13837
13838         * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
13839
13840 2006-01-12 23:54  twisti
13841
13842         * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
13843
13844 2006-01-12 23:33  twisti
13845
13846         * arch.h: Added.
13847         * GC_test_and_set: Removed 64-bit version since the 32-bit seems to be
13848         sufficient and works.
13849
13850 2006-01-12 23:31  twisti
13851
13852         * show_icmd: Use CLASS_IS_OR_ALMOST_INITIALIZED.
13853         * initialize_class: Use CLASS_IS_OR_ALMOST_INITIALIZED.
13854
13855 2006-01-12 23:30  twisti
13856
13857         * CLASS_IS_OR_ALMOST_INITIALIZED: Added.
13858
13859 2006-01-12 23:27  twisti
13860
13861         * GETSTATIC_FLOAT, PUTSTATIC_FLOAT, GETFIELD_FLOAT, PUTFIELD_FLOAT:
13862         Added.
13863         * PATCHER_GETSTATIC_FLOAT, PATCHER_PUTSTATIC_FLOAT,
13864         PATCHER_GETFIELD_FLOAT,
13865         PATCHER_PUTFIELD_FLOAT: Likewise.
13866         * TRACENATIVECALL: Removed codegen_findmethod, use methodinfo* from
13867         threaded code stream.
13868         * TRACECALL, TRACERETURN, TRACELRETURN: Likewise.
13869
13870 2006-01-12 23:23  twisti
13871
13872         * Some 64-bit big-endian bugfixes.
13873         * Use CLASS_IS_OR_ALMOST_INITIALIZED macro.
13874
13875 2006-01-12 23:21  twisti
13876
13877         * 64-bit big-endian bugfix: replace s4 with ptrint.
13878
13879 2006-01-12 23:10  twisti
13880
13881         * Imported for the interpreter.
13882
13883 2006-01-12 23:09  twisti
13884
13885         * Added powerpc64 target.
13886
13887 2006-01-12 23:08  twisti
13888
13889         * intrp_disassinstr, intrp_disassemble: Added.
13890
13891 2006-01-12 23:07  twisti
13892
13893         * vm/options.h: Added.
13894
13895 2006-01-12 23:05  twisti
13896
13897         * config.h, vm/types.h: Added.
13898
13899 2006-01-12 23:03  twisti
13900
13901         * Use ASM_CALLJAVAFUNCTION* macros.
13902
13903 2006-01-12 22:42  twisti
13904
13905         * thread_addstaticcritical: Quick hack: #ifdef ENABLE_JIT
13906         asm_criticalsections.
13907         * sigsuspend_handler: Quick hack: #ifdef ENABLE_JIT
13908         thread_restartcriticalsection.
13909
13910 2006-01-12 22:41  twisti
13911
13912         * vm/options.h: Added.
13913         * descriptor_pool_parse_method_descriptor: #ifdef ENABLE_JIT
13914         md_param_alloc
13915         call.
13916         * descriptor_params_from_paramtypes: Likewise.
13917
13918 2006-01-12 22:40  twisti
13919
13920         * Fixed a lot of compiler warnings (functionptr -> u1*).
13921
13922 2006-01-12 22:39  twisti
13923
13924         * regs: Removed.
13925         * disassinstr, disassemble: Prefixed with intrp_.
13926
13927 2006-01-12 22:38  twisti
13928
13929         * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
13930
13931 2006-01-12 22:37  twisti
13932
13933         * builtin_gen_table: #if function according to arch.h.
13934         * codegen: Prefixed with intrp_, usage of iptr->val.a and iptr->target
13935         changed.
13936         * codegen_createlinenumbertable: Renamed to
13937         dseg_createlinenumbertable.
13938         * createcompilerstub: Prefixed with intrp_.
13939         * createnativestub: Likewise.
13940
13941 2006-01-12 22:35  twisti
13942
13943         * verify_multianewarray: Usage iptr->val.a and iptr->target changed.
13944         * JAVA_MULTIANEWARRAY: Pass c in iptr->val.a and cr in iptr->target.
13945
13946 2006-01-12 22:34  twisti
13947
13948         * codegen_createnativestub: #ifdef ENABLE_JIT md_param_alloc call.
13949         * codegen_disassemble_nativestub: Use DISASSEMBLE macro.
13950
13951 2006-01-12 22:32  twisti
13952
13953         * analyse_stack: #ifdef ENBALE_JIT md_return_alloc call.
13954         * icmd_print_stack: Print regs correctly for jit.
13955         * show_icmd_method: Likewise.
13956
13957 2006-01-12 21:55  twisti
13958
13959         * builtintable_internal: Removed ICMD_CHECKCAST.
13960
13961 2006-01-12 21:39  twisti
13962
13963         * Prefixed functions with intrp_.
13964         * md_init, md_stacktrace_get_returnaddress: Prefixed with intrp_.
13965         * thread_restartcriticalsection, md_param_alloc, md_return_alloc:
13966         Removed.
13967
13968 2006-01-12 21:38  twisti
13969
13970         * Prefix functions with intrp_.
13971
13972 2006-01-12 21:37  twisti
13973
13974         * Use ptrint instead of s8 in some places.
13975
13976 2006-01-12 21:36  twisti
13977
13978         * Use DISASSINSTR macro.
13979
13980 2006-01-12 21:36  michi
13981
13982         * Comment updated (for asm_cacheflush)
13983
13984 2006-01-12 21:35  twisti
13985
13986         * intrp_createcompilerstub, intrp_createnativestub, intrp_codegen:
13987         Added.
13988         * codegen.h: Include only for some archs.
13989         * md-abi.h: Include only for arm.
13990         * codegen_init: Changed #ifdef to ENABLE_JIT.
13991         * codegen_createnativestub: Call reg_setup only for jit, #ifdef
13992         createnativestub to support interpreter.
13993
13994 2006-01-12 21:30  twisti
13995
13996         * intrp_md_stacktrace_get_returnaddress: Added.
13997         * cacao_stacktrace_fillInStackTrace: #ifdef
13998         md_stacktrace_get_returnaddress
13999         to support interpreter.
14000
14001 2006-01-12 21:29  twisti
14002
14003         * Seperate ENABLE_JIT and ENABLE_INTRP.
14004
14005 2006-01-12 21:17  twisti
14006
14007         * config.h: Added.
14008         * intrp_patcher_get_putstatic, intrp_patcher_get_putfield,
14009         intrp_patcher_aconst, intrp_patcher_builtin_multianewarray,
14010         intrp_patcher_builtin_arraycheckcast,
14011         intrp_patcher_invokestatic_special,
14012         intrp_patcher_invokevirtual, intrp_patcher_invokeinterface,
14013         intrp_patcher_checkcast_instanceof, intrp_patcher_resolve_native:
14014         Likewise.
14015
14016 2006-01-12 21:16  twisti
14017
14018         * jit_compile_intern: #ifdef codegen call to support interpreter, use
14019         DISASSEMBLE macro.
14020
14021 2006-01-12 21:15  twisti
14022
14023         * DISASSINSTR, DISASSEMBLE: Added.
14024
14025 2006-01-12 21:14  twisti
14026
14027         * Use ASM_CALLJAVAFUNCTION macro.
14028
14029 2006-01-12 21:13  twisti
14030
14031         * Use ASM_CALLJAVAFUNCTION_INT macro.
14032
14033 2006-01-12 21:11  twisti
14034
14035         * intrp_asm_calljavafunction, intrp_createcompilerstub,
14036         intrp_asm_getclassvalues_atomic: Added.
14037
14038 2006-01-12 21:08  twisti
14039
14040         * Use ASM_CALLJAVAFUNCTION macros.
14041         * main: #ifdef md_init call to support interpreter.
14042         * link_class_intern: #ifdef createcompilerstub call to support
14043         interpreter.
14044
14045 2006-01-12 21:07  twisti
14046
14047         * Use ASM_CALLJAVAFUNCTION macros.
14048
14049 2006-01-12 21:06  twisti
14050
14051         * Use ASM_CALLJAVAFUNCTION_ADR macro.
14052         * Use ASM_CALLJAVAFUNCTION macro.
14053
14054 2006-01-12 21:04  twisti
14055
14056         * intrp_md_init: Added.
14057
14058 2006-01-12 20:57  twisti
14059
14060         * Check explicitly for isnan.
14061
14062 2006-01-12 18:25  twisti
14063
14064         * print_dynamic_super_statistics: Added from intrp.
14065
14066 2006-01-12 18:09  michi
14067
14068         * Included md-abi.h (needed for REG_SPLIT on Arm)
14069
14070 2006-01-12 17:52  twisti
14071
14072         * We have to use a machine dependent arch.h.
14073
14074 2006-01-11 12:16  twisti
14075
14076         * vm/jit/codegen.inc.h: Removed.
14077         * Fixed compiler warnings.
14078
14079 2006-01-11 10:35  twisti
14080
14081         * ICMD_F2I, ICMD_D2I, ICMD_F2L, ICMD_D2L: #if 0.
14082
14083 2006-01-11 10:01  twisti
14084
14085         * SUPPORT_FMOD: Removed.
14086         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
14087         SUPPORT_L2F,
14088         SUPPORT_L2D.
14089         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
14090         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
14091
14092 2006-01-10 22:44  twisti
14093
14094         * SUPPORT_FMOD: Removed.
14095         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
14096         SUPPORT_L2F,
14097         SUPPORT_L2D.
14098         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
14099         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
14100
14101 2006-01-10 22:38  twisti
14102
14103         * SUPPORT_FMOD: Removed.
14104         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
14105         SUPPORT_L2F,
14106         SUPPORT_L2D.
14107         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
14108         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
14109
14110 2006-01-10 22:22  twisti
14111
14112         * EXTRA_DIST: Added ChangeLog-2005.
14113
14114 2006-01-10 22:18  twisti
14115
14116         * SUPPORT_FMOD: Removed.
14117         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
14118         SUPPORT_L2F,
14119         SUPPORT_L2D.
14120         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
14121         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
14122
14123 2006-01-10 22:11  twisti
14124
14125         * asm_getclassvalues_atomic: Replaced with ASM_GETCLASSVALUES_ATOMIC.
14126         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F or SUPPORT_I2D.
14127         * SUPPORT_FICVT: Replaced with SUPPORT_F2I.
14128         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F.
14129         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
14130
14131 2006-01-10 22:09  twisti
14132
14133         * ASM_CALLJAVAFUNCTION, ASM_CALLJAVAFUNCTION_ADR,
14134         ASM_CALLJAVAFUNCTION_INT,
14135         ASM_CALLJAVAFUNCTION2, ASM_CALLJAVAFUNCTION2_ADR,
14136         ASM_CALLJAVAFUNCTION2_INT, ASM_CALLJAVAFUNCTION2_LONG,
14137         ASM_CALLJAVAFUNCTION2_FLOAT, ASM_CALLJAVAFUNCTION2_DOUBLE: Macros
14138         added,
14139         these macros hide the selection between jit and intrp functions.
14140         * ASM_GETCLASSVALUES_ATOMIC: Likewise.
14141         * intrp_asm_calljavafunction, intrp_asm_calljavafunction_int: Added.
14142         * intrp_asm_calljavafunction2, intrp_asm_calljavafunction2int,
14143         intrp_asm_calljavafunction2long, intrp_asm_calljavafunction2float,
14144         intrp_asm_calljavafunction2double: Likewise.
14145         * intrp_asm_getclassvalues_atomic: Likewise.
14146
14147 2006-01-10 21:58  twisti
14148
14149         * SUPPORT_IFCVT: Replaced with SUPPORT_I2F or SUPPORT_I2D.
14150         * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
14151         * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2I, SUPPORT_F2L or
14152         SUPPORT_D2I,
14153         SUPPORT_D2L.
14154
14155 2006-01-10 21:11  twisti
14156
14157         * exceptions_throw_negativearraysizeexception: Use
14158         * builtin_throw_exception: #ifndef NDEBUG.
14159         * builtin_trace_exception: Likewise.
14160         * builtin_trace_args: Likewise.
14161         * builtin_displaymethodstop: Likewise.
14162         * builtin_*: #if the function regarding the defines in arch.h.
14163
14164 2006-01-10 20:57  twisti
14165
14166         * exceptions_throw_classformaterror,
14167         exceptions_throw_arrayindexoutofboundsexception,
14168         exceptions_throw_illegalargumentexception,
14169         exceptions_throw_negativearraysizeexception,
14170         exceptions_throw_nullpointerexception: Added.
14171         * exceptions_print_exception: #ifndef NDEBUG.
14172
14173 2006-01-10 20:56  twisti
14174
14175         * exceptions_throw_classformaterror: Use this function.
14176
14177 2006-01-10 20:55  twisti
14178
14179         * exceptions_throw_nullpointerexception: Use this function.
14180
14181 2006-01-10 20:50  twisti
14182
14183         * exceptions_throw_nullpointerexception,
14184         exceptions_throw_arrayindexoutofboundsexception: Use these
14185         functions.
14186
14187 2006-01-10 20:48  twisti
14188
14189         * exceptions_throw_nullpointerexception,
14190         exceptions_throw_illegalargumentexception: Use these functions.
14191
14192 2006-01-10 20:46  twisti
14193
14194         * exceptions_throw_illegalargumentexception,
14195         exceptions_throw_negativearraysizeexception,
14196         exceptions_throw_arrayindexoutofboundsexception,
14197         exceptions_throw_nullpointerexception: Use these functions.
14198
14199 2006-01-10 20:44  twisti
14200
14201         * exceptions_throw_classformaterror,
14202         exceptions_throw_negativearraysizeexception,
14203         exceptions_throw_nullpointerexception: Added.
14204
14205 2006-01-10 15:52  twisti
14206
14207         * Not required anymore.
14208
14209 2006-01-10 15:50  twisti
14210
14211         * use_class_as_object, create_property, copy_vftbl, create_methodsig:
14212         Removed.
14213         * classMeth, nativeCall, methodCall, nativeMethod, nativeCompCall,
14214         methodCompCall, nativeCompMethod: Likewise.
14215         * natcall2utf, printNativeCall, markNativeMethodsRT: Likewise.
14216
14217 2006-01-10 15:48  twisti
14218
14219         * nativeCalls, nativeCompCalls: Removed.
14220         * copy_vftbl, create_methodsig: Likewise.
14221         * printNativeCall, printCompNativeCall, findNativeMethodCalls,
14222         findNativeClassCalls, utfNativeCall, natcall2utf: Likewise.
14223
14224 2006-01-10 10:59  twisti
14225
14226         * codegen_ncode_increase: Typo.
14227
14228 2006-01-09 20:52  twisti
14229
14230         * disass_buf: Fixed typo.
14231
14232 2006-01-09 20:28  twisti
14233
14234         * disass_printf: Ooops, #ifdef was wrong.
14235
14236 2006-01-09 20:19  twisti
14237
14238         * Removed, we now link against libbfd and libopcodes.
14239         * stdarg.h, string.h, assert.h, vm/jit/powerpc/dis-asm.h: Removed.
14240         * dis-asm.h, stdio.h, vm/jit/disass.h: Added.
14241         * myprintf, buffer_read_memory, perror_memory, generic_print_address,
14242         generic_symbol_at_address, bfd_getb32, bfd_getl32, sprintf_vma:
14243         Removed.
14244         * Use disass-common.c stuff.
14245
14246 2006-01-09 20:15  twisti
14247
14248         * libarch_la_SOURCES: Removed dis-asm.h, ppc-dis.c, ppc-opc.c and
14249         ppc.h.
14250
14251 2006-01-09 19:21  twisti
14252
14253         * assert.h, stdarg.h, vm/jit/x86_64/dis-asm.h: Removed.
14254         * stdio.h, vm/jit/disass.h: Added.
14255         * myprintf, buffer_read_memory, generic_symbol_at_address,
14256         generic_print_address, perror_memory: Likewise.
14257         * Use disass-common.c stuff.
14258
14259 2006-01-09 16:37  twisti
14260
14261         * string.h, vm/jit/i386/dis-asm.h: Removed.
14262         * mylinebuf, mylen: Likewise.
14263         * myprintf, buffer_read_memory, generic_symbol_at_address,
14264         generic_print_address, perror_memory: Likewise.
14265         * Use disass-common.c stuff.
14266
14267 2006-01-09 16:36  twisti
14268
14269         * WITH_BINUTILS_DISASSEMBLER: Added, define DISASS_OBJ.
14270         * noinst_LTLIBRARIES: Added DISASS_OBJ.
14271
14272 2006-01-09 16:30  twisti
14273
14274         * This file contains the common functions required when we use the
14275         binutils
14276         disassembler.
14277
14278 2006-01-09 16:29  twisti
14279
14280         * WITH_BINUTILS_DISASSEMBLER: Added.
14281         * disass_printf: Added.
14282
14283 2006-01-09 16:26  twisti
14284
14285         * WITH_BINUTILS_DISASSEMBLER: Added.
14286
14287 2006-01-09 12:12  twisti
14288
14289         * Removed, we now link against libbfd and libopcodes.
14290
14291 2006-01-09 12:10  twisti
14292
14293         * libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c.
14294
14295 2006-01-09 10:37  twisti
14296
14297         * AC_CHECK_HEADER checks for ansidecl.h, bfd.h and symcat.h removed.
14298         * AC_CHECK_HEADER check for dis-asm.h added.
14299         * AC_CHECK_LIB checks for libbfd and libopcodes added.
14300
14301 2006-01-09 10:35  twisti
14302
14303         * Removed, we now link against libbfd and libopcodes.
14304         * libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c, we now link
14305         against
14306         libbfd and libopcodes.
14307
14308 2006-01-08 23:37  twisti
14309
14310         * Updated from GNU Classpath:
14311         
14312         2005-12-17 Guilhem Lavaux <guilhem@kaffe.org>
14313         
14314         * native/fdlibm/fdlibm.h
14315         (isnan): Define explicitly isnan if it is not a macro.
14316
14317 2006-01-08 23:00  twisti
14318
14319         * loader_load_all_classes: Print exception when loading failed.
14320
14321 2006-01-08 22:38  twisti
14322
14323         * SUCK_xx_xx: We can only optimize little endian loads on i386 and
14324         x86_64
14325         machines. All others have problems with alignment.
14326
14327 2006-01-08 22:12  twisti
14328
14329         * Ignore *.class files.
14330
14331 2006-01-08 22:11  twisti
14332
14333         * java-assert.h: Unused, removed.
14334
14335 2006-01-08 22:01  twisti
14336
14337         * Added VM interface change to be consistent:
14338         
14339         2005-11-13 Archie Cobbs <archie@dellroad.org>
14340         
14341         * vm/reference/gnu/classpath/VMStackWalker.java (getClassLoader()):
14342         added to fix an infinite loop bug.
14343         * NEWS: note VM interface change.
14344
14345 2006-01-08 21:32  twisti
14346
14347         * suck_add: Check for lce != NULL before adding it to the list, since
14348         zip_open can return NULL.
14349
14350 2006-01-08 19:14  twisti
14351
14352         * JAVAC: Removed.
14353
14354 2006-01-08 19:13  twisti
14355
14356         * SOURCE_FILES: Added.
14357         * JAVAC: Removed.
14358         * checkall: Renamed to check.
14359
14360 2006-01-08 19:12  twisti
14361
14362         * Use $(mkdir_p), $(JAVAC) and $(ZIP) variables.
14363
14364 2006-01-08 19:11  twisti
14365
14366         * AM_PROG_MKDIR_P: Added.
14367         * Added headers checks for ansidecl.h, bfd.h, and symcat.h if we have
14368         debugging enabled.
14369         * AC_PROG_JAVAC: Added.
14370         * AC_PATH_PROG: Added check for zip.
14371
14372 2006-01-08 19:09  twisti
14373
14374         * Macros to check for a Java compiler, taken from
14375         http://ac-archive.sourceforge.net/.
14376
14377 2006-01-04 09:35  twisti
14378
14379         * Removed src/toolbox/avl.[ch] copyright.
14380
14381 2006-01-04 09:34  twisti
14382
14383         * avl_dump: Only print node->data.
14384
14385 2006-01-03 23:46  twisti
14386
14387         * Use new avl tree code.
14388         * Rewritten.
14389
14390 2006-01-03 23:44  twisti
14391
14392         * exit_handler: Removed print_dynamic_super_statistics.
14393         * print_stats: Added print_dynamic_super_statistics.
14394
14395 2006-01-03 23:43  twisti
14396
14397         * threads.h: Added.
14398         * builtin.h: Likewise.
14399
14400 2006-01-03 23:08  twisti
14401
14402         * CallNonvirtualBooleanMethodA: Added missing ;.
14403
14404 2006-01-03 23:05  twisti
14405
14406         * ENABLE_STATISTICS: Fixed typo.
14407
14408 2006-01-02 21:01  christian
14409
14410         typeing error
14411
14412 2006-01-02 17:13  twisti
14413
14414         * nregdescint, nregdescfloat: Moved to md-abi.c.
14415
14416 2006-01-02 17:12  twisti
14417
14418         * nregdescint, nregdescfloat: Added.
14419
14420 2006-01-02 17:11  twisti
14421
14422         * noinst_HEADERS: Removed md-abi.inc.
14423
14424 2006-01-02 16:40  twisti
14425
14426         * signal_handler_sigsegv: Replaced functionptr with u1*.
14427
14428 2006-01-02 16:18  twisti
14429
14430         * nregdescint, nregdescfloat: Moved to md-abi.c.
14431
14432 2006-01-02 16:17  twisti
14433
14434         * nregdescint, nregdescfloat: Added.
14435         * noinst_HEADERS: Removed md-abi.inc.
14436
14437 2006-01-02 16:12  twisti
14438
14439         * INCLUDES: Added OS_DIR, some archs have their md-abi.* files in the
14440         os
14441         directory.
14442
14443 2006-01-02 16:08  christian
14444
14445         *** empty log message ***
14446
14447 2006-01-02 16:04  twisti
14448
14449         * nregdescint, nregdescfloat: Moved to md-abi.c.
14450
14451 2006-01-02 16:03  twisti
14452
14453         * nregdescint, nregdescfloat: Added.
14454         * noinst_HEADERS: Removed md-abi.inc.
14455
14456 2006-01-02 14:32  christian
14457
14458         Removed old debug message
14459
14460 2006-01-02 14:26  twisti
14461
14462         * md-abi.inc: Removed.
14463
14464 2006-01-02 14:25  twisti
14465
14466         * nregdescint, nregdescfloat: Moved to md-abi.c.
14467
14468 2006-01-02 14:24  twisti
14469
14470         * nregdescint, nregdescfloat: Added.
14471         * noinst_HEADERS: Removed md-abi.inc.
14472
14473 2006-01-02 14:11  christian
14474
14475         Corrected \"\" to \<\> for system header include
14476
14477 2006-01-02 14:07  twisti
14478
14479         * nregdescint, nregdescfloat: Moved to md-abi.c.
14480         * noinst_HEADERS: Removed md-abi.inc.
14481
14482 2006-01-02 14:06  twisti
14483
14484         * nregdescint, nregdescfloat: Added.
14485         * disassinstr: Some code improvement.
14486
14487 2006-01-02 14:05  twisti
14488
14489         * md-abi.inc: Removed.
14490
14491 2006-01-02 13:05  christian
14492
14493         Changed register allocator .inc to .c files and moved them to
14494         src/vm/jit/allocator
14495
14496 2006-01-02 12:59  christian
14497
14498         Changed register allocator .inc to .c files and moved them to
14499         src/vm/jit/allocator
14500
14501 2006-01-02 12:22  twisti
14502
14503         * Fixed result message for debug.
14504
14505 2006-01-02 12:10  twisti
14506
14507         * Typo.
14508
14509 2006-01-02 12:04  twisti
14510
14511         * Added ltdl.h check.
14512
14513 2006-01-02 11:34  twisti
14514
14515         * Fixed ltdl.h include path.
14516
14517 2006-01-02 01:34  twisti
14518
14519         * Fixed ltdl.h include path.
14520
14521 2006-01-02 01:15  twisti
14522
14523         * I don't think we really need them, but they are still in Attic.
14524
14525 2006-01-02 01:10  twisti
14526
14527         * Generated changelog for 2005.
14528
14529 2006-01-02 01:05  twisti
14530
14531         * unzip.[ch], libffi, libltdl: Removed.
14532
14533 2006-01-01 21:53  twisti
14534
14535         * Removed libltdl.
14536
14537 2006-01-01 21:38  twisti
14538
14539         * We now use the system libltdl.
14540
14541 2006-01-01 21:32  twisti
14542
14543         * Changed text of kaffe's stuff, dalibor pointed this out.
14544
14545 2006-01-01 21:29  twisti
14546
14547         * AC_LIBLTDL_CONVENIENCE, AC_SUBST(LIBLTDL): Removed.
14548         * AC_COMPILE_CHECK_SIZEOF: Replaced with AC_CHECK_SIZEOF.
14549
14550 2006-01-01 21:22  twisti
14551
14552         * m4 macros have a different copyright header.
14553
14554 2006-01-01 21:13  twisti
14555
14556         * Lists all third party software we use. This list contains all
14557         stuff we
14558         used in 0.93. Stuff that has been ripped will be deleted after that
14559         commit, this is for the records.
14560
14561 2006-01-01 20:55  twisti
14562
14563         * Not required.
14564
14565 2006-01-01 19:39  twisti
14566
14567         * Removed libltdlc.la.
14568         * DIST_SUBDIRS: Removed libltdl.
14569         * SUBDIRS: Likewise.
14570
14571 2006-01-01 19:38  twisti
14572
14573         * Added libltdl check.
14574         * AC_CONFIG_SUBDIRS: Removed src/libltdl.
14575
14576 2006-01-01 18:39  twisti
14577
14578         * libarch_la_SOURCES: Removed symcat.h.
14579
14580 2006-01-01 18:34  twisti
14581
14582         * Use system one.
14583
14584 2006-01-01 18:33  twisti
14585
14586         * libarch_la_SOURCES: Removed symcat.h.
14587
14588 2006-01-01 18:30  twisti
14589
14590         * generic_symbol_at_address: Print only 8 bytes.
14591
14592 2006-01-01 18:21  twisti
14593
14594         * Use system ones.
14595         * generic_symbol_at_address: Added, they were implemented in dis-buf.c
14596         which was removed.
14597         * generic_print_address: Likewise.
14598         * perror_memory: Likewise.
14599
14600 2006-01-01 18:20  twisti
14601
14602         * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c.
14603         * config.h, vm/jit/codegen-common.h: Added.
14604
14605 2006-01-01 16:40  twisti
14606
14607         * Changed include to use system headers.
14608
14609 2006-01-01 16:39  twisti
14610
14611         * Use system ones.
14612         * generic_symbol_at_address: Added, they were implemented in dis-buf.c
14613         which was removed.
14614         * generic_print_address: Likewise.
14615         * perror_memory: Likewise.
14616
14617 2006-01-01 16:37  twisti
14618
14619         * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c.
14620
14621 2006-01-01 16:35  twisti
14622
14623         * DEC OSF cc only defines __alpha.
14624
14625 2006-01-01 16:34  twisti
14626
14627         * class_resolvefield: Renamed except to throwexception since some
14628         compilers
14629         have a builtin except macro (like DEC OSF cc).
14630         * class_resolveclassmethod: Likewise.
14631         * class_resolveinterfacemethod: Likewise.
14632
14633 2006-01-01 16:31  twisti
14634
14635         * zip_open: Handle compiler error with DEC OSF's cc.