3 * src/vm/jit/inline/inline.c (test_inlining): Deactivated typechecking
6 2006-12-28 21:21 twisti
8 * src/vm/jit/alpha/disass.c (regs): Removed.
9 * src/vm/jit/alpha/md-abi.c (regs): Added.
11 2006-12-28 20:56 twisti
13 * src/vm/jit/i386/disass.c (regs): Removed.
14 * src/vm/jit/i386/md-abi.c (regs): Added.
16 2006-12-28 20:50 twisti
18 * src/vm/jit/x86_64/disass.c (regs): Removed.
19 * src/vm/jit/x86_64/md-abi.c (regs): Added.
21 2006-12-28 15:38 twisti
23 * src/native/include/Makefile.am (NO_GEN_JAVASE_HEADER_FILES): Removed
25 (JAVASE_HEADER_FILES): Added java_lang_Object.h.
26 * src/native/include/.cvsignore: Likewise.
27 * src/native/include/java_lang_VMObject.h: Removed.
29 2006-12-28 13:43 twisti
31 * tests/regression/Makefile.am,
32 tests/regression/codepatching/Makefile.am,
33 tests/regression/jasmin/Makefile.am,
34 tests/regression/native/Makefile.am (JAVAFLAGS) [WITH_CLASSPATH_GNU]:
35 Set differently for GNU Classpath.
37 2006-12-28 12:30 twisti
39 * src/mm/memory.c (memory_mmap_anon): Fixed indentation and a debug
41 * src/vm/signal.c (signal_init): Removed unused variable.
43 2006-12-28 11:57 twisti
45 * src/fdlibm/fdlibm.h (exception): Commented since it was already
47 IRIX (don't know where).
49 2006-12-28 00:19 twisti
51 * src/threads/native/threads.c (threads_attach_current_thread): Fixed
53 (threads_detach_thread): Likewise.
54 (threads_find_non_daemon_thread): Fixed bug, we returned the wrong
57 2006-12-27 23:54 twisti
59 * src/threads/native/threads.c (threads_init): Fixed another typo.
61 2006-12-27 23:42 twisti
63 * src/threads/native/threads.c (threads_init): Fixed typo.
65 * src/native/jni.c (native/include/java_lang_ClassLoader.h): Added.
66 * src/native/vm/gnu/java_lang_VMRuntime.c: Likewise.
68 2006-12-27 23:15 twisti
70 * src/vm/class.c [ENABLE_JAVASE] (arrayclass_java_lang_Object): Added
72 * src/vm/class.h: Likewise.
74 * src/vm/loader.c: Java ME changes.
76 * src/vm/finalizer.c (finalizer_start_thread): Set flags.
77 * src/vm/jit/optimizing/recompile.c (recompile_start_thread):
80 * src/vm/jit/stacktrace.c [ENABLE_JAVASE] (stacktrace_getStack): Added
83 * src/vm/jit/codegen-common.c (codegen_start_native_call)
84 [ENABLE_JAVASE]: #ifdef'ed the local references table stuff (maybe we
85 need to change that for cacao-gc).
86 (codegen_finish_native_call): Likewise.
88 * src/vm/exceptions.c (exceptions_asm_new_abstractmethoderror)
89 [!ENABLE_JAVASE]: In the meantime we throw a VirtualMachineError.
90 * src/vm/exceptions.h: Likewise.
92 * src/vm/linker.c: Java ME changes.
94 * src/native/native.c: Likewise.
95 * src/native/native.h: Likewise.
97 * src/threads/native/threads.h (THREAD_FLAG_DAEMON): Added.
98 (threadobject): Changed flags to u4.
99 * src/threads/native/threads.c: A lot of Java ME changes.
101 2006-12-27 23:05 twisti
103 * src/vm/jit/powerpc/emit.c (emit_verbosecall_enter) [!NDEBUG]: We
104 also define the function with NDEBUG, but empty.
105 (emit_verbosecall_exit): Likewise.
106 * src/vm/jit/powerpc/codegen.c (codegen): Removed
107 JITDATA_HAS_FLAG_VERBOSECALL from emit_verbosecall calls.
109 2006-12-27 23:00 twisti
111 * src/vm/properties.c (properties_init) [ENABLE_JAVAME_CLDC1_1]: Set
112 values as Sun's JVM does.
114 2006-12-27 22:39 twisti
116 * src/vm/jit/stacktrace.c: Java ME changes.
117 * src/vm/jit/stacktrace.h: Likewise.
119 2006-12-27 22:31 twisti
121 * tests/regression/Makefile.am: Renamed CLASSPATH_GLIBJ_ZIP to
123 * tests/regression/codepatching/Makefile.am: Likewise.
124 * tests/regression/jasmin/Makefile.am: Likewise.
125 * tests/regression/native/Makefile.am: Likewise.
127 2006-12-27 21:13 ajordan
129 * src/vm/jit/sparc64/asmpart.S: Some fixes for exception handling.
130 * src/vm/jit/sparc64/codegen.c: Likewise.
132 2006-12-27 15:22 twisti
134 * contrib/setenvinstalled.in: Renamed CLASSPATH_GLIBJ_ZIP to
136 * contrib/setenvsource.in: Likewise.
138 2006-12-27 15:15 twisti
140 * src/vm/class.c: Java ME changes.
141 * src/vm/class.h: Likewise.
142 * src/vm/exceptions.c: Likewise.
143 (exceptions_new_virtualmachineerror): New function.
144 (exceptions_throw_virtualmachineerror):
145 * src/vm/exceptions.h: Likewise.
146 * src/vm/resolve.c: Likewise.
147 * src/vm/utf8.c: Likewise.
148 * src/vm/utf8.h: Likewise.
149 * src/cacaoh/headers.c: Likewise.
151 2006-12-27 13:56 twisti
153 * configure.ac (--with-classpath-glibj-zip): Renamed to
154 --with-classpath-classes.
156 * m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Renamed CLASSPATH_GLIBJ_ZIP to
159 * src/Makefile.am (VM_DIR): Added.
160 (SUBDIRS): Use VM_DIR.
162 * src/native/include/Makefile.am [WITH_CLASSPATH_GNU] (CLASSPATH): Set
163 differently for non-gnu classpaths.
165 * src/cacaoh/cacaoh.c (main) [WITH_CLASSPATH_GNU]: Likewise.
166 * src/vm/vm.c (vm_create): Likewise.
168 2006-12-27 00:08 twisti
170 * src/fdlibm/fdlibm.h [!MAXFLOAT] (MAXFLOAT): Only define if not
172 * src/fdlibm/k_tan.c: Commented pragma.
174 2006-12-26 23:42 twisti
176 * src/vm/resolve.h (vm/class.h): Added.
177 (vm/method.h): Likewise.
179 2006-12-26 23:41 twisti
181 * src/vm/exceptions.c (native/jni.h): Added.
182 (exceptions_init): Java ME changes.
183 (exceptions_print_exception): Likewise.
184 * src/vm/exceptions.h (native/jni.h): Added.
186 2006-12-26 23:39 twisti
188 * src/vm/properties.c [ENABLE_JAVASE]
189 (native/include/java_util_Properties.h): Include conditionally.
190 * src/vm/properties.h: Likewise.
192 2006-12-26 23:34 twisti
194 * src/native/include/Makefile.am (CLEANFILES): Added
195 JAVASE_HEADER_FILES and JAVAME_CLDC1_1_HEADER_FILES.
196 (cleanall): New target to clean all header files.
198 2006-12-26 23:26 twisti
200 * src/native/include/Makefile.am: Java ME changes.
201 * src/native/include/.cvsignore: Likewise.
203 2006-12-26 23:21 twisti
205 * src/native/Makefile.am [ENABLE_JAVASE] (JNI_SOURCES): Added.
206 (libnative_la_SOURCES): Added JNI_SOURCES.
208 2006-12-26 23:16 twisti
210 * configure.ac (--with-classpath): Added cldc1.1 target.
211 (AC_CONFIG_FILES): Added src/native/vm/cldc1.1/Makefile.
213 2006-12-26 23:14 twisti
215 * src/native/vm/java_lang_Thread.h,
216 src/native/vm/java_lang_Class.c,
217 src/native/vm/java_lang_Object.c,
218 src/native/vm/java_lang_Thread.c,
219 src/native/vm/java_lang_Class.h,
220 src/native/vm/java_lang_Object.h: Java ME changes.
222 2006-12-26 23:13 twisti
224 * src/native/vm/Makefile.am (DIST_SUBDIRS): Added cldc1.1.
225 (NATIVEVM_LIB): Renamed to libnativevmcore.
226 * src/native/vm/gnu/Makefile.am (noinst_LTLIBRARIES): Likewise.
227 (libnativevmgnu_la_SOURCES): Renamed to libnativevmcore_la_SOURCES.
229 2006-12-26 23:09 twisti
231 * src/native/vm/cldc1.1/.cvsignore: Added.
232 * src/native/vm/cldc1.1/com_sun_cldchi_io_ConsoleOutputStream.c,
233 src/native/vm/cldc1.1/java_lang_Runtime.c,
234 src/native/vm/cldc1.1/java_lang_System.c,
235 src/native/vm/cldc1.1/java_lang_Class.c,
236 src/native/vm/cldc1.1/java_lang_Float.c,
237 src/native/vm/cldc1.1/java_lang_Object.c,
238 src/native/vm/cldc1.1/java_lang_String.c,
239 src/native/vm/cldc1.1/Makefile.am,
240 src/native/vm/cldc1.1/java_lang_Thread.c,
241 src/native/vm/cldc1.1/java_lang_Throwable.c,
242 src/native/vm/cldc1.1/java_lang_Math.c,
243 src/native/vm/cldc1.1/java_lang_Double.c: New file.
245 2006-12-26 23:05 twisti
247 * src/fdlibm/Makefile.am [ENABLE_JAVAME_CLDC1_1]
248 (libfdlibm_la_SOURCES): Added the following files.
250 * src/fdlibm/k_cos.c,
253 src/fdlibm/s_floor.c,
258 src/fdlibm/e_rem_pio2.c,
259 src/fdlibm/k_rem_pio2.c,
261 src/fdlibm/e_sqrt.c: New file.
263 2006-12-26 22:33 twisti
265 * src/fdlibm/s_finite.c,
271 src/fdlibm/s_copysign.c: Updated from GNU Classpath.
273 2006-12-26 19:56 twisti
275 * src/threads/native/threads.c: Rewritten such that threadobject
276 extends a java.lang.Thread object instead of java.lang.VMThread.
277 * src/threads/native/threads.h: Likewise.
279 * src/vm/finalizer.c (finalizer_vmthread): Renamed to thread_finalizer
280 and changed type to threadobject*.
281 (lock_finalizer_thread): Renamed to lock_thread_finalizer.
282 (finalizer_init): Changed variable names.
283 (finalizer_start_thread): Thread-code changes.
285 * src/vm/jit/optimizing/recompile.c (recompile_vmthread): Renamed to
286 thread_recompile and changed type to threadobject*.
287 (lock_recompile_thread): Renamed to lock_thread_recompile.
288 (recompile_init): Changed variable names.
289 (recompile_thread): Likewise.
290 (recompile_queue_method): Likewise.
291 (recompile_start_thread): Thread-code changes.
293 * src/vm/utf8.c (utf_addThread): Added.
294 * src/vm/utf8.h: Likewise.
296 * src/lib/vm/reference/java/lang/VMThread.java (create): Set vmThread
297 before calling start.
299 * src/native/vm/gnu/java_lang_VMThread.c: Call _Jv_java_lang_Thread
302 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
303 java_lang_Thread.[ch].
304 * src/native/vm/java_lang_Thread.c: New file.
305 * src/native/vm/java_lang_Thread.h: Likewise.
307 2006-12-26 19:41 twisti
309 * src/vm/annotation.c
310 (annotation_load_attribute_runtimevisibleannotations): Renamed aev to
313 2006-12-26 19:40 twisti
315 * src/native/include/java_lang_Thread.h: Updated to current GNU
317 * src/native/include/java_lang_VMThread.h: Likewise.
319 2006-12-26 19:30 twisti
321 * src/threads/native/lock.c (lock_wait_for_object): Renamed t to
323 (lock_notify_object): Likewise.
324 (lock_notify_all_object): Likewise.
326 2006-12-23 23:52 twisti
328 * configure.ac (--with-classpath): Added.
330 2006-12-21 15:59 twisti
332 * src/native/vm/java_lang_Object.c (wait): Removed debugging output.
334 2006-12-21 15:56 twisti
336 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
337 java_lang_Class.h and java_lang_Object.[ch].
339 * src/native/vm/java_lang_Object.c: New file.
340 * src/native/vm/java_lang_Object.h: Likewise.
342 * src/native/vm/gnu/java_lang_VMObject.c: Call _Jv_java_lang_Object
345 2006-12-19 19:20 twisti
347 * src/mm/memory.c (memory_mmap_anon): New function.
348 (memory_cnew): Use memory_mmap_anon.
349 * src/mm/memory.h (memory_mmap_anon): Added.
350 * src/vm/signal.c (signal_init): Use memory_mmap_anon.
352 2006-12-19 19:12 twisti
354 * src/native/vm/java_lang_Class.h
355 (_Jv_java_lang_Class_getEnclosingConstructor): Removed #if 0.
357 2006-12-18 18:21 twisti
359 * src/vm/class.c (vm/suck.h): Added.
360 (class_load_attribute_sourcefile): New function.
361 (class_load_attribute_enclosingmethod): Likewise.
362 (class_load_attributes): Likewise.
364 * src/vm/loader.c [ENABLE_JAVASE] (vm/annotation.h, vm/stackmap.h):
366 (skipattributebody): Renamed to loader_skip_attribute_body, made
368 (skipattributes): Removed.
369 (loader_load_attribute_signature): New function.
370 (load_field): Use loader_load_attribute_signature.
371 (load_method): Renamed to loader_load_method, call
372 stackmap_load_attribute_stackmaptable and
373 loader_load_attribute_signature.
374 (load_attributes): Removed.
375 (load_class_from_classbuffer): Renamed load_method to
376 loader_load_method and load_attributes to class_load_attributes.
377 * src/vm/loader.h (loader_skip_attribute_body): Added.
378 [ENABLE_JAVASE] (loader_load_attribute_signature): Likewise.
380 * src/vm/method.h [ENABLE_JAVASE] (vm/stackmap.h): Added.
381 (methodinfo) [ENABLE_JAVASE]: Added signature and stack_map.
383 * src/vm/statistics.c (size_stack_map): Added.
384 (print_stats): Print stack_map size.
385 * src/vm/statistics.h (size_stack_map): Likewise.
387 * src/vm/global.h (JAVA_VERSION): Changed to "1.5.0".
388 (CLASS_VERSION): Changed to "50.0".
389 (MAJOR_VERSION): Changed to 50.
391 * src/vm/utf8.c [ENABLE_JAVASE] (utf_EnclosingMethod)
392 (utf_RuntimeVisibleAnnotations, utf_StackMapTable): Added.
393 (utf8_init) [ENABLE_JAVASE]: Init utf_EnclosingMethod,
394 utf_RuntimeVisibleAnnotations and utf_StackMapTable.
395 * src/vm/utf8.h [ENABLE_JAVASE] (utf_EnclosingMethod)
396 (utf_RuntimeVisibleAnnotations, utf_StackMapTable): Added.
398 * src/vm/properties.c (properties_init): Changed
399 java.specification.version to 1.5.
401 * src/vm/Makefile.am [ENABLE_JAVASE] (ANNOTATION_OBJ): Renamed to
403 [ENABLE_JAVASE] (STACKMAP_SOURCES): Added.
404 [ENABLE_STATISTICS] (STATISTICS_OBJ): Renamed to STATISTICS_SOURCES.
405 (libvmcore_la_SOURCES): Added STACKMAP_SOURCES.
406 * src/vm/stackmap.c: New file.
407 * src/vm/stackmap.h: Likewise.
409 2006-12-18 18:04 twisti
411 * src/native/vm/gnu/.cvsignore: New file.
413 2006-12-18 17:36 twisti
415 * src/vm/class.h (vm/loader.h): Added.
416 (classinfo): Added enclosingclass and enclosingmethod.
418 * configure.ac (AC_CONFIG_FILES): Added src/native/vm/gnu/Makefile.
420 * src/native/native.c (native_class_getname): Removed.
421 * src/native/native.h: Likewise.
423 * src/native/vm/Makefile.am
425 * src/native/vm/java_lang_Class.c: New file, contains the
426 implementation for java.lang.Class functions.
427 * src/native/vm/java_lang_Class.h: Likewise.
429 * src/native/vm/java_security_VMAccessController.c,
430 src/native/vm/VMjdwp.c,
431 src/native/vm/java_lang_VMClass.c,
432 src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c,
433 src/native/vm/java_lang_VMThread.c,
434 src/native/vm/VMjdwp.h,
435 src/native/vm/gnu_classpath_jdwp_VMVirtualMachine.c,
436 src/native/vm/gnu_classpath_jdwp_VMMethod.c,
437 src/native/vm/java_lang_VMRuntime.c,
438 src/native/vm/java_lang_reflect_Field.c,
439 src/native/vm/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c,
440 src/native/vm/java_lang_VMThrowable.c,
441 src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c,
442 src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c,
443 src/native/vm/java_lang_VMClassLoader.c,
444 src/native/vm/java_lang_management_VMManagementFactory.c,
445 src/native/vm/java_lang_VMString.c,
446 src/native/vm/java_lang_VMObject.c,
447 src/native/vm/gnu_classpath_VMSystemProperties.c,
448 src/native/vm/sun_misc_Unsafe.c,
449 src/native/vm/java_lang_reflect_Method.c,
450 src/native/vm/gnu_classpath_VMStackWalker.c,
451 src/native/vm/java_lang_VMSystem.c,
452 src/native/vm/java_lang_reflect_VMProxy.c,
453 src/native/vm/java_lang_reflect_Constructor.c,
454 src/native/vm/gnu_classpath_jdwp_VMFrame.c: Moved to
457 * src/native/vm/gnu/gnu_java_lang_management_VMThreadMXBeanImpl.c,
458 src/native/vm/gnu/gnu_java_lang_management_VMMemoryMXBeanImpl.c,
459 src/native/vm/gnu/java_security_VMAccessController.c,
460 src/native/vm/gnu/java_lang_VMClassLoader.c,
461 src/native/vm/gnu/java_lang_management_VMManagementFactory.c,
462 src/native/vm/gnu/VMjdwp.c,
463 src/native/vm/gnu/gnu_java_lang_management_VMRuntimeMXBeanImpl.c,
464 src/native/vm/gnu/java_lang_VMClass.c,
465 src/native/vm/gnu/java_lang_VMString.c,
466 src/native/vm/gnu/java_lang_VMObject.c,
467 src/native/vm/gnu/VMjdwp.h,
468 src/native/vm/gnu/java_lang_VMThread.c,
469 src/native/vm/gnu/gnu_classpath_jdwp_VMVirtualMachine.c,
470 src/native/vm/gnu/gnu_classpath_VMSystemProperties.c,
471 src/native/vm/gnu/sun_misc_Unsafe.c,
472 src/native/vm/gnu/gnu_classpath_jdwp_VMMethod.c,
473 src/native/vm/gnu/java_lang_reflect_Method.c,
474 src/native/vm/gnu/java_lang_VMRuntime.c,
475 src/native/vm/gnu/Makefile.am,
476 src/native/vm/gnu/java_lang_reflect_Field.c,
477 src/native/vm/gnu/gnu_classpath_VMStackWalker.c,
478 src/native/vm/gnu/java_lang_VMSystem.c,
479 src/native/vm/gnu/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c,
480 src/native/vm/gnu/java_lang_reflect_VMProxy.c,
481 src/native/vm/gnu/java_lang_reflect_Constructor.c,
482 src/native/vm/gnu/gnu_classpath_jdwp_VMFrame.c,
483 src/native/vm/gnu/java_lang_VMThrowable.c: Moved from src/native/vm.
485 2006-12-18 16:27 twisti
487 * src/vm/exceptions.c (exceptions_throw_internalerror): New function.
488 * src/vm/exceptions.h (exceptions_throw_internalerror): Added.
490 2006-12-16 22:53 edwin
492 * src/vm/jit/jit.c (jit_compile_intern): Perform inlining if
493 JITDATA_FLAG_INLINE is set.
495 * src/vm/jit/inline/inline.c: Put the result of inlining into
496 the passed jitdata, instead of using a new one. Do not translate
497 returnAddresses in javalocals. It makes no sense.
499 * src/vm/jit/i386/codegen.h (M_BS): New macro.
501 * src/vm/jit/replace.h (RPLPOINT_FLAG_COUNTDOWN): New constant.
502 (Preparation for count-down replacement).
504 * src/vm/jit/jit.h (JITDATA_FLAG_COUNTDOWN): New flag.
505 (JITDATA_HAS_FLAG_COUNTDOWN): New macro.
507 2006-12-16 21:16 edwin
509 * src/vm/jit/replace.c (replace_patch_class): New function.
510 (replace_patch_class_hierarchy): New function.
511 (replace_patch_future_calls): Fall back to iterating over all loaded
512 classes if the instance of a call is not known.
514 2006-12-16 21:14 edwin
516 * src/vm/classcache.c (classcache_foreach_loaded_class): New function.
518 * src/vm/classcache.h (classcache_foreach_loaded_class): Likewise.
519 (classcache_foreach_functionptr_t): New typedef.
521 2006-12-16 21:12 edwin
523 * src/vm/jit/replace.c (replace_read_executionstate): Fix: Initialize
524 the javalocaltype array for NDEBUG.
526 2006-12-16 21:11 edwin
528 * src/vm/jit/inline/inline.c: Relocate returnAddresses in javalocals
529 and in the s2 operand of ASTORE. Fix handling of in/out variables
532 * src/vm/jit/allocator/simplereg.c (simplereg_new_temp): Assert that
533 constants (currently only TYPE_RET) are not allocated.
534 (simplereg_new_free): Assert that constants (currently only TYPE_RET)
537 2006-12-16 20:59 edwin
539 * src/vm/jit/stack.c (stack_reanalyse_block): Zero line and flags of
542 2006-12-16 20:57 edwin
544 * src/vm/jit/replace.c: Prepared for native frames.
546 * src/vm/jit/replace.h: Likewise.
547 (REPLACEMENT_POINTS_RESET): Added.
549 2006-12-16 20:51 edwin
551 * src/vm/jit/intrp/intrp.h: #include codegen-common.h
553 2006-12-16 20:50 edwin
555 * src/vm/jit/inline/inline.c (create_body_block): Copy bitflags.
556 (test_inlining): Copy code->optlevel. This is a quick fix for a more
557 general problem: inline_inline should not swap the jitdata, but
560 (inline_inline_intern): Activated speculative inlining code.
562 2006-12-16 13:04 twisti
564 * src/vm/annotation.c
565 (annotation_load_attribute_runtimevisibleannotations): Extended
566 comment, removed #ifdef ENABLE_JAVASE.
568 2006-12-15 23:54 twisti
570 * autogen.sh: Check for automake-1.1x.
572 2006-12-15 23:53 twisti
574 * autogen.sh: Check for automake-1.1x.
576 2006-12-13 23:04 twisti
578 * src/vm/signal.c (errno.h): Added.
579 (unistd.h): Likewise.
580 (sys/mman.h): Likewise.
581 [__DARWIN__] (sys/types.h): Likewise.
582 (signal_init): mmap a page at 0x0.
584 2006-12-12 21:12 twisti
586 * src/vm/jit/powerpc/darwin/md-asm.h (replace_build_execution_state):
588 (replace_free_safestack): Likewise.
590 * src/vm/jit/powerpc/asmpart.S (L_replace_build_execution_state$stub):
592 (L_replace_free_safestack$stub): Likewise.
594 2006-12-11 23:29 twisti
596 * src/vm/jit/mips/mips/emit.c (emit_arithmetic_check): Added iptr and
597 check INSTRUCTION_MUST_CHECK.
598 (emit_arrayindexoutofbounds_check): Likewise.
599 (emit_arraystore_check): Likewise.
600 (emit_classcast_check): Likewise.
601 (emit_nullpointer_check): Likewise.
602 (emit_exception_check): Likewise.
603 (emit_patcher_stubs): Likewise.
605 * src/vm/jit/mips/mips/md.c (vm/exceptions.h): Added.
607 * src/vm/jit/mips/mips/codegen.c (codegen): Pass iptr to
608 exception-emit functions.
610 * src/vm/jit/mips/mips/irix/md-os.c (vm/jit/codegen-common.h): Added.
611 (md_signal_handler_sigsegv): Call codegen_get_pv_from_pc in
614 2006-12-11 20:31 twisti
616 * tests/regression/fp.output: Updated to classpath-0.93.
617 * tests/regression/fptest.output: Likewise.
619 2006-12-11 20:16 twisti
621 * src/vm/jit/parse.c (MULTIANEWARRAY): Set check-flag.
623 2006-12-11 19:55 twisti
625 * src/vm/jit/parse.c (CHECKCAST): Set check-flag.
626 [!SUPPORT_HARDWARE_DIVIDE_BY_ZERO] (IDIV, IREM, LDIV, LREM): Set
629 2006-12-11 19:43 twisti
631 * src/vm/signal.c (signal_init): Use SUPPORT_HARDWARE_DIVIDE_BY_ZERO.
632 * src/vm/signallocal.h: Likewise.
634 * src/vm/jit/alpha/arch.h (SUPPORT_HARDWARE_DIVIDE_BY_ZERO): Defined.
635 * src/vm/jit/i386/arch.h: Likewise.
636 * src/vm/jit/mips/arch.h: Likewise.
637 * src/vm/jit/powerpc/arch.h: Likewise.
638 * src/vm/jit/powerpc64/arch.h: Likewise.
639 * src/vm/jit/sparc64/arch.h: Likewise.
640 * src/vm/jit/x86_64/arch.h: Likewise.
642 2006-12-11 04:25 ajordan
644 * src/vm/jit/sparc64/asmpart.S: Fixed some exception handling.
646 * src/vm/jit/sparc64/patcher.c: Fixed order of patch words.
648 * src/vm/jit/sparc64/md.c: Disp mask in branch patch was wrong.
650 * src/vm/jit/sparc64/codegen.c: Put in ICMD_CHECKNULL.
652 2006-12-11 00:28 twisti
654 * src/native/vm/java_lang_reflect_Constructor.c (getSignature):
657 2006-12-10 23:20 twisti
659 * src/native/jni.h (_Jv_JavaVM): Renamed total_started_thread_count to
660 java_lang_management_ThreadMXBean_ThreadCount, added
661 java_lang_management_ThreadMXBean_PeakThreadCount,
662 java_lang_management_ThreadMXBean_TotalStartedThreadCount.
664 * src/vm/vm.c (vm_run): Set ThreadMXBean variables.
665 * src/threads/native/threads.c (threads_startup_thread): Likewise.
667 * src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c
668 (getPeakThreadCount): Implemented.
669 (getTotalStartedThreadCount): Use renamed variable.
670 (resetPeakThreadCount): Implemented.
672 2006-12-10 22:17 twisti
674 * src/vm/jit/powerpc/emit.c (emit_arrayindexoutofbounds_check): Added
675 iptr and check INSTRUCTION_MUST_CHECK.
676 (emit_nullpointer_check): Likewise.
678 * src/vm/jit/powerpc/codegen.c (codegen): Pass iptr to exception-emit
681 2006-12-10 22:07 twisti
683 * src/vm/jit/alpha/emit.c (emit_arithmetic_check): Added iptr and
684 check INSTRUCTION_MUST_CHECK.
685 (emit_arrayindexoutofbounds_check): Likewise.
686 (emit_classcast_check): Likewise.
687 (emit_nullpointer_check): Likewise.
689 * src/vm/jit/alpha/codegen.c (codegen): Pass iptr to exception-emit
692 2006-12-10 21:50 twisti
694 * src/vm/jit/x86_64/emit.c (emit_arithmetic_check): Added iptr and
695 check INSTRUCTION_MUST_CHECK.
696 (emit_arrayindexoutofbounds_check): Likewise.
697 (emit_classcast_check): Likewise.
698 (emit_nullpointer_check): Likewise.
700 * src/vm/jit/x86_64/codegen.c (codegen): Pass iptr to exception-emit
703 2006-12-10 21:35 twisti
705 * src/vm/jit/emit-common.c (emit_array_checks): Pass iptr to emit
708 * src/vm/jit/emit-common.h (emit_arithmetic_check): Added iptr.
709 (emit_arrayindexoutofbounds_check): Likewise.
710 (emit_arraystore_check): Likewise.
711 (emit_classcast_check): Likewise.
712 (emit_nullpointer_check): Likewise.
713 (emit_exception_check): Likewise.
715 * src/vm/jit/i386/emit.c (emit_arithmetic_check): Added iptr and check
716 INSTRUCTION_MUST_CHECK.
717 (emit_arrayindexoutofbounds_check): Likewise.
718 (emit_classcast_check): Likewise.
719 (emit_nullpointer_check): Likewise.
721 * src/vm/jit/i386/codegen.c (codegen): Pass iptr to exception-emit
724 2006-12-10 21:27 twisti
726 * src/vm/jit/parse.c (ICMD_CHECKNULL): Use OP_CHECK_EXCEPTION.
727 * src/vm/jit/parse.h (OP_CHECK_EXCEPTION): New macro.
729 2006-12-10 17:19 ajordan
731 * src/vm/jit/sparc64/codegen.h: Fixed float register mapping and
733 * src/vm/jit/sparc64/emit.c: Likewise.
735 * src/vm/jit/sparc64/md.c: Fixed branch backpatching, was off by one.
736 * src/vm/jit/sparc64/codegen.c: replaced codegen_addreference() with
737 codegen_add_branch_ref().
739 * src/vm/jit/sparc64/patcher.c: Tested and activated invokevirtual
742 2006-12-09 23:20 ajordan
744 * src/vm/jit/sparc64/codegen.h: Reworked float handling, single
745 precision floats are now stored in the upper half of the double pair.
747 * src/vm/jit/sparc64/codegen.c: Fixes for argument handling and
749 * src/vm/jit/sparc64/emit.c: Likewise.
750 * src/vm/jit/sparc64/md-abi.c: Likewise.
752 * src/vm/jit/sparc64/asmpart.S(asm_call_jit_compiler): Fixed float
755 2006-12-09 00:25 twisti
757 * src/vm/jit/powerpc/emit.c (emit_arrayindexoutofbounds_check):
758 Removed hardware-exception code.
760 2006-12-08 00:39 edwin
762 * src/vm/jit/jit.h (JITDATA_FLAG_INLINE): Added.
764 2006-12-08 00:20 edwin
766 * src/vm/jit/powerpc/codegen.c: Ported replacement.
768 2006-12-08 00:17 edwin
770 * src/vm/jit/i386/asmpart.S: Adapted to new execution state layout.
772 2006-12-08 00:16 edwin
774 * src/vm/jit/replace.h: Use a type union replace_val_t for all source
775 state values. Give the registers in the execution state meaningful
776 types. Properly convert float/double values.
777 * src/vm/jit/replace.c: Likewise.
779 * src/vm/jit/powerpc/asmpart.S: Adapted to new execution state layout.
780 * src/vm/jit/i386/asmpart.S: Likewise.
782 2006-12-08 00:07 edwin
784 * src/vm/jit/replace.c: Small cleanups.
786 2006-12-08 00:06 edwin
788 * src/vm/jit/replace.c: Implemented support for linkage area.
790 2006-12-08 00:04 edwin
792 * src/vm/jit/replace.c: Implement alpha-style stack frames (ra is at
793 top of frame, in leaf methods the ra register is used).
795 2006-12-07 23:59 edwin
797 * src/vm/jit/alpha/codegen.c (codegen): Fix: Put the
798 REPLACEMENT_POINT_INVOKE_RETURN macro in the right place.
800 2006-12-07 23:58 edwin
802 * src/vm/jit/alpha/codegen.c: Ported replacement.
804 2006-12-07 23:57 edwin
806 * src/vm/jit/x86_64/codegen.c: Ported replacement.
808 2006-12-07 23:54 edwin
810 * src/vm/jit/replace.h: Added macros for codegens.
812 * src/vm/jit/replace.c: Architecture-independent patching of future
813 calls. Use a safe stack area for the final phase of replacement.
815 * src/vm/jit/asmpart.h (asm_replacement_in): Got an additional
816 argument for the safe stack area.
818 * src/vm/jit/powerpc/asmpart.S: Ported.
819 * src/vm/jit/alpha/asmpart.S: Likewise.
820 * src/vm/jit/i386/asmpart.S: Likewise.
821 * src/vm/jit/x86_64/asmpart.S: Likewise.
823 2006-12-07 23:44 edwin
825 * src/vm/jit/replace.h (replace_safestack_t): Prepared declarations
826 for the safe stack area (not used, yet).
827 (sourceframe_t): Added from/to members.
829 * src/vm/jit/replace.c: Major refactoring.
831 2006-12-07 23:32 edwin
833 * src/vm/jit/replace.h (rplpoint): Removed members outcode, code,
834 mcode. Fixed bitwidth of regalloccount.
835 (replace_activate_replacement_points): Activate rplpoints per
837 (replace_deactivate_replacement_points): Deactivate --''--.
838 * src/vm/jit/replace.c: Likewise.
839 * src/vm/jit/jit.c: Likewise.
841 2006-12-07 23:17 edwin
843 * src/vm/jit/replace.h (rplpoint): Removed `target` member.
844 * src/vm/jit/replace.c: Likewise.
845 * src/vm/jit/jit.c: Likewise.
847 2006-12-07 23:13 edwin
849 * src/vm/jit/codegen-common.c (codegen_finish): Relocate
850 code->replacementstubs, do not use rplpoint.outcode.
852 2006-12-07 23:02 edwin
854 * src/vm/jit/powerpc/md.c (md_patch_replacement_point): Changed to use
855 an external array for saving machine code.
856 * src/vm/jit/sparc64/md.c: Likewise.
857 * src/vm/jit/alpha/md.c: Likewise.
858 * src/vm/jit/mips/md.c: Likewise.
859 * src/vm/jit/powerpc64/md.c: Likewise.
860 * src/vm/jit/i386/md.c: Likewise.
861 * src/vm/jit/x86_64/md.c: Likewise.
863 * src/vm/jit/replace.h (md_patch_replacement_point): Added arguments.
864 * src/vm/jit/replace.c: Likewise.
866 2006-12-07 22:48 edwin
868 * src/vm/jit/powerpc/md.c (md_patch_replacement_point): Deactivate
870 * src/vm/jit/alpha/md.c: Likewise.
872 2006-12-07 22:45 edwin
874 * src/vm/jit/powerpc/md.c (md_get_method_patch_address): Return NULL
875 if no mptr was specified and the call is dynamically dispatched.
876 * src/vm/jit/sparc64/md.c: Likewise.
877 * src/vm/jit/alpha/md.c: Likewise.
878 * src/vm/jit/mips/md.c: Likewise.
879 * src/vm/jit/i386/md.c: Likewise.
880 * src/vm/jit/powerpc64/md.c: Likewise.
881 * src/vm/jit/x86_64/md.c: Likewise.
883 2006-12-07 22:30 edwin
885 * src/vm/jit/mips/emit.c: #include <assert.h>
887 2006-12-07 22:29 edwin
889 * src/vm/jit/alpha/emit.c: #include <assert.h>
890 * src/vm/jit/x86_64/emit.c (emit_replacement_stubs): Ported.
892 2006-12-07 22:25 edwin
894 * src/vm/jit/powerpc/emit.c (emit_replacement_stubs): Prepared for
895 removal of rplpoint.mcode.
896 * src/vm/jit/alpha/emit.c: Likewise.
897 * src/vm/jit/mips/emit.c: Likewise.
898 * src/vm/jit/i386/emit.c: Likewise.
899 * src/vm/jit/x86_64/emit.c: Likewise.
901 2006-12-07 22:19 edwin
903 * src/vm/jit/powerpc/emit.c (emit_replacement_stubs): Do not
905 * src/vm/jit/alpha/emit.c: Likewise.
906 * src/vm/jit/mips/emit.c: Likewise.
907 * src/vm/jit/i386/emit.c: Likewise.
908 * src/vm/jit/x86_64/emit.c: Likewise.
910 2006-12-07 20:39 edwin
912 * src/vm/jit/code.c (code_find_codeinfo_for_pc): New function.
913 * src/vm/jit/code.h (codeinfo): Added codeinfo flags,
917 * src/vm/jit/jit.c (jit_invalidate_code): Use codeinfo flags.
918 (jit_get_current_code): Likewise.
920 2006-12-07 20:14 edwin
922 * src/vm/jit/powerpc/arch.h (REPLACEMENT_PATCH_SIZE): Added.
923 (REPLACEMENT_STUB_SIZE): Added.
924 * src/vm/jit/sparc64/arch.h: Likewise.
925 * src/vm/jit/alpha/arch.h: Likewise.
926 * src/vm/jit/mips/arch.h: Likewise.
927 * src/vm/jit/parisc/arch.h: Likewise.
928 * src/vm/jit/powerpc64/arch.h: Likewise.
929 * src/vm/jit/i386/arch.h: Likewise.
930 * src/vm/jit/x86_64/arch.h: Likewise.
932 2006-12-07 19:57 ajordan
934 * scr/vm/jit/sparc64/emit.c: Fixed M_XOR and iconst, lconst.
935 * src/vm/jit/sparc64/codegen.h: Likewise
937 * src/vm/jit/sparc64/codegen.c: Allocating (ABI defined) param array
938 on stack before builtin call.
940 2006-12-07 10:59 twisti
942 * src/vm/jit/x86_64/emit.c (vm/options.h): Added.
943 (emit_arithmetic_check): New function.
944 (emit_arrayindexoutofbounds_check): Likewise.
945 (emit_classcast_check): Likewise.
946 (emit_nullpointer_check): Likewise.
948 * src/vm/jit/x86_64/codegen.c (codegen): Use emit_*_check functions
949 for exception checks.
950 (IDIV, IREM, LDIV, LREM): Use emit_{load,store} functions.
952 * src/vm/jit/x86_64/codegen.h (gen_nullptr_check): Removed.
953 (gen_bound_check): Likewise.
954 (gen_resolvebranch): Likewise.
956 2006-12-06 22:15 twisti
958 * src/native/vm/java_lang_VMClass.c (forName): Throw NPE if null is
961 2006-12-06 10:49 twisti
963 * src/vm/jit/i386/emit.c (vm/options.h): Added.
964 (emit_arithmetic_check): New function.
965 (emit_arrayindexoutofbounds_check): Likewise.
966 (emit_classcast_check): Likewise.
967 (emit_nullpointer_check): Likewise.
969 * src/vm/jit/i386/codegen.c (codegen): Use emit_*_check functions for
972 * src/vm/jit/i386/codegen.h (gen_nullptr_check): Removed.
973 (gen_bound_check): Likewise.
975 2006-12-06 10:37 twisti
977 * src/vm/jit/emit-common.c [__ALPHA__ || __POWERPC__]
978 (emit_array_checks): Removed #ifdef's.
980 2006-12-06 09:53 twisti
982 * src/vm/jit/i386/emit.c (emit_verbosecall_enter): Check for
983 JITDATA_HAS_FLAG_VERBOSECALL.
984 (emit_verbosecall_exit): Likewise.
986 * src/vm/jit/i386/codegen.c (codegen): Removed
987 JITDATA_HAS_FLAG_VERBOSECALL check.
988 (createnativestub): Likewise.
990 2006-12-06 09:47 twisti
992 * src/vm/builtin.c [ENABLE_JIT] (builtintable_replace_function):
995 2006-12-05 23:58 ajordan
997 * src/vm/jit/sparc64/emit.c: stack bias used in emit_load and
1000 * src/vm/jit/sparc64/md.c (md_stacktrace_get_returnaddress): let it
1001 return the original ra (address of the call instruction).
1003 * src/vm/jit/sparc64/codegen.h: fixed M_RESTORE instruction.
1005 * src/vm/jit/sparc64/codegen.c: fixed datasp argument for
1006 codegen_finish_native_call.
1008 2006-12-05 21:10 twisti
1010 * src/vm/exceptions.h (EXCEPTION_LOAD_DISP_NULLPOINTER)
1011 (EXCEPTION_LOAD_DISP_ARITHMETIC)
1012 (EXCEPTION_LOAD_DISP_ARRAYINDEXOUTOFBOUNDS)
1013 (EXCEPTION_LOAD_DISP_CLASSCAST, EXCEPTION_LOAD_DISP_PATCHER): Defined.
1015 * src/vm/signal.c (signal_init): Removed checknull-check.
1017 * src/vm/jit/powerpc/emit.c (vm/exceptions.h): Added.
1018 (emit_arrayindexoutofbounds_check): Added hardware-exception version.
1020 * src/vm/jit/powerpc/darwin/md-os.c (md_signal_handler_sigsegv):
1021 Started to handle other hardware-exceptions.
1023 2006-12-04 23:48 twisti
1025 * src/vm/jit/x86_64/codegen.c (createcompilerstub): Don't generate a
1028 2006-12-04 23:39 twisti
1030 * src/vm/jit/powerpc64/codegen.c (createcompilerstub): Don't generate
1033 2006-12-04 23:36 twisti
1035 * src/vm/jit/powerpc64/linux/md-os.c (vm/jit/profile/profile.h):
1036 Changed to vm/jit/optimizing/profile.h.
1038 2006-12-04 23:30 twisti
1040 * src/vm/jit/alpha/codegen.c (createcompilerstub): Don't generate a
1043 2006-12-04 23:16 twisti
1045 * src/vm/jit/i386/codegen.c (createcompilerstub): Don't generate a
1048 2006-12-04 22:51 twisti
1050 * src/vm/jit/powerpc/codegen.c (createcompilerstub): Don't generate a
1053 2006-12-04 22:21 twisti
1055 * src/vm/jit/code.c (code_init): New function.
1056 * src/vm/jit/code.h (code_init): Added.
1057 * src/vm/jit/jit.c (jit_init): Added code_init call.
1059 2006-12-04 22:18 twisti
1061 * src/vm/jit/code.h (vm/global.h): Added.
1063 2006-12-04 14:46 ajordan
1065 * src/vm/jit/sparc64/codegen.h: updated code to new dseg functions.
1066 * src/vm/jit/sparc64/codegen.c: Likewise.
1067 * src/vm/jit/sparc64/emit.c: Likewise.
1069 2006-12-04 11:20 twisti
1071 * src/vm/vm.c (vm_create): Moved properties_postinit after jar-file
1072 handling. This fixes an eclipse bug found by mjw and neugens.
1074 2006-12-04 02:05 michi
1076 * src/mm/cacao-gc/compact.c: Now uses regioninfo; Added
1077 compact_thread_classes
1078 Fixed compact_move; Disabled some logging.
1079 * src/mm/cacao-gc/compact.h: Now uses regioninfo.
1081 2006-12-03 22:45 twisti
1083 * src/vm/vm.c (version): Print classpath variable.
1085 2006-12-03 17:55 michi
1087 * src/mm/cacao-gc/compact.c: Added.
1088 * src/mm/cacao-gc/compact.h: Added.
1090 2006-12-02 15:01 tbfg
1092 * configure.ac: Added m68k host_cpu support. Added uclinux host_os
1095 2006-12-02 14:54 tbfg
1097 * src/native/tools/gennativetable.c (main): Renamed nogc_init
1098 to gc_init in DISABLE_GC path.
1100 * src/native/Makefile.am: Introduced GENNATIVETABLE to
1101 make crosscompilation a friendlier experience. Rewrote
1102 rule for nativetable.inc accordingly.
1104 * src/threads/native/threads.c (threads_cast_stopworld) [!DISABLE_GC]:
1105 Depends on GC_signum1 and GC_signum2 which are undefined without
1107 (threads_cast_startworld): Likewise.
1108 (threads_sigsuspend_handler): Likewise.
1110 2006-12-02 12:22 twisti
1112 * src/vm/builtin.c (builtin_trace_args): Added missing + for
1113 logtextlen, thanks to --enable-memcheck.
1115 2006-12-01 16:51 twisti
1117 * src/vm/jit/x86_64/codegen.h (vm/jit/x86_64/emit.h): Added.
1119 2006-12-01 11:38 tbfg
1121 * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method):
1122 Fixed a bug in argument handling when using lwz instead
1123 of lwa zeroed out sign extension bits which lead to wrong
1124 int->string conversion in exception handling path.
1126 2006-11-29 22:33 edwin
1128 * tests/regression/jasmin/test_verify_fail_merge_init_nullpointer.j:
1131 * tests/regression/jasmin/test_verify_fail_init_nullpointer.j: Pass
1132 null pointer without merging.
1134 * tests/regression/jasmin/Makefile.am: Added new test.
1136 2006-11-29 20:44 twisti
1138 * src/vm/jit/dseg.h (jumpref, dataref, exceptionref, patchref)
1139 (linenumberref): Moved to codegen-common.h.
1140 * src/vm/jit/codegen-common.h: Likewise.
1142 2006-11-29 20:34 twisti
1144 * src/vm/jit/emit-common.c (emit_bc): Commented emit_branch call.
1146 2006-11-29 20:15 twisti
1148 * src/vm/jit/x86_64/emit.h (config.h): Added.
1149 (vm/jit/codegen-common.h): Likewise.
1150 (vm/jit/jit.h): Likewise.
1152 2006-11-29 17:08 twisti
1154 * src/vm/class.h [ENABLE_JAVASE] (vm/annotation.h): Added.
1155 [ENABLE_JAVASE] (classinfo): Added runtimevisibleannotationscount,
1156 runtimevisibleannotations.
1158 2006-11-29 17:04 twisti
1160 * src/vm/annotation.c: New file.
1161 * src/vm/annotation.h: Likewise.
1162 * src/vm/Makefile.am [ENABLE_JAVASE] (ANNOTATION_OBJ): Added.
1164 2006-11-29 17:00 twisti
1166 * src/vm/resolve.h (vm/field.h): Added.
1168 2006-11-28 22:36 twisti
1170 * src/vm/jit/emit-common.c (emit_bc): Temporary compile fix
1172 2006-11-28 22:32 twisti
1174 * src/vm/jit/i386/codegen.h (vm/jit/i386/emit.h): Added.
1176 2006-11-28 22:28 twisti
1178 * src/vm/statistics.c (count_branches_resolved)
1179 (count_branches_unresolved): New variable.
1180 (print_stats): Print new variables.
1182 * src/vm/statistics.h (count_branches_resolved)
1183 (count_branches_unresolved): Added.
1185 2006-11-28 22:25 twisti
1187 * src/vm/jit/emit-common.c (codegen.h): Added.
1188 (vm/options.h): Likewise.
1189 [ENABLE_STATISTICS] (vm/statistics.h): Likewise.
1190 (emit_bc): New function.
1191 (emit_br): Likewise.
1193 * src/vm/jit/emit-common.h (emit_branch): Added.
1195 2006-11-28 22:19 twisti
1197 * src/vm/jit/alpha/codegen.h (BRANCH_NOPS): Defined.
1198 * src/vm/jit/i386/codegen.h (BRANCH_NOPS, PATCHER_NOPS): Likewise.
1199 * src/vm/jit/mips/codegen.h (BRANCH_NOPS): Likewise.
1200 * src/vm/jit/powerpc/codegen.h (BRANCH_NOPS): Likewise.
1201 * src/vm/jit/powerpc64/codegen.h (BRANCH_NOPS, PATCHER_CALL_SIZE)
1202 (PATCHER_NOPS): Likewise.
1203 * src/vm/jit/x86_64/codegen.h (BRANCH_NOPS): Likewise.
1205 2006-11-28 22:04 twisti
1207 * src/vm/jit/dseg.c (dseg_get_linenumber_from_pc_intern):
1208 Short-circuit the common case.
1210 2006-11-28 21:50 twisti
1212 * src/native/tools/Makefile.am (GC_LIB): Removed.
1214 2006-11-28 19:58 twisti
1216 * src/vm/jit/emit-common.c (emit_beq, emit_bne, emit_blt, emit_bge)
1217 (emit_bgt, emit_ble, emit_bnan): New functions.
1218 * src/vm/jit/emit-common.h (emit_beq, emit_bne, emit_blt, emit_bge)
1219 (emit_bgt, emit_ble, emit_bnan): Added.
1221 * src/vm/jit/codegen-common.h (BRANCH_UNCONDITIONAL, BRANCH_EQ)
1222 (BRANCH_NE, BRANCH_LT, BRANCH_GE, BRANCH_GT, BRANCH_LE, BRANCH_NAN):
1225 2006-11-28 19:24 edwin
1228 tests/regression/jasmin/test_verify_fail_merge_different_new_objects.j:
1231 * tests/regression/jasmin/test_verify_fail_init_nullpointer.j:
1234 * tests/regression/jasmin/Makefile.am: Added new tests.
1235 * src/vm/jit/verify/typeinfo.c (typeinfo_merge_error): Moved debug
1236 print into #ifdef TYPEINFO_VERBOSE.
1238 2006-11-28 19:14 twisti
1240 * src/vm/jit/alpha/codegen.h (PATCHER_CALL_SIZE): Defined.
1242 2006-11-28 15:11 twisti
1244 * src/native/vm/java_lang_VMThrowable.c
1245 (native/include/java_lang_VMClass.h): Removed.
1246 (getStackTrace): Use native_class_getname.
1248 2006-11-28 01:07 ajordan
1250 * src/vm/jit/sparc64/asmpart.S: fixed asm_patcher_wrapper
1251 * src/vm/jit/sparc64/patcher.c: updated some patchers and the wrapper
1252 * src/vm/jit/sparc64/emit.c: likewise
1254 * src/vm/jit/sparc64/codegen.h: fixed M_BRACC
1256 * src/vm/jit/sparc64/codegen.c: added reg window workaround for arg
1258 some patch ref updates
1260 * src/vm/jit/sparc64/md.c: updated md_codegen_patch_branch()
1262 2006-11-27 20:05 twisti
1264 * src/vm/jit/powerpc/codegen.h (PATCHER_CALL_SIZE): Defined.
1266 2006-11-27 16:53 edwin
1268 * src/vm/jit/replace.c: Lazy patching of virtual methods. Cleanup.
1269 * src/vm/jit/replace.h: Likewise.
1271 2006-11-27 15:37 edwin
1273 * src/vm/jit/replace.h (sourceframe_t): Added normalized type
1274 of replacement point.
1276 * src/vm/jit/replace.c (replace_normalize_type_map): Added
1277 normalization table for replacement point types.
1278 (replace_read_executionstate): Set normalized type of rplpoint.
1279 (replace_find_replacement_point): Match normalized type of rplpoint.
1280 (replace_source_frame_println): Print it.
1282 2006-11-27 15:29 edwin
1284 * src/vm/jit/i386/codegen.c (codegen): set marker in line number table
1285 _after_ inlining prolog (This fixes the stacktrace for the CHECKNULL
1289 * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Document that
1290 it is now called with the INLINE_BODY instruction.
1292 2006-11-27 15:24 edwin
1294 * src/vm/jit/i386/codegen.cn (codegen): Use the new functions for
1295 setting replacement point addresses.
1297 2006-11-27 15:23 edwin
1299 * src/vm/jit/codegen-common.c (codegen_set_replacement_point_notrap):
1301 (codegen_set_replacement_point): Likewise.
1303 * src/vm/jit/codegen-common.h (codegendata): Added field
1305 (codegen_set_replacement_point_notrap): Added prototype.
1306 (codegen_set_replacement_point): Likewise.
1308 * src/vm/jit/replace.h (RPLPOINT_CHECK): New macro.
1309 (RPLPOINT_CHECK_BB): Likewise.
1311 2006-11-27 15:19 edwin
1313 * src/vm/jit/replace.c
1314 (replace_create_inline_start_replacement_point):
1316 (replace_create_replacement_points): Cleaned up.
1318 2006-11-27 15:15 edwin
1320 * src/vm/jit/stack.c (stack_javalocals_store): New function.
1321 * src/vm/jit/stack.h (stack_javalocals_store): Likewise.
1323 * src/vm/jit/inline/inline.c (inline_clone_instruction): Use
1324 stack_javalocals_store.
1326 * src/vm/jit/replace.c (replace_create_replacement_points): Use
1327 stack_javalocals_store. Other cleanups.
1329 2006-11-27 15:11 edwin
1331 * src/vm/jit/replace.c (replace_create_replacement_points): Create
1332 non-trappable replacement point for INLINE_BODY.
1334 * src/vm/jit/i386/codegen.c (codegen): Handle replacement point
1337 2006-11-27 15:06 edwin
1339 * src/vm/jit/replace.h (RPLPOINT_TYPE_BODY): Added.
1340 * src/vm/jit/replace.c: Likewise.
1342 2006-11-27 15:03 edwin
1344 * src/vm/jit/inline/inline.c (emit_inlining_prolog): Do not emit
1345 CHECKNULL in prolog for <init> methods.
1347 2006-11-27 15:02 edwin
1349 * src/vm/jit/inline/inline.c (emit_inlining_prolog): Emit INLINE_BODY
1350 instructions at end of prolog.
1352 2006-11-27 14:58 edwin
1354 * src/vm/jit/icmdtable.inc (INLINE_GOTO): Removed.
1355 (INLINE_BODY): Added. This instruction will mark the start of the
1356 inlined method body after the prolog.
1358 * src/vm/jit/jit.h: Likewise.
1360 * src/vm/jit/show.c (show_icmd): Likewise.
1362 * src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
1365 * src/vm/jit/i386/codegen.c (codegen): Likewise.
1367 * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Regenerated.
1369 2006-11-27 14:48 edwin
1371 * src/vm/jit/i386/emit.c (emit_memabs): Removed.
1372 (emit_alu_imm_memabs): Use emit_mem.
1374 2006-11-27 14:39 edwin
1376 * src/vm/jit/stack.c (stack_reanalyse_block): Removed bogus cases
1377 for INLINE_ instructions. They cannot occur here.
1378 (stack_analyse): Likewise.
1380 2006-11-27 14:37 michi
1382 * src/mm/gc-common.h: Added prototype for heap_init_objectheader.
1383 * src/vm/builtin.c (builtin_clone): Object header gets initiated
1386 2006-11-27 14:35 edwin
1388 * src/vm/jit/jit.c (jit_invalidate_code): Do not trap non-trappable
1390 (jit_request_optimization): New function.
1391 (jit_get_current_code): New function.
1393 * src/vm/jit/jit.h (jit_request_optimization): Added prototype.
1394 (jit_get_current_code): Likewise.
1396 * src/vm/jit/replace.h (RPLPOINT_FLAG_NOTRAP): New flag.
1398 * src/vm/jit/replace.c (replace_replacement_point_println): Prepared
1401 2006-11-27 14:27 edwin
1403 * src/vm/jit/jit.c (jit_invalidate_code): Do not activate RETURN
1404 rplpoints when invalidating code (they cannot be mapped to inlined
1405 versions of the code).
1407 2006-11-27 14:26 edwin
1409 * src/vm/jit/replace.c (replace_create_replacement_points): Some fixes
1412 2006-11-27 14:24 edwin
1414 * src/vm/jit/replace.c (replace_find_replacement_point): Match parent
1415 of replacement point.
1416 (replace_me): Keep parent of rplpoint around.
1418 2006-11-27 14:20 edwin
1420 * src/vm/jit/i386/emit.c (emit_memabs): New function.
1421 (emit_alu_imm_memabs): New function.
1423 * src/vm/jit/i386/emit.h (emit_alu_imm_memabs): Added prototype.
1425 * src/vm/jit/i386/codegen.h (M_ISUB_IMM_MEMABS): New macro.
1427 2006-11-25 16:32 michi
1429 * src/mm/cacao-gc/gc.h: Added.
1430 * src/mm/cacao-gc/gc.c: Debugging with gc_call. Added some
1432 Added gc_get_heap_size, gc_get_free_bytes, gc_get_total_bytes and
1433 gc_get_max_heap_size.
1435 2006-11-22 21:19 twisti
1437 * src/vm/jit/x86_64/codegen.c (codegen): Use new dseg_add_* functions,
1438 replaced codegen_addreference with codegen_add_branch_ref.
1439 (createnativestub): Likewise.
1440 * src/vm/jit/x86_64/emit.c (emit_patcher_stubs): Likewise.
1442 2006-11-22 20:24 twisti
1444 * src/vm/jit/stacktrace.c (linenumbertable_entry): Removed.
1445 (stacktrace_add_method_intern): Removed.
1446 (stacktrace_add_method): Call dseg_get_linenumber_from_pc.
1448 * src/vm/jit/dseg.c (vm/jit/methodheader.h): Added.
1449 (dseg_get_linenumber_from_pc_intern): New function.
1450 (dseg_get_linenumber_from_pc): Likewise.
1452 * src/vm/jit/dseg.h (linenumbertable_entry): Added.
1453 (dseg_get_linenumber_from_pc): Likewise.
1455 * src/vm/jit/show.c (show_method): Renamed u1ptr to pc.
1456 (show_basicblock): Use dseg_get_linenumber_from_pc to diplay line
1457 number in disassembly.
1459 2006-11-22 19:00 twisti
1461 * src/mm/gc-common.h [DISABLE_GC] (nogc_init, nogc_realloc): Removed.
1463 2006-11-22 18:22 edwin
1465 * src/vm/jit/x86_64/codegen.c (codegen): Do not generate code for
1467 storing a returnAddress, as 1) the store is dead, and 2) the dest.
1468 variable has no valid allocation.
1470 2006-11-22 18:20 edwin
1472 * src/vm/jit/sparc64/codegen.c (codegen): Do not generate code for
1474 storing a returnAddress, as 1) the store is dead, and 2) the dest.
1475 variable has no valid allocation.
1477 2006-11-22 18:18 edwin
1479 * src/vm/jit/powerpc64/codegen.c (codegen): Do not generate code for
1481 storing a returnAddress, as 1) the store is dead, and 2) the dest.
1482 variable has no valid allocation.
1484 2006-11-22 18:16 edwin
1486 * src/vm/jit/mips/codegen.c (codegen): Do not generate code for ASTORE
1487 storing a returnAddress, as 1) the store is dead, and 2) the dest.
1488 variable has no valid allocation.
1490 2006-11-22 18:12 edwin
1492 * src/vm/jit/i386/codegen.c (codegen): Do not generate code for ASTORE
1493 storing a returnAddress, as 1) the store is dead, and 2) the dest.
1494 variable has no valid allocation.
1496 2006-11-22 18:09 edwin
1498 * src/vm/jit/powerpc/codegen.c (codegen): Do not generate code for
1500 storing a returnAddress, as 1) the store is dead, and 2) the dest.
1501 variable has no valid allocation.
1503 2006-11-22 18:03 edwin
1505 * src/vm/jit/alpha/codegen.c (codegen): Do not generate code for
1507 storing a returnAddress, as 1) the store is dead, and 2) the dest.
1508 variable has no valid allocation.
1510 2006-11-22 11:05 twisti
1512 * configure.ac: Added *kfreebsd*-gnu.
1513 * src/vm/suck.c (scandir_filter) [_DIRENT_HAVE_D_NAMLEN]: Bugfix.
1515 2006-11-22 10:50 twisti
1517 * src/vm/jit/i386/codegen.c (codegen): Use new dseg_add_* functions.
1518 (createnativestub): Likewise.
1519 * src/vm/jit/i386/emit.c (emit_patcher_stubs): Likewise.
1521 2006-11-21 23:21 twisti
1523 * native.c (native_class_getname): New function.
1524 * native.h (native_class_getname): Added.
1525 * vm/java_lang_VMClass.c (getName): Use native_class_getname.
1527 2006-11-21 21:02 twisti
1529 * src/vm/builtin.c [DISABLE_GC] (builtin_idiv): Added.
1530 (builtin_f2i): Likewise.
1531 (builtin_d2i): Likewise.
1533 * src/vm/vm.c (vm_create): Removed nogc_init call.
1534 * src/cacaoh/cacaoh.c (main): Likewise.
1536 * src/mm/nogc.c (nogc_realloc): Removed.
1537 (nogc_init): Renamed to gc_init.
1539 (gc_get_total_bytes): Added.
1541 * src/mm/memory.h [DISABLE_GC] (NEW, FREE, MNEW, MFREE, MREALLOC):
1544 2006-11-21 16:56 michi
1546 * src/vm/loader.c (load_class_from_classbuffer) [ENABLE_GC_CACAO]:
1548 are no longer placed onto the heap.
1550 * src/vm/class.c (class_free) [ENABLE_GC_CACAO]: Fieldinfos are freed.
1552 2006-11-20 18:57 tbfg
1554 * src/vm/jit/powerpc64/codegen.c (codegen): Replace dseg_add*
1555 by dseg_add_* functions.
1557 * src/vm/jit/powerpc64/emit.c: Likewise.
1559 2006-11-20 16:18 twisti
1561 * src/vm/jit/dseg.h (dseg_adds4, dseg_adds8, dseg_addfloat)
1562 (dseg_adddouble, dseg_addaddress, dseg_addtarget): Removed.
1564 * src/vm/jit/alpha/codegen.c (codegen): Removed remaining old-dseg_add
1566 * src/vm/jit/alpha/emit.c (emit_iconst): Replaced dseg_adds4 with
1568 (emit_lconst): Replaced dseg_adds8 with dseg_add_s8.
1570 2006-11-20 14:18 michi
1572 * src/vm/global.h: Added hdrflags to java_objectheader for exact
1574 * src/threads/native/lock.c: Now uses hdrflags to store the FLC bit.
1576 2006-11-19 18:25 michi
1578 * src/mm/cacao-gc/Makefile.am: Added mark.c
1579 * src/mm/cacao-gc/mark.c: Added
1581 2006-11-19 15:40 edwin
1583 * src/vm/jit/replace.c: Only recompile if necessary. Count
1586 2006-11-19 15:39 edwin
1588 * src/vm/jit/replace.c: Added statistics code.
1590 2006-11-19 15:36 edwin
1592 * src/vm/jit/replace.c (replace_me): Only turn off replacement
1593 points for self-replacement. Warn in this case.
1595 2006-11-19 15:33 edwin
1597 * src/vm/jit/replace.c (replace_write_executionstate): Take
1598 synchronization slots from next frame for inline points.
1600 2006-11-19 15:28 edwin
1602 * src/vm/jit/replace.c: Handle and match returnAddress variables on
1605 2006-11-19 15:22 edwin
1607 * src/vm/jit/stack.c (stack_analyse): Keep TYPE_RET for variables
1608 of returnAddress type. Do not create interfaces for this type.
1609 Mark block variables of TYPE_RET as PREALLOC to avoid subsequent
1612 * src/vm/jit/icmdtable.inc (ASTORE): Added TYPE_RET (R--) variant.
1613 (JSR): Changed destination type to TYPE_RET (R).
1615 * src/vm/jit/verify/icmds.c (ICMD_RET): Check local for type
1618 * src/vm/jit/verify/typeinfo.h (TYPE_IS_RETURNADDRESS): Check type
1621 * src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
1622 * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Regenerated.
1624 2006-11-19 15:10 edwin
1626 * src/vm/jit/jit.c (jit_invalidate_code): Activate replacement points
1627 in reverse order. This avoid creating invalid code when rplpoints
1628 within a block overlap each other. It is not a complete solution for
1629 overlapping replacement points, however.
1631 2006-11-19 15:08 edwin
1633 * src/vm/jit/inline/inline.c (translate_javalocals): Adapted to
1634 returnAddress variables in javalocals.
1635 (inline_clone_instruction): Likewise.
1637 2006-11-19 15:04 edwin
1639 * src/vm/jit/stack.c (stack_mark_reached): Fix: Do not compare basic
1640 block addresses. Compare numbers instead.
1641 (stack_mark_reached_from_outvars): Likewise.
1643 2006-11-19 15:03 edwin
1645 * src/vm/jit/jit.h (INS_FLAG_CLASS): Comment that this flag is also
1646 used for PUTFIELDCONST and PUTSTATICCONST.
1648 * src/vm/jit/verify/icmds.c (ICMD_PUTFIELDCONST, ICMD_PUTSTATICCONST):
1649 Honor the INS_FLAG_CLASS flag and set the right type.
1651 * src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
1652 * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Regenerated.
1654 2006-11-19 14:56 edwin
1656 * src/vm/jit/stack.c (stack_analyse): Show state after last ICMD in
1658 (stack_verbose_show_block): Use show_javalocals_array.
1659 (stack_verbose_show_state): Likewise. Accept iptr == NULL.
1661 2006-11-19 14:51 edwin
1663 * src/vm/jit/replace.c (replace_source_frame_println): Fixed printing
1666 2006-11-19 14:50 edwin
1668 * src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
1669 Do not clear vv.regoff for ICMD_JSR (we need vv.retaddr later).
1671 2006-11-18 22:16 twisti
1673 * src/vm/properties.c (properties_add): Use unsynced functions of
1675 (properties_get): Likewise.
1677 2006-11-17 15:47 twisti
1679 * src/vm/properties.c (properties_add): Replace entry if it already
1682 2006-11-16 22:14 twisti
1684 * src/vm/builtin.c (native/native.h)
1685 (native/include/java_lang_Cloneable.h)
1686 (native/include/java_lang_Object.h)
1687 (native/include/java_lang_VMObject.h): Removed.
1688 (builtin_clone_array): Renamed to builtin_clone, reimplemented.
1690 * src/vm/builtin.h (builtin_clone_array): Renamed to builtin_clone.
1691 (BUILTIN_clone): Defined.
1693 * src/vm/loader.c (load_newly_created_array): Use BUILTIN_clone.
1695 * src/native/vm/java_lang_VMObject.c (clone): Removed implementation
1696 and call builtin_clone.
1698 2006-11-16 19:45 twisti
1700 * src/vm/class.h (classinfo): Typedef added.
1701 * src/vm/descriptor.h (typedesc): Likewise.
1702 (methoddesc): Likewise.
1703 * src/vm/field.h (fieldinfo): Likewise.
1704 * src/vm/method.h (methodinfo): Likewise.
1706 * src/vm/references.h (config.h, vm/types.h, vm/class.h)
1707 (vm/descriptor.h, vm/field.h, vm/method.h): Likewise.
1708 (classinfo, methodinfo, fieldinfo, typedesc, methoddesc): Removed.
1709 (constant_classref, classref_or_classinfo, parseddesc): Moved.
1711 2006-11-16 15:56 twisti
1713 * src/vm/vm.c (vm_createjvm): New function.
1714 * src/vm/vm.h (vm_createjvm): Added.
1716 * src/cacao/cacao.c (main): Resolve and call vm_createjvm instead of
1719 * src/native/jni.c (jni_init_localref_table): Made non-static.
1720 (JNI_CreateJavaVM): Moved implementation into vm_createjvm.
1721 * src/native/jni.h (jni_init_localref_table): Added.
1723 2006-11-16 00:02 edwin
1725 * src/vm/jit/stack.c (stack_analyse): Fix: Reset deadcode when
1726 re-analysing a block.
1728 2006-11-15 23:45 edwin
1730 * src/vm/jit/verify/generate.pl: Prepared for LOAD instructions with
1731 multiple variants (will be needed for ASTORE).
1733 2006-11-15 23:44 edwin
1735 * src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
1736 Ignore TYPE_RET interface variables. (Preparation.)
1738 * src/vm/jit/show.c (show_allocation): Prepared for TYPE_RET
1740 (show_variable_intern): Likewise.
1742 * src/vm/jit/verify/typecheck.c (STORE_LOCAL): Made the macro safer.
1743 (STORE_LOCAL_2_WORD): Likewise.
1745 * src/vm/jit/verify/typeinfo.c (typeinfo_print_type): Prepared for
1748 * src/vm/jit/replace.c (replace_source_frame_println): Prepared for
1751 2006-11-15 23:37 edwin
1753 * src/vm/jit/jit.c (jit_recompile): Set verbosecall flag.
1755 2006-11-15 23:36 edwin
1757 * src/vm/jit/replace.c (replace_create_replacement_points): Fix: Only
1758 put a replacement point at a back branch target if the block does not
1759 contain any other replacement point.
1761 (replace_read_executionstate): Better debugging helpers.
1762 (replace_me): Likewise.
1764 * src/vm/jit/replace.h (sourceframe_t): Added a field for debugging.
1766 2006-11-15 23:33 edwin
1768 * src/vm/jit/stack.c (stack_reanalyse_block): Encode returnAddresses
1769 in the javalocals array.
1770 (stack_analyse): Likewise.
1772 * src/vm/jit/replace.c (replace_create_replacement_point): Store
1773 returnAddresses in replacement points.
1774 (replace_create_replacement_points): Encode returnAddresses in
1776 (replace_read_executionstate): Ignore returnAddresses.
1777 (replace_write_executionstate): Likewise.
1778 (replace_find_replacement_point): Match returnAddresses.
1780 2006-11-15 23:30 edwin
1782 * src/vm/jit/show.h (show_javalocals_array): New function.
1784 * src/vm/jit/show.c (show_javalocals_array): New function.
1785 (show_icmd): Prepared for showing returnAddresses.
1787 * src/vm/jit/replace.c (replace_replacement_point_println): Prepared
1788 for showing constant returnAddresses.
1790 * src/vm/jit/replace.h (rplalloc): Made type unsigned, so it will be
1791 able to hold TYPE_RET (8).
1793 * src/vm/jit/jit.h (s2_operand_t): Added field `retaddrnr` that will
1794 be used by ASTORE with returnAddresses.
1796 2006-11-15 23:24 edwin
1798 * src/vm/jit/inline/inline.c (inline_inline_intern): Removed some
1801 2006-11-15 23:23 edwin
1803 * src/vm/jit/i386/codegen.c (codegen): Fix: Put RETURN replacement
1804 points before the emit_load. This code needs cleaning up.
1806 2006-11-15 23:21 edwin
1808 * src/vm/jit/replace.c: Partial implementation of synchronization
1809 slot translation. Translating synchronized INLINE <-> CALL needs more
1812 2006-11-15 23:19 edwin
1814 * src/vm/jit/replace.c (replace_find_replacement_poin): Fix: Compare
1815 both id and method when searching a replacement point.
1816 (replace_executionstate_println): Prettier printing.
1818 * src/vm/jit/replace.h (replace_pop_activation_record): Removed
1821 2006-11-15 23:17 edwin
1823 * src/vm/jit/inline/inline.c (inline_instruction): New function.
1824 Factored code out of other functions generation instructions.
1826 2006-11-15 23:15 edwin
1828 * src/vm/jit/jit.h (insinfo_inline): Added field `paramcount`.
1830 * src/vm/jit/inline/inline.c (inline_generate_sync_builtin): New
1831 function. Generate explicit MONITORENTER/EXIT instructions.
1832 (emit_inlining_prolog): Moved INLINE_START to the beginning of the
1833 prolog. Explicit synchronization.
1834 (emit_inlining_epilog): Explicit synchronization.
1835 (rewrite_method): Use epilog_instructioncount.
1836 (inline_analyse_callee): Explicit synchronization.
1838 * src/vm/jit/i386/codegen.c (ICMD_INLINE_START): Removed implicit
1840 (ICMD_INLINE_END): Likewise.
1842 * src/vm/jit/replace.c (replace_create_replacement_point): Handle
1843 parameters for top frames.
1844 (replace_create_replacement_points): Likewise.
1845 (replace_read_executionstate): Likewise.
1846 (replace_write_executionstate): Likewise.
1847 (replace_me): Likewise.
1849 2006-11-15 23:08 edwin
1851 * src/vm/jit/replace.h (RPLALLOC_STACK, RPLALLOC_PARAM,
1855 * src/vm/jit/replace.c (replace_push_activation_record): Fix:
1857 SP _before_ writing the return address.
1858 (replace_me): More logging.
1859 (replace_replacement_point_println): More logging.
1860 (replace_executionstate_println): Prettier printing.
1862 2006-11-15 23:02 edwin
1864 * src/vm/jit/code.h (codeinfo): Added field `invalid`. (Should become
1866 * src/vm/jit/jit.c (jit_recompile): Fixed for first compilation. Do
1868 refuse to recompile.
1870 2006-11-15 22:59 edwin
1872 * src/vm/jit/inline/inline.c (inline_inline_intern): Do not inline
1873 abstract methods (need to search for single implementation).
1875 2006-11-15 22:47 edwin
1877 * src/vm/jit/replace.c (replace_me): Small cleanup.
1878 * src/vm/jit/inline/inline.c (create_body_block): Do not translate
1879 javalocals for dead code.
1880 (inline_inline_intern): Fixed flag check.
1882 2006-11-15 22:46 edwin
1884 * src/vm/method.c (method_printflags): Print MONOMORPHIC and
1887 2006-11-15 18:26 twisti
1889 * src/vm/properties.c (properties_init) [ENABLE_JAVASE]: Allocate the
1890 utsname structure on the heap.
1892 2006-11-15 18:09 twisti
1894 * src/vm/properties.c (properties_init) [ENABLE_JAVASE]: Don't free
1895 memory, we need it later.
1897 2006-11-15 18:01 twisti
1899 * src/cacaoh/headers.c (cacao_prefix, classpath_libdir, _Jv_classpath)
1900 (_Jv_java_library_path): Added.
1902 2006-11-15 17:58 twisti
1904 * src/vm/properties.c (properties_init): Also fill the internal
1906 (properties_postinit): Re-set some properties that may have changed.
1907 (properties_system_add): Removed.
1908 [ENABLE_JAVASE] (properties_system_add_all): Rewritten.
1910 * src/vm/properties.h (properties_postinit): Changed signature.
1911 (properties_system_add): Removed.
1912 [ENABLE_JAVASE] (properties_system_add_all): Added.
1914 * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Moved
1915 implementation to properties.
1917 * src/vm/vm.c (vm_create): Call properties_postinit.
1919 2006-11-15 17:46 twisti
1921 * src/vm/vm.c (vm_create): Don't initialize java/lang/System
1924 2006-11-15 16:25 twisti
1926 * configure.ac (--enable-java): Added.
1928 2006-11-15 15:52 twisti
1930 * src/vm/jit/parse.c (parse): Added missing semi-colon.
1932 2006-11-15 15:47 edwin
1934 * src/vm/jit/icmdtable.inc (CHECKNULL_POP): Removed.
1936 * src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
1937 * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
1939 2006-11-15 15:42 twisti
1941 * src/vm/jit/jit.h (ICMD_CHECKNULL_POP): Removed.
1942 * src/vm/jit/parse.c: Likewise.
1943 * src/vm/jit/show.c: Likewise.
1945 2006-11-15 15:30 twisti
1947 Reverted patch 5890.
1949 * src/vm/jit/jit.h: Reverted.
1951 * src/vm/jit/alpha/codegen.c: Likewise.
1952 * src/vm/jit/i386/codegen.c: Likewise.
1953 * src/vm/jit/mips/codegen.c: Likewise.
1954 * src/vm/jit/powerpc/codegen.c: Likewise.
1955 * src/vm/jit/powerpc64/codegen.c: Likewise.
1956 * src/vm/jit/sparc64/codegen.c: Likewise.
1957 * src/vm/jit/x86_64/codegen.c: Likewise.
1958 * src/vm/jit/intrp/codegen.c: Likewise.
1960 * src/vm/jit/show.c: Likewise.
1961 * src/vm/jit/stack.c: Likewise.
1962 * src/vm/jit/allocator/simplereg.c: Likewise.
1963 * src/vm/jit/verify/typecheck-stackbased-gen.inc: Likewise.
1964 * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
1966 2006-11-15 13:44 tbfg
1968 * src/vm/jit/powerpc64/linux/md-abi.c (md_param_alloc): Fixed
1971 * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Fixed
1974 2006-11-15 12:25 twisti
1976 * src/vm/jit/jit.h (ICMD_CHECKNULL): Renamed to ICMD_CHECKNULL_POP.
1978 * src/vm/jit/alpha/codegen.c: Likewise.
1979 * src/vm/jit/i386/codegen.c: Likewise.
1980 * src/vm/jit/mips/codegen.c: Likewise.
1981 * src/vm/jit/powerpc/codegen.c: Likewise.
1982 * src/vm/jit/powerpc64/codegen.c: Likewise.
1983 * src/vm/jit/sparc64/codegen.c: Likewise.
1984 * src/vm/jit/x86_64/codegen.c: Likewise.
1985 * src/vm/jit/intrp/codegen.c: Likewise.
1987 * src/vm/jit/stack.c: Likewise.
1988 * src/vm/jit/show.c: Likewise.
1990 * src/vm/jit/allocator/simplereg.c: Likewise.
1992 * src/vm/jit/verify/typecheck-stackbased-gen.inc (ICMD_CHECKNULL):
1994 * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
1996 2006-11-14 21:56 twisti
1998 * src/jit/verify/typecheck-stackbased.c (mm/memory.h): Added.
1999 * src/jit/powerpc/emit.c (mm/memory.h): Likewise.
2000 * src/signal.c (mm/memory.h): Likewise.
2002 2006-11-13 21:43 tbfg
2004 * src/vm/jit/powerpc64/linux/md-abi.c (md_param_alloc): Began
2005 fixing ABI issues. It is not correct now, but fptest runs now.
2006 Remaining issues in java<->native mainly stack offsets.
2008 * src/vm/jit/powerpc64/emit.c (emit_load): Removed M_ILD case.
2009 (emit_store): Removed M_FST case. There is no M_FST expect for
2010 accessing c structs, internally everything is done using M_DLD
2011 and M_DST, M_FST would convert the values.
2013 * src/vm/jit/powerpc64/codegen.c (codegen): Removed all M_FST and
2016 * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Fixed
2017 argument passing on stack.
2019 2006-11-12 15:42 edwin
2021 * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Regenerated.
2023 2006-11-12 15:41 edwin
2025 * src/vm/jit/icmdtable.inc: Activate INLINE_START and INLINE_END.
2027 2006-11-12 15:33 edwin
2029 * src/vm/linker.c (inline_debug_log): Added variable reference.
2030 (linker_overwrite_method): Factored out overwriting into this
2032 update method flags and check assumptions when overwriting.
2033 (link_class_intern): Use linker_overwrite_method. Invalidate code of
2034 methods that makes broken assumptions.
2036 * src/vm/method.c (inline_debug_log): Only use for ENABLE_INLINING.
2037 (method_add_to_worklist): Allocate items with NEW.
2039 2006-11-12 15:14 edwin
2041 * src/vm/method.h (method_assumption): New struct.
2042 (method_worklist): New struct.
2043 (methodinfo): Added fields `overwrites` and `assumptions`.
2044 (method_add_assumption_monomorphic): Added prototype.
2045 (method_break_assumption_monomorphic): Likewise.
2047 * src/vm/method.c (inline_debug_log): Added variable reference.
2048 (method_add_to_worklist): New function.
2049 (method_add_assumption_monomorphic): Likewise.
2050 (method_break_assumption_monomorphic): Likewise.
2052 2006-11-12 15:01 edwin
2054 * src/cacaoh/headers.c (inline_debug_log): Added dummy variable.
2056 2006-11-12 15:00 edwin
2058 * src/vm/loader.c (load_method): Set ACC_METHOD_MONOMORPHIC and
2059 ACC_METHOD_IMPLEMENTED flags.
2061 2006-11-12 13:55 edwin
2063 * src/vm/jit/replace.c (replace_me): Recompile replacement methods.
2065 2006-11-12 13:54 edwin
2067 * src/vm/jit/replace.c (replace_create_replacement_point): Use the
2068 ICMD id as id for replacement points.
2069 (replace_replacement_point_println): Print the rplpoint id.
2071 2006-11-12 13:52 edwin
2073 * src/vm/jit/replace.c (replace_source_frame_println): Print position
2075 * src/vm/jit/replace.c (replace_pop_activation_record): Subtract one
2076 from the return address so we don't hit the following replacement
2079 2006-11-12 13:51 edwin
2081 * src/vm/jit/replace.c (replace_write_executionstate): Added some
2084 2006-11-12 13:50 edwin
2086 * src/vm/jit/replace.c: Cleaned up debugging prints.
2088 2006-11-12 13:47 edwin
2090 * src/vm/jit/replace.c (replace_create_replacement_points): Handle
2091 javaindex == UNUSED.
2093 2006-11-12 13:46 edwin
2095 * src/vm/jit/jit.h, src/vm/jit/jit.c (jit_invalidate_code):
2098 2006-11-12 13:40 edwin
2100 * src/vm/jit/jit.c (jit_recompile): Some cleanups.
2102 2006-11-12 13:39 edwin
2104 * src/vm/jit/i386/md.c (md_patch_replacement_point): Deactivated
2106 * src/cacaoh/headers.c (jit_invalidate_code): Added stub.
2108 2006-11-12 13:38 edwin
2110 * src/vm/jit/inline/inline.c (emit_inlining_prolog): Set javaindex
2111 UNUSED for generated STOREs. Include local variables in stackvars
2112 for insinfo_inline. Copy instruction id to INLINE_START.
2113 (inline_clone_instruction): Check for javaindex == UNUSED.
2114 (rewrite_method): Set javaindex UNUSED for generated STOREs.
2115 (inline_inline_intern): Removed some testing code.
2117 2006-11-12 13:31 edwin
2119 * src/vm/jit/parse.c, src/vm/jit/parse.h (Changes): Merged with
2122 2006-11-12 13:21 edwin
2124 * src/vm/jit/jit.h (INS_FLAG_ID_SHIFT, INS_FLAG_ID_MASK): Added. We
2126 an instruction id to the flags field. This is a first attempt to
2128 an id for ICMDs that is not dependent on any optimizations or
2129 transformations in the compiler. The id is not the same as the
2131 PC, but it has a fixed relation to the bytecode PC, so it should be
2132 sufficient at least for replacement. This is an intermediate solution
2133 with serious shortcommings, and should be replaced by a true ICMD-to-
2134 bytecode-PC mapping in the future. (For example, the id uses up all
2135 the free bits in the flags field, and it is not protected against
2138 * src/vm/jit/parse.h, src/vm/jit/parse.c: Set the instruction id, and
2139 do not overwrite it when setting other flags.
2141 * src/vm/jit/stack.c: Do not clear the instruction id.
2143 * src/vm/jit/show.c (show_basicblock): Display the instruction id.
2145 2006-11-12 12:57 twisti
2147 * src/vm/jit/powerpc64/codegen.c (codegen): Fixed ICMD_BALOAD, use
2148 correct java_bytearray type.
2150 2006-11-12 12:55 twisti
2152 * src/vm/jit/powerpc/codegen.c (codegen): Fixed ICMD_BALOAD, use
2153 correct java_bytearray type.
2155 2006-11-12 12:54 edwin
2157 * src/vm/jit/parse.h: Fixed typos.
2159 2006-11-11 19:26 ajordan
2161 * src/vm/jit/sparc64/*: implemented patching (partly), adherent fixes.
2163 2006-11-11 18:45 twisti
2165 * src/vm/jit/alpha/codegen.c (codegen): Use emit_array_checks.
2167 2006-11-11 18:34 twisti
2169 * src/vm/jit/alpha/codegen.c (codegen): Replaced gen_bound_check by
2170 emit_arrayindexoutofbounds_check.
2172 2006-11-11 18:31 twisti
2174 * src/vm/jit/alpha/emit.c (vm/options.h): Added.
2175 (emit_arrayindexoutofbounds_check): New function.
2176 (emit_arraystore_check): Likewise.
2177 (emit_classcast_check): Likewise.
2178 (emit_classcast_check): Likewise.
2179 (emit_nullpointer_check): Likewise.
2181 * src/vm/jit/alpha/codegen.c (codegen): Removed patch-NOPs generation,
2182 replaced gen_nullptr_check with emit_nullpointer_check.
2183 (createnativestub): Removed patch-NOPs generation.
2185 * src/vm/jit/alpha/codegen.h (gen_nullptr_check): Removed.
2186 (PATCHER_NOPS): Added.
2188 * src/vm/jit/alpha/patcher.c (patcher_get_putfield): Use opt_shownops
2189 instead of opt_showdisassemble.
2190 (patcher_invokevirtual): Likewise.
2191 (patcher_invokeinterface): Likewise.
2192 (patcher_checkcast_instanceof_interface): Likewise.
2194 * src/vm/jit/emit-common.c (emit_array_checks): Added [__ALPHA__].
2195 * src/vm/jit/codegen-common.c (codegen_add_patch_ref): Likewise.
2197 2006-11-11 17:08 edwin
2199 * src/vm/jit/tools/genoffsets.c (executionstate): Renamed to
2201 * src/vm/jit/asmpart.h: Likewise.
2203 * src/vm/jit/show.c (show_variable_intern): New function. Does not
2204 append ' '. Regard variables above vartop as invalid.
2205 (show_method): Only show variables up to vartop.
2206 (show_inline_info): New function.
2207 (show_basicblock): Show right number of javalocals, show inlining
2208 info at the start of blocks.
2209 (show_variable): Moved body to show_variable_intern.
2210 (show_icmd): Use show_inline_info.
2212 * src/vm/jit/inline/inline.c: Handle javalocals.
2214 * src/vm/jit/i386/codegen.c (codegen): Handle replacement points
2215 for INLINE_START, RETURN and INVOKEs.
2217 * src/vm/jit/replace.c: Many changes for making replacement work
2218 over multiple stack frames.
2219 * src/vm/jit/replace.h: Likewise.
2221 * src/vm/jit/jit.h (insinfo_inline): Added fields.
2222 (basicblock): Added field `inlineinfo`.
2224 2006-11-11 17:05 twisti
2226 * src/vm/jit/alpha/codegen.c (codegen): Renamed codegen_addpatchref to
2227 codegen_add_patch_ref and codegen_addreference to
2228 codegen_add_branch_ref.
2229 (createnativestub): Likewise.
2231 2006-11-11 16:56 twisti
2233 * src/vm/jit/alpha/md.c (md_codegen_patch_branch): New function.
2234 * src/vm/jit/alpha/emit.c (emit_exception_stubs): Use
2235 md_codegen_patch_branch.
2236 * src/vm/jit/alpha/codegen.c (codegen): Use
2237 codegen_resolve_branchrefs.
2238 * src/vm/jit/alpha/codegen.h (gen_resolvebranch): Removed.
2240 2006-11-11 16:44 twisti
2242 * configure.ac: Support mipsel architectures.
2244 2006-11-11 14:28 twisti
2246 * src/vm/jit/codegen-common.c (codegen_add_patch_ref): Added
2247 [__X86_64__] for NOP-generation.
2249 2006-11-10 16:41 twisti
2251 * src/vm/jit/x86_64/codegen.c (codegen): Use
2252 codegen_resolve_branchrefs, removed patcher NOP generation, renamed
2253 codegen_addpatchref to codegen_add_patch_ref.
2254 (createnativestub): Likewise.
2256 * src/vm/jit/x86_64/codegen.h (PATCHER_NOPS): Defined.
2258 * src/vm/jit/x86_64/patcher.c (patcher_get_putstatic): Use
2259 opt_shownops instead of opt_showdisassemble.
2260 (patcher_get_putfield): Likewise.
2261 (patcher_putfieldconst): Likewise.
2262 (patcher_aconst): Likewise.
2263 (patcher_builtin_multianewarray): Likewise.
2264 (patcher_builtin_arraycheckcast): Likewise.
2265 (patcher_invokestatic_special): Likewise.
2266 (patcher_invokeinterface): Likewise.
2267 (patcher_checkcast_instanceof_flags): Likewise.
2268 (patcher_checkcast_instanceof_interface): Likewise.
2269 (patcher_checkcast_class): Likewise.
2270 (patcher_instanceof_class): Likewise.
2271 (patcher_resolve_native): Likewise.
2273 2006-11-10 12:32 twisti
2275 * src/vm/jit/x86_64/md.c (md_codegen_patch_branch): New function.
2276 * src/vm/jit/x86_64/emit.c (emit_exception_stubs): Use
2277 md_codegen_patch_branch.
2279 2006-11-09 15:27 twisti
2281 * src/vm/jit/powerpc/codegen.c (codegen): Use codegen_add_branch_ref,
2282 removed opt_shownops code.
2283 (createnativestub): Likewise.
2285 * src/vm/jit/powerpc/codegen.h (PATCHER_NOPS): Added.
2286 * src/vm/jit/mips/codegen.h (PATCHER_NOPS): Removed opt_shownops
2289 * src/vm/jit/codegen-common.c (codegen_add_patch_ref): Check for
2290 opt_shownops, added [__POWERPC__].
2292 2006-11-09 10:52 twisti
2294 * src/vm/jit/powerpc/emit.c (vm/options.h): Added.
2295 (emit_nullpointer_check): New function.
2296 (emit_arrayindexoutofbounds_check): Likewise.
2297 (emit_exception_stubs): Use md_codegen_patch_branch.
2299 * src/vm/jit/powerpc/md.c (vm/jit/powerpc/codegen.h): Added.
2300 (md_codegen_patch_branch): New function.
2302 * src/vm/jit/powerpc/codegen.c (codegen): Use
2303 codegen_resolve_branchrefs, use opt_shownops, removed buggy ICMD_LCMP
2304 implementation (i'll add a new one if i find some time), use exception
2306 (createnativestub): Use opt_shownops.
2308 * src/vm/jit/powerpc/patcher.c (patcher_get_putfield): Use
2310 (patcher_invokevirtual): Likewise.
2311 (patcher_invokeinterface): Likewise.
2312 (patcher_checkcast_instanceof_interface): Likewise.
2314 * src/vm/jit/powerpc/codegen.h (gen_nullptr_check): Removed.
2315 (gen_bound_check): Likewise.
2316 (M_BRAMASK): Renamed to M_BMASK.
2317 (M_BRMASK): Renamed to M_BCMASK.
2318 (M_BRA): Renamed to M_B and hardcoded the opcode.
2319 (M_BRAC): Renamed to M_BC and hardcoded the opcode.
2320 (gen_resolvebranch): Removed.
2322 * src/vm/jit/emit-common.c (emit_array_checks): New function.
2323 * src/vm/jit/emit-common.h (emit_array_checks): Added.
2325 2006-11-09 10:23 twisti
2327 * src/vm/jit/stacktrace.c (stacktrace_add_method): Get codeinfo from
2330 2006-11-09 09:59 tbfg
2332 * src/vm/jit/powerpc64/linux/md-abi.h: Changed ABI for float
2335 * src/vm/jit/powerpc64/linux/md-asm.h: Likewise.
2337 * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
2339 * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Various
2340 argument handling fixes.
2342 * src/vm/jit/powerpc64/codegen.h (M_BRAC): Renamed to M_BC
2343 (M_BRA): Renamed to M_B
2344 (M_BRACMASK): Renamed to M_BCMASK.
2345 (M_BRAMASK): Renamed to M_BMASK.
2347 * src/vm/jit/powerpc64/md.c (md_codegen_patch_branch): Use M_BCMASK
2348 and M_BMASK instead of hardcoded masks.
2350 2006-11-09 09:54 twisti
2352 * src/vm/jit/powerpc/linux/md-os.c (vm/jit/profile/profile.h): Changed
2353 to vm/jit/optimizing/profile.h.
2354 (md_signal_handler_sigsegv): If faulting address is not equal 0, try
2355 to dump a tsacktrace and exit.
2357 2006-11-08 22:02 twisti
2359 * NEWS: Added release 0.98.
2361 2006-11-08 22:00 twisti
2363 * src/vm/method.h (methodinfo): Added signature.
2364 * src/vm/field.h (fieldinfo): Added signature.
2365 * src/vm/loader.c (load_method): Load signature attribute.
2366 (load_field): Likewise.
2367 * src/native/vm/java_lang_reflect_Method.c (getSignature):
2369 * src/native/vm/java_lang_reflect_Field.c (getSignature): Likewise.
2371 2006-11-08 20:34 edwin
2373 * src/vm/jit/code.h (codeinfo): Added field stackframesize.
2374 * src/vm/jit/code.c (code_get_stack_frame_size): Return
2375 code->stackframesize.
2377 * src/vm/jit/replace.c (replace_create_replacement_points): Set
2378 code->stackframesize.
2379 (replace_read_executionstate): Read stack types from rplallocs.
2380 (replace_write_executionstate): Check stack types.
2381 (replace_pop_activation_record): New function.
2382 (replace_me): Added some temporary code for testing.
2383 (replace_executionstate_println): Use executionstate.code.
2384 (java_value_print): New function.
2385 (replace_sourcestate_println): Print values prettily.
2387 * src/vm/jit/replace.h (executionstate): Added field `code`.
2388 (sourcestate): Added field `javastacktype`.
2389 (replace_pop_activation_record): New function.
2390 (replace_executionstate_println): Changed arguments.
2392 2006-11-08 20:27 twisti
2394 * src/vm/exceptions.c (new_nullpointerexception): Renamed to
2395 exceptions_new_nullpointerexception.
2396 * src/vm/exceptions.h: Likewise.
2397 * src/vm/jit/stacktrace.c: Likewise.
2398 * src/cacaoh/headers.c: Likewise.
2400 2006-11-08 13:33 tbfg
2402 * src/vm/jit/powerpc64/codegen.h (gen_resolvebranch): Removed.
2404 * src/vm/jit/powerpc64/codegen.c (codegen): Replaced
2405 gen_resolvebranch with md_codegen_patch_branch.
2407 * src/vm/jit/powerpc64/md.c (md_codegen_patch_branch): Prevent AA
2408 and LK overwrites for b.
2410 2006-11-08 13:03 tbfg
2412 * src/vm/jit/powerpc64/md.c (md_codegen_patch_branch): Added.
2414 2006-11-07 09:06 twisti
2416 * src/vm/jit/i386/md.c (md_codegen_patch_branch): New function.
2417 * src/vm/jit/i386/emit.c (emit_exception_stubs): Use
2418 md_codegen_patch_branch.
2419 * src/vm/jit/i386/codegen.c (codegen): Use codegen_resolve_branchrefs.
2420 * src/vm/jit/i386/codegen.h (gen_resolvebranch): Removed.
2422 2006-11-07 08:51 twisti
2424 * src/vm/jit/codegen-common.h (codegen_resolve_branchrefs): Added.
2426 2006-11-06 21:12 twisti
2428 * jit/mips/emit.c (emit_patcher_stubs): Handle displacement overflows.
2430 * jit/mips/codegen.c (codegen): Removed patcher NOPs generation.
2431 (createnativestub): Likewise.
2433 * jit/mips/codegen.h (PATCHER_CALL_INSTRUCTIONS): Defined.
2434 (PATCHER_CALL_SIZE): Changed to 5 * 4;
2435 (PATCHER_NOPS): Defined.
2437 * jit/mips/patcher.c (patcher_wrapper): Restore original instructions.
2438 (patcher_get_putstatic): Don't restore original code.
2439 (patcher_get_putfield): Likewise.
2440 (patcher_aconst): Likewise.
2441 (patcher_builtin_multianewarray): Likewise.
2442 (patcher_builtin_arraycheckcast): Likewise.
2443 (patcher_invokestatic_special): Likewise.
2444 (patcher_invokevirtual): Likewise.
2445 (patcher_invokeinterface): Likewise.
2446 (patcher_checkcast_instanceof_flags): Likewise.
2447 (patcher_checkcast_interface): Likewise.
2448 (patcher_instanceof_interface): Likewise.
2449 (patcher_checkcast_instanceof_class): Likewise.
2450 (patcher_clinit): Likewise.
2451 (patcher_athrow_areturn): Likewise.
2452 (patcher_resolve_native): Likewise.
2454 * jit/mips/asmpart.S (asm_patcher_wrapper): Handle bigger patcher stub
2457 * jit/codegen-common.c (codegen_add_patch_ref): Generate NOPs, if
2460 2006-11-06 17:13 twisti
2462 * src/vm/jit/codegen-common.c (toolbox/list.h): Added.
2463 (codegen_addreference): Renamed to codegen_add_branch_ref, use
2464 md_codegen_patch_branch instead of gen_resolvebranch.
2465 (codegen_resolve_branchrefs): New function.
2466 (codegen_addpatchref): Renamed to codegen_add_patch_ref.
2467 * src/vm/jit/codegen-common.h (codegen_addreference): Renamed to
2468 codegen_add_branch_ref.
2469 (codegen_resolve_branchrefs): New function.
2470 (codegen_addpatchref): Renamed to codegen_add_patch_ref.
2472 * src/vm/jit/dseg.h (toolbox/list.h): Added.
2474 * src/vm/jit/mips/emit.c (vm/options.h): Added.
2475 (emit_arithmetic_check): New function.
2476 (emit_arrayindexoutofbounds_check): Likewise.
2477 (emit_arraystore_check): Likewise.
2478 (emit_classcast_check): Likewise.
2479 (emit_nullpointer_check): Likewise.
2480 (emit_exception_check): Likewise.
2481 (emit_exception_stubs): Use md_codegen_patch_branch instead of
2484 * src/vm/jit/mips/md.c (vm/vm.h): Added.
2485 (md_codegen_patch_branch): New function.
2487 * src/vm/jit/mips/codegen.c (codegen): Use new emit_* functions, use
2488 opt_shownops instead of opt_showdissasemble.
2489 (createnativestub): Likewise.
2491 * src/vm/jit/mips/codegen.h (gen_nullptr_check): Removed.
2492 (gen_bound_check): Likewise.
2493 (gen_div_check): Likewise.
2494 (gen_resolvebranch): Likewise.
2496 * src/vm/jit/mips/patcher.c: Use opt_shownops instead of
2497 opt_showdissasemble.
2498 (patcher_checkcast_instanceof_interface): Split into two functions:
2499 patcher_checkcast_interface and patcher_instanceof_interface.
2501 * src/vm/jit/patcher.h (patcher_checkcast_interface): Added.
2502 (patcher_instanceof_interface): Added.
2504 * src/vm/jit/emit-common.h (emit_arithmetic_check): Added.
2505 (emit_arrayindexoutofbounds_check): Likewise.
2506 (emit_arraystore_check): Likewise.
2507 (emit_classcast_check): Likewise.
2508 (emit_nullpointer_check): Likewise.
2509 (emit_exception_check): Likewise.
2511 2006-11-06 16:38 tbfg
2513 * src/vm/jit/powerpc64/codegen.c (codegen): Various more fixes all
2514 over the place. jctest is now successfull for ppc64.
2516 * src/vm/jit/powerpc64/codegen.h (M_DIV): Changed used opcode.
2519 2006-11-06 16:17 edwin
2521 * src/vm/jit/replace.c (replace_create_replacement_point): New
2523 (replace_create_replacement_points): Create replacement points for
2524 INVOKE* and *RETURN instructions.
2525 (replace_read_executionstate): Fixed loop.
2526 (replace_write_executionstate): Fixed loop.
2527 (replace_sourcestate_println): Adapted to new source state layout.
2529 2006-11-05 23:17 edwin
2531 * src/vm/jit/i386/codegen.c (codegen): Create replacement points after
2532 the final allocations.
2534 * src/vm/jit/jit.c (jit_compile_intern): Do not create replacement
2535 points before the codegen is called.
2537 2006-11-05 23:11 edwin
2539 * src/vm/jit/codegen-common.h (codegendata): Removed maxlocals. This
2542 * src/vm/jit/codegen-common.c (codegen_setup): Removed cd->maxlocals.
2544 * src/vm/jit/replace.c: Move towards exact replacement/GC points.
2545 * src/vm/jit/replace.h: Likewise.
2547 * src/vm/jit/optimizing/lsra.h: Use jd->maxlocals.
2548 * src/vm/jit/optimizing/lifetimes.c: Likewise.
2549 * src/vm/jit/optimizing/ssa.c: Likewise.
2550 * src/vm/jit/show.c: Likewise.
2551 * src/vm/jit/verify/typecheck.c: Likewise.
2552 * src/vm/jit/loop/analyze.c: Likewise.
2553 * src/vm/jit/inline/inline.c: Likewise.
2554 * src/vm/jit/allocator/lsra.c: Likewise.
2555 * src/vm/jit/allocator/simplereg.c: Likewise.
2556 * src/vm/jit/allocator/liveness.c: Likewise.
2557 * src/vm/jit/jit.c: Likewise.
2559 * src/vm/jit/show.h (show_allocation): Made global.
2560 * src/vm/jit/show.c: Likewise.
2562 2006-11-05 22:47 edwin
2564 * src/vm/jit/jit.c (jit_jitdata_new): Initialize jd->maxlocals.
2566 2006-11-05 22:46 edwin
2568 * src/vm/jit/jit.h (jitdata): Added maxlocals field.
2570 2006-11-05 21:43 twisti
2572 * src/vm/options.c (opt_shownops): Added.
2573 * src/vm/options.h (opt_shownops): Likewise.
2574 * src/vm/vm.c (usage): Added -so help.
2575 (vm_create): Added opt_shownops handling.
2577 2006-11-05 21:27 edwin
2579 * src/vm/jit/jit.h (INS_FLAG_RETADDR): Added flag for marking ASTOREs
2582 * src/vm/jit/stack.c (stack_reanalyse_block): Invalidate target of
2583 ASTORE with returnAddress.
2584 (stack_analyse): Likewise.
2586 2006-11-05 21:23 twisti
2588 * src/vm/utf8.c (utf_Signature): Added.
2589 (utf8_init): Initialize utf_Signature.
2590 * src/vm/utf8.h (utf_Signature): Added.
2592 2006-11-05 21:18 twisti
2594 * src/vm/loader.c (load_attributes): Load Signature attribute.
2595 * src/vm/class.h (classinfo): Added signature.
2596 * src/native/vm/java_lang_VMClass.c (getClassSignature): Implemented.
2598 2006-11-05 21:14 edwin
2600 * src/vm/jit/show.c (show_basicblock): Show javalocals.
2601 (show_variable_array): Made it NULL-safe, show UNUSED entries.
2603 2006-11-05 20:17 edwin
2605 * src/vm/jit/show.c (show_icmd): Show javaindex for *STORE.
2607 2006-11-05 20:07 edwin
2609 * src/vm/jit/jit.h (s3_operand_t): Added field javaindex.
2610 (INS_FLAG_KILL_PREV): New flag.
2611 (INS_FLAG_KILL_NEXT): New flag.
2612 (basicblock): Added field javalocals. This points to the mapping from
2613 Java bytecode locals to cacao variables at the beginning of the block.
2615 * src/vm/jit/stack.c (Changes): Merged with Authors.
2616 (stackdata_t): Added fields maxlocals and javalocals.
2617 (stack_clone_block): Initialize javalocals.
2618 (stack_create_locals): New function.
2619 (stack_merge_locals): New function.
2620 (stack_create_invars): Use stack_create_invars.
2621 (stack_create_invars_from_outvars): Likewise.
2622 (stack_check_invars): Use stack_merge_locals.
2623 (stack_check_invars_from_outvars): Likewise.
2624 (stack_reanalyse_block): Maintain javalocals mapping.
2625 (stack_init_javalocals): New function.
2626 (stack_analyse): Maintain javalocals mapping.
2627 (stack_verbose_show_block): Show javalocals.
2628 (stack_verbose_block_enter): Distinguish block cloning and
2630 (stack_verbose_show_state): New function.
2632 2006-11-05 19:49 edwin
2634 * src/vm/jit/stack.c (COPY_VAL_AND_TYPE): Fix: Only copy vv for
2636 (and later for other constants). Otherwise the allocation of PREALLOC
2637 variables can be overwritten when re-analysing a block.
2639 2006-11-05 19:45 edwin
2641 * src/vm/jit/show.c (show_method): Show maxinterfaces only for stage
2643 (show_variable): Show allocation for PREALLOC variables.
2645 2006-11-05 16:58 michi
2647 * src/vm/jit/stacktrace.h: Added stacktracecontainer.
2648 * src/vm/jit/stacktrace.c (stacktrace_fillInStackTrace): Now returns
2649 stacktracecontainer as wrapper for stacktracebuffer and entries.
2651 * src/native/vm/java_lang_VMThrowable.c: Undoes the wrapping
2654 2006-11-05 15:47 edwin
2656 * src/vm/jit/replace.c (replace_create_replacement_points): Partially
2659 * src/vm/jit/i386/codegen.c (codegen): Reactivate code for
2661 * src/vm/jit/jit.c (jit_compile_intern): Likewise.
2663 2006-11-05 10:40 edwin
2665 * src/vm/jit/inline/inline.c: Ported to the new IR. There are some
2666 checkins missing to make it linkable, though.
2667 * src/vm/jit/inline/inline_debug.inc: Likewise.
2669 2006-11-05 10:31 edwin
2671 * src/vm/global.h (ACC_METHOD_IMPLEMENTED): Added.
2672 (ACC_METHOD_MONOMORPHIC): Added.
2674 2006-11-05 10:22 edwin
2676 * src/vm/jit/jit.h (jitdata): New fields maxinterfaces, returnblock,
2677 returncount, branchtoentry, branchtoend.
2679 * src/vm/jit/jit.c (jit_jitdata_new): Initialize new fields.
2681 * src/vm/jit/parse.c (parse_mark_exception_boundaries): Set
2683 (parse): Set branchtoentry.
2685 * src/vm/jit/stack.c (stack_analyse): Set jd->maxinterfaces,
2686 returncount, and returnblock.
2688 * src/vm/jit/allocator/simplereg.c (simplereg_allocate_interfaces):
2689 Use jd->maxinterfaces.
2690 (simplereg_allocate_temporaries): Likewise.
2692 * src/vm/jit/show.c (show_method): Show the new fields. Use
2693 jd->maxinterfaces. Show invalid variable indices. Show inline info.
2695 2006-11-05 09:52 edwin
2697 * src/vm/jit/i386/codegen.c (codegen): Reactivated code for inlining.
2699 2006-11-04 23:42 edwin
2701 * src/vm/jit/jit.h (jitdata): Clarified comment of isleafmethod.
2703 2006-11-04 23:37 edwin
2705 * src/vm/jit/jit.c (jit_jitdata_new): Initialize jd->isleafmethod
2706 depending on whether the method needs synchronization.
2708 * src/vm/jit/parse.c (parse): Initialization of jd->isleafmethod has
2709 been moved to jit_jitdata_new.
2711 2006-11-04 23:29 edwin
2713 * src/vm/jit/jit.h, src/vm/jit/jit.c (jit_jitdata_new): Made global.
2715 2006-11-04 23:24 edwin
2717 * src/vm/loader.c (load_newly_created_array): Explicitly zero the
2718 allocated methodinfo array.
2720 2006-11-04 23:13 edwin
2722 * src/vm/jit/stack.c (stack_change_to_tempvar): Fix: Only replace
2723 pass-through variables at the right stack depth. Otherwise the IR
2724 can become inconsistent, for example a temporary variable could be
2725 used more than once.
2727 2006-11-04 22:40 edwin
2729 * src/vm/jit/stack.c (stack_reanalyse_block): Relocate dst.varindex
2730 for ICMD_JSR (even if it is not used, it keeps the IR consistent).
2732 2006-11-04 22:01 edwin
2734 * src/mm/memory.c: Added ENABLE_MEMCHECK code:
2735 (mem_alloc): Prepared for poisoning memory.
2736 (mem_realloc): Invalidate freed memory.
2737 (mem_free): Invalidate freed memory.
2738 (dump_check_canaries): New function.
2739 (dump_alloc): Added canaries, record allocation.
2740 (dump_realloc): Invalidate freed memory.
2741 (dump_release): Check canaries, invalidate freed memory.
2743 * src/mm/memory.h (dump_allocation_t): New struct.
2744 (dumpinfo_t): Added allocation list for ENABLE_MEMCHECK.
2746 * configure.ac (--enable-memcheck): Added configure flag.
2748 2006-11-04 17:30 michi
2750 * src/mm/boehm.h: Renamed to gc-common.h
2751 * src/mm/gc-common.h: Added.
2753 * src/vm/builtin.c, src/vm/jit/mips/linux/md-os.c,
2754 src/vm/jit/mips/irix/md-os.c, src/vm/jit/stacktrace.c, src/vm/vm.c,
2755 src/native/tool/gennativetable.c, src/native/jni.c,
2756 src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c,
2757 src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c,
2758 src/native/vm/java_lang_VMObject.c,
2759 src/native/vm/java_lang_VMRuntime.c,
2760 src/native/vm/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c,
2761 src/native/jvmti/jvmti.c, src/mm/nogc.c, src/mm/boehm.c,
2763 src/threads/native/threads.c, src/cacaoh/headers.c,
2764 src/cacaoh/cacaoh.c:
2765 Changed include from "mm/boehm.h" to "mm/gc-common.h"
2767 * src/mm/Makefile.am: Added subdir and lib for cacao-gc
2769 * src/mm/cacao-gc: Added.
2770 * src/mm/cacao-gc/gc.c: Added.
2771 * src/mm/cacao-gc/Makefile.am: Added.
2772 * src/mm/cacao-gc/.cvsignore: Added.
2774 * src/threads/native/threads.c: Fixed include of boehms gc.h
2776 * src/vm/jit/mips/linux/md-os.c (md_init) [ENABLE_GC_BOEHM]: Added
2778 for boehm specific call.
2779 * src/vm/jit/mips/irix/md-os.c: Likewise.
2780 * src/vm/signal.c: Likewise.
2782 * configure.ac: Adapted buildsystem for new GC. Added cacao-gc.
2784 2006-11-04 15:46 tbfg
2786 * src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter):
2789 * src/vm/jit/powerpc64/codegen.c (codegen):
2790 Lots of arithmetic changes.
2792 * src/vm/jit/powerpc64/codegen.h (M_SLL): Converted to 64bit.
2794 (gen_bound_check): Fixed.
2796 2006-11-03 22:11 michi
2798 * src/vm/loader.c (load_class_from_classbuffer): Removed commented
2800 placed methodinfos onto the heap.
2802 2006-11-03 15:40 tbfg
2806 2006-11-03 15:13 twisti
2808 * parisc/.cvsignore: New file.
2809 * parisc/linux/.cvsignore: Likewise.
2811 2006-11-03 14:03 twisti
2813 * src/vm/jit/parisc/md-abi.h: New file.
2814 * src/vm/jit/parisc/md.c: Likewise.
2815 * src/vm/jit/parisc/arch.h: Likewise.
2816 * src/vm/jit/parisc/Makefile.am: Likewise.
2817 * src/vm/jit/Makefile.am (SUBDIRS): Added parisc.
2818 * configure.ac: Added parisc support.
2820 2006-11-02 12:54 twisti
2822 * src/toolbox/list.c, src/toolbox/list.h (list_create_dump): New
2824 (list_first_unsynced): Likewise.
2825 (list_last_unsynced): Likewise.
2826 (list_next_unsynced): Likewise.
2827 (list_prev_unsynced): Likewise.
2829 2006-11-02 12:50 twisti
2831 * src/Makefile.am (DIST_SUBDIRS): Compile mm first.
2832 (SUBDIRS): Likewise.
2834 2006-11-02 10:21 twisti
2836 * src/vm/jit/dseg.h (patchref): Added comments.
2838 2006-11-01 20:19 twisti
2840 * src/vm/jit/mips/codegen.c (codegen): Use new dseg function names.
2841 (createnativestub): Likewise.
2842 * src/vm/jit/mips/emit.c (emit_iconst): Likewise.
2843 (emit_lconst): Likewise.
2844 (emit_exception_stubs): Likewise.
2845 (emit_patcher_stubs): Likewise.
2846 (emit_verbosecall_enter): Likewise.
2847 (emit_verbosecall_exit): Likewise.
2849 * src/vm/jit/mips/codegen.h (M_INTMOVE): Wrap into do-while.
2851 2006-10-31 22:02 twisti
2853 * src/vm/jit/Makefile.am (DIST_SUBDIRS): Forgot to remove ifconv.
2855 2006-10-31 22:01 twisti
2857 * src/vm/jit/ifconv: Removed.
2859 * src/vm/jit/optimizing/ifconv.c: Added.
2860 * src/vm/jit/optimizing/ifconv.h: Likewise.
2862 * src/vm/jit/optimizing/Makefile.am (IFCONV_SOURCES): Added.
2863 (liboptimizing_la_SOURCES): Added IFCONV_SOURCES.
2865 * src/vm/jit/jit.c (vm/jit/ifconv/ifconv.h): Changed to
2866 vm/jit/optimizing/ifconv.h.
2868 * src/vm/jit/Makefile.am (IFCONV_LIB): Removed.
2870 * configure.ac (AC_CONFIG_FILES): Removed src/vm/jit/ifconv/Makefile.
2872 2006-10-31 21:57 ajordan
2874 * src/vm/jit/sparc64/asmpart.S: added exception handling code.
2875 * src/vm/jit/sparc64/md-asm.h: Likewise.
2877 * src/vm/jit/sparc64/*: implemented createnativestub, added functions
2878 for param allocation following the ABI.
2880 2006-10-31 21:35 twisti
2882 * src/vm/jit/reorder.c: Removed.
2883 * src/vm/jit/reorder.h: Likewise.
2885 * src/vm/jit/optimizing/reorder.c: Added.
2886 * src/vm/jit/optimizing/reorder.h: Likewise.
2888 * src/vm/jit/optimizing/Makefile.am (REORDER_SOURCES): Added.
2889 (liboptimizing_la_SOURCES): Added REORDER_SOURCES.
2891 * src/vm/jit/jit.c (vm/jit/reorder.h): Changed to
2892 vm/jit/optimizing/reorder.h.
2894 * src/vm/jit/Makefile.am (libjit_la_SOURCES): Removed reorder.[ch].
2896 2006-10-31 21:27 twisti
2898 * src/vm/jit/optimizing/Makefile.am (INCLUDES): Renamed to
2902 2006-10-31 20:26 twisti
2904 * src/vm/vm.c (vm/jit/profile/profile.h): Changed to
2905 vm/jit/optimizing/profile.h.
2906 (vm/jit/recompile.h) Changed to vm/jit/optimizing/recompile.h.
2908 2006-10-31 20:11 twisti
2910 * src/vm/jit/optimizing/profile.c: Added.
2911 * src/vm/jit/optimizing/profile.h: Likewise.
2912 * src/vm/jit/optimizing/recompile.c: Likewise.
2913 * src/vm/jit/optimizing/recompile.h: Likewise.
2915 * src/vm/jit/optimizing/Makefile.am (INCLUDES): Added OS_DIR.
2916 (PROFILE_SOURCES): Added.
2917 (RECOMPILE_SOURCES): Added.
2918 (SSA_SOURCES): Added.
2920 * src/vm/jit/recompile.c: Removed.
2921 * src/vm/jit/recompile.h: Likewise.
2922 * src/vm/jit/profile: Likewise.
2924 * src/vm/jit/Makefile.am (SUBDIRS): Added optimizing.
2925 (PROFILE_LIB): Removed.
2926 (RECOMPILE_SOURCES): Likewise.
2928 * src/cacao/Makefile.am (GC_LIB): Removed.
2930 * src/mm/Makefile.am (DIST_DUBDIRS): Added boehm-gc.
2933 * src/Makefile.am (DIST_SUBDIRS): Removed boehm-gc.
2934 (SUBDIRS): Likewise.
2937 * src/threads/native/threads.c (boehm-gc/include/gc.h): Changed to
2938 mm/boehm-gc/include/gc.h.
2940 * src/cacaoh/Makefile.am (GC_LIB): Removed.
2942 * configure.ac (AC_CONFIG_FILES): Removed src/vm/jit/profile/Makefile.
2943 (AC_CONFIG_SUBDIRS): Changed src/boehm-gc to src/mm/boehm-gc.
2944 * autogen.sh: Changed path to boehm-gc.
2946 2006-10-31 20:00 twisti
2948 * src/vm/exceptions.c (exceptions_handle_exception): Made identation
2951 2006-10-31 19:58 twisti
2953 * src/mm/boehm-gc/.cvsignore: Added some files.
2955 2006-10-31 15:42 twisti
2957 * Moved boehm-gc from src/ to src/mm/.
2959 2006-10-31 13:40 tbfg
2961 * src/vm/jit/powerpc64/codegen.c (codegen):
2962 Fixed parameter passing.
2963 Various fixes for many ICMD_*.
2965 * src/vm/jit/powerpc64/patcher.c (patcher_get_putfield):
2968 * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method):
2969 Fixed methodheader, exception handling now works.
2971 * src/vm/exceptions.c (exceptions_handle_exception):
2974 2006-10-31 10:16 twisti
2976 * configure.ac (AC_INIT): Changed version to 0.97+svn.
2977 (OPT_CFLAGS): Changed to -O0.
2979 2006-10-31 10:15 twisti
2981 * NEWS: Forgot to commit the date for 0.97, grrrr.
2983 2006-10-31 00:07 twisti
2985 * ChangeLog: Updated for release 0.97.
2986 2006-10-30 23:52 twisti
2988 * configure.ac (AC_INIT): Changed version to 0.97.
2989 (--enable-threads): Removed green from help string.
2991 2006-10-30 13:03 twisti
2993 * src/vm/jit/show.c (show_method): Removed debug output.
2994 (SHOW_INT_CONST): Removed long cast and print hex value additionally.
2995 (SHOW_LNG_CONST): Removed long long cast and print hex value
2996 additionally. Also added version for SIZEOF_VOID_P == 4.
2997 (SHOW_ADR_CONST): Added.
2998 (SHOW_FLT_CONST): Print hex value additionally.
2999 (SHOW_DBL_CONST): Likewise. Also added version for SIZEOF_VOID_P == 4.
3000 (show_icmd): Smaller changes.
3002 2006-10-30 12:27 twisti
3004 * src/threads/native/threads.h (MUTEXSIM): Removed.
3005 (pthread_mutex_rec_t): Likewise.
3006 (pthread_mutex_init_rec): Likewise.
3007 (pthread_mutex_destroy_rec): Likewise.
3008 (pthread_mutex_lock_rec): Likewise.
3009 (pthread_mutex_unlock_rec): Likewise.
3010 * src/threads/native/threads.c (pthread_mutex_init_rec): Removed.
3011 (pthread_mutex_destroy_rec): Likewise.
3012 (pthread_mutex_lock_rec): Likewise.
3013 (pthread_mutex_unlock_rec): Likewise.
3014 (compiler_lock): Use pthread functions.
3015 (compiler_unlock): Likewise.
3016 (threads_cast_darwinstop): Warning fixes and use vm_abort.
3017 (threads_cast_darwinresume): Use vm_abort.
3018 (threads_cast_stopworld): Warning fixes.
3019 (pthreads_preinit) [!MUTEXSIM]: Removed code.
3021 2006-10-30 11:52 edwin
3023 * src/vm/jit/intrp/intrp.h (Cell): Moved the typedef upward, so we can
3024 use it in other headers.
3025 (global_sp): Does not need the complex casts anymore.
3027 * src/threads/native/threads.h (threadobject): Made _global_sp a
3029 * src/threads/native/threads.c: Likewise.
3031 2006-10-30 11:21 edwin
3033 * src/mm/memory.h (ALIGN): Renamed to MEMORY_ALIGN.
3034 * src/mm/memory.c: Likewise.
3035 * src/vm/jit/dseg.c: Likewise.
3036 * src/vm/jit/parse.c: Likewise.
3037 * src/vm/jit/codegen-common.c: Likewise.
3038 * src/vm/linker.c: Likewise.
3039 * src/mm/nogc.c: Likewise.
3040 * src/cacaoh/headers.c: Likewise.
3042 2006-10-30 11:04 edwin
3044 * src/threads/native/threads.c (threads_dump): Cast pthread_t to long
3047 2006-10-30 11:00 edwin
3049 * src/vm/jit/cfg.c (cfg_build): Removed set-but-not-used variable (m).
3050 * src/vm/jit/ifconv/ifconv.c (check): Likewise (cd).
3051 * src/vm/jit/stack.c (stack_reanalyse_block): Likewise (maythrow).
3052 (stack_analyse): Likewise (code, b_index).
3053 * src/vm/jit/show.c (show_basicblock): Likewise (m).
3054 * src/vm/jit/mips/emit.c (emit_copy): Likewise (rd).
3055 * src/vm/jit/parse.c (parse): Likewise (code).
3056 * src/vm/exceptions.c (exceptions_handle_exception): Likewise
3059 2006-10-30 10:32 edwin
3061 * src/vm/jit/verify/typecheck-common.c (typecheck_init_flags): Removed
3062 set-but-not-used variable `i`.
3064 2006-10-30 10:31 edwin
3066 * src/vm/jit/verify/typecheck-builtins.inc: Removed set-but-not-used
3069 2006-10-30 10:15 edwin
3071 * src/vm/jit/alpha/codegen.c (codegen): Zero `uf` to avoid warning.
3073 2006-10-30 00:45 edwin
3075 * src/vm/builtin.c (builtin_print_argument): Made logtextlen an in/out
3076 argument. Correctly reallocate logtext, increase logtextlen.
3077 (builtin_trace_args): Pass &logtextlen to builtin_print_argument.
3078 (builtin_displaymethodstop): Likewise.
3080 2006-10-29 23:43 edwin
3082 * src/vm/jit/jit.h (stackelement): Removed the obsolete fields
3083 `typeinfo` and `regoff`.
3085 2006-10-29 23:37 edwin
3087 * src/vm/jit/stack.c (stack_grow_variable_array): Zero the additional
3088 space when reallocating the jd->var array.
3090 * src/vm/jit/parse.c (parse_realloc_instructions): Zero the
3091 additional space when reallocating the instructions array.
3093 2006-10-29 23:33 edwin
3095 * src/vm/jit/parse.c (parse): Fix in ICMD_TABLESWITCH: Put table into
3098 2006-10-29 23:23 edwin
3102 2006-10-29 16:21 edwin
3104 * src/vm/suck.c (stdlib.h): Include to avoid warning about `free`.
3106 2006-10-29 16:14 edwin
3108 * src/vm/suck.c (suck_add_from_property): Use `free` to free memory
3109 coming out of the C library - it has not been allocated with M?NEW,
3110 so M?FREE is wrong here.
3112 2006-10-29 14:49 twisti
3114 * src/vm/builtin.c (builtin_print_argument): Print float/double values
3115 with %g and addresses as hex.
3116 (builtin_trace_args): Fixed message length calclation.
3117 (builtin_displaymethodstop): Fixed bug: we only passed the long value.
3119 2006-10-29 11:15 edwin
3121 * src/cacaoh/headers.c (vm_abort): Print the error message before
3124 2006-10-28 19:40 twisti
3128 2006-10-28 19:26 twisti
3130 * src/vm/jit/dseg.c (dseg_find_float): Compare hex value.
3131 (dseg_find_double): Likewise.
3133 2006-10-28 17:45 twisti
3135 * NEWS: Added some stuff.
3137 2006-10-28 17:15 edwin
3139 * NEWS: Added news for CACAO 0.97.
3141 2006-10-28 16:55 edwin
3143 * src/vm/jit/jit.c (stackreq): Fixed for DUP/SWAP instructions. The
3144 numbers for DUP2_X1 and DUP2_X2 were also wrong before the new IR
3145 had been introduced. The new IR in addition needs extra temps in some
3146 cases, thus the numbers before the 'plus' operators.
3148 2006-10-28 16:51 edwin
3150 * src/vm/jit/stack.c (stack_analyse): Store vartop in jitdata.
3152 * src/vm/jit/show.c (show_method): Show number of variables.
3154 * tests/regression/jasmin/test_many_dup2_x2.j: New test.
3155 * tests/regression/jasmin/test_many_dup.j: Likewise.
3156 * tests/regression/jasmin/test_many_dup_x2.j: Likewise.
3157 * tests/regression/jasmin/test_many_swap.j: Likewise.
3158 * tests/regression/jasmin/test_many_dup2.j: Likewise.
3159 * tests/regression/jasmin/test_many_dup2_x1.j: Likewise.
3160 * tests/regression/jasmin/test_many_dup_x1.j: Likewise.
3162 * tests/regression/jasmin/Makefile.am: Added new tests.
3164 2006-10-28 15:21 edwin
3166 * src/vm/jit/stack.c (stackdata_t): Added field varsallocated.
3167 (stack_grow_variable_array): Smarted memory allocation.
3168 (stack_analyse): Initialize sd.varsallocated.
3170 2006-10-28 13:02 edwin
3172 * src/vm/access.c (ACCESS_ASSERT): Replaced with assert. Because of
3173 a mistake in the definition of ACCESS_DEBUG, ACCESS_ASSERT always
3175 (access_is_accessible_member): Fixed assertion.
3177 2006-10-28 12:53 edwin
3179 * src/vm/loader.c (LOADER_ASSERT): Replaced with assert.
3181 2006-10-28 12:49 edwin
3183 * src/vm/class.c (CLASS_ASSERT): Replaced by assert.
3185 2006-10-28 12:47 edwin
3187 * src/vm/class.c (class_array_of): Release dump memory.
3188 (class_multiarray_of): Likewise.
3189 (class_get_classref_multiarray_of): Likewise.
3191 2006-10-27 10:41 twisti
3193 * src/vm/vm.c: Renamed -Xglibj to -Xbootclasspath/c to match jamvm's
3194 option (Robert, Mark and I decided that once).
3195 (vm_create): Removed unnecessary k. #ifdef'd the profiling stuff.
3196 (vm_run): Removed commented code.
3197 * src/vm/options.c, src/vm/options.h [ENABLE_PROFILING] (opt_prof)
3198 (opt_prof_bb): Added.
3199 * src/vm/jit/jit.c (jit_compile) [ENABLE_PROFILING]: Added for
3201 [ENABLE_VERIFIER]: Added for flag setting.
3202 * src/vm/jit/codegen-common.c (codegen_createnativestub)
3203 [ENABLE_PROFILING]: Added for opt_prof stuff.
3205 2006-10-26 16:41 edwin
3207 * src/vm/jit/alpha/codegen.c (codegen): Declare variables at the start
3208 of codegen (uf, fi).
3210 2006-10-26 12:05 twisti
3212 * src/vm/jit/powerpc/codegen.c (codegen): Made fieldinfo and
3213 unresolved_field fucntion variables, fieldtype was uninitialized for
3216 2006-10-26 11:57 twisti
3218 * src/vm/jit/x86_64/codegen.c (codegen): Made fieldinfo and
3219 unresolved_field function variables (it makes the code more readable).
3221 2006-10-26 11:47 edwin
3223 * src/vm/jit/alpha/codegen.c (codegen): Fixed ICMD_PUTFIELD: Set
3224 fieldtype before it is used. Fixed warnings.
3226 * src/vm/jit/mips/codegen.c (codegen): Prevent warnings.
3228 2006-10-26 11:35 twisti
3230 * NEWS: Added some 0.97 news.
3232 2006-10-26 11:30 twisti
3234 * src/vm/exceptions.c (exceptions_print_exception): Removed [!NDEBUG]
3235 condition, as we may need this function in the VM (e.g. recompile).
3236 * src/vm/jit/recompile.c (vm/exceptions.h): Added.
3237 (recompile_thread): Call exceptions_print_exception in exception case.
3239 2006-10-26 11:29 edwin
3241 * src/vm/jit/intrp/codegen.c (codegen): Initialize uf to NULL for
3242 resolved fields, to avoid warnings.
3244 * src/vm/jit/intrp/engine.c (engine): Initialize
3245 classcastexception_object and arrayindexoutofbounds_index to avoid
3248 2006-10-26 11:23 edwin
3250 * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Read inline
3251 info from instruction, ported to new instruction format.
3252 (dseg_addlinenumber_inline_end): Likewise.
3254 2006-10-26 11:19 edwin
3256 * src/vm/jit/show.c (show_icmd): Fixed warning fix.
3258 2006-10-26 11:18 edwin
3260 * src/threads/native/threads.c (threads_table_dump): Fix warning (the
3261 function is currently unused, but may become handy again.)
3263 2006-10-26 11:15 edwin
3265 * src/vm/jit/show.c (show_method): Fixed warning.
3266 (show_basicblock): Likewise.
3267 (show_icmd): Likewise.
3269 2006-10-26 11:04 twisti
3271 * src/vm/jit/x86_64/md.h: Removed.
3272 * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Removed md.h.
3273 * src/vm/jit/x86_64/codegen.c (md.h): Removed.
3274 (codegen): Warning fix.
3276 2006-10-26 10:34 twisti
3278 * src/vm/jit/mips/md-abi.h: Fixed MIPS64 compilation and backported
3281 2006-10-26 10:09 twisti
3283 * src/vm/descriptor.h (paramdesc): We need a type for MIPS32, as the
3284 type in the allocated argument register may be different to the actual
3285 register (e.g. passing a float in an integer register).
3287 2006-10-26 09:55 twisti
3289 * src/vm/jit/mips/codegen.c (codegen): More comment and brace changes.
3291 2006-10-26 09:44 twisti
3293 * src/vm/jit/mips/codegen.c (codegen): Comment and brace changes.
3295 2006-10-26 09:29 twisti
3297 * src/vm/jit/mips/md-asm.h: Renamed t8 to t4 and removed t9, as it's
3299 * src/vm/jit/mips/asmpart.S: Likewise.
3301 2006-10-25 14:26 tbfg
3303 * src/vm/jit/powerpc64/linux/md-abi.c (_ALIGN): Renamed to
3304 CACAO_ALIGN because of name clash with /usr/include/asm-ppc64/page.h.
3306 * src/vm/jit/powerpc64/emit.c (emit_lconst): Added.
3307 (emit_iconst): Reformatted.
3309 * src/vm/jit/powerpc64/codegen.c (codegen):
3310 Replaced all stackframesize with cd->stackframesize.
3311 Implemented ICMD_IF_LLT, ICMD_IF_LLE, ICMD_IF_LGE, ICMD_IF_LGT.
3313 * src/vm/jit/powerpc64/asmpart.S:
3314 Partially fixed exception path.
3315 (asm_cacheflush): Fixed.
3317 * src/vm/jit/powerpc64/codegen.h (LCONST): Implemented.
3319 * tests/if_tests.java: Added simple testcase for if and compare.
3321 2006-10-24 23:24 edwin
3323 * src/vm/utf8.h, src/vm/utf8.c (utf8_safe_number_of_u2s): Modified to
3324 completely emulate the behaviour of the RI in case of truncated UTF-8
3325 characters. This requires an extra strlen(text) beforehand. We still
3326 require zero-termination. We could drop that with a few extra changes,
3327 should we find other uses for these functions.
3328 (utf8_safe_convert_to_u2s): Likewise.
3330 * src/vm/string.c (javastring_safe_new_from_utf8): Pass number of
3331 bytes to the decoding functions.
3333 2006-10-24 17:51 edwin
3335 * src/vm/utf8.c (utf8_safe_number_of_u2s): Skip only bytes beginning
3336 with high bits 10 in invalid sequences.
3337 (utf8_safe_convert_to_u2s): Likewise.
3339 2006-10-24 16:41 edwin
3341 * src/vm/utf8.h, src/vm/utf8.c (utf8_safe_number_of_u2s): New
3343 (utf8_safe_convert_to_u2s): Likewise.
3345 * src/vm/stringlocal.h, src/vm/string.c
3346 (javastring_safe_new_from_utf8): New function.
3348 * src/native/jni.c (_Jv_JNI_NewStringUTF): Use the new functions for
3349 safe UTF-8 decoding.
3351 2006-10-24 11:17 twisti
3353 * src/vm/jit/dseg.c (dseg_display): Rewritten.
3355 2006-10-22 04:28 ajordan
3357 * src/vm/jit/sparc64/codegen.h: fixed M_SAVE.
3359 * src/vm/jit/sparc64/disass.c: configuring disass for big-endian.
3361 2006-10-22 02:49 ajordan
3363 * src/vm/jit/sparc64/emit.c: Implemented trace enter/exit functions.
3364 * src/vm/jit/sparc64/codegen.c: Likewise.
3366 * src/vm/jit/sparc64/md.c: Implemented md_get_method_patch_address.
3368 * src/vm/jit/sparc64/asmpart.S(asm_call_jit_compiler): Fixed window
3371 * src/vm/jit/sparc64/disass.c: Fixed disassembly printing.
3373 * src/vm/jit/sparc64/md-abi.h: Minor changes/fixes.
3374 * src/vm/jit/sparc64/codegen.h: Likewise.
3375 * src/vm/jit/sparc64/md-asm.h: Likewise.
3377 2006-10-22 00:38 edwin
3379 * src/vm/jit/jit.c (jit_asm_compile): Fixed xpc for extern
3380 stackframeinfo by subtracting 1 from the return address.
3381 This fixes stacktraces when exceptions are thrown out of
3384 * tests/regression/extest.2output: Changed line numbers to
3385 the values same the RI returns, which are correct upon inspection
3388 2006-10-21 15:06 edwin
3390 * src/vm/jit/parse.c (parse): Bugfix for -noverify: Do not make the
3391 variable array dependant on jd->flags, as this breaks stack_analyse.
3393 2006-10-20 18:35 twisti
3395 * src/vm/jit/mips/codegen.c (md.h): Removed.
3396 * src/vm/jit/mips/md.h: Removed.
3397 * src/vm/jit/mips/Makefile.am (libarch_la_SOURCES): Removed md.h.
3399 2006-10-20 14:53 twisti
3401 * src/vm/jit/jit.c (jit_init) [ENABLE_JIT]: Call stack_init only for
3403 [ENABLE_JIT] (jit_asm_compile): Only for JIT.
3405 * src/vm/jit/Makefile.am (SUBDIRS) [ENABLE_JIT]: Add allocator only
3407 (libjit_la_SOURCES) [ENABLE_JIT]: Compile reg.[ch], replace.[ch] and
3408 stack.[ch] only for JIT.
3410 * src/cacaoh/headers.c [ENABLE_INTRP] (intrp_asm_abstractmethoderror):
3413 2006-10-20 14:26 twisti
3415 * src/vm/linker.c (link_class_intern): Handle AbstractMethodError for
3416 interpreter (missed this one in the last commit).
3418 2006-10-20 14:22 twisti
3420 * src/vm/jit/intrp/asmpart.c (intrp_asm_abstractmethoderror): Added.
3421 * src/vm/jit/asmpart.h [ENABLE_INTRP] (intrp_asm_abstractmethoderror):
3423 * src/vm/linker.c (linker_addinterface): Handle AbstractMethodError
3426 2006-10-20 13:58 twisti
3428 * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Removed
3429 unused ld_library_path.
3431 2006-10-20 13:54 twisti
3433 * src/vm/suck.c (vm/vm.h): Added.
3434 (bootclasspath, classpath): Removed.
3435 (suck_add_from_property): Prefix bootclasspath with _Jv_.
3436 * src/vm/suck.h (bootclasspath, classpath): Removed.
3438 * src/vm/vm.c (_Jv_bootclasspath, _Jv_classpath)
3439 (_Jv_java_library_path): Added.
3440 (version): Prefix bootclasspath with _Jv_.
3441 (vm_create): Likewise, set _Jv_java_library_path to LD_LIBRARY_PATH
3442 before handling commandline options.
3443 * src/vm/vm.h (_Jv_bootclasspath, _Jv_classpath)
3444 (_Jv_java_library_path): Added.
3446 * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Prefix
3447 bootclasspath and classpath with _Jv_, use _Jv_java_library_path for
3448 setting java.library.path.
3450 * src/cacao/cacao.c (main): First let dlopen try to open libjvm at
3451 it's default locations.
3452 * src/native/native.c (native_init): Likewise.
3454 * src/cacaoh/headers.c (_Jv_bootclasspath): Added.
3456 * contrib/setenvinstalled.in: Set LD_LIBRARY_PATH again.
3457 * contrib/setenvsource.in: Likewise.
3459 * tests/regression/native/Makefile.am (JAVAFLAGS): Removed
3460 -Djava.library.path=.
3461 (check): Set LD_LIBRARY_PATH.
3462 * tests/regression/codepatching/Makefile.am (check): Likewise.
3463 * tests/regression/Makefile.am: Likewise.
3465 2006-10-20 13:09 twisti
3467 * src/vm/signal.c (signal_init): Added dummy allocation to install
3468 Boehm's signal handlers.
3469 * src/threads/native/threads.c (threads_preinit): Removed dummy
3472 * src/vm/vm.c (vm_create): Call threads_preinit before gc_init.
3473 * src/cacaoh/cacaoh.c (main): Likewise.
3475 2006-10-20 12:00 twisti
3477 * src/vm/exceptions.c [ENABLE_JIT] (exceptions_handle_exception): Only
3480 2006-10-20 00:37 ajordan
3482 * src/mm/memory.c: fixed typo in _no_threads_dumpinfo definition
3484 2006-10-19 10:10 twisti
3486 * src/threads/native/threads.c (threads_interrupt_thread): Renamed to
3487 threads_thread_interrupt, send thread a SIGHUP singal to interrupt
3488 blocking system calls (thanks to Robert Schuster).
3489 (threads_dump): Removed threads_sleep call.
3491 * src/threads/native/threads.h (threads_interrupt_thread): Renamed to
3492 threads_thread_interrupt.
3493 * src/native/vm/java_lang_VMThread.c (interrupt): Likewise.
3494 * src/native/jvmti/jvmti.c (InterruptThread): Likewise.
3496 * src/vm/signal.c (signal_init): Register SIGHUP.
3497 (signal_handler_sighup): Added.
3499 2006-10-19 09:32 twisti
3501 * src/vm/jit/stacktrace.c (stacktrace_dump_trace): Changed signature.
3502 * src/vm/jit/stacktrace.h: Likewise.
3504 * src/vm/jit/codegen-common.c (codegen_get_pv_from_pc): Pass
3505 threadobject to stacktrace_dump_trace.
3507 * src/vm/signal.c (signal_init): Don't register SIGUSR1.
3508 (signal_handler_sigusr1): Removed.
3510 * src/native/jni.h: Include GNU Classpath JNI header before we define
3512 (localref_table): Forward typedef.
3514 * src/threads/native/threads.c (threads_dump): Pass threadobject to
3515 stacktrace_dump_trace.
3517 * src/cacaoh/headers.c (stacktrace_dump_trace): Added.
3519 2006-10-19 09:27 twisti
3521 * src/threads/native/threads.h (threadobject, threads_table_entry_t)
3522 (threads_table_t): Forward typedef.
3523 (threadobject): Changed dumpinfo to dumpinfo_t.
3525 2006-10-19 09:25 twisti
3527 * src/mm/memory.h (dumpblock): Postfixed with _t and moved before
3528 internal includes, as we have some problems with threadobject.
3529 (dumpinfo): Likewise.
3530 * src/mm/memory.c: Postfixed dumpblock and dumpinfo with _t.
3532 2006-10-19 09:23 twisti
3534 * src/vm/jit/powerpc/codegen.c (codegen): Warning fixes.
3536 2006-10-18 16:55 edwin
3538 * src/vm/jit/codegen-common.c (codegen_createnativestub): Initialize
3541 2006-10-18 16:27 edwin
3543 * tests/regression/jasmin/runtest: Removed debugging `tee TEST`.
3544 * tests/regression/jasmin/Makefile.am (CLEANFILES): Added file
3547 2006-10-18 16:19 edwin
3549 * tests/regression/jasmin/Makefile.am (SOURCE_FILES): Use EXTRA_DIST,
3552 2006-10-18 15:57 edwin
3554 * src/vm/jit/i386/linux/Makefile.am (noinst_HEADERS): Added md-asm.h.
3555 * src/vm/jit/i386/freebsd/Makefile.am (noinst_HEADERS): Likewise.
3557 2006-10-18 15:27 twisti
3559 * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added powerpc64.
3561 2006-10-18 15:19 twisti
3563 * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added optimizing.
3565 2006-10-18 15:14 twisti
3567 * src/vm/jit/sparc64/Makefile.am (libarch_la_SOURCES): Removed md.h.
3569 2006-10-18 15:09 twisti
3571 * src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Renamed md-emit.h
3574 2006-10-18 15:04 twisti
3576 * configure.ac (AC_INIT): Changed to version 0.97rc.
3577 (CFLAGS): Changed to -O2.
3579 2006-10-18 14:53 edwin
3581 * tests/regression/jasmin/Makefile.am: Temporarily disable failing
3582 tests for the release.
3583 * src/vm/jit/stack.c (stack_analyse): Check field type when creating
3584 a PUTFIELDCONST/PUTSTATICCONST instruction.
3586 2006-10-16 09:59 edwin
3588 * src/vm/jit/parse.c (parse_resolve_exception_table): Do not use
3592 * src/vm/jit/stack.c (stack_analyse): Likewise.
3594 2006-10-16 09:02 twisti
3596 * src/vm/jit/allocator/simplereg.c [ENABLE_STATISTICS]
3597 (simplereg_make_statistics): Don't print this INREGISTER stuff.
3599 2006-10-16 08:53 twisti
3601 * src/vm/jit/jit.c (jit_compile_intern) [ENABLE_STATISTICS]:
3602 exceptiontablelength is now in jitdata.
3604 2006-10-16 00:05 ajordan
3606 * src/vm/jit/sparc64/codegen.c: Ported to unified variables.
3607 * src/vm/jit/sparc64/emit.c: Likewise.
3609 * src/vm/jit/sparc64/md.c: Implemented md_codegen_get_pv_from_pc.
3611 * src/vm/jit/sparc64/codegen.h: Some fixes.
3612 * src/vm/jit/sparc64/asmpart.S: Likewise.
3614 2006-10-15 22:44 edwin
3616 * src/vm/linker.c (link_class_intern): Removed unused variable.
3618 2006-10-15 22:25 edwin
3620 * src/vm/jit/jit.h (exception_entry): New struct.
3621 (jitdata): Added exceptiontable fields. Cleaned up.
3623 * src/vm/exceptions.h (exceptionentry): Removed.
3625 * src/vm/jit/dseg.h (dseg_exception_entry): New struct.
3627 * src/vm/jit/stack.h (BLOCK_OF): Moved to parse.h.
3628 * src/vm/jit/parse.h (BLOCK_OF): Added.
3630 * src/vm/jit/codegen-common.h (codegendata): Removed exceptiontable
3631 and exceptiontablelength.
3633 * src/vm/loader.c (load_method): Renamed m->exceptiontable* to
3634 m->rawexceptiontable*.
3635 (load_class_from_classbuffer): Likewise.
3636 * src/vm/method.c (method_free): Likewise.
3638 * src/vm/method.h (methodinfo): Renamed m->exceptiontable* to
3639 m->rawexceptiontable*.
3640 (exceptiontable): Renamed to raw_exception_entry. Removed fields that
3641 are only used in jd->exceptiontable.
3643 * src/vm/jit/powerpc/codegen.c (codegen): Moved exceptiontable to jd,
3644 renamed struct exceptiontable to exception_entry.
3645 * src/vm/jit/sparc64/codegen.c (codegen): Likewise.
3646 * src/vm/jit/alpha/codegen.c (codegen): Likewise.
3647 * src/vm/jit/stack.c (stackdata_t): Likewise.
3648 (stack_analyse): Likewise.
3649 (stack_reanalyse_block): Likewise.
3650 * src/vm/jit/optimizing/graph.c (graph_add_exceptions): Likewise.
3651 * src/vm/jit/show.c (show_method): Likewise.
3652 * src/vm/jit/verify/typecheck-common.h (verifier_state): Likewise.
3653 * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
3654 * src/vm/jit/verify/typecheck-stackbased.c (typecheck_stackbased):
3656 * src/vm/jit/mips/codegen.c (codegen):
3657 * src/vm/jit/loop/loop.h (LoopContainer): Likewise.
3658 * src/vm/jit/loop/analyze.c (analyze_nested): Likewise.
3659 (analyze_or_exceptions): Likewise.
3660 (update_internal_exceptions): Likewise.
3661 (create_static_checks): Likewise.
3662 (optimize_loops): Likewise.
3663 * src/vm/jit/inline/inline.c (test_inlining): Likewise.
3664 * src/vm/jit/allocator/lsra.c (lsra_add_exceptions): Likewise.
3665 * src/vm/jit/i386/codegen.c (codegen): Likewise.
3666 * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
3667 * src/vm/jit/intrp/codegen.c (codegen): Likewise.
3668 * src/vm/jit/schedule/schedule.h (M_SCHEDULE_SET_EXCEPTION_POINT):
3670 * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
3671 * src/vm/jit/jit.c (jit_compile_intern): Likewise.
3672 (jit_jitdata_new): Initialize exceptiontable fields.
3674 * src/vm/jit/codegen-common.c (codegen_setup): Removed exceptiontable
3677 * src/vm/jit/parse.c (parse_mark_exception_boundaries): New function.
3678 (parse_resolve_exception_table): New function.
3679 (fillextable): Removed.
3680 (parse): Use parse_mark_exception_boundaries and
3681 parse_resolve_exception_table. Write the basicblockindex for the end
3684 * src/vm/jit/intrp/asmpart.c (exceptionentry): Renamed to
3685 dseg_exception_entry.
3686 * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
3688 * src/vm/linker.c (link_class_intern): Do not resolve exception
3689 classes here. This is now done in parse.c.
3691 2006-10-15 13:52 edwin
3693 * src/vm/jit/jit.h: Indentation cleanup.
3695 2006-10-15 13:37 edwin
3697 * src/vm/jit/jit.h (flags_operand_t): Removed `fields` struct. It was
3698 not safe to use, as defined.
3700 2006-10-15 13:19 edwin
3702 * src/vm/jit/jit.h (flags_operand_t): Removed unused argcount.
3703 (ACONST_LOAD): Removed.
3704 (ACONST_BUILTIN): Removed.
3706 2006-10-15 12:59 edwin
3708 * src/vm/method.h (methodinfo): Removed c_block_nr.
3709 * src/vm/jit/jit.h (jitdata): Removed c_block_nr.
3710 (BASICBLOCK_INIT): Do not set bptr->nr here.
3712 * src/vm/jit/jit.c (jit_compile_intern): Renumber basic blocks after
3714 (jit_check_basicblock_numbers): Made stricter.
3716 * src/vm/jit/stack.c (stack_append_block): Set basic block numbers
3718 (stack_clone_block): Do not set bptr->nr here.
3720 * src/vm/jit/verify/typecheck.c (typestate_reach): Use the correct
3721 check for setting the repeat flag.
3722 (typecheck): Check basic block numbers.
3724 * src/vm/jit/verify/typecheck-stackbased.c (typecheck_stackbased):
3725 Check basic block numbers.
3727 * src/vm/jit/loop/analyze.c (copy_handler): Do not use c_block_nr.
3728 (create_static_checks): Likewise.
3729 * src/vm/jit/inline/inline.c (create_block): Likewise.
3730 * src/vm/jit/parse.c (parse): Likewise.
3732 2006-10-15 12:20 edwin
3734 * src/vm/jit/jit.c (jit_renumber_basicblocks): New function.
3735 (jit_check_basicblock_numbers): Likewise.
3736 (jit_init): Removed obsolete variable `i`.
3738 * src/vm/jit/jit.h (jit_renumber_basicblocks): New function.
3739 (jit_check_basicblock_numbers): Likewise.
3741 2006-10-14 19:12 twisti
3743 * src/native/jni.c (_Jv_JNI_DetachCurrentThread): Made
3744 --disable-threads-safe.
3746 2006-10-13 18:29 edwin
3748 * tests/regression/jasmin/Makefile.am: Added new tests.
3750 2006-10-13 18:25 edwin
3752 * src/vm/jit/verify/icmds.c: Check basic types of instance for field
3754 * src/vm/jit/verify/typecheck-fields.inc: Check basic type of value.
3756 * src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
3757 * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
3759 * src/vm/jit/verify/typecheck.c (verify_fieldaccess): Define
3760 VERIFY_ERROR for the include file.
3762 * src/vm/jit/verify/typecheck-stackbased.c (VERIFY_ERROR): Fixed
3766 tests/regression/jasmin/test_verify_fail_putfieldconst_basic_type_instance.j,
3767 tests/regression/jasmin/test_verify_fail_getfield_basic_type_instance.j,
3768 tests/regression/jasmin/test_verify_fail_putfield_basic_type_value.j,
3769 tests/regression/jasmin/test_verify_fail_putstatic_basic_type_value.j,
3770 tests/regression/jasmin/test_verify_fail_putfieldconst_basic_type_value.j,
3771 tests/regression/jasmin/test_verify_fail_getfield_basic_type_value.j,
3772 tests/regression/jasmin/test_verify_fail_putfield_basic_type_instance.j,
3773 tests/regression/jasmin/test_verify_fail_putfield_basic_type_lookup.j,
3774 tests/regression/jasmin/test_verify_fail_getfield_basic_type_lookup.j,
3775 tests/regression/jasmin/test_verify_fail_putstaticconst_basic_type_value.j:
3778 * tests/regression/jasmin/runtest: Look for specified ICMDs in -sia
3781 2006-10-13 17:06 tbfg
3783 * src/vm/jit/powerpc64/md.c (md_get_method_patch_address): Fixed
3786 * src/vm/jit/powerpc64/codegen.c: Added credits.
3788 * src/vm/jit/powerpc64/asmpart.S (asm_handle_nat_exception): Fixed
3789 exception handling code. Added credits.
3791 2006-10-13 16:30 edwin
3793 * src/vm/jit/verify/typecheck-fields.inc: Re-activate stack overflow
3796 * src/vm/jit/verify/typecheck-common.h (verifier_state): Added field
3799 * src/vm/jit/verify/typecheck-stackbased.c (CHECK_STACK_DEPTH):
3801 (CHECK_STACK_SPACE): Cleaned up.
3802 (typecheck_stackbased_verify_fieldaccess): Check for stack overflow.
3803 (typecheck_stackbased): Moved stackceiling into state.
3805 2006-10-13 16:06 edwin
3807 * src/vm/jit/codegen-common.c (codegen_reg_of_var): Removed `inline`
3808 declaration. The crappy IRIX compiler does not create a global symbol
3811 2006-10-13 14:34 edwin
3813 * src/vm/jit/verify/typecheck.c (verify_basic_block): Use generated
3816 * src/vm/jit/verify/typecheck-stackbased-gen.inc: New file, GENERATED!
3817 * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
3819 * src/vm/jit/verify/typecheck.h (typecheck_stackbased): Added.
3821 * src/vm/jit/verify/Makefile.am: Added source files for both generated
3824 * src/vm/jit/jit.c (jit_compile_intern): Call the stack-based verifier
3825 for the interpreter.
3827 * src/vm/vm.c (vm_create): Re-enable verification fot the interpreter.
3829 2006-10-13 14:22 edwin
3831 * src/vm/jit/verify/generate.pl: Clearly mark generated code.
3833 2006-10-13 14:00 edwin
3835 * src/vm/jit/icmdtable.inc: Documented prettily.
3837 2006-10-13 13:11 edwin
3839 * src/vm/jit/jit.h (op_data): Removed.
3840 (stackreq): Moved to a more logical place.
3842 * src/vm/jit/jit.c (op_data): Removed.
3843 (jit_init): Removed code initializing op_data.
3845 * src/vm/jit/optimizing/lifetimes.c (LifeOutAtStatement): Use
3847 * src/vm/jit/optimizing/ssa.c (dead_code_elimination): Likewise.
3849 2006-10-13 12:49 edwin
3851 * src/vm/jit/jit.h (icmd_table): Added.
3852 (icmd_names): Removed.
3854 * src/vm/jit/jit.c (icmd_table): Added.
3855 (icmd_names): Removed.
3857 * src/vm/jit/show.c (show_icmd): Use icmd_table.
3858 * src/vm/jit/optimizing/ssa.c (dead_code_elimination): Likewise.
3860 2006-10-13 12:47 edwin
3862 * src/vm/resolve.c: Removed obsolete debug prints.
3864 2006-10-13 11:57 edwin
3866 * src/vm/jit/jit.h: Added DF_ constants for ICMD table.
3867 Added CF_ constants.
3868 Added ICMDTABLE_ constants.
3869 (icmdtable_entry_t): New struct.
3871 2006-10-13 11:28 edwin
3873 * src/vm/jit/icmdtable.inc: New file. Not used, yet.
3874 * src/vm/jit/Makefile.am: Added new file.
3876 2006-10-13 11:27 edwin
3878 * src/vm/jit/verify/generate.pl: Omit comma at end of ICMD table.
3880 2006-10-13 11:11 edwin
3882 * src/vm/jit/verify/typecheck-stackbased.c: New file. Not used, yet.
3883 * src/vm/jit/verify/icmds.c: New file.
3884 * src/vm/jit/verify/generate.pl: New file.
3886 * src/vm/jit/verify/typecheck-invoke.inc: Added copyright notice.
3887 * src/vm/jit/verify/typecheck-fields.inc: Likewise.
3888 * src/vm/jit/verify/typecheck-builtins.inc: Likewise.
3889 * src/vm/jit/verify/typecheck-common.c: Likewise.
3890 * src/vm/jit/verify/typecheck-common.h: Likewise.
3892 2006-10-13 10:36 edwin
3894 * src/vm/jit/verify/typeinfo.c (typevector_store): Remove obsolete
3897 2006-10-13 10:33 edwin
3899 * src/vm/jit/stack.c (stack_analyse): Set iptr->dst for CHECKNULL.
3901 2006-10-13 00:47 edwin
3903 * src/vm/builtin.c (builtin_isanysubclass): Bugfix for the case that
3904 `sub` is an interface and `super` is a class. The function returned
3905 random values in this case, since it used the <= 0 base value of the
3906 interface class to perform the subclass check. The only case in which
3907 an interface can be a subclass of a non-interface `super` is when
3908 `super` is java.lang.Object, so we check explicitly for this case.
3909 This fixes a bug with BeanShell-2.0b4.
3911 (builtin_isanysubclass_vftbl): Likewise.
3913 2006-10-12 23:34 edwin
3915 * src/vm/jit/stack.c (stack_check_invars): Bugfix: Only set flags to
3916 BBTYPECHECK_REACHED if the block has already been analysed.
3918 (stack_check_invars_from_outvars): Likewise.
3920 2006-10-12 20:06 twisti
3922 * src/vm/jit/cfg.c (cfg_build): Check for EXH basic blocks in
3925 2006-10-12 15:59 edwin
3927 * tests/regression/jasmin/runtest: Added timeout capability.
3929 2006-10-12 15:22 edwin
3931 * src/vm/jit/verify/typecheck-common.h (typecheck_print_statistics):
3933 (typecheck_jsr_t): New struct.
3934 (typecheck_jsr_caller_t): Likewise.
3935 (verifier_state): Added fields for stackbased verifier.
3937 2006-10-12 15:07 edwin
3939 * src/vm/jit/verify/typecheck-common.c: Made debugging and statistics
3941 * src/vm/jit/verify/typecheck-common.h: Likewise.
3943 2006-10-12 14:52 edwin
3945 * src/vm/jit/verify/typecheck-invoke.inc: Added code variants for the
3946 stackbased verifier. Not used, yet.
3947 * src/vm/jit/verify/typecheck-builtins.inc: Likewise.
3949 2006-10-12 14:42 edwin
3951 * src/vm/jit/verify/typecheck-common.c: Include headers.
3952 * src/vm/jit/verify/typecheck-common.h: Cleanup.
3954 2006-10-12 14:39 edwin
3956 * src/vm/jit/verify/typecheck.c (ISBUILTIN): Removed.
3957 * src/vm/jit/verify/typecheck-builtins.inc (ISBUILTIN): Added.
3959 2006-10-12 14:38 tbfg
3961 * src/vm/jit/powerpc64/codegen.c (codegen): Adopt locals
3964 2006-10-12 14:18 edwin
3966 * src/vm/jit/verify/typecheck.c (verify_invocation): Prepared for
3967 addeding the stackbased verifier. No functional change, yet.
3968 (verify_builtin): Likewise.
3970 2006-10-12 14:12 edwin
3972 * src/vm/jit/verify/typecheck-common.c,
3973 src/vm/jit/verify/typecheck-common.h (typecheck_init_flags): Added
3976 * src/vm/jit/verify/typecheck.c (typecheck): Call typecheck_init_flags
3977 with minflags set to BBFINISHED.
3979 2006-10-12 14:02 edwin
3981 * src/vm/jit/verify/typecheck.c (verify_fieldaccess): New function.
3982 (verify_basic_block): Moved field verification into a separate
3985 * src/vm/jit/verify/typecheck-fields.inc: Removed opcode-dependant
3986 stuff. Some code for the stackbased verifier is checked in, but not
3989 2006-10-12 13:13 twisti
3991 * src/vm/jit/mips/linux/md-os.c (thread_restartcriticalsection): Added
3994 2006-10-12 12:44 twisti
3996 * src/vm/jit/mips/linux/md-os.c (md_signal_handler_sigsegv): Added
3999 2006-10-12 10:10 edwin
4001 * src/vm/jit/verify/typecheck.c: Moved <assert.h> include to the right
4002 place. Moved some code to typecheck-common.[ch].
4004 * src/vm/jit/verify/typecheck-common.c: New file.
4005 * src/vm/jit/verify/typecheck-common.h: New file.
4007 * src/vm/jit/verify/Makefile.am: Added new source files.
4009 2006-10-11 23:52 edwin
4011 * src/vm/jit/verify/typecheck-builtins.inc: Removed redundant
4012 `return true`. Moved declaration of `av`.
4014 2006-10-11 23:44 edwin
4016 * src/vm/jit/verify/typecheck-invoke.inc: Use invokestatic where
4017 possible. Added a comment.
4019 2006-10-11 23:41 edwin
4021 * src/vm/jit/verify/typecheck-invoke.inc: Indent log messages to make
4024 2006-10-11 23:37 edwin
4026 * src/vm/jit/verify/typecheck.c (verify_invocation): Define jd and dv
4027 before including the function body.
4029 * src/vm/jit/verify/typecheck-invoke.inc: Removed definitions of jd
4030 and dv. Small cleanup.
4032 2006-10-11 23:22 edwin
4034 * src/vm/jit/verify/typecheck.c (verify_builtin): Define jd and dv
4035 before including the function body.
4037 * src/vm/jit/verify/typecheck-builtins.inc: Removed definitions
4040 2006-10-11 23:00 edwin
4042 * src/vm/jit/verify/typecheck.c (verify_invocation): Moved body to a
4043 separate file in order to prepare comitting the stackbased verifier.
4044 (verify_builtin): Likewise.
4045 (verify_generic_builtin): Likewise, no integrated in verify_builtin.
4046 (verify_basic_block): Moved field instruction verification to a
4049 * src/vm/jit/verify/typecheck-invoke.inc: New file.
4050 * src/vm/jit/verify/typecheck-fields.inc: New file.
4051 * src/vm/jit/verify/typecheck-builtins.inc: New file.
4053 * src/vm/jit/verify/Makefile.am: Added new source files.
4055 2006-10-11 19:43 edwin
4057 * src/cacaoh/headers.c (typeinfo_print_short): Stub added.
4059 2006-10-11 19:42 edwin
4061 * src/vm/jit/verify/typeinfo.c (typeinfo_init_component): Fixed for
4062 the case that srcarray == dst. (The mergedlist was overwritten with
4065 2006-10-11 19:40 edwin
4067 * src/vm/resolve.c, src/vm/resolve.h
4068 (resolve_method_param_type_checks_stackbased): New function.
4069 (resolve_constrain_unresolved_method_params_stackbased): Likewise.
4071 2006-10-11 16:31 edwin
4074 tests/regression/jasmin/test_verify_fail_athrow_wrong_reftype_unresolved.j:
4077 * tests/regression/jasmin/test_verify_fail_athrow_wrong_reftype.j:
4080 * tests/regression/jasmin/Makefile.am: Added new tests.
4082 2006-10-11 16:21 edwin
4084 * tests/regression/jasmin/test_verify_fail_areturn_wrong_reftype.j:
4087 * tests/regression/jasmin/test_verify_fail_invoke_return_basic_type.j:
4090 * tests/regression/jasmin/test_verify_fail_ireturn_wrong_type.j: New
4093 * tests/regression/jasmin/Makefile.am: Added new tests.
4095 2006-10-11 10:17 edwin
4097 * tests/regression/jasmin/test_verify_fail_handler_bad_local.j: new
4100 * tests/regression/jasmin/Makefile.am: Added new test.
4102 2006-10-10 21:16 edwin
4104 * tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j:
4105 Added expected error.
4107 * tests/regression/jasmin/test_verify_fail_jsr_recursion.j: Likewise.
4109 * tests/regression/jasmin/test_verify_ok_jsr_improper_nesting.j: New
4112 * tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j: New
4115 * tests/regression/jasmin/Makefile.am: Added new tests.
4117 2006-10-10 20:45 edwin
4120 tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j:
4123 * tests/regression/jasmin/Makefile.am: Added new test.
4125 2006-10-10 20:31 edwin
4127 * tests/regression/jasmin/test_verify_fail_jsr_recursion.j: New test.
4129 * tests/regression/jasmin/Makefile.am: Added new test.
4131 2006-10-10 00:29 edwin
4133 * src/vm/resolve.c, src/vm/resolve.h (constrain_unresolved_method):
4134 Split into two new functions.
4136 (resolve_constrain_unresolved_method_instance): New function.
4137 (resolve_constrain_unresolved_method_params): Likewise.
4139 * src/vm/jit/verify/typecheck.c (verify_invocation): Use new
4142 2006-10-09 23:53 edwin
4144 * src/vm/resolve.c (resolve_method_type_checks): Split up into
4147 (resolve_method_instance_type_checks): New function.
4149 (resolve_method_param_type_checks): New function.
4151 * src/vm/resolve.h (resolve_method_type_checks): Removed.
4152 (resolve_method_instance_type_checks): New function.
4153 (resolve_method_param_type_checks): New function.
4155 * src/vm/jit/verify/typecheck.c (verify_invocation): Call
4156 resolve_method_instance_type_checks and
4157 resolve_method_param_type_checks.
4159 2006-10-09 23:21 edwin
4161 * src/vm/resolve.c (resolve_method_verifier_checks): Removed unused
4162 variable. Removed unclear assertion.
4164 2006-10-09 23:17 edwin
4166 * src/vm/resolve.c (resolve_method_verifier_checks): Removed unused
4169 (resolve_method): Changed arguments to resolve_method_verifier_checks.
4171 * src/vm/resolve.h (resolve_method_verifier_checks): Removed unused
4174 * src/vm/jit/verify/typecheck.c (verify_invocation): Changed
4175 arguments to resolve_method_verifier_checks.
4177 2006-10-09 23:06 edwin
4179 * src/vm/resolve.c (resolve_method_verifier_checks): Factored out
4180 parameter type checks into a separate function.
4182 (resolve_method_type_checks): New function.
4184 * src/vm/resolve.h (resolve_method_type_checks): New function.
4186 * src/vm/jit/verify/typecheck.c (verify_invocation): Call
4187 resolve_method_type_checks.
4189 2006-10-09 22:19 edwin
4191 * src/vm/resolve.c (resolve_method_verifier_checks): Factored out
4192 loading constraints into a separate function.
4194 (resolve_method_loading_constraints): New function.
4196 (resolve_method): Call resolve_method_loading_constraints.
4198 * src/vm/resolve.h (resolve_method_loading_constraints): New function.
4200 * src/vm/jit/verify/typecheck.c (verify_invocation): Call
4201 resolve_method_loading_constraints.
4203 2006-10-09 17:08 edwin
4205 * src/vm/resolve.c (resolve_method_lazy): Removed dependence on
4206 instruction format. Do not perform verifier checks. (Caller will
4209 (create_unresolved_method): Renamed to
4210 resolve_create_unresolved_method. Changed arguments.
4212 * src/vm/resolve.h (create_unresolved_method): Renamed to
4213 resolve_create_unresolved_method. Changed arguments.
4215 (resolve_method_lazy): Changed arguments.
4217 (resolve_method_verifier_checks): Export.
4219 * src/vm/jit/verify/typecheck.c (verify_invocation): Adapted
4220 to changed resolve functions. Call resolve_method_verifier_checks.
4221 Do promotion from INVOKEVIRTUAL to INVOKESPECIAL here.
4223 * src/vm/jit/parse.c (parse): Adapted to changed resolve functions.
4224 Do promotion from INVOKEVIRTUAL to INVOKESPECIAL here.
4226 2006-10-09 15:42 edwin
4228 * src/vm/resolve.c (resolve_field_verifier_checks): Removed dependence
4229 on instruction format.
4231 (resolve_field_lazy): Pass field reference, instead of instruction.
4232 Do not perform verification checks here. (Caller will do them.)
4234 (resolve_field): Adapted to changed resolve_field_verifier_checks.
4236 (create_unresolved_field): Renamed to resolve_create_unresolved_field.
4238 (constrain_unresolved_field): Renamed to
4239 resolve_constrain_unresolved_field. Removed dependence on instruction
4242 * src/vm/resolve.h (create_unresolved_field): Renamed to
4243 resolve_create_unresolved_field.
4245 (resolve_field_lazy): Changed arguments.
4247 (resolve_field_verifier_checks): Export.
4249 (constrain_unresolved_field): Renamed to
4250 resolve_constrain_unresolved_field. Changed arguments.
4252 * src/vm/jit/verify/typecheck.c (typecheck): Moved instruction set
4253 dependent parts of resolve functions into typecheck.
4255 * src/vm/jit/parse.c (resolve_field_lazy): Changed arguments.
4256 (create_unresolved_field): Renamed.
4258 2006-10-08 22:49 edwin
4261 test/regression/jasmin/test_verify_ok_jsr_subroutine_loops_to_start.j:
4264 * test/regression/jasmin/test.j: Small cleanup.
4266 * test/regression/jasmin/Makefile.am: Added new test.
4268 2006-10-08 11:39 edwin
4270 * src/vm/jit/stack.c: Verify that subroutines are not merged.
4271 (SBRSTART): New macro.
4272 (COPY_VAL_AND_TYPE_VAR): New macro, propagate SBRSTART.
4273 (COPY_VAL_AND_TYPE): Use COPY_VAL_AND_TYPE_VAR.
4274 (stack_create_invars): Cleaned up, use COPY_VAL_AND_TYPE_VAR.
4275 (stack_create_invars_from_outvars): Use COPY_VAL_AND_TYPE_VAR.
4276 (stack_check_invars): Check against merging of subroutines. Wrapped
4277 verifier checks in #if defined(ENABLE_VERIFIER).
4278 (stack_check_invars_from_outvars): Likewise.
4279 (stack_reanalyse_block): Wrapped verifier checks in
4280 #if defined(ENABLE_VERIFIER).
4281 (stack_analyse): Prepare a real variable for the handler stack.
4282 Implemented re-analysing of blocks. Set SBRSTART for JSR.
4284 * src/vm/jit/parse.c (parse): Reserve extra variables needed by
4287 * src/vm/global.h (STACK_EXTRA_VARS): New macro.
4289 2006-10-08 10:51 edwin
4291 * src/vm/jit/show.c (show_basicblock): Removed extra newline.
4293 2006-10-08 00:07 edwin
4296 tests/regression/jasmin/test_verify_fail_jsr_merge_subroutines_via_stack.j:
4299 * tests/regression/jasmin/Makefile.am: Added new test.
4301 2006-10-07 23:56 edwin
4303 * src/vm/jit/cfg.c (cfg_build): Fixed a bug causing infinite loops.
4305 * src/vm/jit/parse.c (parse): Always add a NOP at block ends. This is
4306 needed by the JSR elimination in stack.c.
4308 * tests/regression/jasmin/test_verify_fail_jsr_merge_subroutines.j:
4311 * tests/regression/jasmin/Makefile.am: Added new test.
4313 2006-10-07 23:02 edwin
4315 * tests/regression/jasmin/test_verify_fail_jsr_polymorphic_pop.j:
4318 * tests/regression/jasmin/Makefile.am: Added new test.
4320 * src/vm/jit/stack.c (stack_check_invars): Fixed bug exposed by the
4322 (stack_check_invars_from_outvars): Likewise.
4324 2006-10-07 22:34 edwin
4327 tests/regression/jasmin/test_verify_fail_jsr_called_with_different_stackdepths.j:
4329 * tests/regression/jasmin/Makefile.am: Added new test.
4331 2006-10-07 12:54 edwin
4333 * src/vm/jit/stack.c (GET_NEW_VAR): Fixed macro argument.
4335 (SET_TEMPVAR): Call new function stack_change_to_tempvar.
4337 (stack_change_to_tempvar): New function.
4339 (stack_analyse): Mark pass-through stackslots of INVOKEs instead of
4340 resetting them to TEMPVARs.
4342 * src/vm/jit/jit.h (PASSTHROUGH): New flag.
4344 2006-10-07 10:22 edwin
4346 * src/vm/jit/allocator/simplereg.c: Implemented REG_INDEX for
4347 architectures with address register file.
4349 2006-10-07 09:44 edwin
4351 * src/vm/jit/allocator/simplereg.c
4352 (simplereg_allocate_locals_leafmethod): Fixed declaration after code.
4354 2006-10-07 00:06 edwin
4356 * src/vm/jit/allocator/simplereg.c (simplereg_allocate_interface):
4357 Copy all flags except SAVEDVAR when reusing an interface slot.
4359 2006-10-06 23:58 edwin
4361 * src/vm/jit/allocator/simplereg.c: Cleaned up memory slot allocation.
4363 2006-10-06 23:41 edwin
4365 * src/vm/jit/allocator/simplereg.c (simplereg_allocate_interfaces):
4369 2006-10-06 23:03 edwin
4371 * src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
4372 Minor cleanup, use SIMPLEREG_REG_INDEX.
4374 2006-10-06 22:37 edwin
4376 * src/vm/jit/allocator/simplereg.c: Reuse interface registers in
4378 that don't need them. Abstracted out the free register stacks with
4379 macros. Major code cleanup.
4381 * src/vm/jit/allocator/simplereg.h (reg_make_statistics): Renamed to
4382 simplereg_make_statistics.
4384 * src/vm/jit/reg.h (registerdata): Added fields `adrusedinout`,
4385 `intusedinout`, `fltusedinout`, and `regisoutvar`.
4387 * src/vm/jit/jit.c (simplereg_make_statistics): Renamed to
4388 simplereg_make_statistics.
4390 * src/vm/jit/jit.h (SAVEDTMP): Renamed to SAVREG.
4391 (TMPARG): Renamed to ARGREG.
4395 2006-10-06 21:30 edwin
4397 * src/vm/jit/stack.c (stack_analyse): Do not set argintreguse to
4398 a value > INT_ARG_CNT, as this breaks some new code that will
4399 later be committed to simplereg.c, and does not make sense, anyway.
4401 2006-10-06 20:11 edwin
4403 * src/vm/jit/intrp/Makefile.am (Changes): Added my name.
4405 2006-10-06 20:09 edwin
4407 * src/vm/jit/show.h (show_variable): Made global.
4408 (show_variable_array): Likewise.
4410 * src/vm/jit/show.c (show_variable): Likewise.
4411 (show_variable_array): Likewise.
4413 2006-10-05 20:30 edwin
4415 * src/threads/native/threads.c (threads_attach_current_thread): Rename
4416 left-over `t` to `thread` in interpreter code.
4418 2006-10-05 20:21 edwin
4420 * src/vm/jit/codegen-common.c: Include vm/jit/intrp/intrp.h to prevent
4423 2006-10-05 20:18 edwin
4425 * src/vm/jit/intrp/intrp.h: Added missing prototypes.
4427 * src/vm/jit/intrp/engine.c: Comment unused variable `ca1`.
4429 * src/vm/jit/intrp/java.vmg: Mark the variables `currentsp` as
4432 2006-10-05 20:04 edwin
4434 * src/vm/jit/intrp/intrp.h: Cleaned up. Defined missing prototypes.
4436 * src/vm/jit/intrp/java.vmg: Defined "afi" type prefix.
4438 2006-10-05 19:36 edwin
4440 * src/vm/jit/intrp/peephole.c: Include interpreter files using < >
4441 instead of " ", so they are only searched for in the include path.
4442 This avoids using the wrong include files when compiling in a
4445 * src/vm/jit/intrp/codegen.c: Likewise.
4446 * src/vm/jit/intrp/engine.c: Likewise.
4447 * src/vm/jit/intrp/disasm.c: Likewise.
4448 * src/vm/jit/intrp/dynamic-super.c: Likewise.
4450 * src/vm/jit/intrp/vmgenx: Fixed to work with builddir, and cleaned
4453 * src/vm/jit/intrp/Makefile.am: Fixed dependencies for builddir.
4455 2006-10-05 17:52 edwin
4457 * src/vm/jit/intrp/engine.c (Changes): Added my name.
4458 (vim boilerplate): Added.
4460 2006-10-05 17:28 twisti
4462 * src/native/jni.c (jni_attach_current_thread): New help function.
4463 (_Jv_JNI_AttachCurrentThread): Use helper function.
4464 (_Jv_JNI_AttachCurrentThreadAsDaemon): Likewise.
4465 (_Jv_JNI_DetachCurrentThread): Implemented.
4467 * src/threads/native/threads.c (method_thread_init)
4468 (method_threadgroup_add_: Made static.
4469 (threads_init): Code rearranged.
4470 (threads_startup_thread): Removed thread detach code and call
4471 threads_detach_thread.
4472 (threads_detach_thread): New function.
4474 * src/threads/native/threads.h (threads_detach_thread): Added.
4476 2006-10-05 17:23 twisti
4478 * src/vm/utf8.c (utf_removeThread, utf_java_lang_Thread__V): Added.
4479 (utf8_init): Initialize new strings.
4480 * src/vm/utf8.h (utf_removeThread, utf_java_lang_Thread__V): Added.
4482 2006-10-05 16:28 edwin
4484 * src/vm/vm.c (vm_create): Turn off the verifier for -Xint.
4486 2006-10-05 16:18 edwin
4488 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Style fix.
4490 2006-10-05 16:12 edwin
4492 * src/vm/jit/intrp/codegen.c (codegen): Save synchronized object in
4493 a special stackslot and use it for monitorexit.
4495 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): When
4496 unwinding a synchronized method, exit the monitor.
4498 2006-10-05 15:43 edwin
4500 * src/vm/jit/intrp/codegen.c (codegen): Reserve an extra stackslot in
4501 synchronized methods.
4502 (intrp_createcompilerstub): Likewise.
4503 (intrp_createnativestub): Use stackframesize for clarity.
4505 2006-10-05 15:33 edwin
4507 * src/vm/jit/intrp/codegen.c (codegen): Separate stackframesize from
4508 the number of local variables.
4509 (intrp_createcompilerstub): Likewise.
4511 * src/vm/jit/intrp/engine.c (MAXLOCALS): Changed to FRAMESIZE.
4513 * src/vm/jit/intrp/java.vmg (INVOKEVIRTUAL): Use FRAMESIZE.
4514 (INVOKESTATIC): Likewise.
4515 (INVOKESPECIAL): Likewise.
4516 (INVOKEINTERFACE): Likewise.
4518 2006-10-05 14:13 twisti
4520 * src/native/jni.c (jni_init_localref_table): New function.
4521 (AttachCurrentThread): Implemented.
4522 (JNI_CreateJavaVM): Use jni_init_localref_table.
4524 * src/threads/native/threads.c (method_thread_init)
4525 (method_threadgroup_add): New global variables.
4526 (threads_init): Store methods resolved in global variables.
4527 (threads_attach_current_thread): New function.
4529 * src/threads/native/threads.h (MIN_PRIORITY, NORM_PRIORITY)
4530 (MAX_PRIORITY): Defined.
4531 (threads_attach_current_thread): New function.
4533 2006-10-05 12:23 edwin
4535 * src/vm/jit/intrp/java.vmg (TRACECALL): Implemented for 32-bit
4538 2006-10-05 10:50 edwin
4540 * src/vm/jit/intrp/codegen.c (codegen): Fix off-by-one error in len
4541 tests of optimizations.
4543 2006-10-05 10:41 edwin
4545 * src/vm/jit/show.c (show_icmd): Show constant operand of IFxx, and
4548 2006-10-05 10:39 edwin
4550 * src/vm/jit/show.c (show_basicblock): Fixed deadcode check.
4552 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Clear
4555 2006-10-05 09:04 twisti
4557 * src/vm/jit/powerpc/emit.c (emit_verbosecall_enter): Darwin build
4560 2006-10-05 00:21 edwin
4562 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Fixed for
4565 2006-10-05 00:06 edwin
4567 * src/vm/jit/show.c (show_method): Adapted to interpreter.
4568 (show_basicblock): Likewise.
4570 * src/vm/jit/intrp/disass.c (intrp_disassinstr): Write disassembly to
4572 (intrp_disassemble): Likewise.
4574 2006-10-04 23:08 edwin
4576 * tests/regression/jctest.java: Also test division/remainder with
4579 * tests/regression/jctest.output: Updated test output.
4581 2006-10-04 23:05 edwin
4583 * src/vm/jit/intrp/codegen.c (codegen): Don't ?DIVPOW2 with value 1.
4584 The optimization produces the wrong result in this case.
4586 2006-10-04 22:53 edwin
4588 * src/vm/jit/intrp/codegen.c (codegen): Implemented IDIVPOW2 and
4589 LDIVPOW2 optimizations.
4591 2006-10-04 22:39 edwin
4593 * src/vm/jit/intrp/codegen.c (codegen): Implemented IREMPOW2 and
4594 LREMPOW2 optimizations.
4596 2006-10-04 22:12 edwin
4598 * src/vm/jit/intrp/codegen.c (codegen): Implement optimization of
4601 2006-10-04 20:44 edwin
4603 * src/vm/jit/allocator/simplereg.c (reg_free_temp_func): Fixed indices
4604 into regcopycount array.
4605 (allocate_scratch_registers): Likewise.
4607 2006-10-04 20:02 edwin
4609 * src/vm/jit/intrp/codegen.c (codegen): #if 0-ed optimized ICMDs that
4610 are currently not used. In order to use these instructions, we could
4611 either add the optimization checks directly to codegen.c, or introduce
4612 a special pass between parse and intrp_codegen which replaces the
4615 2006-10-04 19:47 edwin
4617 * src/vm/jit/intrp/codegen.c (codegen): Removed unoptimized *CONST
4618 instructions. Since stack_analyse is no longer performed before the
4619 interpreter codegen, these instructions cannot occur.
4621 2006-10-04 19:38 edwin
4623 * src/vm/jit/stack.c: Removed interpreter-specific code.
4625 2006-10-04 18:44 edwin
4627 * src/threads/native/lock.c (lock_monitor_exit): Check for NULL
4629 There is no guarantee that MONITORENTER/EXITs are properly nested, so
4630 we cannot rely on the check in lock_monitor_enter here.
4632 2006-10-04 18:39 edwin
4634 * tests/regression/jasmin/test_nullpointerexception_monitorexit.j:
4635 Fixed test case, so it passes if the exception is thrown.
4637 2006-10-04 18:35 edwin
4639 * tests/regression/jasmin/test_nullpointerexception_monitorexit.j:
4642 * tests/regression/jasmin/Makefile.am: Added
4643 test_nullpointerexception_monitorexit.j.
4645 2006-10-04 18:25 edwin
4647 * tests/regression/jasmin/Makefile.am: Properly quote variables.
4649 2006-10-04 18:23 edwin
4651 * src/vm/jit/intrp/engine.c (THROW_CLASSCASTEXCEPTION): Really throw a
4652 ClassCastException, not a NullPointerException.
4654 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Set
4655 global_sp, in case the resolving of the catchtype involves the
4656 execution of Java code.
4658 * src/vm/jit/intrp/java.vmg (MONITORENTER): Check for exception.
4659 (MONITOREXIT): Likewise.
4661 2006-10-04 16:42 edwin
4663 * src/vm/jit/intrp/java.vmg (LOOKUPSWITCH): No point in using >= 0 on
4664 an unsigned variable.
4666 2006-10-04 16:01 edwin
4668 * src/vm/jit/intrp/codegen.c (nativecall): Store return valud of
4669 codegen_finish_native_call in *exceptionptr.
4671 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Resolve
4672 unresolved catchtype references.
4674 2006-10-04 15:14 edwin
4676 * src/vm/jit/intrp/codegen.c (codegen): Convert JavaPCs to block
4678 Do not check for BBREACHED (not set by parse).
4679 (gen_branch): Convert JavaPCs to block indices.
4681 * src/vm/jit/intrp/java.vmg (RET): restored.
4683 * src/vm/jit/jit.c (jit_compile_intern): Do not perform stack_analyse
4685 dependent passes for intrp.
4687 2006-10-04 15:04 twisti
4689 * src/vm/jit/intrp/md.c (intrp_md_init): Set vm_out to stderr.
4691 * src/vm/jit/intrp/engine.c (THROW_CLASSCASTEXCEPTION): Added.
4692 (engine): Handle ClassCastExceptions with argument.
4694 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Indent.
4696 * src/vm/jit/intrp/dynamic-super.c: Use LOCK_MONITOR_{ENTER,EXIT}
4699 * src/vm/jit/intrp/patcher.c (intrp_patcher_invokestatic_special):
4700 Write back method pointer. I wonder how this ever worked before.
4701 (intrp_patcher_invokevirtual): Likewise.
4702 (intrp_patcher_invokeinterface): Likewise.
4704 * src/vm/jit/intrp/java.vmg (RET): Removed.
4705 (TABLESWITCH): Changed reading direction of cases. Don't know if that
4707 (CHECKCAST): Use THROW_CLASSCASTEXCEPTION.
4708 (ARRAYCHECKCAST): Likewise.
4709 (MONITORENTER): Likewise.
4710 (MONITOREXIT): Likewise.
4712 2006-10-04 14:50 edwin
4714 * src/vm/jit/intrp/dynamic-super.c (superreuse_insert): Use
4715 lock_monitor_ functions.
4716 (patchersuper_rewrite): Likewise.
4717 (hashtable_patchersupers_insert): Likewise.
4719 2006-10-04 14:31 edwin
4721 * src/vm/jit/intrp/codegen.c (codegen): Restored ICMD_RET to really
4722 perform a RET (JSR elimination will not be performed for intrp.)
4723 Removed a comment that does not apply any more.
4725 2006-10-04 14:20 edwin
4727 * src/vm/jit/intrp/java.vmg (builtin_monitorenter): Changed to
4729 (builtin_monitorexit): Changed to lock_monitor_exit.
4731 2006-10-04 13:40 edwin
4733 * src/vm/jit/intrp/codegen.c: Made it compile again.
4735 2006-10-04 13:35 twisti
4737 * src/vm/jit/intrp/codegen.c: New instruction format fixes.
4739 2006-10-04 12:09 twisti
4741 * configure.ac (AC_CONFIG_FILES): Removed src/scripts/rmic and
4742 src/scripts/rmiregistry.
4743 * src/scripts/Makefile.am (bin_SCRIPTS): Removed trailing \.
4745 2006-10-04 10:37 twisti
4747 * src/scripts/rmic.in: Removed.
4748 * src/scripts/rmiregistry.in: Likewise.
4750 * src/scripts/Makefile.am (bin_SCRIPTS) Removed rmi.in and
4752 * src/scripts/.cvsignore: Likewise.
4754 * src/scripts/java.in: Don't call cacao with an absolute path, this
4755 would break WITH_JRE_LAYOUT. I think we can expect cacao to be in the
4758 2006-10-04 10:10 twisti
4760 * configure.ac (--with-jre-layout): Added.
4762 * src/vm/global.h (CLASSPATH_LIBRARY_PATH): Removed.
4764 * src/vm/vm.c [WITH_JRE_LAYOUT] (libgen.h, unistd.h): Added.
4765 (cacao_prefix, cacao_libjvm, classpath_libdir): New global variables.
4766 (version): Print gnu.classpath.boot.library.path instead of
4767 java.library.path as this is the interesting one.
4768 (vm_create): Added WITH_JRE_LAYOUT stuff.
4770 * src/vm/vm.h (stackbottom): Removed.
4771 (cacao_prefix, cacao_libjvm, classpath_libdir): Added.
4773 * src/cacao/cacao.c [WITH_JRE_LAYOUT] (errno.h, libgen.h, unistd.h):
4775 (main): Added WITH_JRE_LAYOUT stuff.
4777 * src/native/vm/gnu_classpath_VMSystemProperties.c (vm/vm.h): Added.
4778 (preInit): Set env_java_home to cacao_prefix and
4779 gnu.classpath.boot.library.path to classpath_libdir.
4781 * src/native/native.c (native_init): Use cacao_libjvm in lt_dlopenext
4784 2006-10-03 21:19 edwin
4786 * src/vm/jit/jit.h (jitdata): Renamed c_debug_nr to c_block_nr. (Still
4787 not a good name. Should probably be removed entirely.)
4790 * src/vm/method.h (c_debug_nr): Renamed to c_block_nr.
4791 * src/vm/jit/stack.c: Likewise.
4792 * src/vm/jit/loop/analyze.c: Likewise.
4793 * src/vm/jit/inline/inline.c: Likewise.
4794 * src/vm/jit/parse.c: Likewise.
4796 2006-10-03 20:57 edwin
4798 * src/vm/jit/powerpc/codegen.c: Removed new_ prefix from variable and
4801 * src/vm/jit/cfg.c: Likewise.
4802 * src/vm/jit/sparc64/codegen.c: Likewise.
4803 * src/vm/jit/reorder.c: Likewise.
4804 * src/vm/jit/ifconv/ifconv.c: Likewise.
4805 * src/vm/jit/alpha/codegen.c: Likewise.
4806 * src/vm/jit/stack.c: Likewise.
4807 * src/vm/jit/stack.h: Likewise.
4808 * src/vm/jit/show.c: Likewise.
4809 * src/vm/jit/verify/typecheck.c: Likewise.
4810 * src/vm/jit/mips/codegen.c: Likewise.
4811 * src/vm/jit/allocator/simplereg.c: Likewise.
4812 * src/vm/jit/i386/codegen.c: Likewise.
4813 * src/vm/jit/powerpc64/codegen.c: Likewise.
4814 * src/vm/jit/parse.c: Likewise.
4815 * src/vm/jit/replace.c: Likewise.
4816 * src/vm/jit/x86_64/codegen.c: Likewise.
4817 * src/vm/jit/parse.h: Likewise.
4818 * src/vm/jit/jit.c: Likewise.
4819 * src/vm/jit/jit.h: Likewise.
4821 2006-10-03 20:44 edwin
4823 * src/vm/resolve.c: Removed new_ prefix from function names.
4824 * src/vm/resolve.h: Likewise.
4825 * src/vm/jit/stack.c: Likewise.
4826 * src/vm/jit/stack.h: Likewise.
4827 * src/vm/jit/show.c: Likewise.
4828 * src/vm/jit/verify/typecheck.c: Likewise.
4829 * src/vm/jit/show.h: Likewise.
4830 * src/vm/jit/allocator/simplereg.c: Likewise.
4831 * src/vm/jit/allocator/simplereg.h: Likewise.
4832 * src/vm/jit/parse.c: Likewise.
4833 * src/vm/jit/parse.h: Likewise.
4834 * src/vm/jit/jit.c: Likewise.
4836 2006-10-03 20:27 edwin
4838 * src/vm/jit/allocator/simplereg.c: Warning fixed.
4840 2006-10-03 20:26 edwin
4842 * src/vm/jit/i386/codegen.c (codegen): Use varindex as in other
4845 2006-10-03 20:22 edwin
4847 * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete stack depth
4850 * src/vm/jit/stack.h (CHECK_STACK_DEPTH): Removed macro.
4852 2006-10-03 19:11 edwin
4854 * src/vm/jit/powerpc64/codegen.c (codegen): Unified IINC and
4857 2006-10-03 18:50 edwin
4859 * src/vm/jit/powerpc/codegen.c (codegen): Unify IINC and IADDCONST.
4861 2006-10-03 18:34 edwin
4863 * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Bugfix.
4865 2006-10-03 18:21 twisti
4867 * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): We don't
4868 need to strcpy the library variables. Don't know where this code came
4871 2006-10-03 18:09 edwin
4873 * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Make it
4876 2006-10-03 17:44 edwin
4878 Moved unified_variables branch to trunk.
4880 2006-10-03 17:24 edwin
4882 * tests/regression/jasmin/test_iinc.j: New test.
4884 * tests/regression/jasmin/Makefile.am: Added test_iinc.j
4886 2006-10-03 16:42 edwin
4888 Merged r5640 from trunk:
4890 * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Renamed
4891 md-emit.h to emit.h.
4893 2006-10-03 16:32 edwin
4895 * src/vm/jit/powerpc/codegen.c: Implemented ICMD_JSR like ICMD_GOTO.
4896 * src/vm/jit/powerpc64/codegen.c: Likewise.
4898 * src/vm/jit/alpha/codegen.c: Implemented ICMD_JSR like ICMD_GOTO.
4899 Unified ICMD_IINC and ICMD_IADDCONST.
4900 * src/vm/jit/mips/codegen.c: Likewise.
4901 * src/vm/jit/i386/codegen.c: Likewise.
4902 * src/vm/jit/x86_64/codegen.c: Likewise.
4904 2006-10-02 19:24 edwin
4906 Merged r5636, r5637, and r5638 from trunk:
4908 * src/native/tools/gennativetable.c: Made it work again.
4910 * tests/regression/jasmin/.cvsignore: New file.
4912 * src/vm/jit/powerpc/codegen.c (codegen): #if 0 replacement point
4915 * src/vm/jit/powerpc/emit.c [!NDEBUG] (emit_verbosecall_enter)
4916 (emit_verbosecall_exit): #ifdef'ed.
4918 2006-10-02 16:36 christian
4920 * src/vm/jit/alpha/md-abi.c (md_return_alloc): Activated return value
4921 stackslot registers precolouring again.
4923 2006-10-02 14:18 edwin
4925 * src/vm/jit/powerpc/netbsd/md-abi.c: Blindly ported to
4928 * src/vm/jit/powerpc/linux/md-abi.c: Cleaned up.
4929 * src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
4930 * src/vm/jit/alpha/md-abi.c: Likewise.
4931 * src/vm/jit/mips/md-abi.c: Likewise.
4932 * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
4933 * src/vm/jit/x86_64/md-abi.c: Likewise.
4935 2006-10-02 13:59 edwin
4937 * src/vm/jit/powerpc/codegen.c: Changed OUTVAR to INOUT.
4938 * src/vm/jit/alpha/codegen.c: Likewise.
4939 * src/vm/jit/stack.c: Likewise.
4940 * src/vm/jit/show.c: Likewise.
4941 * src/vm/jit/mips/codegen.c: Likewise.
4942 * src/vm/jit/allocator/simplereg.c: Likewise.
4943 * src/vm/jit/i386/codegen.c: Likewise.
4944 * src/vm/jit/powerpc64/codegen.c: Likewise.
4945 * src/vm/jit/x86_64/codegen.c: Likewise.
4946 * src/vm/jit/jit.h: Likewise.
4948 2006-10-02 13:43 edwin
4950 * src/vm/jit/alpha/codegen.h: Removed M_COPY.
4951 * src/vm/jit/mips/codegen.h: Likewise.
4952 * src/vm/jit/i386/codegen.h: Likewise.
4953 * src/vm/jit/powerpc64/codegen.h: Likewise.
4954 * src/vm/jit/x86_64/codegen.h: Likewise.
4956 * src/vm/jit/powerpc/codegen.c: Unified ICMD_RET with ICMD_GOTO.
4957 * src/vm/jit/alpha/codegen.c: Likewise.
4958 * src/vm/jit/mips/codegen.c: Likewise.
4959 * src/vm/jit/i386/codegen.c: Likewise.
4960 * src/vm/jit/powerpc64/codegen.c: Likewise.
4961 * src/vm/jit/intrp/codegen.c: Likewise.
4962 * src/vm/jit/x86_64/codegen.c: Likewise.
4964 2006-10-02 13:26 edwin
4966 * src/vm/jit/powerpc/codegen.c (codegen): Unified LOAD/STORE and
4967 COPY/MOVE instructions.
4969 * src/vm/jit/powerpc/codegen.h (M_COPY): Removed.
4971 2006-10-02 13:16 edwin
4973 * src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Cleaned up
4975 * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Likewise.
4977 * src/vm/jit/powerpc/codegen.c (codegen): Removed obsolete call to
4979 * src/vm/jit/alpha/codegen.c (codegen): Likewise.
4980 * src/vm/jit/mips/codegen.c (codegen): Likewise.
4981 * src/vm/jit/i386/codegen.c (codegen): Likewise.
4982 * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
4983 * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
4985 * src/vm/jit/codegen-common.c (codegen_reg_of_var): Cleaned up.
4986 (codegen_reg_of_dst): Implemented using inline codegen_reg_of_var.
4988 2006-10-02 12:10 edwin
4990 Merged r5626 from trunk:
4992 * src/vm/jit/replace.c (replace_create_replacement_points): Return
4995 2006-10-02 11:55 edwin
4997 Merged r5624 from trunk:
4999 * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Remove argument
5000 stack frame in normal path.
5002 2006-10-02 00:32 edwin
5004 * src/vm/jit/alpha/codegen.c (codegen): Unified MOVE/COPY with
5005 LOAD/STORE instructions.
5007 2006-10-02 00:08 edwin
5009 * tests/regression/jasmin/runtest: Made it a bash script, so it works
5012 2006-10-02 00:06 edwin
5014 * tests/regression/jasmin/runtest: Do not use grep -o.
5016 2006-10-01 23:51 edwin
5018 * src/vm/jit/mips/emit.c (emit_copy): Fixed arguments to
5020 * src/vm/jit/powerpc64/emit.c (emit_copy): Likewise.
5022 * src/vm/jit/mips/codegen.c (codegen): Define varindex.
5023 * src/vm/jit/powerpc64/codegen.c (codegen): Likewise. Fixed arguments
5024 to codegen_reg_of_var. Replaced codegen_reg_of_var with
5027 2006-10-01 23:37 edwin
5029 * src/vm/jit/powerpc64/codegen.c: Ported to unified_variables.
5030 * src/vm/jit/powerpc64/codegen.h: Likewise.
5031 * src/vm/jit/powerpc64/emit.c: Likewise.
5032 * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
5034 2006-10-01 23:00 edwin
5036 Merged r5616 from trunk:
5038 * src/native/jni.c: Prefix all JNI functions with _Jv_JNI_, as gcj
5039 does. This should prevent any linking problems.
5041 2006-10-01 22:55 edwin
5043 * src/vm/jit/mips/codegen.c: Ported to unified_variables.
5044 * src/vm/jit/mips/codegen.h: Likewise.
5045 * src/vm/jit/mips/emit.c: Likewise.
5046 * src/vm/jit/mips/md-abi.c: Likewise.
5048 2006-10-01 20:52 edwin
5050 * src/vm/jit/powerpc/codegen.c (codegen): Cleaned up unified_variables
5053 2006-10-01 20:49 edwin
5055 * src/vm/jit/i386/codegen.c (codegen): Cleaned up unified_variables
5058 2006-10-01 20:42 edwin
5060 * src/vm/jit/x86_64/codegen.c (codegen): Cleaned up unified_variables
5063 2006-10-01 20:37 edwin
5065 * src/vm/jit/alpha/codegen.c (codegen): Cleaned up unified_variables
5068 2006-10-01 20:08 edwin
5070 * tests/regression/jasmin/runtest: Use default JASMIN_JAR, if given.
5072 2006-10-01 18:01 edwin
5074 * src/vm/jit/codegen-common.c (codegen_reg_of_var): Fixed typo in
5077 2006-10-01 15:44 edwin
5079 * src/vm/jit/verify/typeinfo.c (typevector_store_retaddr): Do not
5080 invalidate the variable at index i-1.
5081 (typevector_store_twoword): Removed.
5083 2006-10-01 15:25 edwin
5085 * src/vm/jit/verify/typecheck.c (typecheck): Added debug print of
5086 the reverse local map.
5088 2006-10-01 14:43 edwin
5090 * src/vm/vm.c (vm_compile_all): Only use if !defined(NDEBUG).
5091 (vm_compile_method): Likewise.
5093 2006-10-01 14:37 edwin
5095 * src/vm/jit/verify/typeinfo.h: Disabled TYPECHECK_VERBOSE.
5097 2006-09-30 23:28 edwin
5099 * src/vm/jit/jit.c (jit_compile_intern): Removed commented out
5102 2006-09-30 23:12 edwin
5104 * src/vm/jit/allocator/simplereg.c (reg_new_temp): Simplified.
5105 (reg_free_temp): Formatted.
5107 2006-09-30 23:06 edwin
5109 * src/vm/jit/powerpc/linux/md-abi.c: Use VAR and VAROP macros.
5110 * src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
5111 * src/vm/jit/alpha/codegen.c: Likewise.
5112 * src/vm/jit/alpha/codegen.h: Likewise.
5113 * src/vm/jit/alpha/md-abi.c: Likewise.
5114 * src/vm/jit/show.c: Likewise.
5115 * src/vm/jit/verify/typecheck.c: Likewise.
5116 * src/vm/jit/allocator/simplereg.c: Likewise.
5117 * src/vm/jit/i386/codegen.h: Likewise.
5118 * src/vm/jit/parse.c: Likewise.
5119 * src/vm/jit/x86_64/emit.c: Likewise.
5120 * src/vm/jit/x86_64/codegen.c: Likewise.
5121 * src/vm/jit/x86_64/codegen.h: Likewise.
5122 * src/vm/jit/x86_64/md-abi.c: Likewise.
5123 * src/vm/jit/codegen-common.c: Likewise.
5125 2006-09-30 22:45 edwin
5127 * src/vm/jit/i386/codegen.c (codegen): Use VAR and VAROP macros.
5128 (codegen_insert_phi_moves): Likewise.
5130 2006-09-30 22:24 edwin
5132 Merged r5591 from trunk:
5134 * src/native/jni.c (GetVersion): Prefixed with _Jv_, we should do that
5135 with all JNI functions.
5137 2006-09-30 22:22 edwin
5139 Merged r5589 and r5590 from trunk:
5141 * configure.ac: Fixed CFLAGS for cygwin.
5142 * src/threads/native/threads.c: Inserted asserts for cygwin.
5143 * src/vm/jit/i386/cygwin/Makefile.am: See below.
5144 * src/vm/jit/i386/cygwin/md-asm.h: Added.
5145 * src/vm/jit/i386/cygwin/md-os.c: Inserted asserts.
5146 * src/vm/jit/i386/cygwin/ucontext.c: Added 3rd party file.
5147 * src/vm/jit/i386/cygwin/ucontext.h: Added 3rd party file.
5150 * src/cacao/.cvsignore, src/cacaoh/.cvsignore,
5151 src/vm/jit/tools/.cvsignore: Added ignores for cygwin and
5152 modified properties accordingly.
5154 2006-09-30 11:04 christian
5156 * src/vm/jit/alpha/codegen.c (codegen): Changed to use the macros VAR
5159 2006-09-30 10:16 christian
5161 * src/vm/jit/x86_64/codegen.c (codegen): Changed to use the macros
5164 2006-09-29 14:02 edwin
5166 * src/vm/jit/allocator/simplereg.c (reg_free_temp_func): Handle
5168 (new_allocate_scratch_registers): Likewise.
5170 2006-09-29 13:33 edwin
5172 Merged r5540 from trunk:
5174 * configure.ac: Cygwin OS dir added.
5175 * src\lib\Makefile.am: Now checks for "zip.exe" as well
5176 * src\vm\jit\i386\Makefile.am: Added Cygwin OS dir.
5177 * src\vm\jit\i386\cygwin\Makefile.am: Added.
5178 * src\vm\jit\i386\cygwin\md-os.c: Added. Only contains
5179 dummy signal handlers.
5180 * src\vm\builtin.c: Undefine Bias for Cygwin because
5181 Windows uses this define.
5182 * src\vm\signal.c: No signal handlers for Cygwin.
5184 2006-09-29 12:46 edwin
5186 Merged r5573, r5574, r5577, r5578, and r5579 from trunk.
5188 * src/cacao/cacao.c (vm/vm.h): Added.
5189 * src/cacao/Makefile.am [!ENABLE_LIBJVM] (CACAO_LIB): Link libjvm.la.
5192 * src/vm/jit/powerpc/darwin/md-asm.h (md_codegen_get_pv_from_pc):
5194 * src/vm/jit/powerpc/asmpart.S (L_md_codegen_get_pv_from_pc$stub):
5198 * src/cacaoh/cacaoh.c (cacaoh_options_prepare): Set nOptions, this was
5199 deleted accidentally.
5202 * src/vm/vm.c (vm_create): Added installation of exit handler.
5203 (vm_run): New function.
5204 (vm_get_mainclass_from_jar): Likewise.
5205 (vm_compile_all): Likewise.
5206 (vm_compile_method): Likewise.
5207 * src/vm/vm.h (vm_run): New function.
5209 * src/vm/options.c (options_prepare): Removed.
5210 * src/vm/options.h (options_prepare): Likewise.
5212 * src/cacao/cacao.c (getmainclassnamefromjar): Removed.
5213 (main): Moved most stuff to vm-functions and load libjvm with dlopen
5214 and resolve symbols for ENABLE_LIBJVM.
5215 (cacao_options_prepare): New function.
5217 * src/cacao/Makefile.am (CACAO_LIBS): New variable.
5218 (cacao_LDADD): Use CACAO_LIBS.
5220 * src/native/native.c (native_init): Set mainhandle to libjvm for
5223 * src/cacaoh/cacaoh.c (cacaoh_prepare_options): New function.
5226 * src/native/jni.c (JNI_CreateJavaVM): Renamed jvm to vm.
5228 2006-09-28 22:33 edwin
5230 * src/vm/jit/powerpc64: Merged changes from r5403 to r5548 from trunk.
5232 2006-09-28 20:56 edwin
5234 * src/vm/jit/i386/cygwin: Copied directory from trunk.
5236 2006-09-28 20:38 edwin
5238 Merged r5547 from trunk:
5240 * src/native/jni.c (FindClass): Removed architecture #ifdef's.
5242 2006-09-28 20:33 edwin
5244 Merged r5543 from trunk:
5246 * src/vm/jit/sparc64/codegen.c: Completed port to new instruction
5248 * src/vm/jit/sparc64/md-abi.h: Likewise.
5249 * src/vm/jit/sparc64/emit.c: Likewise.
5251 2006-09-28 20:31 edwin
5253 Merged r5541 from trunk:
5255 * src/vm/jit/powerpc/emit.c (vm/jit/emit.h): Renamed to
5256 vm/jit/emit-common.h.
5257 (emit_load_s1, emit_load_s2, emit_load_s3, emit_load_s1_low)
5258 (emit_load_s2_low, emit_load_s3_low, emit_load_s1_high)
5259 (emit_load_s2_high, emit_load_s3_high) (emit_store_dst): Removed.
5261 * src/vm/jit/powerpc/codegen.c (vm/jit/emit.h): Renamed to
5262 vm/jit/emit-common.h.
5264 2006-09-28 20:29 edwin
5266 Merged r5540 and r5542 from trunk:
5268 * configure.ac: Cygwin OS dir added.
5269 * src\lib\Makefile.am: Now checks for "zip.exe" as well
5270 * src\vm\jit\i386\Makefile.am: Added Cygwin OS dir.
5271 * src\vm\jit\i386\cygwin\Makefile.am: Added.
5272 * src\vm\jit\i386\cygwin\md-os.c: Added. Only contains
5273 dummy signal handlers.
5274 * src\vm\builtin.c: Undefine Bias for Cygwin because
5275 Windows uses this define.
5276 * src\vm\signal.c: No signal handlers for Cygwin.
5278 * src/vm/jit/i386/cygwin/.cvsignore: New file.
5280 2006-09-28 20:23 edwin
5282 Merged r5539 from trunk:
5284 * src/vm/jit/mips/emit.c (emit_exception_stubs): Don't use
5285 SIZEOF_VOID_P for getting return address, this is wrong on MIPS32.
5286 * src/vm/jit/mips/codegen.c (createnativestub): Likewise.
5288 2006-09-28 20:20 edwin
5290 Merged r5538 from trunk:
5292 * src/native/native.c (native_insert_char): New function.
5293 (native_resolve_function): Use native_insert_char function to fill
5296 2006-09-28 20:19 edwin
5298 Merged r5537 from trunk:
5300 * src/vm/jit/mips/codegen.c (codegen): Make fieldinfo,
5301 unresolved_field local variables, better code for ICMD_PUTFIELD.
5303 2006-09-28 20:18 edwin
5305 Merged r5536 from trunk:
5307 * src/vm/jit/mips/emit.c (vm/jit/emit.h): Renamed to
5308 vm/jit/emit-common.h.
5309 (emit_load_s1, emit_load_s2, emit_load_s3, emit_store_dst): Removed.
5311 * src/vm/jit/mips/codegen.c (vm/jit/emit.h): Renamed to
5312 vm/jit/emit-common.h.
5313 (codegen): Some updates to field instructions.
5315 2006-09-28 20:17 edwin
5317 Merged r5535 from trunk:
5319 * src/vm/jit/mips/codegen.c (codegen): Moved ICMD_IREMPOW2 and
5322 2006-09-28 20:16 edwin
5324 Merged r5534 from trunk:
5326 * src/vm/jit/alpha/emit.c (vm/jit/emit.h): Renamed to
5327 vm/jit/emit-common.h.
5328 (emit_load_s1, emit_load_s2, emit_load_s3, emit_store_dst): Removed.
5330 * src/vm/jit/alpha/codegen.c (vm/jit/emit.h): Renamed to
5331 vm/jit/emit-common.h.
5333 2006-09-28 20:13 edwin
5335 Merged r5531 and r5532, ported to unified_variables:
5337 * src/vm/jit/i386/md-emit.h: Renamed to src/vm/jit/i386/emit.h.
5339 * src/vm/jit/i386/emit.c (vm/jit/i386/md-emit.h): Renamed to
5341 (vm/jit/emit.h): Renamed to vm/jit/emit-common.h.
5342 (emit_load_s1, emit_load_s2, emit_load_s3, emit_load_s1_low)
5343 (emit_load_s2_low, emit_load_s1_high, emit_load_s2_high)
5344 (emit_store_dst): Removed.
5346 * src/vm/jit/i386/codegen.c (vm/jit/i386/md-emit.h): Renamed to
5348 (vm/jit/emit.h): Renamed to vm/jit/emit-common.h.
5350 2006-09-28 19:53 edwin
5352 Merged r5530 from trunk:
5354 * src/vm/jit/emit.h: Renamed to src/vm/jit/emit-common.h.
5355 * src/vm/jit/emit-common.c: New file.
5357 * src/vm/jit/Makefile.am (noinst_HEADERS): Removed emit.h.
5358 (libjit_la_SOURCES): Added emit-common.[ch].
5360 * src/vm/jit/x86_64/emit.c (emit_load_s1, emit_load_s2, emit_load_s3)
5361 (emit_store_dst): Removed.
5363 * src/vm/jit/x86_64/codegen.c: Changed include names.
5365 2006-09-28 19:46 edwin
5367 Merged r5529 from trunk:
5369 * src/vm/jit/x86_64/md-emit.h: Renamed to src/vm/jit/x86_64/emit.h.
5371 2006-09-28 19:36 edwin
5373 Merged r5527 from trunk:
5375 * src/native/include/.cvsignore: Added sun_misc_Unsafe.h.
5377 2006-09-28 19:33 edwin
5379 Merged r5526 from trunk:
5381 * src/native/vm/sun_misc_Unsafe.c: New file:
5382 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
5384 * src/native/include/Makefile.am (GEN_HEADER_FILES): Added
5387 2006-09-28 19:31 edwin
5389 Merged r5525 from trunk:
5391 * tests/regression/clinitexception.2output: Updated to GNU Classpath
5393 * tests/regression/extest.2output: Likewise.
5395 2006-09-28 19:30 edwin
5397 Merged r5509 from trunk:
5399 * src/vm/jit/show.c (new_show_basicblock): Print predecessors only for
5401 * src/vm/jit/show.h (SHOW_CFG): Defined.
5403 2006-09-28 19:24 edwin
5405 Merged r5506 from trunk:
5407 * src/native/jni.c (GetDirectBufferAddress): Check if address is NULL.
5409 2006-09-28 19:22 edwin
5411 Merged r5502 from trunk, with additional fixes:
5413 * src/vm/jit/jit.c (jit_compile_intern): Moved cfg_build call after
5414 stack_analyse, because of JSR elimination.
5416 * src/vm/jit/cfg.c (cfg_build): Updated to be run after stack_analyse.
5420 * src/vm/jit/cfg.c (cfg_build): Skip NOPs at the end of the block.
5421 Handle JSR and RET correctly. Use bptr->next in the default case
5422 of falling into the following block.
5424 2006-09-28 18:45 edwin
5426 Merged r5489 from trunk:
5428 * configure.ac (INTRP_CFLAGS): Moved a bit.
5429 * src/vm/jit/intrp/Makefile.am (CFLAGS): Don't define.
5430 (AM_CFLAGS): Define as INTRP_CFLAGS, that seems to be the correct way.
5432 2006-09-28 18:42 edwin
5434 * src/vm/jit/sparc64/codegen.c (codegen): Replaced catchtype.cls
5435 with catchtype.any to reflect that it can be a classref or a
5436 classinfo. (Also see r5488.)
5438 2006-09-28 18:35 edwin
5440 Merged r5476 from trunk:
5442 Merged sparc64 changes from trunk.
5444 2006-09-28 18:31 edwin
5446 Merged r5462 from trunk:
5448 * src/vm/jit/parse.c (new_parse): Added a ICMD_NOP at the end of each
5449 basic block, if we have reorder enabled.
5451 2006-09-28 17:02 edwin
5453 * src/vm/jit/reg.h (registerdata): New fields regcopycount,
5454 memcopycount, and memcopycountsize.
5456 * src/vm/jit/allocator/simplereg.c (reg_init_temp): Take jitdata
5457 argument, initialize copy counts.
5458 (reg_free_temp): Simplified a bit.
5459 (reg_free_temp_func): Check if freeing a copy.
5460 (reg_alloc_dup): New function.
5461 (new_allocate_scratch_registers): Implemented DUP coalescing using a
5462 copy count for each register/memory regoff.
5464 2006-09-19 09:41 edwin
5466 * tests/regression/jasmin/runtest: Display only the basename of tests.
5467 * tests/regression/jasmin/Makefile.am: Use $(srcdir) to locate the
5470 2006-09-15 20:18 edwin
5472 * src/vm/jit/stack.c (new_stack_analyse): Set stackslot SAVEDVAR for
5475 2006-09-15 17:19 christian
5477 src/vm/jit/allocator/simplereg.c (reg_free_temp_func): New var
5478 structures also for SUPPORT_COMBINE_INTEGER_REGISTERS.
5480 2006-09-15 17:05 christian
5482 * src/vm/jit/ppc/emit.c (emit_load): Changed to new variable
5483 structure (varinfo * instead of stackptr) and the use of Macros
5484 IS_INMEMORY and VAROP.
5485 (emit_store): Likewise.
5486 (emit_copy): Likewise.
5487 (emit_load_high): Likewise.
5488 (emit_load_low): Likewise.
5489 (emit_load_s1): Likewise.
5490 (emit_load_s1_low): Likewise.
5491 (emit_load_s1_high): Likewise.
5492 (emit_load_s2): Likewise.
5493 (emit_load_s2_low): Likewise.
5494 (emit_load_s2_high): Likewise.
5495 (emit_load_s3): Likewise.
5496 (emit_load_s3_low): Likewise.
5497 (emit_load_s3_high): Likewise.
5498 (emit_store_dst): Likewise.
5500 * src/vm/jit/ppc/codegen.c (codegen): Changed to new variable
5501 structure (varinfo * instead of stackptr, adapting of Argument
5502 handling, no interface copying anymore at BB Boundaries ) and the use
5503 of Macros IS_INMEMORY, VAR and VAROP. ICMD_xSTORE and ICMD_xLOAD use
5505 emit_copy. ICMD_DUPx and ICMD_SWAP were replaced by ICMD_MOVE and
5506 ICMD_COPY. Invars are now regarded for EXH and JSR
5507 Blocks. Changed ICMD_RET handling like with i386.
5509 * src/vm/jit/ppc/codegen.h (M_COPY): Changed to new variable
5512 * src/vm/jit/ppc/linux/md-abi.c (md_return_alloc): Changed to new
5515 * src/vm/jit/ppc/darwin/md-abi.c (md_return_alloc): Changed to new
5518 2006-09-15 16:55 edwin
5520 * tests/regression/jasmin/Makefile.am: Added new test.
5521 * tests/regression/jasmin/test_dup_x2_interface_slots.j: New test.
5522 * tests/regression/jasmin/test_dup_x1_interface_slots.j: Changed
5523 second loop to also use DUP_X1.
5525 2006-09-15 16:44 edwin
5527 * src/vm/jit/stack.c (MOVE_TO_TEMP): New macro.
5528 (new_stack_analyse): Use MOVE_TO_TEMP to save sources for all
5529 DUP*, SWAP instructions where it is necessary.
5531 * src/vm/jit/parse.c (new_parse): Reserve additional NOPs for
5534 2006-09-15 16:39 edwin
5536 * tests/regression/jasmin/test_dup_x1_interface_slots.j: New test.
5537 * tests/regression/jasmin/test_dup2_x1.j: Added dup2_x1 with
5539 * tests/regression/jasmin/Makefile.am: Added new test.
5541 2006-09-15 16:31 christian
5543 * src/vm/jit/alpha/emit.c (emit_load): Changed to new variable
5544 structure (varinfo * instead of stackptr) and the use of Macro
5546 (emit_store): Likewise.
5547 (emit_copy): Likewise.
5548 (emit_load_s1): Likewise and reuse emit_load.
5549 (emit_load_s2): Likewise and reuse emit_load.
5550 (emit_load_s3): Likewise and reuse emit_load.
5551 (emit_store_dst): Likewise and reuse emit_store.
5553 * src/vm/jit/alpha/codegen.c (codegen): Changed to new variable
5554 structure (varinfo * instead of stackptr, adapting of Argument
5555 handling, no interface copying anymore at BB Boundaries ) and the use
5556 of Macro IS_INMEMORY. ICMD_xSTORE and ICMD_xLOAD use now
5557 emit_copy. ICMD_DUPx and ICMD_SWAP were replaced by ICMD_MOVE and
5558 ICMD_COPY. Invars are now regarded
5559 for EXH and JSR Blocks. Changed ICMD_RET handling like with i386.
5561 * src/vm/jit/alpha/codegen.h (M_COPY): Changed to new variable
5564 * src/vm/jit/alpha/md-abi.c (md_return_alloc): Changed to new
5567 2006-09-15 15:52 edwin
5569 * src/vm/jit/stack.c (new_stack_analyse): Add a third move at the
5570 beginning of a swap operation to save the src1 operand, unless it
5571 is in a temporary variable.
5573 * src/vm/jit/parse.c (new_parse): Reserve three ICMDs for SWAP.
5575 2006-09-15 15:44 edwin
5577 * tests/regression/jasmin/Makefile.am: Added/renamed tests.
5579 2006-09-15 14:43 edwin
5581 * src/vm/jit/verify/typecheck.c: Cleanup and documentation.
5583 2006-09-15 14:18 edwin
5585 * src/vm/jit/verify/typecheck.c (typestate_reach): Removed check
5586 against uninitialized object on stack/in locals during backward
5587 branch. It is unnecessary, and not done by the RI. Reference:
5589 Improving the official specification of Java bytecode verification
5590 Proceedings of the 3rd ECOOP Workshop on Formal Techniques for
5593 citeseer.ist.psu.edu/article/coglio03improving.html
5595 (verify_basic_block): Removed check against uninitialized object in
5596 locals within try block. See above.
5598 * tests/regression/jasmin/
5599 test_verify_fail_backward_with_new_in_local.j: Renamed.
5600 * tests/regression/jasmin/test_verify_fail_new_in_local_within_try.j:
5603 * tests/regression/jasmin/
5604 test_verify_unspecced_ok_backward_with_new_on_stack.j: New test.
5606 * tests/regression/jasmin/
5607 test_verify_fail_backward_with_new_on_stack.j: Fixed.
5609 2006-09-15 13:08 edwin
5611 * tests/regression/jasmin/runtest: Use [ \t] instead of \s in the
5612 regex for sed, as this seems to be more portable.
5614 2006-09-15 13:03 edwin
5616 * src/vm/jit/verify/typecheck.c (typecheck_reset_flags): Mark
5618 blocks as BBDELETED. The only case in which this can happen to a block
5619 that was considered reachable by the stack analysis, is in the case of
5620 an exception handler which only covers blocks that have no PEIs.
5622 2006-09-15 12:51 edwin
5624 * src/vm/resolve.c (new_resolve_field_lazy): Check jd->flags instead
5626 (new_resolve_method_lazy): Likewise.
5628 2006-09-15 12:48 christian
5630 * src/vm/jit/stack.c (new_stack_analyse): Stackslot flags have to be
5631 set for SAVEDVARs, too.
5633 2006-09-15 11:02 edwin
5635 * src/vm/jit/verify/typecheck.c (verify_basic_block): Fix check for
5636 active exception handlers. We may not compare pointers here, as the
5637 blocks are not allocated with rising memory addresses. Use the
5638 block numbers to compare ranges.
5640 2006-09-15 09:19 christian
5642 * src/vm/jit/x86_64/emit.c (emit_load): Changed to new variable
5643 structure (varinfo * instead of stackptr) and the use of Macro
5645 (emit_store): Likewise.
5646 (emit_copy): Likewise.
5647 (emit_ishift): Likewise.
5648 (emit_lshift): Likewise.
5649 (emit_load_s1): Likewise and reuse emit_load.
5650 (emit_load_s2): Likewise and reuse emit_load.
5651 (emit_load_s3): Likewise and reuse emit_load.
5652 (emit_store_dst): Likewise and reuse emit_store.
5654 * src/vm/jit/x86_64/md-emit.h: Adapded prototypes.
5656 * src/vm/jit/x86_64/codegen.c (codegen): Changed to new variable
5657 structure (varinfo * instead of stackptr, adapting of Argument
5658 handling, no interface copying anymore at BB Boundaries ) and the use
5659 of Macro IS_INMEMORY. ICMD_xSTORE and ICMD_xLOAD use now
5660 emit_copy. Invars are now regarded for EXH and JSR Blocks.
5662 * src/vm/jit/x86_64/codegen.h (M_COPY): Changed to new variable
5665 * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Changed to new
5668 * src/vm/jit/stack.c (new_stack_analyse): Only try to preallocate
5669 return stackslots, if they hold a TEMPVAR. Some preparation for SSA.
5671 * src/vm/jit/jit.c (jit_compile_intern): Had to disable
5672 replace_create_replacement_points(jd).
5674 * src/vm/jit/show.c (new_show_icmd): Show s1 of [FIDL]RETURN like for
5677 2006-09-14 22:51 edwin
5679 * configure.ac: Generate tests/regression/jasmin/Makefile.
5681 * tests/regression/Makefile.am: Added subdir jasmin.
5683 * tests/regression/jasmin/Makefile.am: New file.
5685 * tests/regression/jasmin/runtest: Check if jasmin .jar is available.
5687 2006-09-14 22:49 edwin
5689 * src/vm/jit/verify/typecheck.c (verify_basic_block): Change
5690 destination variable of GETFIELD/GETSTATIC after all checks have been
5691 performed, so there is no problem if destination == source.
5693 2006-09-14 21:29 edwin
5695 * tests/regression/jasmin/test_verify_fail_retaddr_as_object.j:
5698 2006-09-14 21:23 edwin
5701 tests/regression/jasmin/test_verify_fail_backward_with_new_in_local.j:
5703 * tests/regression/jasmin/test_verify_fail_new_in_local_within_try.j:
5705 * tests/regression/jasmin/test_verify_fail_double_local_index.j:
5708 tests/regression/jasmin/test_verify_fail_backward_with_new_on_stack.j:
5711 2006-09-14 20:55 edwin
5713 * tests/regression/jasmin/test_verify_fail_long_local.j:
5715 * tests/regression/jasmin/test_verify_fail_double_overwritten.j:
5717 * tests/regression/jasmin/test_verify_fail_invoke_basic_type.j:
5719 * tests/regression/jasmin/test_verify_fail_long_overwritten.j:
5722 2006-09-14 20:36 edwin
5724 * src/vm/jit/verify/typecheck.c (typecheck_invalidate_locals):
5726 (verify_basic_block): Invalidate locals that share space with the
5728 (typecheck): Build reverse map of locals.
5730 2006-09-14 18:56 edwin
5732 * src/vm/jit/reg.h (varinfo): Added typeinfo member.
5734 * src/vm/jit/verify/typecheck.c: Ported to unified_variables.
5735 * src/vm/jit/verify/typeinfo.h: Likewise.
5736 * src/vm/jit/verify/typeinfo.c: Likewise.
5738 2006-09-14 18:55 edwin
5740 * src/vm/resolve.c (resolve_class_from_name): RESOLVE_VERBOSE changes.
5741 (resolve_classref_or_classinfo): Likewise.
5742 (resolve_class_from_typedesc): Likewise.
5743 (resolve_and_check_subtype_set): Likewise.
5744 (new_create_unresolved_field): Likewise.
5745 (new_create_unresolved_method): Likewise.
5747 (new_resolve_field_verifier_checks): Ported to unified_variables.
5748 (new_resolve_field_lazy): Likewise.
5749 (new_resolve_method_verifier_checks): Likewise.
5750 (new_resolve_method_lazy): Likewise.
5751 (new_constrain_unresolved_field): Likewise.
5754 (unresolved_subtype_set_from_typeinfo): Take classname directly,
5755 instead of the constant_classref *.
5757 (create_unresolved_class): Pass classname to
5758 unresolved_subtype_set_from_typeinfo.
5760 (new_constrain_unresolved_method): Ported to unified_variables.
5761 Pass classname to unresolved_subtype_set_from_typeinfo. (This should
5762 fix a bug when fieldref->p.classref was invalid.)
5764 (new_constrain_unresolved_method): Ported to unified_variables.
5765 Pass classname to unresolved_subtype_set_from_typeinfo.
5767 * src/vm/resolve.h (jit/reg.h): Include this before typeinfo.h
5768 (new_resolve_method_lazy): Added jd parameter.
5769 (new_resolve_field_lazy): Likewise.
5770 (new_constrain_unresolved_field): Likewise.
5771 (new_constrain_unresolved_method): Likewise.
5773 * src/vm/jit/parse.c (new_parse): Pass jd to resolve functions.
5775 2006-09-14 18:45 edwin
5777 * src/vm/jit/show.c (new_show_method): Only show allocation of locals
5778 if stage is at least SHOW_REGS.
5779 (new_show_icmd): Show class for CHECKCAST.
5781 2006-09-14 18:44 edwin
5783 * src/vm/jit/stack.c (stack_create_invars): Add extra locals needed
5785 (stack_create_invars_from_outvars): Likewise.
5786 (new_stack_analyse): Create inlocals for first block. Allow ASTORE of
5787 returnAddress values.
5789 2006-09-14 18:40 edwin
5791 * src/vm/jit/parse.c (new_parse): Commented calculation of varcount
5792 and added added extra variables that will be needed by the verifier.
5794 2006-09-14 18:36 edwin
5796 * src/vm/global.h (VERIFIER_EXTRA_LOCALS): New constant.
5797 (VERIFIER_EXTRA_VARS): Likewise.
5799 2006-09-14 18:20 edwin
5801 * src/vm/class.c (class_classref_or_classinfo_print): New function.
5802 (class_classref_or_classinfo_println): Likewise.
5804 * src/vm/class.h (class_classref_or_classinfo_print): New function.
5805 (class_classref_or_classinfo_println): Likewise.
5807 2006-09-14 18:16 edwin
5809 * src/vm/jit/jit.h (VAROP): New macro for accessing variable operands.
5810 (VAR): New macro for getting a variable from a varindex.
5812 2006-09-14 16:46 edwin
5814 * tests/regression/jasmin/test_verify_fail_load_wrong_type.j:
5816 * tests/regression/jasmin/
5817 test_verify_fail_load_wrong_type_within_block.j: New test.
5818 * tests/regression/jasmin/test_verify_fail_local_index.j: New test.
5819 * tests/regression/jasmin/test_verify_fail_long_local_index.j:
5821 * tests/regression/jasmin/test_verify_fail_long_local.j: New test.
5822 * tests/regression/jasmin/test_verify_fail_split_local.j: New test.
5823 * tests/regression/jasmin/test_verify_ok_overwrite_local_type.j:
5825 * tests/regression/jasmin/test_verify_ok_untyped_local.j: New test.
5827 2006-09-13 00:21 edwin
5829 * src/vm/jit/powerpc/codegen.c (codegen): Replaced catchtype.cls with
5830 catchtype.any to reflect that it can be a classref or a classinfo.
5832 * src/vm/jit/alpha/codegen.c (codegen): Likewise.
5833 * src/vm/jit/mips/codegen.c (codegen): Likewise.
5834 * src/vm/jit/i386/codegen.c (codegen): Likewise.
5835 * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
5836 * src/vm/jit/intrp/codegen.c (codegen): Likewise.
5837 * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
5839 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Added XXX
5840 comment warning that classrefs must be resolved here.
5842 2006-09-13 00:03 edwin
5844 * src/vm/jit/i386/codegen.c (codegen): Use emit_copy for LOAD/STORE
5845 instructions. We should also combine this with ICMD_COPY/MOVE, but
5846 I was not sure how to deal with the M_COPY macro.
5848 2006-09-12 23:35 edwin
5850 * tests/regression/jasmin/test_swap_locals.j: New test.
5852 2006-09-12 23:31 edwin
5854 * tests/regression/jasmin/test_swap_interface_slots.j: New test.
5856 2006-09-12 23:18 edwin
5858 * tests/regression/jasmin/test_many_monitors.j: New test. (This test
5859 case used to fail with old-instruction-format cacao.)
5861 2006-09-12 22:32 christian
5863 * src/vm/jit/i386/codegen.c (codegen): Corrected handling of taking
5864 arguments out of stack frame. Some changes to adapt SSA to unified
5867 2006-09-12 21:34 edwin
5869 * src/vm/jit/parse.c (parse_check_instructions): Renamed to
5870 parse_realloc_instructions to reflect what it really does. Fixed so
5871 it adds at least as many instructions as required by the check.
5873 * src/vm/jit/parse.h (INSTRUCTIONS_CHECK): Use
5874 parse_realloc_instructions.
5875 (MARK_BASICBLOCK): Cleaned up backslashes.
5877 2006-09-12 21:23 edwin
5879 * src/vm/jit/stack.c (new_stack_analyse): Fixed test for existing
5880 coalescing for *STORE.
5881 Properly use the return value of stack_mark_reached when analysing
5882 a block for the first time.
5884 * tests/regression/jasmin/test_simple_load_store.j: Added a test
5885 that just does ILOAD 1, ISTORE 1.
5887 2006-09-12 00:21 edwin
5889 * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub.j:
5890 Renamed to test_verify_fail_jsr_handler_in_sub.j, as it fails on the
5891 reference implementation.
5893 * tests/regression/jasmin/test_verify_ok_jsr_exceptions.j: Renamed to
5894 test_verify_fail_jsr_exceptions.j, likewise.
5896 * tests/regression/jasmin/test_verify_fail_ret_uninit_var.j,
5897 tests/regression/jasmin/test_verify_fail_aload_retaddress.j,
5898 tests/regression/jasmin/test_verify_fail_ret_bad_type.j: Made
5899 expected error match both CACAO's message and the reference
5900 implementation's message.
5902 2006-09-11 23:32 edwin
5904 * src/vm/jit/stack.c (stack_reanalyse_block): Removed unused
5907 2006-09-11 23:24 edwin
5909 * src/vm/jit/stack.c: Added JSR elimination by block specialization.
5911 * src/vm/jit/i386/codegen.c (codegen): Treat ICMD_RET as a GOTO.
5913 2006-09-11 23:17 edwin
5915 * tests/regression/jasmin/runtest: Add --color option.
5917 2006-09-11 22:17 edwin
5919 * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub2.j: Added
5920 a second call of the subroutine, so cacao has to clone the exception
5923 2006-09-11 14:59 edwin
5925 * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub.j:
5927 * tests/regression/jasmin/test_verify_ok_jsr_exceptions.j: Likewise.
5928 * tests/regression/jasmin/test_verify_ok_jsr_through_variable.j:
5930 * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub2.j:
5932 * tests/regression/jasmin/test_verify_ok_jsr_swap.j: Likewise.
5934 2006-09-11 14:57 edwin
5936 * tests/regression/jasmin/test_dup2.j: Fix stackdepth.
5937 * tests/regression/jasmin/test_load_store_conflict.j: Likewise.
5939 2006-09-11 14:55 edwin
5941 * tests/regression/jasmin/runtest: Only show PASS if status is ok.
5943 2006-09-11 14:54 edwin
5945 * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
5946 Zero destination of ICMD_JSR to avoid problems when showing the IR.
5948 2006-09-11 14:52 edwin
5950 * src/vm/jit/show.h (show_jit_type_letters): New variable.
5951 (show_jit_type_names): Likewise.
5953 * src/vm/jit/show.c (jit_type): Renamed to show_jit_type_names and
5955 (show_jit_type_letters): New variable.
5956 (new_show_method): Improved.
5957 (new_show_icmd): Likewise.
5959 2006-09-11 14:45 edwin
5961 * src/toolbox/logging.h (log_text): Fixed for strings containing %.
5963 2006-09-11 14:37 edwin
5965 * src/vm/jit/reg.h (varinfo): Put regoff inside a union (vv) so it
5966 can share space with the constant values put in varinfo. Also made
5969 * src/vm/jit/stack.c (new_stack_analyse): Replace regoff with
5972 * src/vm/jit/show.c (new_show_method): Likewise.
5973 (new_show_variable): Likewise.
5975 * src/vm/jit/allocator/simplereg.c (local_regalloc): Likewise.
5976 (reg_new_temp_func): Likewise.
5977 (reg_free_temp_func): Likewise.
5978 (new_allocate_scratch_registers): Likewise.
5979 (reg_make_statistics): Likewise.
5981 * src/vm/jit/i386/emit.c: Likewise.
5982 * src/vm/jit/i386/codegen.c: Likewise.
5983 * src/vm/jit/codegen-common.c: Likewise.
5985 2006-09-11 00:33 edwin
5987 * src/vm/global.h (TYPE_RET): New constant.
5989 * src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack):
5990 Display TYPE_RET correctly.
5992 2006-09-11 00:30 edwin
5994 * src/vm/jit/jit.h (basicblock): Added fields `inlocals` and
5995 `original` (for JSR elimination).
5997 2006-09-11 00:03 edwin
5999 * tests/regression/jasmin/test_verify_fail_aload_retaddress.j: New
6001 * tests/regression/jasmin/test_verify_fail_ret_uninit_var.j: New
6003 * tests/regression/jasmin/test_verify_ok_jsr_pop.j: New test.
6004 * tests/regression/jasmin/test_verify_ok_jsr_push.j: New test.
6006 2006-09-10 13:51 edwin
6008 * tests/regression/jasmin/runtest: Return correct exit code.
6010 2006-09-10 13:45 edwin
6012 * tests/regression/jasmin/runtest: Delete temporary files.
6013 * tests/regression/jasmin/test_verify_ok_jsr.j: New test.
6014 * tests/regression/jasmin/test_verify_ok_jsr_multiple_blocks.j: New
6016 * tests/regression/jasmin/test_verify_fail_ret_bad_type.j: New test.
6018 2006-09-10 13:43 edwin
6020 * tests/regression/jasmin/runtest: Added harness code for expecting
6023 2006-09-10 11:35 christian
6025 * src/vm/jit/i386/codegen.c (codegen): Corrected handling of taking
6026 arguments out of stack frame.
6028 2006-09-10 11:20 edwin
6030 * src/vm/jit/stack.c (DUP_SLOT): Removed code for direct coalescing.
6031 (DUP coalescing will be done in simplereg, probably.)
6033 2006-09-10 09:11 edwin
6035 * src/vm/jit/show.c (new_show_method): Use class_print and
6036 class_classref_print for showing the catch type.
6038 2006-09-09 22:33 edwin
6040 * src/vm/jit/stack.c: Fixed macro backslashes.
6042 2006-09-09 22:05 edwin
6044 * src/vm/jit/show.c (new_show_method): Show hexadecimal offsets in
6047 2006-09-09 21:58 edwin
6049 * src/vm/jit/stack.c (new_stack_analyse): Reset the sd.new pointer at
6050 the beginning of each basic block.
6052 2006-09-09 21:50 edwin
6054 * src/vm/jit/stack.c (new_stack_analyse): Made control-flow easier
6055 to read. The majority of the code is now indented one level too much.
6056 I did not change this, yet, to avoid a giant diff. We can do this
6057 when all the branches are merged together.
6059 2006-09-09 21:41 edwin
6061 * src/vm/jit/stack.c (new_stack_analyse): Combined calls to
6062 stack_create_instack.
6064 2006-09-09 21:33 edwin
6066 * src/vm/jit/jit.h (basicblock): Removed members instack and
6069 * src/vm/jit/stack.c (stack_check_invars): New function.
6070 (stack_create_instack): New function.
6071 (stack_mark_reached): Use new functions.
6072 (new_stack_analyse): Likewise.
6074 * src/vm/jit/stack.h (COPYCURSTACK): Removed macro.
6076 2006-09-09 20:05 edwin
6078 * src/vm/jit/stack.h (COPYCURSTACK): Do not create invars here.
6080 * src/vm/jit/stack.c (stack_create_invars): New function.
6081 (stack_mark_reached): Use stack_create_invars.
6082 (new_stack_analyse): Likewise.
6084 2006-09-09 19:37 edwin
6086 * src/vm/jit/jit.h (basicblock): Added fields varstart and varcount.
6087 Reordered fields for clarity and alignment.
6089 * src/vm/jit/stack.c (new_stack_analyse): Set varstart and varcount
6090 of each basic block.
6092 2006-09-09 19:25 edwin
6094 * src/vm/exceptions.c (exceptions_handle_exception): Added comment on
6095 why we have to do eager resolving here. Check for exceptions while
6096 resolving the catch class reference.
6098 * src/vm/linker.c (link_class_intern): Resolve exception classes
6099 in handler entries lazily, instead of eagerly.
6101 2006-09-09 14:49 edwin
6103 * src/vm/jit/stack.h (CURKIND): Removed macro.
6104 (CURTYPE): Removed macro.
6106 * src/vm/jit/stack.c (new_stack_analyse): Removed the single use of
6109 2006-09-09 14:45 edwin
6111 * src/vm/jit/stack.h (Changes): Added my name.
6113 2006-09-09 14:41 edwin
6115 * src/vm/jit/stack.h (REQUIRE_1, REQUIRE_2, REQUIRE_3, REQUIRE_4):
6117 * src/vm/jit/stack.c (new_stack_analyse): Use the general REQUIRE
6120 2006-09-08 23:59 edwin
6122 * src/vm/jit/stack.c (IS_TEMPVAR): Fix bug spotted
6123 (and produced ;) by c_u.
6125 2006-09-08 20:54 edwin
6127 * src/vm/jit/stack.c (new_stack_analyse): Added some assertion.
6128 When we do a STORE coalescing, the stackslot must have a creator.
6130 2006-09-08 20:50 edwin
6132 * src/vm/jit/stack.c (new_stack_analyse): Unified last_dup_boundary
6133 and last_pei_boundary to coalescing_boundary.
6134 Activated STORE coalescing. Change destination operand of creator, if
6137 2006-09-08 20:41 edwin
6139 * src/vm/jit/stack.h (COPYCURSTACK): Use GET_NEW_VAR.
6141 * src/vm/jit/stack.c (GET_NEW_VAR): New macro.
6142 (various macros): Use GET_NEW_VAR, so the variable type is set.
6143 Reset coalescing for non-consuming uses.
6144 (SET_TEMPVAR): Fix: do not use "copy". Change the destination operand
6145 of the creator, if any.
6146 (DST_LOCAL): Activate LOAD coalescing.
6147 (new_stack_analyse): Reset coalescing for pass-through operands.
6149 2006-09-08 19:48 edwin
6151 * src/vm/jit/jit.h (stackelement): Added creator field.
6152 * src/vm/jit/stack.h (COPYCURSTACK): Set creator = NULL.
6153 * src/vm/jit/stack.c (DST, DST_LOCALVAR, MOVE_COPY_UP, COPY_DOWN):
6154 Set creator to current iptr.
6155 * src/vm/jit/stack.h: Cleaned up macros.
6156 * src/vm/jit/stack.c: Likewise.
6158 2006-09-08 18:14 edwin
6160 * src/vm/jit/codegen-common.h: Removed the NEW_VAR define.
6161 * src/vm/jit/stack.c: Likewise.
6162 * src/vm/jit/verify/typecheck.c: Likewise.
6163 * src/vm/jit/i386/codegen.c: Likewise.
6164 * src/vm/jit/parse.c: Likewise.
6165 * src/vm/jit/reg.c: Likewise.
6166 * src/vm/jit/reg.h: Likewise.
6167 * src/vm/jit/jit.c: Likewise.
6168 * src/vm/jit/codegen-common.c: Likewise.
6169 * src/vm/jit/jit.h: Likewise, and removed the dupslots member from
6170 the dst_operand_t union.
6172 2006-09-08 18:12 edwin
6174 * src/vm/jit/show.c (new_show_icmd): Removed code for DUPs.
6176 2006-09-08 17:59 edwin
6178 * src/vm/jit/verify/typecheck.c: Removed code for DUPs.
6180 2006-09-08 17:57 edwin
6182 * src/vm/jit/i386/codegen.c (codegen): Removed code for DUPs.
6184 2006-09-08 17:50 edwin
6186 * src/vm/jit/i386/codegen.c (*LOAD, *STORE): Normalized the source ==
6187 dest check so it always looks the same.
6188 (LLOAD, LSTORE): Use M_LNGMOVE, not M_INTMOVE.
6189 (DSTORE): Combined with FSTORE, because it now has the same code.
6191 2006-09-08 17:37 edwin
6193 * src/vm/jit/i386/codegen.c (codegen): Fix LSTORE: The source == dest
6196 2006-09-08 16:41 edwin
6198 * src/vm/jit/show.c (new_show_method): Fix display of local table.
6200 2006-09-08 16:26 edwin
6202 * src/vm/jit/stack.c (new_stack_analyse): Fix ICMD_RET: The variable
6203 index has to be mapped.
6205 2006-09-08 16:07 edwin
6207 * src/vm/jit/stack.c (DUP_SLOT): Turn off coalescing.
6208 (MOVE_COPY_UP): New macro.
6209 (COPY_DOWN): New macro.
6210 (interface_map): Changed to array of interface_info.
6211 (*STORE): Fix index into last_store_boundary (must be javaindex).
6212 (DUP*, SWAP): Eliminate DUPs.
6213 (new_stack_analyse): Mark invar interfaces used.
6215 * src/vm/jit/show.c (new_show_method): Adapted to new
6216 interface_map layout.
6218 * src/vm/jit/allocator/simplereg.c (interface_regalloc): Adapted
6219 to new interface_map layout.
6220 (new_allocate_scratch_registers): Likewise.
6221 (new_allocate_scratch_registers): Removed code for DUP* instructions.
6222 (ICMD_MOVE, ICMD_COPY): Added.
6224 2006-09-08 16:02 edwin
6226 * src/vm/jit/i386/codegen.h (M_FLTMOVE): Only assert(0) if move would
6227 have to be performed.
6229 2006-09-08 14:17 edwin
6231 * src/vm/jit/show.c (show_variable): Check for invalid flags.
6233 2006-09-08 14:16 edwin
6235 * src/vm/jit/i386/codegen.c (codegen): Removed a debug print.
6237 2006-09-08 14:15 edwin
6239 * src/vm/jit/stack.c (DST_LOCALVAR): _Really_ turn off coalescing
6242 2006-09-08 12:19 edwin
6244 * src/vm/jit/allocator/simplereg.c (interface_regalloc): Changed
6245 allocation of interface registers. interface_map now contains the
6246 necessary flags, and receives a combination of allocated flags
6249 (new_allocate_scratch_registers): Copy the allocation of the
6250 invars and outvars for each basic block.
6252 2006-09-08 12:17 edwin
6254 * src/vm/jit/jit.h (LOCAL_UNUSED): Changed (in comment) to UNUSED.
6256 2006-09-08 12:16 edwin
6258 * src/vm/jit/stack.c (stackdata_t): New struct for keeping internal
6259 data of the stack analysis. This is necessary for converting macros
6261 (various macros): Adapted to use stackdata_t. Removed old code.
6262 (DST_LOCALVAR): Temporarily turned off local variable coalescing.
6263 (MARKREACHED): Converted to a function.
6264 (stack_mark_reached): New function.
6265 (last_store_boundary): Use java indices instead of internal local
6266 indices into this table.
6267 (new_stack_analyse): Removed old code.
6269 * src/vm/jit/stack.h (various macros): Adapted to use stackdata_t.
6270 (MARKREACHED): Converted to a function.
6272 2006-09-08 12:10 edwin
6274 * src/vm/jit/parse.h: Removed old code.
6275 * src/vm/jit/parse.c (new_parse): Do not modify m->maxlocals and
6277 They refer to the number of javalocals, and that's ok. We have
6279 to keep the number of internal locals.
6281 2006-09-08 12:07 edwin
6283 * src/vm/jit/show.c (new_show_method): Show isleafmethod.
6284 (new_show_method): Pretty interface map printing (prepared for
6285 interface register allocation changes).
6286 (new_show_method): Print allocation of stack slots.
6287 (show_allocation): New function.
6288 (show_variable): Mark SAVEDVARs with an exclamation mark.
6290 2006-09-08 01:05 edwin
6292 * src/vm/jit/show.c (new_show_method): Only show local table if there
6295 2006-09-07 23:17 edwin
6297 * src/vm/jit/show.c (jit_type): Made types uppercase.
6298 (new_show_method): Prettier printing of locals_map and interface_map.
6299 (SHOW_STACKVAR): Renamed to SHOW_VARIABLE.
6300 (new_show_stackvar): Renamed to show_variable. Cleaned up.
6302 2006-09-07 22:44 edwin
6304 * src/vm/jit/allocator/simplereg.c (reg_new_temp_func): Removed old
6306 (reg_free_temp_func): Likewise.
6307 (allocate_scratch_registers): Likewise.
6309 2006-09-07 22:39 edwin
6311 * src/vm/jit/allocator/simplereg.c (reg_alloc_dup): Removed.
6312 (new_reg_mark_copy): Likewise.
6314 2006-09-07 14:41 edwin
6316 * src/vm/jit/i386/codegen.c (ICMD_COPY): Added.
6317 (ICMD_MOVE): Likewise.
6319 2006-09-07 14:38 edwin
6321 * src/vm/jit/reg.h (varinfo): New field copycount.
6322 * src/vm/jit/parse.c (new_parse): Zero jd->var array.
6324 2006-09-07 14:31 edwin
6326 * src/vm/jit/parse.c (new_parse): Allocate extra NOPs for stack
6329 2006-09-07 14:25 edwin
6331 * src/vm/jit/show.c (ICMD_COPY): Uncommented.
6332 (ICMD_MOVE): Likewise.
6334 2006-09-07 14:24 edwin
6336 * src/vm/jit/jit.h, src/vm/jit/jit.c (ICMD_COPY): New ICMD.
6337 (ICMD_MOVE): Likewise.
6339 2006-09-07 14:00 christian
6341 * src/vm/jit/allocator/simplreg: Removed #if defined(NEW_VAR) over
6344 2006-09-07 13:41 edwin
6346 * src/vm/jit/jit.c (ENABLE_VERIFY): Corrected to ENABLE_VERIFIER.
6348 2006-09-07 13:29 christian
6350 Unified variables changes for common/i386.
6352 2006-09-07 13:01 edwin
6354 Branch for developing unified variables.
6356 2006-09-07 12:52 twisti
6358 * src/vm/jit/i386/emit.c: Use IS_INMEMORY macro.
6359 * src/vm/jit/i386/codegen.c: Likewise.
6361 2006-09-07 12:26 twisti
6363 * src/vm/jit/powerpc/codegen.c (codegen): Use IS_INMEMORY macro.
6365 2006-09-07 12:24 twisti
6367 * src/vm/jit/powerpc/emit.c (emit_copy): Eliminate register move if
6368 one of the variables resides in memory.
6370 2006-09-07 11:14 twisti
6372 * src/vm/jit/alpha/emit.c (emit_copy): Only one not-equal comparison.
6374 2006-09-07 11:09 twisti
6376 * src/vm/jit/powerpc64/emit.c (emit_copy): Eliminate register move if
6377 one of the variables resides in memory.
6379 2006-09-07 10:59 twisti
6381 * src/vm/jit/mips/emit.c (emit_copy): Eliminate register move if one
6382 of the variables resides in memory.
6384 2006-09-07 10:46 twisti
6386 * src/vm/jit/i386/emit.c (emit_copy): Eliminate register move if one
6387 of the variables resides in memory.
6389 2006-09-07 10:16 twisti
6391 * src/vm/jit/x86_64/emit.c (emit_copy): Eliminate register move if one
6392 of the variables resides in memory.
6394 2006-09-07 10:03 twisti
6396 * src/vm/jit/alpha/emit.c (emit_copy): Eliminate register move if one
6397 of the variables resides in memory.
6399 2006-09-07 09:40 twisti
6401 * src/vm/jit/jit.h (IS_SAVEDVAR): Added.
6402 (IS_INMEMORY): Likewise.
6404 2006-09-07 00:32 edwin
6406 * src/vm/jit/show.c (new_show_icmd): Separate real arguments and
6407 pass-through variables for INVOKE*.
6409 2006-09-07 00:29 edwin
6411 * src/vm/jit/show.c (new_show_icmd): Separate real arguments and
6412 pass-through variables for BUILTIN.
6414 2006-09-06 23:18 twisti
6416 * src/vm/jit/powerpc64/linux/md-abi.h: Bugfixes and changes for new
6418 * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
6419 * src/vm/jit/powerpc64/emit.c: Likewise.
6420 * src/vm/jit/powerpc64/codegen.c: Likewise.
6421 * src/vm/jit/powerpc64/codegen.h: Likewise.
6423 2006-09-06 22:34 twisti
6425 * src/vm/jit/mips/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
6427 * src/vm/jit/mips/codegen.c: Use REG_A? defines instead of
6428 rd->argintreg[] loads.
6430 2006-09-06 22:16 twisti
6432 * src/vm/jit/alpha/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
6434 * src/vm/jit/alpha/codegen.c: Use REG_A? defines instead of
6435 rd->argintreg[] loads.
6437 2006-09-06 21:56 twisti
6439 * src/vm/jit/x86_64/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
6441 * src/vm/jit/x86_64/codegen.c: Use REG_A? defines instead of
6442 rd->argintreg[] loads.
6444 2006-09-06 21:40 twisti
6446 * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete precedessor
6449 2006-09-06 21:32 edwin
6451 * tests/regression/jasmin/test_dup_x2.j: Split second test into
6453 * tests/regression/jasmin/test_dup_x2_to_dup_x1: New test.
6455 2006-09-06 21:30 edwin
6457 * tests/regression/jasmin/runtest: Improved harness script.
6459 2006-09-06 21:17 twisti
6461 * src/vm/jit/powerpc/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
6463 * src/vm/jit/powerpc/darwin/md-abi.h: Likewise.
6465 * src/vm/jit/powerpc/codegen.c: Use REG_A? defines instead of
6466 rd->argintreg[] loads.
6468 2006-09-06 17:05 twisti
6470 * src/vm/jit/mips/codegen.c (codegen): Generate the INVOKE/BUILTIN
6471 call code in a common place.
6473 2006-09-06 16:43 twisti
6475 * src/vm/jit/x86_64/codegen.c (codegen): Generate the INVOKE/BUILTIN
6476 call code in a common place.
6478 2006-09-06 16:41 twisti
6480 * src/vm/jit/i386/codegen.c (codegen): Don't move the function address
6481 into disp for ICMD_BUILTIN.
6483 2006-09-06 16:30 twisti
6485 * src/vm/jit/i386/codegen.c (codegen): Generate the INVOKE/BUILTIN
6486 call code in a common place.
6487 (createnativestub): Removed unused disp variable.
6489 2006-09-06 16:24 twisti
6491 * src/vm/jit/alpha/codegen.c (codegen): Generate the INVOKE/BUILTIN
6492 call code in a common place.
6494 2006-09-06 16:06 twisti
6496 * src/vm/jit/powerpc/codegen.c (codegen): Generate the INVOKE/BUILTIN
6497 call code in a common place.
6499 2006-09-06 16:01 edwin
6501 * src/vm/jit/jit.h (INS_FLAG_NOCHECK): Reversed to INS_FLAG_CHECK.
6502 * src/vm/jit/stack.c: Likewise.
6503 * src/vm/jit/stack.h: Likewise.
6504 * src/vm/jit/parse.c: Likewise.
6505 * src/vm/jit/parse.h: Likewise.
6507 2006-09-06 15:22 edwin
6509 * src/vm/jit/parse.h (INSTRUCTIONS_CHECK): New macro.
6510 * src/vm/jit/parse.c (new_parse): Merged twisti's reallocation of the
6513 2006-09-06 14:38 twisti
6515 * src/vm/jit/alpha/codegen.c (ICMD_I2L): Use REG_ITMP1 for dst, this
6517 (ICMD_LDIV, ICMD_LREM): Use argument registers for s1 and s2 when
6520 2006-09-06 14:32 edwin
6522 Checked in jasmin tests.
6524 2006-09-06 14:01 edwin
6526 * src/vm/jit/parse.c (parserdata_t): New type.
6527 (parse_setup): New function.
6528 (parse_check_instructions): New function.
6530 2006-09-06 13:46 christian
6532 * src/vm/jit/stack.c (new_stack_analyse): Ifdeffed handling of new var
6535 * src/vm/jit/stack.h: Likewise.
6537 * src/vm/jit/parse.c (new_parse) : Likewise.
6539 * src/vm/jit/parse.h: Likewise.
6541 * src/vm/jit/jit.h: Ifdeffed structure entries for new var system.
6543 2006-09-06 12:37 twisti
6545 * src/vm/jit/powerpc/codegen.c (codegen): Use M_ISUB in ICMD_ISUBCONST
6548 2006-09-06 11:58 twisti
6550 * src/vm/jit/mips/emit.c (emit_copy): Removed accidentally pasted
6553 2006-09-06 11:12 edwin
6555 * src/vm/jit/stack.h: Removed macros for old instruction format.
6557 2006-09-06 11:01 edwin
6559 * src/vm/jit/parse.h: Removed NEW_ prefix from macros.
6560 * src/vm/jit/parse.c: Likewise.
6562 2006-09-06 10:56 edwin
6564 * src/vm/jit/stack.h (CHECKOVERFLOW): Removed.
6565 (NEW_CHECKOVERFLOW): Renamed to CHECKOVERFLOW.
6567 * src/vm/jit/stack.c (new_stack_analyse): Removed NEW_ prefix from
6570 2006-09-06 10:48 edwin
6572 * src/vm/jit/x86_64/emit.c: Renamed new_instruction to instruction.
6573 * src/vm/jit/x86_64/md-emit.h: Likewise.
6574 * src/vm/jit/x86_64/codegen.c: Likewise.
6576 2006-09-06 10:20 christian
6578 * src/vm/stack.c (new_stack_analyse): Removed assert to check, that
6579 all outvars are STACKVARS. Would be a possible conflict with swap
6581 * src/vm/parse.c (new_parse): Data colletion for local var
6582 renaming(de-coalescing)
6584 * src/vm/parse.h (new_pase): Likewise.
6586 * src/vm/jit.h: Likewise.
6588 * src/vm/jit/i386/codegen.c (codegen): Ifdefed interface copy in
6592 2006-09-06 10:16 edwin
6594 * src/vm/jit/mips/emit.c (emit_load_s1): Removed obsolete src param.
6595 (emit_load_s2): Likewise.
6596 (emit_load_s3): Likewise.
6598 2006-09-06 10:14 edwin
6600 * src/vm/jit/powerpc64/emit.c (emit_load): New function.
6601 (emit_load_s1): Implemented in terms of emit_load.
6602 (emit_load_s2): Likewise.
6603 (emit_load_s3): Likewise.
6604 (emit_store_dst): New function.
6606 2006-09-06 10:09 edwin
6608 * src/vm/jit/mips/emit.c (emit_load): New function.
6609 (emit_load_s1): Implemented in terms of emit_load.
6610 (emit_load_s2): Likewise.
6611 (emit_load_s3): Likewise.
6612 (emit_store_dst): New function.
6614 2006-09-06 09:57 edwin
6616 * src/vm/jit/stack.c (new_stack_analyse): Implement conflict checking
6617 and coalescing for *STORE.
6618 * src/vm/jit/show.c (new_show_stackvar): Show coalescing info.
6620 2006-09-06 00:18 christian
6622 * src/vm/jit/stack.c (new_stack_analyse): Mark all in and out
6623 Stackslots of Basic Blocks as STACKVAR.
6625 * src/vm/jit/i386/codegen.c (codegen): Removed copy of interfaces
6626 to in and from out stackslots.
6628 2006-09-06 00:07 edwin
6630 * src/vm/jit/powerpc64/codegen.c (codegen): ++lookup in LOOKUPSWITCH
6632 * src/vm/jit/powerpc64/codegen.c (codegen): Ported to new instruction
6635 2006-09-05 23:37 edwin
6637 * src/vm/jit/i386/codegen.c (codegen): Port LASTORECONST, PUT*CONST.
6639 2006-09-05 23:10 edwin
6641 * src/vm/jit/mips/codegen.c (codegen): Ported to new instruction
6644 2006-09-05 23:08 twisti
6646 * src/vm/jit/powerpc/emit.c: Updated to new instruction format.
6647 * src/vm/jit/powerpc/codegen.c: Likewise.
6649 2006-09-05 23:07 twisti
6651 * src/vm/builtin.c (builtin_print_argument): Print decimal values for
6652 int and long arguments.
6654 2006-09-05 22:51 christian
6656 * i386/emit.c: Changed to new instruction format.
6657 * i386/codegen.c: Likewise.
6658 * i386/codegen.h: Likewise.
6659 * parse.c: Likewise.
6660 * parse.h: Likewise.
6663 2006-09-05 22:42 edwin
6665 * src/vm/jit/show.c (new_show_icmd): Show LOOKUPSWITCH targets.
6667 2006-09-05 22:27 edwin
6669 * src/vm/jit/alpha/codegen.c (codegen): Port MULTIANEWARRAY.
6671 2006-09-05 22:23 edwin
6673 * sarc/vm/jit/parse.c (parse): Check return value of
6676 2006-09-05 22:22 edwin
6678 * src/threads/native/lock.h (lock_monitor_enter): Return bool.
6679 * src/threads/native/lock.c (lock_monitor_enter): Check for
6680 NullPointerException.
6682 2006-09-05 22:05 twisti
6684 * src/vm/jit/cfg.c (cfg_build): It's better to not reuse the loop
6687 2006-09-05 21:53 edwin
6689 * src/vm/jit/show.c (new_show_icmd): Show BLOCK_OF tableswitch
6692 2006-09-05 21:50 edwin
6694 * src/vm/jit/show.c (new_show_icmd): Show TABLESWITCH targets.
6696 2006-09-05 21:20 edwin
6698 * src/vm/jit/alpha/codegen.c (codegen): Port ICMD_CHECKCAST.
6700 2006-09-05 21:20 twisti
6702 * src/vm/method.h (methodinfo): Removed members basicblockcount,
6703 basicblocks, basicblockindex, instructioncount, instructions,
6704 stackcount, and stack.
6706 * src/vm/jit/cfg.c: Use jitdata variables instead of methodinfo ones.
6707 * src/vm/jit/reorder.c: Likewise.
6708 * src/vm/jit/ifconv/ifconv.c: Likewise.
6709 * src/vm/jit/allocator/simplereg.c: Likewise.
6710 * src/vm/jit/replace.c: Likewise.
6711 * src/vm/jit/jit.c: Likewise.
6713 2006-09-05 21:17 twisti
6715 * src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added
6716 accidentally removed codegen.c.
6718 2006-09-05 21:16 twisti
6720 * src/vm/jit/x86_64/codegen.c (codegen): Use d for return type checks.
6722 2006-09-05 21:15 twisti
6724 * src/cacaoh/headers.c: Use a dummy flag for natively overloaded
6727 2006-09-05 21:14 edwin
6729 * src/vm/jit/alpha/codegen.c (codegen): Deactivate replacement points.
6730 * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
6732 2006-09-05 21:06 edwin
6734 * src/vm/jit/alpha/codegen.c (codegen): Set fieldtype in all cases.
6736 2006-09-05 20:58 edwin
6738 * src/vm/jit/show.c (new_show_basicblock): Prettier if.
6740 2006-09-05 20:57 edwin
6742 * src/vm/jit/alpha/codegen.c (codegen): Use jd->new_basicblocks.
6744 2006-09-05 20:50 edwin
6746 * src/vm/jit/alpha/codegen.c: Use invars/outvars instead of
6749 2006-09-05 20:17 edwin
6751 * src/vm/jit/alpha/codegen.c (codegen): Port handling of INVOKE*
6754 2006-09-05 20:11 edwin
6756 * src/vm/jit/alpha/emit.c: Ported to new instruction format.
6757 * src/vm/jit/alpha/codegen.c: Likewise.
6759 2006-09-05 19:38 twisti
6761 * src/vm/jit/jit.h (instruction): Removed.
6762 (new_instruction): Renamed to instruction.
6764 * src/vm/builtin.c: Renamed new_instruction to instruction.
6765 * src/vm/builtin.h: Likewise.
6766 * src/vm/resolve.c: Likewise.
6767 * src/vm/resolve.h: Likewise.
6768 * src/vm/jit/powerpc/emit.c: Likewise.
6769 * src/vm/jit/powerpc/Makefile.am: Likewise.
6770 * src/vm/jit/codegen-common.h: Likewise.
6771 * src/vm/jit/cfg.c: Likewise.
6772 * src/vm/jit/reorder.c: Likewise.
6773 * src/vm/jit/emit.h: Likewise.
6774 * src/vm/jit/stack.c: Likewise.
6775 * src/vm/jit/stack.h: Likewise.
6776 * src/vm/jit/show.c: Likewise.
6777 * src/vm/jit/dseg.c: Likewise.
6778 * src/vm/jit/verify/typecheck.c: Likewise.
6779 * src/vm/jit/verify/typeinfo.c: Likewise.
6780 * src/vm/jit/show.h: Likewise.
6781 * src/vm/jit/allocator/simplereg.c: Likewise.
6782 * src/vm/jit/parse.c: Likewise.
6783 * src/vm/jit/codegen-common.c: Likewise.
6785 2006-09-05 19:06 edwin
6787 * src/vm/jit/powerpc/codegen.c (codegen): Converted with
6789 * src/vm/jit/sparc64/codegen.c (codegen): Likewise.
6790 * src/vm/jit/alpha/codegen.c (codegen): Likewise.
6791 * src/vm/jit/mips/codegen.c (codegen): Likewise.
6792 * src/vm/jit/i386/codegen.c (codegen): Likewise.
6793 * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
6795 2006-09-05 18:43 edwin
6797 Merge changes from trunk (powerpc64).
6799 2006-09-05 17:42 edwin
6801 * src/vm/jit/powerpc/codegen.c (codegen): Use emit_load instead of
6802 emit_load_s1/s2 for variable arguments and interface copying.
6803 * src/vm/jit/alpha/codegen.c (codegen): Likewise.
6804 * src/vm/jit/mips/codegen.c (codegen): Likewise.
6805 * src/vm/jit/i386/codegen.c (codegen): Likewise.
6806 * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
6808 2006-09-05 17:21 edwin
6810 Merged changes from trunk.
6812 2006-09-05 16:45 edwin
6814 * src/vm/jit/powerpc/codegen.c (codegen): ICMD_PUTSTATIC: Use
6815 emit_load_s1 to load the first operand.
6816 * src/vm/jit/sparc64/codegen.c (codegen): Likewise.
6817 * src/vm/jit/alpha/codegen.c (codegen): Likewise.
6818 * src/vm/jit/mips/codegen.c (codegen): Likewise.
6819 * src/vm/jit/i386/codegen.c (codegen): Likewise.
6820 * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
6822 2006-09-05 16:12 edwin
6824 * src/vm/jit/jit.h (basicblock): Changed type of iinstr to
6826 * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete casts.
6827 * src/vm/jit/show.c (new_show_basicblock): Likewise.
6828 * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
6829 * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
6831 * src/vm/jit/parse.c (new_parse): Likewise.
6832 * src/vm/jit/x86_64/codegen.c (new_parse): Likewise.
6834 2006-09-05 12:42 edwin
6836 * src/vm/jit/jit.h (s3_operand_t): Removed arrayvftbl.
6837 * src/vm/jit/x86_64/codegen.c (codegen): ICMD_MULTIANEWARRAY:
6838 Use s3.c.cls instead of s3.arrayvftbl.
6840 2006-09-05 12:29 edwin
6842 * src/vm/jit/jit.h (jitdata): Removed field new_rd.
6843 * src/vm/jit/jit.c (jit_compile): Use rd instead of new_rd.
6844 (jit_compile_intern): Likewise.
6845 * src/vm/jit/verify/typecheck.c (typecheck): Likewise.
6846 (verify_basic_block): Removed unused variables.
6847 * src/vm/jit/allocator/simplereg.c (new_regalloc):
6848 Use rd instead of new_rd.
6849 * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
6851 2006-09-05 11:53 edwin
6853 * src/vm/jit/x86_64/codegen.c: Ported to new instruction format.
6854 * src/vm/jit/x86_64/emit.c: Likewise.
6855 * src/vm/jit/x86_64/md-emit.h: Likewise.
6857 2006-09-05 11:50 edwin
6859 * src/vm/jit/jit.h (s3_operand_t): Added union field arrayvftbl.
6861 2006-09-05 11:47 edwin
6863 * src/vm/jit/jit.c (jit_compile): Test setup for the new x86_64
6865 (jit_compile_intern): Likewise.
6867 2006-09-05 11:42 edwin
6869 * src/vm/jit/emit.h (emit_load*): Changed for new instruction format.
6870 (emit_store*): Likewise.
6871 (emit_copy*): Likewise.
6872 (emit_store_dst): New function.
6874 2006-09-05 11:40 edwin
6876 * src/vm/jit/jit.h (basicblock): Added fields invars and outvars.
6877 * src/vm/jit/stack.h (MARKREACHED): Set invars.
6878 * src/vm/jit/stack.c (new_stack_analyse): Set invars and outvars.
6879 * src/vm/jit/show.c (new_show_basicblock): Show invars and outvars.
6881 2006-09-05 11:34 edwin
6883 * src/vm/jit/jit.h (NEW_INSTRUCTION_*): Renamed to INSTRUCTION_.
6884 The old INSTRUCTION_ and ICMD_ macros are removed.
6885 * src/vm/resolve.c (NEW_INSTRUCTION_*): Replaced with INSTRUCTION_.
6886 * src/vm/jit/show.c (new_show_icmd): Likewise.
6887 * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
6889 * src/vm/jit/stack.c (new_stack_analyse): Likewise, and add a call
6890 of builtintable_replace_function.
6892 2006-09-05 11:20 edwin
6894 * src/vm/jit/verify/typecheck.c: Ported to new instruction format.
6895 * src/vm/jit/verify/typeinfo.c (typeinfo_print): Likewise.
6896 (typeinfo_print_short): Likewise.
6898 2006-09-05 11:16 edwin
6900 * src/vm/builtin.h (builtintable_replace_function): Ported to new
6902 * src/vm/builtin.c (builtintable_replace_function): Likewise.
6904 2006-09-05 11:13 edwin
6906 * src/vm/jit/show.c (new_show_variable_array): New function.
6907 (new_show_method): Fixed calculation of lastbptr.
6908 Only show code lengths if stage >= SHOW_CODE.
6910 2006-09-05 10:52 edwin
6912 * src/vm/resolve.h: Removed code for old instruction format.
6913 * src/vm/resolve.c: Likewise.
6915 2006-09-05 10:47 edwin
6917 * src/vm/jit/allocator/simplereg.h: Removed code for old instruction
6919 * src/vm/jit/allocator/simplereg.c: Likewise.
6921 2006-09-05 10:44 edwin
6923 * src/vm/jit/show.h: Removed code for old instruction format.
6924 * src/vm/jit/show.c: Likewise.
6926 2006-09-05 10:39 edwin
6928 * src/vm/jit/stack.h: Removed code for old instruction format.
6929 * src/vm/jit/stack.c: Likewise.
6931 2006-09-05 10:37 edwin
6933 * src/vm/jit/parse.h: Removed code for old instruction format.
6934 * src/vm/jit/parse.c: Likewise.
6936 2006-09-05 10:20 edwin
6938 Branch for porting the new instruction format.
6940 2006-09-05 10:15 twisti
6942 * src/vm/jit/i386/Makefile.am (noinst_HEADERS): Removed
6943 icmd_uses_reg_res.inc.
6945 2006-09-05 10:10 twisti
6947 * src/vm/jit/i386/icmd_uses_reg_res.inc: Removed.
6949 2006-09-05 10:09 edwin
6951 * src/vm/jit/x86_64/codegen.h (ICONST): Fix this macro so it properly
6955 2006-09-05 10:04 twisti
6957 * src/tests/Howdy.java: Removed.
6959 2006-09-05 10:03 twisti
6961 * src/vm/jit/x86_64/codegen.c (codegen): Use cd->stackframesize
6962 instead of stackframesize (bugfix).
6963 (createnativestub): Likewise.
6965 2006-09-05 09:59 edwin
6967 * src/vm/jit/codegen-common.h (codegen_reg_of_dst): New function.
6968 * src/vm/jit/codegen-common.c (codegen_reg_of_dst): Likewise.
6969 Right now this duplicates codegen_reg_of_var's body. We should
6970 probably make one of these functions inline the other.
6972 2006-09-05 00:12 edwin
6974 * src/vm/jit/ifconv/ifconv.c (ifconv_static): Deactivated
6975 show_basicblock calls that will become a problem when code for the
6976 old instruction format is removed.
6979 2006-09-05 00:02 edwin
6981 * src/vm/resolve.c (resolve_field): new_resolve_field_verifier_checks
6982 used instead of the old function that will be removed soon.
6983 (resolve_method): Use new_resolve_method_verifier_checks instead of
6985 old function that will be removed soon.
6986 (new_resolve_method_verifier_checks): Port handling of
6987 TYPEINFO_IS_NEWOBJECT.
6988 (new_resolve_method_verifier_checks): Likewise.
6989 (new_constrain_unresolved_field): Likewise.
6990 (new_constrain_unresolved_method): Likewise.
6992 2006-09-04 23:24 edwin
6994 * src/vm/jit/parse.c (new_parse): Changed leftover "OP" macro uses
6997 2006-09-04 17:45 twisti
6999 * src/vm/jit/mips/emit.c (config.h): Added.
7000 [ENABLE_THREADS] (threads/native/lock.h): Likewise.
7001 (vm/exceptions.h): Likewise.
7002 (vm/stringlocal.h): Likewise.
7003 (vm/jit/asmpart.h): Likewise.
7004 (vm/jit/dseg.h): Likewise.
7005 (vm/jit/replace.h): Likewise.
7006 (emit_exception_stubs): New method.
7007 (emit_patcher_stubs): Likewise.
7008 (emit_replacement_stubs): Likewise.
7010 * src/vm/jit/mips/codegen.c (codegen): Use cd->stackframesize instead
7011 of stackframesize, use emit functions to generate stubs and call trace
7013 (createnativestub): Likewise.
7015 2006-09-04 17:12 christian
7017 * src/vm/jit/alpha/patcher.c (patcher_wrapper): Patch back machine
7019 (patcher_aconst): Renamed to patcher_resolve_classref_to_classinfo.
7020 (patcher_clinit): Renamed to patcher_initialize_class.
7021 (patcher_resolve_native): Renamed to patcher_resolve_native_function.
7022 (patcher_athrow_areturn): Renamed to patcher_resolve_class.
7023 (patcher_checkcast_instanceof_class): Renamed to
7024 patcher_resolve_classref_to_vftbl.
7025 (patcher_checkcast_instanceof_flags): Renamed to
7026 patcher_resolve_classref_to_flags.
7027 (patcher_builtin_multianewarray): Removed.
7028 (patcher_builtin_arraycheckcast): Likewise.
7030 * src/vm/jit/alpha/codegen.c (codegen): Use new patcher functions.
7032 2006-09-04 16:33 twisti
7034 * src/vm/jit/alpha/emit.c (vm/builtin.h): Added.
7035 (vm/jit/abi-asm.h): Likewise.
7036 (vm/jit/replace.h): Likewise.
7037 (emit_verbosecall_enter): New method.
7038 (emit_verbosecall_exit): Likewise.
7040 * src/vm/jit/alpha/codegen.c (codegen): Use emit functions to generate
7042 (createnativestub): Likewise.
7044 2006-09-04 15:48 twisti
7046 * src/vm/jit/powerpc/emit.c (config.h): Added.
7047 [ENABLE_THREADS] (threads/native/lock.h): Likewise.
7048 (vm/builtin.h): Likewise.
7049 (vm/jit/abi-asm.h): Likewise.
7050 (vm/jit/asmpart.h): Likewise.
7051 (vm/jit/replace.h): Likewise.
7052 (emit_exception_stubs): New method.
7053 (emit_patcher_stubs): Likewise.
7054 (emit_replacement_stubs): Likewise.
7055 (emit_verbosecall_enter): Likewise.
7056 (emit_verbosecall_exit): Likewise.
7058 * src/vm/jit/powerpc/codegen.c (codegen): Use emit functions to
7059 generate stubs and call trace code.
7060 (createnativestub): Likewise.
7062 2006-09-04 14:21 twisti
7064 * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): We don't save
7065 an argument on the stack anymore, offsets adjusted.
7066 (asm_handle_exception): Use md_codegen_get_pv_from_pc instead of
7067 assembler code and temporary variables as on other RISC architectures.
7069 2006-09-04 12:38 tbfg
7071 * src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter): Fixed off
7072 by one stackslot overwrite some stuff bug.
7074 * src/vm/jit/powerpc64/codegen.c (codegen): Fix parameter passing
7077 2006-09-02 14:26 tbfg
7079 * src/vm/jit/powerpc64/arch.h: Reenabled platfrom features.
7081 * src/vm/jit/powerpc64/codegen.c (codegen): Fixed native calls.
7082 (createnativestub): Likewise.
7084 2006-08-31 19:58 tbfg
7086 * srv/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Fixed argument
7089 2006-08-31 13:32 tbfg
7091 * src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter): Moved from
7092 codegen.c refactored into function, and made it work.
7093 (emit_verbosecall_exit): Likewise.
7095 * src/vm/jit/powerpc64/codegen.c (codegen_trace_args): Moved into
7096 emit.c and renamed it to emit_verbosecall_enter.
7097 (codegen): Using emit_verbosecall_* instead of inline code, and
7098 various fixes to make verbose:call work.
7099 (createnativestub): Likewise.
7101 2006-08-28 19:31 tbfg
7103 * src/vm/jit/powerpc64/linux/md-abi.h: New REG_TOC name needed to
7104 call builtins due to ppc64 function descriptors (ELF ABI).
7106 * src/vm/jit/powerpc64/codegen.c (createnativestub): Big endian
7107 requires M_LLD and M_IST to copy s4 values from dseg to stack.
7108 (codegen): gen_method needs to create function descriptor call.
7110 * src/vm/jit/powerpc64/asmpart.S: When linking statically
7111 non function descriptor calls are generated by compiler.
7112 Some ifdefs added to fix static linking.
7114 2006-08-28 15:18 twisti
7116 * src/vm/jit/patcher.h (patcher_resolve_class): Added.
7117 (patcher_initialize_class): Likewise.
7118 (patcher_resolve_classref_to_classinfo): Likewise.
7119 (patcher_resolve_classref_to_vftbl): Likewise.
7120 (patcher_resolve_classref_to_flags): Likewise.
7121 (patcher_resolve_native_function): Likewise.
7123 * src/vm/jit/powerpc/patcher.c (patcher_wrapper): Patch back machine
7125 (patcher_aconst): Renamed to patcher_resolve_classref_to_classinfo.
7126 (patcher_clinit): Renamed to patcher_initialize_class.
7127 (patcher_resolve_native): Renamed to patcher_resolve_native_function.
7128 (patcher_athrow_areturn): Renamed to patcher_resolve_class.
7129 (patcher_checkcast_class): Renamed to
7130 patcher_resolve_classref_to_vftbl.
7131 (patcher_checkcast_instanceof_flags): Renamed to
7132 patcher_resolve_classref_to_flags.
7133 (patcher_builtin_multianewarray): Removed.
7134 (patcher_builtin_arraycheckcast): Likewise.
7135 (patcher_instanceof_class): Likewise.
7137 * src/vm/jit/powerpc/codegen.c (codegen): Use new patcher functions
7138 (some of them were already commited accidentally in the last commit).
7140 2006-08-28 13:05 twisti
7142 * src/vm/jit/emit.h (emit_verbosecall_enter): Added.
7143 (emit_verbosecall_exit): Likewise.
7145 * src/vm/jit/powerpc/emit.c (vm/builtin.h): Added.
7146 (vm/jit/asmpart.h): Likewise.
7147 (vm/jit/replace.h): Likewise.
7148 (emit_exception_stubs): New method.
7149 (emit_patcher_stubs): Likewise.
7150 (emit_replacement_stubs): Likewise.
7151 (emit_verbosecall_enter): Likewise.
7152 (emit_verbosecall_exit): Likewise.
7154 * src/vm/jit/powerpc/codegen.c (vm/jit/abi-asm.h): Added.
7155 (codegen_trace_args): Removed.
7156 (codegen): Use cd->stackframesize instead of stackframesize, use emit
7157 functions to generate stubs and call trace code.
7158 (createnativestub): Likewise.
7160 2006-08-25 11:55 tbfg
7162 * src/vm/jit/show.c (show_method): Stubs are printed green when
7165 * src/vm/jit/powerpc64/linux/md-os.c (md_signal_handler_sigusr2):
7166 Moved into #ifdef ENABLE_THREADS conditional compile, as it depends
7169 * src/vm/jit/powerpc64/codegen.h: Added M_LADD_IMM and M_AADD_IMM
7170 for better reading of code. Fixed M_CLR.
7172 * src/vm/jit/powerpc64/codegen.c (codegen): Some fixes with ?RETURN,
7173 some fixes for -verbose:call (still defunc),
7174 (createnativestub): Lots of fixes in stackframe calculations.
7176 * src/vm/jit/powerpc64/patcher.c (patch_aconst): Correct asm comment.
7178 * src/vm/jit/powerpc64/disass.c (disassinstr): Display 64 bit
7179 addresses in disassembled code (-sa).
7181 * src/vm/jit/powerpc64/asmpart.S (L_asm_vm_call_method_return):
7182 Fixed path for methods returning a value.
7183 (L_asm_handle_exception): Fixed path for exception handling.
7184 (asm_patcher_wrapper): Fixed path for codepatching.
7186 2006-08-25 07:54 twisti
7188 * src/vm/exceptions.c (new_illegalmonitorstateexception): Renamed to
7189 exceptions_new_illegalmonitorstateexception.
7190 (exceptions_throw_illegalmonitorstateexception): New method.
7191 * src/vm/exceptions.h: Likewise.
7193 * src/threads/native/lock.c (lock_monitor_exit): Use
7194 exceptions_throw_illegalmonitorstateexception instead of
7195 new_illegalmonitorstateexception.
7196 (lock_monitor_wait): Likewise.
7197 (lock_monitor_notify): Likewise.
7199 * src/cacaoh/headers.c (new_illegalmonitorstateexception): Renamed to
7200 exceptions_throw_illegalmonitorstateexception.
7202 2006-08-25 07:29 twisti
7204 * src/vm/jit/alpha/emit.c (emit_exception_stubs): Bugfix when
7205 reallocating the code area.
7206 (emit_patcher_stubs): Reuse the asm_patcher_wrapper call code.
7207 (emit_replacement_stubs): Removed savedmcodeptr.
7209 2006-08-25 07:14 twisti
7211 * src/vm/jit/alpha/emit.c (emit_exception_stubs): Bugfix when
7212 reallocating the code area.
7213 (emit_patcher_stubs): Likewise.
7215 2006-08-24 18:42 twisti
7217 * src/vm/jit/codegen-common.h (codegendata): Added stackframesize. I
7218 think this is more obvious than in jitdata.
7220 * src/vm/jit/jit.h (jitdata): Removed stackframesize.
7222 * src/vm/jit/alpha/emit.c (emit_exception_stubs): Replaced
7223 jd->stackframesize with cd->stackframesize.
7225 * src/vm/jit/alpha/codegen.c (codegen): Likewise.
7226 (createnativestub): Likewise.
7228 * src/vm/jit/i386/emit.c (emit_exception_stubs): Likewise.
7230 * src/vm/jit/i386/codegen.c (codegen): Likewise.
7231 (createnativestub): Likewise.
7233 2006-08-24 09:29 tbfg
7235 srv/vm/jit/powerpc/linux/md-os.c (md_signal_handler_sigusr2): Moved
7237 ENABLE_THREADS ifdef as is depends on threads.
7239 2006-08-23 16:04 twisti
7241 * src/vm/jit/alpha/emit.c [ENABLE_THREADS] (threads/native/lock.h):
7243 (vm/jit/asmpart.h): Likewise.
7244 (vm/jit/dseg.h): Likewise.
7245 (emit_exception_stubs): New function.
7246 (emit_patcher_stubs): Likewise.
7247 (emit_replacement_stubs): Likewise.
7249 * src/vm/jit/i386/codegen.c (codegen): Use jd->stackframesize, removed
7250 stub generation code.
7251 (createnativestub): Likewise.
7253 2006-08-23 15:55 twisti
7255 * src/vm/jit/alpha/asmpart.S (asm_handle_exception): Fixed bug with
7256 maybe-leaf stack and use same registers as on MIPS.
7258 2006-08-23 15:45 twisti
7260 * src/vm/jit/alpha/asmpart.S (asm_handle_exception): Use
7261 md_codegen_get_pv_from_pc.
7263 2006-08-23 15:10 twisti
7265 * src/vm/jit/mips/asmpart.S (asm_handle_exception): Changed some
7268 2006-08-23 14:55 twisti
7270 * src/vm/jit/alpha/asmpart.S (L_asm_handle_exception_stack_loop):
7273 2006-08-23 14:23 twisti
7275 * src/boehm-gc/configure.in (AC_C_INLINE): Set CFLAGS properly before.
7277 2006-08-23 14:07 twisti
7279 * configure.ac (AC_CONFIG_SUBDIRS): Moved to the end of the file and
7280 export OPT_CFLAGS/ARCH_CFLAGS instead of CFLAGS.
7282 * src/boehm-gc/configure.in: Pass CFLAGS to Makefile's as for CACAO.
7283 * src/boehm-gc/Makefile.am (AM_CXXFLAGS, AM_CFLAGS): Commented.
7284 (AM_CPPFLAGS): Added.
7286 2006-08-23 12:57 twisti
7288 * src/vm/jit/alpha/emit.c (config.h): Added.
7289 [ENABLE_THREADS] (threads/native/lock.h): Likewise.
7290 (vm/jit/asmpart.h): Likewise.
7291 (vm/jit/dseg.h): Likewise.
7292 (emit_exception_stubs): New function.
7293 (emit_patcher_stubs): Likewise.
7294 (emit_replacement_stubs): Likewise.
7296 * src/vm/jit/alpha/codegen.c (codegen): Use jd->stackframesize, use
7297 new desg_add_* functions, removed stub generation code.
7298 (createnativestub): Likewise.
7300 2006-08-23 12:29 twisti
7302 * src/vm/vm.c (OPT_ALL, OPT_METHOD, OPT_SIGNATURE): #ifndef NDEBUG.
7303 (usage): Don't print -all, -m, -sig options.
7305 2006-08-23 12:12 twisti
7307 * src/vm/jit/emit.h (emit_replacement_stubs): Added.
7309 2006-08-22 20:48 twisti
7311 * src/vm/jit/i386/md-emit.h (vm/jit/codegen-common.h): Added.
7313 2006-08-22 19:53 twisti
7315 * src/vm/jit/emit.h (emit_exception_stubs): Added.
7316 (emit_patcher_stubs): Likewise.
7318 * src/vm/jit/jit.h (jitdata): Added member stackframesize.
7320 2006-08-22 15:49 tbfg
7322 * src/vm/jit/powerpc64/linux/md-abi.h: Added PA_SIZE and
7323 PA_SIZE_IN_POINTERS defines.
7325 * src/vm/jit/powerpc64/arch.h: Enabled machine dependend
7326 compare_and_swap implementation for ppc64.
7328 * src/vm/jit/powerpc64/codegen.c (codegen): Remove lot of PACK_REGS
7329 usages, changed stack address calculations from *4 -> *8, added
7330 a M_NOP for debugging.
7332 * src/vm/jit/powerpc64/machine-instr.h (compare_and_swap): Ported
7334 (atomic_add): Removed.
7336 * src/vm/jit/powerpc64/patcher.c (patcher_wrapper): Fixed stack
7337 calculations from *4 -> *8
7338 (patcher_aconst): Likewise.
7339 (patcher_athrow_areturn): Likewise.
7340 (patcher_builtin_arraycheckcast): Likewise.
7341 (patcher_builtin_multianewarray): Likewise.
7342 (patcher_checkcast_class): Likewise.
7343 (patcher_checkcast_instanceof_flags): Likewise.
7344 (patcher_checkcast_instanceof_interf): Likewise.
7345 (patcher_clinit): Likewise.
7346 (patcher_get_putfield): Likewise.
7347 (patcher_get_putstatic): Likewise.
7348 (patcher_instanceof_class): Likewise.
7349 (patcher_invokeinterface): Likewise.
7350 (patcher_invokestatic_special): Likewise.
7351 (patcher_invokevirtual): Likewise.
7352 (patcher_resolve_native): Likewise.
7354 * src/vm/jit/powerpc64/asmpart.S (asm_patcher_wrapper): Fixed
7355 calling convetions, as we callback C. Fixed 32 bit issues.
7356 (asm_call_jit_compiler): PPC64 has additional PA_SIZE
7357 on stack - fixed that.
7359 2006-08-22 14:39 twisti
7361 * src/native/vm/java_lang_VMThrowable.c (fillInStackTrace): Removed
7362 architecture #ifdef's.
7363 (getStackTrace): Likewise.
7365 2006-08-22 12:43 twisti
7367 * src/native/native.c (dummynativetable): Made non-static, GCC 4.1
7368 optimized the table away.
7369 (native_init): Removed dummynativetable-hack.
7371 2006-08-22 09:02 tbfg
7373 * src/vm/options.h: Renamed -verbosecolor to -debug-color,
7374 opt_colorverbose to opt_debugcolor and OPT_COLORVERBOSE to
7376 * src/vm/method.c: Same as above.
7377 * src/vm/jit/dseg.c: Same as above.
7378 * src/vm/vm.c: Same as above.
7379 * src/vm/options.c: Same as above.
7380 * src/vm/jit/Makefile.am: Removed options.h dependecy, as deps are
7381 tracked automatically.
7383 2006-08-21 17:37 twisti
7385 * src/lib/vm/reference/gnu/classpath/VMStackWalker.java
7386 (firstNonNullClassLoader): Added and made native.
7388 * src/native/vm/gnu_classpath_VMStackWalker.c (getClassContext):
7389 Removed architecture #ifdef's, as most stacktrace stuff is
7390 architecture independent and the dependent stuff is very simple to
7392 (getCallingClass): Likewise.
7393 (getCallingClassLoader): Likewise.
7394 (firstNonNullClassLoader): Added.
7396 2006-08-21 15:25 twisti
7398 * src/vm/jit/i386/asmpart.S (L_asm_patcher_wrapper_exception): Removed
7401 2006-08-21 15:17 twisti
7403 * configure.ac (AC_CONFIG_FILES): Added
7404 src/vm/jit/i386/darwin/Makefile.
7406 * src/vm/jit/i386/codegen.c (createnativestub): Align stack to
7409 * src/vm/jit/i386/darwin/md-os.c: Darwin specific functions.
7410 * src/vm/jit/i386/darwin/md-asm.h: Darwin specific assembler defines.
7411 * src/vm/jit/i386/darwin/Makefile.am: New file.
7412 * src/vm/jit/i386/darwin/.cvsignore: Likewise.
7414 * src/vm/jit/i386/linux/md-asm.h: Linux specific assembler defines.
7415 * src/vm/jit/i386/freebsd/md-asm.h: FreeBSD specific assembler
7418 * src/vm/jit/i386/md-asm.h: Removed.
7420 * src/vm/jit/i386/asmpart.S (asm_handle_exception): Align stack to
7422 (asm_abstractmethoderror): Likewise.
7423 (asm_patcher_wrapper): Likewise.
7424 (asm_builtin_f2i, asm_builtin_d2i, asm_builtin_f2l, asm_builtin_d2l):
7427 * src/vm/jit/i386/Makefile.am (DIST_SUBDIRS): Added darwin.
7428 (AM_CPPFLAGS): Added OS_DIR as include.
7429 (noinst_HEADERS): Removed md-asm.h.
7431 * src/threads/native/threads.c (threads_cast_darwinstop): Use generic
7432 defines and machine dependent structures.
7434 2006-08-21 14:52 twisti
7436 * src/vm/jit/powerpc/darwin/md-asm.h (asm_initialize_thread_stack):
7438 (asm_perform_threadswitch): Likewise.
7439 (asm_switchstackandcall): Likewise.
7441 2006-08-18 18:37 tbfg
7443 src/vm/options.h: Added the commandlineswitch --verbosecolor which
7445 colored output of show: -si prints method names in red -sd shows
7447 dump in blue. (use | less -R)
7449 src/vm/options.c (options_get): There is a nasty bug in there, read
7452 2006-08-18 13:07 twisti
7454 * src/toolbox/util.c (util_current_time_millis): Removed.
7455 * src/toolbox/util.h: Likewise.
7457 * src/vm/vm.c (vm_create): Use builtin_currenttimemillis instead of
7458 util_current_time_millis.
7460 2006-08-18 13:01 twisti
7462 * src/vm/exceptions.c (new_arraystoreexception): Renamed to
7463 exceptions_new_arraystoreexception.
7464 (exceptions_throw_arraystoreexception): New function.
7465 * src/vm/exceptions.h: Likewise.
7467 * src/vm/builtin.c (builtintable_init): Reimplemented and added
7468 builtintable_function.
7469 (builtintable_replace_function): New function.
7470 (builtin_arraycopy): Likewise.
7471 (builtin_currenttimemillis): Likewise.
7473 * src/vm/builtin.h (builtintable_entry): Added some extra members.
7474 (builtin_asm_get_exceptionptrptr): Removed.
7475 (builtintable_replace_function): Added.
7476 (builtin_arraycopy): Likewise.
7477 (builtin_currenttimemillis): Likewise.
7479 * src/vm/builtintable.inc (builtintable_internal): Use new
7480 builtintable_entry structure.
7481 (builtintable_automatic): Likewise.
7482 (builtintable_function): Added.
7484 * src/vm/jit/stack.c (stack_analyse): Call
7485 builtintable_replace_function.
7487 * src/vm/jit/show.c (new_show_icmd): Print correct variable of builtin
7489 (show_icmd): Likewise.
7491 * src/vm/jit/stacktrace.c (stacktrace_inline_arraystoreexception): Use
7492 exceptions_new_arraystoreexception.
7494 * src/native/vm/java_lang_VMSystem.c (arraycopy): Removed
7495 implementation and use builtin_arraycopy.
7497 * src/cacaoh/headers.c
7498 (exceptions_throw_arrayindexoutofboundsexception): Added.
7499 (exceptions_new_arraystoreexception): Likewise.
7500 (exceptions_throw_arraystoreexception): Likewise.
7502 2006-08-18 12:24 twisti
7504 * src/vm/class.c (class_java_lang_VMSystem): Added.
7505 * src/vm/class.h: Likewise.
7506 * src/vm/loader.c (loader_init): Likewise.
7507 * src/vm/linker.c (linker_init): Likewise.
7509 2006-08-18 10:22 tbfg
7511 src/vm/jit/powerpc64/linux/md-os.c: Ported signal handlers to ppc64
7514 2006-08-17 17:51 tbfg
7516 src/vm/jit/powerpc64/md.c (md_get_method_patch_address): Fixed
7520 src/vm/jit/powerpc64/arch.h: Temporarily disabled all hardwarefeaturs
7522 make porting easier.
7524 src/vm/jit/powerpc64/codegen.c: Started to fix 32/64 bit issues.
7526 src/vm/jit/powerpc64/codegen.h: Removing special long handling.
7528 src/vm/jit/powerpc64/patcher.c: Changed comment only.
7530 2006-08-17 09:59 twisti
7532 * src/vm/jit/i386/asmpart.S (asm_patcher_wrapper): Restore REG_ITMP3
7533 from stub stack. I missed this when I did the last changes.
7535 2006-08-17 09:26 twisti
7537 * src/vm/jit/optimizing: Added ignore property.
7539 2006-08-16 15:35 christian
7541 * src/vm/jit/optimizing/.cvsignore: New file.
7543 2006-08-16 12:21 christian
7545 * src/vm/jit/stack.c (stack_analyse): Use of real PEI data
7546 (op_data[opcode][PEI]) to prevent copy propagation to LOCALVAR with
7547 ICMD_XSTORE instead of just regarding INVOKES as PEI's.
7549 2006-08-16 12:11 christian
7551 * src/toolbox/worklist.h: Comments added.
7553 2006-08-16 12:10 christian
7555 * src/toolbox/bitvector.c: Comments added.
7557 * src/toolbox/bitvector.h: Comments added.
7559 * src/toolbox/worklist.c: Comments added.
7561 2006-08-16 11:35 christian
7563 * src/toolbox/worklist.c: Corrected Header information.
7565 * src/toolbox/worklist.h: Likewise.
7567 * src/toolbox/bitvector.c: Likewise.
7569 * src/toolbox/bitvector.h: Likewise.
7571 2006-08-16 11:31 christian
7573 * src/vm/jit/allocator/liveness.c: Corrected Header information.
7575 * src/vm/jit/allocator/liveness.h: Likewise.
7577 * src/vm/jit/allocator/lsra.c: Likewise.
7579 * src/vm/jit/allocator/lsra.h: Likewise.
7581 2006-08-16 11:26 christian
7583 * src/vm/jit/optimizing/dominators.c: Corrected Header information.
7585 * src/vm/jit/optimizing/dominators.h: Likewise.
7587 * src/vm/jit/optimizing/graph.c: Likewise.
7589 * src/vm/jit/optimizing/graph.h: Likewise.
7591 * src/vm/jit/optimizing/lifetimes.c: Likewise.
7593 * src/vm/jit/optimizing/lifetimes.h: Likewise.
7595 * src/vm/jit/optimizing/lsra.c: Likewise.
7597 * src/vm/jit/optimizing/lsra.h: Likewise.
7599 * src/vm/jit/optimizing/ssa.c: Likewise.
7601 * src/vm/jit/optimizing/ssa.h: Likewise.
7603 2006-08-16 11:18 christian
7605 * src/vm/jit/optimizing/ssa.c (ssa_print_phi): Printing now phi
7606 functions correctly for debug output.
7608 * src/vm/jit/optimizing/ssa.c (dead_code_elimination): No removal of
7609 potential exception throwing instructions (PEI) anymore.
7611 * src/vm/jit/jit.h: Renamed op_needs_saved[] to op_data[][NEEDS_SAVED]
7612 and introduced the new op_data[][PEI].
7614 * src/vm/jit/jit.c (jit_init): Added init of op_data[NEEDS_SAVED|PEI]
7616 * src/vm/jit/optimizing/lifetimes.c (LifeOutAtStatement): Renamed
7617 op_needs_saved[] to the new op_data[][NEEDS_SAVED]
7619 2006-08-15 14:54 christian
7621 * src/vm/jit/optimizing/lifetimes.c (LifenessAnalysis): Ignore
7622 variables used in phi functions, if they define itself (x =
7625 * src/vm/jit/i386/codegen.c (codegen): Bugfix in code created for
7628 * src/vm/jit/show.c (new_show_method): Regard ENABLE_SSA like
7629 ENABLE_LSRA to suppress output of interfaces.
7631 * src/vm/jit/show.c (show_method): likewise.
7633 * src/vm/jit/show.c (show_icmd): Regard special operand format for
7636 2006-08-14 18:14 christian
7638 * src/vm/jit/optimizing/: New directory for optimizing compiler (SSA
7639 by now - does not work by now, code merging with svn head introduced
7640 some hazardous faults).
7642 * src/vm/jit/optimizing/dominators.c: Computation of dominators and
7643 domination frontier for SSA.
7645 * src/vm/jit/optimizing/dominators.h: Include file for dominators.c.
7647 * src/vm/jit/optimizing/graph.c: CFG functions needed for SSA.
7649 * src/vm/jit/optimizing/graph.h: Include file for graph.c
7651 * src/vm/jit/optimizing/lifetimes.c: Scanning lifetimes for SSA.
7653 * src/vm/jit/optimizing/lifetimes.h: Include file for lifetimes.c
7655 * src/vm/jit/optimizing/lsra.c: LSRA based on SSA.
7657 * src/vm/jit/optimizing/lsra.h: Include file for lsra.c.
7659 * src/vm/jit/optimizing/Makefile.am: New Makefile.am for this
7662 * src/vm/jit/optimizing/ssa.c: Computation of SSA form.
7664 * src/vm/jit/optimizing/ssa.h: Include File for ssa.c.
7666 2006-08-14 18:10 christian
7668 * src/vm/jit/optimizing: New directory
7670 2006-08-14 17:50 christian
7672 * src/vm/jit/optimizing/: New directory for optimizing compiler (SSA
7673 by now - does not work by now, code merging with svn head introduced
7674 some hazardous faults).
7676 * src/vm/jit/optimizing/dominators.c: Computation of dominators and
7677 domination frontier for SSA.
7679 * src/vm/jit/optimizing/dominators.h: Include file for dominators.c.
7681 * src/vm/jit/optimizing/graph.c: CFG functions needed for SSA.
7683 * src/vm/jit/optimizing/graph.h: Include file for graph.c
7685 * src/vm/jit/optimizing/lifetimes.c: Scanning lifetimes for SSA.
7687 * src/vm/jit/optimizing/lifetimes.h: Include file for lifetimes.c
7689 * src/vm/jit/optimizing/lsra.c: LSRA based on SSA.
7691 * src/vm/jit/optimizing/lsra.h: Include file for lsra.c.
7693 * src/vm/jit/optimizing/Makefile.am: New Makefile.am for this
7696 * src/vm/jit/optimizing/ssa.c: Computation of SSA form.
7698 * src/vm/jit/optimizing/ssa.h: Include File for ssa.c.
7700 * src/vm/jit/allocator/lsra.c: Moved from src/vm/jit. Quite complete
7701 code change (including: no more allocation of unused reserved
7702 registers, possibility of exact lifetime analysis, removal of old
7703 lifetime test functions).
7705 * src/vm/jit/allocator/lsra.h: Moved from src/vm/jit.
7707 * src/vm/jit/allocator/liveness.c: New File. Exact lifetime analysis
7710 * src/vm/jit/allocator/liveness.h: New File. Include File for
7711 liveness.c. The #define LV enables by now the exact liveness analysis.
7713 * src/vm/jit/allocator/Makefile.am: Adopted for new/moved files in
7714 src/vm/jit/allocator.
7716 * sc/vm/jit/Makefile.am: Adopted for above new/moved files.
7718 * configure.ac: Introduced ENABLE_SSA: new option --enable-ssa.
7719 Changes for ENABLE_LSRA (--enable-lsra). New Makefile in
7720 src/vm/jit/optimizing added.
7722 * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Support for
7723 ENABLE_SSA for statistics.
7725 * src/vm/options.h: opt_lsra is used with ENABLE_SSA like with
7728 * src/vm/options.c: opt_lsra is used with ENABLE_SSA like with
7731 * src/vm/global.h: New struct imm for union imm_union to get another
7732 operand for IINC in combination with SSA added.
7734 * src/vm/vm.c: opt_lsra and the option -lsra is used with ENABLE_SSA
7735 like with ENABLE_LSRA.
7737 * src/vm/jit/stack.c (stack_analyse): No stack element lifetimes
7738 counting anymore for lsra/ssa (m->maxlifetimes).
7740 * src/vm/jit/stack.h: No stack lifetime counting anymore for lsra/ssa
7743 * src/vm/jit/i386/codegen.c: Support for ENABLE_SSA added.
7745 * src/vm/jit/i386/codegen.c (codegen_insert_phi_moves): New function
7746 to insert phi moves for SSA at the end of Basic Blocks.
7748 * src/vm/jit/i386/codegen.c (cg_move): New function to create the
7749 instructions for the actual move for codegen_insert_phi_moves).
7751 * src/vm/jit/i386/codegen.c (codegen): Logic and calls to use
7752 codegen_insert_phi_moves for SSA added. With SSA for parameters in
7753 memory this memory positions cannot be reused to avoid copying. Checks
7754 added to prevent moves to or from stackslots removed by the dead code
7755 elimination. Special handling for the new ICMD_IINC operand format
7758 * src/vm/jit/i386/codegen.h (M_COPY): Checks added to prevent moves to
7759 or from stackslots removed by the dead code elimination. Original
7760 M_COPY renamed to _M_COPY.
7762 * src/vm/jit/jit.c (jit_init): Populate op_needs_saved. Regard
7765 * src/vm/jit/jit.h: Support for ENABLE_SSA added. Added an array which
7766 shows which ICMD's need a SAVEDVAR for SSA and the new LSRA with exact
7767 liveness analysis. src/toolbox/Makefile.am: Changed to include the
7768 following new files:
7770 * src/toolbox/bitvector.c: Bitvector implementation for SSA.
7772 * src/toolbox/bitvector.h: Include file for bitvector.c.
7774 * src/toolbox/worklist.c: Worklist implementation for SSA.
7776 * src/toolbox/worklist.h: Include file for worklist.c.
7778 2006-08-14 10:59 twisti
7780 * src/vm/jit/codegen-common.c (codegen_findmethod): Renamed to
7781 codegen_get_pv_from_pc.
7783 * src/vm/jit/codegen-common.h (codegen_findmethod): Likewise.
7784 (md_codegen_findmethod): Renamed to md_codegen_get_pv_from_pc.
7786 * src/vm/jit/stacktrace.c (stacktrace_create_stackframeinfo):
7788 (stacktrace_create_inline_stackframeinfo): Likewise.
7789 (stacktrace_create_extern_stackframe): Likewise.
7790 (stacktrace_create): Likewise.
7792 * src/vm/jit/alpha/md.c (md_codegen_findmethod): Renamed to
7793 md_codegen_get_pv_from_pc.
7794 * src/vm/jit/i386/md.c: Likewise.
7795 * src/vm/jit/mips/md.c: Likewise.
7796 * src/vm/jit/powerpc/md.c: Likewise.
7797 * src/vm/jit/powerpc64/md.c: Likewise.
7798 * src/vm/jit/sparc64/md.c: Likewise.
7799 * src/vm/jit/x86_64/md.c: Likewise.
7801 * src/vm/jit/i386/asmpart.S: Likewise.
7802 * src/vm/jit/mips/asmpart.S: Likewise.
7803 * src/vm/jit/powerpc/asmpart.S: Likewise.
7804 * src/vm/jit/x86_64/asmpart.S: Likewise.
7805 * src/vm/jit/intrp/asmpart.c: Likewise.
7807 * src/vm/jit/i386/patcher.c (patcher_wrapper): Fixed comment.
7808 * src/vm/jit/x86_64/patcher.c: Likewise.
7810 2006-08-11 13:11 tbfg
7812 * src/vm/jit/powerpc64/linux/md-abi.h: LA_WORD_SIZE renamed to
7813 LA_SIZE_IN_POINTERS, value fixed
7814 * src/vm/jit/powerpc64/linux/md-abi.c: LA_SIZE_IN_POINTERS rename
7815 * src/vm/jit/powerpc64/linux/md.c (md_codegen_findmethod): PPC64 uses
7817 instead of r13 (as PPC) for PV so opcodes changed.
7818 * src/vm/jit/powerpc64/asmpart.S: Using LA_SIZE instead of
7820 LA_SIZE_IN_POINTERS for SAVE_*_REGISTERS macros only.
7822 2006-08-11 10:13 twisti
7824 * src/vm/jit/powerpc/linux/md-abi.h (LA_WORD_SIZE): Renamed to
7825 LA_SIZE_IN_POINTERS.
7827 * src/vm/jit/powerpc/darwin/md-abi.h (LA_WORD_SIZE): Likewise.
7829 * src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Use
7830 LA_SIZE_IN_POINTERS instead of LA_WORD_SIZE.
7832 * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Likewise.
7834 * src/vm/jit/powerpc/asmpart.S: Likewise.
7836 * src/vm/jit/stack.c (new_stack_analyse): Likewise.
7837 (stack_analyse): Likewise.
7839 * src/vm/jit/reg.c (reg_setup): Likewise.
7841 2006-08-10 19:45 tbfg
7843 * src/vm/jit/powerpc64/linux/md-abi.h: fixed linkage area defines for
7845 * src/vm/jit/powerpc64/linux/md-asm.h: fixed register name defines
7847 SAVE/RESTORE macros.
7848 * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): fixed no
7850 call path, coming back to C now.
7852 2006-08-10 09:10 twisti
7854 * src/boehm-gc/darwin_stop_world.c: Updated to version 6.8.
7855 * src/boehm-gc/doc/README.changes: Likewise.
7856 * src/boehm-gc/doc/README: Likewise.
7857 * src/boehm-gc/include/gc.h: Likewise.
7858 * src/boehm-gc/include/gc_config_macros.h: Likewise.
7859 * src/boehm-gc/include/private/gcconfig.h: Likewise.
7860 * src/boehm-gc/configure.in: Likewise.
7861 * src/boehm-gc/version.h: Likewise.
7862 * src/boehm-gc/malloc.c: Likewise.
7863 * src/boehm-gc/pthread_support.c: Likewise.
7864 * src/boehm-gc/os_dep.c: Likewise.
7865 * src/boehm-gc/dyn_load.c: Likewise.
7867 2006-08-09 15:11 twisti
7869 * src/vm/jit/i386/codegen.c (codegen): Fixed ICMD_LMUL bug.
7871 2006-08-09 15:10 twisti
7873 * src/vm/jit/i386/emit.c (emit_load_s1): Coding style changes.
7874 (emit_load_s2): Likewise.
7875 (emit_load_s3): Likewise.
7876 (emit_load_s1_low): Likewise.
7877 (emit_load_s2_low): Likewise.
7878 (emit_load_s1_high): Likewise.
7879 (emit_store): Likewise.
7881 2006-08-08 19:57 edwin
7883 * src/vm/jit/jit.c (stackreq): Initialize this table statically.
7884 (jit_init): Removed dynamic initialization of stackreq table.
7886 2006-08-08 19:23 edwin
7888 * src/native/vm/java_lang_reflect_Method.c
7889 (Java_java_lang_reflect_Method_invokeNative): Removed unused
7892 * src/native/vm/java_lang_reflect_Constructor.c (vm/access.h):
7893 Include to fix warning.
7895 2006-08-08 19:18 edwin
7897 * src/native/vm/java_lang_reflect_Field.c (cacao_get_field_address):
7898 Use access_check_caller.
7900 2006-08-08 16:21 edwin
7902 * src/vm/access.h, src/vm/access.c (access_check_caller): Added.
7904 * src/native/vm/java_lang_reflect_Method.c
7905 (Java_java_lang_reflect_Method_invokeNative): Use access_check_caller
7906 for the access check.
7908 * src/native/vm/java_lang_reflect_Constructor.c
7909 (Java_java_lang_reflect_Constructor_constructNative): Likewise. This
7910 should fix the mauve test case
7911 java.lang.reflect.AccessibleObject.security.
7913 * src/cacaoh/headers.c (stacktrace_getClassContext): Added dummy
7916 2006-08-08 14:24 twisti
7918 * src/vm/jit/parse.h (new_block_insert): Renamed to
7919 NEW_MARK_BASICBLOCK.
7920 (block_insert): Renamed to MARK_BASICBLOCK.
7922 * src/vm/jit/parse.c (new_fillextable): Likewise.
7923 (fillextable): Likewise.
7924 (new_parse): Likewise.
7927 2006-08-08 13:25 twisti
7929 * src/vm/jit/stack.c (new_stack_analyse): Replaced debug_nr with nr.
7931 * src/vm/jit/verify/typecheck.c (typestate_reach): Likewise.
7932 (verify_basic_block): Likewise.
7934 * src/vm/jit/i386/codegen.c (codegen): Likewise.
7935 * src/vm/jit/powerpc/codegen.c (codegen): Likewise.
7936 * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
7938 2006-08-08 13:03 twisti
7940 * src/vm/jit/cfg.c (cfg_insert_predecessors): New method.
7941 (cfg_build): Use cfg_insert_predecessors for TABLESWITCH and
7944 2006-08-08 13:01 edwin
7946 * src/vm/resolve.h, src/vm/resolve.c (new_resolve_method_lazy):
7947 Removed curstack parameter.
7948 (new_resolve_field_lazy): Likewise.
7949 (new_constrain_unresolved_field): New function.
7950 (new_constrain_unresolved_method): Likewise.
7952 * src/vm/jit/parse.c (new_parse): Use new_resolve_field_lazy and
7953 new_resolve_method_lazy.
7955 2006-08-08 12:56 edwin
7957 * src/vm/jit/stack.c (new_stack_analyse): For INVOKE* instructions,
7958 store the live-through stack slots as additional arguments after
7959 the live-in slots. These live-through slots are needed by the
7960 verifier and by on-stack replacement in order to create a replacement
7961 point at the call site.
7962 NOTE: Currently the live-through slots are also stored for builtins.
7963 This should change in the final version.
7965 2006-08-08 12:46 edwin
7967 * src/vm/jit/jit.h (NEW_INSTRUCTION_IS_RESOLVED): New macro.
7968 (NEW_INSTRUCTION_IS_UNRESOLVED): Likewise.
7969 (NEW_INSTRUCTION_MUST_CHECK): Likewise.
7971 2006-08-08 12:45 twisti
7973 * src/vm/jit/cfg.h (CFG_UNKNOWN_PREDECESSORS): Defined.
7975 * src/vm/jit/stack.c (vm/jit/cfg.h): Added.
7976 (new_stack_analyse): Set predecessorcount for EXH blocks to
7977 CFG_UNKNOWN_PREDECESSORS.
7978 (stack_analyse): Likewise.
7980 * src/vm/jit/show.c (new_show_basicblock): Print predecessor block
7982 (show_basicblock): Likewise.
7984 2006-08-07 16:10 twisti
7986 * src/vm/jit/reorder.c (reorder): Iterate to m->basicblockcount + 1,
7987 so we kind of set the last basic block too.
7989 2006-08-07 15:30 twisti
7991 * src/vm/jit/jit.h (basicblock): Renamed debug_nr to nr.
7992 (BASICBLOCK_INIT): Likewise.
7994 * src/vm/jit/reorder.c (reorder_place_next_unplaced_block): Likewise.
7995 (reorder): Likewise.
7997 * src/vm/jit/show.c (new_show_method): Likewise.
7998 (show_method): Likewise.
7999 (new_show_basicblock): Likewise.
8000 (show_basicblock): Likewise.
8001 (SHOW_TARGET): Likewise.
8002 (show_icmd): Likewise.
8004 * src/vm/jit/ifconv/ifconv.c (check): Likewise.
8006 * src/vm/jit/loop/analyze.c (insert_exception): Likewise.
8007 (copy_handler): Likewise.
8008 (create_static_checks): Likewise.
8010 * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
8011 (typecheck_reset_flags): Likewise.
8012 (typecheck): Likewise.
8014 * src/vm/jit/verify/typeinfo.c (typeinfo_print): Likewise.
8015 (typeinfo_print_short): Likewise.
8016 (typeinfo_print_stacktype): Likewise.
8018 2006-08-07 15:12 tbfg
8020 * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method, asm_cacheflush):
8021 ppc64 abi needs function descriptor for function called from other
8022 relocateable modules and uses direct calling for module intern calls.
8024 2006-08-07 11:15 twisti
8026 * src/vm/jit/reorder.c (reorder): #ifdef debug output.
8028 2006-08-07 11:12 twisti
8030 * src/vm/jit/Makefile.am (libjit_la_SOURCES): Add cfg.[ch] and
8031 reorder.[ch] for debugging.
8033 2006-08-07 11:10 twisti
8035 * src/vm/jit/jit.c (vm/jit/cfg.h): Added.
8036 (vm/jit/reorder.h): Likewise.
8037 (jit_recompile): Set JITDATA_FLAG_REORDER flag.
8038 (jit_compile_intern): Call cfg_build and reorder.
8039 (jit_complement_condition): New function.
8041 * src/vm/jit/jit.h (basicblock): Changed type of predecessors and
8043 (jit_complement_condition): Added.
8045 * src/vm/jit/cfg.c (cfg_allocate_predecessors): New method.
8046 (cfg_allocate_successors): Likewise.
8047 (cfg_build): Finished implementation.
8049 * src/vm/jit/reorder.c (reorder_place_next_unplaced_block): New
8051 (reorder): Improved, still not working.
8053 * src/vm/jit/show.c (new_show_method): Walk the basic block chain to
8054 find the last block, as this may change.
8055 (show_method): Likewise.
8057 2006-08-04 14:50 twisti
8059 * src/vm/jit/reorder.c: New file.
8060 * src/vm/jit/reorder.h: Likewise.
8062 2006-08-04 14:42 twisti
8064 * src/vm/jit/parse.c (new_parse): MZERO basicblock array.
8067 * src/vm/jit/jit.h (JITDATA_FLAG_REORDER): Added.
8068 (JITDATA_HAS_FLAG_REORDER): Likewise.
8069 (basicblock): Removed pre_count and added predecessorcount,
8070 successorcount, predecessors, successors.
8071 (BASICBLOCK_INIT): Don't zero fields.
8073 * src/vm/jit/stack.c (new_stack_analyse): Renamed pre_count to
8075 (stack_analyse): Likewise and removed predecessor count calculation.
8077 * src/vm/jit/show.c (new_show_basicblock): Likewise.
8078 (show_basicblock): Likewise.
8080 * src/vm/jit/ifconv/ifconv.c (ifconv_static): Likewise.
8082 2006-08-04 14:27 twisti
8084 * src/vm/jit/cfg.c: New file.
8085 * src/vm/jit/cfg.h: Likewise.
8087 2006-08-04 14:10 twisti
8089 * src/vm/options.c (opt_foo): Added. This is a development option.
8090 * src/vm/options.h (opt_foo): Likewise.
8092 * src/vm/vm.c (vm_create): Added OPT_FOO.
8094 2006-08-01 20:38 twisti
8096 * autogen.sh: Recognize autoconf 2.60.
8098 2006-08-01 15:51 twisti
8100 * src/vm/jit/codegen-common.c (codegen_createnativestub): Set
8101 JITDATA_FLAG_INSTRUMENT for opt_prof.
8103 2006-08-01 15:08 twisti
8105 * src/vm/jit/recompile.c (recompile_thread): Check return value of
8106 jit_recompile and print the exception in error case.
8108 2006-08-01 13:10 twisti
8110 * src/vm/jit/parse.c (new_parse): Replaced opt_verify with
8111 JITDATA_HAS_FLAG_VERIFY, because on recompilation we don't turn
8114 2006-07-31 20:42 twisti
8116 * src/vm/jit/x86_64/codegen.c (codegen): Load address for INVOKESTATIC
8117 from data segment and pass the displacement to the patcher.
8119 * src/vm/jit/x86_64/patcher.c (patcher_get_putstatic): Use
8120 displacement from patcher, not from the instruction.
8121 (patcher_builtin_multianewarray): Don't patch BUILTIN_multianewarray
8122 address, it's not required.
8123 (patcher_invokestatic_special): Use displacement passed and patch the
8126 * src/vm/jit/x86_64/md.c (md_stacktrace_get_returnaddress): Changed to
8127 new INVOKESTATIC calling sequence.
8129 2006-07-31 16:30 twisti
8131 * src/native/native.c
8132 (native/include/java_lang_management_VMManagementFactory.h): Added.
8133 (dummynativetable): Added VMManagementFactory methods.
8135 2006-07-31 16:26 twisti
8137 * src/native/include/.cvsignore: Added
8138 java_lang_management_VMManagementFactory.h.
8140 2006-07-31 16:25 twisti
8142 * src/native/vm/java_lang_management_VMManagementFactory.c: New file.
8144 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
8145 java_lang_management_VMManagementFactory.c.
8147 * src/native/include/Makefile.am
8148 (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
8149 java_lang_management_VMManagementFactory.h.
8151 2006-07-31 15:35 twisti
8153 * src/native/include/Makefile.am (DO_HEADER_FILES): Do not depend on
8156 2006-07-31 15:27 twisti
8158 * src/native/include/.cvsignore: Added
8159 gnu_java_lang_management_VMThreadMXBeanImpl.h and
8160 java_lang_management_ThreadInfo.h.
8162 2006-07-31 15:26 twisti
8164 * src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c: New
8167 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
8168 gnu_java_lang_management_VMThreadMXBeanImpl.c.
8170 * src/native/include/Makefile.am
8171 (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
8172 gnu_java_lang_management_VMThreadMXBeanImpl.h and
8173 java_lang_management_ThreadInfo.h.
8176 * src/native/jni.h (_Jv_JavaVM): Added total_started_thread_count.
8178 * src/threads/native/threads.c (threads_startup_thread): Count
8179 total_started_thread_count.
8181 * src/cacao/cacao.c (main): Likewise.
8183 * src/cacaoh/headers.c (_Jv_jvm): Added.
8185 2006-07-31 14:43 twisti
8187 * src/native/include: Updated ignore property.
8189 2006-07-31 14:35 twisti
8191 * src/native/vm/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c:
8194 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
8195 gnu_java_lang_management_VMClassLoadingMXBeanImpl.c.
8197 * src/native/include/Makefile.am
8198 (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADER_FILES): Added
8199 gnu_java_lang_management_VMClassLoadingMXBeanImpl.h.
8201 * src/native/include/.cvsignore: Likewise.
8203 * src/native/jni.h (_Jv_JavaVM): Added
8204 Java_gnu_java_lang_management_VMClassLoadingMXBeanImpl_verbose.
8206 * src/native/native.c
8207 (native/include/gnu_java_lang_management_VMClassLoadingMXBeanImpl.h):
8209 (native/include/gnu_java_lang_management_VMMemoryMXBeanImpl.h):
8211 (dummynativetable): Added VMClassLoadingMXBeanImpl and
8212 VMMemoryMXBeanImpl functions.
8214 2006-07-31 14:21 twisti
8216 * src/vm/classcache.c (classcache_number_of_loaded_classes): New
8218 (classcache_get_loaded_class_count): New function.
8219 (classcache_jvmti_GetLoadedClasses): Renamed to
8220 classcache_get_loaded_classes and reimplemented.
8222 * src/vm/classcache.h (classcache_get_loaded_class_count): Added.
8223 (classcache_jvmti_GetLoadedClasses): Renamed to
8224 classcache_get_loaded_classes.
8226 2006-07-31 12:29 twisti
8228 * src/native/include/.cvsignore: Added
8229 gnu_java_lang_management_VMMemoryMXBeanImpl.h and
8230 java_lang_management_MemoryUsage.h.
8232 2006-07-31 12:28 twisti
8235 src/lib/vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java:
8238 * src/lib/Makefile.am (VM_JAVA_FILES): Added
8239 gnu/java/lang/management/VMMemoryMXBeanImpl.java.
8240 (VM_CLASS_FILES): Likewise.
8242 * src/native/include/Makefile.am
8243 (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
8244 gnu_java_lang_management_VMMemoryMXBeanImpl.h and
8245 java_lang_management_MemoryUsage.h.
8247 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
8248 gnu_java_lang_management_VMMemoryMXBeanImpl.c.
8250 * src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c
8251 (vm/loader.h): Added.
8253 2006-07-31 12:25 twisti
8255 * src/mm/boehm.c (gc_get_total_bytes): New function.
8256 * src/mm/boehm.h (gc_get_total_bytes): Added.
8258 2006-07-31 12:17 twisti
8260 * src/lib/vm/reference/java/lang/VMClassLoader.java: Merged GNU
8263 2006-07-31 12:15 twisti
8265 * src/native/Makefile.am (nativetable.inc): Renamed VM_ZIP to
8268 2006-07-28 13:24 twisti
8270 * src/vm/jit/dseg.c (desg_increase): Removed.
8271 (dseg_finish): New function.
8272 (dseg_find_s4): Likewise.
8273 (dseg_find_s8): Likewise.
8274 (dseg_find_float): Likewise.
8275 (dseg_find_double): Likewise.
8276 (dseg_find_address): Likewise.
8277 (dseg_add_s4_intern): Likewise.
8278 (dseg_add_unique_s4): Likewise.
8279 (dseg_add_s4): Likewise.
8280 (dseg_add_s8_intern): Likewise.
8281 (dseg_add_unique_s8): Likewise.
8282 (dseg_add_s8): Likewise.
8283 (dseg_add_float_intern): Likewise.
8284 (dseg_add_unique_float): Likewise.
8285 (dseg_add_float): Likewise.
8286 (dseg_add_double_intern): Likewise.
8287 (dseg_add_unique_double): Likewise.
8288 (dseg_add_double): Likewise.
8289 (dseg_add_address_intern): Likewise.
8290 (dseg_add_unique_address): Likewise.
8291 (dseg_add_address): Likewise.
8293 * src/vm/jit/dseg.h (dsegentry): New structure.
8295 * src/vm/jit/codegen-common.c (codegen_setup): Don't allocate memory
8297 (codegen_finish): Call dseg_finish.
8299 * src/vm/jit/codegen-common.h (codegendata): Removed dsegtop and
8300 dsegsize, added dseg.
8302 * src/vm/jit/powerpc/codegen.c: Use new dseg function names.
8304 * src/vm/jit/powerpc/emit.c (vm/jit/dseg.h): Added.
8305 (emit_iconst): Use new dseg function names.
8307 2006-07-28 10:54 twisti
8309 * src/vm/jit/powerpc/linux/md-abi.h (REG_ITMP23_PACKED): New define.
8310 * src/vm/jit/powerpc/darwin/md-abi.h (REG_ITMP23_PACKED): Likewise.
8312 2006-07-28 10:12 twisti
8314 * src/vm/loader.c (load_class_from_classbuffer): Enable "Extra bytes
8315 at the end of class file"-check, since we are something like Java 1.5.
8317 2006-07-26 15:20 twisti
8319 * src/vm/jit/jit.h (INSTRUCTION_UNRESOLVED_CLASS): Defined.
8321 * src/vm/jit/alpha/codegen.c (codegen): First changes for duplicate
8324 2006-07-26 14:50 twisti
8326 * src/vm/jit/show.c (new_show_method): Print stub length in method
8328 (show_method): Likewise.
8330 * src/vm/jit/codegen-common.c (codegen_addpatchref): Don't cast to
8333 2006-07-26 13:27 twisti
8335 * src/vm/jit/parse.h (code_get_u1, code_get_s1, code_get_u2)
8336 (code_get_s2, code_get_u4, code_get_s4): Removed.
8338 * src/vm/suck.h (SUCK_BE_S1, SUCK_BE_S2, SUCK_BE_S4, SUCK_BE_S8):
8341 * src/vm/jit/parse.c (vm/suck.h): Added.
8342 (new_parse): Use SUCK_BE_* macros instead of code_get_*.
8345 2006-07-26 11:04 twisti
8347 * src/vm/builtin.c (builtin_print_argument): #ifndef NDEBUG.
8349 2006-07-26 10:16 twisti
8351 * src/vm/jit/powerpc/linux/md-asm.h: Added register defines.
8353 2006-07-26 10:06 twisti
8355 * src/vm/jit/powerpc/darwin/md-asm.h: Added fr register defines again,
8358 * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Use internal
8359 register defines instead of numbers, as darwin does not understand it.
8360 (asm_replacement_in): Likewise.
8362 2006-07-26 09:59 twisti
8364 * src/vm/jit/powerpc/darwin/md-asm.h (mach/ppc/asm.h): Removed. Don't
8365 define the fr register names.
8367 2006-07-26 09:43 twisti
8369 * src/vm/jit/powerpc/linux/md-asm.h (asm/ppc_asm.h): Removed, it's not
8370 an official kernel header.
8372 * src/vm/jit/powerpc/asmpart.S: Use CACAO internal register defines or
8373 simple register numbers.
8375 2006-07-25 18:30 twisti
8377 * src/vm/global.h (IS_FLT_TYPE): Added.
8378 (IS_DBL_TYPE): Likewise.
8380 2006-07-25 16:00 twisti
8382 * src/vm/jit/i386/md-emit.h (emit_ialu): Removed.
8383 (emit_ialuconst): Likewise.
8384 (emit_lalu): Likewise.
8385 (emit_laluconst): Likewise.
8386 (emit_ishift): Likewise.
8387 (emit_ishiftconst): Likewise.
8388 (emit_ifcc_iconst): Likewise.
8390 2006-07-25 15:57 twisti
8392 * src/vm/jit/jit.h (ICMD_ELSE_ICONST): Removed.
8393 (ICMD_IFEQ_ICONST): Likewise.
8394 (ICMD_IFNE_ICONST): Likewise.
8395 (ICMD_IFLT_ICONST): Likewise.
8396 (ICMD_IFGE_ICONST): Likewise.
8397 (ICMD_IFGT_ICONST): Likewise.
8398 (ICMD_IFLE_ICONST): Likewise.
8400 * src/vm/jit/jit.c (icmd_names): Set removed ICMDs to UNDEF.
8402 * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
8404 (allocate_scratch_registers): Likewise.
8406 * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
8408 * src/vm/jit/stack.c (new_stack_analyse): Likewise.
8409 (stack_analyse): Likewise.
8411 * src/vm/jit/show.c (new_show_icmd): Likewise.
8412 (show_icmd): Likewise.
8414 * src/vm/jit/alpha/arch.h (CONDITIONAL_LOADCONST): Removed.
8415 * src/vm/jit/i386/arch.h: Likewise.
8416 * src/vm/jit/mips/arch.h: Likewise.
8417 * src/vm/jit/powerpc/arch.h: Likewise.
8418 * src/vm/jit/powerpc64/arch.h: Likewise.
8419 * src/vm/jit/sparc64/arch.h: Likewise.
8420 * src/vm/jit/x86_64/arch.h: Likewise.
8422 * src/vm/jit/alpha/codegen.c (codegen): Removed ICMDs.
8423 * src/vm/jit/i386/codegen.c: Likewise.
8424 * src/vm/jit/mips/codegen.c: Likewise.
8425 * src/vm/jit/sparc64/codegen.c: Likewise.
8426 * src/vm/jit/x86_64/codegen.c: Likewise.
8428 * src/vm/jit/i386/emit.c (emit_ifcc_iconst): Removed.
8430 2006-07-25 15:33 twisti
8432 * src/vm/jit/x86_64/md.c (md_signal_handler_sigusr2): Fixed comment.
8434 * src/vm/jit/i386/linux/md-os.c (md_signal_handler_sigusr2): New
8437 2006-07-25 13:52 twisti
8439 * src/vm/jit/jit.h (TYPE_INT, TYPE_LNG, TYPE_FLT, TYPE_DBL, TYPE_ADR)
8440 (IS_INT_LNG_TYPE, IS_FLT_DBL_TYPE, IS_2_WORD_TYPE)
8441 (IS_INT_TYPE, IS_LNG_TYPE, IS_ADR_TYPE, IS_VOID_TYPE): Removed.
8443 * src/vm/global.h (TYPE_LONG, TYPE_FLOAT, TYPE_DOUBLE, TYPE_ADDRESS):
8445 (TYPE_INT, TYPE_LNG, TYPE_FLT, TYPE_DBL, TYPE_ADR)
8446 (IS_INT_LNG_TYPE, IS_FLT_DBL_TYPE, IS_2_WORD_TYPE)
8447 (IS_INT_TYPE, IS_LNG_TYPE, IS_ADR_TYPE, IS_VOID_TYPE): Added.
8449 * src/vm/loader.c (load_field): Use short TYPE_* defines.
8450 (load_newly_created_array): Likewise.
8452 * src/vm/descriptor.c (descriptor_to_basic_type): Likewise.
8453 (descriptor_typesize): Likewise.
8454 (descriptor_to_typedesc): Likewise.
8455 (descriptor_pool_parse_method_descriptor): Likewise.
8456 (descriptor_debug_print_typedesc): Likewise.
8458 * src/vm/jit/verify/typecheck.c (typestack_copy): Likewise.
8459 (typestack_put_retaddr): Likewise.
8460 (typestack_merge): Likewise.
8461 (verify_basic_block): Likewise.
8462 (verify_init_locals): Likewise.
8464 * src/vm/jit/verify/typeinfo.c (typevectorset_copymergedtype):
8466 (typevectorset_store_retaddr): Likewise.
8467 (typevectorset_store_twoword): Likewise.
8468 (typevector_merge): Likewise.
8469 (typeinfos_init_from_methoddesc): Likewise.
8470 (typeinfo_test_parse): Likewise.
8471 (typeinfo_print_type): Likewise.
8472 (typeinfo_print_stacktype): Likewise.
8474 * src/vm/jit/verify/typeinfo.h (TYPE_IS_RETURNADDRESS): Likwise.
8475 (TYPE_IS_REFERENCE): Likwise.
8477 * src/native/jni.c (_Jv_jni_vmargs_from_objectarray): Likewise.
8479 2006-07-25 12:33 twisti
8481 * src/mm/memory.c (memory_cnew): When MAP_ANONYMOUS and MAP_ANON are
8482 not defined, we use simply malloc. This is required for IRIX.
8484 2006-07-25 11:38 twisti
8486 * configure.ac (AC_FUNC_MMAP): Added.
8487 (AC_CHECK_FUNCS): Removed mprotect.
8489 * src/mm/memory.c (DEFAULT_CODEMEM_SIZE): Renamed to
8490 DEFAULT_CODE_MEMORY_SIZE.
8491 (codememlock): Renamed to lock_code_memory.
8492 (codememptr): Renamed to code_memory.
8493 (codememsize): Renamed to code_memory_size.
8494 (pagesize): Added global static variable.
8495 (memory_init): Use new variable names and set pagesize.
8496 (memory_cnew): Don't use malloc/mprotect as this makes some problems
8497 with selinux enabled distributions. Instead use mmap.
8499 2006-07-21 14:40 twisti
8501 * src/boehm-gc/configure.in (MY_CFLAGS): Commented. We want to use the
8503 * src/boehm-gc/Makefile.am (LTCOMPILE): Likewise.
8506 2006-07-21 14:15 twisti
8508 * src/vm/jit/powerpc/linux/md-asm.h (__ASSEMBLY__): Defined. It's
8509 required for <asm/ppc_asm.h> on my Debian system.
8511 2006-07-21 10:09 twisti
8513 * src/vm/exceptions.c (new_verifyerror): Renamed to
8514 exceptions_new_verifyerror.
8515 (exceptions_throw_verifyerror): New function.
8516 * src/vm/exceptions.h (new_verifyerror): Renamed to
8517 exceptions_new_verifyerror.
8518 (exceptions_throw_verifyerror): Added.
8520 * src/vm/resolve.c: Use exceptions_throw_verifyerror instead of
8522 * src/vm/jit/parse.c: Likewise.
8523 * src/vm/jit/stack.c: Likewise.
8524 * src/vm/jit/verify/typecheck.c: Likewise.
8525 * src/vm/jit/verify/typeinfo.c: Likewise.
8527 * src/cacaoh/headers.c (new_verifyerror): Renamed to
8528 exceptions_throw_verifyerror.
8530 2006-07-21 09:24 twisti
8532 * src/vm/builtin.c (builtin_asm_get_exceptionptrptr): Removed.
8533 * src/vm/builtin.h (builtin_get_exceptionptrptr): Likewise.
8535 2006-07-19 15:54 twisti
8537 * src/vm/jit/mips/patcher.c (assert.h): Added.
8538 (vm/exceptions.h): Added.
8539 (vm/jit/methodheader.h): Likewise.
8540 (patcher_wrapper): New function.
8541 (patcher_get_putstatic): Removed monitor enter/exit, this is now done
8543 (patcher_get_putfield): Likewise.
8544 (patcher_aconst): Likewise.
8545 (patcher_builtin_multianewarray): Likewise.
8546 (patcher_builtin_arraycheckcast): Likewise.
8547 (patcher_invokestatic_special): Likewise.
8548 (patcher_invokevirtual): Likewise.
8549 (patcher_invokeinterface): Likewise.
8550 (patcher_checkcast_instanceof_flags): Likewise.
8551 (patcher_checkcast_instanceof_interface): Likewise.
8552 (patcher_checkcast_instanceof_class): Likewise.
8553 (patcher_clinit): Likewise.
8554 (patcher_athrow_areturn): Likewise.
8555 (patcher_resolve_native): Likewise.
8557 * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Use
8558 exceptions_get_and_clear_exception.
8559 (asm_abstractmethoderror): Added missing .ent/.end.
8560 (asm_wrapper_patcher): Use patcher_wrapper.
8562 2006-07-19 13:38 twisti
8564 * src/vm/jit/show.c (new_show_method): Print data length.
8565 (show_method): Likewise.
8567 2006-07-19 13:07 tbfg
8569 * src/vm/jit/powerpc64/* (global): changed all powerpc references to
8572 2006-07-19 12:09 twisti
8574 * src/vm/jit/show.c (new_show_method): Print method's code length.
8575 (show_method): Likewise.
8577 2006-07-19 09:13 twisti
8579 * src/vm/jit/alpha/patcher.c (patcher_wrapper): Patch back the
8580 original instruction on successful returns.
8581 (patcher_get_putstatic): Removed instruction patching.
8582 (patcher_get_putfield): Likewise.
8583 (patcher_aconst): Likewise.
8584 (patcher_builtin_multianewarray): Likewise.
8585 (patcher_builtin_arraycheckcast): Likewise.
8586 (patcher_invokestatic_special): Likewise.
8587 (patcher_invokevirtual): Likewise.
8588 (patcher_invokeinterface): Likewise.
8589 (patcher_checkcast_instanceof_flags): Likewise.
8590 (patcher_checkcast_instanceof_interface): Likewise.
8591 (patcher_checkcast_instanceof_class): Likewise.
8592 (patcher_clinit): Likewise.
8593 (patcher_athrow_areturn): Likewise.
8594 (patcher_resolve_native): Likewise.
8596 2006-07-18 18:38 tbfg
8598 * src/vm/jit/powerpc64/linux/md-abi.c (md_return_alloc): isleafmethod
8599 has been moved to jitdata.
8601 * src/vm/jjit/powerpc64/codegen.c (global): fixes for isleafmethod
8602 changes, BUILTIN_monitor* renamed to LOCK_monitor_*
8603 codegen_add_classcastexception_ref api changed.
8605 * src/vm/jit/powerpc64/asmpart.S (global): fixed R_PPC64_ADDR32
8606 issues (32 bit adresses) all jump tables data types from
8607 long to quad and synched with powerpc asmpart.S.
8609 2006-07-18 14:05 twisti
8611 * src/mm/memory.c (memory_cfree): New function.
8612 * src/mm/memory.h (CFREE): Define to memory_cfree.
8613 (memory_cfree): Added.
8615 2006-07-18 11:09 twisti
8617 * src/native/jvmti/Makefile.am (lib_LTLIBRARIES): Removed libjdwp.la.
8618 (libjdwp_la_SOURCES): Removed.
8620 * src/native/jvmti/VMjdwp.c: Removed.
8621 * src/native/jvmti/VMjdwp.h: Likewise.
8623 * src/native/vm/Makefile.am [ENABLE_JVMTI] (lib_LTLIBRARIES): Added
8625 (libjdwp_la_SOURCES): Added.
8627 * src/native/vm/VMFrame.c: Removed.
8628 * src/native/vm/VMMethod.c: Likewise.
8629 * src/native/vm/VMVirtualMachine.c: Likewise.
8631 * src/native/vm/VMjdwp.c: Added.
8632 * src/native/vm/VMjdwp.h: Likewise.
8633 * src/native/vm/gnu_classpath_jdwp_VMVirtualMachine.c: Likewise.
8634 * src/native/vm/gnu_classpath_jdwp_VMFrame.c: Likewise.
8635 * src/native/vm/gnu_classpath_jdwp_VMMethod.c: Likewise.
8637 2006-07-18 11:02 motse
8639 * src/native/jvmti/VMjdwp.c (Breakpoint): adapt BreakpointEvent
8640 signature to changed gnu classpath jdwp implementation.
8643 2006-07-18 08:56 twisti
8645 * src/vm/builtin.c (builtin_trace_args): Added missing
8646 TRACE_ARGS_NUM >= 4 case.
8648 2006-07-18 08:36 twisti
8650 * src/vm/jit/powerpc/darwin/md-asm.h (asm_wrapper_patcher): Renamed to
8651 asm_patcher_wrapper.
8653 2006-07-18 08:19 twisti
8655 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added package
8656 prefix to filenames.
8658 * src/native/vm/VMClassLoader.c: Removed.
8659 * src/native/vm/VMThrowable.c: Likewise.
8660 * src/native/vm/VMAccessController.c: Likewise.
8661 * src/native/vm/VMString.c: Likewise.
8662 * src/native/vm/VMObject.c: Likewise.
8663 * src/native/vm/VMStackWalker.c: Likewise.
8664 * src/native/vm/Field.c: Likewise.
8665 * src/native/vm/VMSystem.c: Likewise.
8666 * src/native/vm/VMSystemProperties.c: Likewise.
8667 * src/native/vm/VMClass.c: Likewise.
8668 * src/native/vm/VMThread.c: Likewise.
8669 * src/native/vm/Method.c: Likewise.
8670 * src/native/vm/VMProxy.c: Likewise.
8671 * src/native/vm/Constructor.c: Likewise.
8672 * src/native/vm/VMRuntime.c: Likewise.
8674 * src/native/vm/gnu_classpath_VMStackWalker.c: Added.
8675 * src/native/vm/java_lang_VMSystem.c: Likewise.
8676 * src/native/vm/java_lang_reflect_Method.c: Likewise.
8677 * src/native/vm/java_lang_VMObject.c: Likewise.
8678 * src/native/vm/java_lang_VMString.c: Likewise.
8679 * src/native/vm/gnu_classpath_VMSystemProperties.c: Likewise.
8680 * src/native/vm/java_lang_VMRuntime.c: Likewise.
8681 * src/native/vm/java_lang_reflect_Field.c: Likewise.
8682 * src/native/vm/java_lang_VMThrowable.c: Likewise.
8683 * src/native/vm/java_lang_VMClassLoader.c: Likewise.
8684 * src/native/vm/java_lang_VMClass.c: Likewise.
8685 * src/native/vm/java_lang_VMThread.c: Likewise.
8686 * src/native/vm/java_security_VMAccessController.c: Likewise.
8687 * src/native/vm/java_lang_reflect_VMProxy.c: Likewise.
8688 * src/native/vm/java_lang_reflect_Constructor.c: Likewise.
8690 2006-07-18 08:16 twisti
8692 * src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c: New
8695 2006-07-18 08:14 twisti
8697 * src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c
8699 (getStartTime): Implemented.
8701 2006-07-18 08:05 twisti
8703 * src/native/vm/VMSystemProperties.c (preInit): Added
8704 gnu.java.compiler.name property.
8706 2006-07-17 16:11 twisti
8708 * src/vm/jit/jit.h (IS_VOID_TYPE): Added.
8710 * src/vm/builtin.c (builtin_print_argument): New function.
8711 (builtin_trace_args): Rewritten. Uses builtin_trace_args and prints
8712 arguments much better.
8713 (builtin_displaymethodstop): Likewise.
8715 2006-07-17 15:14 twisti
8717 * src/native/jvmti/.cvsignore (TAGS): Added.
8718 (cacaodbgserver): Likewise.
8720 2006-07-17 15:11 twisti
8722 * configure.ac (CACAO_LIBDIR): Added.
8724 * src/vm/classcache.c [ENABLE_JVMTI] (lock_hashtable_classcache):
8726 (classcache_jvmti_GetLoadedClasses): New method.
8728 * src/vm/classcache.h (CLASSCACHE_LOCK): Don't define it.
8729 (CLASSCACHE_UNLOCK): Likewise.
8730 (lock_hashtable_classcache): Don't export it.
8731 (classcache_jvmti_GetLoadedClasses): Added.
8733 * src/vm/vm.c (vm_create): Use CACAO_LIBDIR in OPT_XRUNJDWP.
8735 * src/native/jvmti/jvmti.c (GetLoadedClasses): Use
8736 classcache_jvmti_GetLoadedClasses.
8737 (jvmti_agentload): Some code cleanup.
8739 2006-07-17 13:50 twisti
8741 * src/native/include/include/Makefile.am (GEN_JVMTI_HEADER_FILES):
8744 * src/native/include/include/.cvsignore
8745 (gnu_classpath_jdwp_VMMethod.h): Added.
8746 (gnu_classpath_jdwp_util_VariableTable.h): Likewise.
8748 2006-07-17 11:48 twisti
8750 * src/vm/jit/asmpart.h (asm_wrapper_patcher): Renamed to
8751 asm_patcher_wrapper.
8753 * src/vm/jit/alpha/codegen.c (codegen): Likewise.
8754 (createnativestub): Likewise.
8755 * src/vm/jit/alpha/asmpart.S (asm_wrapper_patcher): Likewise.
8757 * src/vm/jit/i386/codegen.c (codegen): Likewise.
8758 (createnativestub): Likewise.
8759 * src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Likewise.
8761 * src/vm/jit/mips/codegen.c (codegen): Likewise.
8762 (createnativestub): Likewise.
8763 * src/vm/jit/mips/asmpart.S (asm_wrapper_patcher): Likewise.
8765 * src/vm/jit/powerpc/codegen.c (codegen): Likewise.
8766 (createnativestub): Likewise.
8767 * src/vm/jit/powerpc/asmpart.S (asm_wrapper_patcher): Likewise.
8769 * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
8770 (createnativestub): Likewise.
8771 * src/vm/jit/powerpc64/asmpart.S (asm_wrapper_patcher): Likewise.
8773 * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
8774 (createnativestub): Likewise.
8775 * src/vm/jit/x86_64/asmpart.S (asm_wrapper_patcher): Likewise.
8777 2006-07-17 11:09 twisti
8779 * src/mm/boehm.c (heap_allocate): Changed signature. Some cleanup.
8780 * src/mm/boehm.h (heap_allocate): Likewise.
8782 2006-07-17 10:00 twisti
8784 * src/native/vm/VMRuntime.c (maxMemory): Comment fix.
8785 (availableProcessors): Likewise.
8787 2006-07-17 09:47 twisti
8789 * src/vm/jit/x86_64/patcher.c (vm/jit/x86_64/codegen.h): Added.
8790 (vm/exceptions.h): Likewise.
8791 (patcher_get_putstatic): Removed monitor enter/exit and return address
8792 calculation, this is now done by the wrapper.
8793 (patcher_get_putfield): Likewise.
8794 (patcher_putfieldconst): Likewise.
8795 (patcher_aconst): Likewise.
8796 (patcher_builtin_multianewarray): Likewise.
8797 (patcher_builtin_arraycheckcast): Likewise.
8798 (patcher_invokestatic_special): Likewise.
8799 (patcher_invokevirtual): Likewise.
8800 (patcher_invokeinterface): Likewise.
8801 (patcher_checkcast_instanceof_flags): Likewise.
8802 (patcher_checkcast_instanceof_interface): Likewise.
8803 (patcher_checkcast_class): Likewise.
8804 (patcher_instanceof_class): Likewise.
8805 (patcher_clinit): Likewise.
8806 (patcher_athrow_areturn): Likewise.
8807 (patcher_resolve_native): Likewise.
8809 * src/vm/jit/x86_64/asmpart.S (asm_wrapper_patcher): Use
8812 2006-07-16 15:58 twisti
8814 * src/native/jvmti/jvmti.c (DestroyRawMonitor): Don't pass
8815 threadobject to lock_monitor_exit.
8816 (RawMonitorEnter): Changed builtin_monitorenter to lock_monitor_enter.
8817 (RawMonitorExit): Changed builtin_monitorexit to lock_monitor_exit.
8819 2006-07-16 15:38 twisti
8821 * src/vm/jit/recompile.c (recompile_threadobject): Renamed to
8822 recompile_vmthread and changed type to java_lang_VMThread.
8823 (recompile_start_thread): Changed initialization of the thread
8824 object. This fixes the not-exit bug.
8826 * src/vm/jit/profile/profile.c (profile_threadobject): Renamed to
8828 (profile_thread): Call codegen_get_pv_from_pc_nocheck instead of
8830 (profile_start_thread): Changed initialization of the thread
8833 * src/vm/jit/codegen-common.c (codegen_findmethod): Print a stacktrace
8834 if no function was found and exit the VM.
8835 (codegen_get_pv_from_pc_nocheck): New function. Like
8836 codegen_findmethod, but can return NULL.
8837 * src/vm/jit/codegen-common.h (codegen_get_pv_from_pc_nocheck): Added.
8839 2006-07-14 17:08 edwin
8841 * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
8842 Fixed dupslots indices for ICMD_SWAP.
8844 2006-07-14 17:07 edwin
8846 * src/vm/jit/show.c (new_show_icmd): General handling of
8847 INS_FLAG_UNRESOLVED.
8849 2006-07-14 17:06 edwin
8851 * src/vm/jit/show.c (new_show_icmd): Fixed showing of LASTORECONST.
8853 2006-07-14 17:05 edwin
8855 * src/vm/jit/stack.c (new_stack_analyse): Fixed propagation of
8856 INS_FLAG_UNRESOLVED for PUTFIELDCONST/PUTSTATICCONST.
8858 2006-07-14 17:03 edwin
8860 * src/vm/jit/stack.c (DUP_SLOT): Copy only TEMPVARs directly.
8862 2006-07-14 17:02 edwin
8864 * src/vm/jit/parse.c (new_parse): No exception check for
8867 2006-07-14 16:58 edwin
8869 * src/vm/jit/show.c (new_show_stackvar): Show varkind and varnum for
8870 variables with an invalid varkind.
8872 2006-07-14 16:56 edwin
8874 * src/vm/jit/stack.c (new_stack_analyse): Use POPANY for DUP*
8875 instructions, in order to set varkind correctly. The repeated
8876 POPANY macros should probably be replaced by more efficient
8879 2006-07-14 16:54 edwin
8881 * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
8882 Fixed dupslots indices for ICMD_DUP_X1.
8884 2006-07-14 16:52 edwin
8886 * src/vm/jit/parse.h (NEW_OP_STORE_ONEWORD): Store index in dst,
8888 (NEW_OP_STORE_TWOWORD): Likewise.
8890 2006-07-13 11:54 twisti
8892 * src/vm/jit/powerpc/codegen.c (codegen): Use lock_monitor_enter/exit
8893 instead of builtin_monitorenter/exit.
8895 2006-07-13 11:17 motse
8897 * doc/handbook/jvmti.tex: documentation of the cacao jvmti
8898 implementation added to the cacao handbook
8899 * doc/handbook/arch.eps: idem
8900 * doc/handbook/cacao.tex: idem
8901 * doc/handbook/java.bib: idem
8902 * doc/handbook/arm.tex: added bounding box for arm-double-memory.png
8904 2006-07-13 10:26 twisti
8906 * src/vm/jit/mips/codegen.c (codegen): Use lock_monitor_enter/exit
8907 instead of builtin_monitorenter/exit.
8908 (createnativestub): Don't use builtin_get_exceptionptrptr, but
8909 codegen_finish_native_call for exception check.
8911 2006-07-12 22:55 twisti
8913 * src/mm/memory.c (vm/vm.h): Added.
8914 (memory_cnew): Replaced throw_cacao_exception_exit with vm_abort.
8915 (dump_release): Likewise.
8917 * src/toolbox/util.c (_Jv_getcwd): Likewise.
8919 2006-07-12 22:12 twisti
8921 * src/vm/jit/alpha/codegen.c (codegen): Use lock_monitor_enter/exit
8922 instead of builtin_monitorenter/exit.
8924 2006-07-12 21:59 twisti
8926 * src/vm/jit/i386/codegen.c (codegen): Use lock_monitor_enter/exit
8927 instead of builtin_monitorenter/exit.
8929 2006-07-12 21:45 twisti
8931 * src/vm/builtin.c (builtin_monitorenter): Removed.
8932 (builtin_staticmonitorenter): Likewise.
8933 (builtin_monitorexit): Likewise.
8934 * src/vm/builtin.h: Likewise.
8936 * src/threads/native/lock.c (lock_monitor_enter): Don't pass
8937 threadobject, get it in this function.
8938 (lock_monitor_exit): Likewise.
8940 * src/threads/native/lock.h (lock_monitor_enter): Changed signature.
8941 (lock_monitor_exit): Likewise.
8942 (LOCK_monitor_enter): Defined.
8943 (LOCK_monitor_exit): Likewise.
8944 (LOCK_MONITOR_ENTER): Likewise.
8945 (LOCK_MONITOR_EXIT): Likewise.
8947 * src/vm/suck.c: Use lock_monitor_enter/exit instead of
8948 builtin_monitorenter/exit.
8949 * src/vm/string.c: Likewise.
8950 * src/vm/finalizer.c: Likewise.
8951 * src/vm/classcache.c: Likewise.
8952 * src/vm/initialize.c: Likewise.
8953 * src/vm/jit/recompile.c: Likewise.
8954 * src/vm/jit/show.c: Likewise.
8955 * src/vm/jit/patcher.h: Likewise.
8956 * src/vm/jit/parse.c: Likewise.
8957 * src/vm/jit/x86_64/md.c: Likewise.
8958 * src/vm/jit/x86_64/codegen.c: Likewise.
8959 * src/vm/jit/jit.c: Likewise.
8960 * src/vm/builtintable.inc: Likewise.
8961 * src/vm/exceptions.c: Likewise.
8962 * src/vm/linker.c: Likewise.
8963 * src/vm/utf8.c: Likewise.
8964 * src/native/jni.c: Likewise.
8965 * src/native/native.c: Likewise.
8966 * src/toolbox/avl.c: Likewise.
8967 * src/toolbox/list.c: Likewise.
8968 * src/mm/memory.c: Likewise.
8969 * src/cacaoh/headers.h: Likewise.
8971 2006-07-12 21:33 twisti
8973 * src/threads/Makefile.am: Added path to header.
8975 2006-07-12 21:32 twisti
8977 * src/vm/jit/Makefile.am (RECOMPILE_SOURCES): Added, compile recompile
8978 only if threads are enabled.
8980 * src/vm/vm.c (vm_create): Call recompile_init only if threads are
8983 2006-07-12 21:27 twisti
8985 * src/threads/none/.cvsignore: New file.
8987 2006-07-12 21:26 twisti
8989 * src/threads/none/Makefile.am: New file.
8990 * src/threads/none/lock.h: Likewise.
8991 * src/threads/Makefile.am (DIST_SUBDIRS): Added.
8992 * configure.ac (AC_CONFIG_FILES): Added src/threads/none/Makefile.
8994 2006-07-12 20:27 twisti
8996 * src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Use
8999 2006-07-12 20:14 twisti
9001 * src/vm/jit/powerpc/codegen.c (codegen): Use jd->isleafmethod.
9002 * src/vm/jit/powerpc/linux/md-abi.c (md_return_alloc): Likewise.
9004 2006-07-12 15:02 twisti
9006 * src/vm/jit/recompile.c (recompile_replace_vftbl): #ifndef NDEBUG
9009 2006-07-12 14:55 twisti
9011 * src/vm/jit/powerpc/linux/md-abi.c (vm/jit/abi.h): Added.
9012 * src/vm/jit/powerpc/netbsd/md-abi.c: Likewise.
9013 * src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
9014 * src/vm/jit/alpha/md-abi.c: Likewise.
9015 * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
9016 * src/vm/jit/i386/md-abi.c: Likewise.
9018 * src/vm/jit/sparc64/md-abi.c: Added GNU header.
9019 (vm/jit/abi.h): Added.
9021 2006-07-12 14:53 twisti
9023 * src/vm/jit/mips/codegen.c (codegen): Use jd->isleafmethod. Pass
9024 register number to codegen_add_classcastexception_ref.
9026 * src/vm/jit/mips/md-abi.c (vm/jit/abi.h): Added.
9027 (md_return_alloc): Changed signature.
9029 2006-07-12 14:42 edwin
9031 * src/vm/jit/emit.h (emit_load): New function. This is a general
9032 function for emitting loads that will keep its stackvar argument
9033 after switching to the new instruction format. It will be used
9034 for instructions with variable arguments, for example.
9036 * src/vm/jit/x86_64/emit.c (emit_load): New function.
9038 2006-07-12 13:52 twisti
9040 * src/vm/jit/x86_64/codegen.c (codegen): Use jd->isleafmethod.
9041 * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Likewise.
9043 2006-07-12 13:47 twisti
9045 * src/vm/jit/code.c (code_get_stack_frame_size): Commented code, we
9046 need another implementation.
9048 2006-07-11 22:23 twisti
9050 * src/vm/jit/x86_64/asmpart.S (asm_call_jit_compiler): Use
9051 exceptions_get_and_clear_exception.
9052 (asm_wrapper_patcher): Likewise.
9054 2006-07-11 19:17 twisti
9056 * src/vm/jit/i386/emit.c: Changed prefix from i386_ to emit_.
9057 (vm/jit/emit.h): Added.
9058 (emit_load_s1_low): New function.
9059 (emit_load_s2_low): New function.
9061 * src/vm/jit/i386/md.c (md_get_method_patch_address): Changed
9064 * src/vm/jit/i386/md-emit.h: Changed prefix from i386_ to emit_. Added
9065 architecture defines.
9067 * src/vm/jit/i386/codegen.c Changed the code generator to produce
9068 RISC-like code. These are way too much changes to name them.
9070 * src/vm/jit/i386/codegen.h: Removed a lot of architecture stuff.
9072 * src/vm/jit/i386/patcher.c (vm/exceptions.h): Added.
9073 (patcher_wrapper): New function.
9074 (patcher_get_putstatic): Removed monitor enter/exit and return address
9075 calculation, this is now done by the wrapper.
9077 (patcher_getfield): Likewise.
9078 (patcher_putfield): Likewise.
9079 (patcher_putfieldconst): Likewise.
9080 (patcher_aconst): Likewise.
9081 (patcher_builtin_multianewarray): Likewise.
9082 (patcher_builtin_arraycheckcast): Likewise.
9083 (patcher_invokestatic_special): Likewise.
9084 (patcher_invokevirtual): Likewise.
9085 (patcher_invokeinterface): Likewise.
9086 (patcher_checkcast_instanceof_flags): Likewise.
9087 (patcher_checkcast_instanceof_interface): Likewise.
9088 (patcher_checkcast_class): Likewise.
9089 (patcher_instanceof_class): Likewise.
9090 (patcher_clinit): Likewise.
9091 (patcher_athrow_areturn): Likewise.
9092 (patcher_resolve_native): Likewise.
9094 * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Changed calling
9095 sequence of asm_call_jit_compiler.
9096 (asm_call_jit_compiler): Use jit_asm_compile.
9097 (asm_wrapper_patcher): Use patcher_wrapper.
9099 2006-07-11 18:39 twisti
9101 * src/vm/jit/emit.h [SIZEOF_VOID_P == 4] (emit_store_low): Added.
9102 [SIZEOF_VOID_P == 4] (emit_store_high): Likewise.
9104 2006-07-11 18:35 twisti
9106 * src/vm/jit/i386/md-asm.h (mptr): Added.
9108 2006-07-11 18:34 twisti
9110 * src/vm/jit/i386/md-abi.h (REG_METHODPTR): Added.
9111 (REG_ITMP12_PACKED): Likewise.
9112 (REG_ITMP13_PACKED): Likewise.
9113 (REG_ITMP23_PACKED): Likewise.
9114 (REG_RESULT_PACKED): Likewise.
9115 (EAX_EDX_PACKED): Likewise.
9117 2006-07-11 17:10 twisti
9119 * src/vm/jit/alpha/patcher.c (patcher_wrapper): Added return address
9121 (patcher_get_putstatic): Removed return address calculation.
9122 (patcher_get_putfield): Likewise.
9123 (patcher_aconst): Likewise.
9124 (patcher_builtin_multianewarray): Likewise.
9125 (patcher_builtin_arraycheckcast): Likewise.
9126 (patcher_invokestatic_special): Likewise.
9127 (patcher_invokevirtual): Likewise.
9128 (patcher_invokeinterface): Likewise.
9129 (patcher_checkcast_instanceof_flags): Likewise.
9130 (patcher_checkcast_instanceof_interface): Likewise.
9131 (patcher_checkcast_instanceof_class): Likewise.
9132 (patcher_clinit): Likewise.
9133 (patcher_athrow_areturn): Likewise.
9134 (patcher_resolve_native): Likewise.
9136 2006-07-10 17:22 twisti
9138 * configure.ac (disassembler): Disabled by default, made too many
9141 * src/vm/vm.c (toolbox/util.h): Added.
9142 (vm_create): Save VM start time, #ifdef disassembler stuff.
9144 * src/native/jni.h (_Jv_JavaVM): Added starttime and
9145 Java_gnu_java_lang_management_VMMemoryMXBeanImpl_verbose.
9147 * src/toolbox/util.c (config.h): Added.
9148 (sys/time.h): Likewise.
9149 (vm/vm.h): Likewise.
9150 (util_current_time_millis): New function.
9152 * src/toolbox/util.h (config.h): Added.
9153 (vm/types.h): Likewise.
9154 (util_current_time_millis): New function.
9156 2006-07-10 14:47 twisti
9158 * src/vm/jit/alpha/codegen.c codegen): CHECKCAST: Load s1 again before
9161 2006-07-10 14:42 twisti
9163 * src/vm/jit/i386/emit.c (i386_call_mem): Removed.
9165 2006-07-10 14:41 twisti
9167 * src/vm/jit/i386/codegen.c (codegen): CHECKCAST: Load s1 again before
9169 (callgetexceptionptrptr): Removed.
9171 2006-07-10 14:22 twisti
9173 * src/vm/jit/i386/codegen.c (codegen): Use jd->isleafmethod.
9175 2006-07-10 14:20 twisti
9177 * src/vm/jit/jit.c (jit_jitdata_new): New function.
9178 (jit_compile): Use jit_jitdata_new.
9179 (jit_recompile): Likewise.
9181 2006-07-10 14:11 twisti
9183 * NEWS: Added ClassCastException and system assertions.
9184 * src/vm/jit/stack.c (new_stack_analyse): Changed missing
9186 (stack_analyse): Likewise.
9188 2006-07-10 14:02 twisti
9190 * src/vm/jit/code.h (codeinfo): Removed basicblocks and isleafmethod.
9191 * src/vm/jit/jit.h (jitdata): Added isleafmethod.
9193 * src/vm/jit/alpha/codegen.c (codegen): Use jd->isleafmethod. Pass
9194 register number to codegen_add_classcastexception_ref.
9196 * src/vm/jit/allocator/simplereg.c (interface_regalloc): Use
9198 (local_regalloc): Likewise.
9200 * src/vm/jit/parse.c (new_parse): Likewise.
9203 * src/vm/jit/parse.h (NEW_OP_BUILTIN_CHECK_EXCEPTION): Likewise.
9204 (NEW_OP_BUILTIN_NO_EXCEPTION): Likewise.
9205 (NEW_OP_BUILTIN_ARITHMETIC): Likewise.
9206 (BUILTIN): Likewise.
9208 2006-07-10 13:53 twisti
9210 * src/vm/jit/powerpc64/linux/.cvsignore: New file.
9211 * src/vm/jit/powerpc64/.cvsignore: Likewise.
9213 2006-07-10 13:51 twisti
9215 * src/vm/jit/alpha/patcher.c (assert.h): Added.
9216 (vm/exceptions.h): Added.
9217 (vm/jit/methodheader.h): Likewise.
9218 (patcher_wrapper): New function.
9219 (patcher_get_putstatic): Removed monitor enter/exit, this is now done
9221 (patcher_get_putfield): Likewise.
9222 (patcher_aconst): Likewise.
9223 (patcher_builtin_multianewarray): Likewise.
9224 (patcher_builtin_arraycheckcast): Likewise.
9225 (patcher_invokestatic_special): Likewise.
9226 (patcher_invokevirtual): Likewise.
9227 (patcher_invokeinterface): Likewise.
9228 (patcher_checkcast_instanceof_flags): Likewise.
9229 (patcher_checkcast_instanceof_interface): Likewise.
9230 (patcher_checkcast_instanceof_class): Likewise.
9231 (patcher_clinit): Likewise.
9232 (patcher_athrow_areturn): Likewise.
9233 (patcher_resolve_native): Likewise.
9235 * src/vm/jit/alpha/asmpart.S (asm_wrapper_patcher): Use
9238 * src/vm/jit/alpha/md-abi.c (md_return_alloc): Changed signature.
9240 2006-07-10 13:36 twisti
9242 * src/vm/statistics.c (count_class_infos): Renamed to size_classinfo.
9243 (size_fieldinfo): Added.
9244 (size_methodinfo): Likewise.
9245 (size_codeinfo): Likewise.
9246 (print_stats): Print new variables.
9248 * src/vm/statistics.h (count_class_infos): Renamed to size_classinfo.
9249 (size_fieldinfo): Added.
9250 (size_methodinfo): Likewise.
9251 (size_codeinfo): Likewise.
9253 * src/vm/class.c (class_create_classinfo): Renamed count_class_infos
9256 * src/vm/loader.c (load_class_from_classbuffer): Likewise and use new
9259 * src/vm/jit/code.c [ENABLE_STATISTICS] (code_codeinfo_new): Add
9261 [ENABLE_STATISTICS] (code_codeinfo_free): Subtract codeinfo size.
9263 2006-07-10 10:18 twisti
9265 * src/vm/jit/x86_64/codegen.c (codegen): Pass register number to
9266 codegen_add_classcastexception_ref.
9268 2006-07-10 10:01 twisti
9270 * src/lib/vm/reference/java/lang/VMClassLoader.java
9271 (defaultAssertionStatus): Made native.
9272 * src/native/vm/VMClassLoader.c (defaultAssertionStatus): Added.
9274 * src/native/jni.h (_Jv_JavaVM): Added
9275 Java_java_lang_VMClassLoader_defaultAssertionStatus.
9277 * src/vm/vm.c (OPT_ESA): Added.
9278 (OPT_DSA): Likewise.
9280 2006-07-08 22:07 twisti
9282 * src/vm/jit/methodheader.h (ExEntrySize): Removed.
9283 (ExStartPC): Likewise.
9284 (ExEndPC): Likewise.
9285 (ExHandlerPC): Likewise.
9286 (ExCatchType): Likewise.
9288 2006-07-08 20:32 twisti
9290 * src/vm/jit/i386/codegen.c (codegen): Pass register number to
9291 codegen_add_classcastexception_ref.
9293 2006-07-08 20:16 twisti
9295 * src/vm/utf8.c (utf_java_lang_ClassCastException): Added.
9296 (utf8_init): Initialize utf_java_lang_ClassCastException.
9297 * src/vm/utf8.h (utf_java_lang_ClassCastException): Added.
9299 * src/vm/class.c (class_java_lang_ClassCastException): Added.
9300 * src/vm/class.h (class_java_lang_ClassCastException): Likewise.
9302 * src/vm/exceptions.c (exceptions_init): Initialize
9303 class_java_lang_ClassCastException.
9305 (new_classcastexception): Renamed to
9306 exceptions_new_classcastexception, pass the failing class name to the
9309 * src/vm/exceptions.h (exceptionptr): Use thread object directly.
9310 (new_classcastexception): Renamed to
9311 exceptions_new_classcastexception.
9313 * src/vm/jit/stacktrace.c (stacktrace_inline_classcastexception):
9315 * src/vm/jit/stacktrace.h (stacktrace_inline_classcastexception):
9318 * src/vm/jit/codegen-common.c (codegen_add_classcastexception_ref):
9320 * src/vm/jit/codegen-common.h (codegen_add_classcastexception_ref):
9323 * src/vm/jit/powerpc/codegen.c (codegen): Pass register number to
9324 codegen_add_classcastexception_ref.
9326 2006-07-08 19:08 twisti
9328 * src/vm/jit/i386/codegen.c (createnativestub): Don't use
9329 builtin_get_exceptionptrptr, but codegen_finish_native_call for
9332 2006-07-08 18:28 twisti
9334 * configure.ac: Use ARCH_CFLAGS and OPT_CFLAGS instead of CFLAGS and
9335 pass the flags via AM_CFLAGS to Makefile's.
9337 2006-07-08 14:20 twisti
9339 * src/vm/jit/stacktrace.c (stacktrace_create): Added another code ==
9342 2006-07-06 22:52 twisti
9344 * src/vm/jit/powerpc/darwin/md-abi.h (REG_ITMP12_PACKED): Added.
9345 (REG_RESULT_PACKED): Added.
9347 * src/vm/jit/powerpc/darwin/md-asm.h (patcher_wrapper): Added.
9349 * src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Changed
9352 * src/vm/jit/powerpc/asmpart.S (L_patcher_wrapper$stub): Added.
9354 2006-07-06 14:19 twisti
9356 * src/vm/jit/x86_64/codegen.c (codegen): Use code variables.
9357 (createnativestub): Likewise and don't use
9358 builtin_get_exceptionptrptr, but codegen_finish_native_call for
9361 * src/vm/jit/x86_64/codegen.h (PROFILE_CYCLE_START): Use code
9363 (PROFILE_CYCLE_STOP): Likewise.
9365 * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Changed signature.
9367 2006-07-06 14:10 tbfg
9369 fixed isleafmethod is now part of code issues
9371 2006-07-06 13:59 tbfg
9374 arch.h and md-abi.h: modified PV register assignment
9376 2006-07-06 12:42 twisti
9378 * src/vm/jit/i386/codegen.c (codegen): Use code->isleafmethod.
9379 * src/vm/jit/i386/md-abi.c (md_return_alloc): Changed signature.
9381 2006-07-06 11:36 twisti
9383 * src/vm/method.h (methodinfo): Removed isleafmethod, frequency,
9384 bbfrequency and cycles.
9386 * src/vm/jit/powerpc/linux/md-abi.c (md_return_alloc): Changed
9387 signature, use code->isleafmethod.
9389 * src/vm/jit/powerpc/linux/md-abi.h (REG_IFTMP): Changed from 0 to 16.
9390 (REG_ITMP12_PACKED): Added.
9391 (REG_RESULT_PACKED): Likewise.
9393 * src/vm/jit/powerpc/codegen.c (vm/jit/methodheader.h): Added.
9394 (codegen): Use code->isleafmethod, added instrumentation code.
9396 * src/vm/jit/abi.h (md_return_alloc): Added.
9398 * src/vm/jit/stack.c (new_stack_analyse): Use code->isleafmethod.
9399 (stack_analyse): Likewise.
9401 * src/vm/jit/stack.h (md_return_alloc): Removed.
9403 * src/vm/jit/code.c (code_codeinfo_new): Don't memset as NEW already
9404 does that, set isleafmethod to true.
9406 * src/vm/jit/code.h (codeinfo): Added basicblockcount and basicblocks.
9408 * src/vm/jit/allocator/simplereg.c (interface_regalloc): Use
9410 (local_regalloc): Likewise.
9412 * src/vm/jit/parse.c (new_parse): Likewise.
9415 * src/vm/jit/parse.h (NEW_OP_BUILTIN_CHECK_EXCEPTION): Likewise.
9416 (NEW_OP_BUILTIN_NO_EXCEPTION): Likewise.
9417 (NEW_OP_BUILTIN_ARITHMETIC): Likewise.
9418 (BUILTIN): Likewise.
9420 * src/vm/jit/replace.c (replace_create_replacement_points): Don't set
9421 code->isleafmethod, it's already set.
9423 * src/vm/jit/profile/profile.c (profile_printstats): Use code
9426 * src/vm/jit/jit.c (jit_compile_intern): Don't set m->isleafmethod.
9428 * src/cacaoh/headers.c: Use stackcount instead of isleafmethod.
9430 2006-07-05 11:48 twisti
9432 * src/vm/descriptor.h: Removed space.
9434 2006-07-04 19:06 twisti
9436 * src/vm/jit/powerpc/darwin/md-asm.h
9437 (builtin_asm_get_exceptionptrptr): Removed.
9438 (_no_threads_exceptionptr): Likewise.
9439 (exceptions_get_and_clear_exception): Added.
9441 * src/vm/jit/powerpc/patcher.c (vm/exceptions.h): Added.
9442 (vm/jit/methodheader.h): Likewise.
9443 (patcher_wrapper): New function.
9444 (patcher_get_putstatic): Removed monitor enter/exit, this is now done
9446 (patcher_get_putfield): Likewise.
9447 (patcher_aconst): Likewise.
9448 (patcher_builtin_multianewarray): Likewise.
9449 (patcher_builtin_arraycheckcast): Likewise.
9450 (patcher_invokestatic_special): Likewise.
9451 (patcher_invokevirtual): Likewise.
9452 (patcher_invokeinterface): Likewise.
9453 (patcher_checkcast_instanceof_flags): Likewise.
9454 (patcher_checkcast_instanceof_interface): Likewise.
9455 (patcher_checkcast_class): Likewise.
9456 (patcher_instanceof_class): Likewise.
9457 (patcher_clinit): Likewise.
9458 (patcher_athrow_areturn): Likewise.
9459 (patcher_resolve_native): Likewise.
9461 * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): Use
9462 exceptions_get_and_clear_exception.
9463 (asm_wrapper_patcher): Likewise, use patcher_wrapper.
9464 (L_builtin_asm_get_exceptionptrptr$stub): Removed.
9465 (L_exceptions_get_and_clear_exception$stub): Added.
9467 * src/vm/jit/patcher.h (assert.h): Added.
9468 (PATCHER_FLAG_PATCHED): Likewise.
9469 (PATCHER_MONITORENTER): Added assert and return NULL.
9470 (PATCHER_MARK_PATCHED_MONITOREXIT): Use PATCHER_FLAG_PATCHED.
9471 (patcher_wrapper): Added.
9473 2006-07-04 18:24 twisti
9475 * src/vm/jit/powerpc/codegen.c (createnativestub): Don't use
9476 builtin_get_exceptionptrptr, but codegen_finish_native_call for
9479 2006-07-04 16:56 twisti
9481 * tests/regression/codepatching/test.java: Catch only thrown
9484 2006-07-04 16:05 twisti
9486 * src/vm/jit/powerpc/darwin/md-os.c (md_signal_handler_sigusr2): New
9489 * src/vm/jit/powerpc/darwin/md-asm.h (asm_handle_nullptr_exception):
9491 (asm_abstractmethoderror): Added.
9492 (exceptions_asm_new_abstractmethoderror): Likewise.
9493 * src/vm/jit/powerpc/asmpart.S
9494 (L_exceptions_asm_new_abstractmethoderror$stub): Added.
9496 2006-07-04 16:02 twisti
9498 * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Code
9501 2006-07-03 14:06 twisti
9503 * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use
9504 exceptions_get_and_clear_exception.
9505 (asm_wrapper_patcher): Likewise.
9507 2006-07-03 13:49 twisti
9509 * src/vm/jit/codegen-common.c (codegen_finish_native_call): Check for
9510 exception and return it.
9511 * src/vm/jit/codegen-common.h (codegen_finish_native_call): Changed
9514 * src/vm/jit/alpha/codegen.c (createnativestub): Don't use
9515 builtin_get_exceptionptrptr, but codegen_finish_native_call for
9518 * src/vm/jit/alpha/codegen.h (M_ASUB_IMM): Added.
9520 2006-07-03 13:46 twisti
9522 * src/vm/jit/alpha/md-abi.c (nregdescint): Added comments.
9524 2006-07-03 13:45 twisti
9526 * src/vm/jit/alpha/linux/md-os.c (md_signal_handler_sigusr2): New
9528 (thread_restartcriticalsection): Code cleanup.
9530 2006-07-03 12:06 twisti
9532 * src/vm/jit/alpha/asmpart.S (asm_abstractmethoderror): New method.
9534 2006-07-03 10:18 twisti
9536 * src/vm/exceptions.c (exceptions_get_and_clear_exception): New
9538 * src/vm/exceptions.h (exceptions_get_and_clear_exception): Added.
9540 2006-07-02 18:31 twisti
9542 * src/lib/vm/reference/gnu/java: Added.
9543 * src/lib/vm/reference/gnu/java/lang: Likewise.
9544 * src/lib/vm/reference/gnu/java/lang/management: Likewise.
9546 src/lib/vm/reference/gnu/java/lang/management/VMRuntimeMXBeanImpl.java:
9548 * src/lib/Makefile.am (VM_JAVA_FILES): Added
9549 src/lib/vm/reference/gnu/java/lang/management/VMRuntimeMXBeanImpl.java.
9550 (VM_CLASS_FILES): Added
9551 classes/gnu/java/lang/management/VMRuntimeMXBeanImpl.class.
9552 (vm.zip, nozip): Removed ecj check.
9554 * src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c: New
9556 * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
9557 gnu_java_lang_management_VMRuntimeMXBeanImpl.c.
9559 * src/native/include/.cvsignore: Added
9560 gnu_java_lang_management_VMRuntimeMXBeanImpl.h.
9561 * src/native/include/Makefile.am
9562 (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADER_FILES): Added
9563 gnu_java_lang_management_VMRuntimeMXBeanImpl.h.
9565 * src/native/native.c
9566 (native/include/gnu_java_lang_management_VMRuntimeMXBeanImpl.h):
9568 (dummynativetable): Added
9569 Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getInputArguments
9570 and Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getStartTime.
9572 2006-07-02 18:24 twisti
9574 * m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Add -1.5 option when using ecj.
9576 2006-07-02 11:00 twisti
9578 * m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Added bootclasspath to compiler
9581 2006-07-02 10:42 twisti
9583 * src/vm/jit/mips/asmpart.S (asm_abstractmethoderror): New function.
9585 2006-06-28 22:47 twisti
9587 * NEWS: Added new release.
9589 2006-06-28 22:38 twisti
9591 * src/lib/vm/reference/java/lang/VMThread.java: Updated to GNU
9594 2006-06-28 21:52 twisti
9596 * src/vm/jit/powerpc/asmpart.S (asm_abstractmethoderror): New
9599 2006-06-28 21:51 twisti
9601 * src/vm/exceptions.c (exceptions_handle_exception): Typo.
9603 2006-06-28 21:46 twisti
9605 * src/vm/linker.c (link_class_intern): Fixed compiler warning, added
9607 (linker_addinterface): Fixed compiler warning.
9609 2006-06-28 21:44 edwin
9611 * src/vm/linker.c (link_class_intern): Converted the check against
9612 creating a stubroutine twice into an assert. The check became
9613 obsolete because abstract methods do no longer get compiler stubs.
9615 2006-06-28 21:01 edwin
9617 * src/vm/linker.c (link_class_intern): Do not generate compiler
9618 stubs for abstract methods.
9620 2006-06-28 20:33 edwin
9622 * src/vm/jit/intrp/codegen.c (intrp_codegen): Changed MethodPointer
9623 in method header to CodeinfoPointer.
9624 (intrp_createcompilerstub): Likewise.
9625 (intrp_createnativestub): Likewise.
9626 (createcalljavafunction): Likewise.
9628 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception):
9629 Changed MethodPointer in method header to CodeinfoPointer.
9631 2006-06-28 19:43 twisti
9633 * src/vm/exceptions.c (exceptions_asm_new_abstractmethoderror): New
9635 * src/vm/exceptions.h (exceptions_asm_new_abstractmethoderror): Added.
9637 * src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Use
9638 exceptions_asm_new_abstractmethoderror.
9639 * src/vm/jit/i386/asmpart.S (asm_abstractmethoderror): Likewise.
9641 2006-06-28 19:11 twisti
9643 * src/vm/utf8.c (utf_java_lang_AbstractMethodError): Added.
9644 (utf8_init): Initialize utf_java_lang_AbstractMethodError.
9645 * src/vm/utf8.h (utf_java_lang_AbstractMethodError): Added.
9647 * src/vm/class.c (class_java_lang_AbstractMethodError): Added.
9648 (class_resolveclassmethod): Use exceptions_throw_abstractmethoderror.
9649 * src/vm/class.h (class_java_lang_AbstractMethodError): Added.
9651 * src/vm/exceptions.c (exceptions_init): Initialize
9652 class_java_lang_AbstractMethodError.
9653 (exceptions_new_abstractmethoderror): New function.
9654 (exceptions_throw_abstractmethoderror): Likewise.
9655 * src/vm/exceptions.h (exceptions_new_abstractmethoderror)
9656 (exceptions_throw_abstractmethoderror): Added.
9658 * src/vm/resolve.c (resolve_method_invokespecial_lookup): Use
9659 exceptions_throw_abstractmethoderror.
9661 * src/vm/jit/asmpart.h (asm_abstractmethoderror): Added.
9663 * src/vm/jit/i386/asmpart.S (asm_abstractmethoderror): New function.
9664 * src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Likewise.
9666 * src/vm/linker.c (link_class_intern): Fill empty slots in vftbl with
9667 the AbstractMethodError stub.
9668 (linker_addinterface): Insert the AbstractMethodError stub if no
9669 suitable method was found.
9671 * src/cacaoh/headers.c (asm_abstractmethoderror): Added.
9672 (exceptions_throw_abstractmethoderror): Likewise.
9674 2006-06-28 17:05 twisti
9676 * src/vm/jit/jit.h (JITDATA_FLAG_INSTRUMENT)
9677 (JITDATA_HAS_FLAG_INSTRUMENT): Likewise.
9678 (ICMD_OPCODE_MASK, ICMD_CONDITION_MASK): Removed.
9680 * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
9681 Removed ICMD_OPCODE_MASK.
9683 * src/vm/jit/show.c (show_icmd): Commented conditional stuff, maybe I
9684 need it again someday.
9686 * src/vm/jit/x86_64/emit.c (emit_store): Likewise.
9687 (emit_cmovxx): Likewise.
9688 * src/vm/jit/codegen-common.c (codegen_reg_of_var): Likewise.
9690 2006-06-28 15:39 twisti
9692 * src/vm/jit/x86_64/md.c [ENABLE_THREADS] (threads/native/threads.h):
9694 (md_signal_handler_sigusr2): New function.
9695 (thread_restartcriticalsection): Code cleanup.
9697 2006-06-28 08:24 twisti
9699 * src/scripts/.cvsignore: Removed cacao, jarsigner, javac and keytool.
9700 * src/scripts: Updated svn:ignore.
9702 * src/scripts/Makefile.am (bin_SCRIPTS): Removed jarsigner and
9703 keytool, there are now wrappers in GNU Classpath.
9705 * src/scripts/javac.in: Removed.
9706 * src/scripts/jarsigner.in: Likewise.
9707 * src/scripts/cacao.in: Likewise.
9708 * src/scripts/keytool.in: Likewise.
9710 * configure.ac (AC_CONFIG_FILES): Removed src/scripts/jarsigner and
9711 src/scripts/keytool.
9713 2006-06-23 12:07 twisti
9715 * src/vm/string.c (javastring_toutf): Check for NULL and return
9717 (literalstring_u2): Replaced list_addfirst with list_add_first.
9719 * src/vm/builtin.h (BUILTIN_MONITOR_ENTER, BUILTIN_MONITOR_EXIT):
9722 * src/vm/jit/powerpc/codegen.c (codegen): Don't use
9723 BUILTIN_staticmonitorenter, use JITDATA_HAS_FLAG_VERBOSECALL instead
9725 (createnativestub): Likewise.
9727 * src/vm/jit/code.c: Smaller changes.
9729 * src/vm/jit/code.h (codeinfo): Added optlevel.
9731 * src/vm/jit/Makefile.am (libjit_la_SOURCES): Added recompile.[ch].
9732 * src/vm/jit/recompile.c: New file.
9733 * src/vm/jit/recompile.h: Likewise.
9735 * src/vm/jit/show.c (new_show_method, show_method)
9736 (new_show_basicblock, show_basicblock): Use
9737 JITDATA_HAS_FLAG_SHOWDISASSEMBLE instead of opt_showdisassemble.
9739 * src/vm/jit/profile/profile.c (vm/jit/jit.h): Added.
9740 (list_method_entry): Moved to src/vm/jit/recompile.h.
9741 (profile_thread): First real implementation.
9742 (profile_start_thread): Better code.
9743 (profile_printstats): Use codeinfo frequencies.
9745 * src/vm/jit/jit.c (jit_compile): Set jd->flags properly. Moved
9746 codeinfo memory freeing before dump_release because we need jd, which
9747 is allocated on dump memory.
9748 (jit_recompile): New function.
9749 (jit_compile_intern): Use jd->flags.
9751 * src/vm/jit/codegen-common.c (codegen_createnativestub): Set
9754 * src/vm/jit/jit.h (JITDATA_FLAG_PARSE, JITDATA_FLAG_VERIFY)
9755 (JITDATA_FLAG_SHOWINTERMEDIATE, JITDATA_FLAG_SHOWDISASSEMBLE)
9756 (JITDATA_FLAG_VERBOSECALL): Added.
9757 (JITDATA_HAS_FLAG_PARSE, JITDATA_HAS_FLAG_VERIFY)
9758 (JITDATA_HAS_FLAG_IFCONV, JITDATA_HAS_FLAG_SHOWINTERMEDIATE)
9759 (JITDATA_HAS_FLAG_SHOWDISASSEMBLE, JITDATA_HAS_FLAG_VERBOSECALL):
9761 (jit_recompile): Likewise.
9763 * src/vm/vm.c (vm/jit/recompile.h): Added.
9764 (vm_create): Call recompile_init and recompile_start_thread.
9766 * src/toolbox/list.h (config.h, vm/types.h, vm/global.h): Added.
9768 (list_init): Renamed to list_create.
9769 (list_addfirst): Renamed to list_add_first.
9770 (list_addlast): Renamed to list_add_last.
9771 (list_add_last_unsynced): New function.
9773 * src/toolbox/list.c (mm/memory.h, threads/native/threads.h)
9774 (vm/builtin.h): Added.
9775 (list_init): Renamed to list_create.
9776 (list_addfirst): Renamed to list_add_first and made synchronized.
9777 (list_addlast): Likewise.
9778 (list_add_last_unsynced): Likewise.
9779 (list_add_before): Made synchronized.
9780 (list_remove): Likewise.
9781 (list_first): Likewise.
9782 (list_last): Likewise.
9783 (list_next): Likewise.
9784 (list_prev): Likewise.
9786 * src/vm/suck.c (suck_init): Replaced list_init with list_create.
9787 (suck_add): Replaced list_addlast with list_add_last.
9789 * src/vm/loader.c (load_constantpool): Replaced list_addfirst with
9791 (load_newly_created_array): Likewise.
9793 * src/vm/properties.c (properties_init): Replaced list_init with
9795 (properties_add): Use list_add_last_unsynced, as this is required
9796 during bootstrapping.
9798 * src/threads/native/threads.h (THREAD_FLAG_JAVA)
9799 (THREAD_FLAG_INTERNAL): Added.
9800 (threadobject): Added flags.
9802 * src/threads/native/threads.c (threads_init): Flag main thread as
9803 Java thread (required for profiling sampling).
9804 (threads_startup_thread): Flag threads as Java or internal thread.
9806 2006-06-23 09:23 twisti
9808 * src/vm/linker.c (vm/vm.h): Added.
9810 2006-06-22 18:48 twisti
9812 * src/vm/utf8.c, src/vm/utf8.h (utf_null): Added.
9814 2006-06-22 14:39 twisti
9816 * src/vm/utf8.c (utf8_init): Compile fix with ENABLE_STATISTICS.
9818 2006-06-21 16:29 ajordan
9820 * configure.ac: Added support for compiling on sparc64
9822 * src/vm/jit/Makefile.am: Added sparc64 subdirectory
9824 * src/vm/jit/sparc64/*: Added files for the sparc64 JIT (which won't
9827 2006-06-21 08:30 twisti
9829 * src/vm/jit/mips/linux/.cvsignore: Added TAGS.
9831 2006-06-20 15:50 twisti
9833 * src/vm/jit/mips/codegen.c (codegen): Use codeinfo instead of
9835 (createcompilerstub): Likewise.
9836 (createnativestub): Likewise.
9838 * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Likewise.
9840 2006-06-20 11:55 twisti
9842 * src/vm/jit/alpha/codegen.c (codegen): Use codeinfo instead of
9844 (createcompilerstub): Likewise.
9845 (createnativestub): Likewise.
9847 * src/vm/jit/alpha/asmpart.S (asm_vm_call_method): Likewise.
9849 2006-06-20 09:10 twisti
9851 * src/vm/jit/x86_64/codegen.c (codegen): Use codeinfo instead of
9853 (createcompilerstub): Likewise.
9854 (createnativestub): Likewise.
9856 * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Likewise.
9858 2006-06-19 22:53 twisti
9860 * src/vm/jit/i386/codegen.c (codegen): Use codeinfo instead of
9862 (createcompilerstub): Likewise.
9863 (createnativestub): Likewise.
9865 * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Likewise.
9867 2006-06-19 22:23 twisti
9869 * src/threads/native/threads.h (threadobject): Added pc.
9871 2006-06-19 22:22 twisti
9873 * src/vm/jit/methodheader.h (MethodPointer): Removed.
9874 (CodeinfoPointer): Added.
9876 * src/vm/method.c (method_vftbl_lookup): Use CodeinfoPointer.
9878 * src/vm/jit/powerpc/codegen.c (codegen): Use codeinfo instead of
9880 (createcompilerstub): Likewise.
9881 (createnativestub): Likewise.
9883 * src/vm/jit/powerpc/asmpart.S: Likewise.
9885 * src/vm/jit/stacktrace.c (stacktrace_create_stackframeinfo):
9887 (stacktrace_create_native_stackframeinfo): Likewise.
9888 (stacktrace_add_method): Likewise.
9889 (stacktrace_create): Likewise.
9891 * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
9893 * src/vm/jit/codegen-common.c (codegen_findmethod): Define for all
9894 architectures. Removed assert, we have to check that somewhere else.
9895 (codegen_finish): Add the method for all architectures.
9897 * src/vm/jit/codegen-common.h (methodtree_element): Likewise.
9899 * src/vm/jit/profile/profile.c (profile_thread): First implementation.
9900 * src/vm/jit/profile/profile.h (vm/global.h): Added.
9902 * src/vm/signal.c (signal_init): Install SIGUSR2 for profiling.
9903 * src/vm/signallocal.h (md_signal_handler_sigusr2): Added.
9904 * src/vm/jit/powerpc/linux/md-os.c (md_signal_handler_sigusr2): New
9907 * src/vm/vm.c (vm_create): Call profile_start_thread only with
9910 * src/cacaoh/headers.c (exceptions_throw_nosuchmethoderror): Added.
9912 2006-06-19 21:39 twisti
9914 * src/vm/class.c (class_resolveinterfacemethod_intern): Smaller
9916 (class_resolveclassmethod): Likewise.
9918 2006-06-19 21:04 twisti
9920 * src/vm/linker.c (link_class_inter): Smaller changes.
9921 (linker_addinterface): Likewise, added some comments about checks we
9924 2006-06-19 21:00 twisti
9926 * src/vm/jit/powerpc/patcher.c (assert.h): Added.
9927 (patcher_invokeinterface): Added XXX comments.
9929 2006-06-19 20:51 twisti
9931 * configure.ac (profiling): Disable by default.
9933 2006-06-19 12:36 twisti
9935 * src/native/jni.c (AttachCurrentThread): Removed dummy
9937 (GetEnv): Use switch instead of if's.
9939 2006-06-14 18:55 motse
9941 * src/native/native.c (native_resolve_function): fix/add to my last
9944 2006-06-14 18:36 motse
9946 * src/vm/loader.c (load_class_from_classloader): Add call to jvmti
9947 Class Load and Prepare event.
9949 * src/native/jni.c (RegisterNatives): Add comment for calling jvmti
9950 Native Method Bind event.
9952 * src/native/vm/VMClassLoader.c (defineClass): Add call to jvmti
9953 Class File Load Hook event.
9955 * src/native/vm/VMObject.c (wait): Add call to jvmti Monitor Wait
9958 * src/native/native.c (native_resolve_function): Add call to jvmti
9959 Native Method Bind event.
9961 * src/native/jvmti/cacaodbg.c (jvmti_ClassFileLoadHook): new function
9963 (jvmti_ClassLoadPrepare): idem
9964 (jvmti_MonitorContendedEntering): idem
9965 (jvmti_MonitorWaiting): idem
9966 (jvmti_ThreadStartEnd): idem
9967 (jvmti_NativeMethodBind): idem
9969 * src/native/jvmti/cacaodbg.h: Add function headers for
9970 jvmti_ClassFileLoadHook, jvmti_ClassLoadPrepare,
9971 jvmti_MonitorContendedEntering, jvmti_MonitorWaiting,
9972 jvmti_ThreadStartEnd, jvmti_NativeMethodBind.
9974 * src/native/jvmti/jvmti.c (execute_callback): Add support for Class
9975 File Load Hook event.
9976 (GetOwnedMonitorInfo): Adapt lock record iteration to new
9978 (GetCurrentContendedMonitor): idem
9980 * src/threads/native/lock.c (lock_monitor_enter): Add call to jvmti
9981 Monitor Contended Enter and Entered event
9983 * src/threads/native/threads.c (threads_startup_thread): replace
9984 breakpoint by direct call to jvmti Thread Start/End event
9986 * src/cacaoh/headers.c add dummy functions jvmti_ThreadStartEnd,
9987 jvmti_ClassLoadPrepare and jvmti_MonitorContendedEntering
9989 2006-06-13 10:41 twisti
9991 * src/lib/vm/reference/java/lang/VMThread.java: Updated and removed
9992 our old thread variables.
9993 * src/native/include/java_lang_VMThread.h: Regenerated.
9995 2006-06-12 21:34 edwin
9997 * src/vm/jit/stack.c (new_stack_analyze): Fixed warnings about
9998 directive in macro argument.
10000 2006-06-12 21:27 edwin
10002 * src/vm/jit/show.c (new_show_basicblock): Fixed warnings.
10003 (new_show_stackvar): Likewise.
10005 2006-06-12 21:14 edwin
10007 * src/vm/jit/stack.c (new_stack_analyse): Set dst field for IINC.
10009 * src/vm/jit/show.c (new_show_method): Use jitdata.new_rd.
10010 Only show locals and interfaces if available.
10011 (new_show_basicblock): Changed basicblock output format.
10012 (new_show_stackvar): Copied&pasted full stackvar printing.
10013 (new_show_icmd): Show some more ICMD operands.
10015 * src/vm/jit/allocator/simplereg.c (new_reg_mark_copy): Fixed
10016 bug for the case nthrough != 0.
10018 2006-06-12 18:50 edwin
10020 * src/vm/jit/allocator/simplereg.h, src/vm/jit/allocator/simplereg.c
10021 (new_regalloc): New function for new instruction format.
10022 (new_allocate_scratch_registers): Likewise.
10024 * src/vm/jit/show.c (new_show_stackvar): Show allocated register
10025 for stage SHOW_REGS and above.
10027 * src/vm/jit/jit.h (jitdata): Added field new_rd for testing the
10028 new simplereg allocator.
10030 2006-06-12 14:23 edwin
10032 * src/vm/jit/stack.c (new_stack_analyse): Fixed new stack analysis
10035 * src/vm/jit/show.c (new_show_icmd): Show operands of new instruction
10037 (new_show_basicblock): Removed obsolete stack display.
10039 2006-06-10 14:53 edwin
10041 * src/vm/jit/stack.c (IF_INTRP): New macro.
10042 (IF_JIT): New macro.
10043 (STATISTICS_STACKDEPTH_DISTRIBUTION): New macro.
10044 (new_stack_analyse): New function. Implemented stack analysis for
10045 new instruction format. (Not used, yet.)
10047 * src/vm/jit/stack.h (NEWSTACK): Enclosed in do { } while(0).
10049 * src/vm/jit/show.h, src/vm/jit/show.c (new_show_method): New
10051 (new_show_basicblock): New function.
10052 (new_show_icmd): New function.
10054 * src/vm/jit/parse.c (new_fillextable): New function.
10055 (parse): Parsing of JSR changed. Fixed bptr->icount setting.
10057 * src/vm/jit/jit.h (new_instruction): New field s3.jsrtarget.
10058 New field dst.dupslots.
10060 2006-06-08 07:26 twisti
10062 * tests/regression/codepatching/test.java (aastoreconst): Fixed skip
10065 2006-06-07 12:51 twisti
10067 * src/vm/suck.c (suck_add_from_property): Always set namelist to NULL
10070 2006-06-07 12:19 twisti
10072 * src/vm/global.h (bool): Changed to `unsigned int', as the MIPS Pro
10073 compiler complains about signed bit fields. And I think that warning
10076 * src/vm/suck.c (scandir_filter): Changed the signature define, as
10077 only linux seems to use const.
10079 2006-06-07 12:10 twisti
10081 * src/vm/suck.c (suck_add_from_property): Check for scandir return
10082 value in error case, as on some systems, like Linux, it returns NULL.
10084 2006-06-06 21:13 motse
10086 src/native/vm/VMVirtualMachine.c (unregisterEvent): print error
10089 src/native/jvmti/cacaodbg.c (jvmti_cacao_debug_init): set variable
10092 src/native/jvmti/VMjdwp.c: add jmethodID and jclass cache variables.
10093 Add new callback functions to jvmti_jdwp_EventCallbacks
10094 (ThreadStart/ThreadEnd/ClassPrepare/Breakpoint): add
10095 ThreadStart/ThreadEnd event callbackes implementation who notify jdwp.
10096 (Exception/MethodEntry): dummy implementation. There are no jdwp
10097 exeception/MethodEntry events in gnu classpath yet.
10098 (setup_jdwp_thread): use cache variables.
10099 FINDCLASSWITHEXCEPTION/GETMIDWITHEXCEPTION: helper macros to ease
10100 jni findclass and getmethodid.
10101 (fillidcache): new function that fills valid jmethodIDs and jclasses
10102 in the cache variables.
10103 (VMInit): add call to fillidcache.
10104 (Agent_OnLoad): do not enable all jvmti callbacks anymore. Only
10105 enable needed VMInit callback. The other callbacks will be enable
10106 with VMVirtualMachine.registerEvent by need.
10108 src/native/jvmti.c (dofireEvent): check if a valid event callback is
10109 available before executing it.
10110 (SetEventNotificationMode): ThreadStart/End event are no more
10111 implemented as breakpoints but have direct function calls to
10113 (SuspendThread/ResumeThread/getcacaostacktrace): sketch for further
10114 implementation of this function. Final threads_suspend* functions are
10116 (GetArgumentsSize): new implementation using parsed descriptors.
10117 (GetMethodLocation): add checks for JVMTI_ERROR_NATIVE_METHOD
10118 (Samuel Vinson). And return -1 as return values for this dummy
10120 (GetJLocationFormat): JLocationFormat probably will be
10121 JVMTI_JLOCATION_OTHER
10123 src/native/jvmti/VMjdwp.h: add jdwpthread which stores the thread
10124 object for the jdwp listening thread.
10126 src/threads/native/threads.h: remove jvmti_get_threads_breakpoints
10127 beacause ThreadStart/End events are implemented as direct function
10130 src/threads/native/threads.c (threads_startup_thread): replace
10131 ThreadStart/End event implementation.
10132 (jvmti_get_threads_breakpoints): removed.
10134 src/cacaoh/headers.c (jvmti_fireEvent): added dummy implementation to
10135 enable linking of cacaoh.
10137 2006-06-06 18:51 twisti
10139 * tests/regression/extest.java: Get the maximum heap size and use it
10141 * tests/regression/extest.2output: Updated.
10143 2006-06-06 18:05 twisti
10145 * src/vm/jit/alpha/arch.h (SUPPORT_LONG_DIV_POW2)
10146 (SUPPORT_LONG_REM_POW2): Added, as we probably support these two
10147 instructions while the architecture does not support long division.
10148 * src/vm/jit/i386/arch.h: Likewise.
10149 * src/vm/jit/mips/arch.h: Likewise.
10150 * src/vm/jit/powerpc/arch.h: Likewise.
10151 * src/vm/jit/x86_64/arch.h: Likewise.
10153 * src/vm/jit/stack.c (stack_analyse): Use SUPPORT_LONG_DIV_POW2 and
10154 SUPPORT_LONG_REM_POW2 instead of SUPPORT_LONG_DIV.
10156 2006-06-06 14:32 michi
10158 * doc/handbook/arm.tex: Added.
10159 * doc/handbook/arm-double-memory.png: Image describing doubles in
10161 * doc/handbook/cacao.tex, doc/handbook/Makefile.am: Added arm.tex.
10163 2006-06-06 13:13 twisti
10165 * tests/regression/Makefile.am (JAVAFLAGS): Use flat vm classes and
10166 CLASSPATH_GLIBJ_ZIP.
10167 * tests/regression/codepatching/Makefile.am: Likewise.
10168 * tests/regression/native/Makefile.am: Likewise.
10170 2006-06-06 12:17 twisti
10172 * .externalToolBuilders/CacaoConfigure.launch: Updated to new
10175 2006-06-06 11:22 twisti
10177 * configure.ac (VM_ZIP_STRING): Removed.
10178 (--with-vm-zip): Added.
10179 (--with-classpath-glibj-zip): Added.
10180 (--with-flat-classpath): Removed.
10182 * contrib/setenvinstalled.in (BOOTCLASSPATH): Use hardcoded vm.zip and
10183 @CLASSPATH_GLIBJ_ZIP@.
10184 * contrib/setenvsource.in: Likewise.
10186 * src/vm/global.h (CACAO_VM_ZIP_PATH): Removed.
10187 (CLASSPATH_GLIBJ_ZIP_PATH): Likewise.
10188 * src/vm/vm.c (CACAO_VM_ZIP_PATH): Replaced with CACAO_VM_ZIP.
10189 (CLASSPATH_GLIBJ_ZIP_PATH): Replaced with CLASSPATH_GLIBJ_ZIP.
10190 * src/cacaoh/cacaoh.c: Likewise.
10192 * src/lib/Makefile.am (GLIBJ_ZIP): Removed and replaced with
10193 CLASSPATH_GLIBJ_ZIP.
10194 * src/native/include/Makefile.am (VM_ZIP): Removed and replaced with
10195 flat classes in builddir.
10196 (GLIBJ_ZIP): Removed and replaced with CLASSPATH_GLIBJ_ZIP.
10197 * src/native/Makefile.am: Likewise.
10199 2006-06-01 22:53 edwin
10201 * src/vm/jit/stack.h (NEW_CHECKOVERFLOW): New macro.
10203 2006-06-01 22:52 edwin
10205 * src/vm/jit/parse.c (new_parse): Use temporary fields in jitdata,
10206 instead of methodinfo fields. Check exceptions for MONITORENTER/EXIT.
10209 2006-06-01 22:49 edwin
10211 * src/vm/jit/parse.h (new_block_insert): New macro.
10213 2006-06-01 22:46 edwin
10215 * src/vm/jit/jit.h (jitdata): Added temporary fields for development
10216 of new instruction format.
10217 (NEW_INSTRUCTION_GET_METHODDESC): New macro.
10219 2006-06-01 16:00 edwin
10221 * src/vm/resolve.c (new_resolve_field_lazy): New method. This will
10222 become the resolve_field_lazy for the new instruction format.
10223 (new_resolve_method_lazy): New method. This will
10224 become the resolve_method_lazy for the new instruction format.
10225 (new_create_unresolved_field): New method. This will
10226 become the create_unresolved_field for the new instruction format.
10227 (new_create_unresolved_method): New method. This will
10228 become the create_unresolved_method for the new instruction format.
10230 * src/vm/jit/parse.c (new_parse): Further work for new format.
10232 * src/vm/jit/jit.h (NEW_INSTRUCTION_GET_FIELDREF): New macro.
10233 (NEW_INSTRUCTION_GET_METHODREF): New macro.
10235 2006-06-01 15:09 edwin
10237 * src/vm/jit/jit.c (jcommandsize): Reformatted prettily. Use comments
10238 instead of duplicated #defines.
10240 2006-06-01 14:36 edwin
10242 * src/vm/jit/jit.h (ICMD_CHECKNULL_POP): New ICMD.
10243 * src/vm/jit/jit.c (ICMD_CHECKNULL_POP): Likewise.
10245 * src/vm/jit/parse.c (new_parse): Further work on parsing for new
10246 instruction format. Zero flags where necessary. Clarify policy of
10247 at most one instruction per byte of original bytecode. Use the new
10248 ICMD_CHECKNULL_POP for MONITORENTER/EXIT without threads.
10250 2006-06-01 13:00 edwin
10252 * src/vm/jit/parse.h: Reworked and documented macros for new
10255 2006-05-31 23:18 edwin
10257 * src/vm/jit/jit.h: Whitespace cleanup and comments.
10259 2006-05-31 23:03 edwin
10261 * src/vm/jit/parse.c (parse): Removed unnecessary variable `s4ptr`.
10263 2006-05-31 22:56 edwin
10265 * src/vm/jit/parse.c (new_parse): Implement LOOKUPSWITCH and
10266 TABLESWITCH for the new instruction format.
10268 * src/vm/jit/jit.h (branch_target_t): New union.
10269 (lookup_target_t): New struct.
10270 (s3_operand_t): lookupdefault is now a branch_target_t.
10271 (dst_operand_t): Changed some field names and types.
10273 2006-05-31 22:07 twisti
10275 * src/native/jvmti/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
10276 (LIBS): Added, required for darwin.
10277 (libjdwp_la_SOURCES): Removed trailing \.
10279 2006-05-31 21:31 edwin
10281 * src/vm/jit/ifconv/ifconv.c (show.h): Include this instead of
10283 * src/vm/jit/verify/typecheck.c (show.h): Likewise.
10284 * src/vm/jit/inline/inline.c (show.h): Include.
10285 * src/vm/jit/jit.c (show.h): Include.
10287 2006-05-31 21:10 edwin
10289 * src/vm/jit/show.c (show_init): Do not define this function for
10292 2006-05-31 20:28 edwin
10294 * src/vm/jit/show.h: New file.
10295 * src/vm/jit/show.c: New file.
10297 * src/vm/jit/stack.h (stack_show_method): Moved to show.h, renamed to
10299 (stack_show_basicblock): Moved to show.h, renamed to show_basicblock.
10300 (stack_show_icmd): Moved to show.h, renamed to show_icmd.
10302 * src/vm/jit/stack.c (lock_stack_show_icmd): Moved to show.c, renamed
10303 to show_global_lock.
10304 (stack_show_method): Moved to show.c, renamed to show_method.
10305 (stack_show_basicblock): Moved to show.c, renamed to show_basicblock.
10306 (stack_show_icmd): Moved to show.c, renamed to show_icmd.
10307 (stack_init): This function is now empty.
10309 * src/vm/jit/ifconv/ifconv.c (stack_show_basicblock): Renamed to
10312 * src/vm/jit/inline/inline.c (stack_show_method): Renamed to
10314 (stack_show_icmd): Renamed to show_icmd.
10316 * src/vm/jit/inline/inline_debug.inc (stack_show_icmd): Renamed to
10319 * src/vm/jit/jit.c (jit_init): Call show_init.
10320 (stack_show_method): Renamed to show_method.
10322 * src/vm/jit/Makefile.am (show.c): Added.
10325 * src/threads/native/lock.h (pthread.h): Included.
10327 2006-05-31 19:25 edwin
10329 * src/vm/jit/jit.h (s3_operant_t): Typo fixed to s3_operand_t.
10332 2006-05-31 13:53 motse
10334 src/native/vm/VMVirtualMachine.c (suspendThread): print error message
10335 with printjvmtierror
10336 (resumeThread): idem
10337 (getAllLoadedClassCount): idem
10338 (getAllLoadedClasses): idem
10339 (getClassStatus): idem
10340 (getAllClassMethods): idem
10341 (getFrameCount): idem
10342 (getThreadStatus): idem
10343 (getSourceFile): idem
10344 (registerEvent): idem
10346 src/native/vm/VMMethod.c (printjvmtierror): new helper function for
10347 getting and print error messages
10348 (getName): print error message with printjvmtierror, remove
10349 signature, generic signature
10350 (getSignature): print error message with printjvmtierror, remove
10351 name, generic signature
10352 (getModifiers): print error message with printjvmtierror
10353 (getlinetable): idem
10354 (fillVariableTable): new function for converting
10355 jvmtiLocalVariableEntry to arguments for
10356 gnu.classpath.jdwp.util.VariableTable constructor
10357 (getVariableTable): new implementation. tries to get local variable
10358 table and return gnu.classpath.jdwp.util.VariableTable.
10360 src/native/include/Makefile.am: add VariableTable
10362 src/native/jvmti/VMjdwp.c (printjvmtierror) new function (duplicate)
10363 - this is a work around
10364 (VMInit): print error message with printjvmtierror
10366 src/native/jvmti/jvmti.c (InterruptThread): new implentation
10367 (GetThreadInfo): switch form using javastring_tochar (uses malloc)
10368 to javastring_toutf/utf_sprint_convert_to_latin1
10369 (GetOwnedMonitorInfo): fix error handling
10370 (GetFrameLocation): idem
10371 (DestroyRawMonitor): use heap_free
10372 (GetClassSignature): fix error handling
10373 (GetSourceFileName): use utf_bytes
10374 (GetFieldName): fix error handling
10375 (GetFieldDeclaringClass): add error handling
10376 (GetFieldModifiers): idem
10377 (GetMethodName): fix error handling
10378 (GetClassLoaderClasses): idem
10379 (GenerateEvents): add CHECK_CAPABILITY
10380 can_generate_compiled_method_load_events
10382 src/native/jvmti/VMjdwp.h add printjvmtierror
10384 2006-05-31 13:10 twisti
10386 * src/vm/jit/x86_64/md-emit.h (IS_IMM8, IS_IMM32): Removed.
10387 * src/vm/jit/emit.h (IS_IMM8, IS_IMM32): Added.
10389 2006-05-31 12:33 twisti
10391 * src/vm/jit/x86_64/emit.c: Use new emit methods, saves about 6k code
10393 (emit_membase32): New method.
10394 (emit_memindex): Likewise.
10395 * src/vm/jit/x86_64/md-emit.h (emit_membase32): Removed.
10396 (emit_memindex): Likewise.
10398 2006-05-30 23:38 edwin
10400 * src/vm/jit/parse.c (new_parse): Worked on implementing parsing for
10401 the new instruction format. (Not used, yet.)
10402 * src/vm/jit/parse.h: Likewise.
10404 * src/vm/jit/jit.h (INS_FLAG_UNRESOLVED, INS_FLAG_CLASS)
10405 (INS_FLAG_ARRAY, INS_FLAG_NOCHECK): Added flag constants for new
10406 instruction format.
10408 2006-05-30 12:24 edwin
10410 * src/vm/jit/parse.h (new_instruction): Moved `bte` field to s3.
10411 * src/vm/jit/jit.h: Likewise.
10413 2006-05-29 23:59 edwin
10415 * src/vm/jit/jit.h (subroutineinfo): Removed unused typedef.
10417 2006-05-29 23:47 edwin
10419 * src/vm/jit/parse.h: New macros for new instruction format (not
10423 * src/vm/jit/jit.h (new_instruction, ...): Further development of new
10424 instruction format (not used, yet).
10426 2006-05-29 22:37 edwin
10428 * src/vm/jit/parse.h: Reordered and commented macros. No functional
10430 (Changes): Added my name.
10432 2006-05-29 21:48 edwin
10434 * src/vm/jit/parse.c (new_parse): New function. This will become the
10435 parse function for the new instruction format.
10436 (parse): Removed obsolete variable `gp`. (Was used for old inlining).
10438 * src/vm/jit/jit.h (jitdata): Added temporary fields
10439 `new_instructions` and `new_instructioncount` for parallel
10440 development of the new instruction format.
10442 2006-05-29 20:22 edwin
10444 * src/vm/jit/jit.h (new_instruction): Committed the new instruction
10445 struct (with name `new_instruction` so it can co-exist with the old
10446 format `instruction`).
10447 (resolve.h): Include for new instruction format.
10449 * src/vm/resolve.h (typeinfo.h): Include to resolve dependencies.
10451 * src/vm/jit/parse.h: Added a reminder comment.
10453 2006-05-29 19:28 twisti
10455 * configure.ac (AC_INIT): Changed to 0.96+svn.
10456 (CFLAGS): Changed to -O0.
10458 2006-05-29 18:53 twisti
10460 * ChangeLog: Updated.
10462 2006-05-29 18:52 twisti
10464 * configure.ac (AC_INIT): Changed to version 0.96.
10465 (CFLAGS): Changed to -O2.
10466 * NEWS: Changed date.
10468 2006-05-29 15:51 twisti
10470 * src/vm/vm.c (usage): Removed new-line.
10472 2006-05-29 15:37 twisti
10474 * src/vm/vm.c (OPT_GLIBJ): Added.
10475 (Xusage): Added help for -Xglibj.
10476 (version): Changed signature for conditional exit.
10477 (main): Added OPT_GLIBJ. Print version after all commandline arguments
10480 2006-05-29 15:21 edwin
10482 * src/vm/linker.c (link_class_intern): On i386 align all fields to
10483 just 4 bytes as gcc does. This makes the offsets of Java fields match
10484 the offset of native headers. This fixes a bug (java.lang.Double.value
10485 had been at offset 16, but java_lang_Double.value is offset 12).
10487 2006-05-29 15:17 twisti
10489 * src/threads/native/critical.h (signal.h): Added, build fix for some
10490 older Darwin systems.
10492 2006-05-29 14:32 twisti
10494 * NEWS: Added a lot of stuff.
10496 2006-05-29 14:31 twisti
10498 * src/cacao/Makefile.am: Renamed libcacaovm.so to libjvm.so to be
10499 binary compatible with Sun.
10501 2006-05-29 09:41 motse
10503 src/native/jni.c: removed jvmti.h included cacaodbg.h for GetEnv -
10505 src/native/vm/VMVirtualMachine.c: formatting changes/removed debug
10507 src/native/vm/VMMethod.c:
10508 (getName/getSignature/getModifiers/getLineTable): (Samuel Vinson) new
10509 implementation. (partially changed by motse)
10510 src/native/jvmti/cacaodbg.h: removed unused function declarations
10511 src/native/jvmti/jvmti.c (getcacaostacktrace): new implementation -
10512 does not yet handle traces of not current threads correctly.
10513 (GetMethodName): fix: return JVMTI_ERROR_NULL_POINTER only on method
10515 (GetFrameCount/GetStackTrace): fixed check for valid thread argument.
10517 2006-05-26 16:24 edwin
10519 * src/toolbox/logging.h (stdarg.h): Include it here, instead of in
10521 * src/toolbox/logging.c: See above.
10523 2006-05-26 12:58 twisti
10525 * src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
10527 * src/vm/jit/powerpc/darwin/md-os.c (thread_restartcriticalsection):
10528 Compile fix. Removed assert.
10530 2006-05-26 12:46 edwin
10532 * NEWS: Added unicode cleanup.
10534 2006-05-26 12:44 edwin
10536 * NEWS: Added tasuki locks and other news.
10538 2006-05-26 12:31 motse
10540 src/native/jvmti/jvmti.c (GetClassStatus): bugfix - only compare
10543 2006-05-26 12:26 edwin
10545 * src/vm/jit/stacktrace.c (stacktrace_remove_stackframeinfo):
10548 2006-05-26 12:25 twisti
10550 * src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
10552 * src/vm/jit/powerpc/darwin/md-os.c: Likewise.
10554 2006-05-26 12:19 edwin
10556 * src/vm/builtin.c (builtin_init): Documented.
10557 (builtin_trace_args): Documented.
10558 (builtin_displaymethodstop): Documented.
10560 * src/vm/jit/alpha/md-abi.c (md_param_alloc): Documented.
10562 * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
10565 * src/vm/jit/codegen-common.c (methodtree_comparator): Documented.
10566 (codegen_insertmethod): Documented.
10568 * src/toolbox/util.c (getcwd): Documented.
10570 2006-05-26 12:09 edwin
10572 * src/vm/loader.h: Comment update.
10574 * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed obsolete
10577 * src/vm/jit/replace.c: Typo fixed.
10579 * src/vm/jit/reg.c: Avoid XXX as wildcard in comments.
10580 * src/vm/jit/jit.h: Likewise.
10582 2006-05-26 11:57 twisti
10584 * src/vm/properties.c (properties_system_add): Changed
10585 javastring_new_from_ascii to javastring_new_from_utf_string.
10587 * src/native/jni.c (ThrowNew): Use a variable for clazz.
10588 (JNI_CreateJavaVM): Release allocated memory if vm_create fails.
10590 * src/threads/native/threads.c: Comments reformatted.
10592 2006-05-26 11:48 edwin
10594 * src/vm/class.c (class_resolveclassmethod): Removed obsolete XXX
10596 (class_resolveinterfacemethod): Likewise.
10597 (class_resolvefield): Likewise.
10599 * src/vm/classcache.h: Removed obsolete XXX comment.
10601 * src/vm/jit/allocator/lsra.h: Changed TYPE_XXX to TYPE_* in comments.
10602 * src/vm/jit/jit.c: Likewise.
10604 * src/native/vm/VMObject.c (Java_java_lang_VMObject_clone):
10605 Removed obsolete XXX comment.
10607 * src/mm/memory.c (dump_release): Removed obsolete debugging code.
10609 2006-05-26 11:22 edwin
10611 * src/native/jni.c (DefineClass): Use javastring_new_from_utf_string.
10612 (ThrowNew): Likewise.
10614 2006-05-26 09:30 twisti
10616 * src/mm/boehm.c (stackcall_malloc_atomic): Removed.
10617 (stackcall_malloc_uncollectable): Likewise.
10618 (heap_alloc_uncollectable): Use macros directly.
10619 (heap_allocate): Likewise.
10621 * src/vm/vm.c: Added -jvm options, which is available on darwin.
10623 * src/vm/suck.c (scandir_filter): Changed signature for darwin.
10625 2006-05-25 21:59 motse
10627 src/vm/vm.c(usage): added information for jvmti agent for jdwp
10628 (vm_create): jdwp code move to jvmti agent for jdwp (VMjdwp.c)
10629 src/cacao/cacao.c (main): jdwp code move to jvmti agent for jdwp.
10630 execute jvmti_set_phase only if needed
10631 src/native/jvmti/cacaodbg.c (setup_jdwp_thread): jdwp code move to
10632 jvmti agent for jdwp
10633 src/native/jvmti/VMjdwp.c: change this to a jvmti complaint agent by
10634 using jni/jvmti function instead of cacao specific functions and
10635 implement a Agent_OnLoad as main entry point. Include
10636 setup_jdwp_thread function.
10637 src/native/jvmti/Makefile.am: add libjdwp.so
10638 src/native/jvmti/cacaodbg.h: remove no more needed global jdwp
10640 src/native/jvmti/jvmti.c: (Resume/SuspendThread(List)): add temporary
10641 implementation for trying jdwp
10642 (jvmti_agentload): bugfix in getting/passing libname/arguments
10644 2006-05-25 12:28 twisti
10646 * vm/jit/intrp/intrp.h (global_sp): Added space, yeah, whatever...
10647 * vm/jit/intrp/dynamic-super.c (vm/builtin.h): Added.
10648 (vm/jit/disass.h): Likewise.
10649 (gen_inst): Fixed compiler warnings.
10650 * vm/jit/intrp/java.vmg: Fixed compiler warnings with
10651 stacktrace_create_stackframeinfo.
10652 * threads/native/threads.h (threadobject): Changed type of _global_sp
10655 2006-05-25 12:22 twisti
10659 2006-05-25 12:21 twisti
10661 * src/vm/vm.c (HEAP_MAXSIZE): Changed to 128MB.
10662 (STACK_SIZE): Changed to 64kB.
10663 (Xusage): Calculate default sizes.
10665 * NEWS: New stuff added.
10667 2006-05-25 11:29 twisti
10669 * src/vm/jit/x86_64/md-emit.h (emit_movl_reg_reg): Added.
10671 2006-05-25 11:24 edwin
10673 * configure.ac: Disable inlining and lsra by default.
10675 2006-05-24 14:11 twisti
10677 * src/threads/native/threads.c (threads_startup_thread): Allocate Java
10678 stack on Java heap instead of hardware stack.
10680 2006-05-24 14:08 twisti
10682 * configure.ac: Added INTRP_CFLAGS.
10683 * src/vm/jit/intrp/Makefile.am (CFLAGS): Set to INTRP_CFLAGS.
10685 2006-05-24 11:00 motse
10687 src/vm/vm.c (vm_exit): only set JVMTI_PHASE_DEAD if a jvmti agent or
10688 a jvmti environment is loaded.
10689 src/native/jvmti/cacaodbg.c (jvmti_cacaodbgserver_quit): bugfix: set
10690 dbgcom = NULL only if all environments have been disposed.
10691 src/native/jvmti/jvmti.c (GetLoadedClasses): remove debug statement
10693 2006-05-23 19:52 motse
10695 src/vm/classcache.c: export CLASSCACHE_LOCK/UNLOCK and
10696 lock_hashtable_classcache
10697 src/vm/classcache.h: idem
10698 src/native/jvmti/jvmti.c (GetLoadedClasses) implemented (sv/motse)
10699 (GetClassSignature) fixed
10701 2006-05-23 15:31 motse
10703 src/vm/vm.c (vm_create): rename jvmti function calls
10705 src/cacao/cacao.c (main): rename jvmti function calls
10707 src/native/jni.c (GetEnv): rename jvmti function calls. jvmti version
10708 changed to JVMTI_VERSION_INTERFACE_JVMTI
10710 src/native/vm/VMVirtualMachine.c (getAllLoadedClassesCount): (Samuel
10711 Vinson) implemented.
10712 (getAllLoadedClassesCount): jvmti Deallocate call added. (sv):
10713 CallObjectMethod fix
10714 (getAllClassMethods): (Samuel Vinson) implemented.
10715 (getClassMethod): (Samuel Vinson) implemented.
10717 src/native/jvmti/jvmti.h: added JVMTI_VERSION interface and mask
10719 src/native/jvmti/cacaodbgserver.h: msg queue/shared mem related
10720 things removed. gdb related defines added.
10722 src/native/jvmti/dbg.h: remove ptrace related things
10724 src/native/jvmti/cacaodbg.c change setsysbrkpt name to
10725 jvmti_set_system_breakpoint, addbrkpt to jvmti_add_breakpoint,
10726 allthreads to jvmti_get_all_threads
10727 (jvmti_cacao_debug_init): new function where fork/exec of
10728 cacaodbgserver takes place
10729 (jvmti_set_system_breakpoint): added functionality for brkpt delete
10730 and asm label for cacaodbgserver support
10731 (jvmti_cacaodbgserver_quit): new function for killing cacaodbgserver
10733 (jvmti_cacao_generic_breakpointhandler): new function. This is the
10734 entry point for every breakpointhandler and start for a new jvmti
10736 (jvmti_cacao_debug_init): new function for starting up
10737 cacaodbgserver process.
10739 src/native/jvmti/VMjdwp.c (jvmti_VMjdwpInit): function renamed
10741 src/native/jvmti/Makefile.am: delete dbg.c. (sv) add compile/install
10742 support for cacaodbgserver.
10744 src/native/jvmti/cacaodbg.h: breakpoint counter added to struct
10745 _brkpt. change setsysbrkpt name to jvmti_set_system_breakpoint,
10746 addbrkpt to jvmti_add_breakpoint, allthreads to
10747 jvmti_get_all_threads, fireEvent to jvmti_fireEvent, agentload to
10748 jvmti_agentload agentunload to jvmti_agentunload, getcurrentthread to
10749 jvmti_get_current_thread, set_jvmti_phase to jvmti_set_phase,
10750 new_jvmtienv to jvmti_new_environment, VMjdwpinit to
10751 jvmti_VMjdwpInit. added breakpoint table constants. removed global
10752 jdwp, jvmti, suspend, transport, agentarg variables
10754 src/native/jvmti/jvmti.c all jvmti-environment function changed to
10755 static functions. execcallback renamed to execute_callback. fireEvent
10756 renamed to jvmti_fireEvent.
10757 (execute_callback): add phase checks
10758 (GetClassMethods): bugfix in copying jmethodIDs
10759 (DisposeEnvironment): relocate work to jvmti_cacaodbgserver_quit
10760 (jvmti_new_environment) : relocate forking new process to
10761 jvmti_cacao_debug_init
10762 (CHECK_ADD_CAPABILITY): bugfix in adding capabilities
10763 (GetClassMethods): bugfix coping methodinfo pointers
10764 (SetEventNotificationMode): setsysbrkpt calls added.
10765 rename jvmti function names.
10767 src/native/jvmti/cacaodbgserver.c changed to support gdb insted of
10768 using ptrace directly.
10769 (getchildprocptrace): removed
10770 (waitloop): removed
10771 (startgdb): new function. start a new gdb session.
10772 (getgdboutput): new helper function for getting gdb output.
10773 (dataevaluate): new helper function for getting value for a given
10775 (commonbreakpointhandler): new function which handles SIGTRAPs and
10776 gdb breakpoint hits.
10777 (controlloop) : new function handle communication with gdb
10778 (main): removed old code. added calls to startgdb and controlloop
10780 src/native/jvmti/dbg.c removed
10782 src/threads/native/threads.h: removed
10783 threads_set_current_threadobject. added jvmti_get_threads_breakpoints
10785 src/threads/native/threads.c: (threads_startup_thread) add thread
10786 start/end asm lables
10787 (threads_set_current_threadobject): removed jvmti thread start
10789 (jvmti_get_threads_breakpoints) new function that gets addresses of
10792 src/threads/native/lock.h: added definition of lock_global_pool_lock
10793 and lock_global_pool
10795 2006-05-23 08:51 twisti
10797 * src/vm/jit/x86_64/codegen.c: Changed the code generator to produce
10798 RISC-like code. These are way too much changes to name them.
10799 (createnativestub): Bugfix in argument saving.
10800 * src/vm/jit/x86_64/codegen.h: Likewise.
10801 * src/vm/jit/x86_64/emit.c: Likewise.
10802 * src/vm/jit/x86_64/md-emit.h: Likewise.
10804 2006-05-23 08:42 twisti
10806 * src/vm/options.c (opt_heapmaxsize, opt_heapstartsize): Added.
10807 * src/vm/options.h: Likewise.
10809 * src/vm/vm.c (version): Print heap and stack information.
10810 (vm_create): Use global option variables.
10812 2006-05-23 08:25 twisti
10814 * src/vm/jit/x86_64/emit.c (emit_movl_reg_reg): New function.
10816 * src/vm/jit/x86_64/codegen.c (ICMD_L2I): Only move the low
10817 32-bit. Otherwise this may cause a bug with e.g. array accesses, as
10818 the index registers are treated as 64-bit.
10820 * src/vm/jit/x86_64/codegen.h (gen_bound_check): Bugfix: only read
10823 (M_ICMP_MEMBASE): Likewise.
10825 2006-05-22 16:14 twisti
10827 * configure.ac: Added --with-classpath-includedir.
10829 2006-05-22 09:07 twisti
10833 2006-05-22 09:06 twisti
10835 * src/vm/vm.c (vm_abort): New method.
10836 * src/vm/vm.h: Likewise.
10837 * src/cacaoh/headers.c: Likewise.
10839 * src/toolbox/logging.c (log_vprint): Made non-static.
10840 * src/toolbox/logging.h (log_vprint): Added.
10842 * src/threads/native/threads.c (threads_sem_init): Use vm_abort.
10843 (threads_sem_wait): Likewise.
10844 (threads_sem_post): Likewise.
10845 (threads_current_time_is_earlier_than): Likewise.
10846 (threads_init): Check for pthread_attr_init error.
10847 (threads_start_thread): Check for errors of pthread calls. Set the
10848 threads stack size.
10850 2006-05-18 14:33 edwin
10852 * src/threads/native/lock.h, src/threads/native/lock.c: Tasuki lock
10853 implementation (without lock deflation). This is a straight-forward
10854 implementation that uses an extra word in java_objectheader for the
10855 FLC (flat lock contention) bit.
10857 * src/vm/global.h (java_objectheader): Added field `flcword`.
10859 * src/threads/native/lock.h (Authors): Changed to myself, as there
10860 is none of the old code remaining in this file.
10862 * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
10863 src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c,
10864 src/vm/jit/x86_64/codegen.c (codegen, createnativestub): Add the
10865 FLC word when creating the fake object header for patcher
10868 2006-05-18 14:06 twisti
10870 * src/vm/properties.c (properties_get): Search the list backwards to
10871 get the newest entry.
10873 2006-05-18 12:50 twisti
10875 * src/vm/vm.c (version): Print default and runtime classpath
10877 (vm_create): Add a default java.endorsed.dirs property.
10879 2006-05-17 22:06 twisti
10881 * configure.ac: Don't export BOOTCLASSPATH, that makes problems.
10883 2006-05-17 12:10 twisti
10885 * src/vm/jit/powerpc/codegen.c (createnativestub): Fixed bug and
10886 changed argument saving and restoring.
10888 * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Partially
10889 implemented Darwin bits. Still some bugs with testarguments.
10891 2006-05-16 13:08 twisti
10893 * src/vm/jit/powerpc/codegen.c (codegen): Bugfix: use REG_ITMP3 in
10894 ICMD_L{DIV,REM} for function address. This fixes
10895 gnu.testlet.java.math.BigInteger.divide.
10897 2006-05-16 01:49 edwin
10899 * src/threads/native/lock.c: Fixed comment formatting.
10901 2006-05-15 23:37 edwin
10903 * src/vm/jit/i386/machine-instr.h (compare_and_swap): Fixed comment.
10905 2006-05-15 23:31 twisti
10907 * configure.ac: Export BOOTCLASSPATH for javac check.
10908 * src/cacao/Makefile.am (cacao_SOURCES)Removed cacao.h.
10909 * src/vm/jit/inline/Makefile.am (libinline_la_SOURCES): Added
10911 * src/vm/jit/powerpc/Makefile.am (DIST_SUBDIRS): Added netbsd.
10913 2006-05-15 23:22 edwin
10915 * src/vm/jit/inline/inline_debug.c: Renamed to
10916 src/vm/jit/inline/inline_debug.inc.
10918 * src/vm/jit/inline/inline.c: #include changed to
10919 src/vm/jit/inline/inline_debug.inc.
10921 * src/vm/resolve.c: Typo fixed.
10923 2006-05-15 21:48 edwin
10925 * src/threads/native/lock.c (lock_record_remove_waiter): Made static.
10926 (lock_monitor_wait): Likewise.
10928 2006-05-15 21:32 edwin
10930 * src/threads/native/lock.h, src/threads/native/lock.c
10931 (lock_does_thread_hold_lock): Renamed to
10932 lock_is_held_by_current_thread
10933 and removed thread argument, as reliable checking is only possible for
10934 the current thread, anyway.
10936 * src/native/vm/VMThread.c (lock_does_thread_hold_lock): Changed to
10937 lock_is_held_by_current_thread.
10939 * src/native/jvmti/jvmti.c (lock_does_thread_hold_lock): Changed to
10940 lock_is_held_by_current_thread.
10942 2006-05-15 18:24 edwin
10944 * configure.ac (src/threads/green/Makefile): Removed from
10947 2006-05-15 15:06 edwin
10949 * src/threads/native/lock.h (lock_record_pool_header_t): Documented.
10950 (lock_record_pool_t): Documented.
10952 * src/threads/native/lock.c: Minor whitespace cleanup.
10954 2006-05-15 14:40 twisti
10956 * THIRDPARTY: Removed green threads stuff.
10958 2006-05-15 14:39 twisti
10960 * src/vm/jit/alpha/asmpart.S (asm_perform_threadswitch)
10961 (asm_initialize_thread_stack, asm_switchstackandcall): Removed (2nd
10962 part of green threads removal).
10963 * src/vm/jit/mips/asmpart.S: Likewise.
10964 * src/vm/jit/i386/asmpart.S: Likewise.
10965 * src/vm/jit/x86_64/asmpart.S: Likewise.
10967 2006-05-15 14:24 twisti
10969 * src/vm/hashtable.h,
10978 src/vm/finalizer.c,
10979 src/vm/classcache.c,
10980 src/vm/initialize.c,
10981 src/vm/jit/powerpc/linux/md-os.c,
10982 src/vm/jit/powerpc/netbsd/md-os.c,
10983 src/vm/jit/powerpc/darwin/md-os.c,
10984 src/vm/jit/powerpc/darwin/md-asm.h,
10985 src/vm/jit/powerpc/codegen.c,
10986 src/vm/jit/powerpc/asmpart.S,
10987 src/vm/jit/codegen-common.h,
10988 src/vm/jit/alpha/codegen.c,
10989 src/vm/jit/alpha/linux/md-os.c,
10990 src/vm/jit/alpha/asmpart.S,
10991 src/vm/jit/alpha/freebsd/md-os.c,
10992 src/vm/jit/stack.c,
10994 src/vm/jit/verify/typecheck.c,
10995 src/vm/jit/mips/codegen.c,
10996 src/vm/jit/mips/linux/md-os.c,
10997 src/vm/jit/mips/asmpart.S,
10998 src/vm/jit/mips/irix/md-os.c,
10999 src/vm/jit/patcher.h,
11000 src/vm/jit/inline/inline.c,
11001 src/vm/jit/allocator/simplereg.c,
11002 src/vm/jit/i386/codegen.c,
11003 src/vm/jit/i386/linux/md-os.c,
11004 src/vm/jit/i386/asmpart.S,
11005 src/vm/jit/i386/freebsd/md-os.c,
11006 src/vm/jit/parse.c,
11007 src/vm/jit/intrp/intrp.h,
11008 src/vm/jit/intrp/codegen.c,
11009 src/vm/jit/intrp/engine.c,
11010 src/vm/jit/intrp/asmpart.c,
11011 src/vm/jit/intrp/dynamic-super.c,
11012 src/vm/jit/intrp/java.vmg,
11013 src/vm/jit/asmpart.h,
11014 src/vm/jit/x86_64/md.c,
11015 src/vm/jit/x86_64/codegen.c,
11016 src/vm/jit/x86_64/asmpart.S,
11017 src/vm/jit/profile/profile.c,
11018 src/vm/jit/stacktrace.c,
11020 src/vm/jit/stacktrace.h,
11021 src/vm/jit/codegen-common.c,
11024 src/vm/builtintable.inc,
11026 src/vm/exceptions.c,
11029 src/vm/exceptions.h,
11031 src/vm/hashtable.c,
11033 src/cacao/Makefile.am,
11034 src/native/tools/Makefile.am,
11035 src/native/tools/gennativetable.c,
11037 src/native/vm/VMObject.c,
11038 src/native/vm/VMThread.c,
11040 src/native/native.c,
11041 src/native/jvmti/cacaodbg.c,
11042 src/native/jvmti/cacaodbg.h,
11043 src/native/jvmti/jvmti.c,
11045 src/toolbox/logging.c,
11051 src/threads/native/threads.h,
11052 src/threads/native/threads.c,
11053 src/threads/Makefile.am,
11054 src/cacaoh/cacaoh.c,
11055 src/cacaoh/headers.h,
11056 src/cacaoh/Makefile.am,
11057 src/cacaoh/headers.c,
11058 configure.ac: Green threads removal, USE_THREADS renamed to
11059 ENABLE_THREADS, NATIVE_THREADS define removed.
11061 2006-05-15 13:13 twisti
11063 * src/vm/jit/asmpart.h (calljava_xhandler2): Not required anymore.
11065 2006-05-15 12:23 twisti
11067 * src/threads/native/threads.c (sem_init, sem_post, sem_wait)
11068 (sem_destroy): Added a pthread implementation (taken from Boehm-GC)
11069 for Darwin, as Darwin does not have an implementation for these
11071 * src/threads/native/threads.h (sem_t): Added structure for Darwin.
11072 * src/threads/native/lock.h (semaphore.h): Removed.
11074 2006-05-15 12:14 edwin
11076 * src/threads/native/lock.c (THIN_UNLOCKED): Abstracted out the thin
11077 unlocked state so we can toggle the shape bit meaning if we want.
11078 (lock_pre_compute_thinlock): Likewise.
11079 (lock_get_initial_lock_word): Likewise.
11080 (lock_monitor_enter): Made void. Might save an instruction here and
11082 (lock_monitor_wait): lock_monitor_enter no longer returns the lock
11083 record. Assert that it is still the same fat lock (it must be).
11085 2006-05-15 11:34 edwin
11087 * src/threads/native/lock.c: Added reference to thin lock paper and
11088 explained the lockword format.
11090 2006-05-14 22:41 edwin
11092 * src/threads/native/lock.c: Thin lock implementation.
11094 * src/threads/native/threads.h (threadobject): Added thinlock field.
11095 (Authors, Changes): Moved myself to Authors because of rewrite.
11097 * src/threads/native/threads.c (threads_preinit): Init index and
11098 thinlock field of mainthreadobj here. (Needed early.)
11099 (threads_table_add): Init pre-computed thinlock field here.
11101 * src/threads/native/lock.h (lock_pre_compute_thinlock): New function.
11103 2006-05-14 22:36 edwin
11105 * src/threads/native/lock.c (lock_record_free_pools): Assert that
11106 this function is not called. It does not match the new way lock
11107 records are handled. We must find another way to free them.
11109 * src/threads/native/threads.c (threads_init): Do not call
11110 lock_record_free_pools.
11111 (threads_table_add): Removed debug code.
11112 (threads_startup_thread): Likewise.
11114 2006-05-14 15:34 edwin
11116 * src/threads/native/threads.c (threads_table_init): New function.
11117 (threads_table_add): New function.
11118 (threads_table_remove): New function.
11119 (threads_table_dump): New function.
11120 (threads_table): New global variable.
11121 (threads_preinit): Call threads_table_init.
11122 Call threads_table_add to add main thread.
11123 (threads_init_threadobject): Initialize index to 0.
11124 (threads_startup_thread): Call threads_table_add to add the thread
11125 to the table, and threads_table_remove to remove if afterwards.
11127 2006-05-14 14:02 edwin
11129 * src/threads/native/threads.h, src/threads/native/threads.c
11130 (nativethread): Removed. This struct is now inlined in threadobject.
11131 (threads_table_entry_t): New type.
11132 (threads_table_t): New type.
11133 Some further cleanup.
11135 * src/vm/builtin.h (THREADINFO): Becomes THREADOBJECT.
11137 * src/vm/jit/intrp/intrp.h (THREADINFO): Becomes THREADOBJECT.
11139 * src/vm/jit/stacktrace.c (_stackframeinfo): This is now directly
11140 a field of threadobject.
11142 * src/vm/jit/stacktrace.h (THREADINFO): Becomes THREADOBJECT.
11144 * src/native/jni.h (THREADINFO): Becomes THREADOBJECT.
11146 * src/native/jvmti/jvmti.c (isSleeping): Renamed to sleeping.
11148 2006-05-14 12:22 edwin
11150 * src/threads/native/lock.c, src/threads/native/lock.h: Rewritten
11151 as a very basic fat lock implementation.
11153 * src/vm/jit/powerpc64/arch.h (USE_MD_THREAD_STUFF): Renamed to
11154 USE_FAKE_ATOMIC_INSTRUCTIONS.
11156 * src/vm/jit/intrp/engine.c (USE_MD_THREAD_STUFF): Renamed to
11157 USE_FAKE_ATOMIC_INSTRUCTIONS.
11159 * src/threads/native/threads.c (USE_MD_THREAD_STUFF): Renamed to
11160 USE_FAKE_ATOMIC_INSTRUCTIONS.
11161 (ee.lrpool): Renamed to ee.lockrecordpools.
11163 2006-05-14 12:15 edwin
11165 * src/threads/native/threads.c (threads_calc_absolute_time): Optimize
11166 waiting for the maximum 64-bit number of milliseconds to an unbounded
11167 wait. This also avoids an overflow problem we seem to have with timed
11170 2006-05-13 23:25 edwin
11172 * src/threads/native/lock.c (lock_init_thread_lock_record_pool):
11173 Renamed to lock_init_execution_env. Cleanup and Comments.
11175 * src/threads/native/lock.h (lock_init_thread_lock_record_pool):
11176 Renamed to lock_init_execution_env.
11178 * src/threads/native/threads.c (lock_init_thread_lock_record_pool):
11179 Renamed to lock_init_execution_env.
11181 2006-05-13 23:10 edwin
11183 * src/threads/native/threads.c, src/threads/native/threads.c: Further
11184 cleanup. Still no functional changes.
11185 Renamed external symbols are listed below.
11187 * src/threads/native/critical.h, src/threads/native/critical.c:
11190 * src/threads/native/lock.h: Cleanup.
11192 * src/vm/jit/profile/profile.c (thread_sleep): Renamed to
11195 * src/vm/vm.c (joinAllThreads): Renamed to threads_join_all_threads.
11197 * src/native/jni.c (thread_getself): Renamed to
11198 threads_get_current_threadobject.
11200 * src/native/vm/VMThread.c (thread): Typedef `thread` has been
11202 (interruptThread): Renamed to threads_interrupt_thread.
11203 (isInterruptedThread): Renamed to threads_thread_has_been_interrupted.
11204 (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
11205 (yieldThread): Renamed to threads_yield.
11206 (interruptedThread): Renamed to
11207 threads_check_if_interrupted_and_reset.
11209 * src/native/jvmti/cacaodbg.c (thread_getself): Renamed to
11210 threads_get_current_threadobject.
11211 (setthreadobject): Renamed to threads_set_current_threadobject.
11213 * src/native/jvmti/jvmti.c (setthreadobject): Renamed to
11214 threads_set_current_threadobject.
11216 * src/threads/green/threads.h (yieldThread): Renamed to threads_yield.
11217 (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
11219 * src/threads/green/threads.c (yieldThread): Renamed to threads_yield.
11220 (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
11222 2006-05-12 16:49 edwin
11224 * src/threads/native/threads.c: The Big Thread Cleanup. No functional
11226 only code motion, renaming, documenting. This file has been split into
11227 threads.c, lock.c, and critical.c.
11228 Externally used symbols that were renamed are listed below. Static
11230 renames are not listed.
11232 * src/threads/native/threads.h: The Big Thread Cleanup. No functional
11234 only code motion, renaming, documenting. This file has been split into
11235 threads.h, lock.h, and critical.h.
11237 * src/cacaoh/cacaoh.c (initLocks): Renamed to lock_init (green
11240 * src/cacaoh/headers.c (threadcritnode): Renamed to
11241 critical_section_node_t.
11243 * src/mm/memory.c (initObjectLock): Renamed to lock_init_object_lock.
11245 * src/native/jvmti/jvmti.c (lockRecordPool): Renamed to
11246 lock_record_pool_t.
11247 (pool_lock): Renamed to lock_global_pool_lock.
11248 (global_pool): Renamed to lock_global_pool.
11249 (ownerThread): Renamed to owner.
11250 (threadHoldsLock): Renamed to lock_does_thread_hold_lock.
11251 (monitorExit): Renamed to lock_monitor_exit.
11252 (wait_cond_for_object): Renamed to lock_wait_for_object.
11253 (signal_cond_for_object): Renamed to lock_notify_object.
11254 (broadcast_cond_for_object): Renamed to lock_notify_all_object.
11256 * src/native/tools/gennativetable.c (initLocks): Renamed to lock_init
11259 * src/native/vm/VMObject.c (initObjectLock): Renamed to
11260 lock_init_object_lock.
11261 (wait_cond_for_object): Renamed to lock_wait_for_object.
11262 (signal_cond_for_object): Renamed to lock_notify_object.
11263 (broadcast_cond_for_object): Renamed to lock_notify_all_object.
11265 * src/native/vm/VMThread.c (threadHoldsLock): Renamed to
11266 lock_does_thread_hold_lock.
11268 * src/threads/green/locks.c, src/threads/green/locks.h
11269 (initLocks): Renamed to lock_init.
11270 (wait_cond_for_object): Renamed to lock_wait_for_object.
11271 (signal_cond_for_object): Renamed to lock_notify_object.
11272 (broadcast_cond_for_object): Renamed to lock_notify_all_object.
11273 (internal_broadcast_cond_for_object): Renamed to
11274 internal_lock_notify_all_object.
11276 * src/threads/green/threads.c (initLocks): Renamed to lock_init.
11277 (internal_broadcast_cond_for_object): Renamed to
11278 internal_lock_notify_all_object.
11280 * src/threads/native/Makefile.am (lock.c, lock.h): Added new files.
11281 (critical.c, critical.h): Added new files.
11282 (Changes): Added my name.
11284 * src/threads/native/critical.c: New file.
11286 * src/threads/native/critical.h: New file.
11288 * src/threads/native/lock.c: New file.
11290 * src/threads/native/lock.h: New file.
11292 * src/toolbox/avl.c (initObjectLock): Renamed to
11293 lock_init_object_lock.
11295 * src/vm/builtin.c (initObjectLock): Renamed to lock_init_object_lock.
11296 (monitorEnter): Renamed to lock_monitor_enter.
11297 (monitorExit): Renamed to lock_monitor_exit.
11299 * src/vm/class.c (initObjectLock): Renamed to lock_init_object_lock.
11301 * src/vm/classcache.c (initObjectLock): Likewise.
11303 * src/vm/finalizer.c (initObjectLock): Likewise.
11304 (wait_cond_for_object): Renamed to lock_wait_for_object.
11305 (signal_cond_for_object): Renamed to lock_notify_object.
11307 * src/vm/global.h (monitorLockRecord): Renamed to lock_record_t.
11309 * src/vm/hashtable.c (initObjectLock): Renamed to
11310 lock_init_object_lock.
11312 * src/vm/jit/asmpart.h: Added #include "threads/native/critical.h"
11313 (threadcritnode): Renamed to critical_section_node_t.
11315 * src/vm/jit/code.c: Comment changed.
11317 * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h
11318 (threadcritnode): Renamed to critical_section_node_t.
11319 (threadcritnodetemp): Renamed to codegen_critical_section_t.
11321 * src/vm/jit/alpha/codegen.c (get_dummyLR): Renamed to
11322 lock_get_initial_lock_word.
11324 * src/vm/jit/alpha/freebsd/md-os.c (thread_checkcritical): Renamed to
11325 critical_find_restart_point.
11326 * src/vm/jit/alpha/linux/md-os.c (thread_checkcritical): Renamed to
11327 critical_find_restart_point.
11329 * src/vm/jit/i386/codegen.c (get_dummyLR): Renamed to
11330 lock_get_initial_lock_word.
11332 * src/vm/jit/i386/freebsd/md-os.c (thread_checkcritical): Renamed to
11333 critical_find_restart_point.
11334 * src/vm/jit/i386/linux/md-os.c (thread_checkcritical): Renamed to
11335 critical_find_restart_point.
11337 * src/vm/jit/intrp/dynamic-super.c (initObjectLock): Renamed to
11338 lock_init_object_lock.
11340 * src/vm/jit/mips/codegen.c (get_dummyLR): Renamed to
11341 lock_get_initial_lock_word.
11343 * src/vm/jit/mips/irix/md-os.c (thread_checkcritical): Renamed to
11344 critical_find_restart_point.
11345 * src/vm/jit/mips/linux/md-os.c (thread_checkcritical): Renamed to
11346 critical_find_restart_point.
11348 * src/vm/jit/powerpc/codegen.c (get_dummyLR): Renamed to
11349 lock_get_initial_lock_word.
11351 * src/vm/jit/profile/profile.c (wait_cond_for_object): Renamed to
11352 lock_wait_for_object.
11354 * src/vm/jit/stack.c (initObjectLock): Renamed to
11355 lock_init_object_lock.
11357 * src/vm/jit/x86_64/codegen.c (get_dummyLR): Renamed to
11358 lock_get_initial_lock_word.
11360 * src/vm/jit/x86_64/md.c (thread_checkcritical): Renamed to
11361 critical_find_restart_point.
11363 * src/vm/loader.c (initObjectLock): Renamed to
11364 lock_init_object_lock.
11365 (initLocks): Renamed to lock_init (green threads).
11367 * src/vm/string.c (initObjectLock): Renamed to
11368 lock_init_object_lock.
11370 * src/vm/vm.c (initLocks): Renamed to lock_init (green threads).
11372 2006-05-12 14:32 twisti
11374 * src/vm/jit/emit.h: Replaced __POWERPC__ #ifdef with
11375 SIZEOF_VOID_P == 4.
11377 2006-05-11 14:02 twisti
11379 * src/native/vm/VMClassLoader.c (nativeGetResources): Bugfix: utf_new
11382 2006-05-11 13:43 twisti
11384 * src/vm/jit/mips/codegen.c: Changed mcodeptr from u4* to u1*.
11385 * src/vm/jit/mips/codegen.h: Likewise.
11387 2006-05-11 13:09 twisti
11389 * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Use new
11390 jit_asm_compile method.
11392 2006-05-11 12:48 edwin
11394 * src/threads/native/threads.c (monitorExit): Added an assert to
11395 check that no existing waiter is overwritten by the suspicious
11398 2006-05-11 12:36 edwin
11400 * src/lib/vm/reference/java/lang/VMClassLoader.java
11401 (getBootPackages): Merged patch to VMClassLoader.java of the
11402 reference implementation. getBootPackages now works in the
11403 presence of endorsed jars.
11405 2006-05-11 12:18 twisti
11407 * src/native/jni.c (DeleteGlobalRef): Bugfix: handle the removal of
11408 the first entry in the chain properly.
11410 2006-05-11 09:18 twisti
11412 * src/vm/hashtable.c (threads/native/threads.h): Added.
11413 (hashtable_create): Initialize lock object.
11414 (hashtable_resize): New function.
11415 (hashtable_free): Likewise.
11416 * src/vm/hashtable.h (hashtable): Added header pointer.
11417 (hashtable_resize): Added.
11418 (hashtable_free): Likewise.
11420 * src/vm/vm.c (vm_create): Call jni_init before threads_init.
11422 * src/vm/utf8.c (lock_hashtable_utf): Removed.
11423 (utf8_init): Allocate hashtable on heap.
11424 (utf_new): Use new hashtable stuff.
11426 * src/native/native.c (native_init): Use new hashtable stuff.
11427 (native_hashtable_library_add): Likewise.
11429 * src/native/jni.c (jni_init): Removed Java IdentityHashMap stuff and
11430 create a hashtable.
11431 (NewGlobalRef): Implemented with native hashtable.
11432 (DeleteGlobalRef): Likewise.
11434 * src/native/jni.h (hashtable_global_ref_entry): Added.
11436 * src/vm/string.c (literalstring_u2): Removed check for
11437 class_java_lang_String, we have an assert there.
11439 2006-05-10 16:14 twisti
11441 * src/vm/jit/alpha/codegen.c: Changed mcodeptr from u4* to u1*.
11442 * src/vm/jit/alpha/codegen.h: Likewise.
11444 2006-05-10 15:51 twisti
11446 * src/vm/jit/codegen-common.h (codegendata): Use an u1* mcodeptr for
11447 all architectures. This is necessary for the interpreter.
11448 * src/vm/jit/codegen-common.c (codegen_setup): Removed #ifdef.
11449 (codegen_increase): Likewise.
11451 * src/vm/jit/powerpc/codegen.c: Changed mcodeptr from u4* to u1*.
11452 * src/vm/jit/powerpc/codegen.h: Likewise.
11454 2006-05-10 15:09 edwin
11456 * src/vm/jit/inline/inline.c (inline_write_exception_handlers):
11457 Correct cast for abused instruction->target.
11459 2006-05-10 13:12 twisti
11461 * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use new
11462 jit_asm_compile method.
11464 2006-05-08 11:09 twisti
11466 * configure.ac (AC_CONFIG_FILES): Added src/scripts/keytool.
11467 * src/scripts/Makefile.am (bin_SCRIPTS): Added keytool.
11468 * src/scripts/.cvsignore: Likewise.
11469 * src/scripts/keytool.in: New file.
11471 2006-05-08 11:05 twisti
11473 * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Handle argument
11474 passing properly for SysV ABIs. Darwin is left to do.
11476 2006-05-08 11:03 twisti
11478 * tests/regression/native/testarguments.java: Added new test.
11479 * tests/regression/native/testarguments.c: Likewise.
11480 * tests/regression/native/testarguments.output: Likewise.
11482 2006-05-06 18:29 motse
11484 * src/vm/vm.c (vm_create): make agentlib/agentpath work
11485 * src/cacao/cacao.c (main): changes for jvmti/jdwp startup due to
11486 removal of jdwp process
11487 * src/native/jni.c (JNI_CreateJavaVM): change order vm_create and
11488 initialization of _Jv_jvm due to jvmti agent support.
11489 * src/native/vm/VMVirtualMachine.c: change name of jvmtienv and
11490 bugfixes of Samuel Vinson
11491 * src/native/include/Makefile.am: add VMMethod.h
11492 * src/native/jvmti/Makefile.am: removal of cacaodbgserver
11493 * src/native/jvmti/jvmti.c: remove jdwp process and convert to thread
11494 * src/native/jvmti/cacaodbg.h: idem
11495 * src/native/jvmti/jvmti.h: idem
11496 * src/native/jvmti/dbg.h: idem
11497 * src/native/jvmti/cacaodbg.c: idem
11498 * src/native/jvmti/dbg.c: idem
11499 * src/native/jvmti/cacaodbgserver.c: change to a autonomous program
11500 and removal of jdwp thread.
11501 * src/native/jvmti/VMjdwp.c (VMInit): different invocation due to
11502 removal of jdwp thread
11503 * src/native/jvmti/VMjdwp.h: export jvmti environment and event
11505 * src/native/vm/VMMethod.c: initial/dummy implementation of VMMetod
11508 2006-05-06 14:13 edwin
11510 * src/native/vm/VMRuntime.c
11511 (Java_java_lang_VMRuntime_mapLibraryName): Use new utf_ functions.
11512 (Changes): Added my name.
11513 (vim boilerplate): Added.
11515 2006-05-06 10:10 edwin
11517 * src/native/vm/VMClassLoader.c
11518 (Java_java_lang_VMClassLoader_nativeGetResources): Really create a
11519 new utf string to search for if the trailing .class is stripped.
11521 2006-05-06 00:16 edwin
11523 * src/vm/classcache.c (classcache_merge_class_entries):
11524 Use utf_cat_classname.
11525 (classcache_store): Likewise.
11526 (classcache_store_defined): Likewise.
11528 2006-05-06 00:11 edwin
11530 * src/native/vm/VMClassLoader.c
11531 (Java_java_lang_VMClassLoader_nativeGetResources): Fixed and cleaned
11532 up. Skip leading '/'. Remove '.class' only at end. Free char buffer.
11533 Use correct utf_ functions. Check for exceptions.
11535 * src/vm/zip.c (zip_find): Documented.
11537 2006-05-05 19:31 edwin
11539 * src/vm/utf8.h: Moved #include "config.h" up front.
11541 2006-05-05 19:22 edwin
11543 * src/toolbox/logging.c (Changes): Added my name.
11544 (vim boilerplate): Added.
11546 2006-05-05 19:21 edwin
11548 * src/toolbox/logging.c (log_message_utf): Use new utf_ functions.
11549 (log_message_class_message_class): Likewise.
11550 (log_message_method): Likewise.
11552 2006-05-05 19:13 edwin
11554 * src/vm/builtin.c (builtin_throw_exception): Use new utf_ functions.
11555 (builtin_trace_exception): Likewise.
11556 (builtin_trace_args): Likewise.
11557 (builtin_displaymethodstop): Likewise.
11559 2006-05-05 18:58 edwin
11561 * src/vm/suck.c (suck_start): Use new utf_ functions.
11563 2006-05-05 18:49 edwin
11565 * src/vm/utf8.h, src/vm/utf8.c: Fixed header.
11567 2006-05-05 18:14 edwin
11569 * src/vm/loader.c (load_class_from_classbuffer): Use new
11572 2006-05-05 18:08 edwin
11574 * src/vm/resolve.c (resolve_class_from_name): Use new utf_ functions.
11575 (resolve_subtype_check): Likewise.
11576 (resolve_field_verifier_checks): Likewise.
11577 (resolve_method_verifier_checks): Likewise.
11579 2006-05-05 17:34 edwin
11581 * src/vm/utf8.h, src/vm/utf8.c: The Big utf_* Renaming.
11582 The purpose of this change is to give the utf_* functions names
11583 that make clear what these functions _really_ have been doing
11584 all the time. I'm sure most callers would be surprised if they
11585 knew. All call sites should be reviewed!
11586 (utf_display): Renamed to utf_display_printable_ascii.
11587 (utf_display_classname): Renamed to
11588 utf_display_printable_ascii_classname.
11589 (utf_sprint): Renamed to utf_sprint_convert_to_latin1.
11590 (utf_sprint_classname): Renamed to
11591 utf_sprint_convert_to_latin1_classname.
11592 (utf_strcat): Renamed to utf_strcat_convert_to_latin1.
11593 (utf_strcat_classname): Renamed to
11594 utf_strcat_convert_to_latin1_classname.
11595 (utf_fprint): Renamed to utf_fprint_printable_ascii.
11596 (utf_fprint_classname): Renamed to
11597 utf_fprint_printable_ascii_classname.
11599 * src/vm/class.c, src/vm/suck.c, src/vm/loader.c, src/vm/builtin.c,
11600 src/vm/descriptor.c, src/vm/resolve.c, src/vm/method.c,
11601 src/vm/classcache.c, src/vm/jit/stack.c, src/vm/jit/verify/typeinfo.c,
11602 src/vm/jit/allocator/lsra.c, src/vm/jit/intrp/disass.c,
11603 src/vm/jit/stacktrace.c, src/vm/jit/codegen-common.c,
11604 src/vm/exceptions.c, src/vm/field.c, src/cacao/cacao.c,
11605 src/native/tools/gennativetable.c, src/native/vm/VMClassLoader.c,
11606 src/native/vm/VMRuntime.c, src/native/native.c, src/toolbox/logging.c,
11607 src/threads/green/threads.c, src/threads/native/threads.c,
11608 src/cacaoh/headers.c: The Big utf_ Renaming. All call sites of the
11609 renamed functions should be reviewed! Calls outside debugging code
11610 are probably incorrect and should use one of the new utf_ functions
11611 that copies byte-for-byte.
11613 2006-05-05 17:09 edwin
11615 * src/vm/exceptions.c (new_exception): Documented.
11616 (new_exception_message): Documented. Use new_exception_javastring.
11617 (new_exception_throwable): Documented.
11618 (new_exception_utfmessage): Documented. Use new_exception_javastring.
11619 (new_exception_javastring): Documented.
11620 (new_exception_int): Documented.
11621 (new_classformaterror): Documented. Use new byte-for-byte UTF-8
11623 (exceptions_throw_classformaterror): Documented.
11624 (new_classnotfoundexception): Documented. Check return value of
11626 (new_noclassdeffounderror): Documented. Check return value of
11628 (new_internalerror): Documented.
11629 (exceptions_new_linkageerror): Documented. Use new byte-for-byte UTF-8
11631 (exceptions_new_nosuchmethoderror): Documented. Use new byte-for-byte
11634 (exceptions_throw_nosuchmethoderror): Documented.
11635 (new_unsupportedclassversionerror): Documented. Use new byte-for-byte
11638 (new_verifyerror): Likewise.
11639 (exceptions_throw_verifyerror_for_stack): Likewise.
11640 (exceptions_handle_exception): Documented.
11642 2006-05-05 16:51 edwin
11644 * src/vm/utf8.c, src/vm/utf8.h (utf_copy): New function.
11645 (utf_cat): New function.
11646 (utf_copy_classname): New function.
11647 (utf_cat_classname): New function.
11648 These new functions copy the UTF-8 content byte-for-byte and thus
11649 do not lead to losses by conversion like the utf_strcpy, etc.
11652 2006-05-05 15:26 edwin
11654 * src/vm/string.c, src/vm/stringlocal.h, src/vm/utf8.c, src/vm/utf8.h
11655 (Changes): Added my name.
11656 (vim boilerplate): Added.
11658 2006-05-05 15:14 edwin
11660 * src/vm/string.c, src/vm/stringlocal.h
11661 (javastring_new_from_utf_buffer): New function.
11662 (javastring_new_from_utf_string): New function.
11664 * src/vm/utf8.c (utf_get_number_of_u2s_for_buffer): New function.
11665 (utf_get_number_of_u2s): Documented that this function may throw
11668 * src/vm/utf8.h (utf_get_number_of_u2s_for_buffer): New function.
11670 2006-05-05 14:36 edwin
11672 * src/vm/string.c, src/vm/stringlocal.h (java_string_new_char):
11673 Renamed to `java_string_new_from_ascii` to make more clear what this
11674 function does. It is wrong to use this function to create a
11675 java.lang.String from a buffer of UTF-8 characters!
11677 * src/vm/finalizer.c (finalizer_start_thread): Legitimate use.
11678 * src/vm/jit/profile/profile.c (profile_start_thread): Likewise.
11680 * src/vm/exceptions.c
11681 (exceptions_new_linkageerror): Definitely INCORRECT use.
11682 (exceptions_new_nosuchmethoderror): Likewise.
11683 * src/native/vm/VMRuntime.c
11684 (Java_java_lang_VMRuntime_mapLibraryName): Likewise.
11686 * src/vm/exceptions.c (new_exception_message): Probably INCORRECT use.
11687 * src/native/jni.c (DefineClass): Likewise.
11688 (ThrowNew): Likewise.
11689 * src/native/vm/VMClassLoader.c
11690 (Java_java_lang_VMClassLoader_nativeGetResources): Likewise.
11692 * src/vm/properties.c (properties_system_add): Needs review.
11693 * src/cacao/cacao.c (getmainclassnamefromjar): Likewise.
11694 * src/native/jvmti/cacaodbg.c (setup_jdwp_thread): Likewise.
11695 * src/native/jvmti/jvmti.c (CreateRawMonitor, GetSystemProperty)
11696 (SetSystemProperty): Likewise.
11698 2006-05-05 13:56 edwin
11700 * src/vm/utf8.c, src/vm/utf8.h (utf_bytes): New function.
11701 Use this function to query the number of octets of a utf string.
11702 This function will become the correct replacement for the old
11703 utf_strlen in most places. The calling code will have to be
11704 reviewed for that, however, and it will also require fixing
11705 utf_strcat, utf_sprint, and so on, to do the right thing.
11707 2006-05-05 13:48 edwin
11709 * src/vm/utf8.c, src/vm/utf8.h (utf_strlen): Renamed to
11710 `utf_get_number_of_u2s` in order to reflect what this function
11711 _really_ does. A long name was chosen intentionally to make it obvious
11712 that this is _not_ the function to use as the normal strlen. Most
11713 current uses of this function are invalid, as it must only be used
11714 when the utf string will be **converted to UTF-16**.
11716 * src/vm/suck.c (suck_start): Renamed utf_strlen. RECONSIDER USE!
11717 * src/vm/loader.c (load_class_from_classbuffer): Likewise.
11718 * src/vm/builtin.c (various functions): Likewise.
11719 * src/vm/resolve.c (various functions): Likewise.
11720 * src/vm/exceptions.c (various functions): Likewise.
11721 * src/native/vm/VMClassLoader.c
11722 (Java_java_lang_VMClassLoader_nativeGetResources): Likewise.
11723 * src/native/vm/VMRuntime.c
11724 (Java_java_lang_VMRuntime_mapLibraryName): Likewise.
11725 * src/native/native.c (native_resolve_function): Likewise.
11726 * src/toolbox/logging.c (various functions): Likewise.
11727 * src/cacaoh/headers.c (various functions): Likewise.
11729 * src/vm/string.c (javastring_new): Legitimate use.
11730 (javastring_new_slash_to_dot): Likewise.
11731 (literalstring_new) Likewise.
11733 2006-05-03 23:04 edwin
11735 * src/threads/native/threads.c (wakeWaiters): Renamed
11736 to threads_wake_waiters. Documented.
11738 2006-05-03 22:58 edwin
11740 * src/threads/native/threads.c (handleWaiter): Renamed arguments.
11742 (monitorEnter): Documented.
11743 (notifyOneOrAll): Cleaned up.
11745 2006-05-03 22:46 edwin
11747 * src/threads/native/threads.c (setPriority): Renamed to
11748 threads_set_thread_priority.
11749 (removeFromWaiters): Renamed to threads_remove_waiter.
11750 (timespec_less): Renamed to threads_timespec_earlier.
11751 (timeIsEarlier): Renamed to threads_current_time_is_earlier_than.
11752 (waitWithTimeout): Renamed to threads_wait_with_timeout. Removed
11755 (thread_sleep): There is no need to create a lock record for
11756 calling threads_wait_with_timeout, as that does not use the
11757 lock record anyway (formerly waitWithTimeout).
11758 (various function): Lots of documentation and cleanup.
11760 2006-05-02 16:16 twisti
11762 * src/vm/jit/stack.c (stack_analyse): Check for val.a == NULL on
11763 SUPPORT_CONST_STORE_ZERO_ONLY architectures for ICMD_PUTSTATIC and
11766 2006-05-01 23:14 edwin
11768 * src/threads/native/threads.c: Cleanup and documentation.
11770 2006-05-01 21:40 edwin
11772 * src/threads/native/threads.h (threads_sem_init): New function.
11773 (threads_sem_post): New function.
11775 * src/threads/native/threads.c (threads_sem_init): New function.
11776 (threads_sem_wait): Added assertion.
11777 (threads_sem_post): New function.
11778 (various function): Use threads_sem_init and threads_sem_post.
11780 * src/native/jvmti/cacaodbg.c (getworkingdatalock): Use
11782 (cacaodbgfork): Use threads_sem_init.
11784 * src/native/jvmti/cacaodbgserver.c (contchild, waitloop).
11785 Use threads_sem_post.
11787 2006-05-01 12:40 edwin
11789 * src/threads/native/threads.c (threads_sem_wait): New function.
11790 This function performs a non-interruptible sem_wait. This fixes
11791 segfaults and deadlocks that resulted from sem_wait calls returning
11793 (cast_stopworld): Use threads_sem_wait.
11794 (threads_startup_thread): Likewise.
11795 (threads_start_thread): Likewise.
11796 (queueOnLockRecord): Likewise.
11798 * src/threads/native/threads.h (threads_sem_wait): New function.
11800 * src/native/jvmti/cacaodbg.c (msgqsendevent): Use threads_sem_wait
11801 instead of sem_wait.
11803 * src/native/jvmti/cacaodbgserver.c (contchild, waitloop): Use
11804 threads_sem_wait instead of sem_wait.
11806 2006-04-30 17:18 twisti
11808 * configure.ac (AC_CONFIG_FILES): Added src/scripts/jarsigner.
11809 * src/scripts/Makefile.am (bin_SCRIPTS): Added jarsigner.
11810 * src/scripts/.cvsignore: Likewise.
11811 * src/scripts/jarsigner.in: New file.
11813 2006-04-30 16:17 edwin
11815 * src/vm/resolve.c (resolve_method_verifier_checks)
11816 (constrain_unresolved_method): Use ICMD_ACONST_CLASSREF_OR_CLASSINFO.
11818 * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
11819 src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c,
11820 src/vm/jit/intrp/codegen.c, src/vm/jit/x86_64/codegen.c
11821 (codegen): Changes for new ACONST format.
11823 * src/vm/jit/stack.c (stack_analyse): Changes for new ACONST format.
11825 * src/vm/jit/verify/typecheck.c (verify_invocation): Use the new
11827 (verify_builtin, verify_multianewarray, verify_basic_block): Changes
11831 * src/vm/jit/verify/typeinfo.h (TYPEINFO_INIT_JAVA_LANG_CLASS): Take
11832 a classref_or_classinfo as argument.
11834 * src/vm/jit/verify/typeinfo.c (typeinfo_init_class): Typo fixed.
11835 (typeinfo_print): Changes for new ACONST format.
11837 * src/vm/jit/inline/inline.c (inline_write_exception_handlers):
11838 Changes for new ACONST format.
11840 * src/vm/jit/parse.c (parse): Changes for new ACONST format.
11842 * src/vm/jit/parse.h (LOADCONST_A_CLASS): Removed.
11843 (LOADCONST_A_BUILTIN): Changes for new ACONST format.
11845 * src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED,
11846 INSTRUCTION_IS_UNRESOLVED):
11847 Only check least significant bit of target (provisory flag).
11848 (ICMD_ACONST_IS_CLASS, ICMD_ACONST_CLASSREF_OR_CLASSINFO)
11849 (ICMD_ACONST_RESOLVED_CLASSINFO, ICMD_ACONST_UNRESOLVED_CLASSREF):
11852 2006-04-30 15:58 edwin
11854 * src/vm/jit/loop/tracing.c (tracing): Adapted to new format of
11857 * src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates)
11858 (_test_lifetimes): Likewise.
11860 2006-04-28 12:25 edwin
11862 * src/vm/jit/parse.c (parse): Added a comment.
11864 2006-04-28 12:24 twisti
11866 * src/vm/jit/stack.c (stack_analyse): We need to split AASTORECONST
11867 and PUT{STATIC,FIELD}CONST as they can store different values. I hope
11868 the checks are correct now (until we get our new instruction
11869 format). Edwin: Hint! Hint! Hint!
11870 (stack_show_icmd): Again a smaller change.
11872 2006-04-28 11:50 twisti
11874 * src/vm/jit/stack.c (stack_analyse): Check for
11875 {AASTORE,PUTSTATIC,PUTFIELD}CONST if the instruction is resolved. We
11876 don't have a patcher for that case.
11877 (stack_show_icmd): Smaller change.
11879 2006-04-28 11:37 twisti
11881 * tests/regression/codepatching/test.java: Added new test.
11882 * tests/regression/codepatching/Makefile.am: Files updated.
11884 * tests/regression/codepatching/putfieldconstIF.java,
11885 tests/regression/codepatching/putfieldconstJDL.java: Removed.
11887 * tests/regression/codepatching/putstaticconstJ.java,
11888 tests/regression/codepatching/putstaticconstL.java,
11889 tests/regression/codepatching/putfieldconstD.java,
11890 tests/regression/codepatching/putfieldconstF.java,
11891 tests/regression/codepatching/putstaticconstC.java,
11892 tests/regression/codepatching/putfieldconstJ.java,
11893 tests/regression/codepatching/putfieldconstL.java,
11894 tests/regression/codepatching/putstaticconstI.java,
11895 tests/regression/codepatching/putfieldconstC.java,
11896 tests/regression/codepatching/putstaticconstD.java,
11897 tests/regression/codepatching/putfieldconstI.java,
11898 tests/regression/codepatching/putstaticconstF.java: New file.
11900 2006-04-28 11:24 edwin
11902 * src/vm/resolve.c (resolve_method_lazy): Turn INVOKEVIRTUAL into
11903 INVOKESPECIAL for monomorphic calls.
11905 2006-04-28 00:46 edwin
11907 * src/vm/jit/intrp/asmpart.c (intrp_asm_vm_call_method_int): Fix
11909 errors. TWISTI, please review these changes.
11911 2006-04-28 00:31 edwin
11913 * regression/codepatching/test.java: Added test for AASTORECONST
11914 with unresolved class constant. Currently exposes a bug when
11916 compiled with -target 1.5.
11918 * regression/codepatching/aastoreconstClass.java: New file.
11920 2006-04-27 23:03 twisti
11922 * src/vm/jit/stacktrace.h (STACKFRAMEINFO): Added parenthesis.
11923 * src/vm/global.h (java_objectheader): Changed type of monitorPtr to
11926 * src/vm/vm.h (vm_arg): Added union.
11927 * src/vm/vm.c (vm_vmargs_from_valist): Use union of vm_arg's data.
11928 * src/native/jni.c (_Jv_jni_vmargs_from_objectarray): Likewise.
11930 * src/threads/native/threads.h (nativethread): Changed type of
11931 _stackframeinfo to stackframeinfo*.
11932 * src/threads/native/threads.c (monitorEnter): Cast compare_and_swap
11933 return value correctly.
11935 2006-04-27 12:33 twisti
11937 * src/vm/jit/x86_64/emit.c: Changed x86_64 function prefix to
11938 emit. And some other stuff too.
11939 * src/vm/jit/x86_64/md-emit.h: Likewise.
11940 * src/vm/jit/x86_64/codegen.c: Likewise.
11941 * src/vm/jit/x86_64/codegen.h: Likewise.
11943 2006-04-27 11:05 twisti
11945 * src/native/vm/VMSystemProperties.c (preInit): Append "/jre" to
11946 java.home property, as all JDKs and JREs do that. Fixed a problem with
11947 jonas testsuite. General cleanup.
11949 2006-04-27 10:32 twisti
11951 * src/vm/jit/powerpc/darwin/md-asm.h (jit_asm_compile): Renamed from
11953 * src/vm/jit/powerpc/asmpart.S: Likewise.
11955 2006-04-26 15:44 edwin
11957 * src/vm/jit/stacktrace.c (stacktrace_getClassContext): Reverted the
11958 hack that removes the first entry if this function is called by
11959 java.lang.SecurityManager. This (undocumented) hack probably was done
11960 to solve a problem that no longer exists.
11962 2006-04-26 14:09 twisti
11964 * src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Removed
11965 emitfuncs.c, emitfuncs.h and added emit.c, md-emit.h.
11967 * src/vm/jit/i386/emit.c (emit_load_s1): New method.
11968 (emit_load_s2): Likewise.
11969 (emit_load_s3): Likewise.
11970 (emit_store): Likewise.
11971 (emit_copy): Likewise.
11973 * src/vm/jit/i386/codegen.c (codegen): Use emit_load/store functions
11976 * src/vm/jit/i386/codegen.h (M_LNGMOVE): Added.
11977 (M_LNGMEMMOVE): Removed.
11978 (var_to_reg_int): Removed.
11979 (var_to_reg_lng): Likewise.
11980 (var_to_reg_flt): Likewise.
11981 (store_reg_to_var_int): Likewise.
11982 (store_reg_to_var_lng): Likewise.
11983 (store_reg_to_var_flt): Likewise.
11986 (M_FLD32): Likewise.
11987 (M_DLD32): Likewise.
11991 2006-04-26 11:02 twisti
11993 * src/vm/jit/i386/md-emit.h: Moved from src/vm/jit/i386/emitfuncs.h.
11994 * src/vm/jit/i386/emit.c: Moved from src/vm/jit/i386/emitfuncs.c.
11996 2006-04-26 09:02 twisti
11998 * configure.ac (AC_CONFIG_FILES): Added src/scripts/rmic.
11999 * src/scripts/Makefile.am (bin_SCRIPTS): Added rmic.
12000 * src/scripts/java.in: Use ${1+"$@"} instead of $@.
12001 * src/scripts/rmiregistry.in: Likewise.
12002 * src/scripts/rmic.in: Updated to new rmic location.
12004 2006-04-26 08:57 twisti
12006 * m4/ac_prog_javac.m4: Default to ecj.
12007 * src/lib/Makefile.am: If JAVAC is ecj, use the -1.5 flag. This
12008 produces much faster code regarding class$ (e.g. jonas startup time).
12010 2006-04-25 18:02 edwin
12012 * src/vm/jit/disass-common.c (disass_printf): Avoid compiler warning.
12014 * src/vm/jit/profile/profile.c (profile_printstats): Avoid compiler
12017 2006-04-25 17:57 edwin
12019 * src/vm/jit/i386/disass.c (disassinstr): Avoid compiler warning.
12021 2006-04-25 17:53 edwin
12023 * src/vm/jit/stack.c (stack_show_icmd): Removed unused variable `um`.
12025 2006-04-25 17:48 edwin
12027 * src/vm/loader.c (load_method): Simplify initialization of
12029 clearing it explicitely in load_class_from_classbuffer, instead of
12031 individual fields here.
12032 (load_class_from_classbuffer): MZERO methodinfo array.
12033 (load_newly_created_array): Initialize `params` to NULL for the clone
12036 2006-04-25 17:45 edwin
12038 * src/mm/memory.h (MZERO): Added macro MZERO for convenient memory
12041 2006-04-25 17:42 edwin
12043 * src/native/vm/VMSystemProperties.c
12044 (Java_gnu_classpath_VMSystemProperties_preInit): Use strcpy instead of
12045 strcat, since there is nothing to concat to and we may want to lift
12047 assertion that MSET clears memory.
12049 2006-04-25 15:46 edwin
12051 * src/vm/jit/i386/md.c (md_get_method_patch_address): Avoid compiler
12054 2006-04-25 15:31 edwin
12056 * src/cacao/cacao.c (main): Avoid warning about unused label.
12057 Cleaned up whitespace.
12059 2006-04-25 15:26 edwin
12061 * src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack): Avoid
12064 2006-04-25 12:35 edwin
12066 * src/vm/jit/verify/typecheck.c (typecheckverbose): Renamed to
12067 opt_typecheckverbose.
12068 * src/vm/jit/verify/typeinfo.h: Likewise.
12070 * src/vm/vm.c (OPT_VERBOSETC): Only define if both ENABLE_VERIFIER
12071 and TYPECHECK_VERBOSE are defined.
12072 (typecheckverbose): Renamed to opt_typecheckverbose.
12074 2006-04-25 12:25 edwin
12076 * src/vm/options.h, src/vm/options.c (getloadingtime): Renamed to
12077 opt_getloadingtime. Only defined for ENABLE_STATISTICS.
12078 (getcompilingtime): Renamed to opt_getcompilingtime.
12079 Only defined for ENABLE_STATISTICS.
12081 * src/vm/loader.c (getloadingtime, getcompilingtime): Renamed.
12082 * src/vm/jit/jit.c: Likewise.
12083 * src/vm/linker.c: Likewise.
12084 * src/native/vm/VMClassLoader.c: Likewise.
12086 * src/vm/vm.c (OPT_TIME): Only defined for ENABLE_STATISTICS.
12088 * configure.ac (--enable-statistics): Now statistics are disabled by
12091 2006-04-25 12:00 edwin
12093 * src/vm/options.h (opt_verify): Only declare for ENABLE_VERIFIER.
12094 (opt_liberalutf): Removed.
12096 * src/vm/options.c (opt_verify): Only declare for ENABLE_VERIFIER.
12097 (opt_liberalutf): Removed.
12099 * src/vm/jit/inline/inline.c (test_inlining): Only verify if
12102 * src/vm/jit/parse.c (parse): Only check opt_verify if
12105 * src/vm/global.h (ENABLE_VERIFIER): Removed. This is now defined in
12108 * src/vm/vm.c (OPT_NOVERIFY): Only define this option if
12110 (OPT_LIBERALUTF): Removed.
12112 * configure.ac (--disable-verifier): Added configure option.
12114 * src/vm/jit/stacktrace.c (stacktrace_getStack): Gather a wider range
12115 for the cycle count statistics.
12117 2006-04-25 10:36 edwin
12119 * src/vm/cycles-stats.h (CYCLES_STATS_COUNT_OVER): Added.
12121 2006-04-24 18:28 edwin
12123 * src/vm/cycles-stats.c: Cleaned up whitespace.
12125 2006-04-24 18:22 edwin
12127 * src/vm/cycles-stats.c (cycles_stats_print_percentile): Also perform
12128 measurement overhead compensation for cumulated cycle counts.
12130 2006-04-24 17:16 edwin
12132 * src/vm/global.h (ACC_CLASS_REFLECT_MASK): Added.
12133 (ACC_CLASS_HAS_POINTERS): Likewise.
12134 (vim boilerplate): Added.
12136 * src/vm/loader.c (load_field): Set ACC_CLASS_HAS_POINTERS flag.
12138 * src/vm/linker.c (link_class_intern): OR ACC_CLASS_HAS_POINTERS flag.
12140 * src/vm/builtin.c (builtin_new): Use ACC_CLASS_HAS_POINTERS to
12142 which kind of memory to allocate.
12144 * src/native/vm/VMClass.c (Java_java_lang_VMClass_getModifiers): Mask
12145 reported access flags with ACC_CLASS_REFLECT_MASK.
12147 2006-04-24 16:24 twisti
12149 * src/vm/jit/x86_64/emit.c (x86_64_emit_ifcc): Changed signature of
12150 codegen_addreference.
12151 (x86_64_emit_if_lcc): Likewise.
12152 (x86_64_emit_if_icmpcc): Likewise.
12153 (x86_64_emit_if_lcmpcc): Likewise.
12155 2006-04-24 16:10 twisti
12157 * src/vm/jit/i386/codegen.c (codegen): Don't initialize mcode
12158 variables. New dseg_addlinenumber signature fix.
12159 (createnativestub): Don't initialize mcode variables.
12161 2006-04-24 16:06 twisti
12163 * src/vm/jit/codegen-common.c (codegen_increase): Changed signature.
12164 (codegen_addreference): Likewise.
12165 (codegen_add_exception_ref): Likewise.
12166 (codegen_add_arithmeticexception_ref): Likewise.
12167 (codegen_add_arrayindexoutofboundsexception_ref): Likewise.
12168 (codegen_add_arraystoreexception_ref): Likewise.
12169 (codegen_add_classcastexception_ref): Likewise.
12170 (codegen_add_nullpointerexception_ref): Likewise.
12171 (codegen_add_fillinstacktrace_ref): Likewise.
12172 (codegen_addpatchref): Likewise.
12173 (codegen_finish): Likewise.
12174 * src/vm/jit/codegen-common.h: Likewise.
12176 * src/vm/jit/dseg.c (dseg_increase): Made static.
12177 (dseg_adds4): Use dseg_increase.
12178 (dseg_adds8): Likewise.
12179 (dseg_addfloat): Likewise.
12180 (dseg_adddouble): Likewise.
12181 (dseg_adds4_increase): Removed.
12182 (dseg_adds8_increase): Likewise.
12183 (dseg_addfloat_increase): Likewise.
12184 (dseg_adddouble_increase): Likewise.
12185 (dseg_addlinenumber): Changed signature.
12186 (dseg_addlinenumber_inline_start): Likewise.
12187 (dseg_adddata): Likewise.
12188 * src/vm/jit/dseg.h: Likewise.
12190 * src/vm/jit/alpha/emit.c (vm/jit/alpha/emit.h): Removed.
12191 (vm/jit/emit.h): Added.
12192 (emit_lconst): New method.
12193 * src/vm/jit/alpha/Makefile.am (libarch_la_SOURCES): Added emit.c
12195 * src/vm/jit/alpha/codegen.c (vm/jit/emit.h): Added.
12196 (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
12197 functions instead of macros. Saves over 50kB object code size. Use new
12198 signatures of codegen-common and dseg functions.
12199 * src/vm/jit/alpha/codegen.h (var_to_reg_int): Removed.
12200 (var_to_reg_flt): Likewise.
12201 (store_reg_to_var_int): Likewise.
12202 (store_reg_to_var_flt): Likewise.
12204 * src/vm/jit/i386/codegen.c: Use new signatures of codegen-common and
12206 * src/vm/jit/i386/codegen.h: Likewise.
12207 * src/vm/jit/intrp/codegen.c: Likewise.
12208 * src/vm/jit/intrp/codegen.h: Likewise.
12209 * src/vm/jit/mips/codegen.c: Likewise.
12210 * src/vm/jit/mips/codegen.h: Likewise.
12211 * src/vm/jit/powerpc/codegen.c: Likewise.
12212 * src/vm/jit/powerpc/codegen.h: Likewise.
12213 * src/vm/jit/x86_64/codegen.c: Likewise.
12214 * src/vm/jit/x86_64/codegen.h: Likewise.
12216 2006-04-24 15:43 edwin
12218 * src/vm/jit/stacktrace.c (stacktrace_create): Do not free dump
12220 this is now done in the parent functions. Also removed the copy to gc
12222 (stacktrace_fillInStackTrace): Copy stacktrace to gc memory.
12224 (stacktrace_getClassContext): Free dump memory.
12225 (stacktrace_getCurrentClass): Likewise.
12226 (stacktrace_getStack): Likewise.
12227 (stacktrace_dump_trace): Likewise.
12229 2006-04-24 11:40 edwin
12231 * src/vm/jit/stacktrace.c (stacktrace_fillInStackTrace)
12232 (stacktrace_getClassContext, stacktrace_getCurrentClass)
12233 (stacktrace_getStack): Added cycle count statistics.
12234 (stacktrace_print_cycles_stats): Added.
12236 * src/vm/jit/stacktrace.h (stacktrace_print_cycles_stats): Added.
12238 * src/vm/vm.c (vm_exit_handler): Call stacktrace_print_cycles_stats.
12240 2006-04-24 11:36 edwin
12242 * src/vm/cycles-stats.h (CYCLES_STATS_END_WITH_OVERHEAD): Fix
12244 empty macro definition.
12246 2006-04-24 11:27 edwin
12248 * src/vm/cycles-stats.h (CYCLES_STATS_DECLARE_AND_START)
12249 (CYCLES_STATS_DECLARE_AND_START_WITH_OVERHEAD)
12250 (CYCLES_STATS_END, CYCLES_STATS_END_WITH_OVERHEAD): Added convenience
12253 * src/vm/cycles-stats.c (cycles_stats_print): Fixed divide-by-zero.
12257 2006-04-24 10:08 twisti
12259 * src/vm/jit/mips/md.c (md_get_method_patch_address): Renamed from
12260 md_assembler_get_patch_address.
12261 * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Renamed
12262 md_assembler_get_patch_address to md_get_method_patch_address.
12264 2006-04-24 10:00 twisti
12266 * src/vm/jit/powerpc/md.c (md_get_method_patch_address): New method.
12267 * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): Use new
12268 jit_asm_compile method. This fixes the ecj bugs seens with some mauve
12271 2006-04-24 09:58 twisti
12273 * src/vm/jit/powerpc/codegen.c (codegen): Replaced those ugly
12274 M_TINTMOVE macros. Use M_LLD macros where possible.
12275 * src/vm/jit/powerpc/codegen.h (M_LNGMOVE): Check for equal registers.
12276 (M_TINTMOVE): Removed.
12278 2006-04-24 00:19 edwin
12280 * src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Omit the
12282 This saves a couple of cycles of measurement overhead.
12284 2006-04-23 23:03 twisti
12286 * src/vm/jit/alpha/md.c (md_get_method_patch_address): Renamed from
12287 md_assembler_get_patch_address.
12288 * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Renamed
12289 md_assembler_get_patch_address to md_get_method_patch_address.
12291 2006-04-23 19:18 edwin
12293 * src/vm/cycles-stats.c (cycles_stats_print_percentile): Better
12295 * src/vm/cycles-stats.h (CYCLES_STATS_DECLARE, CYCLES_STATS_COUNT)
12296 (CYCLES_STATS_PRINT, CYCLES_STATS_PRINT_OVERHEAD): Added total cycles
12299 2006-04-23 19:16 edwin
12301 * src/vm/builtin.c (builtin_new): Renamed rt-timing identifier.
12302 (builtin_newarray): Added rt-timing.
12304 * src/vm/rt-timing.h: Added rt-timing for builtin_newarray.
12305 * src/vm/rt-timing.c: Likewise.
12307 2006-04-23 16:11 edwin
12309 * src/vm/builtin.c (builtin_print_cycles_stats): Use
12310 CYCLES_STATS_PRINT_OVERHEAD.
12312 * src/vm/cycles-stats.h (CYCLES_STATS_PRINT_OVERHEAD): Added.
12314 * src/vm/cycles-stats.c (cycles_stats_print_percentile): Added.
12315 (cycles_stats_print): Added `overhead` argument and automatic
12316 measurement overhead compensation.
12318 2006-04-23 15:39 edwin
12320 * src/vm/builtin.c (builtin_new): Added rt-timing.
12321 (builtin_print_cycles_stats): Removed unused variable.
12322 (builtin_monitorenter): Removed rt-timing.
12323 (builtin_monitorexit): Likewise.
12325 * src/vm/rt-timing.c: rt-timing for buitin_new.
12326 * src/vm/rt-timing.h: Likewise.
12328 2006-04-23 15:31 edwin
12330 * src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Better error
12333 2006-04-23 15:24 edwin
12335 * src/vm/builtin.c (builtin_new): Gather cycle count statistics.
12336 (CYCLES_STATS_DECLARE): Moved declarations to beginning of file.
12338 * src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Added function for
12339 automatic CPU frequency detection via /proc/cpuinfo.
12340 (cycles_stats_print): Calculate estimated CPU times.
12342 2006-04-22 09:35 edwin
12344 * src/vm/cycles-stats.c (cycles_stats_print): Made count, floor, and
12346 of type u8. This should avoid overflow problems.
12348 * src/vm/cycles-stats.h (cycles_stats_print): Made count an u8.
12350 2006-04-21 21:36 edwin
12352 * src/vm/cycles-stats.c: New file. Better cycle count statistics.
12354 * src/vm/cycles-stats.h (CYCLES_STATS_PRINT): This is now a wrapper
12356 cycles_stats_print.
12358 * src/vm/Makefile.am (cycles-stats.c): Added to sources.
12360 2006-04-21 14:32 edwin
12362 * src/vm/jit/stacktrace.c (stacktrace_inline_fillStackTrace): Assert
12364 there is an exception before dereferencing it.
12365 (stacktrace_create): Document that this function may return NULL.
12366 (stacktrace_getClassContext): Check return value of stacktrace_create.
12367 (stacktrace_getCurrentClass): Likewise.
12368 (stacktrace_getStack): Likewise. Document that this function may
12371 2006-04-21 13:08 edwin
12373 * src/vm/jit/stacktrace.c (stacktrace_getClassContext): Document that
12375 value may be NULL (in case of an exception).
12377 * src/native/vm/VMStackWalker.c
12378 (Java_gnu_classpath_VMStackWalker_getCallingClass): Check return
12380 stacktrace_getClassContext.
12381 (Java_gnu_classpath_VMStackWalker_getCallingClassLoader): Likewise.
12383 * src/native/vm/Field.c (cacao_get_field_address): Check return value
12385 stacktrace_getClassContext.
12387 * src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative):
12388 Check return value of stacktrace_getClassContext.
12390 2006-04-21 11:07 twisti
12392 * src/vm/jit/i386/md.c (md_get_method_patch_address): New method.
12393 (md_icacheflush): Added.
12394 (md_dcacheflush): Likewise.
12396 2006-04-21 10:54 twisti
12398 * src/vm/jit/jit.c (jit_asm_compile): New method.
12399 * src/vm/jit/jit.h (jit_asm_compile): Added.
12400 (md_get_method_patch_address): Likewise.
12402 * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Store
12403 asm_call_jit_compiler on stack as for the other architectures.
12404 (asm_call_jit_compiler): Use new jit_asm_compile.
12406 * src/vm/jit/x86_64/codegen.c (codegen): Use REG_ITMP3 for calling
12407 methods. This is required for asm_vm_call_method to work.
12409 * src/vm/jit/x86_64/md.c (md_get_method_patch_address): New method.
12410 (md_icacheflush): Added.
12411 (md_dcacheflush): Added.
12412 * src/vm/jit/x86_64/md-asm.h (mptr): Defined.
12414 2006-04-21 10:45 twisti
12416 * src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Reformatted
12419 2006-04-21 00:00 edwin
12421 * src/vm/linker.c (link_class_intern): Impose loading constraints on
12423 more general types of the overwritten method, instead of on the over-
12424 writing method. Don't impose loading constraints when "overwriting"
12426 instance initializaton method <init>, as it is not called virtually.
12428 2006-04-20 22:28 edwin
12430 * src/vm/classcache.c (classcache_add_constraint): Also constrain the
12431 return type of the given method.
12433 2006-04-20 21:47 edwin
12435 * src/vm/linker.c (linker_addinterface): Add loading constraints when
12437 interface method is overwritten.
12438 (link_class_intern): Check new return value of linker_addinterface.
12440 2006-04-20 20:40 edwin
12442 * src/vm/linker.c (link_class_intern): Only record loading constraints
12443 for ENABLE_VERIFIER.
12445 2006-04-20 20:38 edwin
12447 * src/vm/classcache.c (classcache_add_constraints_for_params): Added.
12448 (classcache_add_constraint): Only define for ENABLE_VERIFIER.
12450 * src/vm/classcache.h (classcache_add_constraints_for_params): Added.
12451 (classcache_add_constraint): Only define for ENABLE_VERIFIER.
12453 * src/vm/linker.c (link_class_intern): When overwriting a method,
12454 record loading constraints for the parameter types, as required
12457 2006-04-20 19:18 edwin
12459 * src/mm/memory.c (Changes): Added my name.
12460 (vim boilerplate): Added.
12462 2006-04-20 18:59 edwin
12464 * src/mm/memory.c: Added comments and some cleanup.
12466 2006-04-20 18:04 edwin
12468 * configure.ac (ENABLE_LOOP): Changed default to "no".
12470 * src/vm/options.h (opt_loops): Only define for ENABLE_LOOP.
12472 * src/vm/options.c (opt_loops): Only define for ENABLE_LOOP.
12474 * src/vm/vm.c (-oloop, -i): Only recognize these options if
12475 enabled with ENABLE_LOOP/ENABLE_INLINING.
12477 * src/vm/jit/allocator/lsra.c (opt_loops): Only use for ENABLE_LOOP.
12479 2006-04-20 10:55 twisti
12481 * src/vm/jit/x86_64/codegen.h (M_ALD32): Added.
12483 2006-04-20 10:42 twisti
12485 * src/vm/jit/x86_64/md-abi.h (REG_METHODPTR): Added.
12487 2006-04-20 08:45 twisti
12489 * src/lib/vm/reference/java/lang/VMClassLoader.java: Updated to GNU
12492 2006-04-19 01:05 edwin
12494 * src/vm/builtin.c (builtin_print_cycles_stats): Added.
12495 (builtin_monitorenter): Gather cycle count statistics.
12496 (builtin_monitorexit): Likewise.
12498 * src/vm/builtin.h (builtin_print_cycles_stats): Added.
12500 * src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Added.
12502 * src/vm/jit/asmpart.h (asm_get_cycle_count): Added.
12504 * src/vm/vm.c (vm_exit_handler): Call builtin_print_cycles_stats.
12506 * src/vm/cycles-stats.h: New file.
12508 * src/vm/Makefile.am (CYCLES_STATS_SOURCE): Added.
12510 * src/cacaoh/headers.c (asm_get_cycle_count): Dummy implementation
12513 * configure.ac (--enable-cycles-stats): Added configure option.
12515 2006-04-18 21:16 twisti
12517 * src/vm/jit/x86_64/emitfuncs.c: Moved to emit.c.
12518 * src/vm/jit/x86_64/emitfuncs.h: Moved to md-emit.h
12520 * src/vm/jit/x86_64/codegen.c (vm/jit/x86_64/emitfuncs.h): Removed.
12521 (vm/jit/x86_64/md-emit.h): Added.
12523 * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Added emit.c and
12524 md-emit.h, removed emitfuncs.c and emitfuncs.h.
12526 2006-04-18 20:36 twisti
12528 * src/vm/jit/jit.h (IS_ADR_TYPE): Changed to use ==.
12529 (IS_INT_TYPE): Added.
12530 (IS_LNG_TYPE): Likewise.
12532 2006-04-18 20:34 twisti
12534 * src/vm/jit/x86_64/codegen.c (vm/jit/emit.h): Added.
12535 (codegen): Use emit_load/store functions instead of macors. Saves over
12536 25kB object code size.
12538 * src/vm/jit/x86_64/codegen.h (ALIGNCODENOP): Added.
12539 (var_to_reg_int): Removed.
12540 (var_to_reg_flt): Likewise.
12541 (store_reg_to_var_int): Likewise.
12542 (store_reg_to_var_flt): Likewise.
12543 (M_INEG, M_LNEG, M_INEG_MEMBASE, M_LNEG_MEMBASE): Added.
12544 (M_CMOVEQ_MEMBASE, M_CMOVNE_MEMBASE, M_CMOVLT_MEMBASE)
12545 (M_CMOVLE_MEMBASE, M_CMOVGE_MEMBASE, M_CMOVGT_MEMBASE): Likewise.
12547 * src/vm/jit/x86_64/emitfuncs.c (emit_load_s1): Added.
12548 (emit_load_s2): Likewise.
12549 (emit_load_s3): Likewise.
12550 (emit_store): Likewise.
12551 (emit_copy): Likewise.
12552 (emit_cmovxx): Likewise.
12554 * src/vm/jit/x86_64/emitfuncs.h (emit_cmovxx): Added.
12556 2006-04-18 20:20 twisti
12558 * src/vm/jit/x86_64/md-abi.h (REG_IFTMP): Defined.
12560 2006-04-18 20:17 edwin
12562 * src/vm/jit/stack.c (stack_show_icmd): Updated to use the correct
12564 (un)resolved methods. Minor output format changes.
12566 * src/vm/field.c (field_print): Print the class name.
12568 2006-04-18 20:10 twisti
12570 * src/vm/jit/alpha/Makefile.am (DISASS_SOURCES): Added.
12571 * src/vm/jit/mips/Makefile.am: Likewise.
12573 2006-04-18 15:55 twisti
12575 * configure.ac (intl): Check on NetBSD too.
12577 2006-04-18 15:40 twisti
12579 * configure.ac: Fixed typos.
12581 2006-04-18 13:36 twisti
12583 * src/vm/jit/mips/codegen.h (M_FLTMOVE): Removed.
12584 (M_TFLTMOVE): Likewise.
12585 (M_TFLD): Likewise.
12586 (M_TFST): Likewise.
12587 (M_CCFLTMOVE): Likewise.
12588 (M_CCFLD): Likewise.
12589 (M_CCFST): Likewise.
12590 * src/vm/jit/mips/codegen.c (codegen): Use float and double
12592 * src/vm/jit/mips/emit.c: Likewise.
12594 2006-04-17 15:49 edwin
12596 * src/vm/jit/intrp/codegen.c (intrp_codegen): Cast mcodeptr to u1*.
12597 This should fix intrp on archs with u4* mcodeptr.
12599 2006-04-17 15:20 edwin
12601 * src/vm/builtin.c (builtin_monitorenter, builtin_monitorexit): Added
12604 * src/vm/rt-timing.c, src/vm/rt-timing.h: rt-timing for locks.
12606 2006-04-17 11:47 twisti
12608 * src/vm/jit/codegen-common.h (codegendata): Define lastmcodeptr on
12609 all architectures. I think it does not matter.
12611 2006-04-14 23:50 edwin
12613 * src/vm/jit/codegen-common.h: Typo fix.
12615 2006-04-14 23:48 edwin
12617 * src/vm/jit/parse.c (parse): Removed unused variable `mi`.
12619 2006-04-14 23:46 edwin
12621 * src/vm/rt-timing.c: include stdlib.h to fix warning.
12623 2006-04-14 12:40 twisti
12625 * src/vm/jit/mips/emit.c: New file.
12626 * src/vm/jit/mips/Makefile.am (libarch_la_SOURCES): Added emit.c
12628 * src/vm/jit/mips/codegen.c (vm/jit/emit.h): Added.
12629 (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
12630 functions instead of macors. Saves over 50kB object code size.
12632 * src/vm/jit/mips/codegen.h (var_to_reg_int): Removed.
12633 (var_to_reg_flt): Likewise.
12634 (store_reg_to_var_int): Likewise.
12635 (store_reg_to_var_flt): Likewise.
12637 2006-04-14 11:57 twisti
12639 * src/vm/jit/codegen-common.c (codegen_setup): Fixed compiler
12640 warnings, set lastmcodeptr.
12641 (codegen_increase): Fixed compiler warnings.
12642 (codegen_finish): Likewise.
12643 (codegen_createnativestub): Likewise.
12645 2006-04-14 11:28 twisti
12647 * src/vm/jit/alpha/emit.h: Removed. There's now a common one in
12650 2006-04-14 11:20 twisti
12652 * src/vm/jit/emit.h: New file.
12653 * src/vm/jit/Makefile.am (noinst_HEADERS): Added emit.h.
12655 * src/vm/jit/powerpc/emit.c: New file.
12656 * src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added emit.c.
12658 * src/vm/jit/powerpc/codegen.c (vm/jit/emit.h): Added.
12659 (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store
12660 functions instead of macors. Saves over 100kB object code size.
12662 * src/vm/jit/powerpc/codegen.h (var_to_reg_int): Removed.
12663 (var_to_reg_lng): Likewise.
12664 (var_to_reg_lng_low): Likewise.
12665 (var_to_reg_lng_high): Likewise.
12666 (var_to_reg_flt): Likewise.
12667 (var_to_reg_dbl): Likewise.
12668 (store_reg_to_var_int): Likewise.
12669 (store_reg_to_var_lng): Likewise.
12670 (store_reg_to_var_adr): Likewise.
12671 (store_reg_to_var_flt): Likewise.
12672 (store_reg_to_var_dbl): Likewise.
12673 (M_LLD_INTERN): Added.
12675 (M_LST_INTERN): Likewise.
12678 2006-04-13 20:45 edwin
12680 * src/vm/loader.c (load_class_from_classloader): Detailed rt-timing.
12681 (load_class_bootstrap): Likewise.
12683 * src/vm/rt-timing.c: Added rt-timing for loading from classloaders.
12684 * src/vm/rt-timing.h: Likewise.
12686 2006-04-13 18:21 edwin
12688 * src/vm/loader.c (load_class_from_classbuffer): Separate timing for
12689 descriptor_pool_new.
12691 * src/vm/rt-timing.c: Likewise.
12693 * src/vm/rt-timing.h: Likewise.
12695 2006-04-13 18:00 edwin
12697 * src/vm/loader.c (load_class_from_classbuffer): Added real-time
12701 * src/vm/rt-timing.c: Likewise.
12702 * src/vm/rt-timing.h: Likewise.
12704 2006-04-13 17:23 edwin
12706 * src/vm/rt-timing.c: Added timing of linker stages.
12707 * src/vm/rt-timing.h: Likewise.
12708 * src/vm/linker.c: Likewise.
12710 2006-04-13 16:58 edwin
12712 * src/vm/rt-timing.h (RT_TIMING_TIME_DIFF): Added.
12714 * src/vm/jit/jit.c (jit_compile_intern): Use RT_TIMING_TIME_DIFF.
12716 * src/vm/linker.c (link_class): Use rt-timing for measuring link time.
12718 * src/cacaoh/Makefile.am (cacaoh_LDFLAGS): Link with librt for
12721 2006-04-13 16:48 edwin
12723 * src/vm/rt-timing.c (rt_timing_stat): Added field `totalindex`.
12724 (rt_timing_stat_defs): Likewise.
12725 (rt_timing_diff): Renamed to rt_timing_time_diff.
12726 (rt_timing_print_time_stats): Use `totalindex` to calculate
12729 * src/vm/rt-timing.h (RT_TIMING_LINK_TOTAL): Added.
12730 (rt_timing_diff): Renamed to rt_timing_time_diff.
12732 2006-04-13 14:09 twisti
12734 * src/vm/jit/alpha/emit.c: New file.
12735 * src/vm/jit/alpha/emit.h: Likewise.
12737 2006-04-13 13:10 twisti
12739 * src/vm/jit/codegen-common.h (codegendata): Changed mcodeend to
12740 u1*. Define mcodeptr to u4* for non-i386/x86_64 architectures.
12742 2006-04-13 09:32 twisti
12744 * src/vm/jit/x86_64/codegen.c (codegen): Use argument registers
12745 directly in exception stubs, instead of temporary ones. This reduces
12746 code-size about 150kB for -all.
12748 2006-04-13 09:19 twisti
12750 * src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ishift): Bugfixes found
12752 (x86_64_emit_lshift): Likewise.
12754 2006-04-12 22:20 edwin
12756 * src/vm/rt-timing.c: Added file.
12757 * src/vm/rt-timing.h: Likewise.
12759 * src/vm/jit/jit.c: Moved real-time timing stuff to rt-timing.[ch]
12760 * src/vm/jit/jit.h: Likewise.
12762 * src/vm/vm.c (vm_exit_handler): Call rt_timing_print_time_stats.
12764 * src/vm/Makefile.am (rt-timing.c, rt-timing.h): Added.
12766 2006-04-12 22:16 edwin
12768 * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers): Fixed
12771 2006-04-12 20:06 edwin
12773 * src/vm/jit/parse.c (parse): New unresolved reference scheme: Data
12775 for unresolved fields/methods are only created if really needed.
12777 a lazy resolving is done on-the-fly. This reduced compile time by
12779 SpecJVM98 and eclipse.
12781 * src/vm/resolve.c (resolve_subtype_check): Added.
12782 (resolve_lazy_subtype_checks): Likewise.
12783 (resolve_and_check_subtype_set): Use resolve_subtype_check. Return
12784 resolve_result_t instead of bool. Removed `checked` argument.
12785 (resolve_class): Use resolve_subtype_check.
12786 (resolve_field_verifier_checks): Added.
12787 (resolve_field_lazy): Added.
12788 (resolve_field): Use resolve_field_verifier_checks.
12789 (resolve_method_invokespecial_lookup): Added.
12790 (resolve_method_verifier_checks): Added.
12791 (resolve_method_lazy): Added.
12792 (resolve_method): Use resolve_method_invokespecial_lookup and
12793 resolve_method_verifier_checks.
12794 (constrain_unresolved_method): Adapted to new unresolved reference
12796 (constrain_unresolved_field): Likewise.
12797 (unresolved_field_debug_dump): Likewise.
12798 (unresolved_method_debug_dump): Likewise.
12800 * src/vm/jit/patcher.h (intrp_patcher_get_putstatic_clinit): Added.
12802 * src/vm/jit/intrp/intrp.h (vm_Cell2afi): Added.
12803 (vm_afi2Cell): Likewise.
12804 (printarg_afi): Added.
12805 (vim boilerplate): Added.
12806 (Changes): Added my name.
12808 * src/vm/jit/intrp/patcher.c (intrp_patcher_get_putstatic_clinit):
12811 * src/vm/jit/intrp/disass.c (printarg_afi): Added.
12812 (Changes): Added my name.
12813 (vim boilerplate): Added.
12815 * src/vm/jit/intrp/java.vmg (GETSTATIC_CELL, GETSTATIC_INT,
12817 (GETSTATIC_LONG, PUTSTATIC_CELL, PUTSTATIC_INT, PUTSTATIC_FLOAT)
12818 (PUTSTATIC_LONG, GETFIELD_CELL, GETFIELD_INT, GETFIELD_FLOAT)
12819 (GETFIELD_LONG, PUTFIELD_CELL, PUTFIELD_INT, PUTFIELD_FLOAT)
12820 (PUTFIELD_LONG): Now take a fieldinfo instead of an unresolved_field.
12821 (INVOKEVIRTUAL, INVOKESTATIC, INVOKESPECIAL, INVOKEINTERFACE): Now
12823 a methodinfo instead of an unresolved_method.
12824 (PATCHER_GETSTATIC_CLINIT_INT, PATCHER_GETSTATIC_CLINIT_FLOAT)
12825 (PATCHER_GETSTATIC_CLINIT_LONG, PATCHER_GETSTATIC_CLINIT_CELL): Added.
12826 (PATCHER_PUTSTATIC_CLINIT_INT, PATCHER_PUTSTATIC_CLINIT_FLOAT)
12827 (PATCHER_PUTSTATIC_CLINIT_LONG, PATCHER_PUTSTATIC_CLINIT_CELL): Added.
12829 * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
12830 Use INSTRUCTION_GET_METHODDESC to get method descriptor.
12832 * src/vm/jit/stack.c (stack_analyse): Ported to new unresolved
12835 (stack_show_icmd): Likewise.
12837 * src/vm/jit/verify/typecheck.c (verify_invocation): Ported to new
12840 (verify_basic_block): Likewise.
12842 * src/vm/jit/powerpc/codegen.c (codegen): Ported to new unresolved
12846 * src/vm/jit/alpha/codegen.c (codegen): Ported to new unresolved
12850 * src/vm/jit/mips/codegen.c (codegen): Ported to new unresolved
12854 * src/vm/jit/i386/codegen.c (codegen): Ported to new unresolved
12858 * src/vm/jit/x86_64/codegen.c (codegen): Ported to new unresolved
12862 * src/vm/jit/intrp/codegen.c (codegen): Ported to new unresolved
12865 (Changes): Added my name.
12867 * src/vm/jit/intrp/codegen.h (vim boilerplate): Added.
12869 2006-04-12 18:07 edwin
12871 * src/vm/resolve.h (resolve_result_t): Added.
12872 (resolve_method_lazy): Added prototype.
12873 (resolve_field_lazy): Added prototype.
12874 (resolve_and_check_subtype_set): Removed prototype. This function is
12877 2006-04-12 17:51 edwin
12879 * src/vm/class.c (class_showconstantpool): Use the new functions
12880 method_methodref_print and field_fieldref_print.
12882 * src/vm/loader.c (load_constantpool): Use p.index in constant_FMIref.
12883 (load_class_from_classbuffer): Likewise.
12885 * src/vm/jit/stack.c (stack_show_icmd): Use p.index in
12888 * src/vm/jit/verify/typecheck.c (verify_invocation): Use p.index in
12891 * src/vm/resolve.c (resolve_field, resolve_method,
12892 constrain_unresolved_field)
12893 (unresolved_field_debug_dump, unresolved_method_debug_dump):
12894 Use p.index in constant_FMIref.
12896 * src/vm/method.c, src/vm/method.h (method_methodref_print): Added.
12897 (method_methodref_println): Likewise.
12899 * src/vm/field.c, src/vm/field.h (field_fieldref_print): Added.
12900 (field_fieldref_println): Likewise.
12902 * src/vm/references.h (constant_FMIref): Changed field `classref`
12904 union that is used for caching of already resolved fields/methods.
12905 (IS_FMIREF_RESOLVED): Added.
12906 (METHODREF_CLASSNAME): Added.
12907 (FIELDREF_CLASSNAME): Added.
12909 * src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED): Added. This is a
12911 for the lazy resolving rewrite.
12912 (INSTRUCTION_IS_UNRESOLVED): Likewise.
12913 (INSTRUCTION_GET_FIELDREF): Likewise.
12914 (INSTRUCTION_GET_METHODREF): Likewise.
12915 (INSTRUCTION_GET_FIELDDESC): Likewise.
12916 (INSTRUCTION_GET_METHODDESC): Likewise.
12917 (INSTRUCTION_UNRESOLVED_METHOD): Likewise.
12918 (INSTRUCTION_UNRESOLVED_FIELD): Likewise.
12919 (INSTRUCTION_RESOLVED_FMIREF): Likewise.
12920 (INSTRUCTION_RESOLVED_FIELDINFO): Likewise.
12921 (INSTRUCTION_RESOLVED_METHODINFO): Likewise.
12923 * src/vm/jit/intrp/disass.c (printarg_auf): Use METHODREF_CLASSNAME.
12925 2006-04-12 11:51 twisti
12927 * src/vm/jit/alpha/codegen.c (codegen): Use directly argument
12928 registers in exception stubs, instead of temporary ones. This reduces
12929 code-size about 200kB for -all.
12931 2006-04-12 09:49 twisti
12933 * src/vm/jit/powerpc/codegen.c (codegen): Fixed displacement overflow
12934 problem when restoring LR. We can't use r0 here.
12936 2006-04-12 09:30 twisti
12938 * NEWS: Line-number fix added.
12940 2006-04-12 09:20 edwin
12942 * src/vm/jit/parse.c (parse): Skip line number entries that span over
12944 bytecode instructions.
12946 2006-04-12 08:52 edwin
12948 * src/vm/method.h (methodinfo): Forward declaration moved to
12950 * src/vm/field.h (fieldinfo): Forward declaration moved to
12952 * src/vm/references.h (methodinfo, fieldinfo): Added forward
12955 2006-04-12 08:34 edwin
12957 * src/vm/class.c (class_showconstanti): Removed.
12958 (class_showconstantpool): Documented.
12959 (class_showmethods): Documented.
12960 (vim boilerplate): Added.
12961 (Changes): Finally added my name.
12963 2006-04-11 13:13 twisti
12965 * src/vm/jit/x86_64/codegen.c (codegen): Changed signature to use
12966 jitdata. Renamed reg_of_var by codegen_reg_of_var.
12967 * src/vm/jit/x86_64/codegen.h (M_COPY): Likewise.
12969 2006-04-11 10:54 twisti
12971 * tests/regression/clinitexception.2output: Updated.
12972 * tests/regression/native/checkjni.output: Likewise.
12973 * tests/regression/extest.2output: Likewise.
12975 2006-04-11 10:20 twisti
12977 * src/vm/builtin.c (builtin_throw_exception): Changed return type and
12978 return NULL. This is less error-prone in asm_vm_call_method.
12979 * src/vm/builtin.h: Likewise.
12981 * src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler):
12982 Don't set v0 to NULL. This is now done in builtin_throw_exception.
12983 * src/vm/jit/i386/asmpart.S: Likewise.
12984 * src/vm/jit/mips/asmpart.S: Likewise.
12985 * src/vm/jit/powerpc/asmpart.S: Likewise.
12986 * src/vm/jit/x86_64/asmpart.S: Likewise.
12988 2006-04-11 10:04 twisti
12990 * src/vm/jit/ifconv/ifconv.c (ifconv_static): Keep compiler happy.
12992 2006-04-11 09:00 edwin
12994 * src/vm/jit/stack.c (stack_print_stack): Only use `regs` if
12995 ENABLE_DISASSEMBLER is defined.
12996 (stack_show_method): Likewise.
12998 * src/vm/jit/replace.c (replace_executionstate_println): Likewise.
13000 2006-04-11 05:10 edwin
13002 * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Do not
13004 exception when NDEBUG.
13006 * src/vm/jit/intrp/dynamic-super.c (disassemble_prim): Only enable for
13007 ENABLE_DISASSEMBLER.
13008 (dynamic_super_init): Only call disassemble_prim for
13009 ENABLE_DISASSEMBLER.
13011 * src/vm/jit/intrp/java.vmg: Disable builtin_displaymethodstop and
13012 builtin_trace_args for NDEBUG.
13014 2006-04-06 12:54 twisti
13016 * src/vm/jit/mips: Added TAGS.
13017 * src/vm/jit/mips/irix: Likewise.
13018 * src/vm/jit/mips/irix/.cvsignore: Likewise.
13019 * src/vm/jit/mips/.cvsignore: Likewise.
13021 2006-04-06 12:51 twisti
13023 * src/vm/jit/mips/codegen.c (codegen): Changed signature to use
13024 jitdata. Renamed reg_of_var by codegen_reg_of_var.
13025 (createcompilerstub): Replaced docacheflush by md_cacheflush.
13026 * src/vm/jit/mips/codegen.h (M_COPY): Likewise.
13027 * src/vm/jit/mips/md.c (sys/mman.h): Removed.
13028 (docacheflush): Likewise.
13030 2006-04-06 00:33 edwin
13032 * configure.ac: Added host type `armv5l`.
13034 2006-04-05 20:31 edwin
13036 * src/vm/jit/parse.h, src/vm/jit/parse.c (OP1LOAD):
13037 Split into OP1LOAD_ONEWORD and OP1LOAD_TWOWORD. Index is only checked
13040 (OP1STORE): Split into OP1STORE_ONEWORD and OP1STORE_TWOWORD. Index
13042 only checked if ENABLE_VERIFIER.
13044 2006-04-05 19:58 edwin
13046 * src/vm/jit/parse.c (parse): Cleaned up and reordered an if.
13048 2006-04-05 19:44 edwin
13050 * src/vm/jit/parse.c (parse): Remove the `if (!iswide)` check for
13052 by making JAVA_WIDE continue directly to the label fetch_opcode.
13054 removed a part of the iswide check at the end of the loop.)
13056 2006-04-05 18:48 edwin
13058 * src/vm/jit/alpha/codegen.c (codegen, createnativestub): Remove
13059 opt_verbosecall code for NDEBUG builds.
13061 2006-04-05 18:13 edwin
13063 * src/vm/jit/parse.c (parse): Only do verifier checks if
13065 Cleaned up an obsolete printf.
13067 2006-04-05 12:56 edwin
13069 * configure.ac (ENABLE_RT_TIMING): Added.
13071 * src/vm/jit/jit.c (ENABLE_RT_TIMING): Added code for real-time timing
13072 of compiler passes.
13074 * src/vm/jit/jit.h (jit_print_time_stats): Added.
13076 * src/vm/vm.c (vm_exit_handler): Call jit_print_time_stats.
13078 2006-04-05 11:32 edwin
13080 * src/vm/jit/inline/inline.c (create_block): Use BASICBLOCK_INIT.
13082 2006-04-05 10:02 twisti
13084 * src/vm/jit/alpha/asmpart.S (asm_vm_call_method): Removed !NDEBUG as
13085 builtin_throw_exception actually posts the thrown exception to the VM
13087 * src/vm/jit/powerpc/asmpart.S: Likewise.
13088 * src/vm/jit/mips/asmpart.S: Likewise.
13089 * src/vm/jit/x86_64/asmpart.S: Likewise.
13091 2006-04-05 09:57 edwin
13093 * src/vm/jit/jit.h (instruction): Removed `method` field.
13094 (insinfo_inline): Added.
13095 (basicblock): Added `method` field.
13097 * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start)
13098 (dseg_addlinenumber_inline_end): Use new insinfo_inline struct.
13100 * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed unused
13101 variable `myclass`.
13103 * src/vm/jit/inline/inline.c (emit_inlining_prolog,
13104 emit_inlining_epilog):
13105 Use insinfo_inline struct.
13106 (inline_write_exception_handlers): Removed `method` field.
13108 * src/vm/jit/i386/codegen.c (codegen): Use insinfo_inline struct.
13110 * src/vm/jit/parse.h (several macros): Removed `method` field from
13113 * src/vm/jit/stack.c (stack_show_icmd): Adapted to new insinfo_inline
13116 2006-04-05 09:54 twisti
13118 Fixes GCC Bugzilla Bug #26990.
13119 * src/vm/vm.c (vm_exit): Don't check for exception of System.exit().
13121 2006-04-04 21:31 edwin
13123 * src/vm/builtin.c (builtin_throw_exception): No twisti, we don't
13125 exceptions just because it is NDEBUG ;)
13126 * src/vm/jit/i386/asmpart.S (asm_vm_call_method_exception_handler):
13129 2006-04-04 18:14 edwin
13131 * src/vm/jit/i386/Makefile.am: Do not build disassebmler for
13132 --disable-disassembler
13133 * src/vm/jit/i386/codegen.c (codegen): disable verbosecall code for
13136 2006-04-04 18:11 edwin
13138 * src/vm/jit/ifconv/ifconv.c (ifconv_static): #ifdef debug code.
13141 2006-04-04 09:17 twisti
13143 * src/threads/native/threads.c (tablelock): Removed.
13144 (tables_lock, tables_unlock): Likewise.
13145 (criticalcompare): Removed tablelock initialization.
13146 * src/vm/hashtable.h (tables_lock, tables_unlock): Removed.
13147 * src/vm/global.h (VFTBLINTERFACETABLE): Likewise.
13148 (cast_lock, cast_unlock): Likewise.
13150 2006-04-04 09:14 twisti
13152 * src/vm/exceptions.c (exceptions_new_nosuchmethoderror): Print
13153 classname with dots.
13154 (exceptions_handle_exception): Compiler warning fix.
13156 2006-04-04 09:13 edwin
13158 * src/vm/jit/verify/typeinfo.c (CLASSINFO_IMPLEMENTS_INTERFACE):
13160 single use of the macro VFTBLINTERFACETABLE
13162 2006-04-04 08:45 twisti
13164 * src/native/vm/VMClass.c: Reordered methods like in the
13165 VMClass.java. This eases the 1.5 changes addition.
13167 2006-04-04 08:30 edwin
13169 * src/vm/jit/parse.c (parse): Removed obsolete variable
13170 `skipBasicBlockChange`.
13172 2006-04-04 08:24 edwin
13174 * src/vm/jit/parse.c (parse): Removed obsolete variable `firstlocal`.
13175 (Was used for the old inliner.)
13177 2006-04-03 15:36 twisti
13179 * src/vm/jit/powerpc/codegen.c (codegen): Changed signature to use
13180 jitdata. Renamed reg_of_var by codegen_reg_of_var.
13181 * src/vm/jit/powerpc/codegen.h (M_COPY): Likewise.
13183 2006-04-03 13:59 twisti
13185 * src/vm/jit/powerpc/codegen.c (codegen): Renamed parentargs_base to
13187 (codegen_trace_args): Likewise.
13189 2006-04-02 16:17 edwin
13191 * src/vm/jit/i386/codegen.c (codegen): Implemented inlining of
13193 methods (INLINE_START, INLINE_END do monitorenter/exit).
13195 2006-04-02 16:16 edwin
13197 * src/vm/jit/inline/inline.c (inline_node): Added fields for inlining
13198 synchronized methods.
13199 (inline_context): Added `master` pointer to outermost caller. Added
13201 `calls_others`. (Leaf method detection should really be done after
13203 (several methods): Implemented inlining of synchronized methods.
13204 (inline_new_stackslot): Added.
13205 (inline_write_exception_handlers): Added.
13207 2006-04-01 21:03 edwin
13209 * src/vm/jit/intrp/codegen.c (createcalljavafunction): Create
13211 the right methodinfo pointer.
13213 2006-04-01 21:00 edwin
13215 * src/vm/jit/codegen-common.h (intrp_createnativestub): Takes a
13218 * src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub)
13219 (createcalljavafunction): Use jitdata.
13221 2006-03-31 12:38 edwin
13223 * src/vm/jit/inline/inline.c, src/vm/jit/inline/inline_debug.c:
13225 twisti's jitdata changes.
13227 2006-03-31 07:50 twisti
13229 * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Replaced $stub
13230 symbols with old symbols and define them for darwin in the
13231 corresponding md-asm.h.
13232 (asm_call_jit_compiler): Likewise.
13233 (asm_wrapper_patcher): Likewise.
13234 (asm_replacement_out): Likewise.
13235 * src/vm/jit/powerpc/darwin/md-asm.h (builtin_asm_get_exceptionptrptr)
13236 (builtin_throw_exception, exceptions_handle_exception, jit_compile)
13237 (replace_me, stacktrace_create_extern_stackframeinfo)
13238 (stacktrace_remove_stackframeinfo): Changed to $stub symbol.
13239 (stacktrace_extern_fillInStackTrace): Removed.
13241 * src/vm/jit/powerpc/linux/md-abi.c (regs): Added.
13243 2006-03-31 07:14 twisti
13245 * src/vm/jit/powerpc/patcher.c
13246 (patcher_checkcast_instanceof_interface): Compile fix (typo).
13248 2006-03-30 12:01 twisti
13250 * src/vm/jit/alpha/asmpart.S (vm/jit/abi.h): Changed to
13252 * src/vm/jit/mips/asmpart.S: Likewise.
13253 * src/vm/jit/i386/asmpart.S: Likewise.
13254 * src/vm/jit/x86_64/asmpart.S: Likewise.
13256 2006-03-30 11:59 twisti
13258 * src/vm/jit/powerpc/codegen.c (codegen): Changed signature to use
13259 jitdata. Renamed reg_of_var by codegen_reg_of_var.
13260 * src/vm/jit/powerpc/codegen.h (M_COPY): Likewise.
13262 * src/vm/jit/powerpc/asmpart.S (vm/jit/abi.h): Changed to
13264 (asm_vm_call_method_exception_handler): Export it.
13265 (asm_vm_call_method): Don't put label addresses into the
13266 "data-segment", as it's located in the .text area and that may be
13267 read-only. Changed to use PIC code. Linux stuff is still missing.
13269 * src/vm/jit/powerpc/Makefile.am (DISASS_SOURCES): Added.
13270 * src/vm/jit/powerpc/disass.c (regs): Removed.
13272 2006-03-30 10:26 twisti
13274 * src/vm/jit/ifconv/Makefile.am (AM_CPPFLAGS): Added OS_DIR.
13277 2006-03-30 10:23 twisti
13279 * src/vm/jit/Makefile.am (noinst_HEADERS): Added abi-asm.h.
13280 * src/vm/jit/abi.h (vm/jit/abi-asm.h): Added.
13281 (nregdescint, regs, nregdescfloat): Added.
13282 * src/vm/jit/abi-asm.h: New file.
13283 * src/vm/jit/reg.h (nregdescint, nregdescfloat): Removed.
13284 * src/vm/jit/reg.c (vm/jit/abi.h): Added.
13285 * src/vm/jit/replace.c: Likewise.
13286 * src/vm/jit/allocator/lsra.c: Likewise.
13287 * src/vm/jit/powerpc/darwin/md-asm.h
13288 (asm_vm_call_method_exception_handler): Added.
13289 * src/vm/jit/powerpc/darwin/md-abi.c (regs): Added.
13291 2006-03-30 10:14 twisti
13293 * src/vm/jit/codegen-common.c: Use ENABLE_DISASSEMBLER.
13294 * src/vm/jit/codegen-common.h: Likewise.
13295 * src/vm/jit/stack.c: Likewise. Plus ENABLE_LSRA.
13296 * src/vm/jit/disass.h: Likewise.
13297 * src/vm/jit/jit.c: Likewise. Plus ENABLE_LOOP.
13299 2006-03-30 10:10 twisti
13301 * src/vm/jit/powerpc/patcher.c (patcher_invokevirtual): Use disp
13302 variable for code patching. This will ease the overflow code
13304 (patcher_invokeinterface): Likewise.
13305 (patcher_checkcast_instanceof_interface): Likewise.
13307 2006-03-30 09:52 twisti
13309 * src/vm/exceptions.c (exceptions_handle_exception): Check for special
13310 * start/endpc-NULL case. This makes asmpart stuff much easier, like on
13313 * src/vm/jit/asmpart.h (asm_vm_call_method_exception_handler): Added.
13315 * src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler):
13317 (asm_vm_call_method): Don't put label addresses into the
13318 "data-segment", as it's located in the .text area and that may be
13320 * src/vm/jit/i386/asmpart.S: Likewise.
13321 * src/vm/jit/mips/asmpart.S: Likewise.
13322 * src/vm/jit/x86_64/asmpart.S: Likewise.
13324 2006-03-30 09:20 twisti
13326 * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Return NULL for
13329 2006-03-30 08:48 twisti
13331 * configure.ac (opcodes): Check for disassembler symbol as
13332 init_disassemble_info isn't defined everywhere, like NetBSD.
13334 2006-03-29 23:11 twisti
13336 * src/vm/jit/powerpc/netbsd: New directory.
13337 * src/vm/jit/powerpc/netbsd/md-abi.h: New file.
13338 * src/vm/jit/powerpc/netbsd/md-os.c: Likewise.
13339 * src/vm/jit/powerpc/netbsd/md-asm.h: Likewise.
13340 * src/vm/jit/powerpc/netbsd/Makefile.am: Likewise.
13341 * src/vm/jit/powerpc/netbsd/md-abi.c: Likewise.
13342 * src/vm/jit/powerpc/netbsd/.cvsignore: Likewise.
13343 * configure.ac (host_os): Added NetBSD.
13344 (AC_CONFIG_FILES): Added src/vm/jit/powerpc/netbsd/Makefile.
13346 2006-03-28 15:43 twisti
13348 * tests/regression/codepatching/test.java: Made functions static
13350 --This line, and those below, will be ignored--
13354 2006-03-28 15:41 twisti
13356 * src/vm/jit/i386/codegen.c (codegen): Changed signature to use
13357 jitdata. Renamed reg_of_var by codegen_reg_of_var.
13358 * src/vm/jit/i386/codegen.h (M_COPY): Likewise.
13360 2006-03-28 15:14 twisti
13362 * configure.ac (AC_CONFIG_FILES): Added src/vm/jit/ifconv/Makefile.
13364 2006-03-28 15:10 twisti
13366 * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv.
13367 * src/vm/jit/ifconv: New directory.
13368 * src/vm/jit/ifconv/ifconv.c: New file.
13369 * src/vm/jit/ifconv/Makefile.am: Likewise.
13370 * src/vm/jit/ifconv/ifconv.h: Likewise.
13371 * src/vm/jit/ifconv/.cvsignore: Likewise.
13373 2006-03-28 14:52 twisti
13375 * src/vm/method.h (vm/jit/code.h): Added.
13376 (codeinfo, rplpoint, executionstate, sourcestate): typedef's removed.
13378 * src/vm/jit/codegen-common.c (codegendata): Removed code.
13379 (codegen_setup, codegen_finish, createnativestub, codegen)
13380 (intrp_codegen): Changed signature to use jitdata.
13381 (reg_of_var): Renamed to codegen_reg_of_var. Changed signature.
13382 (codegen_free): Removed.
13383 * src/vm/jit/codegen-common.h: Likewise.
13385 * src/vm/jit/stack.c (lock_show_icmd): Renamed to
13386 lock_stack_show_icmd.
13387 (analyse_stack): Renamed to stack_analyse. Changed signature to use
13389 (ICMD_IF_ICMPxx): Make ICMD_IFxx last instruction in basic block. This
13390 is required for if-conversion.
13391 (stack_print): Renamed to stack_print_stack.
13392 (show_icmd_method): Renamed to stack_show_method. Changed signature to
13394 (show_icmd_block): Renamed to stack_show_basicblock. Changed signature
13396 (show_icmd): Renamed to stack_show_icmd.
13397 * src/vm/jit/stack.h: Likewise.
13399 * src/vm/jit/code.h (codeinfo): Added typedef.
13401 * src/vm/jit/dseg.c (assert.h): Moved.
13402 (dseg_resolve_datareferences, dseg_display): Changed signature to use
13404 * src/vm/jit/dseg.h: Likewise.
13406 * src/vm/jit/verify/typecheck.c (typecheck): Changed signature to use
13408 * src/vm/jit/verify/typecheck.h: Likewise.
13410 * src/vm/jit/loop/loop.c (analyseGraph): Changed signature to use
13412 * src/vm/jit/loop/loop.h: Likewise.
13413 * src/vm/jit/loop/graph.c (depthFirst): Likewise.
13414 * src/vm/jit/loop/graph.h: Likewise.
13415 * src/vm/jit/loop/analyze.c (optimize_loops): Likewise.
13416 * src/vm/jit/loop/analyze.h: Likewise.
13417 * src/vm/jit/allocator/lsra.c (lsra): Likewise.
13418 * src/vm/jit/allocator/lsra.h: Likewise.
13419 * src/vm/jit/allocator/simplereg.c (interface_regalloc)
13420 (local_regalloc,allocate_scratch_registers): Likewise.
13421 * src/vm/jit/allocator/simplereg.h: Likewise.
13422 * src/vm/jit/parse.c (parse): Likewise.
13423 * src/vm/jit/replace.c (replace_create_replacement_points): Likewise.
13424 * src/vm/jit/intrp/codegen.c (intrp_codegen): Likewise.
13425 * src/vm/jit/reg.c (reg_setup): Likewise.
13426 * src/vm/jit/reg.h: Likewise.
13428 * src/vm/jit/jit.c (jit_compile): Use new function signatures and
13430 (jit_compile_intern): Changed signature to use jitdata.
13431 * src/vm/jit/jit.h (jitdata): Added.
13432 (ICMD_OPCODE_MASK): Likewise.
13433 (ICMD_CONDITION_MASK): Likewise.
13435 * src/vm/jit/replace.h (rplpoint, executionstate, sourcestate):
13437 (replace_create_replacement_points): Changed signature to use jitdata.
13439 * src/vm/jit/parse.h (INDEX_ONEWORD, INDEX_TWOWORD): Use goto.
13440 (parse): Changed signature to use jitdata.
13442 2006-03-28 14:31 twisti
13444 * src/vm/jit/x86_64/md.c (md_signal_handler_sigsegv)
13445 (md_signal_handler_sigfpe): Comment changes.
13447 2006-03-28 14:30 twisti
13449 * src/vm/jit/i386/codegen.c (createnativestub): Replaced _exceptionptr
13450 by _no_threads_exceptionptr.
13452 2006-03-28 14:22 twisti
13454 * NEWS: Added upcoming 0.96 release. Added miranda-methods fix.
13456 2006-03-28 14:21 twisti
13458 * src/tests/regression/native/checkjni.c (PushLocalFrame): New method.
13459 * src/tests/regression/native/checkjni.java (PushLocalFrame):
13461 (equal(int,int)): Likewise.
13462 * src/tests/regression/native/Makefile.am (NOTESTNAMES): Added.
13464 2006-03-28 11:54 twisti
13466 * src/vm/jit/x86_64/codegen.c (codegen): Renamed parentargs_base to
13468 * tests/regression/extest.2output: Updated.
13470 2006-03-28 10:42 twisti
13472 * src/vm/Makefile.am (noinst_LTLIBRARIES): Reformatted.
13474 2006-03-28 10:21 twisti
13476 * src/native/vm/VMClassLoader.c (loadClass): Smaller changes.
13478 2006-03-28 09:41 twisti
13480 * src/native/native.c (dummynativetable): Renamed getModifiers
13481 functions to getModifiersInternal due to GNU Classpath VM interface
13483 * src/native/vm/Constructor.c (getModifiers): Renamed to
13484 getModifiersInternal.
13485 * src/native/vm/Field.c (getModifiers): Likewise.
13486 * src/native/vm/Method.c (getModifiers): Likewise.
13488 2006-03-27 11:37 twisti
13490 * src/vm/class.c: Don't initialize classes to NULL.
13492 * src/vm/loader.c (loader_load_all_classes): Added NDEBUG.
13493 * src/vm/builtin.c (builtin_new): Likewise.
13494 * src/vm/jit/codegen-common.c (codegen_createnativestub): Likewise.
13495 (codegen_disassemble_nativestub): Likewise.
13496 * src/vm/jit/codegen-common.h (codegen_disassemble_nativestub):
13498 * src/vm/jit/stack.c (stack_print): Likewise.
13499 * src/vm/jit/stack.h (stack_print, show_icmd_method, show_icmd_block)
13500 (show_icmd): Likewise.
13501 * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
13502 * src/vm/linker.c (link_class_intern): Likewise.
13503 * src/cacao/cacao.c (main): Likewise.
13505 * src/vm/jit/x86_64/codegen.c: Likewise.
13506 * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Likewise.
13507 * src/vm/jit/x86_64/Makefile.am (DISASS_SOURCES): Added. Put into
13508 ENABLE_DISASSEMBLER.
13510 * src/vm/jit/jit.c (jit_compile_intern): Added ENABLE_LOOP.
13511 * src/vm/vm.c (vm_create): Added ENABLE_PROFILING.
13512 (vm_exit_handler): Likewise.
13514 * configure.ac (AC_ENABLE_SHARED, AC_DISABLE_STATIC): Removed. Set it
13516 (EXPORT_SYMBOLS_FLAGS): Removed.
13517 (--enable-disassembler): Added.
13518 (--ensable-loop): Likewise.
13519 (--ensable-profiling): Likewise.
13520 (--ensable-libjvm): Likewise.
13521 (--ensable-inlining): Moved.
13523 * src/vm/jit/Makefile.am (LOOP_LIB): Added. Put into ENABLE_LOOP.
13524 (PROFILE_LIB): Put into ENABLE_PROFILING.
13525 * src/cacao/Makefile.am (cacao_LDFLAGS): Use -export-dynamic and let
13526 libtool do the work. Add -all-static for ENABLE_STATICVM.
13528 * src/lib/Makefile.am: Made it -j aware.
13530 * src/vm/resolve.c (config.h, vm/global.h): Added.
13531 * src/vm/classcache.c (config.h): Moved to top.
13533 * src/vm/exceptions.h: Small change.
13535 2006-03-27 11:15 twisti
13537 * src/vm/utf8.c: Removed superfluous comment.
13539 2006-03-24 11:50 motse
13541 * src/cacao/cacao.c (main): remove debug code
13543 2006-03-23 12:48 edwin
13545 * src/vm/jit/parse.h (bound_check): Renamed to CHECK_BYTECODE_INDEX,
13547 a NOP for ENABLE_VERIFIER undefined.
13548 (bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE,
13550 a NOP for ENABLE_VERIFIER undefined.
13552 * src/vm/jit/parse.c (fillextable): Cleaned up.
13553 (bound_check): Renamed to CHECK_BYTECODE_INDEX.
13554 (bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE.
13555 (parse): Only do checks if ENABLE_VERIFIER is defined.
13557 2006-03-23 11:22 edwin
13559 * src/vm/jit/parse.c (CHECK_END_OF_BYTECODE): Added a macro for
13561 the end of the bytecode that becomes a NOP if ENABLE_VERIFIER is
13564 2006-03-23 02:06 edwin
13566 * src/vm/jit/parse.c (parse): Uncuddled else's.
13568 2006-03-23 00:56 edwin
13570 * src/vm/jit/powerpc/darwin/md-asm.h (_asm_replacement_out)
13571 (_asm_replacement_in, _replace_me): Added #defines for Darwin.
13573 2006-03-23 00:30 edwin
13575 * src/vm/jit/stack.h (CHECK_STACK_DEPTH): Added. Uses goto to a common
13576 label for stack depth mismatches.
13577 (MARKREACHED): Use CHECK_STACK_DEPTH, which becomes a NOP if
13578 ENABLE_VERIFIER is undefined.
13580 * src/vm/jit/stack.c (anaylse_stack): Use CHECK_STACK_DEPTH.
13581 Added common label `throw_stack_depth_error` for stack depth
13585 2006-03-23 00:08 edwin
13587 * src/vm/global.h (TYPECHECK_STACK_COMPCAT): Replaced by
13589 The separation made no sense, anyway.
13591 * src/vm/jit/stack.c (TYPECHECK_STACK_COMPCAT): Replaced by
13593 (analyse_stack): Removed code duplication by branching to a common
13595 for all computational category errors: throw_stack_category_error.
13597 2006-03-22 23:51 edwin
13599 * src/vm/jit/stack.h (BBEND): Inlined this macro (used only once) at
13601 call site in stack.c.
13603 * src/vm/jit/stack.c (analyse_stack): Inlined BBEND macro and cleaned
13607 2006-03-22 23:29 edwin
13609 * src/vm/jit/stack.c (analyse_stack): Removed obsolete label
13612 2006-03-22 23:27 edwin
13614 * src/vm/jit/jit.h (ICMD_READONLY_ARG, ICMD_CLEAR_ARGREN): Removed.
13616 * src/vm/jit/stack.c (analyse_stack): Removed obsolete argument
13619 * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed
13620 ICMD_READONLY_ARG and ICMD_CLEAR_ARGREN.
13622 2006-03-22 23:17 edwin
13624 * src/vm/jit/stack.h (TYPE_VERIFYERROR): Changed to CHECK_BASIC_TYPE.
13626 macro now becomes a NOP if ENABLE_VERIFIER is undefined. Otherwise it
13628 a goto to the common label throw_stack_type_error in order to save
13631 * src/vm/jit/stack.c (analyse_stack): Added variable `expectedtype`
13633 by CHECK_BASIC_TYPE. Added label throw_stack_type_error.
13635 2006-03-22 20:59 edwin
13637 * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Save/restore stack
13639 properly. Fixed copy&paste error in restoring callee-save registers.
13641 2006-03-22 18:32 edwin
13643 * src/vm/jit/stack.c (analyse_stack): Added throw_stack_overflow
13646 * src/vm/jit/stack.h (CHECKOVERFLOW): Make this a NOP if
13649 (REQUIRE): Use #if defined(...)
13651 2006-03-22 17:25 edwin
13653 * src/vm/jit/stack.h (REQUIRE): Made a NOP if ENABLE_VERIFIER is
13656 * src/vm/jit/stack.c (analyse_stack): Only define
13657 throw_stack_underflow
13658 if ENABLE_VERIFIER is defined.
13659 (jit_type): Do not define that for NDEBUG.
13661 2006-03-22 17:14 edwin
13663 * src/vm/jit/stack.h (REQUIRE): Avoid duplication of exception
13666 * src/vm/jit/stack.c (analyse_stack): Added label
13667 throw_stack_underflow
13668 for the REQUIRE macro.
13670 2006-03-22 15:30 edwin
13672 * src/vm/jit/powerpc/md.c (DISASSINSTR): #ifdef'ed
13673 * src/vm/jit/alpha/md.c (DISASSINSTR): #ifdef'ed
13674 * src/vm/jit/i386/md.c (DISASSINSTR): #ifdef'ed
13675 * src/vm/jit/x86_64/md.c (DISASSINSTR): #ifdef'ed
13676 * src/vm/jit/mips/md.c (DISASSINSTR): #ifdef'ed
13678 2006-03-22 12:35 edwin
13680 * src/vm/jit/inline/inline.c (stack_depth): Moved here from
13682 (NDEBUG): Put debug stuff inside #ifndef NDEBUG.
13684 * src/vm/jit/inline/inline_debug.c (stack_depth): Moved to inline.c
13686 2006-03-22 09:19 edwin
13688 * src/vm/jit/inline/inline_debug.c (debug_dump_stack): Fixed warning
13690 platforms that don't define NULL as a pointer.
13692 2006-03-22 01:22 edwin
13694 * src/vm/jit/inline/inline.c (relocate_stack_ptr_inter,
13698 * src/vm/jit/inline/inline_debug.c (DEBUG_SLOT, dump_inline_tree):
13701 2006-03-21 14:07 twisti
13703 * src/vm/jit/i386/codegen.h (ALIGNCODENOP): Added.
13705 * src/vm/jit/i386/codegen.c (codegen): Renamed to parentargs_base to
13706 stackframesize. Align stack to 16-bytes.
13707 (ICMD_GOTO): Use ALIGNCODENOP.
13709 * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Align stack to
13710 16-bytes. Use register defines for better readability.
13712 2006-03-21 11:58 twisti
13714 * src/vm/jit/Makefile.am: Removed ifconv. Again...
13716 2006-03-21 11:50 twisti
13718 * configure.ac (AC_INIT): Changed cvs to svn.
13719 (--enable-inlining): Added.
13721 * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv.
13722 (ENABLE_IFCONV): Added. Use IFCONV_LIB.
13723 (USE_INLINING): Renamed to ENABLE_INLINING.
13725 2006-03-21 07:57 edwin
13727 * src/vm/jit/alpha/codegen.c (codegen): Comment 16-byte stack
13730 * src/vm/jit/alpha/asmpart.S (asm_replacment_out): Fix comment about
13733 2006-03-21 07:42 edwin
13735 * src/vm/jit/alpha/asmpart.S (REPLACEMENT_ROOM): Fixed deleted
13738 2006-03-21 04:14 edwin
13740 * src/vm/jit/inline/Makefile.am (AM_CPPFLAGS): Added OS include dir.
13742 2006-03-21 03:15 edwin
13744 * src/vm/jit/inline/inline_debug.c: Added file.
13746 2006-03-21 00:13 edwin
13748 * src/vm/jit/inline/inline.c: Committed the inliner. This code works
13750 it is still in prototyping stage.
13752 * src/vm/jit/parse.c (parse): Added (#if 0-ed) code for storing the
13753 exception table that the inliner uses.
13755 2006-03-21 00:04 motse
13757 major rework of jvmti. now we have three processes in jvmti mode.
13758 there are still many debug statements
13760 2006-03-20 23:56 edwin
13762 * src/vm/jit/code.h (codeinfo): Comment that profiling fields
13765 2006-03-20 15:41 edwin
13767 * src/vm/jit/alpha/asmpart.S (asm_replacement_out): 16-byte align
13770 2006-03-20 15:37 edwin
13772 * doc/stack_frames.txt: Some fixes, described PowerPC stack frames.
13774 2006-03-20 15:12 twisti
13776 * src/vm/jit/alpha/codegen.c (codegen): Align stack to 16-bytes in
13778 * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Load GP before
13781 2006-03-20 14:43 twisti
13783 * autogen.sh, src/boehm-gc/autogen.sh: Prefix all shell variables with
13784 CACAO_ to prevent problems on OpenBSD.
13786 2006-03-20 14:27 twisti
13788 * src/boehm-gc/darwin_stop_world.c,
13789 src/boehm-gc/threadlibs.c,
13790 src/boehm-gc/doc/README.changes,
13791 src/boehm-gc/doc/README,
13792 src/boehm-gc/doc/gcinterface.html,
13793 src/boehm-gc/mark.c,
13794 src/boehm-gc/include/gc.h,
13795 src/boehm-gc/include/gc_cpp.h,
13796 src/boehm-gc/include/gc_pthread_redirects.h,
13797 src/boehm-gc/include/leak_detector.h,
13798 src/boehm-gc/include/gc_config_macros.h,
13799 src/boehm-gc/include/private/gc_priv.h,
13800 src/boehm-gc/include/private/gcconfig.h,
13801 src/boehm-gc/include/private/gc_pmark.h,
13802 src/boehm-gc/include/private/gc_locks.h,
13803 src/boehm-gc/configure.in,
13804 src/boehm-gc/allchblk.c,
13805 src/boehm-gc/powerpc_darwin_mach_dep.s,
13806 src/boehm-gc/dbg_mlc.c,
13807 src/boehm-gc/version.h,
13808 src/boehm-gc/pthread_stop_world.c,
13809 src/boehm-gc/malloc.c,
13810 src/boehm-gc/headers.c,
13811 src/boehm-gc/pthread_support.c,
13812 src/boehm-gc/Makefile.direct,
13813 src/boehm-gc/os_dep.c,
13814 src/boehm-gc/Makefile.am,
13815 src/boehm-gc/dyn_load.c,
13816 src/boehm-gc/alloc.c,
13817 src/boehm-gc/misc.c: Updated to upstream version 6.7.
13819 2006-03-19 19:46 edwin
13821 * src/vm/jit/code.c (code_get_stack_frame_size): Implement stack
13825 * src/vm/jit/mips/md.c (md_patch_replacement_point): Added.
13827 * src/vm/jit/mips/codegen.c (codegen): Handle replacement points.
13828 8-byte align blocks that start with replacement points.
13830 * src/vm/jit/mips/asmpart.S (asm_replacement_out): Added.
13831 (asm_replacement_in): Likewise.
13833 * src/vm/jit/replace.c (replace_activate_replacement_point): Activated
13835 (replace_deactivate_replacement_poin): Likewise.
13836 (replace_me): Likewise.
13837 (replace_read_executionstate): MIPS also keeps returnAddress in ITMP1.
13838 (replace_write_executionstate): Likewise.
13840 * doc/stack_frames.txt: Documented MIPS stack frames.
13842 * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Fixed comment.
13844 2006-03-18 04:14 edwin
13846 * src/vm/jit/powerpc/md.c (md_patch_replacement_point): Added.
13848 * src/vm/jit/powerpc/codegen.c (codegen): Handle replacement points.
13850 * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Added.
13851 (asm_replacement_in): Likewise.
13853 * src/vm/jit/alpha/codegen.c (codegen): Added missing initialization
13854 of `replacementpoint`.
13856 * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Store PV register.
13858 * src/vm/jit/code.c (code_get_sync_slot_count): Ported to PowerPC.
13859 (code_get_stack_frame_size): Likewise.
13861 * src/vm/jit/replace.c (replace_activate_replacement_point)
13862 (replace_deactivate_replacement_poin): Activated for PowerPC.
13863 (replace_read_value, replace_write_value): Added.
13864 (replace_read_executionstate): Ported to PowerPC, more complete
13865 data type handling.
13866 (replace_write_executionstate): Ported to Ported, more complete
13867 data type handling, fixed missing initialization of `topslot`.
13868 (replace_me): Activated for PowerPC.
13870 2006-03-16 23:32 edwin
13872 * src/vm/jit/alpha/codegen.c (codegen): Use `disp` for displacement.
13874 2006-03-16 21:12 edwin
13876 * src/vm/jit/alpha/md.c (Changes): Added my name.
13878 2006-03-16 21:11 edwin
13880 * src/vm/jit/alpha/md.c (md_patch_replacement_point): Added.
13881 (vim boilerplate): Added.
13883 * src/vm/jit/replace.c (replace_activate_replacement_point)
13884 (replace_deactivate_replacement_point, replace_me):
13885 Activated replacement for alpha.
13887 2006-03-16 20:31 edwin
13889 * src/vm/jit/alpha/asmpart.S (asm_replacement_out)
13890 (asm_replacement_in): Use stt/ldt for float registers.
13892 * src/vm/jit/alpha/codegen.c (codegen): Put replacement-out stub
13893 generation in correct scope. Fix warnings.
13895 2006-03-16 19:55 edwin
13897 * src/vm/jit/alpha/codegen.c (codegen): Handle replacement points.
13899 * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Added.
13900 (asm_replacement_in): Likewise.
13901 (vim boilerplate): Added.
13903 2006-03-16 19:36 edwin
13905 * src/vm/jit/replace.c (replace_read_executionstate)
13906 (replace_write_executionstate): Position of synchronization slot must
13907 be calculated from low addresses up, instead of backwards from stack
13910 2006-03-16 19:00 edwin
13912 * src/vm/jit/replace.c (replace_create_replacement_points): Set
13915 2006-03-16 18:57 edwin
13917 * src/vm/jit/code.c (code_codeinfo_new): Set codeinfo.isleafmethod.
13919 2006-03-16 18:44 edwin
13921 * src/vm/jit/x86_64/codegen.c (codegen): Reuse `disp` variable.
13922 * src/vm/jit/i386/codegen.c (codegen): Likewise.
13924 2006-03-16 18:38 edwin
13926 * src/vm/jit/i386/asmpart.S (asm_replacement_out): Added pv.
13927 * src/vm/jit/x86_64/asmpart.S (asm_replacement_out): Added pv.
13929 * src/vm/jit/replace.c (replace_read_executionstate)
13930 (replace_write_executionstate): Prepared for alpha. Some cleanup.
13932 * src/vm/jit/replace.c (replace_write_executionstate):
13933 Calculate stack pointer from given stack base.
13934 (replace_executionstate_println): Added pv.
13935 (replace_sourcestate_println): Added stackbase.
13937 * src/vm/jit/replace.h (executionstate): Added pv.
13938 (sourcestate): Added stackbase.
13940 * src/vm/jit/tools/genoffsets.c (main): Added offes_pv.
13942 * doc/stack_frames.txt: Clarifications.
13944 2006-03-16 18:32 edwin
13946 * src/vm/jit/code.c (code_get_sync_slot_count): No synchronization
13948 if USE_THREADS is undefined.
13949 (code_get_stack_frame_size): Added x86_64 alignment slot.
13951 2006-03-16 17:29 edwin
13953 * doc/stack_frames.txt: Added description of x86_64 stack frames.
13955 2006-03-16 17:24 twisti
13957 * src/vm/jit/mips/md.c (sys/cachectl.h): Added.
13958 (md_cacheflush, md_icacheflush, md_dcacheflush): New method.
13960 * src/vm/jit/mips/codegen.c: Use new exception stubs.
13961 * src/vm/jit/mips/codegen.h (gen_nullptr_check, gen_bound_check)
13962 (gen_div_check): Use new add reference functions.
13964 * src/vm/jit/mips/patcher.c: Replaced cacheflush with md_icacheflush
13967 * src/vm/jit/mips/asmpart.S: (asm_calljavafunction): Removed.
13968 (asm_calljavafunction2): Renamed to asm_vm_call_method. Pointer to
13969 vm_arg block is now in a2. Use new defines.
13971 2006-03-16 17:22 edwin
13973 * doc/stack_frames.txt: Added description of alpha stack frames.
13975 2006-03-16 17:16 twisti
13977 * src/vm/vm.c (version): Check if __VERSION__ is defined.
13979 2006-03-16 15:36 twisti
13981 * src/vm/jit/x86_64/md.c (md_cacheflush): New method.
13983 2006-03-16 15:28 edwin
13985 * src/vm/jit/alpha/codegen.c (codegen): Cast to avoid compiler
13988 2006-03-16 15:19 twisti
13990 * src/vm/jit/alpha, src/vm/jit/alpha/linux,
13991 src/vm/jit/alpha/linux/.cvsignore, src/vm/jit/alpha/freebsd,
13992 src/vm/jit/alpha/freebsd/.cvsignore, src/vm/jit/alpha/.cvsignore:
13995 2006-03-16 15:16 twisti
13997 * src/vm/jit/alpha/md.c (md_cacheflush, md_icacheflush): New method.
13998 * src/vm/jit/alpha/asmpart.S (asm_sync_instruction_cache): Renamed to
14000 * src/vm/jit/alpha/patcher.c: Replaced asm_sync_instruction_cache with
14003 2006-03-16 14:29 twisti
14005 * src/vm/jit/i386/md.c (md_cacheflush): New method.
14007 2006-03-16 14:23 twisti
14009 * src/vm/jit/powerpc, src/vm/jit/powerpc/linux,
14010 src/vm/jit/powerpc/linux/.cvsignore, src/vm/jit/powerpc/darwin,
14011 src/vm/jit/powerpc/darwin/.cvsignore, src/vm/jit/powerpc/.cvsignore:
14014 2006-03-16 14:19 twisti
14016 * src/vm/jit/jit.h (md_cacheflush, md_icacheflush, md_dcacheflush):
14018 * src/vm/jit/asmpart.h (asm_sync_instruction_cache): Removed.
14020 * src/vm/jit/codegen-common.c (codegen_finish): Call md_cacheflush for
14021 the dynamic superinstructions (intrp) and the generated code.
14023 * src/vm/jit/powerpc/codegen.c: Use new exception stubs.
14024 * src/vm/jit/powerpc/codegen.h (gen_nullptr_check, gen_bound_check):
14025 Use new add reference functions.
14027 * src/vm/jit/powerpc/md.c (vm/jit/asmpart.h): Added.
14028 (md_cacheflush, md_icacheflush, md_dcacheflush): New function.
14029 * src/vm/jit/powerpc/patcher.c: Use new cache flush functions.
14031 2006-03-16 14:00 twisti
14033 * src/cacao/cacao.c (mm/boehm.h, mm/memory.h): Removed.
14035 2006-03-16 13:59 twisti
14037 * src/vm/jit/intrp/engine.c (USE_spTOS): Define it for __POWERPC__,
14038 __POWERPC64__, __SPARC__. We know we need it there.
14040 2006-03-16 13:56 twisti
14042 * tests/regression/native/Makefile.am (AM_CPPFLAGS): Added OS_DIR.
14044 2006-03-16 12:53 twisti
14046 * src/vm/jit/tools/Makefile.am, src/vm/jit/verify/Makefile.am,
14047 src/vm/jit/loop/Makefile.am, src/vm/jit/profile/Makefile.am,
14048 src/cacao/Makefile.am, src/native/tools/Makefile.am,
14049 src/native/vm/Makefile.am, src/native/Makefile.am,
14050 src/toolbox/Makefile.am, src/mm/Makefile.am, src/cacaoh/Makefile.am
14051 (AM_CPPFLAGS): Added OS_DIR.
14053 2006-03-16 12:03 twisti
14055 * src/vm/jit/alpha/codegen.c: Use new exception stubs.
14056 * src/vm/jit/alpha/codegen.h (gen_nullptr_check, gen_bound_check): Use
14057 new add reference functions.
14059 2006-03-16 04:38 edwin
14061 * src/vm/jit/replace.h (RPLPOINT_SBR): Removed obsolete flag constant.
14063 2006-03-16 04:17 edwin
14065 * src/vm/jit/code.c (code_codeinfo_new): Commented.
14066 (code_get_sync_slot_count): Added.
14067 (code_get_stack_frame_size): Commented.
14068 (code_codeinfo_free): Commented.
14069 (code_free_code_of_method): Commented. Some cleanup.
14071 * src/vm/jit/code.h (code_get_sync_slot_count): Added.
14073 * src/vm/jit/i386/codegen.c (codegen): Use cd->lastmcodeptr to avoid
14074 patching over basic block boundaries.
14075 * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
14077 * src/vm/jit/replace.h (rplpoint): `type` and `flags` added,
14078 `hashlink` removed.
14079 (sourcestate): Added slots for synchronized methods.
14081 * src/vm/jit/replace.c (replace_create_replacement_points): Store
14084 (replace_read_executionstate, replace_write_executionstate):
14085 Handle 2-word locals. Special handling for BBTYPE_SBR and BBTYPE_EXH
14087 Transfer synchronization slots.
14089 2006-03-16 00:05 edwin
14091 * src/vm/jit/code.c (code_get_stack_frame_size): Deal with 4/8-byte
14094 * src/vm/jit/tools/genoffsets.c (main): Offsets of intregs and
14097 * src/vm/jit/i386/asmpart.S (asm_replacement_out): Renamed regs to
14098 intregs. Some cleanup.
14100 * src/vm/jit/replace.c (replace_activate_replacement_point)
14101 (replace_deactivate_replacement_point): Enabled on x86_64.
14102 (replace_read_executionstate, replace_write_executionstate):
14103 Deal with 4/8-byte stackslots. Handle float registers.
14104 (replace_executionstate_println, replace_sourcestate_println):
14105 Print register names where possible.
14107 * src/vm/jit/x86_64/md.c (md_patch_replacement_point): Added.
14108 (vim boilerplate): Added.
14110 * src/vm/jit/x86_64/codegen.c (codegen): Handle replacement points.
14111 Generate replacement-out stubs.
14113 * src/vm/jit/x86_64/asmpart.S (asm_replacement_out,
14114 asm_replacement_in):
14116 (vim boilerplate): Added.
14118 * src/vm/jit/replace.h (executionstate): Separate registers into int
14119 and float registers. Some cleanup, use INT_REG_CNT, FLT_REG_CNT
14122 2006-03-15 21:27 edwin
14124 * src/vm/jit/replace.c (replace_read_executionstate): Commented.
14125 (replace_write_executionstate): Likewise, and set new PC here.
14126 (replace_me): Target PC is now set in replace_write_executionstate.
14128 2006-03-15 20:53 edwin
14130 * src/vm/jit/code.h (codeinfo): Changed regalloc to use rplalloc
14132 Added fields storing stack slot counts.
14134 * src/vm/jit/code.c, src/vm/jit/code.h (code_get_stack_frame_size):
14137 * src/vm/jit/replace.c (replace_create_replacement_points): Store full
14138 allocation info for locals and stack slots in rplalloc structs. Store
14139 number of stack slots.
14141 * src/vm/jit/replace.c (replace_read_executionstate): Added.
14142 (replace_write_executionstate): Likewise.
14144 * src/vm/jit/replace.c (replace_me): Use dump memory for sourcestate.
14145 Read an write executionstate. Do actual replace by calling
14148 * src/vm/jit/replace.c (replace_replacement_point_println)
14149 (replace_executionstate_println): Print new fields. Show correct
14152 (replace_sourcestate_println): Added.
14154 * src/vm/jit/replace.h (rplalloc): Added.
14155 (rplpoint): Changed regalloc fields to use rplalloc structs.
14156 (executionstate): Removed saved regs.
14157 (sourcestate): Added saved regs.
14158 (replace_executionstate_println): Now takes codeinfo* argument.
14159 (replace_sourcestate_println): Added.
14161 2006-03-15 20:43 edwin
14163 * doc/stack_frames.txt: Added arrows indicating increasing
14166 2006-03-15 20:42 edwin
14168 * src/vm/jit/asmpart.h (asm_replacement_in): Added prototype.
14170 2006-03-15 20:40 edwin
14172 * src/vm/jit/i386/asmpart.S (asm_replacement_out): Save all integer
14174 add space between stack frame and executionstate to accomodate
14178 * src/vm/jit/i386/asmpart.S (asm_replacement_in): Added.
14180 2006-03-15 20:38 edwin
14182 * src/vm/jit/tools/genoffsets.c (main): Added offset of pc and sp
14185 2006-03-15 17:17 twisti
14187 * src/vm/jit/i386/codegen.c: Use new exception stubs. Don't cast with
14189 * src/vm/jit/i386/codegen.h (M_MOV_IMM, M_IST_IMM, M_IST32_IMM)
14190 (M_PUSH_IMM): Added cast.
14191 (M_CMP, M_CMP_MEMBASE, M_CMP_IMM_MEMBASE): Added.
14193 2006-03-15 16:36 twisti
14195 * src/vm/jit/codegen-common.h (branchref): Removed.
14196 (codegendata): Removed xboundrefs, xnullrefs, xcastrefs, xstorerefs,
14197 xdivrefs and xexceptionrefs. Added exceptionrefs.
14198 (codegen_addxboundrefs, codegen_addxcastrefs, codegen_addxdivrefs)
14199 (codegen_addxstorerefs, codegen_addxnullrefs)
14200 (codegen_addxexceptionrefs): Removed.
14201 (codegen_add_arithmeticexception_ref)
14202 (codegen_add_arrayindexoutofboundsexception_ref)
14203 (codegen_add_arraystoreexception_ref)
14204 (codegen_add_classcastexception_ref)
14205 (codegen_add_nullpointerexception_ref)
14206 (codegen_add_fillinstacktrace_ref): New function.
14207 * src/vm/jit/codegen-common.c: Likewise.
14209 * src/vm/jit/dseg.h (exceptionref): New structure.
14211 * src/vm/jit/x86_64/codegen.c: Use new exception stubs. Don't cast
14213 * src/vm/jit/x86_64/codegen.h (M_MOV_IMM, M_IMOV_IMM): Added cast.
14215 * src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace): Moved.
14216 * src/vm/jit/stacktrace.h (STACKTRACE_inline_arithmeticexception)
14217 (STACKTRACE_inline_arrayindexoutofboundsexception)
14218 (STACKTRACE_inline_arraystoreexception)
14219 (STACKTRACE_inline_classcastexception)
14220 (STACKTRACE_inline_nullpointerexception)
14221 (STACKTRACE_inline_fillInStackTrace): Added functionptr defines.
14223 * src/vm/jit/jit.h (branchref): Added.
14225 2006-03-15 12:14 edwin
14227 * doc/stack_frames.txt: Added slots for synched methods.
14229 2006-03-15 12:04 edwin
14231 * doc/stack_frames.txt: Added file.
14233 * src/vm/jit/code.h (codeinfo): Rearranged fields.
14235 * src/vm/jit/i386/md.c, src/vm/jit/i386/asmpart.S,
14236 src/vm/jit/replace.c:
14239 2006-03-15 11:38 edwin
14241 * src/vm/jit/i386/md.c (md_patch_replacement_point): Generalized to
14242 activation and deactivation of replacement points.
14244 * src/vm/jit/i386/codegen.c (codegen): Prepare machine code for
14245 patching replacement points.
14247 * src/vm/jit/replace.c, src/vm/jit/replace.h
14248 (replace_deactivate_replacement_point): Added.
14250 * src/vm/jit/replace.c
14251 (replace_replacement_point_println): Print machine code.
14253 * src/vm/jit/replace.h (rplpoint): Added `mcode` field.
14255 2006-03-15 11:18 twisti
14257 * src/vm/jit/i386/codegen.c (GETFIELD, PUTFIELD, PUTFIELDCONST): Use
14258 M_ILD32 and M_LLD32 macros.
14259 (patcher): Save REG_ITMP3. Don't allocate a codegendata structure,
14260 just do it as on Alpha.
14261 * src/vm/jit/i386/codegen.h (var_to_reg_lng): Added.
14262 (store_reg_to_var_lng): Likewise.
14263 (M_ILD32, M_LLD, M_LLD32, M_IST32, M_IST32_IMM, M_LST, M_LST32)
14264 (M_LST_IMM, M_LST32_IMM): Likewise.
14266 * src/vm/jit/i386/patcher.c: Changed position of return address due to
14267 saving of REG_ITMP3.
14268 * src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Changed due to
14269 saving of REG_ITMP3.
14271 2006-03-15 10:34 edwin
14273 * src/vm/jit/replace.c (replace_create_replacement_points): Don't use
14274 rd->locals in the interpreter -- it's NULL there.
14276 2006-03-15 05:13 edwin
14278 * src/vm/jit/codegen-common.c (codegen_finish): Removed a compiler
14281 2006-03-15 05:08 edwin
14283 * src/vm/jit/replace.h, src/vm/jit/i386/md.c
14284 (md_patch_replacement_point):
14287 * src/vm/jit/replace.c (replace_activate_replacement_point): Only call
14288 md_patch_replacement_point if ENABLE_JIT is defined.
14290 2006-03-15 04:57 edwin
14292 * src/vm/jit/replace.c (replace_activate_replacement_point): Do not
14294 the symbol md_patch_replacement_point on platforms where it does not
14297 2006-03-15 04:43 edwin
14299 * src/vm/jit/replace.h, src/vm/jit/replace.c
14300 (replace_activate_replacement_point): Added.
14301 (replace_activate): Added prototype.
14302 (md_patch_replacement_point): Added prototype.
14303 (replace_me): Added.
14304 (replace_replacement_point_println): Added.
14305 (replace_show_replacement_points): Cleaned up.
14306 (replace_executionstate_println): Added.
14308 * src/vm/jit/i386/codegen.c (codegen): Generate replacement-out stubs.
14310 * src/vm/jit/codegen-common.c (codegen_finish): Resolve replacement
14313 * src/vm/jit/asmpart.h, src/vm/jit/i386/asmpart.S
14314 (asm_replacement_out): Added.
14316 * src/vm/method.h (executionstate): Typo fixed.
14318 * src/vm/jit/stack.c (src/vm/jit/stack.c): Minor output change.
14320 * src/vm/jit/tools/genoffsets.c (executionstate): Added size and
14323 * src/vm/jit/i386/md.c (md_patch_replacement_point): Added.
14325 2006-03-15 01:50 edwin
14327 * src/vm/jit/replace.h, src/vm/jit/replace.c
14328 (replace_replacement_info_print): Renamed to
14329 replace_show_replacement_points.
14330 * src/vm/jit/stack.c: Likewise.
14332 2006-03-15 01:39 edwin
14334 * src/vm/jit/replace.c, src/vm/jit/replace.h
14335 (replace_create_replacement_points): Added.
14336 (replace_free_replacement_points): Added.
14337 (replace_replacement_info_print): Added.
14339 * src/vm/jit/replace.h (rplpoint): Changed fields, made fixed length.
14341 * src/vm/jit/code.h (codeinfo): Changed replacement point fields.
14343 * src/vm/jit/jit.c (jit_compile_intern): Create replacement points.
14345 * src/vm/jit/jit.c (jit_compile_intern): Use already allocated
14347 for do-nothing methods.
14349 * src/vm/jit/code.c (code_codeinfo_free): Free replacement points.
14351 * src/vm/jit/stack.c (show_icmd_method): Print replacement points.
14353 2006-03-15 00:06 edwin
14355 * src/vm/jit/stack.c, src/vm/jit/stack.h (icmd_print_stack): Renamed
14357 stack_print. Documented.
14358 (show_icmd_method, show_icmd_block, show_icmd): Documented.
14359 (show_icmd_block): Print basicblock.bitflags.
14361 * src/vm/jit/stack.h (MARKREACHED): Mark targets of backward branches
14362 as replacement points (BBFLAG_REPLACEMENT)
14364 2006-03-14 23:49 edwin
14366 * src/vm/jit/jit.h (basicblock): Added `bitflags` field. Note: The
14368 of this struct should really be cleaned up.
14370 * src/vm/jit/jit.h (BASICBLOCK_INIT): Added, so we have a central
14372 where to put initialization of the fields.
14374 * src/vm/jit/parse.c (parse): Cleaned up basicblock allocation.
14376 2006-03-14 23:16 edwin
14378 * src/vm/jit/jit.h (basicblock): Comment.
14380 2006-03-14 23:00 edwin
14382 * src/vm/jit/parse.c (fillextable): Removed unused label_index.
14385 * src/vm/jit/replace.h: Comment moved.
14387 2006-03-14 22:30 edwin
14389 * src/native/jvmti/jvmti.c (GetMethodLocation): Use the new
14390 m->code field to get to the location of the method.
14392 2006-03-14 22:16 edwin
14394 * src/vm/method.h (methodinfo): Moved `entrypoint` to `codeinfo`.
14395 * src/vm/loader.c (load_method): Likewise.
14397 * src/vm/loader.c (load_newly_created_array): Use codeinfo.entrypoint.
14398 * src/vm/builtin.c (builtin_trace_exception): Likewise. Note:
14400 we always use the current codeinfo. This is preliminary.
14402 * src/vm/jit/powerpc/codegen.c (codegen): Use cd->code->entrypoint.
14403 * src/vm/jit/alpha/codegen.c (createnativestub): Likewise.
14404 * src/vm/jit/dseg.c (dseg_resolve_datareferences): Likewise.
14405 * src/vm/jit/mips/codegen.c (codegen, createnativestub): Likewise.
14406 * src/vm/jit/i386/codegen.c (createnativestub): Likewise.
14407 * src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub)
14408 (createcalljavafunction): Likewise.
14409 * src/vm/jit/x86_64/codegen.c (createnativestub): Likewise.
14411 * src/vm/jit/intrp/codegen.c (nativecall): Use m->code->entrypoint.
14413 * src/vm/jit/codegen-common.h, src/vm/jit/codegen-common.c,
14414 src/cacaoh/headers.c (codegen_createnativestub): Now returns
14415 the created codeinfo instead of the entrypoint.
14417 * src/vm/jit/stacktrace.c (stacktrace_add_method): Find the codeinfo
14418 that contains the current PC. Note: This is preliminary. We should
14419 find the codeinfo * via the PV of the code containing the PC.
14421 * src/vm/jit/jit.c (jit_compile): Use m->code. Create a codeinfo
14422 for native stubs and the do-nothing stub
14424 * src/vm/jit/codegen-common.c (codegen_finish): Set entrypoint
14425 in codeinfo instead of in methodinfo.
14427 2006-03-14 20:59 edwin
14429 * src/vm/jit/code.c, src/vm/jit/replace.c, src/vm/jit/replace.h:
14430 Added GPL header and boilerplate.
14432 2006-03-14 20:57 edwin
14434 * src/vm/jit/code.h: Added GPL header and boilerplate.
14436 2006-03-14 20:51 edwin
14438 * src/vm/jit/code.c, src/vm/jit/code.h: Files added.
14440 * src/vm/jit/replace.c, src/vm/jit/replace.h: Files added.
14442 * src/vm/jit/Makefile.am (code.[ch], replace.[ch]): Added.
14444 * src/vm/method.h (methodinfo): Added field `code`. Each method
14445 may now have zero or more codeinfo:s associated with it. A
14446 codeinfo represents the machine code of a particular version
14447 of the compiled method. Note: Some fields in methodinfo that
14448 may need to be moved to codeinfo where marked XXX.
14450 * src/vm/jit/codegen-common.h (codegendata): Added field `code`.
14452 * src/vm/jit/codegen-common.c (codegen_setup): Allocate
14454 (codegen_finish): Use `code` field of codegendata.
14455 (codegen_createnativestub): Likewise.
14457 * src/vm/jit/stack.c (show_icmd_method, show_icmd_block):
14458 Use `code` field of codegendata.
14459 * src/vm/jit/dseg.c (dseg_display): Likewise.
14460 * src/vm/jit/jit.c (jit_compile_intern): Likewise. Switch
14461 current codeinfo after compilation is complete.
14463 * src/cacaoh/headers.c (code_free_code_of_method): Added stub.
14465 * src/vm/method.c (method_free): Free codeinfo:s of method.
14467 * src/vm/loader.c (load_method): Initialize m->code.
14469 2006-03-14 16:40 twisti
14471 * src/cacao/Makefile.am (ENABLE_STATICVM): Added cacao_LDFLAGS,
14472 otherwise the sumbols are not exported.
14474 * src/native/include/Makefile.am (ENABLE_STATICVM): Renamed to
14475 WITH_STATIC_CLASSPATH.
14477 2006-03-14 16:30 twisti
14479 * src/vm/jit/stacktrace.c (stacktrace_create): We have to check for an
14480 OOM when allocating from the heap. Fixes a crash in Jonas.
14482 2006-03-14 15:00 edwin
14484 * doc/design_onstack_replacement.txt: More design options added.
14486 2006-03-13 21:26 edwin
14488 * design_onstack_replacement.txt: Added file.
14490 2006-03-13 11:35 twisti
14492 * src/vm/vm.c (vm_create): Only put .jar file into classpath. Fixes
14493 startup bug with knopflerfish.
14495 2006-03-13 08:02 edwin
14497 * src/native/vm/VMClass.c (Java_java_lang_VMClass_getComponentType):
14498 Link class before accessing c->vftbl->arraydesc.
14500 2006-03-13 07:06 edwin
14502 * src/native/vm/VMClass.c (Java_java_lang_VMClass_getSuperclass): We
14504 assume that the class is already linked, so we have to resolve the
14506 reference. This fixes a NPE bug with Jonas.
14508 2006-03-12 23:23 twisti
14510 * src/vm/suck.c (suck_start): We really should close class files after
14513 2006-03-11 21:34 edwin
14515 * src/vm/resolve.c (resolve_class_from_typedesc): Safer check for
14518 2006-03-11 20:41 edwin
14520 * src/vm/jit/codegen-common.c (codegen_finish): When setting the
14521 entrypoint of a method, be sure not to overwrite an already set
14524 2006-03-11 20:34 edwin
14526 * src/vm/references.h (IS_XCLASSREF): Commented.
14528 2006-03-11 20:32 edwin
14530 * src/vm/references.h (IS_XCLASSREF): Added.
14531 (CLASSREF_OR_CLASSINFO_NAME): Added.
14533 2006-03-11 20:30 edwin
14535 * src/vm/class.c, src/vm/class.h (class_classref_print): Added.
14536 (class_classref_println): Added.
14538 2006-03-11 16:06 edwin
14540 * src/vm/jit/jit.c (jit_compile_intern): Check if the method has been
14541 compiled during static class initialization.
14543 2006-03-11 15:03 edwin
14545 * src/vm/method.c (vim boilerplate): Added.
14547 2006-03-11 15:01 edwin
14549 * src/vm/method.c (method_vftbl_lookup): Check ACC_INTERFACE on the
14550 class, instead of on the method, where it is not set. Do not check
14551 ACC_ABSTRACT here, because non-interface ACC_ABSTRACT methods are
14552 looked up just like non-abstract non-interface methods.
14554 2006-03-10 22:22 twisti
14556 * src/native/vm/VMRuntime.c (vm/options.h): Added.
14557 (nativeLoad): Print dlerror output when dlopen fails.
14559 2006-03-09 16:13 twisti
14561 * autogen.sh: Fixed typo.
14563 2006-03-09 13:51 twisti
14565 * src/vm/jit/powerpc/darwin/md-asm.h (asm_calljavafunction): Removed.
14566 (asm_calljavafunction_int): Likewise.
14567 (asm_calljavafunction2): Likewise.
14568 (asm_calljavafunction2int): Likewise.
14569 (asm_calljavafunction2long): Likewise.
14570 (asm_calljavafunction2float): Likewise.
14571 (asm_calljavafunction2double): Likewise.
14572 (_exceptionptr): Likewise.
14573 (asm_vm_call_method): Define added.
14574 (asm_vm_call_method_int): Likewise.
14575 (asm_vm_call_method_long): Likewise.
14576 (asm_vm_call_method_float): Likewise.
14577 (asm_vm_call_method_double): Likewise.
14579 2006-03-09 13:46 twisti
14581 * src/vm/jit/powerpc/patcher.c (patcher_get_putfield): Check for the
14582 instruction order on long fields.
14584 2006-03-09 13:26 twisti
14586 * autogen.sh: Check for installed programs and exit if no proper one
14588 * src/boehm-gc/autogen.sh: Use the programs found by top-level
14591 2006-03-08 09:44 twisti
14593 * src/native/jni.c (PushLocalFrame): Implemented.
14594 (PopLocalFrame): Likewise.
14595 (DeleteLocalRef): Walk through all local frames.
14596 (NewLocalRef): Allocate a new local frame if the current frame is out
14598 (EnsureLocalCapacity): Implemented.
14599 * src/vm/jit/codegen-common.c (codegen_finish_native_call): Release
14600 all local reference frames.
14602 2006-03-07 20:44 twisti
14604 * src/native/vm/VMClassLoader.c (nativeGetResources): Check if
14605 resource is a directory and don't add it.
14607 2006-03-07 19:32 twisti
14609 * src/vm/vm.c (usage): Small change.
14611 * src/native/vm/VMSystemProperties.c (preInit): Set java.ext.dirs to
14612 $JAVA_HOME/jre/lib/ext.
14614 2006-03-07 18:18 twisti
14616 * src/cacaoh/headers.c (intrp_main_stack): Changed type.
14618 2006-03-07 17:21 twisti
14622 2006-03-07 17:19 twisti
14626 2006-03-07 10:48 twisti
14628 * src/native/jni.c (_Jv_jni_CallIntMethodA): New function.
14629 (CallBooleanMethodA): Implemented.
14631 2006-03-07 10:36 twisti
14633 * src/vm/string.c (string_java_lang_StringIndexOutOfBoundsException):
14635 * src/vm/stringlocal.h: Likewise.
14637 * src/vm/exceptions.c
14638 (exceptions_new_stringindexoutofboundsexception): New function.
14639 (exceptions_throw_stringindexoutofboundsexception): Likewise.
14640 * src/vm/exceptions.h: Likewise.
14642 * src/native/jni.c (GetStringRegion): Implemented.
14644 2006-03-07 09:40 twisti
14646 * src/vm/vm.c (_Jv_jvm): Changed type to _Jv_JavaVM.
14647 * src/vm/vm.h (_Jv_jvm): Added.
14649 * src/native/jni.c (ptr_jvm): Removed.
14650 (ptr_env): Likewise.
14651 (CallStaticObjectMethodA): Implemented.
14652 (GetJavaVM): Return _Jv_jvm as vm.
14653 (AttachCurrentThread): Return _Jv_env as env.
14654 (GetEnv): Likewise.
14655 (JNI_JavaVMTable): Renamed to _Jv_JNIInvokeInterface.
14656 (JNI_JNIEnvTable): Renamed to _Jv_JNINativeInterface.
14657 (JNI_CreateJavaVM): Allocate a _Jv_JavaVM structure and set it up
14658 correctly, this fixes the usage in C++ programs.
14659 * src/native/jni.h (_Jv_JavaVM): Added.
14661 * src/native/jvmti/jvmti.c: Renamed JNI_JavaVMTable to
14662 _Jv_JNIInvokeInterface and JNI_JNIEnvTable to _Jv_JNINativeInterface.
14664 2006-03-06 18:45 christian
14666 * src/vm/jit/stack.c (analyse_stack): Bugfix for copy elimination.
14668 2006-03-06 13:03 twisti
14670 * src/vm/jit/powerpc/linux/Makefile.am (LIBS): Added defined empty, as
14671 * this makes problems on darwin and actually we do not need to link
14672 * the configured libraries into convenience libraries.
14673 * src/vm/jit/powerpc/darwin/Makefile.am: Likewise.
14674 * src/vm/jit/powerpc/Makefile.am: Likewise.
14675 * src/vm/jit/alpha/linux/Makefile.am: Likewise.
14676 * src/vm/jit/alpha/Makefile.am: Likewise.
14677 * src/vm/jit/alpha/freebsd/Makefile.am: Likewise.
14678 * src/vm/jit/tools/Makefile.am: Likewise.
14679 * src/vm/jit/verify/Makefile.am: Likewise.
14680 * src/vm/jit/mips/linux/Makefile.am: Likewise.
14681 * src/vm/jit/mips/Makefile.am: Likewise.
14682 * src/vm/jit/mips/irix/Makefile.am: Likewise.
14683 * src/vm/jit/loop/Makefile.am: Likewise.
14684 * src/vm/jit/inline/Makefile.am: Likewise.
14685 * src/vm/jit/allocator/Makefile.am: Likewise.
14686 * src/vm/jit/i386/linux/Makefile.am: Likewise.
14687 * src/vm/jit/i386/Makefile.am: Likewise.
14688 * src/vm/jit/i386/freebsd/Makefile.am: Likewise.
14689 * src/vm/jit/schedule/Makefile.am: Likewise.
14690 * src/vm/jit/intrp/Makefile.am: Likewise.
14691 * src/vm/jit/x86_64/Makefile.am: Likewise.
14692 * src/vm/jit/profile/Makefile.am: Likewise.
14693 * src/vm/jit/Makefile.am: Likewise.
14694 * src/vm/Makefile.am: Likewise.
14695 * src/native/tools/Makefile.am: Likewise.
14696 * src/native/vm/Makefile.am: Likewise.
14697 * src/native/Makefile.am: Likewise.
14698 * src/toolbox/Makefile.am: Likewise.
14699 * src/mm/Makefile.am: Likewise.
14700 * src/threads/native/Makefile.am: Likewise.
14701 * src/fdlibm/Makefile.am: Likewise.
14703 * src/cacaoh/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
14705 2006-03-06 00:30 twisti
14707 * src/vm/jit/powerpc/asmpart.S (asm_calljavafunction): Removed.
14708 (asm_calljavafunction2): Renamed to asm_vm_call_method.
14710 2006-03-05 23:53 twisti
14712 * src/vm/jit/alpha/asmpart.S (asm_calljavafunction): Removed.
14713 (asm_calljavafunction2): Renamed to asm_vm_call_method.
14715 2006-03-05 23:35 twisti
14717 * src/vm/jit/codegen-common.c (codegen_init): Removed
14718 asm_calljavafunction.
14719 * src/vm/jit/i386/asmpart.S (asm_calljavafunction): Removed.
14720 (asm_calljavafunction2): Renamed to asm_vm_call_method.
14722 2006-03-05 23:24 twisti
14724 * src/vm/vm.c (vm_call_method_intern): Removed.
14725 (vm_vmargs_from_valist): Added.
14726 (vm_vmargs_from_jvalue): Likewise.
14727 (vm_call_method): New function.
14728 (vm_call_method_valist): Likewise.
14729 (vm_call_method_jvalue): Likewise.
14730 (vm_call_method_vmarg): Likewise.
14731 (vm_call_method_int): Likewise.
14732 (vm_call_method_int_valist): Likewise.
14733 (vm_call_method_int_jvalue): Likewise.
14734 (vm_call_method_int_vmarg): Likewise.
14735 (vm_call_method_long): Likewise.
14736 (vm_call_method_long_valist): Likewise.
14737 (vm_call_method_long_jvalue): Likewise.
14738 (vm_call_method_long_vmarg): Likewise.
14739 (vm_call_method_float): Likewise.
14740 (vm_call_method_float_valist): Likewise.
14741 (vm_call_method_float_jvalue): Likewise.
14742 (vm_call_method_float_vmarg): Likewise.
14743 (vm_call_method_double): Likewise.
14744 (vm_call_method_double_valist): Likewise.
14745 (vm_call_method_double_jvalue): Likewise.
14746 (vm_call_method_double_vmarg): Likewise.
14747 * src/vm/vm.h: Likewise.
14749 * src/native/jni.c (_Jv_jni_fill_vmargs_from_vargs): Removed.
14750 (_Jv_jni_vmargs_from_args): Likewise.
14751 (_Jv_jni_CallObjectMethodA): New function.
14752 (_Jv_jni_CallObjectMethod): Use vm_call_method.
14753 (_Jv_jni_CallIntMethod): Likewise.
14754 (_Jv_jni_CallLongMethod): Likewise.
14755 (_Jv_jni_CallFloatMethod): Likewise.
14756 (_Jv_jni_CallDoubleMethod): Likewise.
14757 (_Jv_jni_CallVoidMethod): Likewise.
14758 (_Jv_jni_CallVoidMethodA): Likewise.
14759 (_Jv_jni_invokeNative): Likewise.
14760 (CallObjectMethodA): Implemented.
14762 * src/vm/loader.c (load_class_from_sysloader): Replaced
14763 vm_call_method_intern by vm_call_method.
14764 (load_class_from_classloader): Likewise.
14765 * src/vm/finalizer.c (finalizer_run): Likewise.
14766 * src/vm/initialize.c (initialize_class_intern): Likewise.
14767 * src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace):
14769 * src/vm/exceptions.c (throw_exception_exit_intern): Likewise.
14770 (new_arrayindexoutofboundsexception): Likewise.
14771 * src/vm/properties.c (properties_system_add): Likewise.
14772 * src/cacao/cacao.c (setup_debugger_process): Likewise.
14773 (getmainclassnamefromjar): Likewise.
14775 * src/native/vm/VMClassLoader.c (nativeGetResources): Likewise.
14776 * src/native/native.c (native_new_and_init): Likewise.
14777 (native_new_and_init_string): Likewise.
14778 (native_new_and_init_int): Likewise.
14779 (native_new_and_init_throwable): Likewise.
14780 * src/threads/native/threads.c (threads_init): Likewise.
14781 (threads_startup_thread): Likewise.
14782 * src/cacaoh/headers.c: Likewise.
14784 * src/vm/jit/x86_64/asmpart.S (asm_calljavafunction): Removed.
14785 (asm_calljavafunction2): Renamed to asm_vm_call_method.
14786 * src/vm/jit/intrp/asmpart.c: Likewise.
14787 * src/vm/jit/asmpart.h: Likewise.
14789 2006-03-05 23:05 twisti
14791 * tests/regression/native/testarguments.c (nlsub): Use %llx on all
14795 2006-03-05 21:54 christian
14797 * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
14798 Bugfix and reformatting.
14800 2006-03-05 15:51 twisti
14802 * src/vm/jit/i386/asmpart.S (asm_calljavafunction2): Pointer to vm_arg
14803 block is now in a2. Use new defines.
14805 2006-03-04 18:35 twisti
14807 * src/vm/jit/alpha/asmpart.S (asm_calljavafunction2): Pointer to
14808 vm_arg block is now in a2. Use new defines.
14810 2006-03-04 18:01 twisti
14812 * src/vm/jit/powerpc/asmpart.S (asm_calljavafunction2): Pointer to
14813 vm_arg block is now in a2. Use new defines.
14815 2006-03-04 17:19 twisti
14817 * src/vm/jit/asmpart.h (ASM_CALLJAVAFUNCTION): Removed.
14818 (ASM_CALLJAVAFUNCTION_ADR): Likewise.
14819 (ASM_CALLJAVAFUNCTION_INT): Likewise.
14820 (ASM_CALLJAVAFUNCTION2): Likewise.
14821 (ASM_CALLJAVAFUNCTION2_ADR): Likewise.
14822 (ASM_CALLJAVAFUNCTION2_INT): Likewise.
14823 (ASM_CALLJAVAFUNCTION2_LONG): Likewise.
14824 (ASM_CALLJAVAFUNCTION2_FLOAT): Likewise.
14825 (ASM_CALLJAVAFUNCTION2_DOUBLE): Likewise.
14826 (asm_calljavafunction2int): Changed signature.
14827 (asm_calljavafunction2long): Likewise.
14828 (asm_calljavafunction2float): Likewise.
14829 (asm_calljavafunction2double): Likewise.
14831 2006-03-04 17:15 twisti
14833 * src/vm/global.h (jni_callblock): Removed.
14835 * src/vm/vm.c (vm/vm.h): Added.
14836 (vm_call_method_intern): New function.
14837 (vm_call_method_intern_int): Likewise.
14838 (vm_call_method): Likewise.
14839 (vm_call_method_int): Likewise.
14840 (vm_call_method_long): Likewise.
14841 (vm_call_method_float): Likewise.
14842 (vm_call_method_double): Likewise.
14843 * src/vm/vm.h (vm_arg): Structure added.
14844 (vm_call_method_intern): New function.
14845 (vm_call_method_intern_int): Likewise.
14846 (vm_call_method): Likewise.
14847 (vm_call_method_int): Likewise.
14848 (vm_call_method_long): Likewise.
14849 (vm_call_method_float): Likewise.
14850 (vm_call_method_double): Likewise.
14852 * src/vm/jit/tools/genoffsets.c (vm/vm.h): Added.
14853 (sizejniblock): Renamed to sizevmarg.
14854 (offjniitemtype): Renamed to offvmargtype.
14855 (offjniitem): Renamed to offvmargdata.
14856 * src/vm/jit/x86_64/asmpart.S (asm_calljavafunction2): Pointer to
14857 vm_arg block is now in a2. Use new defines.
14859 * src/vm/jit/stacktrace.c (vm/vm.h): Added.
14860 (ASM_CALLJAVAFUNCTION): Replaced with vm_call_method_intern.
14861 * src/vm/exceptions.c: Likewise.
14862 * src/vm/properties.c: Likewise.
14863 * src/vm/loader.c: Likewise.
14864 * src/vm/finalizer.c: Likewise.
14865 * src/vm/initialize.c: Likewise.
14866 * src/cacao/cacao.c: Likewise.
14867 * src/native/vm/VMClassLoader.c: Likewise.
14868 * src/threads/native/threads.c: Likewise.
14870 * src/cacaoh/headers.c (asm_calljavafunction): Removed.
14871 (intrp_asm_calljavafunction): Likewise.
14872 (vm_call_method_intern): New function.
14874 * src/native/jni.c (fill_callblock_from_vargs): Renamed to
14875 _Jv_jni_vmargs_from_vargs.
14876 (fill_callblock_from_objectarray): Renamed to
14877 _Jv_jni_vmargs_from_objectarray.
14878 (_Jv_jni_vmargs_from_objectarray): New function.
14879 (_Jv_jni_CallVoidMethodA): Likewise.
14880 (ASM_CALLJAVAFUNCTION2): Replaced with appropriate vm_call_method
14882 (NewObjectA): Implemented.
14883 (CallVoidMethodA): Likewise.
14884 (CallNonvirtualVoidMethodA): Likewise.
14885 (CallStaticVoidMethodA): Likewise.
14887 2006-03-03 00:00 twisti
14889 * src/vm/linker.c (link_class_intern): Handle miranda methods
14891 * src/vm/global.h (ACC_MIRANDA): Defined.
14892 * src/native/vm/VMClass.c (getDeclaredMethods): Don't return miranda
14895 2006-03-01 17:00 twisti
14897 * src/vm/options.c: Renamed runverbose to opt_verbosecall.
14898 * src/vm/options.h: Likewise.
14899 * src/vm/jit/alpha/codegen.c: Likewise.
14900 * src/vm/jit/i386/codegen.c: Likewise.
14901 * src/vm/jit/intrp/codegen.c: Likewise.
14902 * src/vm/jit/mips/codegen.c: Likewise.
14903 * src/vm/jit/powerpc/codegen.c: Likewise.
14904 * src/vm/jit/x86_64/codegen.c: Likewise.
14905 * src/vm/jit/intrp/asmpart.c: Likewise.
14906 * src/vm/jit/intrp/dynamic-super.c: Likewise.
14907 * src/vm/jit/intrp/java.vmg: Likewise.
14909 * src/vm/builtin.c (builtin_trace_exception): Renamed runverbose to
14910 opt_verbosecall. Removed stacktrace printing code.
14911 * src/vm/exceptions.c (exceptions_handle_exception): Renamed
14912 runverbose to opt_verbosecall. Print exception stacktrace when caught.
14914 * src/vm/vm.c: Support Sun's commandline options and ignore them if
14915 not supported. Reordered options.
14917 * src/native/vm/VMObject.c (notify): Removed debug output.
14918 (notifyAll): Likewise.
14920 * src/native/vm/VMThread.c (suspend): Likewise.
14921 (resume): Likewise.
14922 (nativeSetPriority): Likewise.
14923 (nativeStop): Likewise.
14926 * src/native/vm/VMThrowable.c (fillInStackTrace): Renamed par1 to t.
14928 2006-02-23 14:08 twisti
14930 * src/vm/jit/intrp/dynamic-super.c (disassemble_prim): New function.
14931 (dynamic_super_init): Added disassembling of IADD, ILOAD and
14934 2006-02-22 14:03 twisti
14936 * src/vm/jit/i386/codegen.c (createnativestub): Renamed _exceptionptr
14937 to _no_threads_exceptionptr.
14939 2006-02-22 13:34 twisti
14941 * src/vm/jit/i386/codegen.c (mm/memory.h): Added.
14943 2006-02-21 16:17 twisti
14945 * configure.ac (VERSION_CONFIGURE_ARGS, VERSION_CC, VERSION_CFLAGS):
14947 * src/vm/vm.c (version): Print configure options, compiler version and
14950 2006-02-21 16:06 twisti
14952 * src/vm/jit/intrp/java.vmg (MULTIANEWARRAY): Use malloc instead of a
14953 dynamic-sized array (-fomit-frame-pointer).
14955 2006-02-21 13:43 twisti
14957 * src/vm/jit/intrp/codegen.c (cacao/cacao.h): Removed.
14959 (createnativestub): Replaced ENABLE_STATICVM with
14960 WITH_STATIC_CLASSPATH and &env by _Jv_env.
14962 * src/vm/jit/intrp/patcher.c: Replaced ENABLE_STATICVM by
14963 WITH_STATIC_CLASSPATH.
14964 * src/vm/jit/intrp/java.vmg: Likewise.
14966 * src/vm/vm.c (mm/memory.h): Added.
14967 (vm_create): Allocate the main thread interpreter stack on the Java
14970 2006-02-21 13:40 twisti
14972 * src/vm/jit/jit.c (jit_compile_intern): Replaced ENABLE_STATICVM by
14973 WITH_STATIC_CLASSPATH.
14975 2006-02-21 13:39 twisti
14977 * src/cacao/cacao.c (main): Added main utf variable for better
14980 2006-02-21 13:37 twisti
14982 * src/native/native.c: Small changes.
14984 2006-02-21 13:35 twisti
14986 * src/vm/loader.c (load_class_from_classloader): Added name
14987 java.lang.String variable for better debugability.
14989 2006-02-21 12:41 twisti
14991 * src/vm/jit/powerpc/asmpart.S: Rewritten for PIC code.
14993 2006-02-21 10:47 twisti
14995 * src/vm/jit/alpha/asmpart.S: Rewritten for PIC code.
14997 2006-02-21 10:39 twisti
14999 * src/vm/jit/x86_64/codegen.c (cacao/cacao.h): Removed.
15001 (createnativestub): Replaced ENABLE_STATICVM with
15002 WITH_STATIC_CLASSPATH and &env by _Jv_env.
15004 2006-02-21 10:25 twisti
15006 * src/vm/jit/i386/.cvsignore, src/vm/jit/i386/linux/.cvsignore: Added
15009 2006-02-21 09:34 twisti
15011 * src/vm/jit/i386/asmpart.S: Rewritten for PIC code.
15013 2006-02-21 09:31 twisti
15015 * src/threads/native/threads.c (vm/vm.h): Added.
15016 (threads_startup_thread): Compiler warning fix.
15018 2006-02-21 09:25 twisti
15020 * src/vm/jit/stacktrace.c (stacktrace_getCurrentClassLoader): Renamed
15021 to stacktrace_getCurrentClass and it returns the first Java method's
15022 class on the stack.
15023 * src/vm/jit/stacktrace.h (stacktrace_getCurrentClassLoader):
15026 2006-02-21 09:18 twisti
15028 * src/vm/jit/intrp/engine.c (cacao/cacao.h): Removed.
15030 2006-02-21 09:14 twisti
15032 * configure.ac (AC_CONFIG_FILES): Remvoed ifconv, not yet.
15034 2006-02-21 09:11 twisti
15036 * configure.ac: Default to AC_ENABLE_SHARED and AC_DISABLE_STATIC.
15038 (jni.h): Check for jni.h in GNU Classpath.
15039 (static-classpath): Added.
15041 * src/vm/vm.c, src/vm/vm.h: New files, contain the JVM startup code.
15042 * src/vm/Makefile.am (libvm_la_SOURCES): Added vm.[ch].
15044 * src/cacao/cacao.c: Removed JVM startup code.
15045 * src/cacao/cacao.h: Removed.
15046 * src/cacao/Makefile.am: Replaced ENABLE_STATICVM by
15047 WITH_STATIC_CLASSPATH.
15048 (ENABLE_STATICVM): Build a shared library when not defined.
15050 * src/vm/options.c, src/vm/options.h (mm/memory.h, native/jni.h):
15052 (native/jni.h): Added.
15053 (opt_ind): Renamed to opt_index.
15054 (opt_jar, opt_run, opt_method, opt_signature, opt_ifconv): Added.
15055 (get_opt): Renamed to options_get.
15056 (options_prepare): New method.
15058 * src/cacaoh/cacaoh.c (main): Use new option handling.
15060 * src/vm/jit/alpha/codegen.c, src/vm/jit/arm/codegen.c,
15061 src/vm/jit/i386/codegen.c, src/vm/jit/mips/codegen.c,
15062 src/vm/jit/powerpc/codegen.c (cacao/cacao.h): Removed.
15064 (createnativestub): Replaced ENABLE_STATICVM with
15065 WITH_STATIC_CLASSPATH and &env by _Jv_env.
15067 * src/vm/jit/patcher.h, src/vm/jit/alpha/patcher.c,
15068 src/vm/jit/arm/patcher.c, src/vm/jit/i386/patcher.c,
15069 src/vm/jit/mips/patcher.c, src/vm/jit/powerpc/patcher.c,
15070 src/vm/jit/x86_64/patcher.c: Replaced ENABLE_STATICVM by
15071 WITH_STATIC_CLASSPATH.
15073 * src/vm/jit/x86_64/asmpart.S: Rewritten for PIC code.
15075 * src/vm/signal.c (cacao/cacao.h): Removed.
15077 (signal_handler_sigint): Use vm_* functions.
15079 * src/native/native.c: Replaced ENABLE_STATICVM by
15080 WITH_STATIC_CLASSPATH.
15081 (cacao/cacao.h): Removed.
15082 (native_resolve_function): Smaller changes.
15084 * src/native/vm/VMRuntime.c: Replaced ENABLE_STATICVM by
15085 WITH_STATIC_CLASSPATH.
15086 (cacao/cacao.h): Removed.
15088 (execInternal): Removed.
15089 (exit): Use vm_shutdown.
15091 * src/native/native.h: Replaced ENABLE_STATICVM by
15092 WITH_STATIC_CLASSPATH.
15093 * src/native/Makefile.am: Likewise.
15094 * src/native/vm/VMSystemProperties.c: Likewise.
15096 * src/threads/native/threads.c (cacao/cacao.h): Removed.
15098 * src/native/jni.h: Removed our JNI stuff and include GNU Classpath's.
15099 * src/native/jni.c: Adapt to the new jni.h header.
15100 (Release<type>ArrayElements): Copy correct element type.
15101 (Get<type>ArrayRegion): Likewise.
15102 (Set<type>ArrayRegion): Likewise.
15104 2006-02-20 23:35 twisti
15106 * src/vm/global.h: Sorted java_<type>array definitions.
15108 2006-02-20 23:31 twisti
15110 * src/vm/linker.c (link_class_intern): Comment reformatted.
15112 2006-02-20 15:19 twisti
15114 * src/vm/jit/intrp/engine.c (USE_spTOS): Disable per default.
15116 2006-02-20 14:08 twisti
15118 * src/vm/classcache.c (classcache_new_name): Keep c89 compilers happy.
15120 2006-02-19 22:27 christian
15122 * src/vm/jit/jit.h: added define STKEEP
15124 * src/vm/jit/simplereg.c (reg_free_tmp_func): SAVEDTMP and TMPARG
15125 flags are not cleared anymore from Stackslots.
15126 (reg_alloc_dup): TEMPVARs are not reused as SAVEDVARs anymore. This
15127 has to be checked for conflicts.
15128 (reg_mark_copy): Added. TEMPVAR Destination Stackslots are marked here
15129 with STCOPY, if they use a duplicated register/memory location. Not
15130 reused register/memory locations of TEMPVAR source Stacklots are freed
15132 (allocate_scratch_registers): ICMD_DUPx and ICMD_SWAP use now the new
15135 2006-02-16 19:39 christian
15137 * src/vm/jit/stack.h (COPY): Prevent setting varkind to STACKVAR for
15138 stackslots copied by DUPx and SWAP.
15140 * src/vm/jit/stack.c (analyse_stack): Copy elimination and needed
15141 conflict resolution was implemented as
15142 described in the CACAO paper. As "potential exception throwing
15143 instruction" for now only INVOKE*s are
15144 regarded. Conflict resolution over DUPx and SWAP should be refined to
15145 be less conservative.
15146 * src/vm/jit/jit.c (jit_init): Stackreq for JAVA_IINC is set to 0
15147 again, since no dummy stackslot is
15148 needed anymore for conflict resolution with XSTORE.
15149 * src/vm/jit/allocator/simplereg.c (interface_regalloc): Reuse unused
15150 float and int argument registers
15151 for interfaces, too.
15152 (reg_free_temp): Regard the new stackslot flag STCOPY, before freeing
15153 a register/memory location.
15154 (reg_alloc_dup): New function to allocate, if possible, the same
15155 register/memory location for stackslot
15156 copied by DUPx and SWAP.
15157 (allocate_scratch_registers): The new function reg_alloc_dup is used
15158 now for allocation at ICMD_DUPx and
15159 ICMD_SWAP, if possible.
15160 * src/vm/jit/jit.h: Added STCOPY as stackslot flag to mark
15161 simultanously live stackslots with same
15162 register after DUPx and SWAP.
15163 * doc/stack.txt: Updated invariants to show the change with IINC (no
15164 dummy stacklot anymore).
15166 2006-02-14 20:27 edwin
15168 * src/native/jni.c (_Jv_jni_invokeNative): Cleanup.
15170 * src/native/jni.c (Changes): Added my name.
15172 * src/native/jni.c (vim boilerplate): Added.
15174 2006-02-14 20:10 edwin
15176 * src/native/jni.c (_Jv_jni_invokeNative): Look up _all_ instance
15180 2006-02-14 20:09 edwin
15182 * src/vm/linker.c (link_class_intern): Do not override
15183 package-private methods
15184 from other packages.
15186 * src/vm/linker.c (vim boilerplate): Added.
15188 2006-02-14 15:53 edwin
15190 * src/vm/classcache.c, src/vm/classcache.h: Merge cache entries when
15191 they are resolved to the same class.
15193 2006-02-14 15:34 edwin
15195 * src/vm/utf8.c, src/vm/utf8.h (utf_full_hashkey): Added.
15197 2006-02-14 11:01 twisti
15199 * configure.ac (AC_INIT): Changed version number to 0.95+cvs.
15200 (CFLAGS): Changed optimization back to -O0.
15202 2006-02-14 10:30 twisti
15204 * ChangeLog: Updated for release 0.95.
15206 2006-02-14 10:14 twisti
15208 * configure.ac: Updated version to 0.95, set optimization level to
15209 -O2, some indent changes.
15210 * ChangeLog-2005: Removed 2006 entries.
15212 2006-02-14 01:10 twisti
15214 * src/vm/jit/profile/profile.c (profile_thread): Fixed compiler
15217 2006-02-14 01:05 twisti
15219 * src/vm/jit/intrp/codegen.c (createcompilerstub): Store the
15220 methodinfo pointer in the same place as in the methodheader for
15223 2006-02-14 00:41 twisti
15225 * src/vm/jit/x86_64/codegen.c (createcompilerstub): Store the
15226 methodinfo pointer in the same place as in the methodheader for
15229 2006-02-14 00:33 twisti
15231 * contrib/svn2cl.xsl: New file.
15232 * THIRDPARTY (contrib/svn2cl.xsl): Added copyright message.
15234 2006-02-14 00:05 twisti
15236 * NEWS: Updated 0.95 release notes.
15238 2006-02-14 00:03 twisti
15240 * src/vm/loader.c (load_field): Removed f->xta.
15242 * src/vm/class.h (vm/method.h): Added.
15243 (vm/jit/inline/sets.h): Removed.
15245 * src/vm/method.h (vm/jit/inline/parseXTA.h): Removed.
15247 * src/vm/field.h (vm/jit/inline/parseXTA.h): Likewise.
15248 (fieldinfo): Removed member xta.
15250 * src/lib/Makefile.am (EXTRA_DIST): Fixed typo.
15252 2006-02-14 00:01 twisti
15254 * src/vm/jit/inline/sets.c, src/vm/jit/inline/parseRTstats.c,
15255 src/vm/jit/inline/parseRT.c, src/vm/jit/inline/parseRTflags.h,
15256 src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/sets.h,
15257 src/vm/jit/inline/parseRTstats.h, src/vm/jit/inline/parseRT.h,
15258 src/vm/jit/inline/parseXTA.c, src/vm/jit/inline/parseXTA.h: Removed.
15260 2006-02-13 23:45 twisti
15262 * src/vm/class.c (class_findmethod_approx): Removed.
15263 * src/vm/class.h (class_findmethod_approx): Likewise.
15264 (class_resolvemethod_approx): Likewise.
15266 2006-02-13 23:16 edwin
15268 * NEWS: Added JNI method resolution fix.
15270 2006-02-13 18:55 twisti
15272 * src/vm/method.c (assert.h): Added.
15273 (vm/linker.h): Likewise.
15274 (vm/jit/methodheader.h): Likewise.
15275 (method_vftbl_lookup): New method.
15277 * src/vm/method.h (vm/linker.h): Added.
15278 (method_vftbl_lookup): New method.
15280 Fixes bug #17 and #18.
15281 * src/native/jni.c: Complete rewrite of Call*Method code.
15283 2006-02-13 10:53 twisti
15285 * src/vm/utf8.c (utf_display): Some reformatting.
15286 (utf_display_classname): Likewise.
15288 2006-02-13 00:12 twisti
15290 * src/vm/jit/mips/codegen.c (createcompilerstub): Store the methodinfo
15291 pointer in the same place as in the methodheader for compiled methods.
15293 2006-02-12 23:43 twisti
15295 * src/vm/jit/alpha/md.c (md_assembler_get_patch_address): New method.
15296 (md_codegen_findmethod): Use assert's directly.
15298 * src/vm/jit/mips/md.c (md_assembler_get_patch_address): Likewise.
15299 (md_codegen_findmethod): Likewise.
15301 * src/vm/jit/alpha/codegen.c (createcompilerstub): Store the
15302 methodinfo pointer in the same place as in the methodheader for
15303 compiled methods and pass the pointer in REG_ITMP1.
15305 * src/vm/jit/alpha/md-asm.h (mptr): Defined.
15307 * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo
15308 pointer is passed via itmp1. Use md_assembler_get_patch_address to
15309 get the patch address.
15310 (asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer
15313 2006-02-12 23:22 twisti
15315 * src/vm/jit/powerpc/codegen.c (createcompilerstub): Store the
15316 methodinfo pointer in the same place as in the methodheader for
15319 * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo
15320 pointer is passed via itmp1.
15321 (asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer
15324 2006-02-12 22:08 edwin
15326 * src/threads/native/threads.c (threads_dump): Removed unused
15329 2006-02-12 21:57 edwin
15331 * src/native/vm/VMClass.c (Java_java_lang_VMClass_getDeclaredMethods):
15332 Cast to java_lang_Class in order to avoid compiler warning.
15334 * src/native/vm/VMClass.c (Changes): Added my name.
15336 * src/native/vm/VMClass.c (vim biolerplate): Added.
15338 2006-02-12 21:47 edwin
15340 * src/threads/native/threads.c (allocLockRecordSimple): Fixed
15344 2006-02-12 16:28 twisti
15346 * src/vm/jit/i386/codegen.c (createcompilerstub): Store the
15347 methodinfo* in the same place as in the methodheader for compiled
15350 2006-02-12 16:24 edwin
15352 * NEWS: Added directory check bugfix.
15354 2006-02-12 16:10 edwin
15356 * NEWS: Added two bugfixes.
15358 2006-02-12 16:02 edwin
15360 * src/vm/loader.c, src/vm/loader.h (vim boilerplate): Added.
15362 2006-02-12 13:11 twisti
15364 * src/vm/zip.c (zip_open): Don't add directories to the zipfile
15365 hashtable. We use the trailing `/' to identify a directory (i hope
15368 2006-02-12 12:59 christian
15370 * src/vm/jit/x86_64/md-abi.c (md_param_alloc): Regard use of A0 for
15371 returning float values.
15373 2006-02-12 02:18 edwin
15375 * src/native/vm/VMClassLoader.c (vim boilerplate): Added.
15377 2006-02-12 02:17 edwin
15379 * src/vm/classcache.c (classcache_store): Made classcache_store
15382 * src/native/vm/VMClassLoader.c
15383 (Java_java_lang_VMClassLoader_defineClass):
15384 Store defined class with classcache_store instead of just with
15385 classcache_store_defined, so it an initiating loader is recorded for
15387 class. This should solve problems with classes that are defined
15389 of a loadClass context (e.g. by java.lang.reflect.Proxy).
15391 2006-02-12 00:30 twisti
15393 * src/native/vm/VMClass.c (getDeclaredMethods): Set the method's class
15394 in java.lang.reflect.Method.
15396 * src/native/vm/Method.c (toolbox/logging.h, vm/jit/stacktrace.h):
15399 * src/native/vm/VMSystem.c (identityHashCode): Use casts.
15401 2006-02-12 00:25 twisti
15403 * src/vm/exceptions.c, src/vm/exceptions.h
15404 (exceptions_throw_nosuchmethoderror): New method.
15406 2006-02-11 21:25 christian
15408 * src/vm/jit/stack.h (COPY) All copied stackslots set to TEMPVAR.
15409 This prevents conflicts with LOCALVAR
15414 2006-02-07 23:18 edwin
15416 * src/vm/jit/stack.h (TYPE_VERIFYERROR): Converted most of body to a
15419 * src/vm/exceptions.c, src/vm/exceptions.h
15420 (exceptions_throw_verifyerror_for_stack): Added.
15422 * src/vm/exceptions.c, src/vm/exceptions.h (vim boilerplate): Added.
15424 2006-02-07 21:27 edwin
15426 * src/vm/jit/stack.h (vim boilerplate): Fixed.
15428 2006-02-07 21:15 twisti
15430 * NEWS: Added some stuff.
15432 2006-02-07 17:28 edwin
15434 * src/vm/jit/intrp/codegen.c (createcalljavafunction):
15435 Removed t_inlining_globals.
15437 2006-02-07 17:22 edwin
15439 * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h
15441 Removed t_inlining_globals argument.
15443 * src/vm/jit/codegen-common.c (codegen_finish): Prepared for inlined
15445 number tables. References with line number <-3 will not be relocated.
15447 * src/vm/jit/codegen-common.c (codegen_createnativestub):
15448 Removed t_inlining_globals and inlining_setup.
15450 * src/vm/jit/codegen-common.h (Changes): Added my name to 'Changes'.
15452 * src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h: Ripped out
15456 * src/vm/jit/jit.c: Removed inlining headers.
15458 * src/vm/jit/jit.c (INLINE_GOTO): Added instruction name to table.
15460 * src/vm/jit/jit.c (jit_compile_intern): Removed t_inlining_globals
15463 * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h,
15464 src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h (vim
15468 2006-02-07 16:52 edwin
15470 * src/vm/jit/i386/codegen.c (codegen): Prepared for inlining. The
15472 ICMD_INLINE_START, ICMD_INLINE_END, ICMD_INLINE_GOTO were
15474 at the start of exception handlers the indepth is no longer assumed
15477 2006-02-07 16:47 edwin
15479 * src/vm/jit/jit.h (Changes): Fixed tabs.
15481 2006-02-06 21:06 twisti
15483 * src/threads/native/threads.c, src/threads/native/threads.h
15484 (sleepThread): Renamed to thread_sleep.
15486 2006-02-06 21:01 twisti
15488 * src/cacao/cacao.c (vm/jit/profile.h): Changed to
15489 vm/jit/profile/profile.h.
15490 (main): profile_init and profile_start_thread calls added.
15492 2006-02-06 18:50 twisti
15494 * configure.ac (AC_CONFIG_FILES): Added src/vm/jit/profile/Makefile.
15496 2006-02-06 18:49 twisti
15498 * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added profile.
15499 (PROFILE_LIB): Added.
15500 (PROFILE_SOURCES): Removed.
15502 2006-02-06 18:48 twisti
15504 * src/vm/jit/profile/profile.c (profile_init): New method.
15505 (profile_thread): Likewise.
15506 (profile_start_thread): Likewise.
15507 * src/vm/jit/profile/profile.h (profile_init): Added.
15508 (profile_start_thread): Likewise.
15509 * src/vm/jit/profile/Makefile.am: New file.
15510 * src/vm/jit/profile/.cvsignore: Likewise.
15512 2006-02-06 18:34 twisti
15514 * src/vm/jit/profile.h: Moved to src/vm/jit/profile/.
15516 2006-02-06 18:33 twisti
15518 * src/vm/jit/profile.c: Moved to src/vm/jit/profile/.
15519 * src/vm/jit/profile: Added.
15521 2006-02-06 18:32 twisti
15523 * src/vm/jit/profile: Ooops.
15525 2006-02-06 18:31 twisti
15527 * src/vm/jit/profile.c: Moved to src/vm/jit/profile/.
15529 2006-02-06 18:14 twisti
15531 * src/vm/jit/allocator/Makefile.am: Use tabs instead of space.
15532 (INCLUDE): Renamed to AM_CPPFLAGS.
15534 2006-02-06 08:22 edwin
15536 * doc/Makefile.am (EXTRA_DIST): Added inlining_stacktrace.txt and
15537 native_threads.txt.
15539 2006-02-06 06:49 edwin
15541 * src/threads/native/threads.c: Minor cleanup.
15543 2006-02-06 06:46 edwin
15545 * src/threads/native/threads.c: Uncuddled `else`s and other cleanup.
15547 2006-02-06 06:16 edwin
15549 * doc/inlining_stacktrace.txt: Clarified, added entry after the
15551 for the rest of the line after the call.
15553 2006-02-06 05:00 edwin
15555 * src/vm/jit/i386/machine-instr.h (compare_and_swap): Commented.
15557 2006-02-06 04:50 edwin
15559 * doc/native_threads.txt: Added.
15561 2006-02-06 04:46 edwin
15563 * src/threads/native/threads.c (allocLockRecordPool): Relink the free
15565 of lock records when reusing a pool from the global_pool. This avoids
15566 cross-linking of lock record owned by different threads, and hopefully
15567 fixes our long-standing deadlock problem.
15569 * src/threads/native/threads.c (allocLockRecordSimple,
15571 (initObjectLock): Temporarily added assertions to shake out possible
15572 further bugs in the free list handling.
15574 * src/threads/native/threads.c (monitorEnter, monitorExit): Commented.
15576 * src/threads/native/threads.c (Changes): Added my name to 'Changes'.
15578 * src/threads/native/threads.c (vim boilerplate): Added.
15580 2006-02-06 01:28 edwin
15582 * src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Added.
15583 (stacktrace_add_method): Documented. Now uses
15584 stacktrace_add_method_intern.
15585 (stacktrace_getCurrentClassLoader): Documented.
15586 (stacktrace_dump_trace): Removed unused variable.
15587 (Changes): Added my name to 'Changes'.
15589 2006-02-06 01:08 edwin
15591 * src/vm/jit/verify/typecheck.c (verify_basic_block): Teach the
15593 about the new inline instructions ICMD_INLINE_START, ICMD_INLINE_END,
15594 and ICMD_INLINE_GOTO.
15596 2006-02-06 01:02 edwin
15598 * src/vm/jit/stack.c (analyse_stack): Set bptr->stack for each visited
15600 (show_icmd): Implemented printing of new inline instructions.
15602 2006-02-06 00:02 edwin
15604 * src/vm/jit/allocator/simplereg.c (ICMD_INLINE_GOTO): Added.
15605 (Changes): Added my name to 'Changes'.
15606 (vim boilerplate): Added.
15608 2006-02-05 23:34 edwin
15610 * src/vm/jit/allocator/lsra.c, src/vm/jit/allocator/lsra.h (lsra,
15612 Removed t_inlining_globals argument.
15613 (Changes): Added my name to 'Changes'.
15614 (vim boilerplate): Added.
15616 * src/vm/jit/jit.c (lsra): Removed t_inlining_globals argument.
15618 2006-02-05 23:24 edwin
15620 * src/vm/jit/jit.c (reg_setup): Removed t_inlining_globals argument.
15622 * src/vm/jit/codegen-common.c (reg_setup): Removed t_inlining_globals
15625 * src/vm/jit/reg.c, src/vm/jit/reg.h (reg_setup): Removed
15628 (Changes): Added my name to 'Changes'.
15629 (vim boilerplate): Added.
15631 2006-02-05 23:09 edwin
15633 * src/vm/jit/jit.h (Changes): Added my name to 'Changes'.
15635 2006-02-05 23:07 edwin
15637 * src/vm/jit/jit.h (ICMD_INLINE_GOTO): Added. Not used, yet.
15639 * src/vm/jit/jit.h (basicblock): Added 'stack' field. Not used, yet.
15641 * src/vm/jit/jit.h, src/vm/jit/jit.c (vim boilerplate): Added.
15643 2006-02-05 23:02 edwin
15645 * src/vm/jit/parse.c (parseRT.h, parseXTA.h, inline.h,
15647 No longer included.
15648 (parse): Removed t_inlining_globals * from arguments.
15650 * src/vm/jit/jit.c (parse): Removed t_inlining_globals * from
15653 2006-02-05 22:47 edwin
15655 * src/vm/jit/parse.c, src/vm/jit/parse.h (inline_env): Removed most
15657 (bound_check1): Renamed to bound_check_exclusive.
15659 2006-02-05 22:22 edwin
15661 * src/vm/jit/parse.c (useinlining): Removed.
15663 2006-02-05 17:36 edwin
15665 * doc/inlining_stacktrace.txt: Added warning about signedness.
15666 Fixed copy&paste errors.
15668 2006-02-05 15:26 edwin
15670 * doc/inlining_stacktrace.txt: Added.
15672 * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Added.
15673 (dseg_addlinenumber_inline_end): Added.
15674 (dseg_addlinenumber): Commented.
15675 (vim boilerplate): Added.
15677 * src/vm/jit/dseg.h (linenumberref): Changed for inlining stacktraces.
15678 Made targetmpc a ptrint, made linenumber s4, reordered fields.
15679 (dseg_addlinenumber_inline_start): Added.
15680 (dseg_addlinenumber_inline_end): Added.
15681 (vim boilerplate): Added.
15683 2006-02-05 13:52 stefan
15685 * src/threads/native/threads.h: waiting is correctly typed now
15686 (previous checkin was wrong).
15688 2006-02-05 13:39 stefan
15690 * src/threads/native/threads.c: Let's see if this improves the dead
15691 lock situation (waiter handling changed slightly).
15693 2006-02-05 12:22 twisti
15695 * tests/regression/native/.cvsignore (*.h, *.so): Added.
15697 2006-02-05 12:20 twisti
15699 * tests/regression/native/Makefile.am,
15700 tests/regression/codepatching/Makefile.am,
15701 tests/regression/Makefile.am (JAVAFLAGS): Use VM_ZIP_STRING and
15704 2006-02-05 12:03 twisti
15706 * src/vm/jit/powerpc/asmpart.S, src/vm/jit/alpha/asmpart.S,
15707 src/vm/jit/mips/asmpart.S, src/vm/jit/i386/asmpart.S,
15708 src/vm/jit/x86_64/asmpart.S, src/vm/jit/arm/asmpart.S: Disable
15709 executable stacks, this is required for Gentoo and we actually don't
15712 2006-02-05 00:40 twisti
15714 * src/vm/jit/stacktrace.c (stacktrace_create): Get the value of
15715 _no_threads_stackframeinfo, since it's a pointer, not a structure.
15716 (stacktrace_print_trace): Check for NULL value and return.
15717 * src/vm/exceptions.c (exceptions_handle_exception): Compiler warning
15719 (exceptions_print_exception): Check for NULL value, print it and
15722 2006-02-05 00:16 twisti
15724 * src/mm/memory.h (string.h): Moved after config.h.
15725 (OFFSET): Use internal datatypes.
15726 (NEW, MNEW): Use the proper GC macro when Gc is disabled.
15728 2006-02-05 00:13 twisti
15730 * src/mm/nogc.c (config.h): Moved in front of system headers.
15731 (heap_allocate): Call exceptions_throw_outofmemory_exit.
15732 (nogc_init): Likewise.
15734 2006-02-05 00:01 twisti
15736 * src/threads/none/: New.
15737 * src/threads/none/threads.h: New file. We need this one for
15738 e.g. stacktrace.c where we use thread stuff in the code.
15740 2006-02-04 23:59 twisti
15742 * src/vm/access.c (assert.h): Move after config.h.
15743 * src/vm/properties.c (mm/memory.h): Added.
15744 * src/vm/jit/stacktrace.c (mm/memory.h): Likewise.
15745 (threads.h): Added.
15746 (stacktrace_create): Handle stackframeinfo when threads disabled
15749 2006-02-04 23:56 twisti
15751 * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
15752 Generate an exception instead of exiting.
15753 * src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates):
15756 2006-02-04 20:15 twisti
15758 * src/vm/jit/stacktrace.h (stacktrace_getCallingClassLoader): Renamed
15759 to stacktrace_getCurrentClassLoader.
15761 * src/cacaoh/headers.c (nativelyoverloaded): Fixed compiler warning.
15763 2006-02-04 19:09 twisti
15765 * src/native/native.c (native_resolve_function): Print failed is the
15766 symbol was not found.
15768 2006-02-04 19:08 twisti
15770 * src/vm/jit/stacktrace.h (STACKTRACE_CAPACITY_DEFAULT)
15771 (STACKTRACE_CAPACITY_INCREMENT): Changed default from 40 to 80, seems
15772 this is what eclipse and tomcat want.
15773 (stacktracebuffer): Changed entries from an array to a pointer.
15775 2006-02-04 19:04 twisti
15777 * src/vm/jit/stacktrace.c (stacktrace_add_entry): Reallocate to
15779 (stacktrace_create): Do two dump and heap allocs, does not affect
15781 (stacktrace_getCallingClassLoader): Renamed to
15782 stacktrace_getCurrentClassLoader.
15784 * src/native/jni.c (FindClass): Renamed
15785 stacktrace_getCallingClassLoader to stacktrace_getCurrentClassLoader.
15787 * src/native/vm/VMStackWalker.c (getCallingClassLoader): Revert to old
15790 2006-02-04 17:39 edwin
15792 * doc/stack.txt: Typos fixed.
15794 2006-02-04 17:31 edwin
15796 * doc/stack.txt: Expanded tabs.
15797 * doc/Makefile.am (stack.txt): Added EXTRA_DIST entry for stack.txt.
15799 2006-02-04 17:25 edwin
15801 * doc/stack.txt: Added. This file describes some details about the
15802 stack representation.
15804 2006-02-04 00:43 twisti
15806 * src/native/Makefile.am (CLEANFILES): Always clean nativetable.inc.
15807 ($(srcdir)/native.c): Moved inside if ENABLE_STATICVM where it
15810 2006-02-04 00:33 twisti
15812 * src/native/Makefile.am: Accidentally moved the library into if
15814 * src/native/include/Makefile.am: Enable accidentally removed
15817 2006-02-04 00:13 edwin
15819 * src/vm/jit/verify/typecheck.c (logging): Adapted to new logging API.
15821 2006-02-04 00:08 edwin
15823 * src/vm/jit/stack.h (MARKREACHED): Use BBREACHED for readability.
15824 (vim boilerplate): Added.
15826 2006-02-04 00:04 edwin
15828 * src/vm/method.h (methodinfo): Fixed copy&paste error in comment.
15829 (vim boilerplate): Added.
15831 2006-02-04 00:00 edwin
15833 * src/vm/jit/stacktrace.c (vim boilerplate): Added.
15835 2006-02-03 22:57 twisti
15837 * configure.ac (VM_ZIP_STRING): Added.
15838 (GLIBJZ): Renamed to GLIBJ_ZIP_STRING.
15839 * src/vm/global.h (CACAO_VM_ZIP_PATH): Use GLIBJ_ZIP_STRING.
15840 * src/lib/Makefile.am (GLIBJ_ZIP): Likewise.
15841 * src/native/include/Makefile.am, src/native/Makefile.am (VM_ZIP): Use
15843 (GLIBJ_ZIP): Use GLIBJ_ZIP_STRING.
15844 * contrib/setenvinstalled.in, contrib/setenvsource.in: Likewise.
15846 2006-02-03 22:53 twisti
15848 * src/native/vm/VMRuntime.c (nativeLoad): #ifdef ENABLE_STATICVM
15851 2006-02-03 22:24 twisti
15853 * src/vm/global.h (CACAO_VM_ZIP_PATH): Removed accidentally commited
15855 * src/native/Makefile.am (VM_ZIP): Likewise.
15856 * src/native/include/Makefile.am (VM_ZIP): Likewise.
15858 2006-02-03 22:03 twisti
15860 * src/vm/global.h (CACAO_VM_ZIP_PATH): Set correctly for ifndef
15862 * src/lib/Makefile.am (JAVA_VM_FILES): Renamed to VM_JAVA_FILES.
15863 (VM_CLASS_FILES): Added.
15864 (pkgdata_DATA): Set to class files for ifndef ENABLE_ZLIB.
15865 * src/native/include/Makefile.am (VM_ZIP): Set correctly for ifndef
15867 * src/native/Makefile.am (VM_ZIP): Likewise.
15869 2006-02-03 21:58 twisti
15871 * src/vm/suck.c (suck_add): Fixed compiler warning with #ifndef
15874 2006-02-03 21:51 twisti
15876 * src/native/tools/.cvsignore (TAGS): Added.
15878 2006-02-03 20:54 twisti
15880 * src/native/Makefile.am (VM_ZIP, GLIBJ_ZIP, CLASSPATH): Added.
15882 2006-02-03 20:53 twisti
15884 * src/native/tools/gennativetable.c (main): Don't free bootclasspath,
15885 do proper initalization of subsystems, don't link classes.
15887 2006-02-03 19:44 twisti
15889 * src/native/Makefile.am (nativetable.inc): Pass classpath on
15890 commandline, environment variable support was removed.
15892 2006-02-03 19:42 twisti
15894 * src/native/tools/gennativetable.c: Updated to work again.
15896 2006-02-03 19:27 twisti
15898 * src/cacao/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
15899 (CLASSPATH_PREFIX): Renamed to CLASSPATH_LIBDIR.
15901 2006-02-03 18:45 twisti
15903 * configure.ac (ENABLE_SOFTFLOAT): Added.
15904 (NDEBUG): Bugfix for AM_CONDITIONAL.
15906 2006-02-03 14:14 twisti
15908 * src/vm/jit/stacktrace.c (stacktrace_entry): Wrong return value,
15911 2006-02-03 13:19 twisti
15913 * src/vm/jit/stacktrace.c, src/vm/jit/stacktrace.h
15914 (lineNumberTableEntry): Renamed to linenumbertable_entry.
15915 (addEntry): Renamed to stacktrace_add_entry.
15916 (stacktrace_fillInStackTrace_methodRecursive): Removed.
15917 (stacktrace_fillInStackTrace_method): Renamed to
15918 stacktrace_add_method.
15919 (cacao_stacktrace_fillInStackTrace): Renamed to stacktrace_create.
15920 (stackTraceCollector): Removed.
15921 (cacao_stacktrace_NormalTrace): Renamed to
15922 stacktrace_fillInStackTrace.
15923 (classContextCollector): Removed.
15924 (cacao_createClassContextArray): Renamed to
15925 stacktrace_getClassContext.
15926 (stacktrace_classLoaderCollector): Removed.
15927 (cacao_currentClassLoader): Renamed to
15928 stacktrace_getCallingClassLoader.
15929 (getStackCollector): Removed.
15930 (cacao_getStackForVMAccessController): Renamed to stacktrace_getStack.
15932 * src/native/jni.c (jni_init): Use new GCNEW.
15933 (FindClass): Renamed cacao_currentClassLoader to
15934 stacktrace_getCallingClassLoader.
15936 * src/native/vm/VMAccessController.c (getStack): Renamed
15937 cacao_getStackForVMAccessController to stacktrace_getStack.
15939 * src/native/vm/VMStackWalker.c (getClassContext): Renamed
15940 cacao_createClassContextArray to stacktrace_getClassContext.
15941 (getCallingClass): Likewise.
15942 (getCallingClassLoader): Call stacktrace_getCallingClassLoader.
15944 * src/native/vm/Method.c (config.h): Added.
15945 (invokeNative): Renamed cacao_createClassContextArray to
15946 stacktrace_getClassContext.
15948 * src/native/vm/Field.c (config.h): Added.
15949 (cacao_get_field_address): Renamed cacao_createClassContextArray to
15950 stacktrace_getClassContext. Check for CLASS_INITIALIZED.
15952 * src/native/vm/VMThrowable.c
15953 (native/include/gnu_classpath_Pointer.h): Added.
15954 (fillInStackTrace): Call stacktrace_fillInStackTrace.
15955 (getStackTrace): Adapted.
15957 * src/mm/memory.h (GCNEW): Use only 1 parameter, like NEW.
15960 2006-02-03 12:46 twisti
15962 * src/threads/native/threads.h (THREADOBJECT): Don't cast to
15963 java_lang_VMThread*, we don't need that.
15965 2006-02-03 12:38 twisti
15967 * src/vm/method.c (method_printflags, method_print): Check for NULL.
15968 * src/vm/field.c (field_printflags, field_print) Likewise.
15970 * src/vm/class.c (class_printflags, class_print): Likewise.
15972 2006-02-02 09:16 twisti
15974 * configure.ac (AC_PROG_JAR): Added.
15975 * m4/ac_prog_jar.m4: New file.
15976 * src/lib/Makefile.am (VM_ZIP): Added.
15977 (vm.zip): Check if $(JAR) is zip or jar type.
15979 2006-02-02 08:51 twisti
15981 * src/vm/loader.c (loader_load_all_classes): Added missing #ifde
15984 2006-02-02 08:45 twisti
15986 * configure.ac (NDEBUG): Added missing WITH_BINUTILS_DISASSEMBLER
15988 (zlib): Fixed handling.
15990 2006-01-31 23:54 twisti
15992 * src/vm/jit/i386/codegen.c (codegen): Added basic block frequency
15995 2006-01-31 23:45 twisti
15997 * src/vm/jit/profile.c ("mm/memory.h,vm/options.h): Added.
15998 (list_method_entry): Likewise.
15999 (profile_printstats): Sort methods into a list and print it sorted,
16000 added basic block frequency output.
16002 2006-01-31 23:43 twisti
16004 * src/vm/method.h (methodinfo): Renamed executioncount to
16005 frequency. Added bbfrequency and cycles.
16007 * src/vm/jit/x86_64/codegen.c (codegen): Added cycle profiling code.
16009 * src/vm/jit/x86_64/codegen.h (M_FMOV): Added.
16010 (M_IADD_MEMBASE, M_IADC_MEMBASE, M_ISUB_MEMBASE, M_ISBB_MEMBASE):
16012 (M_RDTSC, PROFILE_CYCLE_START, PROFILE_CYCLE_STOP): Likewise.
16014 * src/vm/jit/x86_64/emitfuncs.c (x86_64_inc_membase)
16015 (x86_64_incl_membase): Fixed.
16016 (emit_rdtsc): Added.
16018 * src/vm/jit/jit.c (jit_compile): Free m->bbfrequency memory.
16019 (jit_compile_intern): Allocate m->bbfrequency memory.
16021 * src/vm/jit/jit.h: Reformatting.
16023 2006-01-31 23:29 twisti
16025 * src/vm/statistics.c, src/vm/jit/inline/inline.c: Removed inlining
16028 2006-01-31 23:27 twisti
16030 * src/vm/options.c, src/vm/options.h (opt_rt, opt_xta, opt_vta):
16032 (opt_prof_bb): Added.
16033 * src/cacao/cacao.c: Likewise.
16034 (OPT_PROF_OPTION): Added.
16036 2006-01-31 22:31 twisti
16038 * src/vm/jit/stack.c (show_icmd_block): Print the basic block type.
16040 2006-01-31 22:27 twisti
16042 * src/toolbox/list.c, src/toolbox/list.h (list_add_before): Added.
16044 2006-01-31 15:41 twisti
16046 * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
16047 src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c (codegen): Use
16048 CLASS_IS_OR_ALMOST_INITIALIZED macro, saves some code space.
16050 2006-01-31 15:35 twisti
16052 Fixes Debian bug #350729
16053 * src/vm/jit/i386/asmpart.S (asm_md_init): Added, puts the FPU to
16054 64-bit precision mode.
16055 * src/vm/jit/i386/md.c (md_init): Call asm_md_init.
16057 * src/vm/jit/asmpart.h (asm_md_init): Added.
16058 (has_no_x_instr_set): Removed.
16059 * src/vm/options.c, src/vm/options.h (has_ext_instr_set): Removed.
16060 * src/vm/jit/jit.c (jit_init): Removed has_no_x_instr_set call.
16061 * src/vm/jit/alpha/asmpart.S (has_no_x_instr_set): Renamed to
16063 * src/vm/jit/alpha/md.c (has_ext_instr_set): Added.
16064 (md_init): Call asm_md_init.
16065 * src/vm/jit/alpha/md.h (has_ext_instr_set): Added.
16067 2006-01-31 15:18 edwin
16069 * src/vm/classcache.c: Added a formal description of the classcache.
16071 2006-01-31 14:24 twisti
16073 * src/vm/signal.c (signal_handler_sigint): Typo, reported by Chris
16076 2006-01-30 16:25 twisti
16078 * src/vm/jit/i386/codegen.c (codegen): Added profiling code.
16079 (ICMD_IINC): Use macros.
16080 * src/vm/jit/i386/codegen.h (ucontext.h): Removed.
16081 (thread_restartcriticalsection): Likewise.
16082 (M_IADD_IMM_MEMBASE): Added.
16084 2006-01-30 15:44 twisti
16086 * src/vm/options.h, src/vm/options.c (opt_prof): Added.
16087 * src/cacao/cacao.c (OPT_PROF): Added.
16088 (exit_handler): Added profile_printstats when opt_prof is enabled.
16090 * src/vm/class.h (classinfo): Members classUsed and impldBy removed.
16091 * src/vm/loader.c (load_class_from_classbuffer): Likewise.
16092 * src/vm/linker.c (link_primitivetype_table): Likewise.
16093 (link_class_intern): Likewise.
16094 * src/vm/jit/inline/inline.c: Likewise.
16096 * src/vm/method.h (methodinfo): Added member executioncount.
16098 * src/vm/jit/x86_64/codegen.c (codegen): Added profiling code. Some
16099 code reordering, using more macros and save some code space.
16100 * src/vm/jit/x86_64/codegen.h (M_ILD32, M_LLD32, M_IST_IMM, M_IST32)
16101 (M_LST32, M_IST32_IMM, M_LST32_IMM32, M_IINC_MEMBASE, M_ITEST)
16102 (M_CMP_IMM_MEMBASE, M_ICMP, M_ICMP_IMM, M_ICMP_IMM_MEMBASE, M_CMOVEQ)
16103 (M_CMOVNE, M_CMOVLT, M_CMOVLE, M_CMOVGE, M_CMOVGT, M_CMOVB, M_CMOVA)
16104 (M_CMOVP, M_CLR): Added.
16106 * src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ifcc): Use macros.
16107 (x86_64_call_mem): Changed mem argument to ptrint type.
16108 * src/vm/jit/x86_64/emitfuncs.h (x86_64_call_mem): Likewise.
16110 * src/vm/jit/profile.c, src/vm/jit/profile.h: New files.
16111 * src/vm/jit/Makefile.am (DISASS_OBJ): Renamed to DISASS_SOURCES.
16112 (PROFILE_SOURCES): Added.
16114 2006-01-30 14:24 christian
16116 * src/vm/jit/allocator/simplereg.c (interface_regalloc): Used
16117 m->parseddesc->arg[int|flt|adr]reguse to enable use of unused
16118 argumentregisters in leadmethods.
16119 (local_regalloc): Likewise.
16120 (reg_init_temp): Likewise.
16122 2006-01-30 11:26 christian
16124 * src/vm/jit/allocator/simplereg.c: Ensured proper alignment of all
16125 doubles and longs if ALIGN_[DOUBLES|LONGS]_IN_MEMORY is defined.
16126 (local_regalloc): Fixed error for HAS_ADREDD_REGISTER_FILE - else was
16127 missing. Ensured use of unused argument register in leafmethod before
16128 use of saved registers. Regarded PACK_REGS for
16129 SUPPORT_COMBINE_INTEGER_REGISTER archs for unused integer argument
16131 * src/vm/jit/i386/arch.h: Added defines for
16132 ALIGN_[DOUBLES|LONGS]_IN_MEMORY.
16133 * src/vm/jit/powerpc/arch.h: Likewise.
16135 2006-01-29 17:27 twisti
16137 * src/vm/jit/stack.c (show_icmd): Fixed ICMD_ELSE_ICONST output.
16139 2006-01-28 14:42 twisti
16141 * src/vm/jit/powerpc/linux/md-abi.c,
16142 src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Use
16143 m->parseddesc->paramcount instead of m->paramcount.
16144 * src/vm/jit/schedule/schedule.c (schedule_init): Likewise.
16146 * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
16147 src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c (codegen):
16148 Removed first MCODECHECK since it not required.
16150 * src/vm/jit/methodheader.h: Added comment.
16152 2006-01-28 14:25 twisti
16154 * src/vm/jit/x86_64/.cvsignore: Added TAGS.
16156 2006-01-28 14:21 twisti
16158 * src/vm/loader.c (load_method): Removed reference to
16159 nativelyoverloaded, monoPoly, subRedefs, subRedefsUsed, xta.
16160 (load_newly_created_array): Removed reference to monoPoly.
16162 2006-01-28 14:18 twisti
16164 * src/vm/method.c (method_descriptor2types): Removed.
16165 * src/vm/method.h (methodinfo): Removed members returntype,
16166 returnclass, paramcount, paramtypes, paramclass, xta, methodXTAparsed,
16167 methodUsed, monoPoly, subRedefs, subRedefsUsed, and
16168 nativelyoverloaded, this saves about 3.2MB of classinfo memory for
16170 (method_descriptor2types): Removed.
16172 * src/vm/jit/inline/inline.c (inlining_analyse_method): Use
16173 m->parseddesc->paramcount instead of m->paramcount.
16174 * src/vm/jit/allocator/simplereg.c (local_regalloc): Likewise.
16175 * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Likewise.
16177 * src/vm/jit/jit.c (jit_compile): Removed RT_jit_parse and
16178 XTA_jit_parse calls.
16179 (jit_compile_intern): Removed method_descriptor2types call.
16181 * src/cacaoh/cacaoh.c (main): Call string_init. Removed
16182 nativemethod_chain and nativeclass_chain stuff.
16184 * src/cacaoh/headers.c (nativemethod_chain): Removed.
16185 (nativeclass_chain): Likewise.
16186 (printmethod): Use m->isleafmethod instead of m->nativelyoverloaded.
16187 (headerfile_generate): Likewise.
16189 2006-01-28 11:26 twisti
16191 * src/vm/jit/inline/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
16192 (libinline_la_SOURCES): Don't build RTA/XTA stuff.
16194 2006-01-28 11:24 twisti
16196 * Makefile.am (EXTRA_DIST): Added THIRDPARTY.
16198 2006-01-27 19:05 stefan
16200 * src/threads/native/threads.c: Removed a superfluous (I hope) NULL
16203 2006-01-27 18:53 stefan
16205 * src/threads/native/threads.c: Repaired thread_getself.
16207 2006-01-27 17:35 twisti
16209 * src/toolbox/logging.c, src/toolbox/logging.h (log_start): Added.
16210 (log_vprint): Likewise.
16211 (log_print): Likewise.
16212 (log_println): Likewise.
16213 (log_finish): Likewise.
16214 (log_plain): Removed.
16216 (log_flush): Likewise.
16217 (dolog_plain): Likewise.
16218 (get_logfile): Likewise.
16219 (log_utf): Likewise.
16220 (log_plain_utf): Likewise.
16221 (log_text): Removed but added a define until we have ported all files.
16223 * src/vm/statistics.c (print_stats): Started to use new logging
16224 functions. Print some ratios.
16226 2006-01-27 16:32 twisti
16228 * src/native/vm/VMSystemProperties.c (preInit): Don't add . to
16229 java.library.path per default.
16231 2006-01-27 12:43 twisti
16233 * NEWS: Added powerpc fixes found by javver.
16235 2006-01-24 19:09 twisti
16237 * src/vm/jit/powerpc/codegen.h (var_to_reg_dbl): Added.
16238 (M_COPY): Handle doubles properly.
16240 2006-01-24 13:52 twisti
16242 * src/vm/jit/powerpc/codegen.h (M_LNGMOVE): Added.
16243 (var_to_reg_lng): Likewise.
16244 (M_COPY): Support longs. This was actually never implemented and never
16247 2006-01-24 10:30 twisti
16249 * src/vm/jit/stacktrace.c (cacao_stacktrace_fillInStackTrace): Use
16250 method_print. Fixed typo.
16251 * src/vm/jit/powerpc/md.c (md_codegen_findmethod): Handle 2
16252 instruction returns properly.
16254 2006-01-24 10:28 twisti
16256 * src/vm/builtin.c (builtin_f2i): Enable for interpreter.
16257 (builtin_d2i): Likewise.
16258 * src/vm/jit/stack.c (icmd_print_stack): Fixed for ENABLE_INTRP and
16259 SUPPORT_COMBINE_INTEGER_REGISTERS.
16261 2006-01-23 16:03 twisti
16263 * src/vm/jit/stack.c (show_icmd_method): Fixed basic block count
16266 * src/vm/jit/i386/codegen.c (codegen): Use disp instead of a. Usage of
16268 * src/vm/jit/i386/codegen.h (M_BLT): Added.
16275 2006-01-23 01:12 twisti
16277 * configure.ac (AC_INIT): Changed version number to 0.94+cvs.
16278 (CFLAGS): Changed optimization back to -O0.
16280 2006-01-23 01:01 twisti
16282 * ChangeLog: Updated for 0.94 release.
16284 2006-01-22 23:42 twisti
16286 * configure.ac (AC_INIT): Changed version number to 0.94.
16287 (CFLAGS): Changed optimization to -O2.
16289 2006-01-22 23:33 twisti
16291 * Updated header: Added 2006. Changed address of FSF. Changed email
16294 2006-01-22 23:16 twisti
16296 * Updated svn:ignore propset.
16298 2006-01-22 23:00 twisti
16300 * src/vm/jit/intrp/Makefile.am (EXTRA_DIST): Added gray.fs and
16303 2006-01-22 22:46 twisti
16305 * tests/regression/extest.java: Typo.
16307 2006-01-22 22:36 twisti
16309 * NEWS: Added releases 0.90, 0.91, 0.92, 0.93, 0.94.
16311 2006-01-22 22:34 twisti
16315 2006-01-22 21:42 twisti
16317 * src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Revert edwin's
16318 bugfix, but we can't use ffi_type_slong as it's defined as 64-bit
16319 value on 32-bit machines.
16321 2006-01-22 21:40 twisti
16323 * src/native/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
16324 (libnative_la_SOURCES): Removed nativecalls.inc.
16326 2006-01-22 21:39 twisti
16328 * tests/Makefile.am (SUBDIRS): Removed native.
16330 2006-01-22 21:38 twisti
16332 * tests/regression/native/testarguments.output: Updated.
16333 * tests/regression/native/Makefile.am: Made it work with distcheck.
16334 * tests/regression/codepatching/Makefile.am: Likewise.
16335 * tests/regression/Makefile.am: Likewise.
16337 * tests/regression/extest.java: Comment changed.
16339 2006-01-22 21:22 twisti
16341 * configure.in: Renamed to configure.ac.
16343 2006-01-22 21:21 twisti
16345 * configure.in (AC_CONFIG_FILES): Removed tests/native/Makefile, added
16346 tests/regression/native/Makefile.
16348 2006-01-22 20:21 twisti
16350 * tests/native: Moved to tests/regression/native.
16352 2006-01-22 20:00 twisti
16354 * src/vm/jit/asmpart.h (asm_handle_exception)
16355 (asm_handle_nat_exception): #ifdef ENABLE_JIT.
16357 2006-01-22 19:59 twisti
16359 * src/vm/jit/jit.c (jit_compile_intern): Use
16360 CLASS_IS_OR_ALMOST_INITIALIZED to check uninitialized.
16362 2006-01-22 19:57 twisti
16364 * src/vm/jit/stacktrace.c (stacktrace_create_inline_stackframeinfo):
16365 Compiler warning fix.
16367 2006-01-22 19:56 twisti
16369 * src/vm/jit/intrp/java.vmg: Some reformatting.
16371 2006-01-22 19:55 twisti
16373 * src/vm/jit/intrp/asmpart.c (vm/loader.h): Added.
16374 (intrp_asm_calljavafunction_intern): Use u1* instead of entrypoint.
16375 (jni_invoke_java_intern): Likewise.
16377 2006-01-22 19:50 twisti
16379 * .cvsignore, src/toolbox/.cvsignore, src/vm/jit/inline/.cvsignore,
16380 src/vm/jit/allocator/.cvsignore: TAGS added.
16382 2006-01-22 19:37 twisti
16384 * src/boehm-gc/.cvsignore, src/boehm-gc/include/.cvsignore,
16385 src/vm/.cvsignore, src/vm/jit/tools/.cvsignore,
16386 src/vm/jit/verify/.cvsignore, src/vm/jit/loop/.cvsignore,
16387 src/vm/jit/.cvsignore, src/vm/jit/intrp/.cvsignore,
16388 src/cacao/.cvsignore, src/native/vm/.cvsignore,
16389 src/native/include/.cvsignore, src/native/.cvsignore,
16390 src/mm/.cvsignore, src/threads/native/.cvsignore,
16391 src/threads/.cvsignore, src/fdlibm/.cvsignore, src/.cvsignore,
16392 src/cacaoh/.cvsignore: TAGS added.
16394 2006-01-22 19:29 edwin
16396 * src/vm/jit/intrp/codegen.c (nativecall): Fixed calculation of the
16397 stackframeinfo address.
16399 2006-01-22 14:44 twisti
16401 * src/vm/jit/codegen-common.c (codegen_addreference): The last fix was
16402 not correct if only the intrp is built.
16404 2006-01-22 14:39 twisti
16406 * src/vm/class.c (class_showmethods): Use class_printflags.
16407 * src/vm/loader.c, src/vm/loader.h (fprintflags): Removed.
16408 (printflags): Likewise.
16409 * src/vm/jit/inline/sets.c (printFldSet): Use field_println instead of
16411 * src/vm/field.c, src/vm/field.h (field_display): Removed.
16412 (field_printflags): Added.
16413 (field_print): Likewise.
16414 (field_println): Likewise.
16416 2006-01-22 00:45 edwin
16418 * src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Use ffi_type_sint
16420 values of TYPE_INT. This fixes the interpreter on i386, though I'm not
16421 sure if it is a correct and complete solution.
16423 2006-01-21 21:46 edwin
16425 * src/vm/jit/codegen-common.c (codegen_addreference): Fixed bug when
16426 both ENABLE_INTRP and ENABLE_JIT were defined.
16428 2006-01-21 20:22 edwin
16430 * src/vm/jit/verify/typecheck.c (typestack_copy,
16431 typestack_separable_with)
16432 (typestack_separable_from, verify_basic_block): Comment-only changes.
16433 (verify_basic_block): Small typo fix in string.
16435 2006-01-20 14:49 twisti
16437 * src/native/jni.c (fill_callblock_from_objectarray): Fixed typo.
16438 (jni_method_invokeNativeHelper): Major code rewrite and speed
16439 improvement, renamed to _Jv_jni_invokeNative.
16440 (cacao_jni_CallVoidMethod): Fixed interpreter bug, renamed to
16441 _Jv_jni_CallVoidMethod.
16442 (callLongMethod): Renamed to _Jv_jni_CallLongMethod.
16443 * src/native/jni.h (jni_method_invokeNativeHelper): Renamed to
16444 _Jv_jni_invokeNative.
16445 * src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative):
16446 Renamed jni_method_invokeNativeHelper to _Jv_jni_invokeNative.
16447 * src/native/vm/Constructor.c: Updated includes.
16448 (Java_java_lang_reflect_Constructor_constructNative): Renamed
16449 jni_method_invokeNativeHelper to _Jv_jni_invokeNative.
16451 2006-01-20 13:41 twisti
16453 * tests/regression/Makefile.am (EXTRA_DIST): Made it more readable.
16455 2006-01-20 13:40 twisti
16457 * src/vm/jit/intrp/intrp.h (ffi.h): Removed, not required in this
16459 * src/vm/jit/intrp/codegen.c (nativecall): Removed unused big-endian
16461 * src/vm/jit/intrp/asmpart.c (asm_calljavafunction_intern): Renamed to
16462 intrp_asm_calljavafunction_intern, just to be sure.
16464 2006-01-20 13:33 twisti
16466 * src/vm/jit/mips/irix/md-os.c (md_signal_handler_sigsegv): Missed the
16467 actal rename from the previous commit.
16469 2006-01-20 13:28 twisti
16471 * src/vm/signal.c (vm/signallocal.h): Added.
16472 * src/vm/signallocal.h (md_signal_handler_sigfpe): #ifdef for i386 and
16475 2006-01-20 13:25 twisti
16477 * src/vm/jit/powerpc/linux/md-os.c, src/vm/jit/powerpc/darwin/md-os.c,
16478 src/vm/jit/alpha/linux/md-os.c, src/vm/jit/alpha/freebsd/md-os.c,
16479 src/vm/jit/mips/linux/md-os.c, src/vm/jit/mips/irix/md-os.c
16480 (signal_handler_sigsegv): Renamed to md_signal_handler_sigsegv.
16481 * src/vm/jit/i386/linux/md-os.c, src/vm/jit/i386/freebsd/md-os.c,
16482 src/vm/jit/x86_64/md.c (signal_handler_sigsegv): Renamed to
16483 md_signal_handler_sigsegv.
16484 (signal_handler_sigfpe): Renamed to md_signal_handler_sigfpe.
16485 * src/vm/signal.c (signal_init): Renamed signal_handler_sigsegv to
16486 md_signal_handler_sigsegv and signal_handler_sigfpe to
16487 md_signal_handler_sigfpe respectively.
16488 * src/vm/signallocal.h (md_signal_handler_sigsegv): Added.
16489 (md_signal_handler_sigfpe): Likewise.
16491 2006-01-20 13:19 twisti
16493 * src/vm/jit/alpha/codegen.h (ucontext.h): Removed.
16494 (thread_restartcriticalsection): Removed.
16496 2006-01-20 13:06 twisti
16498 * src/vm/jit/x86_64/disass.c (dis-asm.h): Added.
16499 (vm/global.h): Likewise.
16500 (mm/memory.h): Removed.
16502 2006-01-20 13:05 twisti
16504 * src/vm/class.c, src/vm/class.h (class_printflags): Added.
16505 (class_print): Likewise.
16506 (class_println): Likewise.
16508 2006-01-20 12:58 twisti
16510 * src/vm/jit/i386/disass.c (disassinstr): Set the read_memory_func in
16511 disassemble_info to disass_buffer_read_memory.
16512 (disassemble): Removed.
16514 2006-01-20 12:57 twisti
16516 * src/vm/jit/stack.c (show_icmd_method): Print basic blocks count and
16517 better basic block header output.
16518 ICMD_MULTIANEWARRAY: Changed iptr->target and iptr->val.a value.
16519 ICMD_IFLE_ICONST, ICMD_ELSE_ICONST: Print values better.
16521 2006-01-20 12:01 twisti
16523 * src/vm/jit/powerpc/disass.c (disassinstr): Set the read_memory_func
16524 in disassemble_info to disass_buffer_read_memory.
16525 (disassemble): Removed.
16527 2006-01-20 11:38 twisti
16529 * src/vm/jit/disass-common.c, src/vm/jit/disass.h: Added
16530 disassemble_info and disass_initialized.
16531 (disassemble): Added.
16532 (buffer_read_memory): Renamed to disass_buffer_read_memory.
16533 * src/vm/jit/x86_64/disass.c (disassinstr): Set the read_memory_func
16534 in disassemble_info to disass_buffer_read_memory.
16535 (disassemble): Removed.
16537 2006-01-20 10:15 twisti
16539 * regression/extest.java: Removed asmpart exceptions as they are now
16540 checked with codepatching.
16541 * regression/extest.2output: Regenerated.
16542 * regression/extest_clinit.java: Added.
16544 2006-01-20 10:08 twisti
16546 * src/vm/jit/alpha/md.c (md_init): Moved #include and extern's to the
16547 top of the file, since this broke compilation on debian unstable.
16549 2006-01-19 23:40 edwin
16551 * src/vm/jit/parse.h: Added vim boilerplate.
16553 2006-01-19 23:35 edwin
16555 * src/vm/jit/stack.c: Added vim boilerplate.
16557 2006-01-19 22:21 twisti
16559 * configure.in (AC_CONFIG_FILES): Removed tests/codepatching/Makefile
16560 and added tests/regression/codepatching/Makefile.
16561 * tests/Makefile.am (SUBDIRS): Removed codepatching.
16562 * tests/regression/Makefile.am (SUBDIRS) Added with codepatching.
16563 * tests/regression/codepatching/Makefile.am (JAVAFLAGS): Added.
16565 2006-01-19 22:11 edwin
16567 * src/vm/jit/parse.c (parse): Removed inlining code.
16569 2006-01-19 22:06 edwin
16571 * src/vm/options.c, src/vm/options.h (useinliningm): Removed.
16573 2006-01-19 22:05 twisti
16575 * tests/codepatching: Moved to tests/regression/codepatching.
16577 2006-01-19 21:31 edwin
16579 * src/vm/jit/jit.c (jit_compile): Removed the INAFTERMAIN hack.
16581 2006-01-19 21:27 edwin
16583 * src/vm/jit/inline/inline.c (inlining_setup): Removed INAFTERMAIN
16586 2006-01-19 21:26 edwin
16588 * src/cacao/cacao.c (main): Disabled useinlining and useinliningm.
16590 2006-01-19 20:56 twisti
16592 * src/vm/jit/intrp/codegen.c, src/vm/jit/intrp/java.vmg (FALOAD)
16593 (FASTORE): Added, required for big-endian machines.
16594 * src/vm/jit/intrp/engine.c (access_array_float): Likewise.
16596 2006-01-19 20:53 twisti
16598 * src/vm/global.h (java_floatarray): Typo.
16600 2006-01-19 20:28 edwin
16602 * src/vm/jit/parse.c (parse, fillextable): Removed debugging code.
16605 2006-01-19 20:13 edwin
16607 * src/vm/jit/parse.c (parse): Removed commented out debugging code.
16609 2006-01-19 20:03 twisti
16611 * src/vm/class.c (class_showmethods): Replaced method_display with
16614 2006-01-19 20:00 twisti
16616 * src/vm/jit/inline/inline.c, src/vm/jit/inline/sets.c,
16617 src/vm/jit/inline/parseRTstats.c, src/vm/jit/inline/parseRT.c,
16618 src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/parseXTA.c:
16619 Replaced method_display and method_display_w_class calls with
16622 2006-01-19 19:49 twisti
16624 * src/vm/method.c, src/vm/method.h (method_display): Removed.
16625 (method_display_w_class): Likewise.
16626 (method_printflags): Added.
16627 (method_print): Likewise.
16628 (method_println): Likewise.
16629 Removed. --This line, and those below, will be ignored--
16634 2006-01-19 17:02 twisti
16636 * src/vm/jit/powerpc/linux/Makefile.am (INCLUDES): Renamed to
16638 * src/vm/jit/powerpc/Makefile.am (AM_CPPFLAGS): Added missing
16641 2006-01-19 16:02 twisti
16643 * INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc,
16644 as this is more common these days.
16646 2006-01-19 11:58 edwin
16648 * alpha, mips, nat: removed obsolete directories resurrected by svn
16651 2006-01-19 09:47 twisti
16653 * INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc,
16654 as this is more common these days.
16656 2006-01-18 21:41 edwin
16658 * havoc.class: fix corruption by svn eol-style conversion
16660 2006-01-18 15:43 twisti
16662 * AC_CHECK_HEADER: Added ansidecl.h, symcat.h, bfd.h and zconf.h.
16664 2006-01-18 15:41 twisti
16666 * main: Call nogc_init for DISABLE_GC.
16668 2006-01-17 18:51 twisti
16670 * Removed extern stuff that was removed from the lib.
16672 2006-01-17 18:37 twisti
16674 * Updated to new classpath configure options.
16676 2006-01-17 18:24 twisti
16678 * CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX.
16680 2006-01-17 17:06 twisti
16682 * CACAO_INSTALL_PREFIX: Renamed to CACAO_PREFIX.
16683 * NDEBUG: Check for libintl on cygwin and darwin.
16684 * --with-classpath-install-dir: Renamed to --with-classpath-prefix.
16685 * --with-classpath-libdir: Added to support 64-bit platforms where the
16686 libdir may be /usr/lib64.
16688 2006-01-17 16:59 twisti
16690 * main: Removed CACAO_INSTALL_PREFIX and CLASSPATH_INSTALL_DIR since
16691 CACAO_VM_ZIP_PATH and CLASSPATH_GLIBJ_ZIP_PATH are now full paths.
16693 2006-01-17 16:58 twisti
16695 * Java_gnu_classpath_VMSystemProperties_preInit: Renamed
16696 CACAO_INSTALL_PREFIX to CACAO_PREFIX.
16698 2006-01-17 16:57 twisti
16700 * CACAO_VM_ZIP_PATH: Prepend CACAO_PREFIX.
16701 * CLASSPATH_GLIBJ_ZIP_PATH: Prepend CLASSPATH_PREFIX.
16702 * CLASSPATH_LIBRARY_PATH: Prepend CLASSPATH_LIBDIR.
16704 2006-01-17 16:55 twisti
16706 * CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX.
16708 2006-01-17 16:53 twisti
16712 2006-01-17 16:51 twisti
16714 * m4/as-ac-expand.m4: Added.
16716 2006-01-16 00:07 twisti
16718 * jni_init: Fixed small typo.
16720 2006-01-16 00:04 twisti
16722 * Java_gnu_classpath_VMSystemProperties_preInit: Use the same os.arch
16723 property values as SUN and others do, so we are compatible (e.g.
16725 some problems), file.encoding removed as it's set by GNU Classpath,
16726 hardcode values for gnu.cpu.endian.
16728 2006-01-15 23:32 twisti
16730 * utf_java_nio_DirectByteBufferImpl_ReadWrite: Removed.
16731 * utf_gnu_classpath_Pointer{32,64}: Likewise.
16732 * class_java_nio_Buffer: Added, load and link this class in
16734 * class_java_nio_DirectByteBufferImpl: Likewise.
16735 * NewDirectByteBuffer: Removed debug output.
16736 * GetDirectBufferAddress: Added instanceof check.
16737 * GetDirectBufferCapacity: Likewise.
16739 2006-01-15 14:12 twisti
16741 * native_new_and_init: Ooops, reverting last change and added an
16745 2006-01-15 13:32 twisti
16747 * CLASSPATH_LIBRARY_PATH, CLASSPATH_GLIBJ_ZIP_PATH: Temporary bugfix.
16749 2006-01-15 12:28 twisti
16751 * native_findfunction: #ifdef ENABLE_STATICVM.
16752 * native_new_and_init: Fixed return value.
16754 2006-01-15 01:56 twisti
16756 * math.h: Added for isnan.
16758 2006-01-15 00:37 twisti
16762 2006-01-15 00:36 twisti
16764 * Java_gnu_classpath_VMSystemProperties_preInit: Set user.country
16766 of user.region, set en_US if none is defined,
16767 java.protocol.handler.pkgs
16770 2006-01-14 20:02 twisti
16772 * builtin_trace_args: Added callcount to verbose call output.
16774 2006-01-14 17:19 edwin
16776 * src/native/vm/Method.c (invokeNative): check class access rights
16778 2006-01-13 19:37 twisti
16780 * codegen_setup: #ifdef datareferences.
16782 2006-01-13 18:51 twisti
16784 * This class does not differ from the GNU classpath upstream version.
16786 2006-01-13 18:49 twisti
16788 * defineClassWithTransformers: Added, updated to generics version.
16790 2006-01-13 15:29 twisti
16792 * codegendata: #ifdef datareferences member.
16793 * codegen_finish: Moved data segment reference resolving into
16794 dseg_resolve_datareferences.
16796 2006-01-13 15:28 twisti
16798 * dseg_resolve_datareferences: Added.
16800 2006-01-13 15:27 twisti
16802 * Small reformatting.
16804 2006-01-13 10:47 twisti
16806 * src/vm/jit/{i386,x86_64}/{dis-asm.h,i386-dis.c}: Removed.
16807 * src/vm/jit/powerpc/{ppc.h,ppc-dis.c,ppc-opc.c}: Likewise.
16808 * m4/{ac_prog_javac.m4,ac_prog_javac_works.m4}: Added.
16810 2006-01-13 10:42 twisti
16812 * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
16814 2006-01-13 10:11 twisti
16816 * codegen.h: Added when ENABLE_JIT defined.
16817 * codegen_addpatchref: Set lastmcodeptr when ENABLE_JIT is defined
16819 architecture requires it.
16821 2006-01-13 10:09 twisti
16823 * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
16825 2006-01-12 23:54 twisti
16827 * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
16829 2006-01-12 23:33 twisti
16832 * GC_test_and_set: Removed 64-bit version since the 32-bit seems to be
16833 sufficient and works.
16835 2006-01-12 23:31 twisti
16837 * show_icmd: Use CLASS_IS_OR_ALMOST_INITIALIZED.
16838 * initialize_class: Use CLASS_IS_OR_ALMOST_INITIALIZED.
16840 2006-01-12 23:30 twisti
16842 * CLASS_IS_OR_ALMOST_INITIALIZED: Added.
16844 2006-01-12 23:27 twisti
16846 * GETSTATIC_FLOAT, PUTSTATIC_FLOAT, GETFIELD_FLOAT, PUTFIELD_FLOAT:
16848 * PATCHER_GETSTATIC_FLOAT, PATCHER_PUTSTATIC_FLOAT,
16849 PATCHER_GETFIELD_FLOAT,
16850 PATCHER_PUTFIELD_FLOAT: Likewise.
16851 * TRACENATIVECALL: Removed codegen_findmethod, use methodinfo* from
16852 threaded code stream.
16853 * TRACECALL, TRACERETURN, TRACELRETURN: Likewise.
16855 2006-01-12 23:23 twisti
16857 * Some 64-bit big-endian bugfixes.
16858 * Use CLASS_IS_OR_ALMOST_INITIALIZED macro.
16860 2006-01-12 23:21 twisti
16862 * 64-bit big-endian bugfix: replace s4 with ptrint.
16864 2006-01-12 23:10 twisti
16866 * Imported for the interpreter.
16868 2006-01-12 23:09 twisti
16870 * Added powerpc64 target.
16872 2006-01-12 23:08 twisti
16874 * intrp_disassinstr, intrp_disassemble: Added.
16876 2006-01-12 23:07 twisti
16878 * vm/options.h: Added.
16880 2006-01-12 23:05 twisti
16882 * config.h, vm/types.h: Added.
16884 2006-01-12 23:03 twisti
16886 * Use ASM_CALLJAVAFUNCTION* macros.
16888 2006-01-12 22:42 twisti
16890 * thread_addstaticcritical: Quick hack: #ifdef ENABLE_JIT
16891 asm_criticalsections.
16892 * sigsuspend_handler: Quick hack: #ifdef ENABLE_JIT
16893 thread_restartcriticalsection.
16895 2006-01-12 22:41 twisti
16897 * vm/options.h: Added.
16898 * descriptor_pool_parse_method_descriptor: #ifdef ENABLE_JIT
16901 * descriptor_params_from_paramtypes: Likewise.
16903 2006-01-12 22:40 twisti
16905 * Fixed a lot of compiler warnings (functionptr -> u1*).
16907 2006-01-12 22:39 twisti
16910 * disassinstr, disassemble: Prefixed with intrp_.
16912 2006-01-12 22:38 twisti
16914 * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed.
16916 2006-01-12 22:37 twisti
16918 * builtin_gen_table: #if function according to arch.h.
16919 * codegen: Prefixed with intrp_, usage of iptr->val.a and iptr->target
16921 * codegen_createlinenumbertable: Renamed to
16922 dseg_createlinenumbertable.
16923 * createcompilerstub: Prefixed with intrp_.
16924 * createnativestub: Likewise.
16926 2006-01-12 22:35 twisti
16928 * verify_multianewarray: Usage iptr->val.a and iptr->target changed.
16929 * JAVA_MULTIANEWARRAY: Pass c in iptr->val.a and cr in iptr->target.
16931 2006-01-12 22:34 twisti
16933 * codegen_createnativestub: #ifdef ENABLE_JIT md_param_alloc call.
16934 * codegen_disassemble_nativestub: Use DISASSEMBLE macro.
16936 2006-01-12 22:32 twisti
16938 * analyse_stack: #ifdef ENBALE_JIT md_return_alloc call.
16939 * icmd_print_stack: Print regs correctly for jit.
16940 * show_icmd_method: Likewise.
16942 2006-01-12 21:55 twisti
16944 * builtintable_internal: Removed ICMD_CHECKCAST.
16946 2006-01-12 21:39 twisti
16948 * Prefixed functions with intrp_.
16949 * md_init, md_stacktrace_get_returnaddress: Prefixed with intrp_.
16950 * thread_restartcriticalsection, md_param_alloc, md_return_alloc:
16953 2006-01-12 21:38 twisti
16955 * Prefix functions with intrp_.
16957 2006-01-12 21:37 twisti
16959 * Use ptrint instead of s8 in some places.
16961 2006-01-12 21:36 twisti
16963 * Use DISASSINSTR macro.
16965 2006-01-12 21:36 michi
16967 * Comment updated (for asm_cacheflush)
16969 2006-01-12 21:35 twisti
16971 * intrp_createcompilerstub, intrp_createnativestub, intrp_codegen:
16973 * codegen.h: Include only for some archs.
16974 * md-abi.h: Include only for arm.
16975 * codegen_init: Changed #ifdef to ENABLE_JIT.
16976 * codegen_createnativestub: Call reg_setup only for jit, #ifdef
16977 createnativestub to support interpreter.
16979 2006-01-12 21:30 twisti
16981 * intrp_md_stacktrace_get_returnaddress: Added.
16982 * cacao_stacktrace_fillInStackTrace: #ifdef
16983 md_stacktrace_get_returnaddress
16984 to support interpreter.
16986 2006-01-12 21:29 twisti
16988 * Seperate ENABLE_JIT and ENABLE_INTRP.
16990 2006-01-12 21:17 twisti
16993 * intrp_patcher_get_putstatic, intrp_patcher_get_putfield,
16994 intrp_patcher_aconst, intrp_patcher_builtin_multianewarray,
16995 intrp_patcher_builtin_arraycheckcast,
16996 intrp_patcher_invokestatic_special,
16997 intrp_patcher_invokevirtual, intrp_patcher_invokeinterface,
16998 intrp_patcher_checkcast_instanceof, intrp_patcher_resolve_native:
17001 2006-01-12 21:16 twisti
17003 * jit_compile_intern: #ifdef codegen call to support interpreter, use
17006 2006-01-12 21:15 twisti
17008 * DISASSINSTR, DISASSEMBLE: Added.
17010 2006-01-12 21:14 twisti
17012 * Use ASM_CALLJAVAFUNCTION macro.
17014 2006-01-12 21:13 twisti
17016 * Use ASM_CALLJAVAFUNCTION_INT macro.
17018 2006-01-12 21:11 twisti
17020 * intrp_asm_calljavafunction, intrp_createcompilerstub,
17021 intrp_asm_getclassvalues_atomic: Added.
17023 2006-01-12 21:08 twisti
17025 * Use ASM_CALLJAVAFUNCTION macros.
17026 * main: #ifdef md_init call to support interpreter.
17027 * link_class_intern: #ifdef createcompilerstub call to support
17030 2006-01-12 21:07 twisti
17032 * Use ASM_CALLJAVAFUNCTION macros.
17034 2006-01-12 21:06 twisti
17036 * Use ASM_CALLJAVAFUNCTION_ADR macro.
17037 * Use ASM_CALLJAVAFUNCTION macro.
17039 2006-01-12 21:04 twisti
17041 * intrp_md_init: Added.
17043 2006-01-12 20:57 twisti
17045 * Check explicitly for isnan.
17047 2006-01-12 18:25 twisti
17049 * print_dynamic_super_statistics: Added from intrp.
17051 2006-01-12 18:09 michi
17053 * Included md-abi.h (needed for REG_SPLIT on Arm)
17055 2006-01-12 17:52 twisti
17057 * We have to use a machine dependent arch.h.
17059 2006-01-11 12:16 twisti
17061 * vm/jit/codegen.inc.h: Removed.
17062 * Fixed compiler warnings.
17064 2006-01-11 10:35 twisti
17066 * ICMD_F2I, ICMD_D2I, ICMD_F2L, ICMD_D2L: #if 0.
17068 2006-01-11 10:01 twisti
17070 * SUPPORT_FMOD: Removed.
17071 * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
17074 * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
17075 * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
17077 2006-01-10 22:44 twisti
17079 * SUPPORT_FMOD: Removed.
17080 * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
17083 * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
17084 * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
17086 2006-01-10 22:38 twisti
17088 * SUPPORT_FMOD: Removed.
17089 * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
17092 * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
17093 * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
17095 2006-01-10 22:22 twisti
17097 * EXTRA_DIST: Added ChangeLog-2005.
17099 2006-01-10 22:18 twisti
17101 * SUPPORT_FMOD: Removed.
17102 * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or
17105 * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
17106 * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
17108 2006-01-10 22:11 twisti
17110 * asm_getclassvalues_atomic: Replaced with ASM_GETCLASSVALUES_ATOMIC.
17111 * SUPPORT_IFCVT: Replaced with SUPPORT_I2F or SUPPORT_I2D.
17112 * SUPPORT_FICVT: Replaced with SUPPORT_F2I.
17113 * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F.
17114 * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L.
17116 2006-01-10 22:09 twisti
17118 * ASM_CALLJAVAFUNCTION, ASM_CALLJAVAFUNCTION_ADR,
17119 ASM_CALLJAVAFUNCTION_INT,
17120 ASM_CALLJAVAFUNCTION2, ASM_CALLJAVAFUNCTION2_ADR,
17121 ASM_CALLJAVAFUNCTION2_INT, ASM_CALLJAVAFUNCTION2_LONG,
17122 ASM_CALLJAVAFUNCTION2_FLOAT, ASM_CALLJAVAFUNCTION2_DOUBLE: Macros
17124 these macros hide the selection between jit and intrp functions.
17125 * ASM_GETCLASSVALUES_ATOMIC: Likewise.
17126 * intrp_asm_calljavafunction, intrp_asm_calljavafunction_int: Added.
17127 * intrp_asm_calljavafunction2, intrp_asm_calljavafunction2int,
17128 intrp_asm_calljavafunction2long, intrp_asm_calljavafunction2float,
17129 intrp_asm_calljavafunction2double: Likewise.
17130 * intrp_asm_getclassvalues_atomic: Likewise.
17132 2006-01-10 21:58 twisti
17134 * SUPPORT_IFCVT: Replaced with SUPPORT_I2F or SUPPORT_I2D.
17135 * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D.
17136 * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2I, SUPPORT_F2L or
17140 2006-01-10 21:11 twisti
17142 * exceptions_throw_negativearraysizeexception: Use
17143 * builtin_throw_exception: #ifndef NDEBUG.
17144 * builtin_trace_exception: Likewise.
17145 * builtin_trace_args: Likewise.
17146 * builtin_displaymethodstop: Likewise.
17147 * builtin_*: #if the function regarding the defines in arch.h.
17149 2006-01-10 20:57 twisti
17151 * exceptions_throw_classformaterror,
17152 exceptions_throw_arrayindexoutofboundsexception,
17153 exceptions_throw_illegalargumentexception,
17154 exceptions_throw_negativearraysizeexception,
17155 exceptions_throw_nullpointerexception: Added.
17156 * exceptions_print_exception: #ifndef NDEBUG.
17158 2006-01-10 20:56 twisti
17160 * exceptions_throw_classformaterror: Use this function.
17162 2006-01-10 20:55 twisti
17164 * exceptions_throw_nullpointerexception: Use this function.
17166 2006-01-10 20:50 twisti
17168 * exceptions_throw_nullpointerexception,
17169 exceptions_throw_arrayindexoutofboundsexception: Use these
17172 2006-01-10 20:48 twisti
17174 * exceptions_throw_nullpointerexception,
17175 exceptions_throw_illegalargumentexception: Use these functions.
17177 2006-01-10 20:46 twisti
17179 * exceptions_throw_illegalargumentexception,
17180 exceptions_throw_negativearraysizeexception,
17181 exceptions_throw_arrayindexoutofboundsexception,
17182 exceptions_throw_nullpointerexception: Use these functions.
17184 2006-01-10 20:44 twisti
17186 * exceptions_throw_classformaterror,
17187 exceptions_throw_negativearraysizeexception,
17188 exceptions_throw_nullpointerexception: Added.
17190 2006-01-10 15:52 twisti
17192 * Not required anymore.
17194 2006-01-10 15:50 twisti
17196 * use_class_as_object, create_property, copy_vftbl, create_methodsig:
17198 * classMeth, nativeCall, methodCall, nativeMethod, nativeCompCall,
17199 methodCompCall, nativeCompMethod: Likewise.
17200 * natcall2utf, printNativeCall, markNativeMethodsRT: Likewise.
17202 2006-01-10 15:48 twisti
17204 * nativeCalls, nativeCompCalls: Removed.
17205 * copy_vftbl, create_methodsig: Likewise.
17206 * printNativeCall, printCompNativeCall, findNativeMethodCalls,
17207 findNativeClassCalls, utfNativeCall, natcall2utf: Likewise.
17209 2006-01-10 10:59 twisti
17211 * codegen_ncode_increase: Typo.
17213 2006-01-09 20:52 twisti
17215 * disass_buf: Fixed typo.
17217 2006-01-09 20:28 twisti
17219 * disass_printf: Ooops, #ifdef was wrong.
17221 2006-01-09 20:19 twisti
17223 * Removed, we now link against libbfd and libopcodes.
17224 * stdarg.h, string.h, assert.h, vm/jit/powerpc/dis-asm.h: Removed.
17225 * dis-asm.h, stdio.h, vm/jit/disass.h: Added.
17226 * myprintf, buffer_read_memory, perror_memory, generic_print_address,
17227 generic_symbol_at_address, bfd_getb32, bfd_getl32, sprintf_vma:
17229 * Use disass-common.c stuff.
17231 2006-01-09 20:15 twisti
17233 * libarch_la_SOURCES: Removed dis-asm.h, ppc-dis.c, ppc-opc.c and
17236 2006-01-09 19:21 twisti
17238 * assert.h, stdarg.h, vm/jit/x86_64/dis-asm.h: Removed.
17239 * stdio.h, vm/jit/disass.h: Added.
17240 * myprintf, buffer_read_memory, generic_symbol_at_address,
17241 generic_print_address, perror_memory: Likewise.
17242 * Use disass-common.c stuff.
17244 2006-01-09 16:37 twisti
17246 * string.h, vm/jit/i386/dis-asm.h: Removed.
17247 * mylinebuf, mylen: Likewise.
17248 * myprintf, buffer_read_memory, generic_symbol_at_address,
17249 generic_print_address, perror_memory: Likewise.
17250 * Use disass-common.c stuff.
17252 2006-01-09 16:36 twisti
17254 * WITH_BINUTILS_DISASSEMBLER: Added, define DISASS_OBJ.
17255 * noinst_LTLIBRARIES: Added DISASS_OBJ.
17257 2006-01-09 16:30 twisti
17259 * This file contains the common functions required when we use the
17263 2006-01-09 16:29 twisti
17265 * WITH_BINUTILS_DISASSEMBLER: Added.
17266 * disass_printf: Added.
17268 2006-01-09 16:26 twisti
17270 * WITH_BINUTILS_DISASSEMBLER: Added.
17272 2006-01-09 12:12 twisti
17274 * Removed, we now link against libbfd and libopcodes.
17276 2006-01-09 12:10 twisti
17278 * libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c.
17280 2006-01-09 10:37 twisti
17282 * AC_CHECK_HEADER checks for ansidecl.h, bfd.h and symcat.h removed.
17283 * AC_CHECK_HEADER check for dis-asm.h added.
17284 * AC_CHECK_LIB checks for libbfd and libopcodes added.
17286 2006-01-09 10:35 twisti
17288 * Removed, we now link against libbfd and libopcodes.
17289 * libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c, we now link
17291 libbfd and libopcodes.
17293 2006-01-08 23:37 twisti
17295 * Updated from GNU Classpath:
17297 2005-12-17 Guilhem Lavaux <guilhem@kaffe.org>
17299 * native/fdlibm/fdlibm.h
17300 (isnan): Define explicitly isnan if it is not a macro.
17302 2006-01-08 23:00 twisti
17304 * loader_load_all_classes: Print exception when loading failed.
17306 2006-01-08 22:38 twisti
17308 * SUCK_xx_xx: We can only optimize little endian loads on i386 and
17310 machines. All others have problems with alignment.
17312 2006-01-08 22:12 twisti
17314 * Ignore *.class files.
17316 2006-01-08 22:11 twisti
17318 * java-assert.h: Unused, removed.
17320 2006-01-08 22:01 twisti
17322 * Added VM interface change to be consistent:
17324 2005-11-13 Archie Cobbs <archie@dellroad.org>
17326 * vm/reference/gnu/classpath/VMStackWalker.java (getClassLoader()):
17327 added to fix an infinite loop bug.
17328 * NEWS: note VM interface change.
17330 2006-01-08 21:32 twisti
17332 * suck_add: Check for lce != NULL before adding it to the list, since
17333 zip_open can return NULL.
17335 2006-01-08 19:14 twisti
17339 2006-01-08 19:13 twisti
17341 * SOURCE_FILES: Added.
17343 * checkall: Renamed to check.
17345 2006-01-08 19:12 twisti
17347 * Use $(mkdir_p), $(JAVAC) and $(ZIP) variables.
17349 2006-01-08 19:11 twisti
17351 * AM_PROG_MKDIR_P: Added.
17352 * Added headers checks for ansidecl.h, bfd.h, and symcat.h if we have
17354 * AC_PROG_JAVAC: Added.
17355 * AC_PATH_PROG: Added check for zip.
17357 2006-01-08 19:09 twisti
17359 * Macros to check for a Java compiler, taken from
17360 http://ac-archive.sourceforge.net/.
17362 2006-01-04 09:35 twisti
17364 * Removed src/toolbox/avl.[ch] copyright.
17366 2006-01-04 09:34 twisti
17368 * avl_dump: Only print node->data.
17370 2006-01-03 23:46 twisti
17372 * Use new avl tree code.
17375 2006-01-03 23:44 twisti
17377 * exit_handler: Removed print_dynamic_super_statistics.
17378 * print_stats: Added print_dynamic_super_statistics.
17380 2006-01-03 23:43 twisti
17382 * threads.h: Added.
17383 * builtin.h: Likewise.
17385 2006-01-03 23:08 twisti
17387 * CallNonvirtualBooleanMethodA: Added missing ;.
17389 2006-01-03 23:05 twisti
17391 * ENABLE_STATISTICS: Fixed typo.
17393 2006-01-02 21:01 christian
17397 2006-01-02 17:13 twisti
17399 * nregdescint, nregdescfloat: Moved to md-abi.c.
17401 2006-01-02 17:12 twisti
17403 * nregdescint, nregdescfloat: Added.
17405 2006-01-02 17:11 twisti
17407 * noinst_HEADERS: Removed md-abi.inc.
17409 2006-01-02 16:40 twisti
17411 * signal_handler_sigsegv: Replaced functionptr with u1*.
17413 2006-01-02 16:18 twisti
17415 * nregdescint, nregdescfloat: Moved to md-abi.c.
17417 2006-01-02 16:17 twisti
17419 * nregdescint, nregdescfloat: Added.
17420 * noinst_HEADERS: Removed md-abi.inc.
17422 2006-01-02 16:12 twisti
17424 * INCLUDES: Added OS_DIR, some archs have their md-abi.* files in the
17428 2006-01-02 16:08 christian
17430 *** empty log message ***
17432 2006-01-02 16:04 twisti
17434 * nregdescint, nregdescfloat: Moved to md-abi.c.
17436 2006-01-02 16:03 twisti
17438 * nregdescint, nregdescfloat: Added.
17439 * noinst_HEADERS: Removed md-abi.inc.
17441 2006-01-02 14:32 christian
17443 Removed old debug message
17445 2006-01-02 14:26 twisti
17447 * md-abi.inc: Removed.
17449 2006-01-02 14:25 twisti
17451 * nregdescint, nregdescfloat: Moved to md-abi.c.
17453 2006-01-02 14:24 twisti
17455 * nregdescint, nregdescfloat: Added.
17456 * noinst_HEADERS: Removed md-abi.inc.
17458 2006-01-02 14:11 christian
17460 Corrected \"\" to \<\> for system header include
17462 2006-01-02 14:07 twisti
17464 * nregdescint, nregdescfloat: Moved to md-abi.c.
17465 * noinst_HEADERS: Removed md-abi.inc.
17467 2006-01-02 14:06 twisti
17469 * nregdescint, nregdescfloat: Added.
17470 * disassinstr: Some code improvement.
17472 2006-01-02 14:05 twisti
17474 * md-abi.inc: Removed.
17476 2006-01-02 13:05 christian
17478 Changed register allocator .inc to .c files and moved them to
17479 src/vm/jit/allocator
17481 2006-01-02 12:59 christian
17483 Changed register allocator .inc to .c files and moved them to
17484 src/vm/jit/allocator
17486 2006-01-02 12:22 twisti
17488 * Fixed result message for debug.
17490 2006-01-02 12:10 twisti
17494 2006-01-02 12:04 twisti
17496 * Added ltdl.h check.
17498 2006-01-02 11:34 twisti
17500 * Fixed ltdl.h include path.
17502 2006-01-02 01:34 twisti
17504 * Fixed ltdl.h include path.
17506 2006-01-02 01:15 twisti
17508 * I don't think we really need them, but they are still in Attic.
17510 2006-01-02 01:10 twisti
17512 * Generated changelog for 2005.
17514 2006-01-02 01:05 twisti
17516 * unzip.[ch], libffi, libltdl: Removed.
17518 2006-01-01 21:53 twisti
17522 2006-01-01 21:38 twisti
17524 * We now use the system libltdl.
17526 2006-01-01 21:32 twisti
17528 * Changed text of kaffe's stuff, dalibor pointed this out.
17530 2006-01-01 21:29 twisti
17532 * AC_LIBLTDL_CONVENIENCE, AC_SUBST(LIBLTDL): Removed.
17533 * AC_COMPILE_CHECK_SIZEOF: Replaced with AC_CHECK_SIZEOF.
17535 2006-01-01 21:22 twisti
17537 * m4 macros have a different copyright header.
17539 2006-01-01 21:13 twisti
17541 * Lists all third party software we use. This list contains all
17543 used in 0.93. Stuff that has been ripped will be deleted after that
17544 commit, this is for the records.
17546 2006-01-01 20:55 twisti
17550 2006-01-01 19:39 twisti
17552 * Removed libltdlc.la.
17553 * DIST_SUBDIRS: Removed libltdl.
17554 * SUBDIRS: Likewise.
17556 2006-01-01 19:38 twisti
17558 * Added libltdl check.
17559 * AC_CONFIG_SUBDIRS: Removed src/libltdl.
17561 2006-01-01 18:39 twisti
17563 * libarch_la_SOURCES: Removed symcat.h.
17565 2006-01-01 18:34 twisti
17569 2006-01-01 18:33 twisti
17571 * libarch_la_SOURCES: Removed symcat.h.
17573 2006-01-01 18:30 twisti
17575 * generic_symbol_at_address: Print only 8 bytes.
17577 2006-01-01 18:21 twisti
17580 * generic_symbol_at_address: Added, they were implemented in dis-buf.c
17582 * generic_print_address: Likewise.
17583 * perror_memory: Likewise.
17585 2006-01-01 18:20 twisti
17587 * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c.
17588 * config.h, vm/jit/codegen-common.h: Added.
17590 2006-01-01 16:40 twisti
17592 * Changed include to use system headers.
17594 2006-01-01 16:39 twisti
17597 * generic_symbol_at_address: Added, they were implemented in dis-buf.c
17599 * generic_print_address: Likewise.
17600 * perror_memory: Likewise.
17602 2006-01-01 16:37 twisti
17604 * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c.
17606 2006-01-01 16:35 twisti
17608 * DEC OSF cc only defines __alpha.
17610 2006-01-01 16:34 twisti
17612 * class_resolvefield: Renamed except to throwexception since some
17614 have a builtin except macro (like DEC OSF cc).
17615 * class_resolveclassmethod: Likewise.
17616 * class_resolveinterfacemethod: Likewise.
17618 2006-01-01 16:31 twisti
17620 * zip_open: Handle compiler error with DEC OSF's cc.