1 2006-10-30 23:52 twisti
3 * configure.ac (AC_INIT): Changed version to 0.97.
4 (--enable-threads): Removed green from help string.
6 2006-10-30 13:03 twisti
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.
17 2006-10-30 12:27 twisti
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.
36 2006-10-30 11:52 edwin
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.
42 * src/threads/native/threads.h (threadobject): Made _global_sp a
44 * src/threads/native/threads.c: Likewise.
46 2006-10-30 11:21 edwin
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.
57 2006-10-30 11:04 edwin
59 * src/threads/native/threads.c (threads_dump): Cast pthread_t to long
62 2006-10-30 11:00 edwin
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
74 2006-10-30 10:32 edwin
76 * src/vm/jit/verify/typecheck-common.c (typecheck_init_flags): Removed
77 set-but-not-used variable `i`.
79 2006-10-30 10:31 edwin
81 * src/vm/jit/verify/typecheck-builtins.inc: Removed set-but-not-used
84 2006-10-30 10:15 edwin
86 * src/vm/jit/alpha/codegen.c (codegen): Zero `uf` to avoid warning.
88 2006-10-30 00:45 edwin
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.
95 2006-10-29 23:43 edwin
97 * src/vm/jit/jit.h (stackelement): Removed the obsolete fields
98 `typeinfo` and `regoff`.
100 2006-10-29 23:37 edwin
102 * src/vm/jit/stack.c (stack_grow_variable_array): Zero the additional
103 space when reallocating the jd->var array.
105 * src/vm/jit/parse.c (parse_realloc_instructions): Zero the
106 additional space when reallocating the instructions array.
108 2006-10-29 23:33 edwin
110 * src/vm/jit/parse.c (parse): Fix in ICMD_TABLESWITCH: Put table into
113 2006-10-29 23:23 edwin
117 2006-10-29 16:21 edwin
119 * src/vm/suck.c (stdlib.h): Include to avoid warning about `free`.
121 2006-10-29 16:14 edwin
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.
127 2006-10-29 14:49 twisti
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.
134 2006-10-29 11:15 edwin
136 * src/cacaoh/headers.c (vm_abort): Print the error message before
139 2006-10-28 19:40 twisti
143 2006-10-28 19:26 twisti
145 * src/vm/jit/dseg.c (dseg_find_float): Compare hex value.
146 (dseg_find_double): Likewise.
148 2006-10-28 17:45 twisti
150 * NEWS: Added some stuff.
152 2006-10-28 17:15 edwin
154 * NEWS: Added news for CACAO 0.97.
156 2006-10-28 16:55 edwin
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.
163 2006-10-28 16:51 edwin
165 * src/vm/jit/stack.c (stack_analyse): Store vartop in jitdata.
167 * src/vm/jit/show.c (show_method): Show number of variables.
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.
177 * tests/regression/jasmin/Makefile.am: Added new tests.
179 2006-10-28 15:21 edwin
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.
185 2006-10-28 13:02 edwin
187 * src/vm/access.c (ACCESS_ASSERT): Replaced with assert. Because of
188 a mistake in the definition of ACCESS_DEBUG, ACCESS_ASSERT always
190 (access_is_accessible_member): Fixed assertion.
192 2006-10-28 12:53 edwin
194 * src/vm/loader.c (LOADER_ASSERT): Replaced with assert.
196 2006-10-28 12:49 edwin
198 * src/vm/class.c (CLASS_ASSERT): Replaced by assert.
200 2006-10-28 12:47 edwin
202 * src/vm/class.c (class_array_of): Release dump memory.
203 (class_multiarray_of): Likewise.
204 (class_get_classref_multiarray_of): Likewise.
206 2006-10-27 10:41 twisti
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
216 [ENABLE_VERIFIER]: Added for flag setting.
217 * src/vm/jit/codegen-common.c (codegen_createnativestub)
218 [ENABLE_PROFILING]: Added for opt_prof stuff.
220 2006-10-26 16:41 edwin
222 * src/vm/jit/alpha/codegen.c (codegen): Declare variables at the start
225 2006-10-26 12:05 twisti
227 * src/vm/jit/powerpc/codegen.c (codegen): Made fieldinfo and
228 unresolved_field fucntion variables, fieldtype was uninitialized for
231 2006-10-26 11:57 twisti
233 * src/vm/jit/x86_64/codegen.c (codegen): Made fieldinfo and
234 unresolved_field function variables (it makes the code more readable).
236 2006-10-26 11:47 edwin
238 * src/vm/jit/alpha/codegen.c (codegen): Fixed ICMD_PUTFIELD: Set
239 fieldtype before it is used. Fixed warnings.
241 * src/vm/jit/mips/codegen.c (codegen): Prevent warnings.
243 2006-10-26 11:35 twisti
245 * NEWS: Added some 0.97 news.
247 2006-10-26 11:30 twisti
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.
254 2006-10-26 11:29 edwin
256 * src/vm/jit/intrp/codegen.c (codegen): Initialize uf to NULL for
257 resolved fields, to avoid warnings.
259 * src/vm/jit/intrp/engine.c (engine): Initialize
260 classcastexception_object and arrayindexoutofbounds_index to avoid
263 2006-10-26 11:23 edwin
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.
269 2006-10-26 11:19 edwin
271 * src/vm/jit/show.c (show_icmd): Fixed warning fix.
273 2006-10-26 11:18 edwin
275 * src/threads/native/threads.c (threads_table_dump): Fix warning (the
276 function is currently unused, but may become handy again.)
278 2006-10-26 11:15 edwin
280 * src/vm/jit/show.c (show_method): Fixed warning.
281 (show_basicblock): Likewise.
282 (show_icmd): Likewise.
284 2006-10-26 11:04 twisti
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.
291 2006-10-26 10:34 twisti
293 * src/vm/jit/mips/md-abi.h: Fixed MIPS64 compilation and backported
296 2006-10-26 10:09 twisti
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).
302 2006-10-26 09:55 twisti
304 * src/vm/jit/mips/codegen.c (codegen): More comment and brace changes.
306 2006-10-26 09:44 twisti
308 * src/vm/jit/mips/codegen.c (codegen): Comment and brace changes.
310 2006-10-26 09:29 twisti
312 * src/vm/jit/mips/md-asm.h: Renamed t8 to t4 and removed t9, as it's
314 * src/vm/jit/mips/asmpart.S: Likewise.
316 2006-10-25 14:26 tbfg
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.
321 * src/vm/jit/powerpc64/emit.c (emit_lconst): Added.
322 (emit_iconst): Reformatted.
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.
328 * src/vm/jit/powerpc64/asmpart.S:
329 Partially fixed exception path.
330 (asm_cacheflush): Fixed.
332 * src/vm/jit/powerpc64/codegen.h (LCONST): Implemented.
334 * tests/if_tests.java: Added simple testcase for if and compare.
336 2006-10-24 23:24 edwin
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.
345 * src/vm/string.c (javastring_safe_new_from_utf8): Pass number of
346 bytes to the decoding functions.
348 2006-10-24 17:51 edwin
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.
354 2006-10-24 16:41 edwin
356 * src/vm/utf8.h, src/vm/utf8.c (utf8_safe_number_of_u2s): New
358 (utf8_safe_convert_to_u2s): Likewise.
360 * src/vm/stringlocal.h, src/vm/string.c
361 (javastring_safe_new_from_utf8): New function.
363 * src/native/jni.c (_Jv_JNI_NewStringUTF): Use the new functions for
366 2006-10-24 11:17 twisti
368 * src/vm/jit/dseg.c (dseg_display): Rewritten.
370 2006-10-22 04:28 ajordan
372 * src/vm/jit/sparc64/codegen.h: fixed M_SAVE.
374 * src/vm/jit/sparc64/disass.c: configuring disass for big-endian.
376 2006-10-22 02:49 ajordan
378 * src/vm/jit/sparc64/emit.c: Implemented trace enter/exit functions.
379 * src/vm/jit/sparc64/codegen.c: Likewise.
381 * src/vm/jit/sparc64/md.c: Implemented md_get_method_patch_address.
383 * src/vm/jit/sparc64/asmpart.S(asm_call_jit_compiler): Fixed window
386 * src/vm/jit/sparc64/disass.c: Fixed disassembly printing.
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.
392 2006-10-22 00:38 edwin
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
399 * tests/regression/extest.2output: Changed line numbers to
400 the values same the RI returns, which are correct upon inspection
403 2006-10-21 15:06 edwin
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.
408 2006-10-20 18:35 twisti
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.
414 2006-10-20 14:53 twisti
416 * src/vm/jit/jit.c (jit_init) [ENABLE_JIT]: Call stack_init only for
418 [ENABLE_JIT] (jit_asm_compile): Only for JIT.
420 * src/vm/jit/Makefile.am (SUBDIRS) [ENABLE_JIT]: Add allocator only
422 (libjit_la_SOURCES) [ENABLE_JIT]: Compile reg.[ch], replace.[ch] and
423 stack.[ch] only for JIT.
425 * src/cacaoh/headers.c [ENABLE_INTRP] (intrp_asm_abstractmethoderror):
428 2006-10-20 14:26 twisti
430 * src/vm/linker.c (link_class_intern): Handle AbstractMethodError for
431 interpreter (missed this one in the last commit).
433 2006-10-20 14:22 twisti
435 * src/vm/jit/intrp/asmpart.c (intrp_asm_abstractmethoderror): Added.
436 * src/vm/jit/asmpart.h [ENABLE_INTRP] (intrp_asm_abstractmethoderror):
438 * src/vm/linker.c (linker_addinterface): Handle AbstractMethodError
441 2006-10-20 13:58 twisti
443 * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Removed
444 unused ld_library_path.
446 2006-10-20 13:54 twisti
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.
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.
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.
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.
469 * src/cacaoh/headers.c (_Jv_bootclasspath): Added.
471 * contrib/setenvinstalled.in: Set LD_LIBRARY_PATH again.
472 * contrib/setenvsource.in: Likewise.
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.
480 2006-10-20 13:09 twisti
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
487 * src/vm/vm.c (vm_create): Call threads_preinit before gc_init.
488 * src/cacaoh/cacaoh.c (main): Likewise.
490 2006-10-20 12:00 twisti
492 * src/vm/exceptions.c [ENABLE_JIT] (exceptions_handle_exception): Only
495 2006-10-20 00:37 ajordan
497 * src/mm/memory.c: fixed typo in _no_threads_dumpinfo definition
499 2006-10-19 10:10 twisti
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.
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.
511 * src/vm/signal.c (signal_init): Register SIGHUP.
512 (signal_handler_sighup): Added.
514 2006-10-19 09:32 twisti
516 * src/vm/jit/stacktrace.c (stacktrace_dump_trace): Changed signature.
517 * src/vm/jit/stacktrace.h: Likewise.
519 * src/vm/jit/codegen-common.c (codegen_get_pv_from_pc): Pass
520 threadobject to stacktrace_dump_trace.
522 * src/vm/signal.c (signal_init): Don't register SIGUSR1.
523 (signal_handler_sigusr1): Removed.
525 * src/native/jni.h: Include GNU Classpath JNI header before we define
527 (localref_table): Forward typedef.
529 * src/threads/native/threads.c (threads_dump): Pass threadobject to
530 stacktrace_dump_trace.
532 * src/cacaoh/headers.c (stacktrace_dump_trace): Added.
534 2006-10-19 09:27 twisti
536 * src/threads/native/threads.h (threadobject, threads_table_entry_t)
537 (threads_table_t): Forward typedef.
538 (threadobject): Changed dumpinfo to dumpinfo_t.
540 2006-10-19 09:25 twisti
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.
547 2006-10-19 09:23 twisti
549 * src/vm/jit/powerpc/codegen.c (codegen): Warning fixes.
551 2006-10-18 16:55 edwin
553 * src/vm/jit/codegen-common.c (codegen_createnativestub): Initialize
556 2006-10-18 16:27 edwin
558 * tests/regression/jasmin/runtest: Removed debugging `tee TEST`.
559 * tests/regression/jasmin/Makefile.am (CLEANFILES): Added file
562 2006-10-18 16:19 edwin
564 * tests/regression/jasmin/Makefile.am (SOURCE_FILES): Use EXTRA_DIST,
567 2006-10-18 15:57 edwin
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.
572 2006-10-18 15:27 twisti
574 * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added powerpc64.
576 2006-10-18 15:19 twisti
578 * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added optimizing.
580 2006-10-18 15:14 twisti
582 * src/vm/jit/sparc64/Makefile.am (libarch_la_SOURCES): Removed md.h.
584 2006-10-18 15:09 twisti
586 * src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Renamed md-emit.h
589 2006-10-18 15:04 twisti
591 * configure.ac (AC_INIT): Changed to version 0.97rc.
592 (CFLAGS): Changed to -O2.
594 2006-10-18 14:53 edwin
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.
601 2006-10-16 09:59 edwin
603 * src/vm/jit/parse.c (parse_resolve_exception_table): Do not use
607 * src/vm/jit/stack.c (stack_analyse): Likewise.
609 2006-10-16 09:02 twisti
611 * src/vm/jit/allocator/simplereg.c [ENABLE_STATISTICS]
612 (simplereg_make_statistics): Don't print this INREGISTER stuff.
614 2006-10-16 08:53 twisti
616 * src/vm/jit/jit.c (jit_compile_intern) [ENABLE_STATISTICS]:
617 exceptiontablelength is now in jitdata.
619 2006-10-16 00:05 ajordan
621 * src/vm/jit/sparc64/codegen.c: Ported to unified variables.
622 * src/vm/jit/sparc64/emit.c: Likewise.
624 * src/vm/jit/sparc64/md.c: Implemented md_codegen_get_pv_from_pc.
626 * src/vm/jit/sparc64/codegen.h: Some fixes.
627 * src/vm/jit/sparc64/asmpart.S: Likewise.
629 2006-10-15 22:44 edwin
631 * src/vm/linker.c (link_class_intern): Removed unused variable.
633 2006-10-15 22:25 edwin
635 * src/vm/jit/jit.h (exception_entry): New struct.
636 (jitdata): Added exceptiontable fields. Cleaned up.
638 * src/vm/exceptions.h (exceptionentry): Removed.
640 * src/vm/jit/dseg.h (dseg_exception_entry): New struct.
642 * src/vm/jit/stack.h (BLOCK_OF): Moved to parse.h.
643 * src/vm/jit/parse.h (BLOCK_OF): Added.
645 * src/vm/jit/codegen-common.h (codegendata): Removed exceptiontable
646 and exceptiontablelength.
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.
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.
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):
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):
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.
689 * src/vm/jit/codegen-common.c (codegen_setup): Removed exceptiontable
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
699 * src/vm/jit/intrp/asmpart.c (exceptionentry): Renamed to
700 dseg_exception_entry.
701 * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
703 * src/vm/linker.c (link_class_intern): Do not resolve exception
704 classes here. This is now done in parse.c.
706 2006-10-15 13:52 edwin
708 * src/vm/jit/jit.h: Indentation cleanup.
710 2006-10-15 13:37 edwin
712 * src/vm/jit/jit.h (flags_operand_t): Removed `fields` struct. It was
713 not safe to use, as defined.
715 2006-10-15 13:19 edwin
717 * src/vm/jit/jit.h (flags_operand_t): Removed unused argcount.
718 (ACONST_LOAD): Removed.
719 (ACONST_BUILTIN): Removed.
721 2006-10-15 12:59 edwin
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.
727 * src/vm/jit/jit.c (jit_compile_intern): Renumber basic blocks after
729 (jit_check_basicblock_numbers): Made stricter.
731 * src/vm/jit/stack.c (stack_append_block): Set basic block numbers
733 (stack_clone_block): Do not set bptr->nr here.
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.
739 * src/vm/jit/verify/typecheck-stackbased.c (typecheck_stackbased):
740 Check basic block numbers.
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.
747 2006-10-15 12:20 edwin
749 * src/vm/jit/jit.c (jit_renumber_basicblocks): New function.
750 (jit_check_basicblock_numbers): Likewise.
751 (jit_init): Removed obsolete variable `i`.
753 * src/vm/jit/jit.h (jit_renumber_basicblocks): New function.
754 (jit_check_basicblock_numbers): Likewise.
756 2006-10-14 19:12 twisti
758 * src/native/jni.c (_Jv_JNI_DetachCurrentThread): Made
759 --disable-threads-safe.
761 2006-10-13 18:29 edwin
763 * tests/regression/jasmin/Makefile.am: Added new tests.
765 2006-10-13 18:25 edwin
767 * src/vm/jit/verify/icmds.c: Check basic types of instance for field
769 * src/vm/jit/verify/typecheck-fields.inc: Check basic type of value.
771 * src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
772 * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
774 * src/vm/jit/verify/typecheck.c (verify_fieldaccess): Define
775 VERIFY_ERROR for the include file.
777 * src/vm/jit/verify/typecheck-stackbased.c (VERIFY_ERROR): Fixed
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:
793 * tests/regression/jasmin/runtest: Look for specified ICMDs in -sia
796 2006-10-13 17:06 tbfg
798 * src/vm/jit/powerpc64/md.c (md_get_method_patch_address): Fixed
801 * src/vm/jit/powerpc64/codegen.c: Added credits.
803 * src/vm/jit/powerpc64/asmpart.S (asm_handle_nat_exception): Fixed
804 exception handling code. Added credits.
806 2006-10-13 16:30 edwin
808 * src/vm/jit/verify/typecheck-fields.inc: Re-activate stack overflow
811 * src/vm/jit/verify/typecheck-common.h (verifier_state): Added field
814 * src/vm/jit/verify/typecheck-stackbased.c (CHECK_STACK_DEPTH):
816 (CHECK_STACK_SPACE): Cleaned up.
817 (typecheck_stackbased_verify_fieldaccess): Check for stack overflow.
818 (typecheck_stackbased): Moved stackceiling into state.
820 2006-10-13 16:06 edwin
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
826 2006-10-13 14:34 edwin
828 * src/vm/jit/verify/typecheck.c (verify_basic_block): Use generated
831 * src/vm/jit/verify/typecheck-stackbased-gen.inc: New file, GENERATED!
832 * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
834 * src/vm/jit/verify/typecheck.h (typecheck_stackbased): Added.
836 * src/vm/jit/verify/Makefile.am: Added source files for both generated
839 * src/vm/jit/jit.c (jit_compile_intern): Call the stack-based verifier
842 * src/vm/vm.c (vm_create): Re-enable verification fot the interpreter.
844 2006-10-13 14:22 edwin
846 * src/vm/jit/verify/generate.pl: Clearly mark generated code.
848 2006-10-13 14:00 edwin
850 * src/vm/jit/icmdtable.inc: Documented prettily.
852 2006-10-13 13:11 edwin
854 * src/vm/jit/jit.h (op_data): Removed.
855 (stackreq): Moved to a more logical place.
857 * src/vm/jit/jit.c (op_data): Removed.
858 (jit_init): Removed code initializing op_data.
860 * src/vm/jit/optimizing/lifetimes.c (LifeOutAtStatement): Use
862 * src/vm/jit/optimizing/ssa.c (dead_code_elimination): Likewise.
864 2006-10-13 12:49 edwin
866 * src/vm/jit/jit.h (icmd_table): Added.
867 (icmd_names): Removed.
869 * src/vm/jit/jit.c (icmd_table): Added.
870 (icmd_names): Removed.
872 * src/vm/jit/show.c (show_icmd): Use icmd_table.
873 * src/vm/jit/optimizing/ssa.c (dead_code_elimination): Likewise.
875 2006-10-13 12:47 edwin
877 * src/vm/resolve.c: Removed obsolete debug prints.
879 2006-10-13 11:57 edwin
881 * src/vm/jit/jit.h: Added DF_ constants for ICMD table.
883 Added ICMDTABLE_ constants.
884 (icmdtable_entry_t): New struct.
886 2006-10-13 11:28 edwin
888 * src/vm/jit/icmdtable.inc: New file. Not used, yet.
889 * src/vm/jit/Makefile.am: Added new file.
891 2006-10-13 11:27 edwin
893 * src/vm/jit/verify/generate.pl: Omit comma at end of ICMD table.
895 2006-10-13 11:11 edwin
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.
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.
907 2006-10-13 10:36 edwin
909 * src/vm/jit/verify/typeinfo.c (typevector_store): Remove obsolete
912 2006-10-13 10:33 edwin
914 * src/vm/jit/stack.c (stack_analyse): Set iptr->dst for CHECKNULL.
916 2006-10-13 00:47 edwin
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.
926 (builtin_isanysubclass_vftbl): Likewise.
928 2006-10-12 23:34 edwin
930 * src/vm/jit/stack.c (stack_check_invars): Bugfix: Only set flags to
931 BBTYPECHECK_REACHED if the block has already been analysed.
933 (stack_check_invars_from_outvars): Likewise.
935 2006-10-12 20:06 twisti
937 * src/vm/jit/cfg.c (cfg_build): Check for EXH basic blocks in
940 2006-10-12 15:59 edwin
942 * tests/regression/jasmin/runtest: Added timeout capability.
944 2006-10-12 15:22 edwin
946 * src/vm/jit/verify/typecheck-common.h (typecheck_print_statistics):
948 (typecheck_jsr_t): New struct.
949 (typecheck_jsr_caller_t): Likewise.
950 (verifier_state): Added fields for stackbased verifier.
952 2006-10-12 15:07 edwin
954 * src/vm/jit/verify/typecheck-common.c: Made debugging and statistics
956 * src/vm/jit/verify/typecheck-common.h: Likewise.
958 2006-10-12 14:52 edwin
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.
964 2006-10-12 14:42 edwin
966 * src/vm/jit/verify/typecheck-common.c: Include headers.
967 * src/vm/jit/verify/typecheck-common.h: Cleanup.
969 2006-10-12 14:39 edwin
971 * src/vm/jit/verify/typecheck.c (ISBUILTIN): Removed.
972 * src/vm/jit/verify/typecheck-builtins.inc (ISBUILTIN): Added.
974 2006-10-12 14:38 tbfg
976 * src/vm/jit/powerpc64/codegen.c (codegen): Adopt locals
979 2006-10-12 14:18 edwin
981 * src/vm/jit/verify/typecheck.c (verify_invocation): Prepared for
982 addeding the stackbased verifier. No functional change, yet.
983 (verify_builtin): Likewise.
985 2006-10-12 14:12 edwin
987 * src/vm/jit/verify/typecheck-common.c,
988 src/vm/jit/verify/typecheck-common.h (typecheck_init_flags): Added
991 * src/vm/jit/verify/typecheck.c (typecheck): Call typecheck_init_flags
992 with minflags set to BBFINISHED.
994 2006-10-12 14:02 edwin
996 * src/vm/jit/verify/typecheck.c (verify_fieldaccess): New function.
997 (verify_basic_block): Moved field verification into a separate
1000 * src/vm/jit/verify/typecheck-fields.inc: Removed opcode-dependant
1001 stuff. Some code for the stackbased verifier is checked in, but not
1004 2006-10-12 13:13 twisti
1006 * src/vm/jit/mips/linux/md-os.c (thread_restartcriticalsection): Added
1009 2006-10-12 12:44 twisti
1011 * src/vm/jit/mips/linux/md-os.c (md_signal_handler_sigsegv): Added
1014 2006-10-12 10:10 edwin
1016 * src/vm/jit/verify/typecheck.c: Moved <assert.h> include to the right
1017 place. Moved some code to typecheck-common.[ch].
1019 * src/vm/jit/verify/typecheck-common.c: New file.
1020 * src/vm/jit/verify/typecheck-common.h: New file.
1022 * src/vm/jit/verify/Makefile.am: Added new source files.
1024 2006-10-11 23:52 edwin
1026 * src/vm/jit/verify/typecheck-builtins.inc: Removed redundant
1027 `return true`. Moved declaration of `av`.
1029 2006-10-11 23:44 edwin
1031 * src/vm/jit/verify/typecheck-invoke.inc: Use invokestatic where
1032 possible. Added a comment.
1034 2006-10-11 23:41 edwin
1036 * src/vm/jit/verify/typecheck-invoke.inc: Indent log messages to make
1039 2006-10-11 23:37 edwin
1041 * src/vm/jit/verify/typecheck.c (verify_invocation): Define jd and dv
1042 before including the function body.
1044 * src/vm/jit/verify/typecheck-invoke.inc: Removed definitions of jd
1045 and dv. Small cleanup.
1047 2006-10-11 23:22 edwin
1049 * src/vm/jit/verify/typecheck.c (verify_builtin): Define jd and dv
1050 before including the function body.
1052 * src/vm/jit/verify/typecheck-builtins.inc: Removed definitions
1055 2006-10-11 23:00 edwin
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
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.
1068 * src/vm/jit/verify/Makefile.am: Added new source files.
1070 2006-10-11 19:43 edwin
1072 * src/cacaoh/headers.c (typeinfo_print_short): Stub added.
1074 2006-10-11 19:42 edwin
1076 * src/vm/jit/verify/typeinfo.c (typeinfo_init_component): Fixed for
1077 the case that srcarray == dst. (The mergedlist was overwritten with
1080 2006-10-11 19:40 edwin
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.
1086 2006-10-11 16:31 edwin
1089 tests/regression/jasmin/test_verify_fail_athrow_wrong_reftype_unresolved.j:
1092 * tests/regression/jasmin/test_verify_fail_athrow_wrong_reftype.j:
1095 * tests/regression/jasmin/Makefile.am: Added new tests.
1097 2006-10-11 16:21 edwin
1099 * tests/regression/jasmin/test_verify_fail_areturn_wrong_reftype.j:
1102 * tests/regression/jasmin/test_verify_fail_invoke_return_basic_type.j:
1105 * tests/regression/jasmin/test_verify_fail_ireturn_wrong_type.j: New
1108 * tests/regression/jasmin/Makefile.am: Added new tests.
1110 2006-10-11 10:17 edwin
1112 * tests/regression/jasmin/test_verify_fail_handler_bad_local.j: new
1115 * tests/regression/jasmin/Makefile.am: Added new test.
1117 2006-10-10 21:16 edwin
1119 * tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j:
1120 Added expected error.
1122 * tests/regression/jasmin/test_verify_fail_jsr_recursion.j: Likewise.
1124 * tests/regression/jasmin/test_verify_ok_jsr_improper_nesting.j: New
1127 * tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j: New
1130 * tests/regression/jasmin/Makefile.am: Added new tests.
1132 2006-10-10 20:45 edwin
1135 tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j:
1138 * tests/regression/jasmin/Makefile.am: Added new test.
1140 2006-10-10 20:31 edwin
1142 * tests/regression/jasmin/test_verify_fail_jsr_recursion.j: New test.
1144 * tests/regression/jasmin/Makefile.am: Added new test.
1146 2006-10-10 00:29 edwin
1148 * src/vm/resolve.c, src/vm/resolve.h (constrain_unresolved_method):
1149 Split into two new functions.
1151 (resolve_constrain_unresolved_method_instance): New function.
1152 (resolve_constrain_unresolved_method_params): Likewise.
1154 * src/vm/jit/verify/typecheck.c (verify_invocation): Use new
1157 2006-10-09 23:53 edwin
1159 * src/vm/resolve.c (resolve_method_type_checks): Split up into
1162 (resolve_method_instance_type_checks): New function.
1164 (resolve_method_param_type_checks): New function.
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.
1170 * src/vm/jit/verify/typecheck.c (verify_invocation): Call
1171 resolve_method_instance_type_checks and
1172 resolve_method_param_type_checks.
1174 2006-10-09 23:21 edwin
1176 * src/vm/resolve.c (resolve_method_verifier_checks): Removed unused
1177 variable. Removed unclear assertion.
1179 2006-10-09 23:17 edwin
1181 * src/vm/resolve.c (resolve_method_verifier_checks): Removed unused
1184 (resolve_method): Changed arguments to resolve_method_verifier_checks.
1186 * src/vm/resolve.h (resolve_method_verifier_checks): Removed unused
1189 * src/vm/jit/verify/typecheck.c (verify_invocation): Changed
1190 arguments to resolve_method_verifier_checks.
1192 2006-10-09 23:06 edwin
1194 * src/vm/resolve.c (resolve_method_verifier_checks): Factored out
1195 parameter type checks into a separate function.
1197 (resolve_method_type_checks): New function.
1199 * src/vm/resolve.h (resolve_method_type_checks): New function.
1201 * src/vm/jit/verify/typecheck.c (verify_invocation): Call
1202 resolve_method_type_checks.
1204 2006-10-09 22:19 edwin
1206 * src/vm/resolve.c (resolve_method_verifier_checks): Factored out
1207 loading constraints into a separate function.
1209 (resolve_method_loading_constraints): New function.
1211 (resolve_method): Call resolve_method_loading_constraints.
1213 * src/vm/resolve.h (resolve_method_loading_constraints): New function.
1215 * src/vm/jit/verify/typecheck.c (verify_invocation): Call
1216 resolve_method_loading_constraints.
1218 2006-10-09 17:08 edwin
1220 * src/vm/resolve.c (resolve_method_lazy): Removed dependence on
1221 instruction format. Do not perform verifier checks. (Caller will
1224 (create_unresolved_method): Renamed to
1225 resolve_create_unresolved_method. Changed arguments.
1227 * src/vm/resolve.h (create_unresolved_method): Renamed to
1228 resolve_create_unresolved_method. Changed arguments.
1230 (resolve_method_lazy): Changed arguments.
1232 (resolve_method_verifier_checks): Export.
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.
1238 * src/vm/jit/parse.c (parse): Adapted to changed resolve functions.
1239 Do promotion from INVOKEVIRTUAL to INVOKESPECIAL here.
1241 2006-10-09 15:42 edwin
1243 * src/vm/resolve.c (resolve_field_verifier_checks): Removed dependence
1244 on instruction format.
1246 (resolve_field_lazy): Pass field reference, instead of instruction.
1247 Do not perform verification checks here. (Caller will do them.)
1249 (resolve_field): Adapted to changed resolve_field_verifier_checks.
1251 (create_unresolved_field): Renamed to resolve_create_unresolved_field.
1253 (constrain_unresolved_field): Renamed to
1254 resolve_constrain_unresolved_field. Removed dependence on instruction
1257 * src/vm/resolve.h (create_unresolved_field): Renamed to
1258 resolve_create_unresolved_field.
1260 (resolve_field_lazy): Changed arguments.
1262 (resolve_field_verifier_checks): Export.
1264 (constrain_unresolved_field): Renamed to
1265 resolve_constrain_unresolved_field. Changed arguments.
1267 * src/vm/jit/verify/typecheck.c (typecheck): Moved instruction set
1268 dependent parts of resolve functions into typecheck.
1270 * src/vm/jit/parse.c (resolve_field_lazy): Changed arguments.
1271 (create_unresolved_field): Renamed.
1273 2006-10-08 22:49 edwin
1276 test/regression/jasmin/test_verify_ok_jsr_subroutine_loops_to_start.j:
1279 * test/regression/jasmin/test.j: Small cleanup.
1281 * test/regression/jasmin/Makefile.am: Added new test.
1283 2006-10-08 11:39 edwin
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.
1299 * src/vm/jit/parse.c (parse): Reserve extra variables needed by
1302 * src/vm/global.h (STACK_EXTRA_VARS): New macro.
1304 2006-10-08 10:51 edwin
1306 * src/vm/jit/show.c (show_basicblock): Removed extra newline.
1308 2006-10-08 00:07 edwin
1311 tests/regression/jasmin/test_verify_fail_jsr_merge_subroutines_via_stack.j:
1314 * tests/regression/jasmin/Makefile.am: Added new test.
1316 2006-10-07 23:56 edwin
1318 * src/vm/jit/cfg.c (cfg_build): Fixed a bug causing infinite loops.
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.
1323 * tests/regression/jasmin/test_verify_fail_jsr_merge_subroutines.j:
1326 * tests/regression/jasmin/Makefile.am: Added new test.
1328 2006-10-07 23:02 edwin
1330 * tests/regression/jasmin/test_verify_fail_jsr_polymorphic_pop.j:
1333 * tests/regression/jasmin/Makefile.am: Added new test.
1335 * src/vm/jit/stack.c (stack_check_invars): Fixed bug exposed by the
1337 (stack_check_invars_from_outvars): Likewise.
1339 2006-10-07 22:34 edwin
1342 tests/regression/jasmin/test_verify_fail_jsr_called_with_different_stackdepths.j:
1344 * tests/regression/jasmin/Makefile.am: Added new test.
1346 2006-10-07 12:54 edwin
1348 * src/vm/jit/stack.c (GET_NEW_VAR): Fixed macro argument.
1350 (SET_TEMPVAR): Call new function stack_change_to_tempvar.
1352 (stack_change_to_tempvar): New function.
1354 (stack_analyse): Mark pass-through stackslots of INVOKEs instead of
1355 resetting them to TEMPVARs.
1357 * src/vm/jit/jit.h (PASSTHROUGH): New flag.
1359 2006-10-07 10:22 edwin
1361 * src/vm/jit/allocator/simplereg.c: Implemented REG_INDEX for
1362 architectures with address register file.
1364 2006-10-07 09:44 edwin
1366 * src/vm/jit/allocator/simplereg.c
1367 (simplereg_allocate_locals_leafmethod): Fixed declaration after code.
1369 2006-10-07 00:06 edwin
1371 * src/vm/jit/allocator/simplereg.c (simplereg_allocate_interface):
1372 Copy all flags except SAVEDVAR when reusing an interface slot.
1374 2006-10-06 23:58 edwin
1376 * src/vm/jit/allocator/simplereg.c: Cleaned up memory slot allocation.
1378 2006-10-06 23:41 edwin
1380 * src/vm/jit/allocator/simplereg.c (simplereg_allocate_interfaces):
1384 2006-10-06 23:03 edwin
1386 * src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
1387 Minor cleanup, use SIMPLEREG_REG_INDEX.
1389 2006-10-06 22:37 edwin
1391 * src/vm/jit/allocator/simplereg.c: Reuse interface registers in
1393 that don't need them. Abstracted out the free register stacks with
1394 macros. Major code cleanup.
1396 * src/vm/jit/allocator/simplereg.h (reg_make_statistics): Renamed to
1397 simplereg_make_statistics.
1399 * src/vm/jit/reg.h (registerdata): Added fields `adrusedinout`,
1400 `intusedinout`, `fltusedinout`, and `regisoutvar`.
1402 * src/vm/jit/jit.c (simplereg_make_statistics): Renamed to
1403 simplereg_make_statistics.
1405 * src/vm/jit/jit.h (SAVEDTMP): Renamed to SAVREG.
1406 (TMPARG): Renamed to ARGREG.
1410 2006-10-06 21:30 edwin
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.
1416 2006-10-06 20:11 edwin
1418 * src/vm/jit/intrp/Makefile.am (Changes): Added my name.
1420 2006-10-06 20:09 edwin
1422 * src/vm/jit/show.h (show_variable): Made global.
1423 (show_variable_array): Likewise.
1425 * src/vm/jit/show.c (show_variable): Likewise.
1426 (show_variable_array): Likewise.
1428 2006-10-05 20:30 edwin
1430 * src/threads/native/threads.c (threads_attach_current_thread): Rename
1431 left-over `t` to `thread` in interpreter code.
1433 2006-10-05 20:21 edwin
1435 * src/vm/jit/codegen-common.c: Include vm/jit/intrp/intrp.h to prevent
1438 2006-10-05 20:18 edwin
1440 * src/vm/jit/intrp/intrp.h: Added missing prototypes.
1442 * src/vm/jit/intrp/engine.c: Comment unused variable `ca1`.
1444 * src/vm/jit/intrp/java.vmg: Mark the variables `currentsp` as
1447 2006-10-05 20:04 edwin
1449 * src/vm/jit/intrp/intrp.h: Cleaned up. Defined missing prototypes.
1451 * src/vm/jit/intrp/java.vmg: Defined "afi" type prefix.
1453 2006-10-05 19:36 edwin
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
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.
1465 * src/vm/jit/intrp/vmgenx: Fixed to work with builddir, and cleaned
1468 * src/vm/jit/intrp/Makefile.am: Fixed dependencies for builddir.
1470 2006-10-05 17:52 edwin
1472 * src/vm/jit/intrp/engine.c (Changes): Added my name.
1473 (vim boilerplate): Added.
1475 2006-10-05 17:28 twisti
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.
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.
1489 * src/threads/native/threads.h (threads_detach_thread): Added.
1491 2006-10-05 17:23 twisti
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.
1497 2006-10-05 16:28 edwin
1499 * src/vm/vm.c (vm_create): Turn off the verifier for -Xint.
1501 2006-10-05 16:18 edwin
1503 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Style fix.
1505 2006-10-05 16:12 edwin
1507 * src/vm/jit/intrp/codegen.c (codegen): Save synchronized object in
1508 a special stackslot and use it for monitorexit.
1510 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): When
1511 unwinding a synchronized method, exit the monitor.
1513 2006-10-05 15:43 edwin
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.
1520 2006-10-05 15:33 edwin
1522 * src/vm/jit/intrp/codegen.c (codegen): Separate stackframesize from
1523 the number of local variables.
1524 (intrp_createcompilerstub): Likewise.
1526 * src/vm/jit/intrp/engine.c (MAXLOCALS): Changed to FRAMESIZE.
1528 * src/vm/jit/intrp/java.vmg (INVOKEVIRTUAL): Use FRAMESIZE.
1529 (INVOKESTATIC): Likewise.
1530 (INVOKESPECIAL): Likewise.
1531 (INVOKEINTERFACE): Likewise.
1533 2006-10-05 14:13 twisti
1535 * src/native/jni.c (jni_init_localref_table): New function.
1536 (AttachCurrentThread): Implemented.
1537 (JNI_CreateJavaVM): Use jni_init_localref_table.
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.
1544 * src/threads/native/threads.h (MIN_PRIORITY, NORM_PRIORITY)
1545 (MAX_PRIORITY): Defined.
1546 (threads_attach_current_thread): New function.
1548 2006-10-05 12:23 edwin
1550 * src/vm/jit/intrp/java.vmg (TRACECALL): Implemented for 32-bit
1553 2006-10-05 10:50 edwin
1555 * src/vm/jit/intrp/codegen.c (codegen): Fix off-by-one error in len
1556 tests of optimizations.
1558 2006-10-05 10:41 edwin
1560 * src/vm/jit/show.c (show_icmd): Show constant operand of IFxx, and
1563 2006-10-05 10:39 edwin
1565 * src/vm/jit/show.c (show_basicblock): Fixed deadcode check.
1567 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Clear
1570 2006-10-05 09:04 twisti
1572 * src/vm/jit/powerpc/emit.c (emit_verbosecall_enter): Darwin build
1575 2006-10-05 00:21 edwin
1577 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Fixed for
1580 2006-10-05 00:06 edwin
1582 * src/vm/jit/show.c (show_method): Adapted to interpreter.
1583 (show_basicblock): Likewise.
1585 * src/vm/jit/intrp/disass.c (intrp_disassinstr): Write disassembly to
1587 (intrp_disassemble): Likewise.
1589 2006-10-04 23:08 edwin
1591 * tests/regression/jctest.java: Also test division/remainder with
1594 * tests/regression/jctest.output: Updated test output.
1596 2006-10-04 23:05 edwin
1598 * src/vm/jit/intrp/codegen.c (codegen): Don't ?DIVPOW2 with value 1.
1599 The optimization produces the wrong result in this case.
1601 2006-10-04 22:53 edwin
1603 * src/vm/jit/intrp/codegen.c (codegen): Implemented IDIVPOW2 and
1604 LDIVPOW2 optimizations.
1606 2006-10-04 22:39 edwin
1608 * src/vm/jit/intrp/codegen.c (codegen): Implemented IREMPOW2 and
1609 LREMPOW2 optimizations.
1611 2006-10-04 22:12 edwin
1613 * src/vm/jit/intrp/codegen.c (codegen): Implement optimization of
1616 2006-10-04 20:44 edwin
1618 * src/vm/jit/allocator/simplereg.c (reg_free_temp_func): Fixed indices
1619 into regcopycount array.
1620 (allocate_scratch_registers): Likewise.
1622 2006-10-04 20:02 edwin
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
1630 2006-10-04 19:47 edwin
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.
1636 2006-10-04 19:38 edwin
1638 * src/vm/jit/stack.c: Removed interpreter-specific code.
1640 2006-10-04 18:44 edwin
1642 * src/threads/native/lock.c (lock_monitor_exit): Check for NULL
1644 There is no guarantee that MONITORENTER/EXITs are properly nested, so
1645 we cannot rely on the check in lock_monitor_enter here.
1647 2006-10-04 18:39 edwin
1649 * tests/regression/jasmin/test_nullpointerexception_monitorexit.j:
1650 Fixed test case, so it passes if the exception is thrown.
1652 2006-10-04 18:35 edwin
1654 * tests/regression/jasmin/test_nullpointerexception_monitorexit.j:
1657 * tests/regression/jasmin/Makefile.am: Added
1658 test_nullpointerexception_monitorexit.j.
1660 2006-10-04 18:25 edwin
1662 * tests/regression/jasmin/Makefile.am: Properly quote variables.
1664 2006-10-04 18:23 edwin
1666 * src/vm/jit/intrp/engine.c (THROW_CLASSCASTEXCEPTION): Really throw a
1667 ClassCastException, not a NullPointerException.
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.
1673 * src/vm/jit/intrp/java.vmg (MONITORENTER): Check for exception.
1674 (MONITOREXIT): Likewise.
1676 2006-10-04 16:42 edwin
1678 * src/vm/jit/intrp/java.vmg (LOOKUPSWITCH): No point in using >= 0 on
1679 an unsigned variable.
1681 2006-10-04 16:01 edwin
1683 * src/vm/jit/intrp/codegen.c (nativecall): Store return valud of
1684 codegen_finish_native_call in *exceptionptr.
1686 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Resolve
1687 unresolved catchtype references.
1689 2006-10-04 15:14 edwin
1691 * src/vm/jit/intrp/codegen.c (codegen): Convert JavaPCs to block
1693 Do not check for BBREACHED (not set by parse).
1694 (gen_branch): Convert JavaPCs to block indices.
1696 * src/vm/jit/intrp/java.vmg (RET): restored.
1698 * src/vm/jit/jit.c (jit_compile_intern): Do not perform stack_analyse
1700 dependent passes for intrp.
1702 2006-10-04 15:04 twisti
1704 * src/vm/jit/intrp/md.c (intrp_md_init): Set vm_out to stderr.
1706 * src/vm/jit/intrp/engine.c (THROW_CLASSCASTEXCEPTION): Added.
1707 (engine): Handle ClassCastExceptions with argument.
1709 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Indent.
1711 * src/vm/jit/intrp/dynamic-super.c: Use LOCK_MONITOR_{ENTER,EXIT}
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.
1719 * src/vm/jit/intrp/java.vmg (RET): Removed.
1720 (TABLESWITCH): Changed reading direction of cases. Don't know if that
1722 (CHECKCAST): Use THROW_CLASSCASTEXCEPTION.
1723 (ARRAYCHECKCAST): Likewise.
1724 (MONITORENTER): Likewise.
1725 (MONITOREXIT): Likewise.
1727 2006-10-04 14:50 edwin
1729 * src/vm/jit/intrp/dynamic-super.c (superreuse_insert): Use
1730 lock_monitor_ functions.
1731 (patchersuper_rewrite): Likewise.
1732 (hashtable_patchersupers_insert): Likewise.
1734 2006-10-04 14:31 edwin
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.
1740 2006-10-04 14:20 edwin
1742 * src/vm/jit/intrp/java.vmg (builtin_monitorenter): Changed to
1744 (builtin_monitorexit): Changed to lock_monitor_exit.
1746 2006-10-04 13:40 edwin
1748 * src/vm/jit/intrp/codegen.c: Made it compile again.
1750 2006-10-04 13:35 twisti
1752 * src/vm/jit/intrp/codegen.c: New instruction format fixes.
1754 2006-10-04 12:09 twisti
1756 * configure.ac (AC_CONFIG_FILES): Removed src/scripts/rmic and
1757 src/scripts/rmiregistry.
1758 * src/scripts/Makefile.am (bin_SCRIPTS): Removed trailing \.
1760 2006-10-04 10:37 twisti
1762 * src/scripts/rmic.in: Removed.
1763 * src/scripts/rmiregistry.in: Likewise.
1765 * src/scripts/Makefile.am (bin_SCRIPTS) Removed rmi.in and
1767 * src/scripts/.cvsignore: Likewise.
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
1773 2006-10-04 10:10 twisti
1775 * configure.ac (--with-jre-layout): Added.
1777 * src/vm/global.h (CLASSPATH_LIBRARY_PATH): Removed.
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.
1785 * src/vm/vm.h (stackbottom): Removed.
1786 (cacao_prefix, cacao_libjvm, classpath_libdir): Added.
1788 * src/cacao/cacao.c [WITH_JRE_LAYOUT] (errno.h, libgen.h, unistd.h):
1790 (main): Added WITH_JRE_LAYOUT stuff.
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.
1796 * src/native/native.c (native_init): Use cacao_libjvm in lt_dlopenext
1799 2006-10-03 21:19 edwin
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.)
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.
1811 2006-10-03 20:57 edwin
1813 * src/vm/jit/powerpc/codegen.c: Removed new_ prefix from variable and
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.
1836 2006-10-03 20:44 edwin
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.
1851 2006-10-03 20:27 edwin
1853 * src/vm/jit/allocator/simplereg.c: Warning fixed.
1855 2006-10-03 20:26 edwin
1857 * src/vm/jit/i386/codegen.c (codegen): Use varindex as in other
1860 2006-10-03 20:22 edwin
1862 * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete stack depth
1865 * src/vm/jit/stack.h (CHECK_STACK_DEPTH): Removed macro.
1867 2006-10-03 19:11 edwin
1869 * src/vm/jit/powerpc64/codegen.c (codegen): Unified IINC and
1872 2006-10-03 18:50 edwin
1874 * src/vm/jit/powerpc/codegen.c (codegen): Unify IINC and IADDCONST.
1876 2006-10-03 18:34 edwin
1878 * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Bugfix.
1880 2006-10-03 18:21 twisti
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
1886 2006-10-03 18:09 edwin
1888 * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Make it
1891 2006-10-03 17:44 edwin
1893 Moved unified_variables branch to trunk.
1895 2006-10-03 17:24 edwin
1897 * tests/regression/jasmin/test_iinc.j: New test.
1899 * tests/regression/jasmin/Makefile.am: Added test_iinc.j
1901 2006-10-03 16:42 edwin
1903 Merged r5640 from trunk:
1905 * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Renamed
1906 md-emit.h to emit.h.
1908 2006-10-03 16:32 edwin
1910 * src/vm/jit/powerpc/codegen.c: Implemented ICMD_JSR like ICMD_GOTO.
1911 * src/vm/jit/powerpc64/codegen.c: Likewise.
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.
1919 2006-10-02 19:24 edwin
1921 Merged r5636, r5637, and r5638 from trunk:
1923 * src/native/tools/gennativetable.c: Made it work again.
1925 * tests/regression/jasmin/.cvsignore: New file.
1927 * src/vm/jit/powerpc/codegen.c (codegen): #if 0 replacement point
1930 * src/vm/jit/powerpc/emit.c [!NDEBUG] (emit_verbosecall_enter)
1931 (emit_verbosecall_exit): #ifdef'ed.
1933 2006-10-02 16:36 christian
1935 * src/vm/jit/alpha/md-abi.c (md_return_alloc): Activated return value
1936 stackslot registers precolouring again.
1938 2006-10-02 14:18 edwin
1940 * src/vm/jit/powerpc/netbsd/md-abi.c: Blindly ported to
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.
1950 2006-10-02 13:59 edwin
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.
1963 2006-10-02 13:43 edwin
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.
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.
1979 2006-10-02 13:26 edwin
1981 * src/vm/jit/powerpc/codegen.c (codegen): Unified LOAD/STORE and
1982 COPY/MOVE instructions.
1984 * src/vm/jit/powerpc/codegen.h (M_COPY): Removed.
1986 2006-10-02 13:16 edwin
1988 * src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Cleaned up
1990 * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Likewise.
1992 * src/vm/jit/powerpc/codegen.c (codegen): Removed obsolete call to
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.
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.
2003 2006-10-02 12:10 edwin
2005 Merged r5626 from trunk:
2007 * src/vm/jit/replace.c (replace_create_replacement_points): Return
2010 2006-10-02 11:55 edwin
2012 Merged r5624 from trunk:
2014 * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Remove argument
2015 stack frame in normal path.
2017 2006-10-02 00:32 edwin
2019 * src/vm/jit/alpha/codegen.c (codegen): Unified MOVE/COPY with
2020 LOAD/STORE instructions.
2022 2006-10-02 00:08 edwin
2024 * tests/regression/jasmin/runtest: Made it a bash script, so it works
2027 2006-10-02 00:06 edwin
2029 * tests/regression/jasmin/runtest: Do not use grep -o.
2031 2006-10-01 23:51 edwin
2033 * src/vm/jit/mips/emit.c (emit_copy): Fixed arguments to
2035 * src/vm/jit/powerpc64/emit.c (emit_copy): Likewise.
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
2042 2006-10-01 23:37 edwin
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.
2049 2006-10-01 23:00 edwin
2051 Merged r5616 from trunk:
2053 * src/native/jni.c: Prefix all JNI functions with _Jv_JNI_, as gcj
2054 does. This should prevent any linking problems.
2056 2006-10-01 22:55 edwin
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.
2063 2006-10-01 20:52 edwin
2065 * src/vm/jit/powerpc/codegen.c (codegen): Cleaned up unified_variables
2068 2006-10-01 20:49 edwin
2070 * src/vm/jit/i386/codegen.c (codegen): Cleaned up unified_variables
2073 2006-10-01 20:42 edwin
2075 * src/vm/jit/x86_64/codegen.c (codegen): Cleaned up unified_variables
2078 2006-10-01 20:37 edwin
2080 * src/vm/jit/alpha/codegen.c (codegen): Cleaned up unified_variables
2083 2006-10-01 20:08 edwin
2085 * tests/regression/jasmin/runtest: Use default JASMIN_JAR, if given.
2087 2006-10-01 18:01 edwin
2089 * src/vm/jit/codegen-common.c (codegen_reg_of_var): Fixed typo in
2092 2006-10-01 15:44 edwin
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.
2098 2006-10-01 15:25 edwin
2100 * src/vm/jit/verify/typecheck.c (typecheck): Added debug print of
2101 the reverse local map.
2103 2006-10-01 14:43 edwin
2105 * src/vm/vm.c (vm_compile_all): Only use if !defined(NDEBUG).
2106 (vm_compile_method): Likewise.
2108 2006-10-01 14:37 edwin
2110 * src/vm/jit/verify/typeinfo.h: Disabled TYPECHECK_VERBOSE.
2112 2006-09-30 23:28 edwin
2114 * src/vm/jit/jit.c (jit_compile_intern): Removed commented out
2117 2006-09-30 23:12 edwin
2119 * src/vm/jit/allocator/simplereg.c (reg_new_temp): Simplified.
2120 (reg_free_temp): Formatted.
2122 2006-09-30 23:06 edwin
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.
2140 2006-09-30 22:45 edwin
2142 * src/vm/jit/i386/codegen.c (codegen): Use VAR and VAROP macros.
2143 (codegen_insert_phi_moves): Likewise.
2145 2006-09-30 22:24 edwin
2147 Merged r5591 from trunk:
2149 * src/native/jni.c (GetVersion): Prefixed with _Jv_, we should do that
2150 with all JNI functions.
2152 2006-09-30 22:22 edwin
2154 Merged r5589 and r5590 from trunk:
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.
2165 * src/cacao/.cvsignore, src/cacaoh/.cvsignore,
2166 src/vm/jit/tools/.cvsignore: Added ignores for cygwin and
2167 modified properties accordingly.
2169 2006-09-30 11:04 christian
2171 * src/vm/jit/alpha/codegen.c (codegen): Changed to use the macros VAR
2174 2006-09-30 10:16 christian
2176 * src/vm/jit/x86_64/codegen.c (codegen): Changed to use the macros
2179 2006-09-29 14:02 edwin
2181 * src/vm/jit/allocator/simplereg.c (reg_free_temp_func): Handle
2183 (new_allocate_scratch_registers): Likewise.
2185 2006-09-29 13:33 edwin
2187 Merged r5540 from trunk:
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.
2199 2006-09-29 12:46 edwin
2201 Merged r5573, r5574, r5577, r5578, and r5579 from trunk.
2203 * src/cacao/cacao.c (vm/vm.h): Added.
2204 * src/cacao/Makefile.am [!ENABLE_LIBJVM] (CACAO_LIB): Link libjvm.la.
2207 * src/vm/jit/powerpc/darwin/md-asm.h (md_codegen_get_pv_from_pc):
2209 * src/vm/jit/powerpc/asmpart.S (L_md_codegen_get_pv_from_pc$stub):
2213 * src/cacaoh/cacaoh.c (cacaoh_options_prepare): Set nOptions, this was
2214 deleted accidentally.
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.
2224 * src/vm/options.c (options_prepare): Removed.
2225 * src/vm/options.h (options_prepare): Likewise.
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.
2232 * src/cacao/Makefile.am (CACAO_LIBS): New variable.
2233 (cacao_LDADD): Use CACAO_LIBS.
2235 * src/native/native.c (native_init): Set mainhandle to libjvm for
2238 * src/cacaoh/cacaoh.c (cacaoh_prepare_options): New function.
2241 * src/native/jni.c (JNI_CreateJavaVM): Renamed jvm to vm.
2243 2006-09-28 22:33 edwin
2245 * src/vm/jit/powerpc64: Merged changes from r5403 to r5548 from trunk.
2247 2006-09-28 20:56 edwin
2249 * src/vm/jit/i386/cygwin: Copied directory from trunk.
2251 2006-09-28 20:38 edwin
2253 Merged r5547 from trunk:
2255 * src/native/jni.c (FindClass): Removed architecture #ifdef's.
2257 2006-09-28 20:33 edwin
2259 Merged r5543 from trunk:
2261 * src/vm/jit/sparc64/codegen.c: Completed port to new instruction
2263 * src/vm/jit/sparc64/md-abi.h: Likewise.
2264 * src/vm/jit/sparc64/emit.c: Likewise.
2266 2006-09-28 20:31 edwin
2268 Merged r5541 from trunk:
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.
2276 * src/vm/jit/powerpc/codegen.c (vm/jit/emit.h): Renamed to
2277 vm/jit/emit-common.h.
2279 2006-09-28 20:29 edwin
2281 Merged r5540 and r5542 from trunk:
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.
2293 * src/vm/jit/i386/cygwin/.cvsignore: New file.
2295 2006-09-28 20:23 edwin
2297 Merged r5539 from trunk:
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.
2303 2006-09-28 20:20 edwin
2305 Merged r5538 from trunk:
2307 * src/native/native.c (native_insert_char): New function.
2308 (native_resolve_function): Use native_insert_char function to fill
2311 2006-09-28 20:19 edwin
2313 Merged r5537 from trunk:
2315 * src/vm/jit/mips/codegen.c (codegen): Make fieldinfo,
2316 unresolved_field local variables, better code for ICMD_PUTFIELD.
2318 2006-09-28 20:18 edwin
2320 Merged r5536 from trunk:
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.
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.
2330 2006-09-28 20:17 edwin
2332 Merged r5535 from trunk:
2334 * src/vm/jit/mips/codegen.c (codegen): Moved ICMD_IREMPOW2 and
2337 2006-09-28 20:16 edwin
2339 Merged r5534 from trunk:
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.
2345 * src/vm/jit/alpha/codegen.c (vm/jit/emit.h): Renamed to
2346 vm/jit/emit-common.h.
2348 2006-09-28 20:13 edwin
2350 Merged r5531 and r5532, ported to unified_variables:
2352 * src/vm/jit/i386/md-emit.h: Renamed to src/vm/jit/i386/emit.h.
2354 * src/vm/jit/i386/emit.c (vm/jit/i386/md-emit.h): Renamed to
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.
2361 * src/vm/jit/i386/codegen.c (vm/jit/i386/md-emit.h): Renamed to
2363 (vm/jit/emit.h): Renamed to vm/jit/emit-common.h.
2365 2006-09-28 19:53 edwin
2367 Merged r5530 from trunk:
2369 * src/vm/jit/emit.h: Renamed to src/vm/jit/emit-common.h.
2370 * src/vm/jit/emit-common.c: New file.
2372 * src/vm/jit/Makefile.am (noinst_HEADERS): Removed emit.h.
2373 (libjit_la_SOURCES): Added emit-common.[ch].
2375 * src/vm/jit/x86_64/emit.c (emit_load_s1, emit_load_s2, emit_load_s3)
2376 (emit_store_dst): Removed.
2378 * src/vm/jit/x86_64/codegen.c: Changed include names.
2380 2006-09-28 19:46 edwin
2382 Merged r5529 from trunk:
2384 * src/vm/jit/x86_64/md-emit.h: Renamed to src/vm/jit/x86_64/emit.h.
2386 2006-09-28 19:36 edwin
2388 Merged r5527 from trunk:
2390 * src/native/include/.cvsignore: Added sun_misc_Unsafe.h.
2392 2006-09-28 19:33 edwin
2394 Merged r5526 from trunk:
2396 * src/native/vm/sun_misc_Unsafe.c: New file:
2397 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
2399 * src/native/include/Makefile.am (GEN_HEADER_FILES): Added
2402 2006-09-28 19:31 edwin
2404 Merged r5525 from trunk:
2406 * tests/regression/clinitexception.2output: Updated to GNU Classpath
2408 * tests/regression/extest.2output: Likewise.
2410 2006-09-28 19:30 edwin
2412 Merged r5509 from trunk:
2414 * src/vm/jit/show.c (new_show_basicblock): Print predecessors only for
2416 * src/vm/jit/show.h (SHOW_CFG): Defined.
2418 2006-09-28 19:24 edwin
2420 Merged r5506 from trunk:
2422 * src/native/jni.c (GetDirectBufferAddress): Check if address is NULL.
2424 2006-09-28 19:22 edwin
2426 Merged r5502 from trunk, with additional fixes:
2428 * src/vm/jit/jit.c (jit_compile_intern): Moved cfg_build call after
2429 stack_analyse, because of JSR elimination.
2431 * src/vm/jit/cfg.c (cfg_build): Updated to be run after stack_analyse.
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.
2439 2006-09-28 18:45 edwin
2441 Merged r5489 from trunk:
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.
2447 2006-09-28 18:42 edwin
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.)
2453 2006-09-28 18:35 edwin
2455 Merged r5476 from trunk:
2457 Merged sparc64 changes from trunk.
2459 2006-09-28 18:31 edwin
2461 Merged r5462 from trunk:
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.
2466 2006-09-28 17:02 edwin
2468 * src/vm/jit/reg.h (registerdata): New fields regcopycount,
2469 memcopycount, and memcopycountsize.
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.
2479 2006-09-19 09:41 edwin
2481 * tests/regression/jasmin/runtest: Display only the basename of tests.
2482 * tests/regression/jasmin/Makefile.am: Use $(srcdir) to locate the
2485 2006-09-15 20:18 edwin
2487 * src/vm/jit/stack.c (new_stack_analyse): Set stackslot SAVEDVAR for
2490 2006-09-15 17:19 christian
2492 src/vm/jit/allocator/simplereg.c (reg_free_temp_func): New var
2493 structures also for SUPPORT_COMBINE_INTEGER_REGISTERS.
2495 2006-09-15 17:05 christian
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.
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
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.
2524 * src/vm/jit/ppc/codegen.h (M_COPY): Changed to new variable
2527 * src/vm/jit/ppc/linux/md-abi.c (md_return_alloc): Changed to new
2530 * src/vm/jit/ppc/darwin/md-abi.c (md_return_alloc): Changed to new
2533 2006-09-15 16:55 edwin
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.
2540 2006-09-15 16:44 edwin
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.
2546 * src/vm/jit/parse.c (new_parse): Reserve additional NOPs for
2549 2006-09-15 16:39 edwin
2551 * tests/regression/jasmin/test_dup_x1_interface_slots.j: New test.
2552 * tests/regression/jasmin/test_dup2_x1.j: Added dup2_x1 with
2554 * tests/regression/jasmin/Makefile.am: Added new test.
2556 2006-09-15 16:31 christian
2558 * src/vm/jit/alpha/emit.c (emit_load): Changed to new variable
2559 structure (varinfo * instead of stackptr) and the use of Macro
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.
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.
2576 * src/vm/jit/alpha/codegen.h (M_COPY): Changed to new variable
2579 * src/vm/jit/alpha/md-abi.c (md_return_alloc): Changed to new
2582 2006-09-15 15:52 edwin
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.
2588 * src/vm/jit/parse.c (new_parse): Reserve three ICMDs for SWAP.
2590 2006-09-15 15:44 edwin
2592 * tests/regression/jasmin/Makefile.am: Added/renamed tests.
2594 2006-09-15 14:43 edwin
2596 * src/vm/jit/verify/typecheck.c: Cleanup and documentation.
2598 2006-09-15 14:18 edwin
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:
2604 Improving the official specification of Java bytecode verification
2605 Proceedings of the 3rd ECOOP Workshop on Formal Techniques for
2608 citeseer.ist.psu.edu/article/coglio03improving.html
2610 (verify_basic_block): Removed check against uninitialized object in
2611 locals within try block. See above.
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:
2618 * tests/regression/jasmin/
2619 test_verify_unspecced_ok_backward_with_new_on_stack.j: New test.
2621 * tests/regression/jasmin/
2622 test_verify_fail_backward_with_new_on_stack.j: Fixed.
2624 2006-09-15 13:08 edwin
2626 * tests/regression/jasmin/runtest: Use [ \t] instead of \s in the
2627 regex for sed, as this seems to be more portable.
2629 2006-09-15 13:03 edwin
2631 * src/vm/jit/verify/typecheck.c (typecheck_reset_flags): Mark
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.
2637 2006-09-15 12:51 edwin
2639 * src/vm/resolve.c (new_resolve_field_lazy): Check jd->flags instead
2641 (new_resolve_method_lazy): Likewise.
2643 2006-09-15 12:48 christian
2645 * src/vm/jit/stack.c (new_stack_analyse): Stackslot flags have to be
2646 set for SAVEDVARs, too.
2648 2006-09-15 11:02 edwin
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.
2655 2006-09-15 09:19 christian
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
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.
2669 * src/vm/jit/x86_64/md-emit.h: Adapded prototypes.
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.
2677 * src/vm/jit/x86_64/codegen.h (M_COPY): Changed to new variable
2680 * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Changed to new
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.
2686 * src/vm/jit/jit.c (jit_compile_intern): Had to disable
2687 replace_create_replacement_points(jd).
2689 * src/vm/jit/show.c (new_show_icmd): Show s1 of [FIDL]RETURN like for
2692 2006-09-14 22:51 edwin
2694 * configure.ac: Generate tests/regression/jasmin/Makefile.
2696 * tests/regression/Makefile.am: Added subdir jasmin.
2698 * tests/regression/jasmin/Makefile.am: New file.
2700 * tests/regression/jasmin/runtest: Check if jasmin .jar is available.
2702 2006-09-14 22:49 edwin
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.
2708 2006-09-14 21:29 edwin
2710 * tests/regression/jasmin/test_verify_fail_retaddr_as_object.j:
2713 2006-09-14 21:23 edwin
2716 tests/regression/jasmin/test_verify_fail_backward_with_new_in_local.j:
2718 * tests/regression/jasmin/test_verify_fail_new_in_local_within_try.j:
2720 * tests/regression/jasmin/test_verify_fail_double_local_index.j:
2723 tests/regression/jasmin/test_verify_fail_backward_with_new_on_stack.j:
2726 2006-09-14 20:55 edwin
2728 * tests/regression/jasmin/test_verify_fail_long_local.j:
2730 * tests/regression/jasmin/test_verify_fail_double_overwritten.j:
2732 * tests/regression/jasmin/test_verify_fail_invoke_basic_type.j:
2734 * tests/regression/jasmin/test_verify_fail_long_overwritten.j:
2737 2006-09-14 20:36 edwin
2739 * src/vm/jit/verify/typecheck.c (typecheck_invalidate_locals):
2741 (verify_basic_block): Invalidate locals that share space with the
2743 (typecheck): Build reverse map of locals.
2745 2006-09-14 18:56 edwin
2747 * src/vm/jit/reg.h (varinfo): Added typeinfo member.
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.
2753 2006-09-14 18:55 edwin
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.
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.
2769 (unresolved_subtype_set_from_typeinfo): Take classname directly,
2770 instead of the constant_classref *.
2772 (create_unresolved_class): Pass classname to
2773 unresolved_subtype_set_from_typeinfo.
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.)
2779 (new_constrain_unresolved_method): Ported to unified_variables.
2780 Pass classname to unresolved_subtype_set_from_typeinfo.
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.
2788 * src/vm/jit/parse.c (new_parse): Pass jd to resolve functions.
2790 2006-09-14 18:45 edwin
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.
2796 2006-09-14 18:44 edwin
2798 * src/vm/jit/stack.c (stack_create_invars): Add extra locals needed
2800 (stack_create_invars_from_outvars): Likewise.
2801 (new_stack_analyse): Create inlocals for first block. Allow ASTORE of
2802 returnAddress values.
2804 2006-09-14 18:40 edwin
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.
2809 2006-09-14 18:36 edwin
2811 * src/vm/global.h (VERIFIER_EXTRA_LOCALS): New constant.
2812 (VERIFIER_EXTRA_VARS): Likewise.
2814 2006-09-14 18:20 edwin
2816 * src/vm/class.c (class_classref_or_classinfo_print): New function.
2817 (class_classref_or_classinfo_println): Likewise.
2819 * src/vm/class.h (class_classref_or_classinfo_print): New function.
2820 (class_classref_or_classinfo_println): Likewise.
2822 2006-09-14 18:16 edwin
2824 * src/vm/jit/jit.h (VAROP): New macro for accessing variable operands.
2825 (VAR): New macro for getting a variable from a varindex.
2827 2006-09-14 16:46 edwin
2829 * tests/regression/jasmin/test_verify_fail_load_wrong_type.j:
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:
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:
2840 * tests/regression/jasmin/test_verify_ok_untyped_local.j: New test.
2842 2006-09-13 00:21 edwin
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.
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.
2854 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Added XXX
2855 comment warning that classrefs must be resolved here.
2857 2006-09-13 00:03 edwin
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.
2863 2006-09-12 23:35 edwin
2865 * tests/regression/jasmin/test_swap_locals.j: New test.
2867 2006-09-12 23:31 edwin
2869 * tests/regression/jasmin/test_swap_interface_slots.j: New test.
2871 2006-09-12 23:18 edwin
2873 * tests/regression/jasmin/test_many_monitors.j: New test. (This test
2874 case used to fail with old-instruction-format cacao.)
2876 2006-09-12 22:32 christian
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
2882 2006-09-12 21:34 edwin
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.
2888 * src/vm/jit/parse.h (INSTRUCTIONS_CHECK): Use
2889 parse_realloc_instructions.
2890 (MARK_BASICBLOCK): Cleaned up backslashes.
2892 2006-09-12 21:23 edwin
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.
2899 * tests/regression/jasmin/test_simple_load_store.j: Added a test
2900 that just does ILOAD 1, ISTORE 1.
2902 2006-09-12 00:21 edwin
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.
2908 * tests/regression/jasmin/test_verify_ok_jsr_exceptions.j: Renamed to
2909 test_verify_fail_jsr_exceptions.j, likewise.
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.
2917 2006-09-11 23:32 edwin
2919 * src/vm/jit/stack.c (stack_reanalyse_block): Removed unused
2922 2006-09-11 23:24 edwin
2924 * src/vm/jit/stack.c: Added JSR elimination by block specialization.
2926 * src/vm/jit/i386/codegen.c (codegen): Treat ICMD_RET as a GOTO.
2928 2006-09-11 23:17 edwin
2930 * tests/regression/jasmin/runtest: Add --color option.
2932 2006-09-11 22:17 edwin
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
2938 2006-09-11 14:59 edwin
2940 * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub.j:
2942 * tests/regression/jasmin/test_verify_ok_jsr_exceptions.j: Likewise.
2943 * tests/regression/jasmin/test_verify_ok_jsr_through_variable.j:
2945 * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub2.j:
2947 * tests/regression/jasmin/test_verify_ok_jsr_swap.j: Likewise.
2949 2006-09-11 14:57 edwin
2951 * tests/regression/jasmin/test_dup2.j: Fix stackdepth.
2952 * tests/regression/jasmin/test_load_store_conflict.j: Likewise.
2954 2006-09-11 14:55 edwin
2956 * tests/regression/jasmin/runtest: Only show PASS if status is ok.
2958 2006-09-11 14:54 edwin
2960 * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
2961 Zero destination of ICMD_JSR to avoid problems when showing the IR.
2963 2006-09-11 14:52 edwin
2965 * src/vm/jit/show.h (show_jit_type_letters): New variable.
2966 (show_jit_type_names): Likewise.
2968 * src/vm/jit/show.c (jit_type): Renamed to show_jit_type_names and
2970 (show_jit_type_letters): New variable.
2971 (new_show_method): Improved.
2972 (new_show_icmd): Likewise.
2974 2006-09-11 14:45 edwin
2976 * src/toolbox/logging.h (log_text): Fixed for strings containing %.
2978 2006-09-11 14:37 edwin
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
2984 * src/vm/jit/stack.c (new_stack_analyse): Replace regoff with
2987 * src/vm/jit/show.c (new_show_method): Likewise.
2988 (new_show_variable): Likewise.
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.
2996 * src/vm/jit/i386/emit.c: Likewise.
2997 * src/vm/jit/i386/codegen.c: Likewise.
2998 * src/vm/jit/codegen-common.c: Likewise.
3000 2006-09-11 00:33 edwin
3002 * src/vm/global.h (TYPE_RET): New constant.
3004 * src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack):
3005 Display TYPE_RET correctly.
3007 2006-09-11 00:30 edwin
3009 * src/vm/jit/jit.h (basicblock): Added fields `inlocals` and
3010 `original` (for JSR elimination).
3012 2006-09-11 00:03 edwin
3014 * tests/regression/jasmin/test_verify_fail_aload_retaddress.j: New
3016 * tests/regression/jasmin/test_verify_fail_ret_uninit_var.j: New
3018 * tests/regression/jasmin/test_verify_ok_jsr_pop.j: New test.
3019 * tests/regression/jasmin/test_verify_ok_jsr_push.j: New test.
3021 2006-09-10 13:51 edwin
3023 * tests/regression/jasmin/runtest: Return correct exit code.
3025 2006-09-10 13:45 edwin
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
3031 * tests/regression/jasmin/test_verify_fail_ret_bad_type.j: New test.
3033 2006-09-10 13:43 edwin
3035 * tests/regression/jasmin/runtest: Added harness code for expecting
3038 2006-09-10 11:35 christian
3040 * src/vm/jit/i386/codegen.c (codegen): Corrected handling of taking
3041 arguments out of stack frame.
3043 2006-09-10 11:20 edwin
3045 * src/vm/jit/stack.c (DUP_SLOT): Removed code for direct coalescing.
3046 (DUP coalescing will be done in simplereg, probably.)
3048 2006-09-10 09:11 edwin
3050 * src/vm/jit/show.c (new_show_method): Use class_print and
3051 class_classref_print for showing the catch type.
3053 2006-09-09 22:33 edwin
3055 * src/vm/jit/stack.c: Fixed macro backslashes.
3057 2006-09-09 22:05 edwin
3059 * src/vm/jit/show.c (new_show_method): Show hexadecimal offsets in
3062 2006-09-09 21:58 edwin
3064 * src/vm/jit/stack.c (new_stack_analyse): Reset the sd.new pointer at
3065 the beginning of each basic block.
3067 2006-09-09 21:50 edwin
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.
3074 2006-09-09 21:41 edwin
3076 * src/vm/jit/stack.c (new_stack_analyse): Combined calls to
3077 stack_create_instack.
3079 2006-09-09 21:33 edwin
3081 * src/vm/jit/jit.h (basicblock): Removed members instack and
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.
3089 * src/vm/jit/stack.h (COPYCURSTACK): Removed macro.
3091 2006-09-09 20:05 edwin
3093 * src/vm/jit/stack.h (COPYCURSTACK): Do not create invars here.
3095 * src/vm/jit/stack.c (stack_create_invars): New function.
3096 (stack_mark_reached): Use stack_create_invars.
3097 (new_stack_analyse): Likewise.
3099 2006-09-09 19:37 edwin
3101 * src/vm/jit/jit.h (basicblock): Added fields varstart and varcount.
3102 Reordered fields for clarity and alignment.
3104 * src/vm/jit/stack.c (new_stack_analyse): Set varstart and varcount
3105 of each basic block.
3107 2006-09-09 19:25 edwin
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.
3113 * src/vm/linker.c (link_class_intern): Resolve exception classes
3114 in handler entries lazily, instead of eagerly.
3116 2006-09-09 14:49 edwin
3118 * src/vm/jit/stack.h (CURKIND): Removed macro.
3119 (CURTYPE): Removed macro.
3121 * src/vm/jit/stack.c (new_stack_analyse): Removed the single use of
3124 2006-09-09 14:45 edwin
3126 * src/vm/jit/stack.h (Changes): Added my name.
3128 2006-09-09 14:41 edwin
3130 * src/vm/jit/stack.h (REQUIRE_1, REQUIRE_2, REQUIRE_3, REQUIRE_4):
3132 * src/vm/jit/stack.c (new_stack_analyse): Use the general REQUIRE
3135 2006-09-08 23:59 edwin
3137 * src/vm/jit/stack.c (IS_TEMPVAR): Fix bug spotted
3138 (and produced ;) by c_u.
3140 2006-09-08 20:54 edwin
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.
3145 2006-09-08 20:50 edwin
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
3152 2006-09-08 20:41 edwin
3154 * src/vm/jit/stack.h (COPYCURSTACK): Use GET_NEW_VAR.
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.
3164 2006-09-08 19:48 edwin
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.
3173 2006-09-08 18:14 edwin
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.
3187 2006-09-08 18:12 edwin
3189 * src/vm/jit/show.c (new_show_icmd): Removed code for DUPs.
3191 2006-09-08 17:59 edwin
3193 * src/vm/jit/verify/typecheck.c: Removed code for DUPs.
3195 2006-09-08 17:57 edwin
3197 * src/vm/jit/i386/codegen.c (codegen): Removed code for DUPs.
3199 2006-09-08 17:50 edwin
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.
3206 2006-09-08 17:37 edwin
3208 * src/vm/jit/i386/codegen.c (codegen): Fix LSTORE: The source == dest
3211 2006-09-08 16:41 edwin
3213 * src/vm/jit/show.c (new_show_method): Fix display of local table.
3215 2006-09-08 16:26 edwin
3217 * src/vm/jit/stack.c (new_stack_analyse): Fix ICMD_RET: The variable
3218 index has to be mapped.
3220 2006-09-08 16:07 edwin
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.
3230 * src/vm/jit/show.c (new_show_method): Adapted to new
3231 interface_map layout.
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.
3239 2006-09-08 16:02 edwin
3241 * src/vm/jit/i386/codegen.h (M_FLTMOVE): Only assert(0) if move would
3242 have to be performed.
3244 2006-09-08 14:17 edwin
3246 * src/vm/jit/show.c (show_variable): Check for invalid flags.
3248 2006-09-08 14:16 edwin
3250 * src/vm/jit/i386/codegen.c (codegen): Removed a debug print.
3252 2006-09-08 14:15 edwin
3254 * src/vm/jit/stack.c (DST_LOCALVAR): _Really_ turn off coalescing
3257 2006-09-08 12:19 edwin
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
3264 (new_allocate_scratch_registers): Copy the allocation of the
3265 invars and outvars for each basic block.
3267 2006-09-08 12:17 edwin
3269 * src/vm/jit/jit.h (LOCAL_UNUSED): Changed (in comment) to UNUSED.
3271 2006-09-08 12:16 edwin
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
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.
3284 * src/vm/jit/stack.h (various macros): Adapted to use stackdata_t.
3285 (MARKREACHED): Converted to a function.
3287 2006-09-08 12:10 edwin
3289 * src/vm/jit/parse.h: Removed old code.
3290 * src/vm/jit/parse.c (new_parse): Do not modify m->maxlocals and
3292 They refer to the number of javalocals, and that's ok. We have
3294 to keep the number of internal locals.
3296 2006-09-08 12:07 edwin
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.
3305 2006-09-08 01:05 edwin
3307 * src/vm/jit/show.c (new_show_method): Only show local table if there
3310 2006-09-07 23:17 edwin
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.
3317 2006-09-07 22:44 edwin
3319 * src/vm/jit/allocator/simplereg.c (reg_new_temp_func): Removed old
3321 (reg_free_temp_func): Likewise.
3322 (allocate_scratch_registers): Likewise.
3324 2006-09-07 22:39 edwin
3326 * src/vm/jit/allocator/simplereg.c (reg_alloc_dup): Removed.
3327 (new_reg_mark_copy): Likewise.
3329 2006-09-07 14:41 edwin
3331 * src/vm/jit/i386/codegen.c (ICMD_COPY): Added.
3332 (ICMD_MOVE): Likewise.
3334 2006-09-07 14:38 edwin
3336 * src/vm/jit/reg.h (varinfo): New field copycount.
3337 * src/vm/jit/parse.c (new_parse): Zero jd->var array.
3339 2006-09-07 14:31 edwin
3341 * src/vm/jit/parse.c (new_parse): Allocate extra NOPs for stack
3344 2006-09-07 14:25 edwin
3346 * src/vm/jit/show.c (ICMD_COPY): Uncommented.
3347 (ICMD_MOVE): Likewise.
3349 2006-09-07 14:24 edwin
3351 * src/vm/jit/jit.h, src/vm/jit/jit.c (ICMD_COPY): New ICMD.
3352 (ICMD_MOVE): Likewise.
3354 2006-09-07 14:00 christian
3356 * src/vm/jit/allocator/simplreg: Removed #if defined(NEW_VAR) over
3359 2006-09-07 13:41 edwin
3361 * src/vm/jit/jit.c (ENABLE_VERIFY): Corrected to ENABLE_VERIFIER.
3363 2006-09-07 13:29 christian
3365 Unified variables changes for common/i386.
3367 2006-09-07 13:01 edwin
3369 Branch for developing unified variables.
3371 2006-09-07 12:52 twisti
3373 * src/vm/jit/i386/emit.c: Use IS_INMEMORY macro.
3374 * src/vm/jit/i386/codegen.c: Likewise.
3376 2006-09-07 12:26 twisti
3378 * src/vm/jit/powerpc/codegen.c (codegen): Use IS_INMEMORY macro.
3380 2006-09-07 12:24 twisti
3382 * src/vm/jit/powerpc/emit.c (emit_copy): Eliminate register move if
3383 one of the variables resides in memory.
3385 2006-09-07 11:14 twisti
3387 * src/vm/jit/alpha/emit.c (emit_copy): Only one not-equal comparison.
3389 2006-09-07 11:09 twisti
3391 * src/vm/jit/powerpc64/emit.c (emit_copy): Eliminate register move if
3392 one of the variables resides in memory.
3394 2006-09-07 10:59 twisti
3396 * src/vm/jit/mips/emit.c (emit_copy): Eliminate register move if one
3397 of the variables resides in memory.
3399 2006-09-07 10:46 twisti
3401 * src/vm/jit/i386/emit.c (emit_copy): Eliminate register move if one
3402 of the variables resides in memory.
3404 2006-09-07 10:16 twisti
3406 * src/vm/jit/x86_64/emit.c (emit_copy): Eliminate register move if one
3407 of the variables resides in memory.
3409 2006-09-07 10:03 twisti
3411 * src/vm/jit/alpha/emit.c (emit_copy): Eliminate register move if one
3412 of the variables resides in memory.
3414 2006-09-07 09:40 twisti
3416 * src/vm/jit/jit.h (IS_SAVEDVAR): Added.
3417 (IS_INMEMORY): Likewise.
3419 2006-09-07 00:32 edwin
3421 * src/vm/jit/show.c (new_show_icmd): Separate real arguments and
3422 pass-through variables for INVOKE*.
3424 2006-09-07 00:29 edwin
3426 * src/vm/jit/show.c (new_show_icmd): Separate real arguments and
3427 pass-through variables for BUILTIN.
3429 2006-09-06 23:18 twisti
3431 * src/vm/jit/powerpc64/linux/md-abi.h: Bugfixes and changes for new
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.
3438 2006-09-06 22:34 twisti
3440 * src/vm/jit/mips/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
3442 * src/vm/jit/mips/codegen.c: Use REG_A? defines instead of
3443 rd->argintreg[] loads.
3445 2006-09-06 22:16 twisti
3447 * src/vm/jit/alpha/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
3449 * src/vm/jit/alpha/codegen.c: Use REG_A? defines instead of
3450 rd->argintreg[] loads.
3452 2006-09-06 21:56 twisti
3454 * src/vm/jit/x86_64/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
3456 * src/vm/jit/x86_64/codegen.c: Use REG_A? defines instead of
3457 rd->argintreg[] loads.
3459 2006-09-06 21:40 twisti
3461 * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete precedessor
3464 2006-09-06 21:32 edwin
3466 * tests/regression/jasmin/test_dup_x2.j: Split second test into
3468 * tests/regression/jasmin/test_dup_x2_to_dup_x1: New test.
3470 2006-09-06 21:30 edwin
3472 * tests/regression/jasmin/runtest: Improved harness script.
3474 2006-09-06 21:17 twisti
3476 * src/vm/jit/powerpc/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
3478 * src/vm/jit/powerpc/darwin/md-abi.h: Likewise.
3480 * src/vm/jit/powerpc/codegen.c: Use REG_A? defines instead of
3481 rd->argintreg[] loads.
3483 2006-09-06 17:05 twisti
3485 * src/vm/jit/mips/codegen.c (codegen): Generate the INVOKE/BUILTIN
3486 call code in a common place.
3488 2006-09-06 16:43 twisti
3490 * src/vm/jit/x86_64/codegen.c (codegen): Generate the INVOKE/BUILTIN
3491 call code in a common place.
3493 2006-09-06 16:41 twisti
3495 * src/vm/jit/i386/codegen.c (codegen): Don't move the function address
3496 into disp for ICMD_BUILTIN.
3498 2006-09-06 16:30 twisti
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.
3504 2006-09-06 16:24 twisti
3506 * src/vm/jit/alpha/codegen.c (codegen): Generate the INVOKE/BUILTIN
3507 call code in a common place.
3509 2006-09-06 16:06 twisti
3511 * src/vm/jit/powerpc/codegen.c (codegen): Generate the INVOKE/BUILTIN
3512 call code in a common place.
3514 2006-09-06 16:01 edwin
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.
3522 2006-09-06 15:22 edwin
3524 * src/vm/jit/parse.h (INSTRUCTIONS_CHECK): New macro.
3525 * src/vm/jit/parse.c (new_parse): Merged twisti's reallocation of the
3528 2006-09-06 14:38 twisti
3530 * src/vm/jit/alpha/codegen.c (ICMD_I2L): Use REG_ITMP1 for dst, this
3532 (ICMD_LDIV, ICMD_LREM): Use argument registers for s1 and s2 when
3535 2006-09-06 14:32 edwin
3537 Checked in jasmin tests.
3539 2006-09-06 14:01 edwin
3541 * src/vm/jit/parse.c (parserdata_t): New type.
3542 (parse_setup): New function.
3543 (parse_check_instructions): New function.
3545 2006-09-06 13:46 christian
3547 * src/vm/jit/stack.c (new_stack_analyse): Ifdeffed handling of new var
3550 * src/vm/jit/stack.h: Likewise.
3552 * src/vm/jit/parse.c (new_parse) : Likewise.
3554 * src/vm/jit/parse.h: Likewise.
3556 * src/vm/jit/jit.h: Ifdeffed structure entries for new var system.
3558 2006-09-06 12:37 twisti
3560 * src/vm/jit/powerpc/codegen.c (codegen): Use M_ISUB in ICMD_ISUBCONST
3563 2006-09-06 11:58 twisti
3565 * src/vm/jit/mips/emit.c (emit_copy): Removed accidentally pasted
3568 2006-09-06 11:12 edwin
3570 * src/vm/jit/stack.h: Removed macros for old instruction format.
3572 2006-09-06 11:01 edwin
3574 * src/vm/jit/parse.h: Removed NEW_ prefix from macros.
3575 * src/vm/jit/parse.c: Likewise.
3577 2006-09-06 10:56 edwin
3579 * src/vm/jit/stack.h (CHECKOVERFLOW): Removed.
3580 (NEW_CHECKOVERFLOW): Renamed to CHECKOVERFLOW.
3582 * src/vm/jit/stack.c (new_stack_analyse): Removed NEW_ prefix from
3585 2006-09-06 10:48 edwin
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.
3591 2006-09-06 10:20 christian
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
3596 * src/vm/parse.c (new_parse): Data colletion for local var
3597 renaming(de-coalescing)
3599 * src/vm/parse.h (new_pase): Likewise.
3601 * src/vm/jit.h: Likewise.
3603 * src/vm/jit/i386/codegen.c (codegen): Ifdefed interface copy in
3607 2006-09-06 10:16 edwin
3609 * src/vm/jit/mips/emit.c (emit_load_s1): Removed obsolete src param.
3610 (emit_load_s2): Likewise.
3611 (emit_load_s3): Likewise.
3613 2006-09-06 10:14 edwin
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.
3621 2006-09-06 10:09 edwin
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.
3629 2006-09-06 09:57 edwin
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.
3635 2006-09-06 00:18 christian
3637 * src/vm/jit/stack.c (new_stack_analyse): Mark all in and out
3638 Stackslots of Basic Blocks as STACKVAR.
3640 * src/vm/jit/i386/codegen.c (codegen): Removed copy of interfaces
3641 to in and from out stackslots.
3643 2006-09-06 00:07 edwin
3645 * src/vm/jit/powerpc64/codegen.c (codegen): ++lookup in LOOKUPSWITCH
3647 * src/vm/jit/powerpc64/codegen.c (codegen): Ported to new instruction
3650 2006-09-05 23:37 edwin
3652 * src/vm/jit/i386/codegen.c (codegen): Port LASTORECONST, PUT*CONST.
3654 2006-09-05 23:10 edwin
3656 * src/vm/jit/mips/codegen.c (codegen): Ported to new instruction
3659 2006-09-05 23:08 twisti
3661 * src/vm/jit/powerpc/emit.c: Updated to new instruction format.
3662 * src/vm/jit/powerpc/codegen.c: Likewise.
3664 2006-09-05 23:07 twisti
3666 * src/vm/builtin.c (builtin_print_argument): Print decimal values for
3667 int and long arguments.
3669 2006-09-05 22:51 christian
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.
3678 2006-09-05 22:42 edwin
3680 * src/vm/jit/show.c (new_show_icmd): Show LOOKUPSWITCH targets.
3682 2006-09-05 22:27 edwin
3684 * src/vm/jit/alpha/codegen.c (codegen): Port MULTIANEWARRAY.
3686 2006-09-05 22:23 edwin
3688 * sarc/vm/jit/parse.c (parse): Check return value of
3691 2006-09-05 22:22 edwin
3693 * src/threads/native/lock.h (lock_monitor_enter): Return bool.
3694 * src/threads/native/lock.c (lock_monitor_enter): Check for
3695 NullPointerException.
3697 2006-09-05 22:05 twisti
3699 * src/vm/jit/cfg.c (cfg_build): It's better to not reuse the loop
3702 2006-09-05 21:53 edwin
3704 * src/vm/jit/show.c (new_show_icmd): Show BLOCK_OF tableswitch
3707 2006-09-05 21:50 edwin
3709 * src/vm/jit/show.c (new_show_icmd): Show TABLESWITCH targets.
3711 2006-09-05 21:20 edwin
3713 * src/vm/jit/alpha/codegen.c (codegen): Port ICMD_CHECKCAST.
3715 2006-09-05 21:20 twisti
3717 * src/vm/method.h (methodinfo): Removed members basicblockcount,
3718 basicblocks, basicblockindex, instructioncount, instructions,
3719 stackcount, and stack.
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.
3728 2006-09-05 21:17 twisti
3730 * src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added
3731 accidentally removed codegen.c.
3733 2006-09-05 21:16 twisti
3735 * src/vm/jit/x86_64/codegen.c (codegen): Use d for return type checks.
3737 2006-09-05 21:15 twisti
3739 * src/cacaoh/headers.c: Use a dummy flag for natively overloaded
3742 2006-09-05 21:14 edwin
3744 * src/vm/jit/alpha/codegen.c (codegen): Deactivate replacement points.
3745 * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
3747 2006-09-05 21:06 edwin
3749 * src/vm/jit/alpha/codegen.c (codegen): Set fieldtype in all cases.
3751 2006-09-05 20:58 edwin
3753 * src/vm/jit/show.c (new_show_basicblock): Prettier if.
3755 2006-09-05 20:57 edwin
3757 * src/vm/jit/alpha/codegen.c (codegen): Use jd->new_basicblocks.
3759 2006-09-05 20:50 edwin
3761 * src/vm/jit/alpha/codegen.c: Use invars/outvars instead of
3764 2006-09-05 20:17 edwin
3766 * src/vm/jit/alpha/codegen.c (codegen): Port handling of INVOKE*
3769 2006-09-05 20:11 edwin
3771 * src/vm/jit/alpha/emit.c: Ported to new instruction format.
3772 * src/vm/jit/alpha/codegen.c: Likewise.
3774 2006-09-05 19:38 twisti
3776 * src/vm/jit/jit.h (instruction): Removed.
3777 (new_instruction): Renamed to instruction.
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.
3800 2006-09-05 19:06 edwin
3802 * src/vm/jit/powerpc/codegen.c (codegen): Converted with
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.
3810 2006-09-05 18:43 edwin
3812 Merge changes from trunk (powerpc64).
3814 2006-09-05 17:42 edwin
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.
3823 2006-09-05 17:21 edwin
3825 Merged changes from trunk.
3827 2006-09-05 16:45 edwin
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.
3837 2006-09-05 16:12 edwin
3839 * src/vm/jit/jit.h (basicblock): Changed type of iinstr to
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):
3846 * src/vm/jit/parse.c (new_parse): Likewise.
3847 * src/vm/jit/x86_64/codegen.c (new_parse): Likewise.
3849 2006-09-05 12:42 edwin
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.
3855 2006-09-05 12:29 edwin
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.
3866 2006-09-05 11:53 edwin
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.
3872 2006-09-05 11:50 edwin
3874 * src/vm/jit/jit.h (s3_operand_t): Added union field arrayvftbl.
3876 2006-09-05 11:47 edwin
3878 * src/vm/jit/jit.c (jit_compile): Test setup for the new x86_64
3880 (jit_compile_intern): Likewise.
3882 2006-09-05 11:42 edwin
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.
3889 2006-09-05 11:40 edwin
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.
3896 2006-09-05 11:34 edwin
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):
3904 * src/vm/jit/stack.c (new_stack_analyse): Likewise, and add a call
3905 of builtintable_replace_function.
3907 2006-09-05 11:20 edwin
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.
3913 2006-09-05 11:16 edwin
3915 * src/vm/builtin.h (builtintable_replace_function): Ported to new
3917 * src/vm/builtin.c (builtintable_replace_function): Likewise.
3919 2006-09-05 11:13 edwin
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.
3925 2006-09-05 10:52 edwin
3927 * src/vm/resolve.h: Removed code for old instruction format.
3928 * src/vm/resolve.c: Likewise.
3930 2006-09-05 10:47 edwin
3932 * src/vm/jit/allocator/simplereg.h: Removed code for old instruction
3934 * src/vm/jit/allocator/simplereg.c: Likewise.
3936 2006-09-05 10:44 edwin
3938 * src/vm/jit/show.h: Removed code for old instruction format.
3939 * src/vm/jit/show.c: Likewise.
3941 2006-09-05 10:39 edwin
3943 * src/vm/jit/stack.h: Removed code for old instruction format.
3944 * src/vm/jit/stack.c: Likewise.
3946 2006-09-05 10:37 edwin
3948 * src/vm/jit/parse.h: Removed code for old instruction format.
3949 * src/vm/jit/parse.c: Likewise.
3951 2006-09-05 10:20 edwin
3953 Branch for porting the new instruction format.
3955 2006-09-05 10:15 twisti
3957 * src/vm/jit/i386/Makefile.am (noinst_HEADERS): Removed
3958 icmd_uses_reg_res.inc.
3960 2006-09-05 10:10 twisti
3962 * src/vm/jit/i386/icmd_uses_reg_res.inc: Removed.
3964 2006-09-05 10:09 edwin
3966 * src/vm/jit/x86_64/codegen.h (ICONST): Fix this macro so it properly
3970 2006-09-05 10:04 twisti
3972 * src/tests/Howdy.java: Removed.
3974 2006-09-05 10:03 twisti
3976 * src/vm/jit/x86_64/codegen.c (codegen): Use cd->stackframesize
3977 instead of stackframesize (bugfix).
3978 (createnativestub): Likewise.
3980 2006-09-05 09:59 edwin
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.
3987 2006-09-05 00:12 edwin
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.
3994 2006-09-05 00:02 edwin
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
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.
4007 2006-09-04 23:24 edwin
4009 * src/vm/jit/parse.c (new_parse): Changed leftover "OP" macro uses
4012 2006-09-04 17:45 twisti
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.
4025 * src/vm/jit/mips/codegen.c (codegen): Use cd->stackframesize instead
4026 of stackframesize, use emit functions to generate stubs and call trace
4028 (createnativestub): Likewise.
4030 2006-09-04 17:12 christian
4032 * src/vm/jit/alpha/patcher.c (patcher_wrapper): Patch back machine
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.
4045 * src/vm/jit/alpha/codegen.c (codegen): Use new patcher functions.
4047 2006-09-04 16:33 twisti
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.
4055 * src/vm/jit/alpha/codegen.c (codegen): Use emit functions to generate
4057 (createnativestub): Likewise.
4059 2006-09-04 15:48 twisti
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.
4073 * src/vm/jit/powerpc/codegen.c (codegen): Use emit functions to
4074 generate stubs and call trace code.
4075 (createnativestub): Likewise.
4077 2006-09-04 14:21 twisti
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.
4084 2006-09-04 12:38 tbfg
4086 * src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter): Fixed off
4087 by one stackslot overwrite some stuff bug.
4089 * src/vm/jit/powerpc64/codegen.c (codegen): Fix parameter passing
4092 2006-09-02 14:26 tbfg
4094 * src/vm/jit/powerpc64/arch.h: Reenabled platfrom features.
4096 * src/vm/jit/powerpc64/codegen.c (codegen): Fixed native calls.
4097 (createnativestub): Likewise.
4099 2006-08-31 19:58 tbfg
4101 * srv/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Fixed argument
4104 2006-08-31 13:32 tbfg
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.
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.
4116 2006-08-28 19:31 tbfg
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).
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.
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.
4129 2006-08-28 15:18 twisti
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.
4138 * src/vm/jit/powerpc/patcher.c (patcher_wrapper): Patch back machine
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.
4152 * src/vm/jit/powerpc/codegen.c (codegen): Use new patcher functions
4153 (some of them were already commited accidentally in the last commit).
4155 2006-08-28 13:05 twisti
4157 * src/vm/jit/emit.h (emit_verbosecall_enter): Added.
4158 (emit_verbosecall_exit): Likewise.
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.
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.
4175 2006-08-25 11:55 tbfg
4177 * src/vm/jit/show.c (show_method): Stubs are printed green when
4180 * src/vm/jit/powerpc64/linux/md-os.c (md_signal_handler_sigusr2):
4181 Moved into #ifdef ENABLE_THREADS conditional compile, as it depends
4184 * src/vm/jit/powerpc64/codegen.h: Added M_LADD_IMM and M_AADD_IMM
4185 for better reading of code. Fixed M_CLR.
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.
4191 * src/vm/jit/powerpc64/patcher.c (patch_aconst): Correct asm comment.
4193 * src/vm/jit/powerpc64/disass.c (disassinstr): Display 64 bit
4194 addresses in disassembled code (-sa).
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.
4201 2006-08-25 07:54 twisti
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.
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.
4214 * src/cacaoh/headers.c (new_illegalmonitorstateexception): Renamed to
4215 exceptions_throw_illegalmonitorstateexception.
4217 2006-08-25 07:29 twisti
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.
4224 2006-08-25 07:14 twisti
4226 * src/vm/jit/alpha/emit.c (emit_exception_stubs): Bugfix when
4227 reallocating the code area.
4228 (emit_patcher_stubs): Likewise.
4230 2006-08-24 18:42 twisti
4232 * src/vm/jit/codegen-common.h (codegendata): Added stackframesize. I
4233 think this is more obvious than in jitdata.
4235 * src/vm/jit/jit.h (jitdata): Removed stackframesize.
4237 * src/vm/jit/alpha/emit.c (emit_exception_stubs): Replaced
4238 jd->stackframesize with cd->stackframesize.
4240 * src/vm/jit/alpha/codegen.c (codegen): Likewise.
4241 (createnativestub): Likewise.
4243 * src/vm/jit/i386/emit.c (emit_exception_stubs): Likewise.
4245 * src/vm/jit/i386/codegen.c (codegen): Likewise.
4246 (createnativestub): Likewise.
4248 2006-08-24 09:29 tbfg
4250 srv/vm/jit/powerpc/linux/md-os.c (md_signal_handler_sigusr2): Moved
4252 ENABLE_THREADS ifdef as is depends on threads.
4254 2006-08-23 16:04 twisti
4256 * src/vm/jit/alpha/emit.c [ENABLE_THREADS] (threads/native/lock.h):
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.
4264 * src/vm/jit/i386/codegen.c (codegen): Use jd->stackframesize, removed
4265 stub generation code.
4266 (createnativestub): Likewise.
4268 2006-08-23 15:55 twisti
4270 * src/vm/jit/alpha/asmpart.S (asm_handle_exception): Fixed bug with
4271 maybe-leaf stack and use same registers as on MIPS.
4273 2006-08-23 15:45 twisti
4275 * src/vm/jit/alpha/asmpart.S (asm_handle_exception): Use
4276 md_codegen_get_pv_from_pc.
4278 2006-08-23 15:10 twisti
4280 * src/vm/jit/mips/asmpart.S (asm_handle_exception): Changed some
4283 2006-08-23 14:55 twisti
4285 * src/vm/jit/alpha/asmpart.S (L_asm_handle_exception_stack_loop):
4288 2006-08-23 14:23 twisti
4290 * src/boehm-gc/configure.in (AC_C_INLINE): Set CFLAGS properly before.
4292 2006-08-23 14:07 twisti
4294 * configure.ac (AC_CONFIG_SUBDIRS): Moved to the end of the file and
4295 export OPT_CFLAGS/ARCH_CFLAGS instead of CFLAGS.
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.
4301 2006-08-23 12:57 twisti
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.
4311 * src/vm/jit/alpha/codegen.c (codegen): Use jd->stackframesize, use
4312 new desg_add_* functions, removed stub generation code.
4313 (createnativestub): Likewise.
4315 2006-08-23 12:29 twisti
4317 * src/vm/vm.c (OPT_ALL, OPT_METHOD, OPT_SIGNATURE): #ifndef NDEBUG.
4318 (usage): Don't print -all, -m, -sig options.
4320 2006-08-23 12:12 twisti
4322 * src/vm/jit/emit.h (emit_replacement_stubs): Added.
4324 2006-08-22 20:48 twisti
4326 * src/vm/jit/i386/md-emit.h (vm/jit/codegen-common.h): Added.
4328 2006-08-22 19:53 twisti
4330 * src/vm/jit/emit.h (emit_exception_stubs): Added.
4331 (emit_patcher_stubs): Likewise.
4333 * src/vm/jit/jit.h (jitdata): Added member stackframesize.
4335 2006-08-22 15:49 tbfg
4337 * src/vm/jit/powerpc64/linux/md-abi.h: Added PA_SIZE and
4338 PA_SIZE_IN_POINTERS defines.
4340 * src/vm/jit/powerpc64/arch.h: Enabled machine dependend
4341 compare_and_swap implementation for ppc64.
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.
4347 * src/vm/jit/powerpc64/machine-instr.h (compare_and_swap): Ported
4349 (atomic_add): Removed.
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.
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.
4374 2006-08-22 14:39 twisti
4376 * src/native/vm/java_lang_VMThrowable.c (fillInStackTrace): Removed
4377 architecture #ifdef's.
4378 (getStackTrace): Likewise.
4380 2006-08-22 12:43 twisti
4382 * src/native/native.c (dummynativetable): Made non-static, GCC 4.1
4383 optimized the table away.
4384 (native_init): Removed dummynativetable-hack.
4386 2006-08-22 09:02 tbfg
4388 * src/vm/options.h: Renamed -verbosecolor to -debug-color,
4389 opt_colorverbose to opt_debugcolor and OPT_COLORVERBOSE to
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.
4398 2006-08-21 17:37 twisti
4400 * src/lib/vm/reference/gnu/classpath/VMStackWalker.java
4401 (firstNonNullClassLoader): Added and made native.
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
4407 (getCallingClass): Likewise.
4408 (getCallingClassLoader): Likewise.
4409 (firstNonNullClassLoader): Added.
4411 2006-08-21 15:25 twisti
4413 * src/vm/jit/i386/asmpart.S (L_asm_patcher_wrapper_exception): Removed
4416 2006-08-21 15:17 twisti
4418 * configure.ac (AC_CONFIG_FILES): Added
4419 src/vm/jit/i386/darwin/Makefile.
4421 * src/vm/jit/i386/codegen.c (createnativestub): Align stack to
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.
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
4433 * src/vm/jit/i386/md-asm.h: Removed.
4435 * src/vm/jit/i386/asmpart.S (asm_handle_exception): Align stack to
4437 (asm_abstractmethoderror): Likewise.
4438 (asm_patcher_wrapper): Likewise.
4439 (asm_builtin_f2i, asm_builtin_d2i, asm_builtin_f2l, asm_builtin_d2l):
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.
4446 * src/threads/native/threads.c (threads_cast_darwinstop): Use generic
4447 defines and machine dependent structures.
4449 2006-08-21 14:52 twisti
4451 * src/vm/jit/powerpc/darwin/md-asm.h (asm_initialize_thread_stack):
4453 (asm_perform_threadswitch): Likewise.
4454 (asm_switchstackandcall): Likewise.
4456 2006-08-18 18:37 tbfg
4458 src/vm/options.h: Added the commandlineswitch --verbosecolor which
4460 colored output of show: -si prints method names in red -sd shows
4462 dump in blue. (use | less -R)
4464 src/vm/options.c (options_get): There is a nasty bug in there, read
4467 2006-08-18 13:07 twisti
4469 * src/toolbox/util.c (util_current_time_millis): Removed.
4470 * src/toolbox/util.h: Likewise.
4472 * src/vm/vm.c (vm_create): Use builtin_currenttimemillis instead of
4473 util_current_time_millis.
4475 2006-08-18 13:01 twisti
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.
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.
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.
4494 * src/vm/builtintable.inc (builtintable_internal): Use new
4495 builtintable_entry structure.
4496 (builtintable_automatic): Likewise.
4497 (builtintable_function): Added.
4499 * src/vm/jit/stack.c (stack_analyse): Call
4500 builtintable_replace_function.
4502 * src/vm/jit/show.c (new_show_icmd): Print correct variable of builtin
4504 (show_icmd): Likewise.
4506 * src/vm/jit/stacktrace.c (stacktrace_inline_arraystoreexception): Use
4507 exceptions_new_arraystoreexception.
4509 * src/native/vm/java_lang_VMSystem.c (arraycopy): Removed
4510 implementation and use builtin_arraycopy.
4512 * src/cacaoh/headers.c
4513 (exceptions_throw_arrayindexoutofboundsexception): Added.
4514 (exceptions_new_arraystoreexception): Likewise.
4515 (exceptions_throw_arraystoreexception): Likewise.
4517 2006-08-18 12:24 twisti
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.
4524 2006-08-18 10:22 tbfg
4526 src/vm/jit/powerpc64/linux/md-os.c: Ported signal handlers to ppc64
4529 2006-08-17 17:51 tbfg
4531 src/vm/jit/powerpc64/md.c (md_get_method_patch_address): Fixed
4535 src/vm/jit/powerpc64/arch.h: Temporarily disabled all hardwarefeaturs
4537 make porting easier.
4539 src/vm/jit/powerpc64/codegen.c: Started to fix 32/64 bit issues.
4541 src/vm/jit/powerpc64/codegen.h: Removing special long handling.
4543 src/vm/jit/powerpc64/patcher.c: Changed comment only.
4545 2006-08-17 09:59 twisti
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.
4550 2006-08-17 09:26 twisti
4552 * src/vm/jit/optimizing: Added ignore property.
4554 2006-08-16 15:35 christian
4556 * src/vm/jit/optimizing/.cvsignore: New file.
4558 2006-08-16 12:21 christian
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.
4564 2006-08-16 12:11 christian
4566 * src/toolbox/worklist.h: Comments added.
4568 2006-08-16 12:10 christian
4570 * src/toolbox/bitvector.c: Comments added.
4572 * src/toolbox/bitvector.h: Comments added.
4574 * src/toolbox/worklist.c: Comments added.
4576 2006-08-16 11:35 christian
4578 * src/toolbox/worklist.c: Corrected Header information.
4580 * src/toolbox/worklist.h: Likewise.
4582 * src/toolbox/bitvector.c: Likewise.
4584 * src/toolbox/bitvector.h: Likewise.
4586 2006-08-16 11:31 christian
4588 * src/vm/jit/allocator/liveness.c: Corrected Header information.
4590 * src/vm/jit/allocator/liveness.h: Likewise.
4592 * src/vm/jit/allocator/lsra.c: Likewise.
4594 * src/vm/jit/allocator/lsra.h: Likewise.
4596 2006-08-16 11:26 christian
4598 * src/vm/jit/optimizing/dominators.c: Corrected Header information.
4600 * src/vm/jit/optimizing/dominators.h: Likewise.
4602 * src/vm/jit/optimizing/graph.c: Likewise.
4604 * src/vm/jit/optimizing/graph.h: Likewise.
4606 * src/vm/jit/optimizing/lifetimes.c: Likewise.
4608 * src/vm/jit/optimizing/lifetimes.h: Likewise.
4610 * src/vm/jit/optimizing/lsra.c: Likewise.
4612 * src/vm/jit/optimizing/lsra.h: Likewise.
4614 * src/vm/jit/optimizing/ssa.c: Likewise.
4616 * src/vm/jit/optimizing/ssa.h: Likewise.
4618 2006-08-16 11:18 christian
4620 * src/vm/jit/optimizing/ssa.c (ssa_print_phi): Printing now phi
4621 functions correctly for debug output.
4623 * src/vm/jit/optimizing/ssa.c (dead_code_elimination): No removal of
4624 potential exception throwing instructions (PEI) anymore.
4626 * src/vm/jit/jit.h: Renamed op_needs_saved[] to op_data[][NEEDS_SAVED]
4627 and introduced the new op_data[][PEI].
4629 * src/vm/jit/jit.c (jit_init): Added init of op_data[NEEDS_SAVED|PEI]
4631 * src/vm/jit/optimizing/lifetimes.c (LifeOutAtStatement): Renamed
4632 op_needs_saved[] to the new op_data[][NEEDS_SAVED]
4634 2006-08-15 14:54 christian
4636 * src/vm/jit/optimizing/lifetimes.c (LifenessAnalysis): Ignore
4637 variables used in phi functions, if they define itself (x =
4640 * src/vm/jit/i386/codegen.c (codegen): Bugfix in code created for
4643 * src/vm/jit/show.c (new_show_method): Regard ENABLE_SSA like
4644 ENABLE_LSRA to suppress output of interfaces.
4646 * src/vm/jit/show.c (show_method): likewise.
4648 * src/vm/jit/show.c (show_icmd): Regard special operand format for
4651 2006-08-14 18:14 christian
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).
4657 * src/vm/jit/optimizing/dominators.c: Computation of dominators and
4658 domination frontier for SSA.
4660 * src/vm/jit/optimizing/dominators.h: Include file for dominators.c.
4662 * src/vm/jit/optimizing/graph.c: CFG functions needed for SSA.
4664 * src/vm/jit/optimizing/graph.h: Include file for graph.c
4666 * src/vm/jit/optimizing/lifetimes.c: Scanning lifetimes for SSA.
4668 * src/vm/jit/optimizing/lifetimes.h: Include file for lifetimes.c
4670 * src/vm/jit/optimizing/lsra.c: LSRA based on SSA.
4672 * src/vm/jit/optimizing/lsra.h: Include file for lsra.c.
4674 * src/vm/jit/optimizing/Makefile.am: New Makefile.am for this
4677 * src/vm/jit/optimizing/ssa.c: Computation of SSA form.
4679 * src/vm/jit/optimizing/ssa.h: Include File for ssa.c.
4681 2006-08-14 18:10 christian
4683 * src/vm/jit/optimizing: New directory
4685 2006-08-14 17:50 christian
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).
4691 * src/vm/jit/optimizing/dominators.c: Computation of dominators and
4692 domination frontier for SSA.
4694 * src/vm/jit/optimizing/dominators.h: Include file for dominators.c.
4696 * src/vm/jit/optimizing/graph.c: CFG functions needed for SSA.
4698 * src/vm/jit/optimizing/graph.h: Include file for graph.c
4700 * src/vm/jit/optimizing/lifetimes.c: Scanning lifetimes for SSA.
4702 * src/vm/jit/optimizing/lifetimes.h: Include file for lifetimes.c
4704 * src/vm/jit/optimizing/lsra.c: LSRA based on SSA.
4706 * src/vm/jit/optimizing/lsra.h: Include file for lsra.c.
4708 * src/vm/jit/optimizing/Makefile.am: New Makefile.am for this
4711 * src/vm/jit/optimizing/ssa.c: Computation of SSA form.
4713 * src/vm/jit/optimizing/ssa.h: Include File for ssa.c.
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).
4720 * src/vm/jit/allocator/lsra.h: Moved from src/vm/jit.
4722 * src/vm/jit/allocator/liveness.c: New File. Exact lifetime analysis
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.
4728 * src/vm/jit/allocator/Makefile.am: Adopted for new/moved files in
4729 src/vm/jit/allocator.
4731 * sc/vm/jit/Makefile.am: Adopted for above new/moved files.
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.
4737 * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Support for
4738 ENABLE_SSA for statistics.
4740 * src/vm/options.h: opt_lsra is used with ENABLE_SSA like with
4743 * src/vm/options.c: opt_lsra is used with ENABLE_SSA like with
4746 * src/vm/global.h: New struct imm for union imm_union to get another
4747 operand for IINC in combination with SSA added.
4749 * src/vm/vm.c: opt_lsra and the option -lsra is used with ENABLE_SSA
4750 like with ENABLE_LSRA.
4752 * src/vm/jit/stack.c (stack_analyse): No stack element lifetimes
4753 counting anymore for lsra/ssa (m->maxlifetimes).
4755 * src/vm/jit/stack.h: No stack lifetime counting anymore for lsra/ssa
4758 * src/vm/jit/i386/codegen.c: Support for ENABLE_SSA added.
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.
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).
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
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.
4777 * src/vm/jit/jit.c (jit_init): Populate op_needs_saved. Regard
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:
4785 * src/toolbox/bitvector.c: Bitvector implementation for SSA.
4787 * src/toolbox/bitvector.h: Include file for bitvector.c.
4789 * src/toolbox/worklist.c: Worklist implementation for SSA.
4791 * src/toolbox/worklist.h: Include file for worklist.c.
4793 2006-08-14 10:59 twisti
4795 * src/vm/jit/codegen-common.c (codegen_findmethod): Renamed to
4796 codegen_get_pv_from_pc.
4798 * src/vm/jit/codegen-common.h (codegen_findmethod): Likewise.
4799 (md_codegen_findmethod): Renamed to md_codegen_get_pv_from_pc.
4801 * src/vm/jit/stacktrace.c (stacktrace_create_stackframeinfo):
4803 (stacktrace_create_inline_stackframeinfo): Likewise.
4804 (stacktrace_create_extern_stackframe): Likewise.
4805 (stacktrace_create): Likewise.
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.
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.
4822 * src/vm/jit/i386/patcher.c (patcher_wrapper): Fixed comment.
4823 * src/vm/jit/x86_64/patcher.c: Likewise.
4825 2006-08-11 13:11 tbfg
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
4832 instead of r13 (as PPC) for PV so opcodes changed.
4833 * src/vm/jit/powerpc64/asmpart.S: Using LA_SIZE instead of
4835 LA_SIZE_IN_POINTERS for SAVE_*_REGISTERS macros only.
4837 2006-08-11 10:13 twisti
4839 * src/vm/jit/powerpc/linux/md-abi.h (LA_WORD_SIZE): Renamed to
4840 LA_SIZE_IN_POINTERS.
4842 * src/vm/jit/powerpc/darwin/md-abi.h (LA_WORD_SIZE): Likewise.
4844 * src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Use
4845 LA_SIZE_IN_POINTERS instead of LA_WORD_SIZE.
4847 * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Likewise.
4849 * src/vm/jit/powerpc/asmpart.S: Likewise.
4851 * src/vm/jit/stack.c (new_stack_analyse): Likewise.
4852 (stack_analyse): Likewise.
4854 * src/vm/jit/reg.c (reg_setup): Likewise.
4856 2006-08-10 19:45 tbfg
4858 * src/vm/jit/powerpc64/linux/md-abi.h: fixed linkage area defines for
4860 * src/vm/jit/powerpc64/linux/md-asm.h: fixed register name defines
4862 SAVE/RESTORE macros.
4863 * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): fixed no
4865 call path, coming back to C now.
4867 2006-08-10 09:10 twisti
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.
4882 2006-08-09 15:11 twisti
4884 * src/vm/jit/i386/codegen.c (codegen): Fixed ICMD_LMUL bug.
4886 2006-08-09 15:10 twisti
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.
4896 2006-08-08 19:57 edwin
4898 * src/vm/jit/jit.c (stackreq): Initialize this table statically.
4899 (jit_init): Removed dynamic initialization of stackreq table.
4901 2006-08-08 19:23 edwin
4903 * src/native/vm/java_lang_reflect_Method.c
4904 (Java_java_lang_reflect_Method_invokeNative): Removed unused
4907 * src/native/vm/java_lang_reflect_Constructor.c (vm/access.h):
4908 Include to fix warning.
4910 2006-08-08 19:18 edwin
4912 * src/native/vm/java_lang_reflect_Field.c (cacao_get_field_address):
4913 Use access_check_caller.
4915 2006-08-08 16:21 edwin
4917 * src/vm/access.h, src/vm/access.c (access_check_caller): Added.
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.
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.
4928 * src/cacaoh/headers.c (stacktrace_getClassContext): Added dummy
4931 2006-08-08 14:24 twisti
4933 * src/vm/jit/parse.h (new_block_insert): Renamed to
4934 NEW_MARK_BASICBLOCK.
4935 (block_insert): Renamed to MARK_BASICBLOCK.
4937 * src/vm/jit/parse.c (new_fillextable): Likewise.
4938 (fillextable): Likewise.
4939 (new_parse): Likewise.
4942 2006-08-08 13:25 twisti
4944 * src/vm/jit/stack.c (new_stack_analyse): Replaced debug_nr with nr.
4946 * src/vm/jit/verify/typecheck.c (typestate_reach): Likewise.
4947 (verify_basic_block): Likewise.
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.
4953 2006-08-08 13:03 twisti
4955 * src/vm/jit/cfg.c (cfg_insert_predecessors): New method.
4956 (cfg_build): Use cfg_insert_predecessors for TABLESWITCH and
4959 2006-08-08 13:01 edwin
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.
4967 * src/vm/jit/parse.c (new_parse): Use new_resolve_field_lazy and
4968 new_resolve_method_lazy.
4970 2006-08-08 12:56 edwin
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.
4980 2006-08-08 12:46 edwin
4982 * src/vm/jit/jit.h (NEW_INSTRUCTION_IS_RESOLVED): New macro.
4983 (NEW_INSTRUCTION_IS_UNRESOLVED): Likewise.
4984 (NEW_INSTRUCTION_MUST_CHECK): Likewise.
4986 2006-08-08 12:45 twisti
4988 * src/vm/jit/cfg.h (CFG_UNKNOWN_PREDECESSORS): Defined.
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.
4995 * src/vm/jit/show.c (new_show_basicblock): Print predecessor block
4997 (show_basicblock): Likewise.
4999 2006-08-07 16:10 twisti
5001 * src/vm/jit/reorder.c (reorder): Iterate to m->basicblockcount + 1,
5002 so we kind of set the last basic block too.
5004 2006-08-07 15:30 twisti
5006 * src/vm/jit/jit.h (basicblock): Renamed debug_nr to nr.
5007 (BASICBLOCK_INIT): Likewise.
5009 * src/vm/jit/reorder.c (reorder_place_next_unplaced_block): Likewise.
5010 (reorder): Likewise.
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.
5019 * src/vm/jit/ifconv/ifconv.c (check): Likewise.
5021 * src/vm/jit/loop/analyze.c (insert_exception): Likewise.
5022 (copy_handler): Likewise.
5023 (create_static_checks): Likewise.
5025 * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
5026 (typecheck_reset_flags): Likewise.
5027 (typecheck): Likewise.
5029 * src/vm/jit/verify/typeinfo.c (typeinfo_print): Likewise.
5030 (typeinfo_print_short): Likewise.
5031 (typeinfo_print_stacktype): Likewise.
5033 2006-08-07 15:12 tbfg
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.
5039 2006-08-07 11:15 twisti
5041 * src/vm/jit/reorder.c (reorder): #ifdef debug output.
5043 2006-08-07 11:12 twisti
5045 * src/vm/jit/Makefile.am (libjit_la_SOURCES): Add cfg.[ch] and
5046 reorder.[ch] for debugging.
5048 2006-08-07 11:10 twisti
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.
5056 * src/vm/jit/jit.h (basicblock): Changed type of predecessors and
5058 (jit_complement_condition): Added.
5060 * src/vm/jit/cfg.c (cfg_allocate_predecessors): New method.
5061 (cfg_allocate_successors): Likewise.
5062 (cfg_build): Finished implementation.
5064 * src/vm/jit/reorder.c (reorder_place_next_unplaced_block): New
5066 (reorder): Improved, still not working.
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.
5072 2006-08-04 14:50 twisti
5074 * src/vm/jit/reorder.c: New file.
5075 * src/vm/jit/reorder.h: Likewise.
5077 2006-08-04 14:42 twisti
5079 * src/vm/jit/parse.c (new_parse): MZERO basicblock array.
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.
5088 * src/vm/jit/stack.c (new_stack_analyse): Renamed pre_count to
5090 (stack_analyse): Likewise and removed predecessor count calculation.
5092 * src/vm/jit/show.c (new_show_basicblock): Likewise.
5093 (show_basicblock): Likewise.
5095 * src/vm/jit/ifconv/ifconv.c (ifconv_static): Likewise.
5097 2006-08-04 14:27 twisti
5099 * src/vm/jit/cfg.c: New file.
5100 * src/vm/jit/cfg.h: Likewise.
5102 2006-08-04 14:10 twisti
5104 * src/vm/options.c (opt_foo): Added. This is a development option.
5105 * src/vm/options.h (opt_foo): Likewise.
5107 * src/vm/vm.c (vm_create): Added OPT_FOO.
5109 2006-08-01 20:38 twisti
5111 * autogen.sh: Recognize autoconf 2.60.
5113 2006-08-01 15:51 twisti
5115 * src/vm/jit/codegen-common.c (codegen_createnativestub): Set
5116 JITDATA_FLAG_INSTRUMENT for opt_prof.
5118 2006-08-01 15:08 twisti
5120 * src/vm/jit/recompile.c (recompile_thread): Check return value of
5121 jit_recompile and print the exception in error case.
5123 2006-08-01 13:10 twisti
5125 * src/vm/jit/parse.c (new_parse): Replaced opt_verify with
5126 JITDATA_HAS_FLAG_VERIFY, because on recompilation we don't turn
5129 2006-07-31 20:42 twisti
5131 * src/vm/jit/x86_64/codegen.c (codegen): Load address for INVOKESTATIC
5132 from data segment and pass the displacement to the patcher.
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
5141 * src/vm/jit/x86_64/md.c (md_stacktrace_get_returnaddress): Changed to
5142 new INVOKESTATIC calling sequence.
5144 2006-07-31 16:30 twisti
5146 * src/native/native.c
5147 (native/include/java_lang_management_VMManagementFactory.h): Added.
5148 (dummynativetable): Added VMManagementFactory methods.
5150 2006-07-31 16:26 twisti
5152 * src/native/include/.cvsignore: Added
5153 java_lang_management_VMManagementFactory.h.
5155 2006-07-31 16:25 twisti
5157 * src/native/vm/java_lang_management_VMManagementFactory.c: New file.
5159 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
5160 java_lang_management_VMManagementFactory.c.
5162 * src/native/include/Makefile.am
5163 (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
5164 java_lang_management_VMManagementFactory.h.
5166 2006-07-31 15:35 twisti
5168 * src/native/include/Makefile.am (DO_HEADER_FILES): Do not depend on
5171 2006-07-31 15:27 twisti
5173 * src/native/include/.cvsignore: Added
5174 gnu_java_lang_management_VMThreadMXBeanImpl.h and
5175 java_lang_management_ThreadInfo.h.
5177 2006-07-31 15:26 twisti
5179 * src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c: New
5182 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
5183 gnu_java_lang_management_VMThreadMXBeanImpl.c.
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.
5191 * src/native/jni.h (_Jv_JavaVM): Added total_started_thread_count.
5193 * src/threads/native/threads.c (threads_startup_thread): Count
5194 total_started_thread_count.
5196 * src/cacao/cacao.c (main): Likewise.
5198 * src/cacaoh/headers.c (_Jv_jvm): Added.
5200 2006-07-31 14:43 twisti
5202 * src/native/include: Updated ignore property.
5204 2006-07-31 14:35 twisti
5206 * src/native/vm/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c:
5209 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
5210 gnu_java_lang_management_VMClassLoadingMXBeanImpl.c.
5212 * src/native/include/Makefile.am
5213 (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADER_FILES): Added
5214 gnu_java_lang_management_VMClassLoadingMXBeanImpl.h.
5216 * src/native/include/.cvsignore: Likewise.
5218 * src/native/jni.h (_Jv_JavaVM): Added
5219 Java_gnu_java_lang_management_VMClassLoadingMXBeanImpl_verbose.
5221 * src/native/native.c
5222 (native/include/gnu_java_lang_management_VMClassLoadingMXBeanImpl.h):
5224 (native/include/gnu_java_lang_management_VMMemoryMXBeanImpl.h):
5226 (dummynativetable): Added VMClassLoadingMXBeanImpl and
5227 VMMemoryMXBeanImpl functions.
5229 2006-07-31 14:21 twisti
5231 * src/vm/classcache.c (classcache_number_of_loaded_classes): New
5233 (classcache_get_loaded_class_count): New function.
5234 (classcache_jvmti_GetLoadedClasses): Renamed to
5235 classcache_get_loaded_classes and reimplemented.
5237 * src/vm/classcache.h (classcache_get_loaded_class_count): Added.
5238 (classcache_jvmti_GetLoadedClasses): Renamed to
5239 classcache_get_loaded_classes.
5241 2006-07-31 12:29 twisti
5243 * src/native/include/.cvsignore: Added
5244 gnu_java_lang_management_VMMemoryMXBeanImpl.h and
5245 java_lang_management_MemoryUsage.h.
5247 2006-07-31 12:28 twisti
5250 src/lib/vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java:
5253 * src/lib/Makefile.am (VM_JAVA_FILES): Added
5254 gnu/java/lang/management/VMMemoryMXBeanImpl.java.
5255 (VM_CLASS_FILES): Likewise.
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.
5262 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
5263 gnu_java_lang_management_VMMemoryMXBeanImpl.c.
5265 * src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c
5266 (vm/loader.h): Added.
5268 2006-07-31 12:25 twisti
5270 * src/mm/boehm.c (gc_get_total_bytes): New function.
5271 * src/mm/boehm.h (gc_get_total_bytes): Added.
5273 2006-07-31 12:17 twisti
5275 * src/lib/vm/reference/java/lang/VMClassLoader.java: Merged GNU
5278 2006-07-31 12:15 twisti
5280 * src/native/Makefile.am (nativetable.inc): Renamed VM_ZIP to
5283 2006-07-28 13:24 twisti
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.
5308 * src/vm/jit/dseg.h (dsegentry): New structure.
5310 * src/vm/jit/codegen-common.c (codegen_setup): Don't allocate memory
5312 (codegen_finish): Call dseg_finish.
5314 * src/vm/jit/codegen-common.h (codegendata): Removed dsegtop and
5315 dsegsize, added dseg.
5317 * src/vm/jit/powerpc/codegen.c: Use new dseg function names.
5319 * src/vm/jit/powerpc/emit.c (vm/jit/dseg.h): Added.
5320 (emit_iconst): Use new dseg function names.
5322 2006-07-28 10:54 twisti
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.
5327 2006-07-28 10:12 twisti
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.
5332 2006-07-26 15:20 twisti
5334 * src/vm/jit/jit.h (INSTRUCTION_UNRESOLVED_CLASS): Defined.
5336 * src/vm/jit/alpha/codegen.c (codegen): First changes for duplicate
5339 2006-07-26 14:50 twisti
5341 * src/vm/jit/show.c (new_show_method): Print stub length in method
5343 (show_method): Likewise.
5345 * src/vm/jit/codegen-common.c (codegen_addpatchref): Don't cast to
5348 2006-07-26 13:27 twisti
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.
5353 * src/vm/suck.h (SUCK_BE_S1, SUCK_BE_S2, SUCK_BE_S4, SUCK_BE_S8):
5356 * src/vm/jit/parse.c (vm/suck.h): Added.
5357 (new_parse): Use SUCK_BE_* macros instead of code_get_*.
5360 2006-07-26 11:04 twisti
5362 * src/vm/builtin.c (builtin_print_argument): #ifndef NDEBUG.
5364 2006-07-26 10:16 twisti
5366 * src/vm/jit/powerpc/linux/md-asm.h: Added register defines.
5368 2006-07-26 10:06 twisti
5370 * src/vm/jit/powerpc/darwin/md-asm.h: Added fr register defines again,
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.
5377 2006-07-26 09:59 twisti
5379 * src/vm/jit/powerpc/darwin/md-asm.h (mach/ppc/asm.h): Removed. Don't
5380 define the fr register names.
5382 2006-07-26 09:43 twisti
5384 * src/vm/jit/powerpc/linux/md-asm.h (asm/ppc_asm.h): Removed, it's not
5385 an official kernel header.
5387 * src/vm/jit/powerpc/asmpart.S: Use CACAO internal register defines or
5388 simple register numbers.
5390 2006-07-25 18:30 twisti
5392 * src/vm/global.h (IS_FLT_TYPE): Added.
5393 (IS_DBL_TYPE): Likewise.
5395 2006-07-25 16:00 twisti
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.
5405 2006-07-25 15:57 twisti
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.
5415 * src/vm/jit/jit.c (icmd_names): Set removed ICMDs to UNDEF.
5417 * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
5419 (allocate_scratch_registers): Likewise.
5421 * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
5423 * src/vm/jit/stack.c (new_stack_analyse): Likewise.
5424 (stack_analyse): Likewise.
5426 * src/vm/jit/show.c (new_show_icmd): Likewise.
5427 (show_icmd): Likewise.
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.
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.
5443 * src/vm/jit/i386/emit.c (emit_ifcc_iconst): Removed.
5445 2006-07-25 15:33 twisti
5447 * src/vm/jit/x86_64/md.c (md_signal_handler_sigusr2): Fixed comment.
5449 * src/vm/jit/i386/linux/md-os.c (md_signal_handler_sigusr2): New
5452 2006-07-25 13:52 twisti
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.
5458 * src/vm/global.h (TYPE_LONG, TYPE_FLOAT, TYPE_DOUBLE, TYPE_ADDRESS):
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.
5464 * src/vm/loader.c (load_field): Use short TYPE_* defines.
5465 (load_newly_created_array): Likewise.
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.
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.
5479 * src/vm/jit/verify/typeinfo.c (typevectorset_copymergedtype):
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.
5489 * src/vm/jit/verify/typeinfo.h (TYPE_IS_RETURNADDRESS): Likwise.
5490 (TYPE_IS_REFERENCE): Likwise.
5492 * src/native/jni.c (_Jv_jni_vmargs_from_objectarray): Likewise.
5494 2006-07-25 12:33 twisti
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.
5499 2006-07-25 11:38 twisti
5501 * configure.ac (AC_FUNC_MMAP): Added.
5502 (AC_CHECK_FUNCS): Removed mprotect.
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.
5514 2006-07-21 14:40 twisti
5516 * src/boehm-gc/configure.in (MY_CFLAGS): Commented. We want to use the
5518 * src/boehm-gc/Makefile.am (LTCOMPILE): Likewise.
5521 2006-07-21 14:15 twisti
5523 * src/vm/jit/powerpc/linux/md-asm.h (__ASSEMBLY__): Defined. It's
5524 required for <asm/ppc_asm.h> on my Debian system.
5526 2006-07-21 10:09 twisti
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.
5535 * src/vm/resolve.c: Use exceptions_throw_verifyerror instead of
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.
5542 * src/cacaoh/headers.c (new_verifyerror): Renamed to
5543 exceptions_throw_verifyerror.
5545 2006-07-21 09:24 twisti
5547 * src/vm/builtin.c (builtin_asm_get_exceptionptrptr): Removed.
5548 * src/vm/builtin.h (builtin_get_exceptionptrptr): Likewise.
5550 2006-07-19 15:54 twisti
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
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.
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.
5577 2006-07-19 13:38 twisti
5579 * src/vm/jit/show.c (new_show_method): Print data length.
5580 (show_method): Likewise.
5582 2006-07-19 13:07 tbfg
5584 * src/vm/jit/powerpc64/* (global): changed all powerpc references to
5587 2006-07-19 12:09 twisti
5589 * src/vm/jit/show.c (new_show_method): Print method's code length.
5590 (show_method): Likewise.
5592 2006-07-19 09:13 twisti
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.
5611 2006-07-18 18:38 tbfg
5613 * src/vm/jit/powerpc64/linux/md-abi.c (md_return_alloc): isleafmethod
5614 has been moved to jitdata.
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.
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.
5624 2006-07-18 14:05 twisti
5626 * src/mm/memory.c (memory_cfree): New function.
5627 * src/mm/memory.h (CFREE): Define to memory_cfree.
5628 (memory_cfree): Added.
5630 2006-07-18 11:09 twisti
5632 * src/native/jvmti/Makefile.am (lib_LTLIBRARIES): Removed libjdwp.la.
5633 (libjdwp_la_SOURCES): Removed.
5635 * src/native/jvmti/VMjdwp.c: Removed.
5636 * src/native/jvmti/VMjdwp.h: Likewise.
5638 * src/native/vm/Makefile.am [ENABLE_JVMTI] (lib_LTLIBRARIES): Added
5640 (libjdwp_la_SOURCES): Added.
5642 * src/native/vm/VMFrame.c: Removed.
5643 * src/native/vm/VMMethod.c: Likewise.
5644 * src/native/vm/VMVirtualMachine.c: Likewise.
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.
5652 2006-07-18 11:02 motse
5654 * src/native/jvmti/VMjdwp.c (Breakpoint): adapt BreakpointEvent
5655 signature to changed gnu classpath jdwp implementation.
5658 2006-07-18 08:56 twisti
5660 * src/vm/builtin.c (builtin_trace_args): Added missing
5661 TRACE_ARGS_NUM >= 4 case.
5663 2006-07-18 08:36 twisti
5665 * src/vm/jit/powerpc/darwin/md-asm.h (asm_wrapper_patcher): Renamed to
5666 asm_patcher_wrapper.
5668 2006-07-18 08:19 twisti
5670 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added package
5671 prefix to filenames.
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.
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.
5705 2006-07-18 08:16 twisti
5707 * src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c: New
5710 2006-07-18 08:14 twisti
5712 * src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c
5714 (getStartTime): Implemented.
5716 2006-07-18 08:05 twisti
5718 * src/native/vm/VMSystemProperties.c (preInit): Added
5719 gnu.java.compiler.name property.
5721 2006-07-17 16:11 twisti
5723 * src/vm/jit/jit.h (IS_VOID_TYPE): Added.
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.
5730 2006-07-17 15:14 twisti
5732 * src/native/jvmti/.cvsignore (TAGS): Added.
5733 (cacaodbgserver): Likewise.
5735 2006-07-17 15:11 twisti
5737 * configure.ac (CACAO_LIBDIR): Added.
5739 * src/vm/classcache.c [ENABLE_JVMTI] (lock_hashtable_classcache):
5741 (classcache_jvmti_GetLoadedClasses): New method.
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.
5748 * src/vm/vm.c (vm_create): Use CACAO_LIBDIR in OPT_XRUNJDWP.
5750 * src/native/jvmti/jvmti.c (GetLoadedClasses): Use
5751 classcache_jvmti_GetLoadedClasses.
5752 (jvmti_agentload): Some code cleanup.
5754 2006-07-17 13:50 twisti
5756 * src/native/include/include/Makefile.am (GEN_JVMTI_HEADER_FILES):
5759 * src/native/include/include/.cvsignore
5760 (gnu_classpath_jdwp_VMMethod.h): Added.
5761 (gnu_classpath_jdwp_util_VariableTable.h): Likewise.
5763 2006-07-17 11:48 twisti
5765 * src/vm/jit/asmpart.h (asm_wrapper_patcher): Renamed to
5766 asm_patcher_wrapper.
5768 * src/vm/jit/alpha/codegen.c (codegen): Likewise.
5769 (createnativestub): Likewise.
5770 * src/vm/jit/alpha/asmpart.S (asm_wrapper_patcher): Likewise.
5772 * src/vm/jit/i386/codegen.c (codegen): Likewise.
5773 (createnativestub): Likewise.
5774 * src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Likewise.
5776 * src/vm/jit/mips/codegen.c (codegen): Likewise.
5777 (createnativestub): Likewise.
5778 * src/vm/jit/mips/asmpart.S (asm_wrapper_patcher): Likewise.
5780 * src/vm/jit/powerpc/codegen.c (codegen): Likewise.
5781 (createnativestub): Likewise.
5782 * src/vm/jit/powerpc/asmpart.S (asm_wrapper_patcher): Likewise.
5784 * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
5785 (createnativestub): Likewise.
5786 * src/vm/jit/powerpc64/asmpart.S (asm_wrapper_patcher): Likewise.
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.
5792 2006-07-17 11:09 twisti
5794 * src/mm/boehm.c (heap_allocate): Changed signature. Some cleanup.
5795 * src/mm/boehm.h (heap_allocate): Likewise.
5797 2006-07-17 10:00 twisti
5799 * src/native/vm/VMRuntime.c (maxMemory): Comment fix.
5800 (availableProcessors): Likewise.
5802 2006-07-17 09:47 twisti
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.
5824 * src/vm/jit/x86_64/asmpart.S (asm_wrapper_patcher): Use
5827 2006-07-16 15:58 twisti
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.
5834 2006-07-16 15:38 twisti
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.
5841 * src/vm/jit/profile/profile.c (profile_threadobject): Renamed to
5843 (profile_thread): Call codegen_get_pv_from_pc_nocheck instead of
5845 (profile_start_thread): Changed initialization of the thread
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.
5854 2006-07-14 17:08 edwin
5856 * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
5857 Fixed dupslots indices for ICMD_SWAP.
5859 2006-07-14 17:07 edwin
5861 * src/vm/jit/show.c (new_show_icmd): General handling of
5862 INS_FLAG_UNRESOLVED.
5864 2006-07-14 17:06 edwin
5866 * src/vm/jit/show.c (new_show_icmd): Fixed showing of LASTORECONST.
5868 2006-07-14 17:05 edwin
5870 * src/vm/jit/stack.c (new_stack_analyse): Fixed propagation of
5871 INS_FLAG_UNRESOLVED for PUTFIELDCONST/PUTSTATICCONST.
5873 2006-07-14 17:03 edwin
5875 * src/vm/jit/stack.c (DUP_SLOT): Copy only TEMPVARs directly.
5877 2006-07-14 17:02 edwin
5879 * src/vm/jit/parse.c (new_parse): No exception check for
5882 2006-07-14 16:58 edwin
5884 * src/vm/jit/show.c (new_show_stackvar): Show varkind and varnum for
5885 variables with an invalid varkind.
5887 2006-07-14 16:56 edwin
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
5894 2006-07-14 16:54 edwin
5896 * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
5897 Fixed dupslots indices for ICMD_DUP_X1.
5899 2006-07-14 16:52 edwin
5901 * src/vm/jit/parse.h (NEW_OP_STORE_ONEWORD): Store index in dst,
5903 (NEW_OP_STORE_TWOWORD): Likewise.
5905 2006-07-13 11:54 twisti
5907 * src/vm/jit/powerpc/codegen.c (codegen): Use lock_monitor_enter/exit
5908 instead of builtin_monitorenter/exit.
5910 2006-07-13 11:17 motse
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
5919 2006-07-13 10:26 twisti
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.
5926 2006-07-12 22:55 twisti
5928 * src/mm/memory.c (vm/vm.h): Added.
5929 (memory_cnew): Replaced throw_cacao_exception_exit with vm_abort.
5930 (dump_release): Likewise.
5932 * src/toolbox/util.c (_Jv_getcwd): Likewise.
5934 2006-07-12 22:12 twisti
5936 * src/vm/jit/alpha/codegen.c (codegen): Use lock_monitor_enter/exit
5937 instead of builtin_monitorenter/exit.
5939 2006-07-12 21:59 twisti
5941 * src/vm/jit/i386/codegen.c (codegen): Use lock_monitor_enter/exit
5942 instead of builtin_monitorenter/exit.
5944 2006-07-12 21:45 twisti
5946 * src/vm/builtin.c (builtin_monitorenter): Removed.
5947 (builtin_staticmonitorenter): Likewise.
5948 (builtin_monitorexit): Likewise.
5949 * src/vm/builtin.h: Likewise.
5951 * src/threads/native/lock.c (lock_monitor_enter): Don't pass
5952 threadobject, get it in this function.
5953 (lock_monitor_exit): Likewise.
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.
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.
5986 2006-07-12 21:33 twisti
5988 * src/threads/Makefile.am: Added path to header.
5990 2006-07-12 21:32 twisti
5992 * src/vm/jit/Makefile.am (RECOMPILE_SOURCES): Added, compile recompile
5993 only if threads are enabled.
5995 * src/vm/vm.c (vm_create): Call recompile_init only if threads are
5998 2006-07-12 21:27 twisti
6000 * src/threads/none/.cvsignore: New file.
6002 2006-07-12 21:26 twisti
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.
6009 2006-07-12 20:27 twisti
6011 * src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Use
6014 2006-07-12 20:14 twisti
6016 * src/vm/jit/powerpc/codegen.c (codegen): Use jd->isleafmethod.
6017 * src/vm/jit/powerpc/linux/md-abi.c (md_return_alloc): Likewise.
6019 2006-07-12 15:02 twisti
6021 * src/vm/jit/recompile.c (recompile_replace_vftbl): #ifndef NDEBUG
6024 2006-07-12 14:55 twisti
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.
6033 * src/vm/jit/sparc64/md-abi.c: Added GNU header.
6034 (vm/jit/abi.h): Added.
6036 2006-07-12 14:53 twisti
6038 * src/vm/jit/mips/codegen.c (codegen): Use jd->isleafmethod. Pass
6039 register number to codegen_add_classcastexception_ref.
6041 * src/vm/jit/mips/md-abi.c (vm/jit/abi.h): Added.
6042 (md_return_alloc): Changed signature.
6044 2006-07-12 14:42 edwin
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.
6051 * src/vm/jit/x86_64/emit.c (emit_load): New function.
6053 2006-07-12 13:52 twisti
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.
6058 2006-07-12 13:47 twisti
6060 * src/vm/jit/code.c (code_get_stack_frame_size): Commented code, we
6061 need another implementation.
6063 2006-07-11 22:23 twisti
6065 * src/vm/jit/x86_64/asmpart.S (asm_call_jit_compiler): Use
6066 exceptions_get_and_clear_exception.
6067 (asm_wrapper_patcher): Likewise.
6069 2006-07-11 19:17 twisti
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.
6076 * src/vm/jit/i386/md.c (md_get_method_patch_address): Changed
6079 * src/vm/jit/i386/md-emit.h: Changed prefix from i386_ to emit_. Added
6080 architecture defines.
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.
6085 * src/vm/jit/i386/codegen.h: Removed a lot of architecture stuff.
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.
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.
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.
6114 2006-07-11 18:39 twisti
6116 * src/vm/jit/emit.h [SIZEOF_VOID_P == 4] (emit_store_low): Added.
6117 [SIZEOF_VOID_P == 4] (emit_store_high): Likewise.
6119 2006-07-11 18:35 twisti
6121 * src/vm/jit/i386/md-asm.h (mptr): Added.
6123 2006-07-11 18:34 twisti
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.
6132 2006-07-11 17:10 twisti
6134 * src/vm/jit/alpha/patcher.c (patcher_wrapper): Added return address
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.
6151 2006-07-10 17:22 twisti
6153 * configure.ac (disassembler): Disabled by default, made too many
6156 * src/vm/vm.c (toolbox/util.h): Added.
6157 (vm_create): Save VM start time, #ifdef disassembler stuff.
6159 * src/native/jni.h (_Jv_JavaVM): Added starttime and
6160 Java_gnu_java_lang_management_VMMemoryMXBeanImpl_verbose.
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.
6167 * src/toolbox/util.h (config.h): Added.
6168 (vm/types.h): Likewise.
6169 (util_current_time_millis): New function.
6171 2006-07-10 14:47 twisti
6173 * src/vm/jit/alpha/codegen.c codegen): CHECKCAST: Load s1 again before
6176 2006-07-10 14:42 twisti
6178 * src/vm/jit/i386/emit.c (i386_call_mem): Removed.
6180 2006-07-10 14:41 twisti
6182 * src/vm/jit/i386/codegen.c (codegen): CHECKCAST: Load s1 again before
6184 (callgetexceptionptrptr): Removed.
6186 2006-07-10 14:22 twisti
6188 * src/vm/jit/i386/codegen.c (codegen): Use jd->isleafmethod.
6190 2006-07-10 14:20 twisti
6192 * src/vm/jit/jit.c (jit_jitdata_new): New function.
6193 (jit_compile): Use jit_jitdata_new.
6194 (jit_recompile): Likewise.
6196 2006-07-10 14:11 twisti
6198 * NEWS: Added ClassCastException and system assertions.
6199 * src/vm/jit/stack.c (new_stack_analyse): Changed missing
6201 (stack_analyse): Likewise.
6203 2006-07-10 14:02 twisti
6205 * src/vm/jit/code.h (codeinfo): Removed basicblocks and isleafmethod.
6206 * src/vm/jit/jit.h (jitdata): Added isleafmethod.
6208 * src/vm/jit/alpha/codegen.c (codegen): Use jd->isleafmethod. Pass
6209 register number to codegen_add_classcastexception_ref.
6211 * src/vm/jit/allocator/simplereg.c (interface_regalloc): Use
6213 (local_regalloc): Likewise.
6215 * src/vm/jit/parse.c (new_parse): Likewise.
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.
6223 2006-07-10 13:53 twisti
6225 * src/vm/jit/powerpc64/linux/.cvsignore: New file.
6226 * src/vm/jit/powerpc64/.cvsignore: Likewise.
6228 2006-07-10 13:51 twisti
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
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.
6250 * src/vm/jit/alpha/asmpart.S (asm_wrapper_patcher): Use
6253 * src/vm/jit/alpha/md-abi.c (md_return_alloc): Changed signature.
6255 2006-07-10 13:36 twisti
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.
6263 * src/vm/statistics.h (count_class_infos): Renamed to size_classinfo.
6264 (size_fieldinfo): Added.
6265 (size_methodinfo): Likewise.
6266 (size_codeinfo): Likewise.
6268 * src/vm/class.c (class_create_classinfo): Renamed count_class_infos
6271 * src/vm/loader.c (load_class_from_classbuffer): Likewise and use new
6274 * src/vm/jit/code.c [ENABLE_STATISTICS] (code_codeinfo_new): Add
6276 [ENABLE_STATISTICS] (code_codeinfo_free): Subtract codeinfo size.
6278 2006-07-10 10:18 twisti
6280 * src/vm/jit/x86_64/codegen.c (codegen): Pass register number to
6281 codegen_add_classcastexception_ref.
6283 2006-07-10 10:01 twisti
6285 * src/lib/vm/reference/java/lang/VMClassLoader.java
6286 (defaultAssertionStatus): Made native.
6287 * src/native/vm/VMClassLoader.c (defaultAssertionStatus): Added.
6289 * src/native/jni.h (_Jv_JavaVM): Added
6290 Java_java_lang_VMClassLoader_defaultAssertionStatus.
6292 * src/vm/vm.c (OPT_ESA): Added.
6293 (OPT_DSA): Likewise.
6295 2006-07-08 22:07 twisti
6297 * src/vm/jit/methodheader.h (ExEntrySize): Removed.
6298 (ExStartPC): Likewise.
6299 (ExEndPC): Likewise.
6300 (ExHandlerPC): Likewise.
6301 (ExCatchType): Likewise.
6303 2006-07-08 20:32 twisti
6305 * src/vm/jit/i386/codegen.c (codegen): Pass register number to
6306 codegen_add_classcastexception_ref.
6308 2006-07-08 20:16 twisti
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.
6314 * src/vm/class.c (class_java_lang_ClassCastException): Added.
6315 * src/vm/class.h (class_java_lang_ClassCastException): Likewise.
6317 * src/vm/exceptions.c (exceptions_init): Initialize
6318 class_java_lang_ClassCastException.
6320 (new_classcastexception): Renamed to
6321 exceptions_new_classcastexception, pass the failing class name to the
6324 * src/vm/exceptions.h (exceptionptr): Use thread object directly.
6325 (new_classcastexception): Renamed to
6326 exceptions_new_classcastexception.
6328 * src/vm/jit/stacktrace.c (stacktrace_inline_classcastexception):
6330 * src/vm/jit/stacktrace.h (stacktrace_inline_classcastexception):
6333 * src/vm/jit/codegen-common.c (codegen_add_classcastexception_ref):
6335 * src/vm/jit/codegen-common.h (codegen_add_classcastexception_ref):
6338 * src/vm/jit/powerpc/codegen.c (codegen): Pass register number to
6339 codegen_add_classcastexception_ref.
6341 2006-07-08 19:08 twisti
6343 * src/vm/jit/i386/codegen.c (createnativestub): Don't use
6344 builtin_get_exceptionptrptr, but codegen_finish_native_call for
6347 2006-07-08 18:28 twisti
6349 * configure.ac: Use ARCH_CFLAGS and OPT_CFLAGS instead of CFLAGS and
6350 pass the flags via AM_CFLAGS to Makefile's.
6352 2006-07-08 14:20 twisti
6354 * src/vm/jit/stacktrace.c (stacktrace_create): Added another code ==
6357 2006-07-06 22:52 twisti
6359 * src/vm/jit/powerpc/darwin/md-abi.h (REG_ITMP12_PACKED): Added.
6360 (REG_RESULT_PACKED): Added.
6362 * src/vm/jit/powerpc/darwin/md-asm.h (patcher_wrapper): Added.
6364 * src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Changed
6367 * src/vm/jit/powerpc/asmpart.S (L_patcher_wrapper$stub): Added.
6369 2006-07-06 14:19 twisti
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
6376 * src/vm/jit/x86_64/codegen.h (PROFILE_CYCLE_START): Use code
6378 (PROFILE_CYCLE_STOP): Likewise.
6380 * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Changed signature.
6382 2006-07-06 14:10 tbfg
6384 fixed isleafmethod is now part of code issues
6386 2006-07-06 13:59 tbfg
6389 arch.h and md-abi.h: modified PV register assignment
6391 2006-07-06 12:42 twisti
6393 * src/vm/jit/i386/codegen.c (codegen): Use code->isleafmethod.
6394 * src/vm/jit/i386/md-abi.c (md_return_alloc): Changed signature.
6396 2006-07-06 11:36 twisti
6398 * src/vm/method.h (methodinfo): Removed isleafmethod, frequency,
6399 bbfrequency and cycles.
6401 * src/vm/jit/powerpc/linux/md-abi.c (md_return_alloc): Changed
6402 signature, use code->isleafmethod.
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.
6408 * src/vm/jit/powerpc/codegen.c (vm/jit/methodheader.h): Added.
6409 (codegen): Use code->isleafmethod, added instrumentation code.
6411 * src/vm/jit/abi.h (md_return_alloc): Added.
6413 * src/vm/jit/stack.c (new_stack_analyse): Use code->isleafmethod.
6414 (stack_analyse): Likewise.
6416 * src/vm/jit/stack.h (md_return_alloc): Removed.
6418 * src/vm/jit/code.c (code_codeinfo_new): Don't memset as NEW already
6419 does that, set isleafmethod to true.
6421 * src/vm/jit/code.h (codeinfo): Added basicblockcount and basicblocks.
6423 * src/vm/jit/allocator/simplereg.c (interface_regalloc): Use
6425 (local_regalloc): Likewise.
6427 * src/vm/jit/parse.c (new_parse): Likewise.
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.
6435 * src/vm/jit/replace.c (replace_create_replacement_points): Don't set
6436 code->isleafmethod, it's already set.
6438 * src/vm/jit/profile/profile.c (profile_printstats): Use code
6441 * src/vm/jit/jit.c (jit_compile_intern): Don't set m->isleafmethod.
6443 * src/cacaoh/headers.c: Use stackcount instead of isleafmethod.
6445 2006-07-05 11:48 twisti
6447 * src/vm/descriptor.h: Removed space.
6449 2006-07-04 19:06 twisti
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.
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
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.
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.
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.
6488 2006-07-04 18:24 twisti
6490 * src/vm/jit/powerpc/codegen.c (createnativestub): Don't use
6491 builtin_get_exceptionptrptr, but codegen_finish_native_call for
6494 2006-07-04 16:56 twisti
6496 * tests/regression/codepatching/test.java: Catch only thrown
6499 2006-07-04 16:05 twisti
6501 * src/vm/jit/powerpc/darwin/md-os.c (md_signal_handler_sigusr2): New
6504 * src/vm/jit/powerpc/darwin/md-asm.h (asm_handle_nullptr_exception):
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.
6511 2006-07-04 16:02 twisti
6513 * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Code
6516 2006-07-03 14:06 twisti
6518 * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use
6519 exceptions_get_and_clear_exception.
6520 (asm_wrapper_patcher): Likewise.
6522 2006-07-03 13:49 twisti
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
6529 * src/vm/jit/alpha/codegen.c (createnativestub): Don't use
6530 builtin_get_exceptionptrptr, but codegen_finish_native_call for
6533 * src/vm/jit/alpha/codegen.h (M_ASUB_IMM): Added.
6535 2006-07-03 13:46 twisti
6537 * src/vm/jit/alpha/md-abi.c (nregdescint): Added comments.
6539 2006-07-03 13:45 twisti
6541 * src/vm/jit/alpha/linux/md-os.c (md_signal_handler_sigusr2): New
6543 (thread_restartcriticalsection): Code cleanup.
6545 2006-07-03 12:06 twisti
6547 * src/vm/jit/alpha/asmpart.S (asm_abstractmethoderror): New method.
6549 2006-07-03 10:18 twisti
6551 * src/vm/exceptions.c (exceptions_get_and_clear_exception): New
6553 * src/vm/exceptions.h (exceptions_get_and_clear_exception): Added.
6555 2006-07-02 18:31 twisti
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.
6561 src/lib/vm/reference/gnu/java/lang/management/VMRuntimeMXBeanImpl.java:
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.
6569 * src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c: New
6571 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
6572 gnu_java_lang_management_VMRuntimeMXBeanImpl.c.
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.
6580 * src/native/native.c
6581 (native/include/gnu_java_lang_management_VMRuntimeMXBeanImpl.h):
6583 (dummynativetable): Added
6584 Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getInputArguments
6585 and Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getStartTime.
6587 2006-07-02 18:24 twisti
6589 * m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Add -1.5 option when using ecj.
6591 2006-07-02 11:00 twisti
6593 * m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Added bootclasspath to compiler
6596 2006-07-02 10:42 twisti
6598 * src/vm/jit/mips/asmpart.S (asm_abstractmethoderror): New function.
6600 2006-06-28 22:47 twisti
6602 * NEWS: Added new release.
6604 2006-06-28 22:38 twisti
6606 * src/lib/vm/reference/java/lang/VMThread.java: Updated to GNU
6609 2006-06-28 21:52 twisti
6611 * src/vm/jit/powerpc/asmpart.S (asm_abstractmethoderror): New
6614 2006-06-28 21:51 twisti
6616 * src/vm/exceptions.c (exceptions_handle_exception): Typo.
6618 2006-06-28 21:46 twisti
6620 * src/vm/linker.c (link_class_intern): Fixed compiler warning, added
6622 (linker_addinterface): Fixed compiler warning.
6624 2006-06-28 21:44 edwin
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.
6630 2006-06-28 21:01 edwin
6632 * src/vm/linker.c (link_class_intern): Do not generate compiler
6633 stubs for abstract methods.
6635 2006-06-28 20:33 edwin
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.
6643 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception):
6644 Changed MethodPointer in method header to CodeinfoPointer.
6646 2006-06-28 19:43 twisti
6648 * src/vm/exceptions.c (exceptions_asm_new_abstractmethoderror): New
6650 * src/vm/exceptions.h (exceptions_asm_new_abstractmethoderror): Added.
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.
6656 2006-06-28 19:11 twisti
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.
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.
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.
6673 * src/vm/resolve.c (resolve_method_invokespecial_lookup): Use
6674 exceptions_throw_abstractmethoderror.
6676 * src/vm/jit/asmpart.h (asm_abstractmethoderror): Added.
6678 * src/vm/jit/i386/asmpart.S (asm_abstractmethoderror): New function.
6679 * src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Likewise.
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.
6686 * src/cacaoh/headers.c (asm_abstractmethoderror): Added.
6687 (exceptions_throw_abstractmethoderror): Likewise.
6689 2006-06-28 17:05 twisti
6691 * src/vm/jit/jit.h (JITDATA_FLAG_INSTRUMENT)
6692 (JITDATA_HAS_FLAG_INSTRUMENT): Likewise.
6693 (ICMD_OPCODE_MASK, ICMD_CONDITION_MASK): Removed.
6695 * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
6696 Removed ICMD_OPCODE_MASK.
6698 * src/vm/jit/show.c (show_icmd): Commented conditional stuff, maybe I
6699 need it again someday.
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.
6705 2006-06-28 15:39 twisti
6707 * src/vm/jit/x86_64/md.c [ENABLE_THREADS] (threads/native/threads.h):
6709 (md_signal_handler_sigusr2): New function.
6710 (thread_restartcriticalsection): Code cleanup.
6712 2006-06-28 08:24 twisti
6714 * src/scripts/.cvsignore: Removed cacao, jarsigner, javac and keytool.
6715 * src/scripts: Updated svn:ignore.
6717 * src/scripts/Makefile.am (bin_SCRIPTS): Removed jarsigner and
6718 keytool, there are now wrappers in GNU Classpath.
6720 * src/scripts/javac.in: Removed.
6721 * src/scripts/jarsigner.in: Likewise.
6722 * src/scripts/cacao.in: Likewise.
6723 * src/scripts/keytool.in: Likewise.
6725 * configure.ac (AC_CONFIG_FILES): Removed src/scripts/jarsigner and
6726 src/scripts/keytool.
6728 2006-06-23 12:07 twisti
6730 * src/vm/string.c (javastring_toutf): Check for NULL and return
6732 (literalstring_u2): Replaced list_addfirst with list_add_first.
6734 * src/vm/builtin.h (BUILTIN_MONITOR_ENTER, BUILTIN_MONITOR_EXIT):
6737 * src/vm/jit/powerpc/codegen.c (codegen): Don't use
6738 BUILTIN_staticmonitorenter, use JITDATA_HAS_FLAG_VERBOSECALL instead
6740 (createnativestub): Likewise.
6742 * src/vm/jit/code.c: Smaller changes.
6744 * src/vm/jit/code.h (codeinfo): Added optlevel.
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.
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.
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.
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.
6766 * src/vm/jit/codegen-common.c (codegen_createnativestub): Set
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):
6776 (jit_recompile): Likewise.
6778 * src/vm/vm.c (vm/jit/recompile.h): Added.
6779 (vm_create): Call recompile_init and recompile_start_thread.
6781 * src/toolbox/list.h (config.h, vm/types.h, vm/global.h): Added.
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.
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.
6801 * src/vm/suck.c (suck_init): Replaced list_init with list_create.
6802 (suck_add): Replaced list_addlast with list_add_last.
6804 * src/vm/loader.c (load_constantpool): Replaced list_addfirst with
6806 (load_newly_created_array): Likewise.
6808 * src/vm/properties.c (properties_init): Replaced list_init with
6810 (properties_add): Use list_add_last_unsynced, as this is required
6811 during bootstrapping.
6813 * src/threads/native/threads.h (THREAD_FLAG_JAVA)
6814 (THREAD_FLAG_INTERNAL): Added.
6815 (threadobject): Added flags.
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.
6821 2006-06-23 09:23 twisti
6823 * src/vm/linker.c (vm/vm.h): Added.
6825 2006-06-22 18:48 twisti
6827 * src/vm/utf8.c, src/vm/utf8.h (utf_null): Added.
6829 2006-06-22 14:39 twisti
6831 * src/vm/utf8.c (utf8_init): Compile fix with ENABLE_STATISTICS.
6833 2006-06-21 16:29 ajordan
6835 * configure.ac: Added support for compiling on sparc64
6837 * src/vm/jit/Makefile.am: Added sparc64 subdirectory
6839 * src/vm/jit/sparc64/*: Added files for the sparc64 JIT (which won't
6842 2006-06-21 08:30 twisti
6844 * src/vm/jit/mips/linux/.cvsignore: Added TAGS.
6846 2006-06-20 15:50 twisti
6848 * src/vm/jit/mips/codegen.c (codegen): Use codeinfo instead of
6850 (createcompilerstub): Likewise.
6851 (createnativestub): Likewise.
6853 * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Likewise.
6855 2006-06-20 11:55 twisti
6857 * src/vm/jit/alpha/codegen.c (codegen): Use codeinfo instead of
6859 (createcompilerstub): Likewise.
6860 (createnativestub): Likewise.
6862 * src/vm/jit/alpha/asmpart.S (asm_vm_call_method): Likewise.
6864 2006-06-20 09:10 twisti
6866 * src/vm/jit/x86_64/codegen.c (codegen): Use codeinfo instead of
6868 (createcompilerstub): Likewise.
6869 (createnativestub): Likewise.
6871 * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Likewise.
6873 2006-06-19 22:53 twisti
6875 * src/vm/jit/i386/codegen.c (codegen): Use codeinfo instead of
6877 (createcompilerstub): Likewise.
6878 (createnativestub): Likewise.
6880 * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Likewise.
6882 2006-06-19 22:23 twisti
6884 * src/threads/native/threads.h (threadobject): Added pc.
6886 2006-06-19 22:22 twisti
6888 * src/vm/jit/methodheader.h (MethodPointer): Removed.
6889 (CodeinfoPointer): Added.
6891 * src/vm/method.c (method_vftbl_lookup): Use CodeinfoPointer.
6893 * src/vm/jit/powerpc/codegen.c (codegen): Use codeinfo instead of
6895 (createcompilerstub): Likewise.
6896 (createnativestub): Likewise.
6898 * src/vm/jit/powerpc/asmpart.S: Likewise.
6900 * src/vm/jit/stacktrace.c (stacktrace_create_stackframeinfo):
6902 (stacktrace_create_native_stackframeinfo): Likewise.
6903 (stacktrace_add_method): Likewise.
6904 (stacktrace_create): Likewise.
6906 * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
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.
6912 * src/vm/jit/codegen-common.h (methodtree_element): Likewise.
6914 * src/vm/jit/profile/profile.c (profile_thread): First implementation.
6915 * src/vm/jit/profile/profile.h (vm/global.h): Added.
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
6922 * src/vm/vm.c (vm_create): Call profile_start_thread only with
6925 * src/cacaoh/headers.c (exceptions_throw_nosuchmethoderror): Added.
6927 2006-06-19 21:39 twisti
6929 * src/vm/class.c (class_resolveinterfacemethod_intern): Smaller
6931 (class_resolveclassmethod): Likewise.
6933 2006-06-19 21:04 twisti
6935 * src/vm/linker.c (link_class_inter): Smaller changes.
6936 (linker_addinterface): Likewise, added some comments about checks we
6939 2006-06-19 21:00 twisti
6941 * src/vm/jit/powerpc/patcher.c (assert.h): Added.
6942 (patcher_invokeinterface): Added XXX comments.
6944 2006-06-19 20:51 twisti
6946 * configure.ac (profiling): Disable by default.
6948 2006-06-19 12:36 twisti
6950 * src/native/jni.c (AttachCurrentThread): Removed dummy
6952 (GetEnv): Use switch instead of if's.
6954 2006-06-14 18:55 motse
6956 * src/native/native.c (native_resolve_function): fix/add to my last
6959 2006-06-14 18:36 motse
6961 * src/vm/loader.c (load_class_from_classloader): Add call to jvmti
6962 Class Load and Prepare event.
6964 * src/native/jni.c (RegisterNatives): Add comment for calling jvmti
6965 Native Method Bind event.
6967 * src/native/vm/VMClassLoader.c (defineClass): Add call to jvmti
6968 Class File Load Hook event.
6970 * src/native/vm/VMObject.c (wait): Add call to jvmti Monitor Wait
6973 * src/native/native.c (native_resolve_function): Add call to jvmti
6974 Native Method Bind event.
6976 * src/native/jvmti/cacaodbg.c (jvmti_ClassFileLoadHook): new function
6978 (jvmti_ClassLoadPrepare): idem
6979 (jvmti_MonitorContendedEntering): idem
6980 (jvmti_MonitorWaiting): idem
6981 (jvmti_ThreadStartEnd): idem
6982 (jvmti_NativeMethodBind): idem
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.
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
6993 (GetCurrentContendedMonitor): idem
6995 * src/threads/native/lock.c (lock_monitor_enter): Add call to jvmti
6996 Monitor Contended Enter and Entered event
6998 * src/threads/native/threads.c (threads_startup_thread): replace
6999 breakpoint by direct call to jvmti Thread Start/End event
7001 * src/cacaoh/headers.c add dummy functions jvmti_ThreadStartEnd,
7002 jvmti_ClassLoadPrepare and jvmti_MonitorContendedEntering
7004 2006-06-13 10:41 twisti
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.
7010 2006-06-12 21:34 edwin
7012 * src/vm/jit/stack.c (new_stack_analyze): Fixed warnings about
7013 directive in macro argument.
7015 2006-06-12 21:27 edwin
7017 * src/vm/jit/show.c (new_show_basicblock): Fixed warnings.
7018 (new_show_stackvar): Likewise.
7020 2006-06-12 21:14 edwin
7022 * src/vm/jit/stack.c (new_stack_analyse): Set dst field for IINC.
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.
7030 * src/vm/jit/allocator/simplereg.c (new_reg_mark_copy): Fixed
7031 bug for the case nthrough != 0.
7033 2006-06-12 18:50 edwin
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.
7039 * src/vm/jit/show.c (new_show_stackvar): Show allocated register
7040 for stage SHOW_REGS and above.
7042 * src/vm/jit/jit.h (jitdata): Added field new_rd for testing the
7043 new simplereg allocator.
7045 2006-06-12 14:23 edwin
7047 * src/vm/jit/stack.c (new_stack_analyse): Fixed new stack analysis
7050 * src/vm/jit/show.c (new_show_icmd): Show operands of new instruction
7052 (new_show_basicblock): Removed obsolete stack display.
7054 2006-06-10 14:53 edwin
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.)
7062 * src/vm/jit/stack.h (NEWSTACK): Enclosed in do { } while(0).
7064 * src/vm/jit/show.h, src/vm/jit/show.c (new_show_method): New
7066 (new_show_basicblock): New function.
7067 (new_show_icmd): New function.
7069 * src/vm/jit/parse.c (new_fillextable): New function.
7070 (parse): Parsing of JSR changed. Fixed bptr->icount setting.
7072 * src/vm/jit/jit.h (new_instruction): New field s3.jsrtarget.
7073 New field dst.dupslots.
7075 2006-06-08 07:26 twisti
7077 * tests/regression/codepatching/test.java (aastoreconst): Fixed skip
7080 2006-06-07 12:51 twisti
7082 * src/vm/suck.c (suck_add_from_property): Always set namelist to NULL
7085 2006-06-07 12:19 twisti
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
7091 * src/vm/suck.c (scandir_filter): Changed the signature define, as
7092 only linux seems to use const.
7094 2006-06-07 12:10 twisti
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.
7099 2006-06-06 21:13 motse
7101 src/native/vm/VMVirtualMachine.c (unregisterEvent): print error
7104 src/native/jvmti/cacaodbg.c (jvmti_cacao_debug_init): set variable
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.
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
7128 (SuspendThread/ResumeThread/getcacaostacktrace): sketch for further
7129 implementation of this function. Final threads_suspend* functions are
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
7135 (GetJLocationFormat): JLocationFormat probably will be
7136 JVMTI_JLOCATION_OTHER
7138 src/native/jvmti/VMjdwp.h: add jdwpthread which stores the thread
7139 object for the jdwp listening thread.
7141 src/threads/native/threads.h: remove jvmti_get_threads_breakpoints
7142 beacause ThreadStart/End events are implemented as direct function
7145 src/threads/native/threads.c (threads_startup_thread): replace
7146 ThreadStart/End event implementation.
7147 (jvmti_get_threads_breakpoints): removed.
7149 src/cacaoh/headers.c (jvmti_fireEvent): added dummy implementation to
7150 enable linking of cacaoh.
7152 2006-06-06 18:51 twisti
7154 * tests/regression/extest.java: Get the maximum heap size and use it
7156 * tests/regression/extest.2output: Updated.
7158 2006-06-06 18:05 twisti
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.
7168 * src/vm/jit/stack.c (stack_analyse): Use SUPPORT_LONG_DIV_POW2 and
7169 SUPPORT_LONG_REM_POW2 instead of SUPPORT_LONG_DIV.
7171 2006-06-06 14:32 michi
7173 * doc/handbook/arm.tex: Added.
7174 * doc/handbook/arm-double-memory.png: Image describing doubles in
7176 * doc/handbook/cacao.tex, doc/handbook/Makefile.am: Added arm.tex.
7178 2006-06-06 13:13 twisti
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.
7185 2006-06-06 12:17 twisti
7187 * .externalToolBuilders/CacaoConfigure.launch: Updated to new
7190 2006-06-06 11:22 twisti
7192 * configure.ac (VM_ZIP_STRING): Removed.
7193 (--with-vm-zip): Added.
7194 (--with-classpath-glibj-zip): Added.
7195 (--with-flat-classpath): Removed.
7197 * contrib/setenvinstalled.in (BOOTCLASSPATH): Use hardcoded vm.zip and
7198 @CLASSPATH_GLIBJ_ZIP@.
7199 * contrib/setenvsource.in: Likewise.
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.
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.
7214 2006-06-01 22:53 edwin
7216 * src/vm/jit/stack.h (NEW_CHECKOVERFLOW): New macro.
7218 2006-06-01 22:52 edwin
7220 * src/vm/jit/parse.c (new_parse): Use temporary fields in jitdata,
7221 instead of methodinfo fields. Check exceptions for MONITORENTER/EXIT.
7224 2006-06-01 22:49 edwin
7226 * src/vm/jit/parse.h (new_block_insert): New macro.
7228 2006-06-01 22:46 edwin
7230 * src/vm/jit/jit.h (jitdata): Added temporary fields for development
7231 of new instruction format.
7232 (NEW_INSTRUCTION_GET_METHODDESC): New macro.
7234 2006-06-01 16:00 edwin
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.
7245 * src/vm/jit/parse.c (new_parse): Further work for new format.
7247 * src/vm/jit/jit.h (NEW_INSTRUCTION_GET_FIELDREF): New macro.
7248 (NEW_INSTRUCTION_GET_METHODREF): New macro.
7250 2006-06-01 15:09 edwin
7252 * src/vm/jit/jit.c (jcommandsize): Reformatted prettily. Use comments
7253 instead of duplicated #defines.
7255 2006-06-01 14:36 edwin
7257 * src/vm/jit/jit.h (ICMD_CHECKNULL_POP): New ICMD.
7258 * src/vm/jit/jit.c (ICMD_CHECKNULL_POP): Likewise.
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.
7265 2006-06-01 13:00 edwin
7267 * src/vm/jit/parse.h: Reworked and documented macros for new
7270 2006-05-31 23:18 edwin
7272 * src/vm/jit/jit.h: Whitespace cleanup and comments.
7274 2006-05-31 23:03 edwin
7276 * src/vm/jit/parse.c (parse): Removed unnecessary variable `s4ptr`.
7278 2006-05-31 22:56 edwin
7280 * src/vm/jit/parse.c (new_parse): Implement LOOKUPSWITCH and
7281 TABLESWITCH for the new instruction format.
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.
7288 2006-05-31 22:07 twisti
7290 * src/native/jvmti/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
7291 (LIBS): Added, required for darwin.
7292 (libjdwp_la_SOURCES): Removed trailing \.
7294 2006-05-31 21:31 edwin
7296 * src/vm/jit/ifconv/ifconv.c (show.h): Include this instead of
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.
7302 2006-05-31 21:10 edwin
7304 * src/vm/jit/show.c (show_init): Do not define this function for
7307 2006-05-31 20:28 edwin
7309 * src/vm/jit/show.h: New file.
7310 * src/vm/jit/show.c: New file.
7312 * src/vm/jit/stack.h (stack_show_method): Moved to show.h, renamed to
7314 (stack_show_basicblock): Moved to show.h, renamed to show_basicblock.
7315 (stack_show_icmd): Moved to show.h, renamed to show_icmd.
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.
7324 * src/vm/jit/ifconv/ifconv.c (stack_show_basicblock): Renamed to
7327 * src/vm/jit/inline/inline.c (stack_show_method): Renamed to
7329 (stack_show_icmd): Renamed to show_icmd.
7331 * src/vm/jit/inline/inline_debug.inc (stack_show_icmd): Renamed to
7334 * src/vm/jit/jit.c (jit_init): Call show_init.
7335 (stack_show_method): Renamed to show_method.
7337 * src/vm/jit/Makefile.am (show.c): Added.
7340 * src/threads/native/lock.h (pthread.h): Included.
7342 2006-05-31 19:25 edwin
7344 * src/vm/jit/jit.h (s3_operant_t): Typo fixed to s3_operand_t.
7347 2006-05-31 13:53 motse
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
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.
7375 src/native/include/Makefile.am: add VariableTable
7377 src/native/jvmti/VMjdwp.c (printjvmtierror) new function (duplicate)
7378 - this is a work around
7379 (VMInit): print error message with printjvmtierror
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
7397 src/native/jvmti/VMjdwp.h add printjvmtierror
7399 2006-05-31 13:10 twisti
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.
7404 2006-05-31 12:33 twisti
7406 * src/vm/jit/x86_64/emit.c: Use new emit methods, saves about 6k code
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.
7413 2006-05-30 23:38 edwin
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.
7419 * src/vm/jit/jit.h (INS_FLAG_UNRESOLVED, INS_FLAG_CLASS)
7420 (INS_FLAG_ARRAY, INS_FLAG_NOCHECK): Added flag constants for new
7423 2006-05-30 12:24 edwin
7425 * src/vm/jit/parse.h (new_instruction): Moved `bte` field to s3.
7426 * src/vm/jit/jit.h: Likewise.
7428 2006-05-29 23:59 edwin
7430 * src/vm/jit/jit.h (subroutineinfo): Removed unused typedef.
7432 2006-05-29 23:47 edwin
7434 * src/vm/jit/parse.h: New macros for new instruction format (not
7438 * src/vm/jit/jit.h (new_instruction, ...): Further development of new
7439 instruction format (not used, yet).
7441 2006-05-29 22:37 edwin
7443 * src/vm/jit/parse.h: Reordered and commented macros. No functional
7445 (Changes): Added my name.
7447 2006-05-29 21:48 edwin
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).
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.
7457 2006-05-29 20:22 edwin
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.
7464 * src/vm/resolve.h (typeinfo.h): Include to resolve dependencies.
7466 * src/vm/jit/parse.h: Added a reminder comment.
7468 2006-05-29 19:28 twisti
7470 * configure.ac (AC_INIT): Changed to 0.96+svn.
7471 (CFLAGS): Changed to -O0.
7473 2006-05-29 18:53 twisti
7475 * ChangeLog: Updated.
7477 2006-05-29 18:52 twisti
7479 * configure.ac (AC_INIT): Changed to version 0.96.
7480 (CFLAGS): Changed to -O2.
7481 * NEWS: Changed date.
7483 2006-05-29 15:51 twisti
7485 * src/vm/vm.c (usage): Removed new-line.
7487 2006-05-29 15:37 twisti
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
7495 2006-05-29 15:21 edwin
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).
7502 2006-05-29 15:17 twisti
7504 * src/threads/native/critical.h (signal.h): Added, build fix for some
7505 older Darwin systems.
7507 2006-05-29 14:32 twisti
7509 * NEWS: Added a lot of stuff.
7511 2006-05-29 14:31 twisti
7513 * src/cacao/Makefile.am: Renamed libcacaovm.so to libjvm.so to be
7514 binary compatible with Sun.
7516 2006-05-29 09:41 motse
7518 src/native/jni.c: removed jvmti.h included cacaodbg.h for GetEnv -
7520 src/native/vm/VMVirtualMachine.c: formatting changes/removed debug
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
7530 (GetFrameCount/GetStackTrace): fixed check for valid thread argument.
7532 2006-05-26 16:24 edwin
7534 * src/toolbox/logging.h (stdarg.h): Include it here, instead of in
7536 * src/toolbox/logging.c: See above.
7538 2006-05-26 12:58 twisti
7540 * src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
7542 * src/vm/jit/powerpc/darwin/md-os.c (thread_restartcriticalsection):
7543 Compile fix. Removed assert.
7545 2006-05-26 12:46 edwin
7547 * NEWS: Added unicode cleanup.
7549 2006-05-26 12:44 edwin
7551 * NEWS: Added tasuki locks and other news.
7553 2006-05-26 12:31 motse
7555 src/native/jvmti/jvmti.c (GetClassStatus): bugfix - only compare
7558 2006-05-26 12:26 edwin
7560 * src/vm/jit/stacktrace.c (stacktrace_remove_stackframeinfo):
7563 2006-05-26 12:25 twisti
7565 * src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
7567 * src/vm/jit/powerpc/darwin/md-os.c: Likewise.
7569 2006-05-26 12:19 edwin
7571 * src/vm/builtin.c (builtin_init): Documented.
7572 (builtin_trace_args): Documented.
7573 (builtin_displaymethodstop): Documented.
7575 * src/vm/jit/alpha/md-abi.c (md_param_alloc): Documented.
7577 * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
7580 * src/vm/jit/codegen-common.c (methodtree_comparator): Documented.
7581 (codegen_insertmethod): Documented.
7583 * src/toolbox/util.c (getcwd): Documented.
7585 2006-05-26 12:09 edwin
7587 * src/vm/loader.h: Comment update.
7589 * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed obsolete
7592 * src/vm/jit/replace.c: Typo fixed.
7594 * src/vm/jit/reg.c: Avoid XXX as wildcard in comments.
7595 * src/vm/jit/jit.h: Likewise.
7597 2006-05-26 11:57 twisti
7599 * src/vm/properties.c (properties_system_add): Changed
7600 javastring_new_from_ascii to javastring_new_from_utf_string.
7602 * src/native/jni.c (ThrowNew): Use a variable for clazz.
7603 (JNI_CreateJavaVM): Release allocated memory if vm_create fails.
7605 * src/threads/native/threads.c: Comments reformatted.
7607 2006-05-26 11:48 edwin
7609 * src/vm/class.c (class_resolveclassmethod): Removed obsolete XXX
7611 (class_resolveinterfacemethod): Likewise.
7612 (class_resolvefield): Likewise.
7614 * src/vm/classcache.h: Removed obsolete XXX comment.
7616 * src/vm/jit/allocator/lsra.h: Changed TYPE_XXX to TYPE_* in comments.
7617 * src/vm/jit/jit.c: Likewise.
7619 * src/native/vm/VMObject.c (Java_java_lang_VMObject_clone):
7620 Removed obsolete XXX comment.
7622 * src/mm/memory.c (dump_release): Removed obsolete debugging code.
7624 2006-05-26 11:22 edwin
7626 * src/native/jni.c (DefineClass): Use javastring_new_from_utf_string.
7627 (ThrowNew): Likewise.
7629 2006-05-26 09:30 twisti
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.
7636 * src/vm/vm.c: Added -jvm options, which is available on darwin.
7638 * src/vm/suck.c (scandir_filter): Changed signature for darwin.
7640 2006-05-25 21:59 motse
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
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
7659 2006-05-25 12:28 twisti
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
7670 2006-05-25 12:22 twisti
7674 2006-05-25 12:21 twisti
7676 * src/vm/vm.c (HEAP_MAXSIZE): Changed to 128MB.
7677 (STACK_SIZE): Changed to 64kB.
7678 (Xusage): Calculate default sizes.
7680 * NEWS: New stuff added.
7682 2006-05-25 11:29 twisti
7684 * src/vm/jit/x86_64/md-emit.h (emit_movl_reg_reg): Added.
7686 2006-05-25 11:24 edwin
7688 * configure.ac: Disable inlining and lsra by default.
7690 2006-05-24 14:11 twisti
7692 * src/threads/native/threads.c (threads_startup_thread): Allocate Java
7693 stack on Java heap instead of hardware stack.
7695 2006-05-24 14:08 twisti
7697 * configure.ac: Added INTRP_CFLAGS.
7698 * src/vm/jit/intrp/Makefile.am (CFLAGS): Set to INTRP_CFLAGS.
7700 2006-05-24 11:00 motse
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
7708 2006-05-23 19:52 motse
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
7716 2006-05-23 15:31 motse
7718 src/vm/vm.c (vm_create): rename jvmti function calls
7720 src/cacao/cacao.c (main): rename jvmti function calls
7722 src/native/jni.c (GetEnv): rename jvmti function calls. jvmti version
7723 changed to JVMTI_VERSION_INTERFACE_JVMTI
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.
7732 src/native/jvmti/jvmti.h: added JVMTI_VERSION interface and mask
7734 src/native/jvmti/cacaodbgserver.h: msg queue/shared mem related
7735 things removed. gdb related defines added.
7737 src/native/jvmti/dbg.h: remove ptrace related things
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
7748 (jvmti_cacao_generic_breakpointhandler): new function. This is the
7749 entry point for every breakpointhandler and start for a new jvmti
7751 (jvmti_cacao_debug_init): new function for starting up
7752 cacaodbgserver process.
7754 src/native/jvmti/VMjdwp.c (jvmti_VMjdwpInit): function renamed
7756 src/native/jvmti/Makefile.am: delete dbg.c. (sv) add compile/install
7757 support for cacaodbgserver.
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
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.
7782 src/native/jvmti/cacaodbgserver.c changed to support gdb insted of
7783 using ptrace directly.
7784 (getchildprocptrace): 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
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
7795 src/native/jvmti/dbg.c removed
7797 src/threads/native/threads.h: removed
7798 threads_set_current_threadobject. added jvmti_get_threads_breakpoints
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
7804 (jvmti_get_threads_breakpoints) new function that gets addresses of
7807 src/threads/native/lock.h: added definition of lock_global_pool_lock
7808 and lock_global_pool
7810 2006-05-23 08:51 twisti
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.
7819 2006-05-23 08:42 twisti
7821 * src/vm/options.c (opt_heapmaxsize, opt_heapstartsize): Added.
7822 * src/vm/options.h: Likewise.
7824 * src/vm/vm.c (version): Print heap and stack information.
7825 (vm_create): Use global option variables.
7827 2006-05-23 08:25 twisti
7829 * src/vm/jit/x86_64/emit.c (emit_movl_reg_reg): New function.
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.
7835 * src/vm/jit/x86_64/codegen.h (gen_bound_check): Bugfix: only read
7838 (M_ICMP_MEMBASE): Likewise.
7840 2006-05-22 16:14 twisti
7842 * configure.ac: Added --with-classpath-includedir.
7844 2006-05-22 09:07 twisti
7848 2006-05-22 09:06 twisti
7850 * src/vm/vm.c (vm_abort): New method.
7851 * src/vm/vm.h: Likewise.
7852 * src/cacaoh/headers.c: Likewise.
7854 * src/toolbox/logging.c (log_vprint): Made non-static.
7855 * src/toolbox/logging.h (log_vprint): Added.
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
7865 2006-05-18 14:33 edwin
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.
7872 * src/vm/global.h (java_objectheader): Added field `flcword`.
7874 * src/threads/native/lock.h (Authors): Changed to myself, as there
7875 is none of the old code remaining in this file.
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
7883 2006-05-18 14:06 twisti
7885 * src/vm/properties.c (properties_get): Search the list backwards to
7886 get the newest entry.
7888 2006-05-18 12:50 twisti
7890 * src/vm/vm.c (version): Print default and runtime classpath
7892 (vm_create): Add a default java.endorsed.dirs property.
7894 2006-05-17 22:06 twisti
7896 * configure.ac: Don't export BOOTCLASSPATH, that makes problems.
7898 2006-05-17 12:10 twisti
7900 * src/vm/jit/powerpc/codegen.c (createnativestub): Fixed bug and
7901 changed argument saving and restoring.
7903 * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Partially
7904 implemented Darwin bits. Still some bugs with testarguments.
7906 2006-05-16 13:08 twisti
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.
7912 2006-05-16 01:49 edwin
7914 * src/threads/native/lock.c: Fixed comment formatting.
7916 2006-05-15 23:37 edwin
7918 * src/vm/jit/i386/machine-instr.h (compare_and_swap): Fixed comment.
7920 2006-05-15 23:31 twisti
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
7926 * src/vm/jit/powerpc/Makefile.am (DIST_SUBDIRS): Added netbsd.
7928 2006-05-15 23:22 edwin
7930 * src/vm/jit/inline/inline_debug.c: Renamed to
7931 src/vm/jit/inline/inline_debug.inc.
7933 * src/vm/jit/inline/inline.c: #include changed to
7934 src/vm/jit/inline/inline_debug.inc.
7936 * src/vm/resolve.c: Typo fixed.
7938 2006-05-15 21:48 edwin
7940 * src/threads/native/lock.c (lock_record_remove_waiter): Made static.
7941 (lock_monitor_wait): Likewise.
7943 2006-05-15 21:32 edwin
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.
7951 * src/native/vm/VMThread.c (lock_does_thread_hold_lock): Changed to
7952 lock_is_held_by_current_thread.
7954 * src/native/jvmti/jvmti.c (lock_does_thread_hold_lock): Changed to
7955 lock_is_held_by_current_thread.
7957 2006-05-15 18:24 edwin
7959 * configure.ac (src/threads/green/Makefile): Removed from
7962 2006-05-15 15:06 edwin
7964 * src/threads/native/lock.h (lock_record_pool_header_t): Documented.
7965 (lock_record_pool_t): Documented.
7967 * src/threads/native/lock.c: Minor whitespace cleanup.
7969 2006-05-15 14:40 twisti
7971 * THIRDPARTY: Removed green threads stuff.
7973 2006-05-15 14:39 twisti
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.
7982 2006-05-15 14:24 twisti
7984 * src/vm/hashtable.h,
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,
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,
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,
8035 src/vm/jit/stacktrace.h,
8036 src/vm/jit/codegen-common.c,
8039 src/vm/builtintable.inc,
8041 src/vm/exceptions.c,
8044 src/vm/exceptions.h,
8048 src/cacao/Makefile.am,
8049 src/native/tools/Makefile.am,
8050 src/native/tools/gennativetable.c,
8052 src/native/vm/VMObject.c,
8053 src/native/vm/VMThread.c,
8055 src/native/native.c,
8056 src/native/jvmti/cacaodbg.c,
8057 src/native/jvmti/cacaodbg.h,
8058 src/native/jvmti/jvmti.c,
8060 src/toolbox/logging.c,
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.
8076 2006-05-15 13:13 twisti
8078 * src/vm/jit/asmpart.h (calljava_xhandler2): Not required anymore.
8080 2006-05-15 12:23 twisti
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
8086 * src/threads/native/threads.h (sem_t): Added structure for Darwin.
8087 * src/threads/native/lock.h (semaphore.h): Removed.
8089 2006-05-15 12:14 edwin
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
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).
8100 2006-05-15 11:34 edwin
8102 * src/threads/native/lock.c: Added reference to thin lock paper and
8103 explained the lockword format.
8105 2006-05-14 22:41 edwin
8107 * src/threads/native/lock.c: Thin lock implementation.
8109 * src/threads/native/threads.h (threadobject): Added thinlock field.
8110 (Authors, Changes): Moved myself to Authors because of rewrite.
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.
8116 * src/threads/native/lock.h (lock_pre_compute_thinlock): New function.
8118 2006-05-14 22:36 edwin
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.
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.
8129 2006-05-14 15:34 edwin
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.
8142 2006-05-14 14:02 edwin
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.
8150 * src/vm/builtin.h (THREADINFO): Becomes THREADOBJECT.
8152 * src/vm/jit/intrp/intrp.h (THREADINFO): Becomes THREADOBJECT.
8154 * src/vm/jit/stacktrace.c (_stackframeinfo): This is now directly
8155 a field of threadobject.
8157 * src/vm/jit/stacktrace.h (THREADINFO): Becomes THREADOBJECT.
8159 * src/native/jni.h (THREADINFO): Becomes THREADOBJECT.
8161 * src/native/jvmti/jvmti.c (isSleeping): Renamed to sleeping.
8163 2006-05-14 12:22 edwin
8165 * src/threads/native/lock.c, src/threads/native/lock.h: Rewritten
8166 as a very basic fat lock implementation.
8168 * src/vm/jit/powerpc64/arch.h (USE_MD_THREAD_STUFF): Renamed to
8169 USE_FAKE_ATOMIC_INSTRUCTIONS.
8171 * src/vm/jit/intrp/engine.c (USE_MD_THREAD_STUFF): Renamed to
8172 USE_FAKE_ATOMIC_INSTRUCTIONS.
8174 * src/threads/native/threads.c (USE_MD_THREAD_STUFF): Renamed to
8175 USE_FAKE_ATOMIC_INSTRUCTIONS.
8176 (ee.lrpool): Renamed to ee.lockrecordpools.
8178 2006-05-14 12:15 edwin
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
8185 2006-05-13 23:25 edwin
8187 * src/threads/native/lock.c (lock_init_thread_lock_record_pool):
8188 Renamed to lock_init_execution_env. Cleanup and Comments.
8190 * src/threads/native/lock.h (lock_init_thread_lock_record_pool):
8191 Renamed to lock_init_execution_env.
8193 * src/threads/native/threads.c (lock_init_thread_lock_record_pool):
8194 Renamed to lock_init_execution_env.
8196 2006-05-13 23:10 edwin
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.
8202 * src/threads/native/critical.h, src/threads/native/critical.c:
8205 * src/threads/native/lock.h: Cleanup.
8207 * src/vm/jit/profile/profile.c (thread_sleep): Renamed to
8210 * src/vm/vm.c (joinAllThreads): Renamed to threads_join_all_threads.
8212 * src/native/jni.c (thread_getself): Renamed to
8213 threads_get_current_threadobject.
8215 * src/native/vm/VMThread.c (thread): Typedef `thread` has been
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.
8224 * src/native/jvmti/cacaodbg.c (thread_getself): Renamed to
8225 threads_get_current_threadobject.
8226 (setthreadobject): Renamed to threads_set_current_threadobject.
8228 * src/native/jvmti/jvmti.c (setthreadobject): Renamed to
8229 threads_set_current_threadobject.
8231 * src/threads/green/threads.h (yieldThread): Renamed to threads_yield.
8232 (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
8234 * src/threads/green/threads.c (yieldThread): Renamed to threads_yield.
8235 (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
8237 2006-05-12 16:49 edwin
8239 * src/threads/native/threads.c: The Big Thread Cleanup. No functional
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
8245 renames are not listed.
8247 * src/threads/native/threads.h: The Big Thread Cleanup. No functional
8249 only code motion, renaming, documenting. This file has been split into
8250 threads.h, lock.h, and critical.h.
8252 * src/cacaoh/cacaoh.c (initLocks): Renamed to lock_init (green
8255 * src/cacaoh/headers.c (threadcritnode): Renamed to
8256 critical_section_node_t.
8258 * src/mm/memory.c (initObjectLock): Renamed to lock_init_object_lock.
8260 * src/native/jvmti/jvmti.c (lockRecordPool): Renamed to
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.
8271 * src/native/tools/gennativetable.c (initLocks): Renamed to lock_init
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.
8280 * src/native/vm/VMThread.c (threadHoldsLock): Renamed to
8281 lock_does_thread_hold_lock.
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.
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.
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.
8299 * src/threads/native/critical.c: New file.
8301 * src/threads/native/critical.h: New file.
8303 * src/threads/native/lock.c: New file.
8305 * src/threads/native/lock.h: New file.
8307 * src/toolbox/avl.c (initObjectLock): Renamed to
8308 lock_init_object_lock.
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.
8314 * src/vm/class.c (initObjectLock): Renamed to lock_init_object_lock.
8316 * src/vm/classcache.c (initObjectLock): Likewise.
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.
8322 * src/vm/global.h (monitorLockRecord): Renamed to lock_record_t.
8324 * src/vm/hashtable.c (initObjectLock): Renamed to
8325 lock_init_object_lock.
8327 * src/vm/jit/asmpart.h: Added #include "threads/native/critical.h"
8328 (threadcritnode): Renamed to critical_section_node_t.
8330 * src/vm/jit/code.c: Comment changed.
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.
8336 * src/vm/jit/alpha/codegen.c (get_dummyLR): Renamed to
8337 lock_get_initial_lock_word.
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.
8344 * src/vm/jit/i386/codegen.c (get_dummyLR): Renamed to
8345 lock_get_initial_lock_word.
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.
8352 * src/vm/jit/intrp/dynamic-super.c (initObjectLock): Renamed to
8353 lock_init_object_lock.
8355 * src/vm/jit/mips/codegen.c (get_dummyLR): Renamed to
8356 lock_get_initial_lock_word.
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.
8363 * src/vm/jit/powerpc/codegen.c (get_dummyLR): Renamed to
8364 lock_get_initial_lock_word.
8366 * src/vm/jit/profile/profile.c (wait_cond_for_object): Renamed to
8367 lock_wait_for_object.
8369 * src/vm/jit/stack.c (initObjectLock): Renamed to
8370 lock_init_object_lock.
8372 * src/vm/jit/x86_64/codegen.c (get_dummyLR): Renamed to
8373 lock_get_initial_lock_word.
8375 * src/vm/jit/x86_64/md.c (thread_checkcritical): Renamed to
8376 critical_find_restart_point.
8378 * src/vm/loader.c (initObjectLock): Renamed to
8379 lock_init_object_lock.
8380 (initLocks): Renamed to lock_init (green threads).
8382 * src/vm/string.c (initObjectLock): Renamed to
8383 lock_init_object_lock.
8385 * src/vm/vm.c (initLocks): Renamed to lock_init (green threads).
8387 2006-05-12 14:32 twisti
8389 * src/vm/jit/emit.h: Replaced __POWERPC__ #ifdef with
8392 2006-05-11 14:02 twisti
8394 * src/native/vm/VMClassLoader.c (nativeGetResources): Bugfix: utf_new
8397 2006-05-11 13:43 twisti
8399 * src/vm/jit/mips/codegen.c: Changed mcodeptr from u4* to u1*.
8400 * src/vm/jit/mips/codegen.h: Likewise.
8402 2006-05-11 13:09 twisti
8404 * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Use new
8405 jit_asm_compile method.
8407 2006-05-11 12:48 edwin
8409 * src/threads/native/threads.c (monitorExit): Added an assert to
8410 check that no existing waiter is overwritten by the suspicious
8413 2006-05-11 12:36 edwin
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.
8420 2006-05-11 12:18 twisti
8422 * src/native/jni.c (DeleteGlobalRef): Bugfix: handle the removal of
8423 the first entry in the chain properly.
8425 2006-05-11 09:18 twisti
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.
8435 * src/vm/vm.c (vm_create): Call jni_init before threads_init.
8437 * src/vm/utf8.c (lock_hashtable_utf): Removed.
8438 (utf8_init): Allocate hashtable on heap.
8439 (utf_new): Use new hashtable stuff.
8441 * src/native/native.c (native_init): Use new hashtable stuff.
8442 (native_hashtable_library_add): Likewise.
8444 * src/native/jni.c (jni_init): Removed Java IdentityHashMap stuff and
8446 (NewGlobalRef): Implemented with native hashtable.
8447 (DeleteGlobalRef): Likewise.
8449 * src/native/jni.h (hashtable_global_ref_entry): Added.
8451 * src/vm/string.c (literalstring_u2): Removed check for
8452 class_java_lang_String, we have an assert there.
8454 2006-05-10 16:14 twisti
8456 * src/vm/jit/alpha/codegen.c: Changed mcodeptr from u4* to u1*.
8457 * src/vm/jit/alpha/codegen.h: Likewise.
8459 2006-05-10 15:51 twisti
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.
8466 * src/vm/jit/powerpc/codegen.c: Changed mcodeptr from u4* to u1*.
8467 * src/vm/jit/powerpc/codegen.h: Likewise.
8469 2006-05-10 15:09 edwin
8471 * src/vm/jit/inline/inline.c (inline_write_exception_handlers):
8472 Correct cast for abused instruction->target.
8474 2006-05-10 13:12 twisti
8476 * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use new
8477 jit_asm_compile method.
8479 2006-05-08 11:09 twisti
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.
8486 2006-05-08 11:05 twisti
8488 * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Handle argument
8489 passing properly for SysV ABIs. Darwin is left to do.
8491 2006-05-08 11:03 twisti
8493 * tests/regression/native/testarguments.java: Added new test.
8494 * tests/regression/native/testarguments.c: Likewise.
8495 * tests/regression/native/testarguments.output: Likewise.
8497 2006-05-06 18:29 motse
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
8520 * src/native/vm/VMMethod.c: initial/dummy implementation of VMMetod
8523 2006-05-06 14:13 edwin
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.
8530 2006-05-06 10:10 edwin
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.
8536 2006-05-06 00:16 edwin
8538 * src/vm/classcache.c (classcache_merge_class_entries):
8539 Use utf_cat_classname.
8540 (classcache_store): Likewise.
8541 (classcache_store_defined): Likewise.
8543 2006-05-06 00:11 edwin
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.
8550 * src/vm/zip.c (zip_find): Documented.
8552 2006-05-05 19:31 edwin
8554 * src/vm/utf8.h: Moved #include "config.h" up front.
8556 2006-05-05 19:22 edwin
8558 * src/toolbox/logging.c (Changes): Added my name.
8559 (vim boilerplate): Added.
8561 2006-05-05 19:21 edwin
8563 * src/toolbox/logging.c (log_message_utf): Use new utf_ functions.
8564 (log_message_class_message_class): Likewise.
8565 (log_message_method): Likewise.
8567 2006-05-05 19:13 edwin
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.
8574 2006-05-05 18:58 edwin
8576 * src/vm/suck.c (suck_start): Use new utf_ functions.
8578 2006-05-05 18:49 edwin
8580 * src/vm/utf8.h, src/vm/utf8.c: Fixed header.
8582 2006-05-05 18:14 edwin
8584 * src/vm/loader.c (load_class_from_classbuffer): Use new
8587 2006-05-05 18:08 edwin
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.
8594 2006-05-05 17:34 edwin
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.
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.
8628 2006-05-05 17:09 edwin
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
8638 (exceptions_throw_classformaterror): Documented.
8639 (new_classnotfoundexception): Documented. Check return value of
8641 (new_noclassdeffounderror): Documented. Check return value of
8643 (new_internalerror): Documented.
8644 (exceptions_new_linkageerror): Documented. Use new byte-for-byte UTF-8
8646 (exceptions_new_nosuchmethoderror): Documented. Use new byte-for-byte
8649 (exceptions_throw_nosuchmethoderror): Documented.
8650 (new_unsupportedclassversionerror): Documented. Use new byte-for-byte
8653 (new_verifyerror): Likewise.
8654 (exceptions_throw_verifyerror_for_stack): Likewise.
8655 (exceptions_handle_exception): Documented.
8657 2006-05-05 16:51 edwin
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.
8667 2006-05-05 15:26 edwin
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.
8673 2006-05-05 15:14 edwin
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.
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
8683 * src/vm/utf8.h (utf_get_number_of_u2s_for_buffer): New function.
8685 2006-05-05 14:36 edwin
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!
8692 * src/vm/finalizer.c (finalizer_start_thread): Legitimate use.
8693 * src/vm/jit/profile/profile.c (profile_start_thread): Likewise.
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.
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.
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.
8713 2006-05-05 13:56 edwin
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.
8722 2006-05-05 13:48 edwin
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**.
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.
8744 * src/vm/string.c (javastring_new): Legitimate use.
8745 (javastring_new_slash_to_dot): Likewise.
8746 (literalstring_new) Likewise.
8748 2006-05-03 23:04 edwin
8750 * src/threads/native/threads.c (wakeWaiters): Renamed
8751 to threads_wake_waiters. Documented.
8753 2006-05-03 22:58 edwin
8755 * src/threads/native/threads.c (handleWaiter): Renamed arguments.
8757 (monitorEnter): Documented.
8758 (notifyOneOrAll): Cleaned up.
8760 2006-05-03 22:46 edwin
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
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.
8775 2006-05-02 16:16 twisti
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
8781 2006-05-01 23:14 edwin
8783 * src/threads/native/threads.c: Cleanup and documentation.
8785 2006-05-01 21:40 edwin
8787 * src/threads/native/threads.h (threads_sem_init): New function.
8788 (threads_sem_post): New function.
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.
8795 * src/native/jvmti/cacaodbg.c (getworkingdatalock): Use
8797 (cacaodbgfork): Use threads_sem_init.
8799 * src/native/jvmti/cacaodbgserver.c (contchild, waitloop).
8800 Use threads_sem_post.
8802 2006-05-01 12:40 edwin
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
8808 (cast_stopworld): Use threads_sem_wait.
8809 (threads_startup_thread): Likewise.
8810 (threads_start_thread): Likewise.
8811 (queueOnLockRecord): Likewise.
8813 * src/threads/native/threads.h (threads_sem_wait): New function.
8815 * src/native/jvmti/cacaodbg.c (msgqsendevent): Use threads_sem_wait
8816 instead of sem_wait.
8818 * src/native/jvmti/cacaodbgserver.c (contchild, waitloop): Use
8819 threads_sem_wait instead of sem_wait.
8821 2006-04-30 17:18 twisti
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.
8828 2006-04-30 16:17 edwin
8830 * src/vm/resolve.c (resolve_method_verifier_checks)
8831 (constrain_unresolved_method): Use ICMD_ACONST_CLASSREF_OR_CLASSINFO.
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.
8838 * src/vm/jit/stack.c (stack_analyse): Changes for new ACONST format.
8840 * src/vm/jit/verify/typecheck.c (verify_invocation): Use the new
8842 (verify_builtin, verify_multianewarray, verify_basic_block): Changes
8846 * src/vm/jit/verify/typeinfo.h (TYPEINFO_INIT_JAVA_LANG_CLASS): Take
8847 a classref_or_classinfo as argument.
8849 * src/vm/jit/verify/typeinfo.c (typeinfo_init_class): Typo fixed.
8850 (typeinfo_print): Changes for new ACONST format.
8852 * src/vm/jit/inline/inline.c (inline_write_exception_handlers):
8853 Changes for new ACONST format.
8855 * src/vm/jit/parse.c (parse): Changes for new ACONST format.
8857 * src/vm/jit/parse.h (LOADCONST_A_CLASS): Removed.
8858 (LOADCONST_A_BUILTIN): Changes for new ACONST format.
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):
8867 2006-04-30 15:58 edwin
8869 * src/vm/jit/loop/tracing.c (tracing): Adapted to new format of
8872 * src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates)
8873 (_test_lifetimes): Likewise.
8875 2006-04-28 12:25 edwin
8877 * src/vm/jit/parse.c (parse): Added a comment.
8879 2006-04-28 12:24 twisti
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.
8887 2006-04-28 11:50 twisti
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.
8894 2006-04-28 11:37 twisti
8896 * tests/regression/codepatching/test.java: Added new test.
8897 * tests/regression/codepatching/Makefile.am: Files updated.
8899 * tests/regression/codepatching/putfieldconstIF.java,
8900 tests/regression/codepatching/putfieldconstJDL.java: Removed.
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.
8915 2006-04-28 11:24 edwin
8917 * src/vm/resolve.c (resolve_method_lazy): Turn INVOKEVIRTUAL into
8918 INVOKESPECIAL for monomorphic calls.
8920 2006-04-28 00:46 edwin
8922 * src/vm/jit/intrp/asmpart.c (intrp_asm_vm_call_method_int): Fix
8924 errors. TWISTI, please review these changes.
8926 2006-04-28 00:31 edwin
8928 * regression/codepatching/test.java: Added test for AASTORECONST
8929 with unresolved class constant. Currently exposes a bug when
8931 compiled with -target 1.5.
8933 * regression/codepatching/aastoreconstClass.java: New file.
8935 2006-04-27 23:03 twisti
8937 * src/vm/jit/stacktrace.h (STACKFRAMEINFO): Added parenthesis.
8938 * src/vm/global.h (java_objectheader): Changed type of monitorPtr to
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.
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.
8950 2006-04-27 12:33 twisti
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.
8958 2006-04-27 11:05 twisti
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.
8964 2006-04-27 10:32 twisti
8966 * src/vm/jit/powerpc/darwin/md-asm.h (jit_asm_compile): Renamed from
8968 * src/vm/jit/powerpc/asmpart.S: Likewise.
8970 2006-04-26 15:44 edwin
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.
8977 2006-04-26 14:09 twisti
8979 * src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Removed
8980 emitfuncs.c, emitfuncs.h and added emit.c, md-emit.h.
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.
8988 * src/vm/jit/i386/codegen.c (codegen): Use emit_load/store functions
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.
9001 (M_FLD32): Likewise.
9002 (M_DLD32): Likewise.
9006 2006-04-26 11:02 twisti
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.
9011 2006-04-26 09:02 twisti
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.
9019 2006-04-26 08:57 twisti
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).
9025 2006-04-25 18:02 edwin
9027 * src/vm/jit/disass-common.c (disass_printf): Avoid compiler warning.
9029 * src/vm/jit/profile/profile.c (profile_printstats): Avoid compiler
9032 2006-04-25 17:57 edwin
9034 * src/vm/jit/i386/disass.c (disassinstr): Avoid compiler warning.
9036 2006-04-25 17:53 edwin
9038 * src/vm/jit/stack.c (stack_show_icmd): Removed unused variable `um`.
9040 2006-04-25 17:48 edwin
9042 * src/vm/loader.c (load_method): Simplify initialization of
9044 clearing it explicitely in load_class_from_classbuffer, instead of
9046 individual fields here.
9047 (load_class_from_classbuffer): MZERO methodinfo array.
9048 (load_newly_created_array): Initialize `params` to NULL for the clone
9051 2006-04-25 17:45 edwin
9053 * src/mm/memory.h (MZERO): Added macro MZERO for convenient memory
9056 2006-04-25 17:42 edwin
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
9062 assertion that MSET clears memory.
9064 2006-04-25 15:46 edwin
9066 * src/vm/jit/i386/md.c (md_get_method_patch_address): Avoid compiler
9069 2006-04-25 15:31 edwin
9071 * src/cacao/cacao.c (main): Avoid warning about unused label.
9072 Cleaned up whitespace.
9074 2006-04-25 15:26 edwin
9076 * src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack): Avoid
9079 2006-04-25 12:35 edwin
9081 * src/vm/jit/verify/typecheck.c (typecheckverbose): Renamed to
9082 opt_typecheckverbose.
9083 * src/vm/jit/verify/typeinfo.h: Likewise.
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.
9089 2006-04-25 12:25 edwin
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.
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.
9101 * src/vm/vm.c (OPT_TIME): Only defined for ENABLE_STATISTICS.
9103 * configure.ac (--enable-statistics): Now statistics are disabled by
9106 2006-04-25 12:00 edwin
9108 * src/vm/options.h (opt_verify): Only declare for ENABLE_VERIFIER.
9109 (opt_liberalutf): Removed.
9111 * src/vm/options.c (opt_verify): Only declare for ENABLE_VERIFIER.
9112 (opt_liberalutf): Removed.
9114 * src/vm/jit/inline/inline.c (test_inlining): Only verify if
9117 * src/vm/jit/parse.c (parse): Only check opt_verify if
9120 * src/vm/global.h (ENABLE_VERIFIER): Removed. This is now defined in
9123 * src/vm/vm.c (OPT_NOVERIFY): Only define this option if
9125 (OPT_LIBERALUTF): Removed.
9127 * configure.ac (--disable-verifier): Added configure option.
9129 * src/vm/jit/stacktrace.c (stacktrace_getStack): Gather a wider range
9130 for the cycle count statistics.
9132 2006-04-25 10:36 edwin
9134 * src/vm/cycles-stats.h (CYCLES_STATS_COUNT_OVER): Added.
9136 2006-04-24 18:28 edwin
9138 * src/vm/cycles-stats.c: Cleaned up whitespace.
9140 2006-04-24 18:22 edwin
9142 * src/vm/cycles-stats.c (cycles_stats_print_percentile): Also perform
9143 measurement overhead compensation for cumulated cycle counts.
9145 2006-04-24 17:16 edwin
9147 * src/vm/global.h (ACC_CLASS_REFLECT_MASK): Added.
9148 (ACC_CLASS_HAS_POINTERS): Likewise.
9149 (vim boilerplate): Added.
9151 * src/vm/loader.c (load_field): Set ACC_CLASS_HAS_POINTERS flag.
9153 * src/vm/linker.c (link_class_intern): OR ACC_CLASS_HAS_POINTERS flag.
9155 * src/vm/builtin.c (builtin_new): Use ACC_CLASS_HAS_POINTERS to
9157 which kind of memory to allocate.
9159 * src/native/vm/VMClass.c (Java_java_lang_VMClass_getModifiers): Mask
9160 reported access flags with ACC_CLASS_REFLECT_MASK.
9162 2006-04-24 16:24 twisti
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.
9170 2006-04-24 16:10 twisti
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.
9176 2006-04-24 16:06 twisti
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.
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.
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
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.
9219 * src/vm/jit/i386/codegen.c: Use new signatures of codegen-common and
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.
9231 2006-04-24 15:43 edwin
9233 * src/vm/jit/stacktrace.c (stacktrace_create): Do not free dump
9235 this is now done in the parent functions. Also removed the copy to gc
9237 (stacktrace_fillInStackTrace): Copy stacktrace to gc memory.
9239 (stacktrace_getClassContext): Free dump memory.
9240 (stacktrace_getCurrentClass): Likewise.
9241 (stacktrace_getStack): Likewise.
9242 (stacktrace_dump_trace): Likewise.
9244 2006-04-24 11:40 edwin
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.
9251 * src/vm/jit/stacktrace.h (stacktrace_print_cycles_stats): Added.
9253 * src/vm/vm.c (vm_exit_handler): Call stacktrace_print_cycles_stats.
9255 2006-04-24 11:36 edwin
9257 * src/vm/cycles-stats.h (CYCLES_STATS_END_WITH_OVERHEAD): Fix
9259 empty macro definition.
9261 2006-04-24 11:27 edwin
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
9268 * src/vm/cycles-stats.c (cycles_stats_print): Fixed divide-by-zero.
9272 2006-04-24 10:08 twisti
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.
9279 2006-04-24 10:00 twisti
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
9286 2006-04-24 09:58 twisti
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.
9293 2006-04-24 00:19 edwin
9295 * src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Omit the
9297 This saves a couple of cycles of measurement overhead.
9299 2006-04-23 23:03 twisti
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.
9306 2006-04-23 19:18 edwin
9308 * src/vm/cycles-stats.c (cycles_stats_print_percentile): Better
9310 * src/vm/cycles-stats.h (CYCLES_STATS_DECLARE, CYCLES_STATS_COUNT)
9311 (CYCLES_STATS_PRINT, CYCLES_STATS_PRINT_OVERHEAD): Added total cycles
9314 2006-04-23 19:16 edwin
9316 * src/vm/builtin.c (builtin_new): Renamed rt-timing identifier.
9317 (builtin_newarray): Added rt-timing.
9319 * src/vm/rt-timing.h: Added rt-timing for builtin_newarray.
9320 * src/vm/rt-timing.c: Likewise.
9322 2006-04-23 16:11 edwin
9324 * src/vm/builtin.c (builtin_print_cycles_stats): Use
9325 CYCLES_STATS_PRINT_OVERHEAD.
9327 * src/vm/cycles-stats.h (CYCLES_STATS_PRINT_OVERHEAD): Added.
9329 * src/vm/cycles-stats.c (cycles_stats_print_percentile): Added.
9330 (cycles_stats_print): Added `overhead` argument and automatic
9331 measurement overhead compensation.
9333 2006-04-23 15:39 edwin
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.
9340 * src/vm/rt-timing.c: rt-timing for buitin_new.
9341 * src/vm/rt-timing.h: Likewise.
9343 2006-04-23 15:31 edwin
9345 * src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Better error
9348 2006-04-23 15:24 edwin
9350 * src/vm/builtin.c (builtin_new): Gather cycle count statistics.
9351 (CYCLES_STATS_DECLARE): Moved declarations to beginning of file.
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.
9357 2006-04-22 09:35 edwin
9359 * src/vm/cycles-stats.c (cycles_stats_print): Made count, floor, and
9361 of type u8. This should avoid overflow problems.
9363 * src/vm/cycles-stats.h (cycles_stats_print): Made count an u8.
9365 2006-04-21 21:36 edwin
9367 * src/vm/cycles-stats.c: New file. Better cycle count statistics.
9369 * src/vm/cycles-stats.h (CYCLES_STATS_PRINT): This is now a wrapper
9373 * src/vm/Makefile.am (cycles-stats.c): Added to sources.
9375 2006-04-21 14:32 edwin
9377 * src/vm/jit/stacktrace.c (stacktrace_inline_fillStackTrace): Assert
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
9386 2006-04-21 13:08 edwin
9388 * src/vm/jit/stacktrace.c (stacktrace_getClassContext): Document that
9390 value may be NULL (in case of an exception).
9392 * src/native/vm/VMStackWalker.c
9393 (Java_gnu_classpath_VMStackWalker_getCallingClass): Check return
9395 stacktrace_getClassContext.
9396 (Java_gnu_classpath_VMStackWalker_getCallingClassLoader): Likewise.
9398 * src/native/vm/Field.c (cacao_get_field_address): Check return value
9400 stacktrace_getClassContext.
9402 * src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative):
9403 Check return value of stacktrace_getClassContext.
9405 2006-04-21 11:07 twisti
9407 * src/vm/jit/i386/md.c (md_get_method_patch_address): New method.
9408 (md_icacheflush): Added.
9409 (md_dcacheflush): Likewise.
9411 2006-04-21 10:54 twisti
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.
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.
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.
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.
9429 2006-04-21 10:45 twisti
9431 * src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Reformatted
9434 2006-04-21 00:00 edwin
9436 * src/vm/linker.c (link_class_intern): Impose loading constraints on
9438 more general types of the overwritten method, instead of on the over-
9439 writing method. Don't impose loading constraints when "overwriting"
9441 instance initializaton method <init>, as it is not called virtually.
9443 2006-04-20 22:28 edwin
9445 * src/vm/classcache.c (classcache_add_constraint): Also constrain the
9446 return type of the given method.
9448 2006-04-20 21:47 edwin
9450 * src/vm/linker.c (linker_addinterface): Add loading constraints when
9452 interface method is overwritten.
9453 (link_class_intern): Check new return value of linker_addinterface.
9455 2006-04-20 20:40 edwin
9457 * src/vm/linker.c (link_class_intern): Only record loading constraints
9458 for ENABLE_VERIFIER.
9460 2006-04-20 20:38 edwin
9462 * src/vm/classcache.c (classcache_add_constraints_for_params): Added.
9463 (classcache_add_constraint): Only define for ENABLE_VERIFIER.
9465 * src/vm/classcache.h (classcache_add_constraints_for_params): Added.
9466 (classcache_add_constraint): Only define for ENABLE_VERIFIER.
9468 * src/vm/linker.c (link_class_intern): When overwriting a method,
9469 record loading constraints for the parameter types, as required
9472 2006-04-20 19:18 edwin
9474 * src/mm/memory.c (Changes): Added my name.
9475 (vim boilerplate): Added.
9477 2006-04-20 18:59 edwin
9479 * src/mm/memory.c: Added comments and some cleanup.
9481 2006-04-20 18:04 edwin
9483 * configure.ac (ENABLE_LOOP): Changed default to "no".
9485 * src/vm/options.h (opt_loops): Only define for ENABLE_LOOP.
9487 * src/vm/options.c (opt_loops): Only define for ENABLE_LOOP.
9489 * src/vm/vm.c (-oloop, -i): Only recognize these options if
9490 enabled with ENABLE_LOOP/ENABLE_INLINING.
9492 * src/vm/jit/allocator/lsra.c (opt_loops): Only use for ENABLE_LOOP.
9494 2006-04-20 10:55 twisti
9496 * src/vm/jit/x86_64/codegen.h (M_ALD32): Added.
9498 2006-04-20 10:42 twisti
9500 * src/vm/jit/x86_64/md-abi.h (REG_METHODPTR): Added.
9502 2006-04-20 08:45 twisti
9504 * src/lib/vm/reference/java/lang/VMClassLoader.java: Updated to GNU
9507 2006-04-19 01:05 edwin
9509 * src/vm/builtin.c (builtin_print_cycles_stats): Added.
9510 (builtin_monitorenter): Gather cycle count statistics.
9511 (builtin_monitorexit): Likewise.
9513 * src/vm/builtin.h (builtin_print_cycles_stats): Added.
9515 * src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Added.
9517 * src/vm/jit/asmpart.h (asm_get_cycle_count): Added.
9519 * src/vm/vm.c (vm_exit_handler): Call builtin_print_cycles_stats.
9521 * src/vm/cycles-stats.h: New file.
9523 * src/vm/Makefile.am (CYCLES_STATS_SOURCE): Added.
9525 * src/cacaoh/headers.c (asm_get_cycle_count): Dummy implementation
9528 * configure.ac (--enable-cycles-stats): Added configure option.
9530 2006-04-18 21:16 twisti
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
9535 * src/vm/jit/x86_64/codegen.c (vm/jit/x86_64/emitfuncs.h): Removed.
9536 (vm/jit/x86_64/md-emit.h): Added.
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.
9541 2006-04-18 20:36 twisti
9543 * src/vm/jit/jit.h (IS_ADR_TYPE): Changed to use ==.
9544 (IS_INT_TYPE): Added.
9545 (IS_LNG_TYPE): Likewise.
9547 2006-04-18 20:34 twisti
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.
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.
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.
9569 * src/vm/jit/x86_64/emitfuncs.h (emit_cmovxx): Added.
9571 2006-04-18 20:20 twisti
9573 * src/vm/jit/x86_64/md-abi.h (REG_IFTMP): Defined.
9575 2006-04-18 20:17 edwin
9577 * src/vm/jit/stack.c (stack_show_icmd): Updated to use the correct
9579 (un)resolved methods. Minor output format changes.
9581 * src/vm/field.c (field_print): Print the class name.
9583 2006-04-18 20:10 twisti
9585 * src/vm/jit/alpha/Makefile.am (DISASS_SOURCES): Added.
9586 * src/vm/jit/mips/Makefile.am: Likewise.
9588 2006-04-18 15:55 twisti
9590 * configure.ac (intl): Check on NetBSD too.
9592 2006-04-18 15:40 twisti
9594 * configure.ac: Fixed typos.
9596 2006-04-18 13:36 twisti
9598 * src/vm/jit/mips/codegen.h (M_FLTMOVE): Removed.
9599 (M_TFLTMOVE): 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
9607 * src/vm/jit/mips/emit.c: Likewise.
9609 2006-04-17 15:49 edwin
9611 * src/vm/jit/intrp/codegen.c (intrp_codegen): Cast mcodeptr to u1*.
9612 This should fix intrp on archs with u4* mcodeptr.
9614 2006-04-17 15:20 edwin
9616 * src/vm/builtin.c (builtin_monitorenter, builtin_monitorexit): Added
9619 * src/vm/rt-timing.c, src/vm/rt-timing.h: rt-timing for locks.
9621 2006-04-17 11:47 twisti
9623 * src/vm/jit/codegen-common.h (codegendata): Define lastmcodeptr on
9624 all architectures. I think it does not matter.
9626 2006-04-14 23:50 edwin
9628 * src/vm/jit/codegen-common.h: Typo fix.
9630 2006-04-14 23:48 edwin
9632 * src/vm/jit/parse.c (parse): Removed unused variable `mi`.
9634 2006-04-14 23:46 edwin
9636 * src/vm/rt-timing.c: include stdlib.h to fix warning.
9638 2006-04-14 12:40 twisti
9640 * src/vm/jit/mips/emit.c: New file.
9641 * src/vm/jit/mips/Makefile.am (libarch_la_SOURCES): Added emit.c
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.
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.
9652 2006-04-14 11:57 twisti
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.
9660 2006-04-14 11:28 twisti
9662 * src/vm/jit/alpha/emit.h: Removed. There's now a common one in
9665 2006-04-14 11:20 twisti
9667 * src/vm/jit/emit.h: New file.
9668 * src/vm/jit/Makefile.am (noinst_HEADERS): Added emit.h.
9670 * src/vm/jit/powerpc/emit.c: New file.
9671 * src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added emit.c.
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.
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.
9690 (M_LST_INTERN): Likewise.
9693 2006-04-13 20:45 edwin
9695 * src/vm/loader.c (load_class_from_classloader): Detailed rt-timing.
9696 (load_class_bootstrap): Likewise.
9698 * src/vm/rt-timing.c: Added rt-timing for loading from classloaders.
9699 * src/vm/rt-timing.h: Likewise.
9701 2006-04-13 18:21 edwin
9703 * src/vm/loader.c (load_class_from_classbuffer): Separate timing for
9704 descriptor_pool_new.
9706 * src/vm/rt-timing.c: Likewise.
9708 * src/vm/rt-timing.h: Likewise.
9710 2006-04-13 18:00 edwin
9712 * src/vm/loader.c (load_class_from_classbuffer): Added real-time
9716 * src/vm/rt-timing.c: Likewise.
9717 * src/vm/rt-timing.h: Likewise.
9719 2006-04-13 17:23 edwin
9721 * src/vm/rt-timing.c: Added timing of linker stages.
9722 * src/vm/rt-timing.h: Likewise.
9723 * src/vm/linker.c: Likewise.
9725 2006-04-13 16:58 edwin
9727 * src/vm/rt-timing.h (RT_TIMING_TIME_DIFF): Added.
9729 * src/vm/jit/jit.c (jit_compile_intern): Use RT_TIMING_TIME_DIFF.
9731 * src/vm/linker.c (link_class): Use rt-timing for measuring link time.
9733 * src/cacaoh/Makefile.am (cacaoh_LDFLAGS): Link with librt for
9736 2006-04-13 16:48 edwin
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
9744 * src/vm/rt-timing.h (RT_TIMING_LINK_TOTAL): Added.
9745 (rt_timing_diff): Renamed to rt_timing_time_diff.
9747 2006-04-13 14:09 twisti
9749 * src/vm/jit/alpha/emit.c: New file.
9750 * src/vm/jit/alpha/emit.h: Likewise.
9752 2006-04-13 13:10 twisti
9754 * src/vm/jit/codegen-common.h (codegendata): Changed mcodeend to
9755 u1*. Define mcodeptr to u4* for non-i386/x86_64 architectures.
9757 2006-04-13 09:32 twisti
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.
9763 2006-04-13 09:19 twisti
9765 * src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ishift): Bugfixes found
9767 (x86_64_emit_lshift): Likewise.
9769 2006-04-12 22:20 edwin
9771 * src/vm/rt-timing.c: Added file.
9772 * src/vm/rt-timing.h: Likewise.
9774 * src/vm/jit/jit.c: Moved real-time timing stuff to rt-timing.[ch]
9775 * src/vm/jit/jit.h: Likewise.
9777 * src/vm/vm.c (vm_exit_handler): Call rt_timing_print_time_stats.
9779 * src/vm/Makefile.am (rt-timing.c, rt-timing.h): Added.
9781 2006-04-12 22:16 edwin
9783 * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers): Fixed
9786 2006-04-12 20:06 edwin
9788 * src/vm/jit/parse.c (parse): New unresolved reference scheme: Data
9790 for unresolved fields/methods are only created if really needed.
9792 a lazy resolving is done on-the-fly. This reduced compile time by
9794 SpecJVM98 and eclipse.
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
9811 (constrain_unresolved_field): Likewise.
9812 (unresolved_field_debug_dump): Likewise.
9813 (unresolved_method_debug_dump): Likewise.
9815 * src/vm/jit/patcher.h (intrp_patcher_get_putstatic_clinit): Added.
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.
9823 * src/vm/jit/intrp/patcher.c (intrp_patcher_get_putstatic_clinit):
9826 * src/vm/jit/intrp/disass.c (printarg_afi): Added.
9827 (Changes): Added my name.
9828 (vim boilerplate): Added.
9830 * src/vm/jit/intrp/java.vmg (GETSTATIC_CELL, GETSTATIC_INT,
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
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.
9844 * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
9845 Use INSTRUCTION_GET_METHODDESC to get method descriptor.
9847 * src/vm/jit/stack.c (stack_analyse): Ported to new unresolved
9850 (stack_show_icmd): Likewise.
9852 * src/vm/jit/verify/typecheck.c (verify_invocation): Ported to new
9855 (verify_basic_block): Likewise.
9857 * src/vm/jit/powerpc/codegen.c (codegen): Ported to new unresolved
9861 * src/vm/jit/alpha/codegen.c (codegen): Ported to new unresolved
9865 * src/vm/jit/mips/codegen.c (codegen): Ported to new unresolved
9869 * src/vm/jit/i386/codegen.c (codegen): Ported to new unresolved
9873 * src/vm/jit/x86_64/codegen.c (codegen): Ported to new unresolved
9877 * src/vm/jit/intrp/codegen.c (codegen): Ported to new unresolved
9880 (Changes): Added my name.
9882 * src/vm/jit/intrp/codegen.h (vim boilerplate): Added.
9884 2006-04-12 18:07 edwin
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
9892 2006-04-12 17:51 edwin
9894 * src/vm/class.c (class_showconstantpool): Use the new functions
9895 method_methodref_print and field_fieldref_print.
9897 * src/vm/loader.c (load_constantpool): Use p.index in constant_FMIref.
9898 (load_class_from_classbuffer): Likewise.
9900 * src/vm/jit/stack.c (stack_show_icmd): Use p.index in
9903 * src/vm/jit/verify/typecheck.c (verify_invocation): Use p.index in
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.
9911 * src/vm/method.c, src/vm/method.h (method_methodref_print): Added.
9912 (method_methodref_println): Likewise.
9914 * src/vm/field.c, src/vm/field.h (field_fieldref_print): Added.
9915 (field_fieldref_println): Likewise.
9917 * src/vm/references.h (constant_FMIref): Changed field `classref`
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.
9924 * src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED): Added. This is a
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.
9938 * src/vm/jit/intrp/disass.c (printarg_auf): Use METHODREF_CLASSNAME.
9940 2006-04-12 11:51 twisti
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.
9946 2006-04-12 09:49 twisti
9948 * src/vm/jit/powerpc/codegen.c (codegen): Fixed displacement overflow
9949 problem when restoring LR. We can't use r0 here.
9951 2006-04-12 09:30 twisti
9953 * NEWS: Line-number fix added.
9955 2006-04-12 09:20 edwin
9957 * src/vm/jit/parse.c (parse): Skip line number entries that span over
9959 bytecode instructions.
9961 2006-04-12 08:52 edwin
9963 * src/vm/method.h (methodinfo): Forward declaration moved to
9965 * src/vm/field.h (fieldinfo): Forward declaration moved to
9967 * src/vm/references.h (methodinfo, fieldinfo): Added forward
9970 2006-04-12 08:34 edwin
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.
9978 2006-04-11 13:13 twisti
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.
9984 2006-04-11 10:54 twisti
9986 * tests/regression/clinitexception.2output: Updated.
9987 * tests/regression/native/checkjni.output: Likewise.
9988 * tests/regression/extest.2output: Likewise.
9990 2006-04-11 10:20 twisti
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.
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.
10003 2006-04-11 10:04 twisti
10005 * src/vm/jit/ifconv/ifconv.c (ifconv_static): Keep compiler happy.
10007 2006-04-11 09:00 edwin
10009 * src/vm/jit/stack.c (stack_print_stack): Only use `regs` if
10010 ENABLE_DISASSEMBLER is defined.
10011 (stack_show_method): Likewise.
10013 * src/vm/jit/replace.c (replace_executionstate_println): Likewise.
10015 2006-04-11 05:10 edwin
10017 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Do not
10019 exception when NDEBUG.
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.
10026 * src/vm/jit/intrp/java.vmg: Disable builtin_displaymethodstop and
10027 builtin_trace_args for NDEBUG.
10029 2006-04-06 12:54 twisti
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.
10036 2006-04-06 12:51 twisti
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.
10045 2006-04-06 00:33 edwin
10047 * configure.ac: Added host type `armv5l`.
10049 2006-04-05 20:31 edwin
10051 * src/vm/jit/parse.h, src/vm/jit/parse.c (OP1LOAD):
10052 Split into OP1LOAD_ONEWORD and OP1LOAD_TWOWORD. Index is only checked
10055 (OP1STORE): Split into OP1STORE_ONEWORD and OP1STORE_TWOWORD. Index
10057 only checked if ENABLE_VERIFIER.
10059 2006-04-05 19:58 edwin
10061 * src/vm/jit/parse.c (parse): Cleaned up and reordered an if.
10063 2006-04-05 19:44 edwin
10065 * src/vm/jit/parse.c (parse): Remove the `if (!iswide)` check for
10067 by making JAVA_WIDE continue directly to the label fetch_opcode.
10069 removed a part of the iswide check at the end of the loop.)
10071 2006-04-05 18:48 edwin
10073 * src/vm/jit/alpha/codegen.c (codegen, createnativestub): Remove
10074 opt_verbosecall code for NDEBUG builds.
10076 2006-04-05 18:13 edwin
10078 * src/vm/jit/parse.c (parse): Only do verifier checks if
10080 Cleaned up an obsolete printf.
10082 2006-04-05 12:56 edwin
10084 * configure.ac (ENABLE_RT_TIMING): Added.
10086 * src/vm/jit/jit.c (ENABLE_RT_TIMING): Added code for real-time timing
10087 of compiler passes.
10089 * src/vm/jit/jit.h (jit_print_time_stats): Added.
10091 * src/vm/vm.c (vm_exit_handler): Call jit_print_time_stats.
10093 2006-04-05 11:32 edwin
10095 * src/vm/jit/inline/inline.c (create_block): Use BASICBLOCK_INIT.
10097 2006-04-05 10:02 twisti
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
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.
10106 2006-04-05 09:57 edwin
10108 * src/vm/jit/jit.h (instruction): Removed `method` field.
10109 (insinfo_inline): Added.
10110 (basicblock): Added `method` field.
10112 * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start)
10113 (dseg_addlinenumber_inline_end): Use new insinfo_inline struct.
10115 * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed unused
10116 variable `myclass`.
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.
10123 * src/vm/jit/i386/codegen.c (codegen): Use insinfo_inline struct.
10125 * src/vm/jit/parse.h (several macros): Removed `method` field from
10128 * src/vm/jit/stack.c (stack_show_icmd): Adapted to new insinfo_inline
10131 2006-04-05 09:54 twisti
10133 Fixes GCC Bugzilla Bug #26990.
10134 * src/vm/vm.c (vm_exit): Don't check for exception of System.exit().
10136 2006-04-04 21:31 edwin
10138 * src/vm/builtin.c (builtin_throw_exception): No twisti, we don't
10140 exceptions just because it is NDEBUG ;)
10141 * src/vm/jit/i386/asmpart.S (asm_vm_call_method_exception_handler):
10144 2006-04-04 18:14 edwin
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
10151 2006-04-04 18:11 edwin
10153 * src/vm/jit/ifconv/ifconv.c (ifconv_static): #ifdef debug code.
10156 2006-04-04 09:17 twisti
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.
10165 2006-04-04 09:14 twisti
10167 * src/vm/exceptions.c (exceptions_new_nosuchmethoderror): Print
10168 classname with dots.
10169 (exceptions_handle_exception): Compiler warning fix.
10171 2006-04-04 09:13 edwin
10173 * src/vm/jit/verify/typeinfo.c (CLASSINFO_IMPLEMENTS_INTERFACE):
10175 single use of the macro VFTBLINTERFACETABLE
10177 2006-04-04 08:45 twisti
10179 * src/native/vm/VMClass.c: Reordered methods like in the
10180 VMClass.java. This eases the 1.5 changes addition.
10182 2006-04-04 08:30 edwin
10184 * src/vm/jit/parse.c (parse): Removed obsolete variable
10185 `skipBasicBlockChange`.
10187 2006-04-04 08:24 edwin
10189 * src/vm/jit/parse.c (parse): Removed obsolete variable `firstlocal`.
10190 (Was used for the old inliner.)
10192 2006-04-03 15:36 twisti
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.
10198 2006-04-03 13:59 twisti
10200 * src/vm/jit/powerpc/codegen.c (codegen): Renamed parentargs_base to
10202 (codegen_trace_args): Likewise.
10204 2006-04-02 16:17 edwin
10206 * src/vm/jit/i386/codegen.c (codegen): Implemented inlining of
10208 methods (INLINE_START, INLINE_END do monitorenter/exit).
10210 2006-04-02 16:16 edwin
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
10216 `calls_others`. (Leaf method detection should really be done after
10218 (several methods): Implemented inlining of synchronized methods.
10219 (inline_new_stackslot): Added.
10220 (inline_write_exception_handlers): Added.
10222 2006-04-01 21:03 edwin
10224 * src/vm/jit/intrp/codegen.c (createcalljavafunction): Create
10226 the right methodinfo pointer.
10228 2006-04-01 21:00 edwin
10230 * src/vm/jit/codegen-common.h (intrp_createnativestub): Takes a
10233 * src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub)
10234 (createcalljavafunction): Use jitdata.
10236 2006-03-31 12:38 edwin
10238 * src/vm/jit/inline/inline.c, src/vm/jit/inline/inline_debug.c:
10240 twisti's jitdata changes.
10242 2006-03-31 07:50 twisti
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.
10256 * src/vm/jit/powerpc/linux/md-abi.c (regs): Added.
10258 2006-03-31 07:14 twisti
10260 * src/vm/jit/powerpc/patcher.c
10261 (patcher_checkcast_instanceof_interface): Compile fix (typo).
10263 2006-03-30 12:01 twisti
10265 * src/vm/jit/alpha/asmpart.S (vm/jit/abi.h): Changed to
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.
10271 2006-03-30 11:59 twisti
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.
10277 * src/vm/jit/powerpc/asmpart.S (vm/jit/abi.h): Changed to
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.
10284 * src/vm/jit/powerpc/Makefile.am (DISASS_SOURCES): Added.
10285 * src/vm/jit/powerpc/disass.c (regs): Removed.
10287 2006-03-30 10:26 twisti
10289 * src/vm/jit/ifconv/Makefile.am (AM_CPPFLAGS): Added OS_DIR.
10292 2006-03-30 10:23 twisti
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.
10306 2006-03-30 10:14 twisti
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.
10314 2006-03-30 10:10 twisti
10316 * src/vm/jit/powerpc/patcher.c (patcher_invokevirtual): Use disp
10317 variable for code patching. This will ease the overflow code
10319 (patcher_invokeinterface): Likewise.
10320 (patcher_checkcast_instanceof_interface): Likewise.
10322 2006-03-30 09:52 twisti
10324 * src/vm/exceptions.c (exceptions_handle_exception): Check for special
10325 * start/endpc-NULL case. This makes asmpart stuff much easier, like on
10328 * src/vm/jit/asmpart.h (asm_vm_call_method_exception_handler): Added.
10330 * src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler):
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
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.
10339 2006-03-30 09:20 twisti
10341 * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Return NULL for
10344 2006-03-30 08:48 twisti
10346 * configure.ac (opcodes): Check for disassembler symbol as
10347 init_disassemble_info isn't defined everywhere, like NetBSD.
10349 2006-03-29 23:11 twisti
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.
10361 2006-03-28 15:43 twisti
10363 * tests/regression/codepatching/test.java: Made functions static
10365 --This line, and those below, will be ignored--
10369 2006-03-28 15:41 twisti
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.
10375 2006-03-28 15:14 twisti
10377 * configure.ac (AC_CONFIG_FILES): Added src/vm/jit/ifconv/Makefile.
10379 2006-03-28 15:10 twisti
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.
10388 2006-03-28 14:52 twisti
10390 * src/vm/method.h (vm/jit/code.h): Added.
10391 (codeinfo, rplpoint, executionstate, sourcestate): typedef's removed.
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.
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
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
10409 (show_icmd_block): Renamed to stack_show_basicblock. Changed signature
10411 (show_icmd): Renamed to stack_show_icmd.
10412 * src/vm/jit/stack.h: Likewise.
10414 * src/vm/jit/code.h (codeinfo): Added typedef.
10416 * src/vm/jit/dseg.c (assert.h): Moved.
10417 (dseg_resolve_datareferences, dseg_display): Changed signature to use
10419 * src/vm/jit/dseg.h: Likewise.
10421 * src/vm/jit/verify/typecheck.c (typecheck): Changed signature to use
10423 * src/vm/jit/verify/typecheck.h: Likewise.
10425 * src/vm/jit/loop/loop.c (analyseGraph): Changed signature to use
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.
10443 * src/vm/jit/jit.c (jit_compile): Use new function signatures and
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.
10450 * src/vm/jit/replace.h (rplpoint, executionstate, sourcestate):
10452 (replace_create_replacement_points): Changed signature to use jitdata.
10454 * src/vm/jit/parse.h (INDEX_ONEWORD, INDEX_TWOWORD): Use goto.
10455 (parse): Changed signature to use jitdata.
10457 2006-03-28 14:31 twisti
10459 * src/vm/jit/x86_64/md.c (md_signal_handler_sigsegv)
10460 (md_signal_handler_sigfpe): Comment changes.
10462 2006-03-28 14:30 twisti
10464 * src/vm/jit/i386/codegen.c (createnativestub): Replaced _exceptionptr
10465 by _no_threads_exceptionptr.
10467 2006-03-28 14:22 twisti
10469 * NEWS: Added upcoming 0.96 release. Added miranda-methods fix.
10471 2006-03-28 14:21 twisti
10473 * src/tests/regression/native/checkjni.c (PushLocalFrame): New method.
10474 * src/tests/regression/native/checkjni.java (PushLocalFrame):
10476 (equal(int,int)): Likewise.
10477 * src/tests/regression/native/Makefile.am (NOTESTNAMES): Added.
10479 2006-03-28 11:54 twisti
10481 * src/vm/jit/x86_64/codegen.c (codegen): Renamed parentargs_base to
10483 * tests/regression/extest.2output: Updated.
10485 2006-03-28 10:42 twisti
10487 * src/vm/Makefile.am (noinst_LTLIBRARIES): Reformatted.
10489 2006-03-28 10:21 twisti
10491 * src/native/vm/VMClassLoader.c (loadClass): Smaller changes.
10493 2006-03-28 09:41 twisti
10495 * src/native/native.c (dummynativetable): Renamed getModifiers
10496 functions to getModifiersInternal due to GNU Classpath VM interface
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.
10503 2006-03-27 11:37 twisti
10505 * src/vm/class.c: Don't initialize classes to NULL.
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):
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.
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.
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.
10529 * configure.ac (AC_ENABLE_SHARED, AC_DISABLE_STATIC): Removed. Set it
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.
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.
10543 * src/lib/Makefile.am: Made it -j aware.
10545 * src/vm/resolve.c (config.h, vm/global.h): Added.
10546 * src/vm/classcache.c (config.h): Moved to top.
10548 * src/vm/exceptions.h: Small change.
10550 2006-03-27 11:15 twisti
10552 * src/vm/utf8.c: Removed superfluous comment.
10554 2006-03-24 11:50 motse
10556 * src/cacao/cacao.c (main): remove debug code
10558 2006-03-23 12:48 edwin
10560 * src/vm/jit/parse.h (bound_check): Renamed to CHECK_BYTECODE_INDEX,
10562 a NOP for ENABLE_VERIFIER undefined.
10563 (bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE,
10565 a NOP for ENABLE_VERIFIER undefined.
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.
10572 2006-03-23 11:22 edwin
10574 * src/vm/jit/parse.c (CHECK_END_OF_BYTECODE): Added a macro for
10576 the end of the bytecode that becomes a NOP if ENABLE_VERIFIER is
10579 2006-03-23 02:06 edwin
10581 * src/vm/jit/parse.c (parse): Uncuddled else's.
10583 2006-03-23 00:56 edwin
10585 * src/vm/jit/powerpc/darwin/md-asm.h (_asm_replacement_out)
10586 (_asm_replacement_in, _replace_me): Added #defines for Darwin.
10588 2006-03-23 00:30 edwin
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.
10595 * src/vm/jit/stack.c (anaylse_stack): Use CHECK_STACK_DEPTH.
10596 Added common label `throw_stack_depth_error` for stack depth
10600 2006-03-23 00:08 edwin
10602 * src/vm/global.h (TYPECHECK_STACK_COMPCAT): Replaced by
10604 The separation made no sense, anyway.
10606 * src/vm/jit/stack.c (TYPECHECK_STACK_COMPCAT): Replaced by
10608 (analyse_stack): Removed code duplication by branching to a common
10610 for all computational category errors: throw_stack_category_error.
10612 2006-03-22 23:51 edwin
10614 * src/vm/jit/stack.h (BBEND): Inlined this macro (used only once) at
10616 call site in stack.c.
10618 * src/vm/jit/stack.c (analyse_stack): Inlined BBEND macro and cleaned
10622 2006-03-22 23:29 edwin
10624 * src/vm/jit/stack.c (analyse_stack): Removed obsolete label
10627 2006-03-22 23:27 edwin
10629 * src/vm/jit/jit.h (ICMD_READONLY_ARG, ICMD_CLEAR_ARGREN): Removed.
10631 * src/vm/jit/stack.c (analyse_stack): Removed obsolete argument
10634 * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed
10635 ICMD_READONLY_ARG and ICMD_CLEAR_ARGREN.
10637 2006-03-22 23:17 edwin
10639 * src/vm/jit/stack.h (TYPE_VERIFYERROR): Changed to CHECK_BASIC_TYPE.
10641 macro now becomes a NOP if ENABLE_VERIFIER is undefined. Otherwise it
10643 a goto to the common label throw_stack_type_error in order to save
10646 * src/vm/jit/stack.c (analyse_stack): Added variable `expectedtype`
10648 by CHECK_BASIC_TYPE. Added label throw_stack_type_error.
10650 2006-03-22 20:59 edwin
10652 * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Save/restore stack
10654 properly. Fixed copy&paste error in restoring callee-save registers.
10656 2006-03-22 18:32 edwin
10658 * src/vm/jit/stack.c (analyse_stack): Added throw_stack_overflow
10661 * src/vm/jit/stack.h (CHECKOVERFLOW): Make this a NOP if
10664 (REQUIRE): Use #if defined(...)
10666 2006-03-22 17:25 edwin
10668 * src/vm/jit/stack.h (REQUIRE): Made a NOP if ENABLE_VERIFIER is
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.
10676 2006-03-22 17:14 edwin
10678 * src/vm/jit/stack.h (REQUIRE): Avoid duplication of exception
10681 * src/vm/jit/stack.c (analyse_stack): Added label
10682 throw_stack_underflow
10683 for the REQUIRE macro.
10685 2006-03-22 15:30 edwin
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
10693 2006-03-22 12:35 edwin
10695 * src/vm/jit/inline/inline.c (stack_depth): Moved here from
10697 (NDEBUG): Put debug stuff inside #ifndef NDEBUG.
10699 * src/vm/jit/inline/inline_debug.c (stack_depth): Moved to inline.c
10701 2006-03-22 09:19 edwin
10703 * src/vm/jit/inline/inline_debug.c (debug_dump_stack): Fixed warning
10705 platforms that don't define NULL as a pointer.
10707 2006-03-22 01:22 edwin
10709 * src/vm/jit/inline/inline.c (relocate_stack_ptr_inter,
10713 * src/vm/jit/inline/inline_debug.c (DEBUG_SLOT, dump_inline_tree):
10716 2006-03-21 14:07 twisti
10718 * src/vm/jit/i386/codegen.h (ALIGNCODENOP): Added.
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.
10724 * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Align stack to
10725 16-bytes. Use register defines for better readability.
10727 2006-03-21 11:58 twisti
10729 * src/vm/jit/Makefile.am: Removed ifconv. Again...
10731 2006-03-21 11:50 twisti
10733 * configure.ac (AC_INIT): Changed cvs to svn.
10734 (--enable-inlining): Added.
10736 * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv.
10737 (ENABLE_IFCONV): Added. Use IFCONV_LIB.
10738 (USE_INLINING): Renamed to ENABLE_INLINING.
10740 2006-03-21 07:57 edwin
10742 * src/vm/jit/alpha/codegen.c (codegen): Comment 16-byte stack
10745 * src/vm/jit/alpha/asmpart.S (asm_replacment_out): Fix comment about
10748 2006-03-21 07:42 edwin
10750 * src/vm/jit/alpha/asmpart.S (REPLACEMENT_ROOM): Fixed deleted
10753 2006-03-21 04:14 edwin
10755 * src/vm/jit/inline/Makefile.am (AM_CPPFLAGS): Added OS include dir.
10757 2006-03-21 03:15 edwin
10759 * src/vm/jit/inline/inline_debug.c: Added file.
10761 2006-03-21 00:13 edwin
10763 * src/vm/jit/inline/inline.c: Committed the inliner. This code works
10765 it is still in prototyping stage.
10767 * src/vm/jit/parse.c (parse): Added (#if 0-ed) code for storing the
10768 exception table that the inliner uses.
10770 2006-03-21 00:04 motse
10772 major rework of jvmti. now we have three processes in jvmti mode.
10773 there are still many debug statements
10775 2006-03-20 23:56 edwin
10777 * src/vm/jit/code.h (codeinfo): Comment that profiling fields
10780 2006-03-20 15:41 edwin
10782 * src/vm/jit/alpha/asmpart.S (asm_replacement_out): 16-byte align
10785 2006-03-20 15:37 edwin
10787 * doc/stack_frames.txt: Some fixes, described PowerPC stack frames.
10789 2006-03-20 15:12 twisti
10791 * src/vm/jit/alpha/codegen.c (codegen): Align stack to 16-bytes in
10793 * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Load GP before
10796 2006-03-20 14:43 twisti
10798 * autogen.sh, src/boehm-gc/autogen.sh: Prefix all shell variables with
10799 CACAO_ to prevent problems on OpenBSD.
10801 2006-03-20 14:27 twisti
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.
10834 2006-03-19 19:46 edwin
10836 * src/vm/jit/code.c (code_get_stack_frame_size): Implement stack
10840 * src/vm/jit/mips/md.c (md_patch_replacement_point): Added.
10842 * src/vm/jit/mips/codegen.c (codegen): Handle replacement points.
10843 8-byte align blocks that start with replacement points.
10845 * src/vm/jit/mips/asmpart.S (asm_replacement_out): Added.
10846 (asm_replacement_in): Likewise.
10848 * src/vm/jit/replace.c (replace_activate_replacement_point): Activated
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.
10855 * doc/stack_frames.txt: Documented MIPS stack frames.
10857 * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Fixed comment.
10859 2006-03-18 04:14 edwin
10861 * src/vm/jit/powerpc/md.c (md_patch_replacement_point): Added.
10863 * src/vm/jit/powerpc/codegen.c (codegen): Handle replacement points.
10865 * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Added.
10866 (asm_replacement_in): Likewise.
10868 * src/vm/jit/alpha/codegen.c (codegen): Added missing initialization
10869 of `replacementpoint`.
10871 * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Store PV register.
10873 * src/vm/jit/code.c (code_get_sync_slot_count): Ported to PowerPC.
10874 (code_get_stack_frame_size): Likewise.
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.
10885 2006-03-16 23:32 edwin
10887 * src/vm/jit/alpha/codegen.c (codegen): Use `disp` for displacement.
10889 2006-03-16 21:12 edwin
10891 * src/vm/jit/alpha/md.c (Changes): Added my name.
10893 2006-03-16 21:11 edwin
10895 * src/vm/jit/alpha/md.c (md_patch_replacement_point): Added.
10896 (vim boilerplate): Added.
10898 * src/vm/jit/replace.c (replace_activate_replacement_point)
10899 (replace_deactivate_replacement_point, replace_me):
10900 Activated replacement for alpha.
10902 2006-03-16 20:31 edwin
10904 * src/vm/jit/alpha/asmpart.S (asm_replacement_out)
10905 (asm_replacement_in): Use stt/ldt for float registers.
10907 * src/vm/jit/alpha/codegen.c (codegen): Put replacement-out stub
10908 generation in correct scope. Fix warnings.
10910 2006-03-16 19:55 edwin
10912 * src/vm/jit/alpha/codegen.c (codegen): Handle replacement points.
10914 * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Added.
10915 (asm_replacement_in): Likewise.
10916 (vim boilerplate): Added.
10918 2006-03-16 19:36 edwin
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
10925 2006-03-16 19:00 edwin
10927 * src/vm/jit/replace.c (replace_create_replacement_points): Set
10930 2006-03-16 18:57 edwin
10932 * src/vm/jit/code.c (code_codeinfo_new): Set codeinfo.isleafmethod.
10934 2006-03-16 18:44 edwin
10936 * src/vm/jit/x86_64/codegen.c (codegen): Reuse `disp` variable.
10937 * src/vm/jit/i386/codegen.c (codegen): Likewise.
10939 2006-03-16 18:38 edwin
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.
10944 * src/vm/jit/replace.c (replace_read_executionstate)
10945 (replace_write_executionstate): Prepared for alpha. Some cleanup.
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.
10952 * src/vm/jit/replace.h (executionstate): Added pv.
10953 (sourcestate): Added stackbase.
10955 * src/vm/jit/tools/genoffsets.c (main): Added offes_pv.
10957 * doc/stack_frames.txt: Clarifications.
10959 2006-03-16 18:32 edwin
10961 * src/vm/jit/code.c (code_get_sync_slot_count): No synchronization
10963 if USE_THREADS is undefined.
10964 (code_get_stack_frame_size): Added x86_64 alignment slot.
10966 2006-03-16 17:29 edwin
10968 * doc/stack_frames.txt: Added description of x86_64 stack frames.
10970 2006-03-16 17:24 twisti
10972 * src/vm/jit/mips/md.c (sys/cachectl.h): Added.
10973 (md_cacheflush, md_icacheflush, md_dcacheflush): New method.
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.
10979 * src/vm/jit/mips/patcher.c: Replaced cacheflush with md_icacheflush
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.
10986 2006-03-16 17:22 edwin
10988 * doc/stack_frames.txt: Added description of alpha stack frames.
10990 2006-03-16 17:16 twisti
10992 * src/vm/vm.c (version): Check if __VERSION__ is defined.
10994 2006-03-16 15:36 twisti
10996 * src/vm/jit/x86_64/md.c (md_cacheflush): New method.
10998 2006-03-16 15:28 edwin
11000 * src/vm/jit/alpha/codegen.c (codegen): Cast to avoid compiler
11003 2006-03-16 15:19 twisti
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:
11010 2006-03-16 15:16 twisti
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
11015 * src/vm/jit/alpha/patcher.c: Replaced asm_sync_instruction_cache with
11018 2006-03-16 14:29 twisti
11020 * src/vm/jit/i386/md.c (md_cacheflush): New method.
11022 2006-03-16 14:23 twisti
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:
11029 2006-03-16 14:19 twisti
11031 * src/vm/jit/jit.h (md_cacheflush, md_icacheflush, md_dcacheflush):
11033 * src/vm/jit/asmpart.h (asm_sync_instruction_cache): Removed.
11035 * src/vm/jit/codegen-common.c (codegen_finish): Call md_cacheflush for
11036 the dynamic superinstructions (intrp) and the generated code.
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.
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.
11046 2006-03-16 14:00 twisti
11048 * src/cacao/cacao.c (mm/boehm.h, mm/memory.h): Removed.
11050 2006-03-16 13:59 twisti
11052 * src/vm/jit/intrp/engine.c (USE_spTOS): Define it for __POWERPC__,
11053 __POWERPC64__, __SPARC__. We know we need it there.
11055 2006-03-16 13:56 twisti
11057 * tests/regression/native/Makefile.am (AM_CPPFLAGS): Added OS_DIR.
11059 2006-03-16 12:53 twisti
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.
11068 2006-03-16 12:03 twisti
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.
11074 2006-03-16 04:38 edwin
11076 * src/vm/jit/replace.h (RPLPOINT_SBR): Removed obsolete flag constant.
11078 2006-03-16 04:17 edwin
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.
11086 * src/vm/jit/code.h (code_get_sync_slot_count): Added.
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.
11092 * src/vm/jit/replace.h (rplpoint): `type` and `flags` added,
11093 `hashlink` removed.
11094 (sourcestate): Added slots for synchronized methods.
11096 * src/vm/jit/replace.c (replace_create_replacement_points): Store
11099 (replace_read_executionstate, replace_write_executionstate):
11100 Handle 2-word locals. Special handling for BBTYPE_SBR and BBTYPE_EXH
11102 Transfer synchronization slots.
11104 2006-03-16 00:05 edwin
11106 * src/vm/jit/code.c (code_get_stack_frame_size): Deal with 4/8-byte
11109 * src/vm/jit/tools/genoffsets.c (main): Offsets of intregs and
11112 * src/vm/jit/i386/asmpart.S (asm_replacement_out): Renamed regs to
11113 intregs. Some cleanup.
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.
11122 * src/vm/jit/x86_64/md.c (md_patch_replacement_point): Added.
11123 (vim boilerplate): Added.
11125 * src/vm/jit/x86_64/codegen.c (codegen): Handle replacement points.
11126 Generate replacement-out stubs.
11128 * src/vm/jit/x86_64/asmpart.S (asm_replacement_out,
11129 asm_replacement_in):
11131 (vim boilerplate): Added.
11133 * src/vm/jit/replace.h (executionstate): Separate registers into int
11134 and float registers. Some cleanup, use INT_REG_CNT, FLT_REG_CNT
11137 2006-03-15 21:27 edwin
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.
11143 2006-03-15 20:53 edwin
11145 * src/vm/jit/code.h (codeinfo): Changed regalloc to use rplalloc
11147 Added fields storing stack slot counts.
11149 * src/vm/jit/code.c, src/vm/jit/code.h (code_get_stack_frame_size):
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.
11156 * src/vm/jit/replace.c (replace_read_executionstate): Added.
11157 (replace_write_executionstate): Likewise.
11159 * src/vm/jit/replace.c (replace_me): Use dump memory for sourcestate.
11160 Read an write executionstate. Do actual replace by calling
11163 * src/vm/jit/replace.c (replace_replacement_point_println)
11164 (replace_executionstate_println): Print new fields. Show correct
11167 (replace_sourcestate_println): Added.
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.
11176 2006-03-15 20:43 edwin
11178 * doc/stack_frames.txt: Added arrows indicating increasing
11181 2006-03-15 20:42 edwin
11183 * src/vm/jit/asmpart.h (asm_replacement_in): Added prototype.
11185 2006-03-15 20:40 edwin
11187 * src/vm/jit/i386/asmpart.S (asm_replacement_out): Save all integer
11189 add space between stack frame and executionstate to accomodate
11193 * src/vm/jit/i386/asmpart.S (asm_replacement_in): Added.
11195 2006-03-15 20:38 edwin
11197 * src/vm/jit/tools/genoffsets.c (main): Added offset of pc and sp
11200 2006-03-15 17:17 twisti
11202 * src/vm/jit/i386/codegen.c: Use new exception stubs. Don't cast with
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.
11208 2006-03-15 16:36 twisti
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.
11224 * src/vm/jit/dseg.h (exceptionref): New structure.
11226 * src/vm/jit/x86_64/codegen.c: Use new exception stubs. Don't cast
11228 * src/vm/jit/x86_64/codegen.h (M_MOV_IMM, M_IMOV_IMM): Added cast.
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.
11238 * src/vm/jit/jit.h (branchref): Added.
11240 2006-03-15 12:14 edwin
11242 * doc/stack_frames.txt: Added slots for synched methods.
11244 2006-03-15 12:04 edwin
11246 * doc/stack_frames.txt: Added file.
11248 * src/vm/jit/code.h (codeinfo): Rearranged fields.
11250 * src/vm/jit/i386/md.c, src/vm/jit/i386/asmpart.S,
11251 src/vm/jit/replace.c:
11254 2006-03-15 11:38 edwin
11256 * src/vm/jit/i386/md.c (md_patch_replacement_point): Generalized to
11257 activation and deactivation of replacement points.
11259 * src/vm/jit/i386/codegen.c (codegen): Prepare machine code for
11260 patching replacement points.
11262 * src/vm/jit/replace.c, src/vm/jit/replace.h
11263 (replace_deactivate_replacement_point): Added.
11265 * src/vm/jit/replace.c
11266 (replace_replacement_point_println): Print machine code.
11268 * src/vm/jit/replace.h (rplpoint): Added `mcode` field.
11270 2006-03-15 11:18 twisti
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.
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.
11286 2006-03-15 10:34 edwin
11288 * src/vm/jit/replace.c (replace_create_replacement_points): Don't use
11289 rd->locals in the interpreter -- it's NULL there.
11291 2006-03-15 05:13 edwin
11293 * src/vm/jit/codegen-common.c (codegen_finish): Removed a compiler
11296 2006-03-15 05:08 edwin
11298 * src/vm/jit/replace.h, src/vm/jit/i386/md.c
11299 (md_patch_replacement_point):
11302 * src/vm/jit/replace.c (replace_activate_replacement_point): Only call
11303 md_patch_replacement_point if ENABLE_JIT is defined.
11305 2006-03-15 04:57 edwin
11307 * src/vm/jit/replace.c (replace_activate_replacement_point): Do not
11309 the symbol md_patch_replacement_point on platforms where it does not
11312 2006-03-15 04:43 edwin
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.
11323 * src/vm/jit/i386/codegen.c (codegen): Generate replacement-out stubs.
11325 * src/vm/jit/codegen-common.c (codegen_finish): Resolve replacement
11328 * src/vm/jit/asmpart.h, src/vm/jit/i386/asmpart.S
11329 (asm_replacement_out): Added.
11331 * src/vm/method.h (executionstate): Typo fixed.
11333 * src/vm/jit/stack.c (src/vm/jit/stack.c): Minor output change.
11335 * src/vm/jit/tools/genoffsets.c (executionstate): Added size and
11338 * src/vm/jit/i386/md.c (md_patch_replacement_point): Added.
11340 2006-03-15 01:50 edwin
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.
11347 2006-03-15 01:39 edwin
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.
11354 * src/vm/jit/replace.h (rplpoint): Changed fields, made fixed length.
11356 * src/vm/jit/code.h (codeinfo): Changed replacement point fields.
11358 * src/vm/jit/jit.c (jit_compile_intern): Create replacement points.
11360 * src/vm/jit/jit.c (jit_compile_intern): Use already allocated
11362 for do-nothing methods.
11364 * src/vm/jit/code.c (code_codeinfo_free): Free replacement points.
11366 * src/vm/jit/stack.c (show_icmd_method): Print replacement points.
11368 2006-03-15 00:06 edwin
11370 * src/vm/jit/stack.c, src/vm/jit/stack.h (icmd_print_stack): Renamed
11372 stack_print. Documented.
11373 (show_icmd_method, show_icmd_block, show_icmd): Documented.
11374 (show_icmd_block): Print basicblock.bitflags.
11376 * src/vm/jit/stack.h (MARKREACHED): Mark targets of backward branches
11377 as replacement points (BBFLAG_REPLACEMENT)
11379 2006-03-14 23:49 edwin
11381 * src/vm/jit/jit.h (basicblock): Added `bitflags` field. Note: The
11383 of this struct should really be cleaned up.
11385 * src/vm/jit/jit.h (BASICBLOCK_INIT): Added, so we have a central
11387 where to put initialization of the fields.
11389 * src/vm/jit/parse.c (parse): Cleaned up basicblock allocation.
11391 2006-03-14 23:16 edwin
11393 * src/vm/jit/jit.h (basicblock): Comment.
11395 2006-03-14 23:00 edwin
11397 * src/vm/jit/parse.c (fillextable): Removed unused label_index.
11400 * src/vm/jit/replace.h: Comment moved.
11402 2006-03-14 22:30 edwin
11404 * src/native/jvmti/jvmti.c (GetMethodLocation): Use the new
11405 m->code field to get to the location of the method.
11407 2006-03-14 22:16 edwin
11409 * src/vm/method.h (methodinfo): Moved `entrypoint` to `codeinfo`.
11410 * src/vm/loader.c (load_method): Likewise.
11412 * src/vm/loader.c (load_newly_created_array): Use codeinfo.entrypoint.
11413 * src/vm/builtin.c (builtin_trace_exception): Likewise. Note:
11415 we always use the current codeinfo. This is preliminary.
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.
11426 * src/vm/jit/intrp/codegen.c (nativecall): Use m->code->entrypoint.
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.
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.
11436 * src/vm/jit/jit.c (jit_compile): Use m->code. Create a codeinfo
11437 for native stubs and the do-nothing stub
11439 * src/vm/jit/codegen-common.c (codegen_finish): Set entrypoint
11440 in codeinfo instead of in methodinfo.
11442 2006-03-14 20:59 edwin
11444 * src/vm/jit/code.c, src/vm/jit/replace.c, src/vm/jit/replace.h:
11445 Added GPL header and boilerplate.
11447 2006-03-14 20:57 edwin
11449 * src/vm/jit/code.h: Added GPL header and boilerplate.
11451 2006-03-14 20:51 edwin
11453 * src/vm/jit/code.c, src/vm/jit/code.h: Files added.
11455 * src/vm/jit/replace.c, src/vm/jit/replace.h: Files added.
11457 * src/vm/jit/Makefile.am (code.[ch], replace.[ch]): Added.
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.
11465 * src/vm/jit/codegen-common.h (codegendata): Added field `code`.
11467 * src/vm/jit/codegen-common.c (codegen_setup): Allocate
11469 (codegen_finish): Use `code` field of codegendata.
11470 (codegen_createnativestub): Likewise.
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.
11478 * src/cacaoh/headers.c (code_free_code_of_method): Added stub.
11480 * src/vm/method.c (method_free): Free codeinfo:s of method.
11482 * src/vm/loader.c (load_method): Initialize m->code.
11484 2006-03-14 16:40 twisti
11486 * src/cacao/Makefile.am (ENABLE_STATICVM): Added cacao_LDFLAGS,
11487 otherwise the sumbols are not exported.
11489 * src/native/include/Makefile.am (ENABLE_STATICVM): Renamed to
11490 WITH_STATIC_CLASSPATH.
11492 2006-03-14 16:30 twisti
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.
11497 2006-03-14 15:00 edwin
11499 * doc/design_onstack_replacement.txt: More design options added.
11501 2006-03-13 21:26 edwin
11503 * design_onstack_replacement.txt: Added file.
11505 2006-03-13 11:35 twisti
11507 * src/vm/vm.c (vm_create): Only put .jar file into classpath. Fixes
11508 startup bug with knopflerfish.
11510 2006-03-13 08:02 edwin
11512 * src/native/vm/VMClass.c (Java_java_lang_VMClass_getComponentType):
11513 Link class before accessing c->vftbl->arraydesc.
11515 2006-03-13 07:06 edwin
11517 * src/native/vm/VMClass.c (Java_java_lang_VMClass_getSuperclass): We
11519 assume that the class is already linked, so we have to resolve the
11521 reference. This fixes a NPE bug with Jonas.
11523 2006-03-12 23:23 twisti
11525 * src/vm/suck.c (suck_start): We really should close class files after
11528 2006-03-11 21:34 edwin
11530 * src/vm/resolve.c (resolve_class_from_typedesc): Safer check for
11533 2006-03-11 20:41 edwin
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
11539 2006-03-11 20:34 edwin
11541 * src/vm/references.h (IS_XCLASSREF): Commented.
11543 2006-03-11 20:32 edwin
11545 * src/vm/references.h (IS_XCLASSREF): Added.
11546 (CLASSREF_OR_CLASSINFO_NAME): Added.
11548 2006-03-11 20:30 edwin
11550 * src/vm/class.c, src/vm/class.h (class_classref_print): Added.
11551 (class_classref_println): Added.
11553 2006-03-11 16:06 edwin
11555 * src/vm/jit/jit.c (jit_compile_intern): Check if the method has been
11556 compiled during static class initialization.
11558 2006-03-11 15:03 edwin
11560 * src/vm/method.c (vim boilerplate): Added.
11562 2006-03-11 15:01 edwin
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.
11569 2006-03-10 22:22 twisti
11571 * src/native/vm/VMRuntime.c (vm/options.h): Added.
11572 (nativeLoad): Print dlerror output when dlopen fails.
11574 2006-03-09 16:13 twisti
11576 * autogen.sh: Fixed typo.
11578 2006-03-09 13:51 twisti
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.
11594 2006-03-09 13:46 twisti
11596 * src/vm/jit/powerpc/patcher.c (patcher_get_putfield): Check for the
11597 instruction order on long fields.
11599 2006-03-09 13:26 twisti
11601 * autogen.sh: Check for installed programs and exit if no proper one
11603 * src/boehm-gc/autogen.sh: Use the programs found by top-level
11606 2006-03-08 09:44 twisti
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
11613 (EnsureLocalCapacity): Implemented.
11614 * src/vm/jit/codegen-common.c (codegen_finish_native_call): Release
11615 all local reference frames.
11617 2006-03-07 20:44 twisti
11619 * src/native/vm/VMClassLoader.c (nativeGetResources): Check if
11620 resource is a directory and don't add it.
11622 2006-03-07 19:32 twisti
11624 * src/vm/vm.c (usage): Small change.
11626 * src/native/vm/VMSystemProperties.c (preInit): Set java.ext.dirs to
11627 $JAVA_HOME/jre/lib/ext.
11629 2006-03-07 18:18 twisti
11631 * src/cacaoh/headers.c (intrp_main_stack): Changed type.
11633 2006-03-07 17:21 twisti
11637 2006-03-07 17:19 twisti
11641 2006-03-07 10:48 twisti
11643 * src/native/jni.c (_Jv_jni_CallIntMethodA): New function.
11644 (CallBooleanMethodA): Implemented.
11646 2006-03-07 10:36 twisti
11648 * src/vm/string.c (string_java_lang_StringIndexOutOfBoundsException):
11650 * src/vm/stringlocal.h: Likewise.
11652 * src/vm/exceptions.c
11653 (exceptions_new_stringindexoutofboundsexception): New function.
11654 (exceptions_throw_stringindexoutofboundsexception): Likewise.
11655 * src/vm/exceptions.h: Likewise.
11657 * src/native/jni.c (GetStringRegion): Implemented.
11659 2006-03-07 09:40 twisti
11661 * src/vm/vm.c (_Jv_jvm): Changed type to _Jv_JavaVM.
11662 * src/vm/vm.h (_Jv_jvm): Added.
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.
11676 * src/native/jvmti/jvmti.c: Renamed JNI_JavaVMTable to
11677 _Jv_JNIInvokeInterface and JNI_JNIEnvTable to _Jv_JNINativeInterface.
11679 2006-03-06 18:45 christian
11681 * src/vm/jit/stack.c (analyse_stack): Bugfix for copy elimination.
11683 2006-03-06 13:03 twisti
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.
11718 * src/cacaoh/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
11720 2006-03-06 00:30 twisti
11722 * src/vm/jit/powerpc/asmpart.S (asm_calljavafunction): Removed.
11723 (asm_calljavafunction2): Renamed to asm_vm_call_method.
11725 2006-03-05 23:53 twisti
11727 * src/vm/jit/alpha/asmpart.S (asm_calljavafunction): Removed.
11728 (asm_calljavafunction2): Renamed to asm_vm_call_method.
11730 2006-03-05 23:35 twisti
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.
11737 2006-03-05 23:24 twisti
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.
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.
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):
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.
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.
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.
11804 2006-03-05 23:05 twisti
11806 * tests/regression/native/testarguments.c (nlsub): Use %llx on all
11810 2006-03-05 21:54 christian
11812 * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
11813 Bugfix and reformatting.
11815 2006-03-05 15:51 twisti
11817 * src/vm/jit/i386/asmpart.S (asm_calljavafunction2): Pointer to vm_arg
11818 block is now in a2. Use new defines.
11820 2006-03-04 18:35 twisti
11822 * src/vm/jit/alpha/asmpart.S (asm_calljavafunction2): Pointer to
11823 vm_arg block is now in a2. Use new defines.
11825 2006-03-04 18:01 twisti
11827 * src/vm/jit/powerpc/asmpart.S (asm_calljavafunction2): Pointer to
11828 vm_arg block is now in a2. Use new defines.
11830 2006-03-04 17:19 twisti
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.
11846 2006-03-04 17:15 twisti
11848 * src/vm/global.h (jni_callblock): Removed.
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.
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.
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.
11885 * src/cacaoh/headers.c (asm_calljavafunction): Removed.
11886 (intrp_asm_calljavafunction): Likewise.
11887 (vm_call_method_intern): New function.
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
11897 (NewObjectA): Implemented.
11898 (CallVoidMethodA): Likewise.
11899 (CallNonvirtualVoidMethodA): Likewise.
11900 (CallStaticVoidMethodA): Likewise.
11902 2006-03-03 00:00 twisti
11904 * src/vm/linker.c (link_class_intern): Handle miranda methods
11906 * src/vm/global.h (ACC_MIRANDA): Defined.
11907 * src/native/vm/VMClass.c (getDeclaredMethods): Don't return miranda
11910 2006-03-01 17:00 twisti
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.
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.
11929 * src/vm/vm.c: Support Sun's commandline options and ignore them if
11930 not supported. Reordered options.
11932 * src/native/vm/VMObject.c (notify): Removed debug output.
11933 (notifyAll): Likewise.
11935 * src/native/vm/VMThread.c (suspend): Likewise.
11936 (resume): Likewise.
11937 (nativeSetPriority): Likewise.
11938 (nativeStop): Likewise.
11941 * src/native/vm/VMThrowable.c (fillInStackTrace): Renamed par1 to t.
11943 2006-02-23 14:08 twisti
11945 * src/vm/jit/intrp/dynamic-super.c (disassemble_prim): New function.
11946 (dynamic_super_init): Added disassembling of IADD, ILOAD and
11949 2006-02-22 14:03 twisti
11951 * src/vm/jit/i386/codegen.c (createnativestub): Renamed _exceptionptr
11952 to _no_threads_exceptionptr.
11954 2006-02-22 13:34 twisti
11956 * src/vm/jit/i386/codegen.c (mm/memory.h): Added.
11958 2006-02-21 16:17 twisti
11960 * configure.ac (VERSION_CONFIGURE_ARGS, VERSION_CC, VERSION_CFLAGS):
11962 * src/vm/vm.c (version): Print configure options, compiler version and
11965 2006-02-21 16:06 twisti
11967 * src/vm/jit/intrp/java.vmg (MULTIANEWARRAY): Use malloc instead of a
11968 dynamic-sized array (-fomit-frame-pointer).
11970 2006-02-21 13:43 twisti
11972 * src/vm/jit/intrp/codegen.c (cacao/cacao.h): Removed.
11974 (createnativestub): Replaced ENABLE_STATICVM with
11975 WITH_STATIC_CLASSPATH and &env by _Jv_env.
11977 * src/vm/jit/intrp/patcher.c: Replaced ENABLE_STATICVM by
11978 WITH_STATIC_CLASSPATH.
11979 * src/vm/jit/intrp/java.vmg: Likewise.
11981 * src/vm/vm.c (mm/memory.h): Added.
11982 (vm_create): Allocate the main thread interpreter stack on the Java
11985 2006-02-21 13:40 twisti
11987 * src/vm/jit/jit.c (jit_compile_intern): Replaced ENABLE_STATICVM by
11988 WITH_STATIC_CLASSPATH.
11990 2006-02-21 13:39 twisti
11992 * src/cacao/cacao.c (main): Added main utf variable for better
11995 2006-02-21 13:37 twisti
11997 * src/native/native.c: Small changes.
11999 2006-02-21 13:35 twisti
12001 * src/vm/loader.c (load_class_from_classloader): Added name
12002 java.lang.String variable for better debugability.
12004 2006-02-21 12:41 twisti
12006 * src/vm/jit/powerpc/asmpart.S: Rewritten for PIC code.
12008 2006-02-21 10:47 twisti
12010 * src/vm/jit/alpha/asmpart.S: Rewritten for PIC code.
12012 2006-02-21 10:39 twisti
12014 * src/vm/jit/x86_64/codegen.c (cacao/cacao.h): Removed.
12016 (createnativestub): Replaced ENABLE_STATICVM with
12017 WITH_STATIC_CLASSPATH and &env by _Jv_env.
12019 2006-02-21 10:25 twisti
12021 * src/vm/jit/i386/.cvsignore, src/vm/jit/i386/linux/.cvsignore: Added
12024 2006-02-21 09:34 twisti
12026 * src/vm/jit/i386/asmpart.S: Rewritten for PIC code.
12028 2006-02-21 09:31 twisti
12030 * src/threads/native/threads.c (vm/vm.h): Added.
12031 (threads_startup_thread): Compiler warning fix.
12033 2006-02-21 09:25 twisti
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):
12041 2006-02-21 09:18 twisti
12043 * src/vm/jit/intrp/engine.c (cacao/cacao.h): Removed.
12045 2006-02-21 09:14 twisti
12047 * configure.ac (AC_CONFIG_FILES): Remvoed ifconv, not yet.
12049 2006-02-21 09:11 twisti
12051 * configure.ac: Default to AC_ENABLE_SHARED and AC_DISABLE_STATIC.
12053 (jni.h): Check for jni.h in GNU Classpath.
12054 (static-classpath): Added.
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].
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.
12065 * src/vm/options.c, src/vm/options.h (mm/memory.h, native/jni.h):
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.
12073 * src/cacaoh/cacaoh.c (main): Use new option handling.
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.
12079 (createnativestub): Replaced ENABLE_STATICVM with
12080 WITH_STATIC_CLASSPATH and &env by _Jv_env.
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.
12088 * src/vm/jit/x86_64/asmpart.S: Rewritten for PIC code.
12090 * src/vm/signal.c (cacao/cacao.h): Removed.
12092 (signal_handler_sigint): Use vm_* functions.
12094 * src/native/native.c: Replaced ENABLE_STATICVM by
12095 WITH_STATIC_CLASSPATH.
12096 (cacao/cacao.h): Removed.
12097 (native_resolve_function): Smaller changes.
12099 * src/native/vm/VMRuntime.c: Replaced ENABLE_STATICVM by
12100 WITH_STATIC_CLASSPATH.
12101 (cacao/cacao.h): Removed.
12103 (execInternal): Removed.
12104 (exit): Use vm_shutdown.
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.
12111 * src/threads/native/threads.c (cacao/cacao.h): Removed.
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.
12119 2006-02-20 23:35 twisti
12121 * src/vm/global.h: Sorted java_<type>array definitions.
12123 2006-02-20 23:31 twisti
12125 * src/vm/linker.c (link_class_intern): Comment reformatted.
12127 2006-02-20 15:19 twisti
12129 * src/vm/jit/intrp/engine.c (USE_spTOS): Disable per default.
12131 2006-02-20 14:08 twisti
12133 * src/vm/classcache.c (classcache_new_name): Keep c89 compilers happy.
12135 2006-02-19 22:27 christian
12137 * src/vm/jit/jit.h: added define STKEEP
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
12147 (allocate_scratch_registers): ICMD_DUPx and ICMD_SWAP use now the new
12150 2006-02-16 19:39 christian
12152 * src/vm/jit/stack.h (COPY): Prevent setting varkind to STACKVAR for
12153 stackslots copied by DUPx and SWAP.
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).
12181 2006-02-14 20:27 edwin
12183 * src/native/jni.c (_Jv_jni_invokeNative): Cleanup.
12185 * src/native/jni.c (Changes): Added my name.
12187 * src/native/jni.c (vim boilerplate): Added.
12189 2006-02-14 20:10 edwin
12191 * src/native/jni.c (_Jv_jni_invokeNative): Look up _all_ instance
12195 2006-02-14 20:09 edwin
12197 * src/vm/linker.c (link_class_intern): Do not override
12198 package-private methods
12199 from other packages.
12201 * src/vm/linker.c (vim boilerplate): Added.
12203 2006-02-14 15:53 edwin
12205 * src/vm/classcache.c, src/vm/classcache.h: Merge cache entries when
12206 they are resolved to the same class.
12208 2006-02-14 15:34 edwin
12210 * src/vm/utf8.c, src/vm/utf8.h (utf_full_hashkey): Added.
12212 2006-02-14 11:01 twisti
12214 * configure.ac (AC_INIT): Changed version number to 0.95+cvs.
12215 (CFLAGS): Changed optimization back to -O0.
12217 2006-02-14 10:30 twisti
12219 * ChangeLog: Updated for release 0.95.
12221 2006-02-14 10:14 twisti
12223 * configure.ac: Updated version to 0.95, set optimization level to
12224 -O2, some indent changes.
12225 * ChangeLog-2005: Removed 2006 entries.
12227 2006-02-14 01:10 twisti
12229 * src/vm/jit/profile/profile.c (profile_thread): Fixed compiler
12232 2006-02-14 01:05 twisti
12234 * src/vm/jit/intrp/codegen.c (createcompilerstub): Store the
12235 methodinfo pointer in the same place as in the methodheader for
12238 2006-02-14 00:41 twisti
12240 * src/vm/jit/x86_64/codegen.c (createcompilerstub): Store the
12241 methodinfo pointer in the same place as in the methodheader for
12244 2006-02-14 00:33 twisti
12246 * contrib/svn2cl.xsl: New file.
12247 * THIRDPARTY (contrib/svn2cl.xsl): Added copyright message.
12249 2006-02-14 00:05 twisti
12251 * NEWS: Updated 0.95 release notes.
12253 2006-02-14 00:03 twisti
12255 * src/vm/loader.c (load_field): Removed f->xta.
12257 * src/vm/class.h (vm/method.h): Added.
12258 (vm/jit/inline/sets.h): Removed.
12260 * src/vm/method.h (vm/jit/inline/parseXTA.h): Removed.
12262 * src/vm/field.h (vm/jit/inline/parseXTA.h): Likewise.
12263 (fieldinfo): Removed member xta.
12265 * src/lib/Makefile.am (EXTRA_DIST): Fixed typo.
12267 2006-02-14 00:01 twisti
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.
12275 2006-02-13 23:45 twisti
12277 * src/vm/class.c (class_findmethod_approx): Removed.
12278 * src/vm/class.h (class_findmethod_approx): Likewise.
12279 (class_resolvemethod_approx): Likewise.
12281 2006-02-13 23:16 edwin
12283 * NEWS: Added JNI method resolution fix.
12285 2006-02-13 18:55 twisti
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.
12292 * src/vm/method.h (vm/linker.h): Added.
12293 (method_vftbl_lookup): New method.
12295 Fixes bug #17 and #18.
12296 * src/native/jni.c: Complete rewrite of Call*Method code.
12298 2006-02-13 10:53 twisti
12300 * src/vm/utf8.c (utf_display): Some reformatting.
12301 (utf_display_classname): Likewise.
12303 2006-02-13 00:12 twisti
12305 * src/vm/jit/mips/codegen.c (createcompilerstub): Store the methodinfo
12306 pointer in the same place as in the methodheader for compiled methods.
12308 2006-02-12 23:43 twisti
12310 * src/vm/jit/alpha/md.c (md_assembler_get_patch_address): New method.
12311 (md_codegen_findmethod): Use assert's directly.
12313 * src/vm/jit/mips/md.c (md_assembler_get_patch_address): Likewise.
12314 (md_codegen_findmethod): Likewise.
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.
12320 * src/vm/jit/alpha/md-asm.h (mptr): Defined.
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
12328 2006-02-12 23:22 twisti
12330 * src/vm/jit/powerpc/codegen.c (createcompilerstub): Store the
12331 methodinfo pointer in the same place as in the methodheader for
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
12339 2006-02-12 22:08 edwin
12341 * src/threads/native/threads.c (threads_dump): Removed unused
12344 2006-02-12 21:57 edwin
12346 * src/native/vm/VMClass.c (Java_java_lang_VMClass_getDeclaredMethods):
12347 Cast to java_lang_Class in order to avoid compiler warning.
12349 * src/native/vm/VMClass.c (Changes): Added my name.
12351 * src/native/vm/VMClass.c (vim biolerplate): Added.
12353 2006-02-12 21:47 edwin
12355 * src/threads/native/threads.c (allocLockRecordSimple): Fixed
12359 2006-02-12 16:28 twisti
12361 * src/vm/jit/i386/codegen.c (createcompilerstub): Store the
12362 methodinfo* in the same place as in the methodheader for compiled
12365 2006-02-12 16:24 edwin
12367 * NEWS: Added directory check bugfix.
12369 2006-02-12 16:10 edwin
12371 * NEWS: Added two bugfixes.
12373 2006-02-12 16:02 edwin
12375 * src/vm/loader.c, src/vm/loader.h (vim boilerplate): Added.
12377 2006-02-12 13:11 twisti
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
12383 2006-02-12 12:59 christian
12385 * src/vm/jit/x86_64/md-abi.c (md_param_alloc): Regard use of A0 for
12386 returning float values.
12388 2006-02-12 02:18 edwin
12390 * src/native/vm/VMClassLoader.c (vim boilerplate): Added.
12392 2006-02-12 02:17 edwin
12394 * src/vm/classcache.c (classcache_store): Made classcache_store
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
12402 class. This should solve problems with classes that are defined
12404 of a loadClass context (e.g. by java.lang.reflect.Proxy).
12406 2006-02-12 00:30 twisti
12408 * src/native/vm/VMClass.c (getDeclaredMethods): Set the method's class
12409 in java.lang.reflect.Method.
12411 * src/native/vm/Method.c (toolbox/logging.h, vm/jit/stacktrace.h):
12414 * src/native/vm/VMSystem.c (identityHashCode): Use casts.
12416 2006-02-12 00:25 twisti
12418 * src/vm/exceptions.c, src/vm/exceptions.h
12419 (exceptions_throw_nosuchmethoderror): New method.
12421 2006-02-11 21:25 christian
12423 * src/vm/jit/stack.h (COPY) All copied stackslots set to TEMPVAR.
12424 This prevents conflicts with LOCALVAR
12429 2006-02-07 23:18 edwin
12431 * src/vm/jit/stack.h (TYPE_VERIFYERROR): Converted most of body to a
12434 * src/vm/exceptions.c, src/vm/exceptions.h
12435 (exceptions_throw_verifyerror_for_stack): Added.
12437 * src/vm/exceptions.c, src/vm/exceptions.h (vim boilerplate): Added.
12439 2006-02-07 21:27 edwin
12441 * src/vm/jit/stack.h (vim boilerplate): Fixed.
12443 2006-02-07 21:15 twisti
12445 * NEWS: Added some stuff.
12447 2006-02-07 17:28 edwin
12449 * src/vm/jit/intrp/codegen.c (createcalljavafunction):
12450 Removed t_inlining_globals.
12452 2006-02-07 17:22 edwin
12454 * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h
12456 Removed t_inlining_globals argument.
12458 * src/vm/jit/codegen-common.c (codegen_finish): Prepared for inlined
12460 number tables. References with line number <-3 will not be relocated.
12462 * src/vm/jit/codegen-common.c (codegen_createnativestub):
12463 Removed t_inlining_globals and inlining_setup.
12465 * src/vm/jit/codegen-common.h (Changes): Added my name to 'Changes'.
12467 * src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h: Ripped out
12471 * src/vm/jit/jit.c: Removed inlining headers.
12473 * src/vm/jit/jit.c (INLINE_GOTO): Added instruction name to table.
12475 * src/vm/jit/jit.c (jit_compile_intern): Removed t_inlining_globals
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
12483 2006-02-07 16:52 edwin
12485 * src/vm/jit/i386/codegen.c (codegen): Prepared for inlining. The
12487 ICMD_INLINE_START, ICMD_INLINE_END, ICMD_INLINE_GOTO were
12489 at the start of exception handlers the indepth is no longer assumed
12492 2006-02-07 16:47 edwin
12494 * src/vm/jit/jit.h (Changes): Fixed tabs.
12496 2006-02-06 21:06 twisti
12498 * src/threads/native/threads.c, src/threads/native/threads.h
12499 (sleepThread): Renamed to thread_sleep.
12501 2006-02-06 21:01 twisti
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.
12507 2006-02-06 18:50 twisti
12509 * configure.ac (AC_CONFIG_FILES): Added src/vm/jit/profile/Makefile.
12511 2006-02-06 18:49 twisti
12513 * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added profile.
12514 (PROFILE_LIB): Added.
12515 (PROFILE_SOURCES): Removed.
12517 2006-02-06 18:48 twisti
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.
12527 2006-02-06 18:34 twisti
12529 * src/vm/jit/profile.h: Moved to src/vm/jit/profile/.
12531 2006-02-06 18:33 twisti
12533 * src/vm/jit/profile.c: Moved to src/vm/jit/profile/.
12534 * src/vm/jit/profile: Added.
12536 2006-02-06 18:32 twisti
12538 * src/vm/jit/profile: Ooops.
12540 2006-02-06 18:31 twisti
12542 * src/vm/jit/profile.c: Moved to src/vm/jit/profile/.
12544 2006-02-06 18:14 twisti
12546 * src/vm/jit/allocator/Makefile.am: Use tabs instead of space.
12547 (INCLUDE): Renamed to AM_CPPFLAGS.
12549 2006-02-06 08:22 edwin
12551 * doc/Makefile.am (EXTRA_DIST): Added inlining_stacktrace.txt and
12552 native_threads.txt.
12554 2006-02-06 06:49 edwin
12556 * src/threads/native/threads.c: Minor cleanup.
12558 2006-02-06 06:46 edwin
12560 * src/threads/native/threads.c: Uncuddled `else`s and other cleanup.
12562 2006-02-06 06:16 edwin
12564 * doc/inlining_stacktrace.txt: Clarified, added entry after the
12566 for the rest of the line after the call.
12568 2006-02-06 05:00 edwin
12570 * src/vm/jit/i386/machine-instr.h (compare_and_swap): Commented.
12572 2006-02-06 04:50 edwin
12574 * doc/native_threads.txt: Added.
12576 2006-02-06 04:46 edwin
12578 * src/threads/native/threads.c (allocLockRecordPool): Relink the free
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.
12584 * src/threads/native/threads.c (allocLockRecordSimple,
12586 (initObjectLock): Temporarily added assertions to shake out possible
12587 further bugs in the free list handling.
12589 * src/threads/native/threads.c (monitorEnter, monitorExit): Commented.
12591 * src/threads/native/threads.c (Changes): Added my name to 'Changes'.
12593 * src/threads/native/threads.c (vim boilerplate): Added.
12595 2006-02-06 01:28 edwin
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'.
12604 2006-02-06 01:08 edwin
12606 * src/vm/jit/verify/typecheck.c (verify_basic_block): Teach the
12608 about the new inline instructions ICMD_INLINE_START, ICMD_INLINE_END,
12609 and ICMD_INLINE_GOTO.
12611 2006-02-06 01:02 edwin
12613 * src/vm/jit/stack.c (analyse_stack): Set bptr->stack for each visited
12615 (show_icmd): Implemented printing of new inline instructions.
12617 2006-02-06 00:02 edwin
12619 * src/vm/jit/allocator/simplereg.c (ICMD_INLINE_GOTO): Added.
12620 (Changes): Added my name to 'Changes'.
12621 (vim boilerplate): Added.
12623 2006-02-05 23:34 edwin
12625 * src/vm/jit/allocator/lsra.c, src/vm/jit/allocator/lsra.h (lsra,
12627 Removed t_inlining_globals argument.
12628 (Changes): Added my name to 'Changes'.
12629 (vim boilerplate): Added.
12631 * src/vm/jit/jit.c (lsra): Removed t_inlining_globals argument.
12633 2006-02-05 23:24 edwin
12635 * src/vm/jit/jit.c (reg_setup): Removed t_inlining_globals argument.
12637 * src/vm/jit/codegen-common.c (reg_setup): Removed t_inlining_globals
12640 * src/vm/jit/reg.c, src/vm/jit/reg.h (reg_setup): Removed
12643 (Changes): Added my name to 'Changes'.
12644 (vim boilerplate): Added.
12646 2006-02-05 23:09 edwin
12648 * src/vm/jit/jit.h (Changes): Added my name to 'Changes'.
12650 2006-02-05 23:07 edwin
12652 * src/vm/jit/jit.h (ICMD_INLINE_GOTO): Added. Not used, yet.
12654 * src/vm/jit/jit.h (basicblock): Added 'stack' field. Not used, yet.
12656 * src/vm/jit/jit.h, src/vm/jit/jit.c (vim boilerplate): Added.
12658 2006-02-05 23:02 edwin
12660 * src/vm/jit/parse.c (parseRT.h, parseXTA.h, inline.h,
12662 No longer included.
12663 (parse): Removed t_inlining_globals * from arguments.
12665 * src/vm/jit/jit.c (parse): Removed t_inlining_globals * from
12668 2006-02-05 22:47 edwin
12670 * src/vm/jit/parse.c, src/vm/jit/parse.h (inline_env): Removed most
12672 (bound_check1): Renamed to bound_check_exclusive.
12674 2006-02-05 22:22 edwin
12676 * src/vm/jit/parse.c (useinlining): Removed.
12678 2006-02-05 17:36 edwin
12680 * doc/inlining_stacktrace.txt: Added warning about signedness.
12681 Fixed copy&paste errors.
12683 2006-02-05 15:26 edwin
12685 * doc/inlining_stacktrace.txt: Added.
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.
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.
12698 2006-02-05 13:52 stefan
12700 * src/threads/native/threads.h: waiting is correctly typed now
12701 (previous checkin was wrong).
12703 2006-02-05 13:39 stefan
12705 * src/threads/native/threads.c: Let's see if this improves the dead
12706 lock situation (waiter handling changed slightly).
12708 2006-02-05 12:22 twisti
12710 * tests/regression/native/.cvsignore (*.h, *.so): Added.
12712 2006-02-05 12:20 twisti
12714 * tests/regression/native/Makefile.am,
12715 tests/regression/codepatching/Makefile.am,
12716 tests/regression/Makefile.am (JAVAFLAGS): Use VM_ZIP_STRING and
12719 2006-02-05 12:03 twisti
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
12727 2006-02-05 00:40 twisti
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
12734 (exceptions_print_exception): Check for NULL value, print it and
12737 2006-02-05 00:16 twisti
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.
12743 2006-02-05 00:13 twisti
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.
12749 2006-02-05 00:01 twisti
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.
12755 2006-02-04 23:59 twisti
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
12764 2006-02-04 23:56 twisti
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):
12771 2006-02-04 20:15 twisti
12773 * src/vm/jit/stacktrace.h (stacktrace_getCallingClassLoader): Renamed
12774 to stacktrace_getCurrentClassLoader.
12776 * src/cacaoh/headers.c (nativelyoverloaded): Fixed compiler warning.
12778 2006-02-04 19:09 twisti
12780 * src/native/native.c (native_resolve_function): Print failed is the
12781 symbol was not found.
12783 2006-02-04 19:08 twisti
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.
12790 2006-02-04 19:04 twisti
12792 * src/vm/jit/stacktrace.c (stacktrace_add_entry): Reallocate to
12794 (stacktrace_create): Do two dump and heap allocs, does not affect
12796 (stacktrace_getCallingClassLoader): Renamed to
12797 stacktrace_getCurrentClassLoader.
12799 * src/native/jni.c (FindClass): Renamed
12800 stacktrace_getCallingClassLoader to stacktrace_getCurrentClassLoader.
12802 * src/native/vm/VMStackWalker.c (getCallingClassLoader): Revert to old
12805 2006-02-04 17:39 edwin
12807 * doc/stack.txt: Typos fixed.
12809 2006-02-04 17:31 edwin
12811 * doc/stack.txt: Expanded tabs.
12812 * doc/Makefile.am (stack.txt): Added EXTRA_DIST entry for stack.txt.
12814 2006-02-04 17:25 edwin
12816 * doc/stack.txt: Added. This file describes some details about the
12817 stack representation.
12819 2006-02-04 00:43 twisti
12821 * src/native/Makefile.am (CLEANFILES): Always clean nativetable.inc.
12822 ($(srcdir)/native.c): Moved inside if ENABLE_STATICVM where it
12825 2006-02-04 00:33 twisti
12827 * src/native/Makefile.am: Accidentally moved the library into if
12829 * src/native/include/Makefile.am: Enable accidentally removed
12832 2006-02-04 00:13 edwin
12834 * src/vm/jit/verify/typecheck.c (logging): Adapted to new logging API.
12836 2006-02-04 00:08 edwin
12838 * src/vm/jit/stack.h (MARKREACHED): Use BBREACHED for readability.
12839 (vim boilerplate): Added.
12841 2006-02-04 00:04 edwin
12843 * src/vm/method.h (methodinfo): Fixed copy&paste error in comment.
12844 (vim boilerplate): Added.
12846 2006-02-04 00:00 edwin
12848 * src/vm/jit/stacktrace.c (vim boilerplate): Added.
12850 2006-02-03 22:57 twisti
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
12858 (GLIBJ_ZIP): Use GLIBJ_ZIP_STRING.
12859 * contrib/setenvinstalled.in, contrib/setenvsource.in: Likewise.
12861 2006-02-03 22:53 twisti
12863 * src/native/vm/VMRuntime.c (nativeLoad): #ifdef ENABLE_STATICVM
12866 2006-02-03 22:24 twisti
12868 * src/vm/global.h (CACAO_VM_ZIP_PATH): Removed accidentally commited
12870 * src/native/Makefile.am (VM_ZIP): Likewise.
12871 * src/native/include/Makefile.am (VM_ZIP): Likewise.
12873 2006-02-03 22:03 twisti
12875 * src/vm/global.h (CACAO_VM_ZIP_PATH): Set correctly for ifndef
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
12882 * src/native/Makefile.am (VM_ZIP): Likewise.
12884 2006-02-03 21:58 twisti
12886 * src/vm/suck.c (suck_add): Fixed compiler warning with #ifndef
12889 2006-02-03 21:51 twisti
12891 * src/native/tools/.cvsignore (TAGS): Added.
12893 2006-02-03 20:54 twisti
12895 * src/native/Makefile.am (VM_ZIP, GLIBJ_ZIP, CLASSPATH): Added.
12897 2006-02-03 20:53 twisti
12899 * src/native/tools/gennativetable.c (main): Don't free bootclasspath,
12900 do proper initalization of subsystems, don't link classes.
12902 2006-02-03 19:44 twisti
12904 * src/native/Makefile.am (nativetable.inc): Pass classpath on
12905 commandline, environment variable support was removed.
12907 2006-02-03 19:42 twisti
12909 * src/native/tools/gennativetable.c: Updated to work again.
12911 2006-02-03 19:27 twisti
12913 * src/cacao/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
12914 (CLASSPATH_PREFIX): Renamed to CLASSPATH_LIBDIR.
12916 2006-02-03 18:45 twisti
12918 * configure.ac (ENABLE_SOFTFLOAT): Added.
12919 (NDEBUG): Bugfix for AM_CONDITIONAL.
12921 2006-02-03 14:14 twisti
12923 * src/vm/jit/stacktrace.c (stacktrace_entry): Wrong return value,
12926 2006-02-03 13:19 twisti
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.
12947 * src/native/jni.c (jni_init): Use new GCNEW.
12948 (FindClass): Renamed cacao_currentClassLoader to
12949 stacktrace_getCallingClassLoader.
12951 * src/native/vm/VMAccessController.c (getStack): Renamed
12952 cacao_getStackForVMAccessController to stacktrace_getStack.
12954 * src/native/vm/VMStackWalker.c (getClassContext): Renamed
12955 cacao_createClassContextArray to stacktrace_getClassContext.
12956 (getCallingClass): Likewise.
12957 (getCallingClassLoader): Call stacktrace_getCallingClassLoader.
12959 * src/native/vm/Method.c (config.h): Added.
12960 (invokeNative): Renamed cacao_createClassContextArray to
12961 stacktrace_getClassContext.
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.
12967 * src/native/vm/VMThrowable.c
12968 (native/include/gnu_classpath_Pointer.h): Added.
12969 (fillInStackTrace): Call stacktrace_fillInStackTrace.
12970 (getStackTrace): Adapted.
12972 * src/mm/memory.h (GCNEW): Use only 1 parameter, like NEW.
12975 2006-02-03 12:46 twisti
12977 * src/threads/native/threads.h (THREADOBJECT): Don't cast to
12978 java_lang_VMThread*, we don't need that.
12980 2006-02-03 12:38 twisti
12982 * src/vm/method.c (method_printflags, method_print): Check for NULL.
12983 * src/vm/field.c (field_printflags, field_print) Likewise.
12985 * src/vm/class.c (class_printflags, class_print): Likewise.
12987 2006-02-02 09:16 twisti
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.
12994 2006-02-02 08:51 twisti
12996 * src/vm/loader.c (loader_load_all_classes): Added missing #ifde
12999 2006-02-02 08:45 twisti
13001 * configure.ac (NDEBUG): Added missing WITH_BINUTILS_DISASSEMBLER
13003 (zlib): Fixed handling.
13005 2006-01-31 23:54 twisti
13007 * src/vm/jit/i386/codegen.c (codegen): Added basic block frequency
13010 2006-01-31 23:45 twisti
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.
13017 2006-01-31 23:43 twisti
13019 * src/vm/method.h (methodinfo): Renamed executioncount to
13020 frequency. Added bbfrequency and cycles.
13022 * src/vm/jit/x86_64/codegen.c (codegen): Added cycle profiling code.
13024 * src/vm/jit/x86_64/codegen.h (M_FMOV): Added.
13025 (M_IADD_MEMBASE, M_IADC_MEMBASE, M_ISUB_MEMBASE, M_ISBB_MEMBASE):
13027 (M_RDTSC, PROFILE_CYCLE_START, PROFILE_CYCLE_STOP): Likewise.
13029 * src/vm/jit/x86_64/emitfuncs.c (x86_64_inc_membase)
13030 (x86_64_incl_membase): Fixed.
13031 (emit_rdtsc): Added.
13033 * src/vm/jit/jit.c (jit_compile): Free m->bbfrequency memory.
13034 (jit_compile_intern): Allocate m->bbfrequency memory.
13036 * src/vm/jit/jit.h: Reformatting.
13038 2006-01-31 23:29 twisti
13040 * src/vm/statistics.c, src/vm/jit/inline/inline.c: Removed inlining
13043 2006-01-31 23:27 twisti
13045 * src/vm/options.c, src/vm/options.h (opt_rt, opt_xta, opt_vta):
13047 (opt_prof_bb): Added.
13048 * src/cacao/cacao.c: Likewise.
13049 (OPT_PROF_OPTION): Added.
13051 2006-01-31 22:31 twisti
13053 * src/vm/jit/stack.c (show_icmd_block): Print the basic block type.
13055 2006-01-31 22:27 twisti
13057 * src/toolbox/list.c, src/toolbox/list.h (list_add_before): Added.
13059 2006-01-31 15:41 twisti
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.
13065 2006-01-31 15:35 twisti
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.
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
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.
13082 2006-01-31 15:18 edwin
13084 * src/vm/classcache.c: Added a formal description of the classcache.
13086 2006-01-31 14:24 twisti
13088 * src/vm/signal.c (signal_handler_sigint): Typo, reported by Chris
13091 2006-01-30 16:25 twisti
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.
13099 2006-01-30 15:44 twisti
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.
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.
13111 * src/vm/method.h (methodinfo): Added member executioncount.
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.
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.
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.
13129 2006-01-30 14:24 christian
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.
13137 2006-01-30 11:26 christian
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
13146 * src/vm/jit/i386/arch.h: Added defines for
13147 ALIGN_[DOUBLES|LONGS]_IN_MEMORY.
13148 * src/vm/jit/powerpc/arch.h: Likewise.
13150 2006-01-29 17:27 twisti
13152 * src/vm/jit/stack.c (show_icmd): Fixed ICMD_ELSE_ICONST output.
13154 2006-01-28 14:42 twisti
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.
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.
13165 * src/vm/jit/methodheader.h: Added comment.
13167 2006-01-28 14:25 twisti
13169 * src/vm/jit/x86_64/.cvsignore: Added TAGS.
13171 2006-01-28 14:21 twisti
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.
13177 2006-01-28 14:18 twisti
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
13185 (method_descriptor2types): Removed.
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.
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.
13196 * src/cacaoh/cacaoh.c (main): Call string_init. Removed
13197 nativemethod_chain and nativeclass_chain stuff.
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.
13204 2006-01-28 11:26 twisti
13206 * src/vm/jit/inline/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
13207 (libinline_la_SOURCES): Don't build RTA/XTA stuff.
13209 2006-01-28 11:24 twisti
13211 * Makefile.am (EXTRA_DIST): Added THIRDPARTY.
13213 2006-01-27 19:05 stefan
13215 * src/threads/native/threads.c: Removed a superfluous (I hope) NULL
13218 2006-01-27 18:53 stefan
13220 * src/threads/native/threads.c: Repaired thread_getself.
13222 2006-01-27 17:35 twisti
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.
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.
13238 * src/vm/statistics.c (print_stats): Started to use new logging
13239 functions. Print some ratios.
13241 2006-01-27 16:32 twisti
13243 * src/native/vm/VMSystemProperties.c (preInit): Don't add . to
13244 java.library.path per default.
13246 2006-01-27 12:43 twisti
13248 * NEWS: Added powerpc fixes found by javver.
13250 2006-01-24 19:09 twisti
13252 * src/vm/jit/powerpc/codegen.h (var_to_reg_dbl): Added.
13253 (M_COPY): Handle doubles properly.
13255 2006-01-24 13:52 twisti
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
13262 2006-01-24 10:30 twisti
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.
13269 2006-01-24 10:28 twisti
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.
13276 2006-01-23 16:03 twisti
13278 * src/vm/jit/stack.c (show_icmd_method): Fixed basic block count
13281 * src/vm/jit/i386/codegen.c (codegen): Use disp instead of a. Usage of
13283 * src/vm/jit/i386/codegen.h (M_BLT): Added.
13290 2006-01-23 01:12 twisti
13292 * configure.ac (AC_INIT): Changed version number to 0.94+cvs.
13293 (CFLAGS): Changed optimization back to -O0.
13295 2006-01-23 01:01 twisti
13297 * ChangeLog: Updated for 0.94 release.
13299 2006-01-22 23:42 twisti
13301 * configure.ac (AC_INIT): Changed version number to 0.94.
13302 (CFLAGS): Changed optimization to -O2.
13304 2006-01-22 23:33 twisti
13306 * Updated header: Added 2006. Changed address of FSF. Changed email
13309 2006-01-22 23:16 twisti
13311 * Updated svn:ignore propset.
13313 2006-01-22 23:00 twisti
13315 * src/vm/jit/intrp/Makefile.am (EXTRA_DIST): Added gray.fs and
13318 2006-01-22 22:46 twisti
13320 * tests/regression/extest.java: Typo.
13322 2006-01-22 22:36 twisti
13324 * NEWS: Added releases 0.90, 0.91, 0.92, 0.93, 0.94.
13326 2006-01-22 22:34 twisti
13330 2006-01-22 21:42 twisti
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.
13336 2006-01-22 21:40 twisti
13338 * src/native/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
13339 (libnative_la_SOURCES): Removed nativecalls.inc.
13341 2006-01-22 21:39 twisti
13343 * tests/Makefile.am (SUBDIRS): Removed native.
13345 2006-01-22 21:38 twisti
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.
13352 * tests/regression/extest.java: Comment changed.
13354 2006-01-22 21:22 twisti
13356 * configure.in: Renamed to configure.ac.
13358 2006-01-22 21:21 twisti
13360 * configure.in (AC_CONFIG_FILES): Removed tests/native/Makefile, added
13361 tests/regression/native/Makefile.
13363 2006-01-22 20:21 twisti
13365 * tests/native: Moved to tests/regression/native.
13367 2006-01-22 20:00 twisti
13369 * src/vm/jit/asmpart.h (asm_handle_exception)
13370 (asm_handle_nat_exception): #ifdef ENABLE_JIT.
13372 2006-01-22 19:59 twisti
13374 * src/vm/jit/jit.c (jit_compile_intern): Use
13375 CLASS_IS_OR_ALMOST_INITIALIZED to check uninitialized.
13377 2006-01-22 19:57 twisti
13379 * src/vm/jit/stacktrace.c (stacktrace_create_inline_stackframeinfo):
13380 Compiler warning fix.
13382 2006-01-22 19:56 twisti
13384 * src/vm/jit/intrp/java.vmg: Some reformatting.
13386 2006-01-22 19:55 twisti
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.
13392 2006-01-22 19:50 twisti
13394 * .cvsignore, src/toolbox/.cvsignore, src/vm/jit/inline/.cvsignore,
13395 src/vm/jit/allocator/.cvsignore: TAGS added.
13397 2006-01-22 19:37 twisti
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.
13409 2006-01-22 19:29 edwin
13411 * src/vm/jit/intrp/codegen.c (nativecall): Fixed calculation of the
13412 stackframeinfo address.
13414 2006-01-22 14:44 twisti
13416 * src/vm/jit/codegen-common.c (codegen_addreference): The last fix was
13417 not correct if only the intrp is built.
13419 2006-01-22 14:39 twisti
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
13426 * src/vm/field.c, src/vm/field.h (field_display): Removed.
13427 (field_printflags): Added.
13428 (field_print): Likewise.
13429 (field_println): Likewise.
13431 2006-01-22 00:45 edwin
13433 * src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Use ffi_type_sint
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.
13438 2006-01-21 21:46 edwin
13440 * src/vm/jit/codegen-common.c (codegen_addreference): Fixed bug when
13441 both ENABLE_INTRP and ENABLE_JIT were defined.
13443 2006-01-21 20:22 edwin
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.
13450 2006-01-20 14:49 twisti
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.
13466 2006-01-20 13:41 twisti
13468 * tests/regression/Makefile.am (EXTRA_DIST): Made it more readable.
13470 2006-01-20 13:40 twisti
13472 * src/vm/jit/intrp/intrp.h (ffi.h): Removed, not required in this
13474 * src/vm/jit/intrp/codegen.c (nativecall): Removed unused big-endian
13476 * src/vm/jit/intrp/asmpart.c (asm_calljavafunction_intern): Renamed to
13477 intrp_asm_calljavafunction_intern, just to be sure.
13479 2006-01-20 13:33 twisti
13481 * src/vm/jit/mips/irix/md-os.c (md_signal_handler_sigsegv): Missed the
13482 actal rename from the previous commit.
13484 2006-01-20 13:28 twisti
13486 * src/vm/signal.c (vm/signallocal.h): Added.
13487 * src/vm/signallocal.h (md_signal_handler_sigfpe): #ifdef for i386 and
13490 2006-01-20 13:25 twisti
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.
13506 2006-01-20 13:19 twisti
13508 * src/vm/jit/alpha/codegen.h (ucontext.h): Removed.
13509 (thread_restartcriticalsection): Removed.
13511 2006-01-20 13:06 twisti
13513 * src/vm/jit/x86_64/disass.c (dis-asm.h): Added.
13514 (vm/global.h): Likewise.
13515 (mm/memory.h): Removed.
13517 2006-01-20 13:05 twisti
13519 * src/vm/class.c, src/vm/class.h (class_printflags): Added.
13520 (class_print): Likewise.
13521 (class_println): Likewise.
13523 2006-01-20 12:58 twisti
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.
13529 2006-01-20 12:57 twisti
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.
13536 2006-01-20 12:01 twisti
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.
13542 2006-01-20 11:38 twisti
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.
13552 2006-01-20 10:15 twisti
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.
13559 2006-01-20 10:08 twisti
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.
13564 2006-01-19 23:40 edwin
13566 * src/vm/jit/parse.h: Added vim boilerplate.
13568 2006-01-19 23:35 edwin
13570 * src/vm/jit/stack.c: Added vim boilerplate.
13572 2006-01-19 22:21 twisti
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.
13580 2006-01-19 22:11 edwin
13582 * src/vm/jit/parse.c (parse): Removed inlining code.
13584 2006-01-19 22:06 edwin
13586 * src/vm/options.c, src/vm/options.h (useinliningm): Removed.
13588 2006-01-19 22:05 twisti
13590 * tests/codepatching: Moved to tests/regression/codepatching.
13592 2006-01-19 21:31 edwin
13594 * src/vm/jit/jit.c (jit_compile): Removed the INAFTERMAIN hack.
13596 2006-01-19 21:27 edwin
13598 * src/vm/jit/inline/inline.c (inlining_setup): Removed INAFTERMAIN
13601 2006-01-19 21:26 edwin
13603 * src/cacao/cacao.c (main): Disabled useinlining and useinliningm.
13605 2006-01-19 20:56 twisti
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.
13611 2006-01-19 20:53 twisti
13613 * src/vm/global.h (java_floatarray): Typo.
13615 2006-01-19 20:28 edwin
13617 * src/vm/jit/parse.c (parse, fillextable): Removed debugging code.
13620 2006-01-19 20:13 edwin
13622 * src/vm/jit/parse.c (parse): Removed commented out debugging code.
13624 2006-01-19 20:03 twisti
13626 * src/vm/class.c (class_showmethods): Replaced method_display with
13629 2006-01-19 20:00 twisti
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
13637 2006-01-19 19:49 twisti
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--
13649 2006-01-19 17:02 twisti
13651 * src/vm/jit/powerpc/linux/Makefile.am (INCLUDES): Renamed to
13653 * src/vm/jit/powerpc/Makefile.am (AM_CPPFLAGS): Added missing
13656 2006-01-19 16:02 twisti
13658 * INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc,
13659 as this is more common these days.
13661 2006-01-19 11:58 edwin
13663 * alpha, mips, nat: removed obsolete directories resurrected by svn
13666 2006-01-19 09:47 twisti
13668 * INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc,
13669 as this is more common these days.
13671 2006-01-18 21:41 edwin
13673 * havoc.class: fix corruption by svn eol-style conversion
13675 2006-01-18 15:43 twisti
13677 * AC_CHECK_HEADER: Added ansidecl.h, symcat.h, bfd.h and zconf.h.
13679 2006-01-18 15:41 twisti
13681 * main: Call nogc_init for DISABLE_GC.
13683 2006-01-17 18:51 twisti
13685 * Removed extern stuff that was removed from the lib.
13687 2006-01-17 18:37 twisti
13689 * Updated to new classpath configure options.
13691 2006-01-17 18:24 twisti
13693 * CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX.
13695 2006-01-17 17:06 twisti
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.
13703 2006-01-17 16:59 twisti
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.
13708 2006-01-17 16:58 twisti
13710 * Java_gnu_classpath_VMSystemProperties_preInit: Renamed
13711 CACAO_INSTALL_PREFIX to CACAO_PREFIX.
13713 2006-01-17 16:57 twisti
13715 * CACAO_VM_ZIP_PATH: Prepend CACAO_PREFIX.
13716 * CLASSPATH_GLIBJ_ZIP_PATH: Prepend CLASSPATH_PREFIX.
13717 * CLASSPATH_LIBRARY_PATH: Prepend CLASSPATH_LIBDIR.
13719 2006-01-17 16:55 twisti
13721 * CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX.
13723 2006-01-17 16:53 twisti
13727 2006-01-17 16:51 twisti
13729 * m4/as-ac-expand.m4: Added.
13731 2006-01-16 00:07 twisti
13733 * jni_init: Fixed small typo.
13735 2006-01-16 00:04 twisti
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.
13740 some problems), file.encoding removed as it's set by GNU Classpath,
13741 hardcode values for gnu.cpu.endian.
13743 2006-01-15 23:32 twisti
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
13749 * class_java_nio_DirectByteBufferImpl: Likewise.
13750 * NewDirectByteBuffer: Removed debug output.
13751 * GetDirectBufferAddress: Added instanceof check.
13752 * GetDirectBufferCapacity: Likewise.
13754 2006-01-15 14:12 twisti
13756 * native_new_and_init: Ooops, reverting last change and added an
13760 2006-01-15 13:32 twisti
13762 * CLASSPATH_LIBRARY_PATH, CLASSPATH_GLIBJ_ZIP_PATH: Temporary bugfix.
13764 2006-01-15 12:28 twisti
13766 * native_findfunction: #ifdef ENABLE_STATICVM.
13767 * native_new_and_init: Fixed return value.
13769 2006-01-15 01:56 twisti
13771 * math.h: Added for isnan.
13773 2006-01-15 00:37 twisti
13777 2006-01-15 00:36 twisti
13779 * Java_gnu_classpath_VMSystemProperties_preInit: Set user.country
13781 of user.region, set en_US if none is defined,
13782 java.protocol.handler.pkgs
13785 2006-01-14 20:02 twisti
13787 * builtin_trace_args: Added callcount to verbose call output.
13789 2006-01-14 17:19 edwin
13791 * src/native/vm/Method.c (invokeNative): check class access rights
13793 2006-01-13 19:37 twisti
13795 * codegen_setup: #ifdef datareferences.
13797 2006-01-13 18:51 twisti
13799 * This class does not differ from the GNU classpath upstream version.
13801 2006-01-13 18:49 twisti
13803 * defineClassWithTransformers: Added, updated to generics version.
13805 2006-01-13 15:29 twisti
13807 * codegendata: #ifdef datareferences member.
13808 * codegen_finish: Moved data segment reference resolving into
13809 dseg_resolve_datareferences.
13811 2006-01-13 15:28 twisti
13813 * dseg_resolve_datareferences: Added.
13815 2006-01-13 15:27 twisti
13817 * Small reformatting.
13819 2006-01-13 10:47 twisti
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.
13825 2006-01-13 10:42 twisti
13827 * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
13829 2006-01-13 10:11 twisti
13831 * codegen.h: Added when ENABLE_JIT defined.
13832 * codegen_addpatchref: Set lastmcodeptr when ENABLE_JIT is defined
13834 architecture requires it.
13836 2006-01-13 10:09 twisti
13838 * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
13840 2006-01-12 23:54 twisti
13842 * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
13844 2006-01-12 23:33 twisti
13847 * GC_test_and_set: Removed 64-bit version since the 32-bit seems to be
13848 sufficient and works.
13850 2006-01-12 23:31 twisti
13852 * show_icmd: Use CLASS_IS_OR_ALMOST_INITIALIZED.
13853 * initialize_class: Use CLASS_IS_OR_ALMOST_INITIALIZED.
13855 2006-01-12 23:30 twisti
13857 * CLASS_IS_OR_ALMOST_INITIALIZED: Added.
13859 2006-01-12 23:27 twisti
13861 * GETSTATIC_FLOAT, PUTSTATIC_FLOAT, GETFIELD_FLOAT, PUTFIELD_FLOAT:
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.
13870 2006-01-12 23:23 twisti
13872 * Some 64-bit big-endian bugfixes.
13873 * Use CLASS_IS_OR_ALMOST_INITIALIZED macro.
13875 2006-01-12 23:21 twisti
13877 * 64-bit big-endian bugfix: replace s4 with ptrint.
13879 2006-01-12 23:10 twisti
13881 * Imported for the interpreter.
13883 2006-01-12 23:09 twisti
13885 * Added powerpc64 target.
13887 2006-01-12 23:08 twisti
13889 * intrp_disassinstr, intrp_disassemble: Added.
13891 2006-01-12 23:07 twisti
13893 * vm/options.h: Added.
13895 2006-01-12 23:05 twisti
13897 * config.h, vm/types.h: Added.
13899 2006-01-12 23:03 twisti
13901 * Use ASM_CALLJAVAFUNCTION* macros.
13903 2006-01-12 22:42 twisti
13905 * thread_addstaticcritical: Quick hack: #ifdef ENABLE_JIT
13906 asm_criticalsections.
13907 * sigsuspend_handler: Quick hack: #ifdef ENABLE_JIT
13908 thread_restartcriticalsection.
13910 2006-01-12 22:41 twisti
13912 * vm/options.h: Added.
13913 * descriptor_pool_parse_method_descriptor: #ifdef ENABLE_JIT
13916 * descriptor_params_from_paramtypes: Likewise.
13918 2006-01-12 22:40 twisti
13920 * Fixed a lot of compiler warnings (functionptr -> u1*).
13922 2006-01-12 22:39 twisti
13925 * disassinstr, disassemble: Prefixed with intrp_.
13927 2006-01-12 22:38 twisti
13929 * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
13931 2006-01-12 22:37 twisti
13933 * builtin_gen_table: #if function according to arch.h.
13934 * codegen: Prefixed with intrp_, usage of iptr->val.a and iptr->target
13936 * codegen_createlinenumbertable: Renamed to
13937 dseg_createlinenumbertable.
13938 * createcompilerstub: Prefixed with intrp_.
13939 * createnativestub: Likewise.
13941 2006-01-12 22:35 twisti
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.
13946 2006-01-12 22:34 twisti
13948 * codegen_createnativestub: #ifdef ENABLE_JIT md_param_alloc call.
13949 * codegen_disassemble_nativestub: Use DISASSEMBLE macro.
13951 2006-01-12 22:32 twisti
13953 * analyse_stack: #ifdef ENBALE_JIT md_return_alloc call.
13954 * icmd_print_stack: Print regs correctly for jit.
13955 * show_icmd_method: Likewise.
13957 2006-01-12 21:55 twisti
13959 * builtintable_internal: Removed ICMD_CHECKCAST.
13961 2006-01-12 21:39 twisti
13963 * Prefixed functions with intrp_.
13964 * md_init, md_stacktrace_get_returnaddress: Prefixed with intrp_.
13965 * thread_restartcriticalsection, md_param_alloc, md_return_alloc:
13968 2006-01-12 21:38 twisti
13970 * Prefix functions with intrp_.
13972 2006-01-12 21:37 twisti
13974 * Use ptrint instead of s8 in some places.
13976 2006-01-12 21:36 twisti
13978 * Use DISASSINSTR macro.
13980 2006-01-12 21:36 michi
13982 * Comment updated (for asm_cacheflush)
13984 2006-01-12 21:35 twisti
13986 * intrp_createcompilerstub, intrp_createnativestub, intrp_codegen:
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.
13994 2006-01-12 21:30 twisti
13996 * intrp_md_stacktrace_get_returnaddress: Added.
13997 * cacao_stacktrace_fillInStackTrace: #ifdef
13998 md_stacktrace_get_returnaddress
13999 to support interpreter.
14001 2006-01-12 21:29 twisti
14003 * Seperate ENABLE_JIT and ENABLE_INTRP.
14005 2006-01-12 21:17 twisti
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:
14016 2006-01-12 21:16 twisti
14018 * jit_compile_intern: #ifdef codegen call to support interpreter, use
14021 2006-01-12 21:15 twisti
14023 * DISASSINSTR, DISASSEMBLE: Added.
14025 2006-01-12 21:14 twisti
14027 * Use ASM_CALLJAVAFUNCTION macro.
14029 2006-01-12 21:13 twisti
14031 * Use ASM_CALLJAVAFUNCTION_INT macro.
14033 2006-01-12 21:11 twisti
14035 * intrp_asm_calljavafunction, intrp_createcompilerstub,
14036 intrp_asm_getclassvalues_atomic: Added.
14038 2006-01-12 21:08 twisti
14040 * Use ASM_CALLJAVAFUNCTION macros.
14041 * main: #ifdef md_init call to support interpreter.
14042 * link_class_intern: #ifdef createcompilerstub call to support
14045 2006-01-12 21:07 twisti
14047 * Use ASM_CALLJAVAFUNCTION macros.
14049 2006-01-12 21:06 twisti
14051 * Use ASM_CALLJAVAFUNCTION_ADR macro.
14052 * Use ASM_CALLJAVAFUNCTION macro.
14054 2006-01-12 21:04 twisti
14056 * intrp_md_init: Added.
14058 2006-01-12 20:57 twisti
14060 * Check explicitly for isnan.
14062 2006-01-12 18:25 twisti
14064 * print_dynamic_super_statistics: Added from intrp.
14066 2006-01-12 18:09 michi
14068 * Included md-abi.h (needed for REG_SPLIT on Arm)
14070 2006-01-12 17:52 twisti
14072 * We have to use a machine dependent arch.h.
14074 2006-01-11 12:16 twisti
14076 * vm/jit/codegen.inc.h: Removed.
14077 * Fixed compiler warnings.
14079 2006-01-11 10:35 twisti
14081 * ICMD_F2I, ICMD_D2I, ICMD_F2L, ICMD_D2L: #if 0.
14083 2006-01-11 10:01 twisti
14085 * SUPPORT_FMOD: Removed.
14086 * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
14089 * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
14090 * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
14092 2006-01-10 22:44 twisti
14094 * SUPPORT_FMOD: Removed.
14095 * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
14098 * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
14099 * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
14101 2006-01-10 22:38 twisti
14103 * SUPPORT_FMOD: Removed.
14104 * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
14107 * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
14108 * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
14110 2006-01-10 22:22 twisti
14112 * EXTRA_DIST: Added ChangeLog-2005.
14114 2006-01-10 22:18 twisti
14116 * SUPPORT_FMOD: Removed.
14117 * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
14120 * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
14121 * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
14123 2006-01-10 22:11 twisti
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.
14131 2006-01-10 22:09 twisti
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
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.
14147 2006-01-10 21:58 twisti
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
14155 2006-01-10 21:11 twisti
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.
14164 2006-01-10 20:57 twisti
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.
14173 2006-01-10 20:56 twisti
14175 * exceptions_throw_classformaterror: Use this function.
14177 2006-01-10 20:55 twisti
14179 * exceptions_throw_nullpointerexception: Use this function.
14181 2006-01-10 20:50 twisti
14183 * exceptions_throw_nullpointerexception,
14184 exceptions_throw_arrayindexoutofboundsexception: Use these
14187 2006-01-10 20:48 twisti
14189 * exceptions_throw_nullpointerexception,
14190 exceptions_throw_illegalargumentexception: Use these functions.
14192 2006-01-10 20:46 twisti
14194 * exceptions_throw_illegalargumentexception,
14195 exceptions_throw_negativearraysizeexception,
14196 exceptions_throw_arrayindexoutofboundsexception,
14197 exceptions_throw_nullpointerexception: Use these functions.
14199 2006-01-10 20:44 twisti
14201 * exceptions_throw_classformaterror,
14202 exceptions_throw_negativearraysizeexception,
14203 exceptions_throw_nullpointerexception: Added.
14205 2006-01-10 15:52 twisti
14207 * Not required anymore.
14209 2006-01-10 15:50 twisti
14211 * use_class_as_object, create_property, copy_vftbl, create_methodsig:
14213 * classMeth, nativeCall, methodCall, nativeMethod, nativeCompCall,
14214 methodCompCall, nativeCompMethod: Likewise.
14215 * natcall2utf, printNativeCall, markNativeMethodsRT: Likewise.
14217 2006-01-10 15:48 twisti
14219 * nativeCalls, nativeCompCalls: Removed.
14220 * copy_vftbl, create_methodsig: Likewise.
14221 * printNativeCall, printCompNativeCall, findNativeMethodCalls,
14222 findNativeClassCalls, utfNativeCall, natcall2utf: Likewise.
14224 2006-01-10 10:59 twisti
14226 * codegen_ncode_increase: Typo.
14228 2006-01-09 20:52 twisti
14230 * disass_buf: Fixed typo.
14232 2006-01-09 20:28 twisti
14234 * disass_printf: Ooops, #ifdef was wrong.
14236 2006-01-09 20:19 twisti
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:
14244 * Use disass-common.c stuff.
14246 2006-01-09 20:15 twisti
14248 * libarch_la_SOURCES: Removed dis-asm.h, ppc-dis.c, ppc-opc.c and
14251 2006-01-09 19:21 twisti
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.
14259 2006-01-09 16:37 twisti
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.
14267 2006-01-09 16:36 twisti
14269 * WITH_BINUTILS_DISASSEMBLER: Added, define DISASS_OBJ.
14270 * noinst_LTLIBRARIES: Added DISASS_OBJ.
14272 2006-01-09 16:30 twisti
14274 * This file contains the common functions required when we use the
14278 2006-01-09 16:29 twisti
14280 * WITH_BINUTILS_DISASSEMBLER: Added.
14281 * disass_printf: Added.
14283 2006-01-09 16:26 twisti
14285 * WITH_BINUTILS_DISASSEMBLER: Added.
14287 2006-01-09 12:12 twisti
14289 * Removed, we now link against libbfd and libopcodes.
14291 2006-01-09 12:10 twisti
14293 * libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c.
14295 2006-01-09 10:37 twisti
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.
14301 2006-01-09 10:35 twisti
14303 * Removed, we now link against libbfd and libopcodes.
14304 * libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c, we now link
14306 libbfd and libopcodes.
14308 2006-01-08 23:37 twisti
14310 * Updated from GNU Classpath:
14312 2005-12-17 Guilhem Lavaux <guilhem@kaffe.org>
14314 * native/fdlibm/fdlibm.h
14315 (isnan): Define explicitly isnan if it is not a macro.
14317 2006-01-08 23:00 twisti
14319 * loader_load_all_classes: Print exception when loading failed.
14321 2006-01-08 22:38 twisti
14323 * SUCK_xx_xx: We can only optimize little endian loads on i386 and
14325 machines. All others have problems with alignment.
14327 2006-01-08 22:12 twisti
14329 * Ignore *.class files.
14331 2006-01-08 22:11 twisti
14333 * java-assert.h: Unused, removed.
14335 2006-01-08 22:01 twisti
14337 * Added VM interface change to be consistent:
14339 2005-11-13 Archie Cobbs <archie@dellroad.org>
14341 * vm/reference/gnu/classpath/VMStackWalker.java (getClassLoader()):
14342 added to fix an infinite loop bug.
14343 * NEWS: note VM interface change.
14345 2006-01-08 21:32 twisti
14347 * suck_add: Check for lce != NULL before adding it to the list, since
14348 zip_open can return NULL.
14350 2006-01-08 19:14 twisti
14354 2006-01-08 19:13 twisti
14356 * SOURCE_FILES: Added.
14358 * checkall: Renamed to check.
14360 2006-01-08 19:12 twisti
14362 * Use $(mkdir_p), $(JAVAC) and $(ZIP) variables.
14364 2006-01-08 19:11 twisti
14366 * AM_PROG_MKDIR_P: Added.
14367 * Added headers checks for ansidecl.h, bfd.h, and symcat.h if we have
14369 * AC_PROG_JAVAC: Added.
14370 * AC_PATH_PROG: Added check for zip.
14372 2006-01-08 19:09 twisti
14374 * Macros to check for a Java compiler, taken from
14375 http://ac-archive.sourceforge.net/.
14377 2006-01-04 09:35 twisti
14379 * Removed src/toolbox/avl.[ch] copyright.
14381 2006-01-04 09:34 twisti
14383 * avl_dump: Only print node->data.
14385 2006-01-03 23:46 twisti
14387 * Use new avl tree code.
14390 2006-01-03 23:44 twisti
14392 * exit_handler: Removed print_dynamic_super_statistics.
14393 * print_stats: Added print_dynamic_super_statistics.
14395 2006-01-03 23:43 twisti
14397 * threads.h: Added.
14398 * builtin.h: Likewise.
14400 2006-01-03 23:08 twisti
14402 * CallNonvirtualBooleanMethodA: Added missing ;.
14404 2006-01-03 23:05 twisti
14406 * ENABLE_STATISTICS: Fixed typo.
14408 2006-01-02 21:01 christian
14412 2006-01-02 17:13 twisti
14414 * nregdescint, nregdescfloat: Moved to md-abi.c.
14416 2006-01-02 17:12 twisti
14418 * nregdescint, nregdescfloat: Added.
14420 2006-01-02 17:11 twisti
14422 * noinst_HEADERS: Removed md-abi.inc.
14424 2006-01-02 16:40 twisti
14426 * signal_handler_sigsegv: Replaced functionptr with u1*.
14428 2006-01-02 16:18 twisti
14430 * nregdescint, nregdescfloat: Moved to md-abi.c.
14432 2006-01-02 16:17 twisti
14434 * nregdescint, nregdescfloat: Added.
14435 * noinst_HEADERS: Removed md-abi.inc.
14437 2006-01-02 16:12 twisti
14439 * INCLUDES: Added OS_DIR, some archs have their md-abi.* files in the
14443 2006-01-02 16:08 christian
14445 *** empty log message ***
14447 2006-01-02 16:04 twisti
14449 * nregdescint, nregdescfloat: Moved to md-abi.c.
14451 2006-01-02 16:03 twisti
14453 * nregdescint, nregdescfloat: Added.
14454 * noinst_HEADERS: Removed md-abi.inc.
14456 2006-01-02 14:32 christian
14458 Removed old debug message
14460 2006-01-02 14:26 twisti
14462 * md-abi.inc: Removed.
14464 2006-01-02 14:25 twisti
14466 * nregdescint, nregdescfloat: Moved to md-abi.c.
14468 2006-01-02 14:24 twisti
14470 * nregdescint, nregdescfloat: Added.
14471 * noinst_HEADERS: Removed md-abi.inc.
14473 2006-01-02 14:11 christian
14475 Corrected \"\" to \<\> for system header include
14477 2006-01-02 14:07 twisti
14479 * nregdescint, nregdescfloat: Moved to md-abi.c.
14480 * noinst_HEADERS: Removed md-abi.inc.
14482 2006-01-02 14:06 twisti
14484 * nregdescint, nregdescfloat: Added.
14485 * disassinstr: Some code improvement.
14487 2006-01-02 14:05 twisti
14489 * md-abi.inc: Removed.
14491 2006-01-02 13:05 christian
14493 Changed register allocator .inc to .c files and moved them to
14494 src/vm/jit/allocator
14496 2006-01-02 12:59 christian
14498 Changed register allocator .inc to .c files and moved them to
14499 src/vm/jit/allocator
14501 2006-01-02 12:22 twisti
14503 * Fixed result message for debug.
14505 2006-01-02 12:10 twisti
14509 2006-01-02 12:04 twisti
14511 * Added ltdl.h check.
14513 2006-01-02 11:34 twisti
14515 * Fixed ltdl.h include path.
14517 2006-01-02 01:34 twisti
14519 * Fixed ltdl.h include path.
14521 2006-01-02 01:15 twisti
14523 * I don't think we really need them, but they are still in Attic.
14525 2006-01-02 01:10 twisti
14527 * Generated changelog for 2005.
14529 2006-01-02 01:05 twisti
14531 * unzip.[ch], libffi, libltdl: Removed.
14533 2006-01-01 21:53 twisti
14537 2006-01-01 21:38 twisti
14539 * We now use the system libltdl.
14541 2006-01-01 21:32 twisti
14543 * Changed text of kaffe's stuff, dalibor pointed this out.
14545 2006-01-01 21:29 twisti
14547 * AC_LIBLTDL_CONVENIENCE, AC_SUBST(LIBLTDL): Removed.
14548 * AC_COMPILE_CHECK_SIZEOF: Replaced with AC_CHECK_SIZEOF.
14550 2006-01-01 21:22 twisti
14552 * m4 macros have a different copyright header.
14554 2006-01-01 21:13 twisti
14556 * Lists all third party software we use. This list contains all
14558 used in 0.93. Stuff that has been ripped will be deleted after that
14559 commit, this is for the records.
14561 2006-01-01 20:55 twisti
14565 2006-01-01 19:39 twisti
14567 * Removed libltdlc.la.
14568 * DIST_SUBDIRS: Removed libltdl.
14569 * SUBDIRS: Likewise.
14571 2006-01-01 19:38 twisti
14573 * Added libltdl check.
14574 * AC_CONFIG_SUBDIRS: Removed src/libltdl.
14576 2006-01-01 18:39 twisti
14578 * libarch_la_SOURCES: Removed symcat.h.
14580 2006-01-01 18:34 twisti
14584 2006-01-01 18:33 twisti
14586 * libarch_la_SOURCES: Removed symcat.h.
14588 2006-01-01 18:30 twisti
14590 * generic_symbol_at_address: Print only 8 bytes.
14592 2006-01-01 18:21 twisti
14595 * generic_symbol_at_address: Added, they were implemented in dis-buf.c
14597 * generic_print_address: Likewise.
14598 * perror_memory: Likewise.
14600 2006-01-01 18:20 twisti
14602 * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c.
14603 * config.h, vm/jit/codegen-common.h: Added.
14605 2006-01-01 16:40 twisti
14607 * Changed include to use system headers.
14609 2006-01-01 16:39 twisti
14612 * generic_symbol_at_address: Added, they were implemented in dis-buf.c
14614 * generic_print_address: Likewise.
14615 * perror_memory: Likewise.
14617 2006-01-01 16:37 twisti
14619 * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c.
14621 2006-01-01 16:35 twisti
14623 * DEC OSF cc only defines __alpha.
14625 2006-01-01 16:34 twisti
14627 * class_resolvefield: Renamed except to throwexception since some
14629 have a builtin except macro (like DEC OSF cc).
14630 * class_resolveclassmethod: Likewise.
14631 * class_resolveinterfacemethod: Likewise.
14633 2006-01-01 16:31 twisti
14635 * zip_open: Handle compiler error with DEC OSF's cc.