X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=ChangeLog;h=3fa8f4334b3150d4f539352180ba1cdc4e5df5e7;hb=c88eaa31900406448860f9b279949aa6dcaaba02;hp=b715f5870900ef7ce35b026d1c5486879fb0fbed;hpb=45ee40304dca21252e8516f1919d3987fce5f74e;p=cacao.git diff --git a/ChangeLog b/ChangeLog index b715f5870..3fa8f4334 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,153 +1,7169 @@ -2006-01-02 02:05 twisti +2006-05-29 18:52 twisti - * THIRDPARTY: - * unzip.[ch], libffi, libltdl: Removed. + * configure.ac (AC_INIT): Changed to version 0.96. + (CFLAGS): Changed to -O2. + * NEWS: Changed date. -2006-01-01 22:53 twisti +2006-05-29 15:51 twisti - * autogen.sh: - * Removed libltdl. + * src/vm/vm.c (usage): Removed new-line. -2006-01-01 22:32 twisti +2006-05-29 15:37 twisti - * THIRDPARTY: - * Changed text of kaffe's stuff, dalibor pointed this out. + * src/vm/vm.c (OPT_GLIBJ): Added. + (Xusage): Added help for -Xglibj. + (version): Changed signature for conditional exit. + (main): Added OPT_GLIBJ. Print version after all commandline arguments + have been handled. -2006-01-01 22:29 twisti +2006-05-29 15:21 edwin - * configure.in: - * AC_LIBLTDL_CONVENIENCE, AC_SUBST(LIBLTDL): Removed. - * AC_COMPILE_CHECK_SIZEOF: Replaced with AC_CHECK_SIZEOF. + * src/vm/linker.c (link_class_intern): On i386 align all fields to + just 4 bytes as gcc does. This makes the offsets of Java fields match + the offset of native headers. This fixes a bug (java.lang.Double.value + had been at offset 16, but java_lang_Double.value is offset 12). -2006-01-01 22:22 twisti +2006-05-29 15:17 twisti - * THIRDPARTY: - * m4 macros have a different copyright header. + * src/threads/native/critical.h (signal.h): Added, build fix for some + older Darwin systems. -2006-01-01 22:13 twisti +2006-05-29 14:32 twisti - * THIRDPARTY: - * Lists all third party software we use. This list contains all - stuff we used in 0.93. Stuff that has been ripped will be deleted - after that commit, this is for the records. + * NEWS: Added a lot of stuff. -2006-01-01 21:55 twisti +2006-05-29 14:31 twisti - * m4/accross.m4: - * Not required. + * src/cacao/Makefile.am: Renamed libcacaovm.so to libjvm.so to be + binary compatible with Sun. -2006-01-01 20:39 twisti +2006-05-29 09:41 motse - * src/cacao/Makefile.am: - * Removed libltdlc.la. + src/native/jni.c: removed jvmti.h included cacaodbg.h for GetEnv - + jvmti + src/native/vm/VMVirtualMachine.c: formatting changes/removed debug + statements + src/native/vm/VMMethod.c: + (getName/getSignature/getModifiers/getLineTable): (Samuel Vinson) new + implementation. (partially changed by motse) + src/native/jvmti/cacaodbg.h: removed unused function declarations + src/native/jvmti/jvmti.c (getcacaostacktrace): new implementation - + does not yet handle traces of not current threads correctly. + (GetMethodName): fix: return JVMTI_ERROR_NULL_POINTER only on method + == NULL + (GetFrameCount/GetStackTrace): fixed check for valid thread argument. -2006-01-01 20:39 twisti +2006-05-26 16:24 edwin - * src/Makefile.am: - * DIST_SUBDIRS: Removed libltdl. - * SUBDIRS: Likewise. + * src/toolbox/logging.h (stdarg.h): Include it here, instead of in + logging.c. + * src/toolbox/logging.c: See above. -2006-01-01 20:38 twisti +2006-05-26 12:58 twisti - * configure.in: - * Added libltdl check. - * AC_CONFIG_SUBDIRS: Removed src/libltdl. + * src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection): + Removed assert. + * src/vm/jit/powerpc/darwin/md-os.c (thread_restartcriticalsection): + Compile fix. Removed assert. -2006-01-01 19:39 twisti +2006-05-26 12:46 edwin + + * NEWS: Added unicode cleanup. + +2006-05-26 12:44 edwin + + * NEWS: Added tasuki locks and other news. + +2006-05-26 12:31 motse + + src/native/jvmti/jvmti.c (GetClassStatus): bugfix - only compare + class state + +2006-05-26 12:26 edwin + + * src/vm/jit/stacktrace.c (stacktrace_remove_stackframeinfo): + Commented. + +2006-05-26 12:25 twisti + + * src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection): + Implemented. + * src/vm/jit/powerpc/darwin/md-os.c: Likewise. + +2006-05-26 12:19 edwin + + * src/vm/builtin.c (builtin_init): Documented. + (builtin_trace_args): Documented. + (builtin_displaymethodstop): Documented. + + * src/vm/jit/alpha/md-abi.c (md_param_alloc): Documented. + + * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers): + Documented. + + * src/vm/jit/codegen-common.c (methodtree_comparator): Documented. + (codegen_insertmethod): Documented. + + * src/toolbox/util.c (getcwd): Documented. + +2006-05-26 12:09 edwin + + * src/vm/loader.h: Comment update. + + * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed obsolete + inlining check. + + * src/vm/jit/replace.c: Typo fixed. + + * src/vm/jit/reg.c: Avoid XXX as wildcard in comments. + * src/vm/jit/jit.h: Likewise. + +2006-05-26 11:57 twisti + + * src/vm/properties.c (properties_system_add): Changed + javastring_new_from_ascii to javastring_new_from_utf_string. + + * src/native/jni.c (ThrowNew): Use a variable for clazz. + (JNI_CreateJavaVM): Release allocated memory if vm_create fails. + + * src/threads/native/threads.c: Comments reformatted. + +2006-05-26 11:48 edwin + + * src/vm/class.c (class_resolveclassmethod): Removed obsolete XXX + comments. + (class_resolveinterfacemethod): Likewise. + (class_resolvefield): Likewise. + + * src/vm/classcache.h: Removed obsolete XXX comment. + + * src/vm/jit/allocator/lsra.h: Changed TYPE_XXX to TYPE_* in comments. + * src/vm/jit/jit.c: Likewise. + + * src/native/vm/VMObject.c (Java_java_lang_VMObject_clone): + Removed obsolete XXX comment. + + * src/mm/memory.c (dump_release): Removed obsolete debugging code. + +2006-05-26 11:22 edwin + + * src/native/jni.c (DefineClass): Use javastring_new_from_utf_string. + (ThrowNew): Likewise. + +2006-05-26 09:30 twisti + + * src/mm/boehm.c (stackcall_malloc_atomic): Removed. + (stackcall_malloc_uncollectable): Likewise. + (heap_alloc_uncollectable): Use macros directly. + (heap_allocate): Likewise. + + * src/vm/vm.c: Added -jvm options, which is available on darwin. + + * src/vm/suck.c (scandir_filter): Changed signature for darwin. + +2006-05-25 21:59 motse + + src/vm/vm.c(usage): added information for jvmti agent for jdwp + (vm_create): jdwp code move to jvmti agent for jdwp (VMjdwp.c) + src/cacao/cacao.c (main): jdwp code move to jvmti agent for jdwp. + execute jvmti_set_phase only if needed + src/native/jvmti/cacaodbg.c (setup_jdwp_thread): jdwp code move to + jvmti agent for jdwp + src/native/jvmti/VMjdwp.c: change this to a jvmti complaint agent by + using jni/jvmti function instead of cacao specific functions and + implement a Agent_OnLoad as main entry point. Include + setup_jdwp_thread function. + src/native/jvmti/Makefile.am: add libjdwp.so + src/native/jvmti/cacaodbg.h: remove no more needed global jdwp + related variables + src/native/jvmti/jvmti.c: (Resume/SuspendThread(List)): add temporary + implementation for trying jdwp + (jvmti_agentload): bugfix in getting/passing libname/arguments + +2006-05-25 12:28 twisti + + * vm/jit/intrp/intrp.h (global_sp): Added space, yeah, whatever... + * vm/jit/intrp/dynamic-super.c (vm/builtin.h): Added. + (vm/jit/disass.h): Likewise. + (gen_inst): Fixed compiler warnings. + * vm/jit/intrp/java.vmg: Fixed compiler warnings with + stacktrace_create_stackframeinfo. + * threads/native/threads.h (threadobject): Changed type of _global_sp + to u1*. + +2006-05-25 12:22 twisti + + * NEWS: Sorry. + +2006-05-25 12:21 twisti + + * src/vm/vm.c (HEAP_MAXSIZE): Changed to 128MB. + (STACK_SIZE): Changed to 64kB. + (Xusage): Calculate default sizes. + + * NEWS: New stuff added. + +2006-05-25 11:29 twisti + + * src/vm/jit/x86_64/md-emit.h (emit_movl_reg_reg): Added. + +2006-05-25 11:24 edwin + + * configure.ac: Disable inlining and lsra by default. + +2006-05-24 14:11 twisti + + * src/threads/native/threads.c (threads_startup_thread): Allocate Java + stack on Java heap instead of hardware stack. + +2006-05-24 14:08 twisti + + * configure.ac: Added INTRP_CFLAGS. + * src/vm/jit/intrp/Makefile.am (CFLAGS): Set to INTRP_CFLAGS. + +2006-05-24 11:00 motse + + src/vm/vm.c (vm_exit): only set JVMTI_PHASE_DEAD if a jvmti agent or + a jvmti environment is loaded. + src/native/jvmti/cacaodbg.c (jvmti_cacaodbgserver_quit): bugfix: set + dbgcom = NULL only if all environments have been disposed. + src/native/jvmti/jvmti.c (GetLoadedClasses): remove debug statement + +2006-05-23 19:52 motse + + src/vm/classcache.c: export CLASSCACHE_LOCK/UNLOCK and + lock_hashtable_classcache + src/vm/classcache.h: idem + src/native/jvmti/jvmti.c (GetLoadedClasses) implemented (sv/motse) + (GetClassSignature) fixed + +2006-05-23 15:31 motse + + src/vm/vm.c (vm_create): rename jvmti function calls + + src/cacao/cacao.c (main): rename jvmti function calls + + src/native/jni.c (GetEnv): rename jvmti function calls. jvmti version + changed to JVMTI_VERSION_INTERFACE_JVMTI + + src/native/vm/VMVirtualMachine.c (getAllLoadedClassesCount): (Samuel + Vinson) implemented. + (getAllLoadedClassesCount): jvmti Deallocate call added. (sv): + CallObjectMethod fix + (getAllClassMethods): (Samuel Vinson) implemented. + (getClassMethod): (Samuel Vinson) implemented. + + src/native/jvmti/jvmti.h: added JVMTI_VERSION interface and mask + + src/native/jvmti/cacaodbgserver.h: msg queue/shared mem related + things removed. gdb related defines added. + + src/native/jvmti/dbg.h: remove ptrace related things + + src/native/jvmti/cacaodbg.c change setsysbrkpt name to + jvmti_set_system_breakpoint, addbrkpt to jvmti_add_breakpoint, + allthreads to jvmti_get_all_threads + (jvmti_cacao_debug_init): new function where fork/exec of + cacaodbgserver takes place + (jvmti_set_system_breakpoint): added functionality for brkpt delete + and asm label for cacaodbgserver support + (jvmti_cacaodbgserver_quit): new function for killing cacaodbgserver + properly + (jvmti_cacao_generic_breakpointhandler): new function. This is the + entry point for every breakpointhandler and start for a new jvmti + event + (jvmti_cacao_debug_init): new function for starting up + cacaodbgserver process. + + src/native/jvmti/VMjdwp.c (jvmti_VMjdwpInit): function renamed + + src/native/jvmti/Makefile.am: delete dbg.c. (sv) add compile/install + support for cacaodbgserver. + + src/native/jvmti/cacaodbg.h: breakpoint counter added to struct + _brkpt. change setsysbrkpt name to jvmti_set_system_breakpoint, + addbrkpt to jvmti_add_breakpoint, allthreads to + jvmti_get_all_threads, fireEvent to jvmti_fireEvent, agentload to + jvmti_agentload agentunload to jvmti_agentunload, getcurrentthread to + jvmti_get_current_thread, set_jvmti_phase to jvmti_set_phase, + new_jvmtienv to jvmti_new_environment, VMjdwpinit to + jvmti_VMjdwpInit. added breakpoint table constants. removed global + jdwp, jvmti, suspend, transport, agentarg variables + + src/native/jvmti/jvmti.c all jvmti-environment function changed to + static functions. execcallback renamed to execute_callback. fireEvent + renamed to jvmti_fireEvent. + (execute_callback): add phase checks + (GetClassMethods): bugfix in copying jmethodIDs + (DisposeEnvironment): relocate work to jvmti_cacaodbgserver_quit + (jvmti_new_environment) : relocate forking new process to + jvmti_cacao_debug_init + (CHECK_ADD_CAPABILITY): bugfix in adding capabilities + (GetClassMethods): bugfix coping methodinfo pointers + (SetEventNotificationMode): setsysbrkpt calls added. + rename jvmti function names. + + src/native/jvmti/cacaodbgserver.c changed to support gdb insted of + using ptrace directly. + (getchildprocptrace): removed + (waitloop): removed + (startgdb): new function. start a new gdb session. + (getgdboutput): new helper function for getting gdb output. + (dataevaluate): new helper function for getting value for a given + expression + (commonbreakpointhandler): new function which handles SIGTRAPs and + gdb breakpoint hits. + (controlloop) : new function handle communication with gdb + (main): removed old code. added calls to startgdb and controlloop + + src/native/jvmti/dbg.c removed + + src/threads/native/threads.h: removed + threads_set_current_threadobject. added jvmti_get_threads_breakpoints + + src/threads/native/threads.c: (threads_startup_thread) add thread + start/end asm lables + (threads_set_current_threadobject): removed jvmti thread start + support. + (jvmti_get_threads_breakpoints) new function that gets addresses of + asm lables. + + src/threads/native/lock.h: added definition of lock_global_pool_lock + and lock_global_pool + +2006-05-23 08:51 twisti + + * src/vm/jit/x86_64/codegen.c: Changed the code generator to produce + RISC-like code. These are way too much changes to name them. + (createnativestub): Bugfix in argument saving. + * src/vm/jit/x86_64/codegen.h: Likewise. + * src/vm/jit/x86_64/emit.c: Likewise. + * src/vm/jit/x86_64/md-emit.h: Likewise. + +2006-05-23 08:42 twisti + + * src/vm/options.c (opt_heapmaxsize, opt_heapstartsize): Added. + * src/vm/options.h: Likewise. + + * src/vm/vm.c (version): Print heap and stack information. + (vm_create): Use global option variables. + +2006-05-23 08:25 twisti + + * src/vm/jit/x86_64/emit.c (emit_movl_reg_reg): New function. + + * src/vm/jit/x86_64/codegen.c (ICMD_L2I): Only move the low + 32-bit. Otherwise this may cause a bug with e.g. array accesses, as + the index registers are treated as 64-bit. + + * src/vm/jit/x86_64/codegen.h (gen_bound_check): Bugfix: only read + 32-bit. + (M_IMOV): Added. + (M_ICMP_MEMBASE): Likewise. + +2006-05-22 16:14 twisti + + * configure.ac: Added --with-classpath-includedir. + +2006-05-22 09:07 twisti + + * NEWS: Some news. + +2006-05-22 09:06 twisti + + * src/vm/vm.c (vm_abort): New method. + * src/vm/vm.h: Likewise. + * src/cacaoh/headers.c: Likewise. + + * src/toolbox/logging.c (log_vprint): Made non-static. + * src/toolbox/logging.h (log_vprint): Added. + + * src/threads/native/threads.c (threads_sem_init): Use vm_abort. + (threads_sem_wait): Likewise. + (threads_sem_post): Likewise. + (threads_current_time_is_earlier_than): Likewise. + (threads_init): Check for pthread_attr_init error. + (threads_start_thread): Check for errors of pthread calls. Set the + threads stack size. + +2006-05-18 14:33 edwin + + * src/threads/native/lock.h, src/threads/native/lock.c: Tasuki lock + implementation (without lock deflation). This is a straight-forward + implementation that uses an extra word in java_objectheader for the + FLC (flat lock contention) bit. + + * src/vm/global.h (java_objectheader): Added field `flcword`. + + * src/threads/native/lock.h (Authors): Changed to myself, as there + is none of the old code remaining in this file. + + * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c, + src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c, + src/vm/jit/x86_64/codegen.c (codegen, createnativestub): Add the + FLC word when creating the fake object header for patcher + synchronization. + +2006-05-18 14:06 twisti + + * src/vm/properties.c (properties_get): Search the list backwards to + get the newest entry. + +2006-05-18 12:50 twisti + + * src/vm/vm.c (version): Print default and runtime classpath + variables. + (vm_create): Add a default java.endorsed.dirs property. + +2006-05-17 22:06 twisti + + * configure.ac: Don't export BOOTCLASSPATH, that makes problems. + +2006-05-17 12:10 twisti + + * src/vm/jit/powerpc/codegen.c (createnativestub): Fixed bug and + changed argument saving and restoring. + + * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Partially + implemented Darwin bits. Still some bugs with testarguments. + +2006-05-16 13:08 twisti + + * src/vm/jit/powerpc/codegen.c (codegen): Bugfix: use REG_ITMP3 in + ICMD_L{DIV,REM} for function address. This fixes + gnu.testlet.java.math.BigInteger.divide. + +2006-05-16 01:49 edwin + + * src/threads/native/lock.c: Fixed comment formatting. + +2006-05-15 23:37 edwin + + * src/vm/jit/i386/machine-instr.h (compare_and_swap): Fixed comment. + +2006-05-15 23:31 twisti + + * configure.ac: Export BOOTCLASSPATH for javac check. + * src/cacao/Makefile.am (cacao_SOURCES)Removed cacao.h. + * src/vm/jit/inline/Makefile.am (libinline_la_SOURCES): Added + inline_debug.inc. + * src/vm/jit/powerpc/Makefile.am (DIST_SUBDIRS): Added netbsd. + +2006-05-15 23:22 edwin + + * src/vm/jit/inline/inline_debug.c: Renamed to + src/vm/jit/inline/inline_debug.inc. + + * src/vm/jit/inline/inline.c: #include changed to + src/vm/jit/inline/inline_debug.inc. + + * src/vm/resolve.c: Typo fixed. + +2006-05-15 21:48 edwin + + * src/threads/native/lock.c (lock_record_remove_waiter): Made static. + (lock_monitor_wait): Likewise. + +2006-05-15 21:32 edwin + + * src/threads/native/lock.h, src/threads/native/lock.c + (lock_does_thread_hold_lock): Renamed to + lock_is_held_by_current_thread + and removed thread argument, as reliable checking is only possible for + the current thread, anyway. + + * src/native/vm/VMThread.c (lock_does_thread_hold_lock): Changed to + lock_is_held_by_current_thread. + + * src/native/jvmti/jvmti.c (lock_does_thread_hold_lock): Changed to + lock_is_held_by_current_thread. + +2006-05-15 18:24 edwin + + * configure.ac (src/threads/green/Makefile): Removed from + AC_CONFIG_FILES. + +2006-05-15 15:06 edwin + + * src/threads/native/lock.h (lock_record_pool_header_t): Documented. + (lock_record_pool_t): Documented. + + * src/threads/native/lock.c: Minor whitespace cleanup. + +2006-05-15 14:40 twisti + + * THIRDPARTY: Removed green threads stuff. + +2006-05-15 14:39 twisti + + * src/vm/jit/alpha/asmpart.S (asm_perform_threadswitch) + (asm_initialize_thread_stack, asm_switchstackandcall): Removed (2nd + part of green threads removal). + * src/vm/jit/mips/asmpart.S: Likewise. + * src/vm/jit/i386/asmpart.S: Likewise. + * src/vm/jit/x86_64/asmpart.S: Likewise. + +2006-05-15 14:24 twisti + + * src/vm/hashtable.h, + src/vm/class.c,, + src/vm/suck.c, + src/vm/loader.c, + src/vm/builtin.c, + src/vm/string.c, + src/vm/suck.h, + src/vm/builtin.h, + src/vm/loader.h, + src/vm/finalizer.c, + src/vm/classcache.c, + src/vm/initialize.c, + src/vm/jit/powerpc/linux/md-os.c, + src/vm/jit/powerpc/netbsd/md-os.c, + src/vm/jit/powerpc/darwin/md-os.c, + src/vm/jit/powerpc/darwin/md-asm.h, + src/vm/jit/powerpc/codegen.c, + src/vm/jit/powerpc/asmpart.S, + src/vm/jit/codegen-common.h, + src/vm/jit/alpha/codegen.c, + src/vm/jit/alpha/linux/md-os.c, + src/vm/jit/alpha/asmpart.S, + src/vm/jit/alpha/freebsd/md-os.c, + src/vm/jit/stack.c, + src/vm/jit/code.c, + src/vm/jit/verify/typecheck.c, + src/vm/jit/mips/codegen.c, + src/vm/jit/mips/linux/md-os.c, + src/vm/jit/mips/asmpart.S, + src/vm/jit/mips/irix/md-os.c, + src/vm/jit/patcher.h, + src/vm/jit/inline/inline.c, + src/vm/jit/allocator/simplereg.c, + src/vm/jit/i386/codegen.c, + src/vm/jit/i386/linux/md-os.c, + src/vm/jit/i386/asmpart.S, + src/vm/jit/i386/freebsd/md-os.c, + src/vm/jit/parse.c, + src/vm/jit/intrp/intrp.h, + src/vm/jit/intrp/codegen.c, + src/vm/jit/intrp/engine.c, + src/vm/jit/intrp/asmpart.c, + src/vm/jit/intrp/dynamic-super.c, + src/vm/jit/intrp/java.vmg, + src/vm/jit/asmpart.h, + src/vm/jit/x86_64/md.c, + src/vm/jit/x86_64/codegen.c, + src/vm/jit/x86_64/asmpart.S, + src/vm/jit/profile/profile.c, + src/vm/jit/stacktrace.c, + src/vm/jit/jit.c, + src/vm/jit/stacktrace.h, + src/vm/jit/codegen-common.c, + src/vm/jit/jit.h, + src/vm/global.h, + src/vm/builtintable.inc, + src/vm/signal.c, + src/vm/exceptions.c, + src/vm/vm.c, + src/vm/linker.c, + src/vm/exceptions.h, + src/vm/utf8.c, + src/vm/hashtable.c, + src/cacao/cacao.c, + src/cacao/Makefile.am, + src/native/tools/Makefile.am, + src/native/tools/gennativetable.c, + src/native/jni.c, + src/native/vm/VMObject.c, + src/native/vm/VMThread.c, + src/native/jni.h, + src/native/native.c, + src/native/jvmti/cacaodbg.c, + src/native/jvmti/cacaodbg.h, + src/native/jvmti/jvmti.c, + src/toolbox/avl.c, + src/toolbox/logging.c, + src/toolbox/avl.h, + src/mm/boehm.h, + src/mm/memory.c, + src/mm/boehm.c, + src/threads/green, + src/threads/native/threads.h, + src/threads/native/threads.c, + src/threads/Makefile.am, + src/cacaoh/cacaoh.c, + src/cacaoh/headers.h, + src/cacaoh/Makefile.am, + src/cacaoh/headers.c, + configure.ac: Green threads removal, USE_THREADS renamed to + ENABLE_THREADS, NATIVE_THREADS define removed. + +2006-05-15 13:13 twisti + + * src/vm/jit/asmpart.h (calljava_xhandler2): Not required anymore. + +2006-05-15 12:23 twisti + + * src/threads/native/threads.c (sem_init, sem_post, sem_wait) + (sem_destroy): Added a pthread implementation (taken from Boehm-GC) + for Darwin, as Darwin does not have an implementation for these + functions. + * src/threads/native/threads.h (sem_t): Added structure for Darwin. + * src/threads/native/lock.h (semaphore.h): Removed. + +2006-05-15 12:14 edwin + + * src/threads/native/lock.c (THIN_UNLOCKED): Abstracted out the thin + unlocked state so we can toggle the shape bit meaning if we want. + (lock_pre_compute_thinlock): Likewise. + (lock_get_initial_lock_word): Likewise. + (lock_monitor_enter): Made void. Might save an instruction here and + there. + (lock_monitor_wait): lock_monitor_enter no longer returns the lock + record. Assert that it is still the same fat lock (it must be). + +2006-05-15 11:34 edwin + + * src/threads/native/lock.c: Added reference to thin lock paper and + explained the lockword format. + +2006-05-14 22:41 edwin + + * src/threads/native/lock.c: Thin lock implementation. + + * src/threads/native/threads.h (threadobject): Added thinlock field. + (Authors, Changes): Moved myself to Authors because of rewrite. + + * src/threads/native/threads.c (threads_preinit): Init index and + thinlock field of mainthreadobj here. (Needed early.) + (threads_table_add): Init pre-computed thinlock field here. + + * src/threads/native/lock.h (lock_pre_compute_thinlock): New function. + +2006-05-14 22:36 edwin + + * src/threads/native/lock.c (lock_record_free_pools): Assert that + this function is not called. It does not match the new way lock + records are handled. We must find another way to free them. + + * src/threads/native/threads.c (threads_init): Do not call + lock_record_free_pools. + (threads_table_add): Removed debug code. + (threads_startup_thread): Likewise. + +2006-05-14 15:34 edwin + + * src/threads/native/threads.c (threads_table_init): New function. + (threads_table_add): New function. + (threads_table_remove): New function. + (threads_table_dump): New function. + (threads_table): New global variable. + (threads_preinit): Call threads_table_init. + Call threads_table_add to add main thread. + (threads_init_threadobject): Initialize index to 0. + (threads_startup_thread): Call threads_table_add to add the thread + to the table, and threads_table_remove to remove if afterwards. + +2006-05-14 14:02 edwin + + * src/threads/native/threads.h, src/threads/native/threads.c + (nativethread): Removed. This struct is now inlined in threadobject. + (threads_table_entry_t): New type. + (threads_table_t): New type. + Some further cleanup. + + * src/vm/builtin.h (THREADINFO): Becomes THREADOBJECT. + + * src/vm/jit/intrp/intrp.h (THREADINFO): Becomes THREADOBJECT. + + * src/vm/jit/stacktrace.c (_stackframeinfo): This is now directly + a field of threadobject. + + * src/vm/jit/stacktrace.h (THREADINFO): Becomes THREADOBJECT. + + * src/native/jni.h (THREADINFO): Becomes THREADOBJECT. + + * src/native/jvmti/jvmti.c (isSleeping): Renamed to sleeping. + +2006-05-14 12:22 edwin + + * src/threads/native/lock.c, src/threads/native/lock.h: Rewritten + as a very basic fat lock implementation. + + * src/vm/jit/powerpc64/arch.h (USE_MD_THREAD_STUFF): Renamed to + USE_FAKE_ATOMIC_INSTRUCTIONS. + + * src/vm/jit/intrp/engine.c (USE_MD_THREAD_STUFF): Renamed to + USE_FAKE_ATOMIC_INSTRUCTIONS. + + * src/threads/native/threads.c (USE_MD_THREAD_STUFF): Renamed to + USE_FAKE_ATOMIC_INSTRUCTIONS. + (ee.lrpool): Renamed to ee.lockrecordpools. + +2006-05-14 12:15 edwin + + * src/threads/native/threads.c (threads_calc_absolute_time): Optimize + waiting for the maximum 64-bit number of milliseconds to an unbounded + wait. This also avoids an overflow problem we seem to have with timed + waits. + +2006-05-13 23:25 edwin + + * src/threads/native/lock.c (lock_init_thread_lock_record_pool): + Renamed to lock_init_execution_env. Cleanup and Comments. + + * src/threads/native/lock.h (lock_init_thread_lock_record_pool): + Renamed to lock_init_execution_env. + + * src/threads/native/threads.c (lock_init_thread_lock_record_pool): + Renamed to lock_init_execution_env. + +2006-05-13 23:10 edwin + + * src/threads/native/threads.c, src/threads/native/threads.c: Further + cleanup. Still no functional changes. + Renamed external symbols are listed below. + + * src/threads/native/critical.h, src/threads/native/critical.c: + Cleanup. + + * src/threads/native/lock.h: Cleanup. + + * src/vm/jit/profile/profile.c (thread_sleep): Renamed to + threads_sleep. + + * src/vm/vm.c (joinAllThreads): Renamed to threads_join_all_threads. + + * src/native/jni.c (thread_getself): Renamed to + threads_get_current_threadobject. + + * src/native/vm/VMThread.c (thread): Typedef `thread` has been + removed. + (interruptThread): Renamed to threads_interrupt_thread. + (isInterruptedThread): Renamed to threads_thread_has_been_interrupted. + (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority. + (yieldThread): Renamed to threads_yield. + (interruptedThread): Renamed to + threads_check_if_interrupted_and_reset. + + * src/native/jvmti/cacaodbg.c (thread_getself): Renamed to + threads_get_current_threadobject. + (setthreadobject): Renamed to threads_set_current_threadobject. + + * src/native/jvmti/jvmti.c (setthreadobject): Renamed to + threads_set_current_threadobject. + + * src/threads/green/threads.h (yieldThread): Renamed to threads_yield. + (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority. + + * src/threads/green/threads.c (yieldThread): Renamed to threads_yield. + (setPriorityThread): Renamed to threads_java_lang_Thread_set_priority. + +2006-05-12 16:49 edwin + + * src/threads/native/threads.c: The Big Thread Cleanup. No functional + changes, + only code motion, renaming, documenting. This file has been split into + threads.c, lock.c, and critical.c. + Externally used symbols that were renamed are listed below. Static + symbol + renames are not listed. + + * src/threads/native/threads.h: The Big Thread Cleanup. No functional + changes, + only code motion, renaming, documenting. This file has been split into + threads.h, lock.h, and critical.h. + + * src/cacaoh/cacaoh.c (initLocks): Renamed to lock_init (green + threads). + + * src/cacaoh/headers.c (threadcritnode): Renamed to + critical_section_node_t. + + * src/mm/memory.c (initObjectLock): Renamed to lock_init_object_lock. + + * src/native/jvmti/jvmti.c (lockRecordPool): Renamed to + lock_record_pool_t. + (pool_lock): Renamed to lock_global_pool_lock. + (global_pool): Renamed to lock_global_pool. + (ownerThread): Renamed to owner. + (threadHoldsLock): Renamed to lock_does_thread_hold_lock. + (monitorExit): Renamed to lock_monitor_exit. + (wait_cond_for_object): Renamed to lock_wait_for_object. + (signal_cond_for_object): Renamed to lock_notify_object. + (broadcast_cond_for_object): Renamed to lock_notify_all_object. + + * src/native/tools/gennativetable.c (initLocks): Renamed to lock_init + (green threads). + + * src/native/vm/VMObject.c (initObjectLock): Renamed to + lock_init_object_lock. + (wait_cond_for_object): Renamed to lock_wait_for_object. + (signal_cond_for_object): Renamed to lock_notify_object. + (broadcast_cond_for_object): Renamed to lock_notify_all_object. + + * src/native/vm/VMThread.c (threadHoldsLock): Renamed to + lock_does_thread_hold_lock. + + * src/threads/green/locks.c, src/threads/green/locks.h + (initLocks): Renamed to lock_init. + (wait_cond_for_object): Renamed to lock_wait_for_object. + (signal_cond_for_object): Renamed to lock_notify_object. + (broadcast_cond_for_object): Renamed to lock_notify_all_object. + (internal_broadcast_cond_for_object): Renamed to + internal_lock_notify_all_object. + + * src/threads/green/threads.c (initLocks): Renamed to lock_init. + (internal_broadcast_cond_for_object): Renamed to + internal_lock_notify_all_object. + + * src/threads/native/Makefile.am (lock.c, lock.h): Added new files. + (critical.c, critical.h): Added new files. + (Changes): Added my name. + + * src/threads/native/critical.c: New file. + + * src/threads/native/critical.h: New file. + + * src/threads/native/lock.c: New file. + + * src/threads/native/lock.h: New file. + + * src/toolbox/avl.c (initObjectLock): Renamed to + lock_init_object_lock. + + * src/vm/builtin.c (initObjectLock): Renamed to lock_init_object_lock. + (monitorEnter): Renamed to lock_monitor_enter. + (monitorExit): Renamed to lock_monitor_exit. + + * src/vm/class.c (initObjectLock): Renamed to lock_init_object_lock. + + * src/vm/classcache.c (initObjectLock): Likewise. + + * src/vm/finalizer.c (initObjectLock): Likewise. + (wait_cond_for_object): Renamed to lock_wait_for_object. + (signal_cond_for_object): Renamed to lock_notify_object. + + * src/vm/global.h (monitorLockRecord): Renamed to lock_record_t. + + * src/vm/hashtable.c (initObjectLock): Renamed to + lock_init_object_lock. + + * src/vm/jit/asmpart.h: Added #include "threads/native/critical.h" + (threadcritnode): Renamed to critical_section_node_t. + + * src/vm/jit/code.c: Comment changed. + + * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h + (threadcritnode): Renamed to critical_section_node_t. + (threadcritnodetemp): Renamed to codegen_critical_section_t. + + * src/vm/jit/alpha/codegen.c (get_dummyLR): Renamed to + lock_get_initial_lock_word. + + * src/vm/jit/alpha/freebsd/md-os.c (thread_checkcritical): Renamed to + critical_find_restart_point. + * src/vm/jit/alpha/linux/md-os.c (thread_checkcritical): Renamed to + critical_find_restart_point. + + * src/vm/jit/i386/codegen.c (get_dummyLR): Renamed to + lock_get_initial_lock_word. + + * src/vm/jit/i386/freebsd/md-os.c (thread_checkcritical): Renamed to + critical_find_restart_point. + * src/vm/jit/i386/linux/md-os.c (thread_checkcritical): Renamed to + critical_find_restart_point. + + * src/vm/jit/intrp/dynamic-super.c (initObjectLock): Renamed to + lock_init_object_lock. + + * src/vm/jit/mips/codegen.c (get_dummyLR): Renamed to + lock_get_initial_lock_word. + + * src/vm/jit/mips/irix/md-os.c (thread_checkcritical): Renamed to + critical_find_restart_point. + * src/vm/jit/mips/linux/md-os.c (thread_checkcritical): Renamed to + critical_find_restart_point. + + * src/vm/jit/powerpc/codegen.c (get_dummyLR): Renamed to + lock_get_initial_lock_word. + + * src/vm/jit/profile/profile.c (wait_cond_for_object): Renamed to + lock_wait_for_object. + + * src/vm/jit/stack.c (initObjectLock): Renamed to + lock_init_object_lock. + + * src/vm/jit/x86_64/codegen.c (get_dummyLR): Renamed to + lock_get_initial_lock_word. + + * src/vm/jit/x86_64/md.c (thread_checkcritical): Renamed to + critical_find_restart_point. + + * src/vm/loader.c (initObjectLock): Renamed to + lock_init_object_lock. + (initLocks): Renamed to lock_init (green threads). + + * src/vm/string.c (initObjectLock): Renamed to + lock_init_object_lock. + + * src/vm/vm.c (initLocks): Renamed to lock_init (green threads). + +2006-05-12 14:32 twisti + + * src/vm/jit/emit.h: Replaced __POWERPC__ #ifdef with + SIZEOF_VOID_P == 4. + +2006-05-11 14:02 twisti + + * src/native/vm/VMClassLoader.c (nativeGetResources): Bugfix: utf_new + should be utfname. + +2006-05-11 13:43 twisti + + * src/vm/jit/mips/codegen.c: Changed mcodeptr from u4* to u1*. + * src/vm/jit/mips/codegen.h: Likewise. + +2006-05-11 13:09 twisti + + * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Use new + jit_asm_compile method. + +2006-05-11 12:48 edwin + + * src/threads/native/threads.c (monitorExit): Added an assert to + check that no existing waiter is overwritten by the suspicious + assignment. + +2006-05-11 12:36 edwin + + * src/lib/vm/reference/java/lang/VMClassLoader.java + (getBootPackages): Merged patch to VMClassLoader.java of the + reference implementation. getBootPackages now works in the + presence of endorsed jars. + +2006-05-11 12:18 twisti + + * src/native/jni.c (DeleteGlobalRef): Bugfix: handle the removal of + the first entry in the chain properly. + +2006-05-11 09:18 twisti + + * src/vm/hashtable.c (threads/native/threads.h): Added. + (hashtable_create): Initialize lock object. + (hashtable_resize): New function. + (hashtable_free): Likewise. + * src/vm/hashtable.h (hashtable): Added header pointer. + (hashtable_resize): Added. + (hashtable_free): Likewise. + + * src/vm/vm.c (vm_create): Call jni_init before threads_init. + + * src/vm/utf8.c (lock_hashtable_utf): Removed. + (utf8_init): Allocate hashtable on heap. + (utf_new): Use new hashtable stuff. + + * src/native/native.c (native_init): Use new hashtable stuff. + (native_hashtable_library_add): Likewise. + + * src/native/jni.c (jni_init): Removed Java IdentityHashMap stuff and + create a hashtable. + (NewGlobalRef): Implemented with native hashtable. + (DeleteGlobalRef): Likewise. + + * src/native/jni.h (hashtable_global_ref_entry): Added. + + * src/vm/string.c (literalstring_u2): Removed check for + class_java_lang_String, we have an assert there. + +2006-05-10 16:14 twisti + + * src/vm/jit/alpha/codegen.c: Changed mcodeptr from u4* to u1*. + * src/vm/jit/alpha/codegen.h: Likewise. + +2006-05-10 15:51 twisti + + * src/vm/jit/codegen-common.h (codegendata): Use an u1* mcodeptr for + all architectures. This is necessary for the interpreter. + * src/vm/jit/codegen-common.c (codegen_setup): Removed #ifdef. + (codegen_increase): Likewise. + + * src/vm/jit/powerpc/codegen.c: Changed mcodeptr from u4* to u1*. + * src/vm/jit/powerpc/codegen.h: Likewise. + +2006-05-10 15:09 edwin + + * src/vm/jit/inline/inline.c (inline_write_exception_handlers): + Correct cast for abused instruction->target. + +2006-05-10 13:12 twisti + + * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use new + jit_asm_compile method. + +2006-05-08 11:09 twisti + + * configure.ac (AC_CONFIG_FILES): Added src/scripts/keytool. + * src/scripts/Makefile.am (bin_SCRIPTS): Added keytool. + * src/scripts/.cvsignore: Likewise. + * src/scripts/keytool.in: New file. + +2006-05-08 11:05 twisti + + * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Handle argument + passing properly for SysV ABIs. Darwin is left to do. + +2006-05-08 11:03 twisti + + * tests/regression/native/testarguments.java: Added new test. + * tests/regression/native/testarguments.c: Likewise. + * tests/regression/native/testarguments.output: Likewise. + +2006-05-06 18:29 motse + + * src/vm/vm.c (vm_create): make agentlib/agentpath work + * src/cacao/cacao.c (main): changes for jvmti/jdwp startup due to + removal of jdwp process + * src/native/jni.c (JNI_CreateJavaVM): change order vm_create and + initialization of _Jv_jvm due to jvmti agent support. + * src/native/vm/VMVirtualMachine.c: change name of jvmtienv and + bugfixes of Samuel Vinson + * src/native/include/Makefile.am: add VMMethod.h + * src/native/jvmti/Makefile.am: removal of cacaodbgserver + * src/native/jvmti/jvmti.c: remove jdwp process and convert to thread + * src/native/jvmti/cacaodbg.h: idem + * src/native/jvmti/jvmti.h: idem + * src/native/jvmti/dbg.h: idem + * src/native/jvmti/cacaodbg.c: idem + * src/native/jvmti/dbg.c: idem + * src/native/jvmti/cacaodbgserver.c: change to a autonomous program + and removal of jdwp thread. + * src/native/jvmti/VMjdwp.c (VMInit): different invocation due to + removal of jdwp thread + * src/native/jvmti/VMjdwp.h: export jvmti environment and event + callbacks. + * src/native/vm/VMMethod.c: initial/dummy implementation of VMMetod + native method + +2006-05-06 14:13 edwin + + * src/native/vm/VMRuntime.c + (Java_java_lang_VMRuntime_mapLibraryName): Use new utf_ functions. + (Changes): Added my name. + (vim boilerplate): Added. + +2006-05-06 10:10 edwin + + * src/native/vm/VMClassLoader.c + (Java_java_lang_VMClassLoader_nativeGetResources): Really create a + new utf string to search for if the trailing .class is stripped. + +2006-05-06 00:16 edwin + + * src/vm/classcache.c (classcache_merge_class_entries): + Use utf_cat_classname. + (classcache_store): Likewise. + (classcache_store_defined): Likewise. + +2006-05-06 00:11 edwin + + * src/native/vm/VMClassLoader.c + (Java_java_lang_VMClassLoader_nativeGetResources): Fixed and cleaned + up. Skip leading '/'. Remove '.class' only at end. Free char buffer. + Use correct utf_ functions. Check for exceptions. + + * src/vm/zip.c (zip_find): Documented. + +2006-05-05 19:31 edwin + + * src/vm/utf8.h: Moved #include "config.h" up front. + +2006-05-05 19:22 edwin + + * src/toolbox/logging.c (Changes): Added my name. + (vim boilerplate): Added. + +2006-05-05 19:21 edwin + + * src/toolbox/logging.c (log_message_utf): Use new utf_ functions. + (log_message_class_message_class): Likewise. + (log_message_method): Likewise. + +2006-05-05 19:13 edwin + + * src/vm/builtin.c (builtin_throw_exception): Use new utf_ functions. + (builtin_trace_exception): Likewise. + (builtin_trace_args): Likewise. + (builtin_displaymethodstop): Likewise. + +2006-05-05 18:58 edwin + + * src/vm/suck.c (suck_start): Use new utf_ functions. + +2006-05-05 18:49 edwin + + * src/vm/utf8.h, src/vm/utf8.c: Fixed header. + +2006-05-05 18:14 edwin + + * src/vm/loader.c (load_class_from_classbuffer): Use new + utf_ functions. + +2006-05-05 18:08 edwin + + * src/vm/resolve.c (resolve_class_from_name): Use new utf_ functions. + (resolve_subtype_check): Likewise. + (resolve_field_verifier_checks): Likewise. + (resolve_method_verifier_checks): Likewise. + +2006-05-05 17:34 edwin + + * src/vm/utf8.h, src/vm/utf8.c: The Big utf_* Renaming. + The purpose of this change is to give the utf_* functions names + that make clear what these functions _really_ have been doing + all the time. I'm sure most callers would be surprised if they + knew. All call sites should be reviewed! + (utf_display): Renamed to utf_display_printable_ascii. + (utf_display_classname): Renamed to + utf_display_printable_ascii_classname. + (utf_sprint): Renamed to utf_sprint_convert_to_latin1. + (utf_sprint_classname): Renamed to + utf_sprint_convert_to_latin1_classname. + (utf_strcat): Renamed to utf_strcat_convert_to_latin1. + (utf_strcat_classname): Renamed to + utf_strcat_convert_to_latin1_classname. + (utf_fprint): Renamed to utf_fprint_printable_ascii. + (utf_fprint_classname): Renamed to + utf_fprint_printable_ascii_classname. + + * src/vm/class.c, src/vm/suck.c, src/vm/loader.c, src/vm/builtin.c, + src/vm/descriptor.c, src/vm/resolve.c, src/vm/method.c, + src/vm/classcache.c, src/vm/jit/stack.c, src/vm/jit/verify/typeinfo.c, + src/vm/jit/allocator/lsra.c, src/vm/jit/intrp/disass.c, + src/vm/jit/stacktrace.c, src/vm/jit/codegen-common.c, + src/vm/exceptions.c, src/vm/field.c, src/cacao/cacao.c, + src/native/tools/gennativetable.c, src/native/vm/VMClassLoader.c, + src/native/vm/VMRuntime.c, src/native/native.c, src/toolbox/logging.c, + src/threads/green/threads.c, src/threads/native/threads.c, + src/cacaoh/headers.c: The Big utf_ Renaming. All call sites of the + renamed functions should be reviewed! Calls outside debugging code + are probably incorrect and should use one of the new utf_ functions + that copies byte-for-byte. + +2006-05-05 17:09 edwin + + * src/vm/exceptions.c (new_exception): Documented. + (new_exception_message): Documented. Use new_exception_javastring. + (new_exception_throwable): Documented. + (new_exception_utfmessage): Documented. Use new_exception_javastring. + (new_exception_javastring): Documented. + (new_exception_int): Documented. + (new_classformaterror): Documented. Use new byte-for-byte UTF-8 + functions. + (exceptions_throw_classformaterror): Documented. + (new_classnotfoundexception): Documented. Check return value of + javastring_new. + (new_noclassdeffounderror): Documented. Check return value of + javastring_new. + (new_internalerror): Documented. + (exceptions_new_linkageerror): Documented. Use new byte-for-byte UTF-8 + functions. + (exceptions_new_nosuchmethoderror): Documented. Use new byte-for-byte + UTF-8 + functions. + (exceptions_throw_nosuchmethoderror): Documented. + (new_unsupportedclassversionerror): Documented. Use new byte-for-byte + UTF-8 + functions. + (new_verifyerror): Likewise. + (exceptions_throw_verifyerror_for_stack): Likewise. + (exceptions_handle_exception): Documented. + +2006-05-05 16:51 edwin + + * src/vm/utf8.c, src/vm/utf8.h (utf_copy): New function. + (utf_cat): New function. + (utf_copy_classname): New function. + (utf_cat_classname): New function. + These new functions copy the UTF-8 content byte-for-byte and thus + do not lead to losses by conversion like the utf_strcpy, etc. + functions. + +2006-05-05 15:26 edwin + + * src/vm/string.c, src/vm/stringlocal.h, src/vm/utf8.c, src/vm/utf8.h + (Changes): Added my name. + (vim boilerplate): Added. + +2006-05-05 15:14 edwin + + * src/vm/string.c, src/vm/stringlocal.h + (javastring_new_from_utf_buffer): New function. + (javastring_new_from_utf_string): New function. + + * src/vm/utf8.c (utf_get_number_of_u2s_for_buffer): New function. + (utf_get_number_of_u2s): Documented that this function may throw + exception.s. + + * src/vm/utf8.h (utf_get_number_of_u2s_for_buffer): New function. + +2006-05-05 14:36 edwin + + * src/vm/string.c, src/vm/stringlocal.h (java_string_new_char): + Renamed to `java_string_new_from_ascii` to make more clear what this + function does. It is wrong to use this function to create a + java.lang.String from a buffer of UTF-8 characters! + + * src/vm/finalizer.c (finalizer_start_thread): Legitimate use. + * src/vm/jit/profile/profile.c (profile_start_thread): Likewise. + + * src/vm/exceptions.c + (exceptions_new_linkageerror): Definitely INCORRECT use. + (exceptions_new_nosuchmethoderror): Likewise. + * src/native/vm/VMRuntime.c + (Java_java_lang_VMRuntime_mapLibraryName): Likewise. + + * src/vm/exceptions.c (new_exception_message): Probably INCORRECT use. + * src/native/jni.c (DefineClass): Likewise. + (ThrowNew): Likewise. + * src/native/vm/VMClassLoader.c + (Java_java_lang_VMClassLoader_nativeGetResources): Likewise. + + * src/vm/properties.c (properties_system_add): Needs review. + * src/cacao/cacao.c (getmainclassnamefromjar): Likewise. + * src/native/jvmti/cacaodbg.c (setup_jdwp_thread): Likewise. + * src/native/jvmti/jvmti.c (CreateRawMonitor, GetSystemProperty) + (SetSystemProperty): Likewise. + +2006-05-05 13:56 edwin + + * src/vm/utf8.c, src/vm/utf8.h (utf_bytes): New function. + Use this function to query the number of octets of a utf string. + This function will become the correct replacement for the old + utf_strlen in most places. The calling code will have to be + reviewed for that, however, and it will also require fixing + utf_strcat, utf_sprint, and so on, to do the right thing. + +2006-05-05 13:48 edwin + + * src/vm/utf8.c, src/vm/utf8.h (utf_strlen): Renamed to + `utf_get_number_of_u2s` in order to reflect what this function + _really_ does. A long name was chosen intentionally to make it obvious + that this is _not_ the function to use as the normal strlen. Most + current uses of this function are invalid, as it must only be used + when the utf string will be **converted to UTF-16**. + + * src/vm/suck.c (suck_start): Renamed utf_strlen. RECONSIDER USE! + * src/vm/loader.c (load_class_from_classbuffer): Likewise. + * src/vm/builtin.c (various functions): Likewise. + * src/vm/resolve.c (various functions): Likewise. + * src/vm/exceptions.c (various functions): Likewise. + * src/native/vm/VMClassLoader.c + (Java_java_lang_VMClassLoader_nativeGetResources): Likewise. + * src/native/vm/VMRuntime.c + (Java_java_lang_VMRuntime_mapLibraryName): Likewise. + * src/native/native.c (native_resolve_function): Likewise. + * src/toolbox/logging.c (various functions): Likewise. + * src/cacaoh/headers.c (various functions): Likewise. + + * src/vm/string.c (javastring_new): Legitimate use. + (javastring_new_slash_to_dot): Likewise. + (literalstring_new) Likewise. + +2006-05-03 23:04 edwin + + * src/threads/native/threads.c (wakeWaiters): Renamed + to threads_wake_waiters. Documented. + +2006-05-03 22:58 edwin + + * src/threads/native/threads.c (handleWaiter): Renamed arguments. + Commented. + (monitorEnter): Documented. + (notifyOneOrAll): Cleaned up. + +2006-05-03 22:46 edwin + + * src/threads/native/threads.c (setPriority): Renamed to + threads_set_thread_priority. + (removeFromWaiters): Renamed to threads_remove_waiter. + (timespec_less): Renamed to threads_timespec_earlier. + (timeIsEarlier): Renamed to threads_current_time_is_earlier_than. + (waitWithTimeout): Renamed to threads_wait_with_timeout. Removed + unused + argument `lr`. + (thread_sleep): There is no need to create a lock record for + calling threads_wait_with_timeout, as that does not use the + lock record anyway (formerly waitWithTimeout). + (various function): Lots of documentation and cleanup. + +2006-05-02 16:16 twisti + + * src/vm/jit/stack.c (stack_analyse): Check for val.a == NULL on + SUPPORT_CONST_STORE_ZERO_ONLY architectures for ICMD_PUTSTATIC and + ICMD_PUTFIELD. + +2006-05-01 23:14 edwin + + * src/threads/native/threads.c: Cleanup and documentation. + +2006-05-01 21:40 edwin + + * src/threads/native/threads.h (threads_sem_init): New function. + (threads_sem_post): New function. + + * src/threads/native/threads.c (threads_sem_init): New function. + (threads_sem_wait): Added assertion. + (threads_sem_post): New function. + (various function): Use threads_sem_init and threads_sem_post. + + * src/native/jvmti/cacaodbg.c (getworkingdatalock): Use + threads_sem_post. + (cacaodbgfork): Use threads_sem_init. + + * src/native/jvmti/cacaodbgserver.c (contchild, waitloop). + Use threads_sem_post. + +2006-05-01 12:40 edwin + + * src/threads/native/threads.c (threads_sem_wait): New function. + This function performs a non-interruptible sem_wait. This fixes + segfaults and deadlocks that resulted from sem_wait calls returning + prematurely. + (cast_stopworld): Use threads_sem_wait. + (threads_startup_thread): Likewise. + (threads_start_thread): Likewise. + (queueOnLockRecord): Likewise. + + * src/threads/native/threads.h (threads_sem_wait): New function. + + * src/native/jvmti/cacaodbg.c (msgqsendevent): Use threads_sem_wait + instead of sem_wait. + + * src/native/jvmti/cacaodbgserver.c (contchild, waitloop): Use + threads_sem_wait instead of sem_wait. + +2006-04-30 17:18 twisti + + * configure.ac (AC_CONFIG_FILES): Added src/scripts/jarsigner. + * src/scripts/Makefile.am (bin_SCRIPTS): Added jarsigner. + * src/scripts/.cvsignore: Likewise. + * src/scripts/jarsigner.in: New file. + +2006-04-30 16:17 edwin + + * src/vm/resolve.c (resolve_method_verifier_checks) + (constrain_unresolved_method): Use ICMD_ACONST_CLASSREF_OR_CLASSINFO. + + * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c, + src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c, + src/vm/jit/intrp/codegen.c, src/vm/jit/x86_64/codegen.c + (codegen): Changes for new ACONST format. + + * src/vm/jit/stack.c (stack_analyse): Changes for new ACONST format. + + * src/vm/jit/verify/typecheck.c (verify_invocation): Use the new + macros. + (verify_builtin, verify_multianewarray, verify_basic_block): Changes + for + new ACONST format. + + * src/vm/jit/verify/typeinfo.h (TYPEINFO_INIT_JAVA_LANG_CLASS): Take + a classref_or_classinfo as argument. + + * src/vm/jit/verify/typeinfo.c (typeinfo_init_class): Typo fixed. + (typeinfo_print): Changes for new ACONST format. + + * src/vm/jit/inline/inline.c (inline_write_exception_handlers): + Changes for new ACONST format. + + * src/vm/jit/parse.c (parse): Changes for new ACONST format. + + * src/vm/jit/parse.h (LOADCONST_A_CLASS): Removed. + (LOADCONST_A_BUILTIN): Changes for new ACONST format. + + * src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED, + INSTRUCTION_IS_UNRESOLVED): + Only check least significant bit of target (provisory flag). + (ICMD_ACONST_IS_CLASS, ICMD_ACONST_CLASSREF_OR_CLASSINFO) + (ICMD_ACONST_RESOLVED_CLASSINFO, ICMD_ACONST_UNRESOLVED_CLASSREF): + New macros. + +2006-04-30 15:58 edwin + + * src/vm/jit/loop/tracing.c (tracing): Adapted to new format of + INVOKE + instructions. + * src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates) + (_test_lifetimes): Likewise. + +2006-04-28 12:25 edwin + + * src/vm/jit/parse.c (parse): Added a comment. + +2006-04-28 12:24 twisti + + * src/vm/jit/stack.c (stack_analyse): We need to split AASTORECONST + and PUT{STATIC,FIELD}CONST as they can store different values. I hope + the checks are correct now (until we get our new instruction + format). Edwin: Hint! Hint! Hint! + (stack_show_icmd): Again a smaller change. + +2006-04-28 11:50 twisti + + * src/vm/jit/stack.c (stack_analyse): Check for + {AASTORE,PUTSTATIC,PUTFIELD}CONST if the instruction is resolved. We + don't have a patcher for that case. + (stack_show_icmd): Smaller change. + +2006-04-28 11:37 twisti + + * tests/regression/codepatching/test.java: Added new test. + * tests/regression/codepatching/Makefile.am: Files updated. + + * tests/regression/codepatching/putfieldconstIF.java, + tests/regression/codepatching/putfieldconstJDL.java: Removed. + + * tests/regression/codepatching/putstaticconstJ.java, + tests/regression/codepatching/putstaticconstL.java, + tests/regression/codepatching/putfieldconstD.java, + tests/regression/codepatching/putfieldconstF.java, + tests/regression/codepatching/putstaticconstC.java, + tests/regression/codepatching/putfieldconstJ.java, + tests/regression/codepatching/putfieldconstL.java, + tests/regression/codepatching/putstaticconstI.java, + tests/regression/codepatching/putfieldconstC.java, + tests/regression/codepatching/putstaticconstD.java, + tests/regression/codepatching/putfieldconstI.java, + tests/regression/codepatching/putstaticconstF.java: New file. + +2006-04-28 11:24 edwin + + * src/vm/resolve.c (resolve_method_lazy): Turn INVOKEVIRTUAL into + INVOKESPECIAL for monomorphic calls. + +2006-04-28 00:46 edwin + + * src/vm/jit/intrp/asmpart.c (intrp_asm_vm_call_method_int): Fix + build + errors. TWISTI, please review these changes. + +2006-04-28 00:31 edwin + + * regression/codepatching/test.java: Added test for AASTORECONST + with unresolved class constant. Currently exposes a bug when + test.java is + compiled with -target 1.5. + + * regression/codepatching/aastoreconstClass.java: New file. + +2006-04-27 23:03 twisti + + * src/vm/jit/stacktrace.h (STACKFRAMEINFO): Added parenthesis. + * src/vm/global.h (java_objectheader): Changed type of monitorPtr to + monitorLockRecord. + + * src/vm/vm.h (vm_arg): Added union. + * src/vm/vm.c (vm_vmargs_from_valist): Use union of vm_arg's data. + * src/native/jni.c (_Jv_jni_vmargs_from_objectarray): Likewise. + + * src/threads/native/threads.h (nativethread): Changed type of + _stackframeinfo to stackframeinfo*. + * src/threads/native/threads.c (monitorEnter): Cast compare_and_swap + return value correctly. + +2006-04-27 12:33 twisti + + * src/vm/jit/x86_64/emit.c: Changed x86_64 function prefix to + emit. And some other stuff too. + * src/vm/jit/x86_64/md-emit.h: Likewise. + * src/vm/jit/x86_64/codegen.c: Likewise. + * src/vm/jit/x86_64/codegen.h: Likewise. + +2006-04-27 11:05 twisti + + * src/native/vm/VMSystemProperties.c (preInit): Append "/jre" to + java.home property, as all JDKs and JREs do that. Fixed a problem with + jonas testsuite. General cleanup. + +2006-04-27 10:32 twisti + + * src/vm/jit/powerpc/darwin/md-asm.h (jit_asm_compile): Renamed from + jit_compile. + * src/vm/jit/powerpc/asmpart.S: Likewise. + +2006-04-26 15:44 edwin + + * src/vm/jit/stacktrace.c (stacktrace_getClassContext): Reverted the + hack that removes the first entry if this function is called by + java.lang.SecurityManager. This (undocumented) hack probably was done + to solve a problem that no longer exists. + +2006-04-26 14:09 twisti + + * src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Removed + emitfuncs.c, emitfuncs.h and added emit.c, md-emit.h. + + * src/vm/jit/i386/emit.c (emit_load_s1): New method. + (emit_load_s2): Likewise. + (emit_load_s3): Likewise. + (emit_store): Likewise. + (emit_copy): Likewise. + + * src/vm/jit/i386/codegen.c (codegen): Use emit_load/store functions + instead of macros. + + * src/vm/jit/i386/codegen.h (M_LNGMOVE): Added. + (M_LNGMEMMOVE): Removed. + (var_to_reg_int): Removed. + (var_to_reg_lng): Likewise. + (var_to_reg_flt): Likewise. + (store_reg_to_var_int): Likewise. + (store_reg_to_var_lng): Likewise. + (store_reg_to_var_flt): Likewise. + (M_FLD): Added. + (M_DLD): Likewise. + (M_FLD32): Likewise. + (M_DLD32): Likewise. + (M_FST): Likewise. + (M_DST): Likewise. + +2006-04-26 11:02 twisti + + * src/vm/jit/i386/md-emit.h: Moved from src/vm/jit/i386/emitfuncs.h. + * src/vm/jit/i386/emit.c: Moved from src/vm/jit/i386/emitfuncs.c. + +2006-04-26 09:02 twisti + + * configure.ac (AC_CONFIG_FILES): Added src/scripts/rmic. + * src/scripts/Makefile.am (bin_SCRIPTS): Added rmic. + * src/scripts/java.in: Use ${1+"$@"} instead of $@. + * src/scripts/rmiregistry.in: Likewise. + * src/scripts/rmic.in: Updated to new rmic location. + +2006-04-26 08:57 twisti + + * m4/ac_prog_javac.m4: Default to ecj. + * src/lib/Makefile.am: If JAVAC is ecj, use the -1.5 flag. This + produces much faster code regarding class$ (e.g. jonas startup time). + +2006-04-25 18:02 edwin + + * src/vm/jit/disass-common.c (disass_printf): Avoid compiler warning. + + * src/vm/jit/profile/profile.c (profile_printstats): Avoid compiler + warnings. + +2006-04-25 17:57 edwin + + * src/vm/jit/i386/disass.c (disassinstr): Avoid compiler warning. + +2006-04-25 17:53 edwin + + * src/vm/jit/stack.c (stack_show_icmd): Removed unused variable `um`. + +2006-04-25 17:48 edwin + + * src/vm/loader.c (load_method): Simplify initialization of + methodinfo by + clearing it explicitely in load_class_from_classbuffer, instead of + zeroing + individual fields here. + (load_class_from_classbuffer): MZERO methodinfo array. + (load_newly_created_array): Initialize `params` to NULL for the clone + method. + +2006-04-25 17:45 edwin + + * src/mm/memory.h (MZERO): Added macro MZERO for convenient memory + cleaning. + +2006-04-25 17:42 edwin + + * src/native/vm/VMSystemProperties.c + (Java_gnu_classpath_VMSystemProperties_preInit): Use strcpy instead of + strcat, since there is nothing to concat to and we may want to lift + the + assertion that MSET clears memory. + +2006-04-25 15:46 edwin + + * src/vm/jit/i386/md.c (md_get_method_patch_address): Avoid compiler + warning. + +2006-04-25 15:31 edwin + + * src/cacao/cacao.c (main): Avoid warning about unused label. + Cleaned up whitespace. + +2006-04-25 15:26 edwin + + * src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack): Avoid + compiler warning. + +2006-04-25 12:35 edwin + + * src/vm/jit/verify/typecheck.c (typecheckverbose): Renamed to + opt_typecheckverbose. + * src/vm/jit/verify/typeinfo.h: Likewise. + + * src/vm/vm.c (OPT_VERBOSETC): Only define if both ENABLE_VERIFIER + and TYPECHECK_VERBOSE are defined. + (typecheckverbose): Renamed to opt_typecheckverbose. + +2006-04-25 12:25 edwin + + * src/vm/options.h, src/vm/options.c (getloadingtime): Renamed to + opt_getloadingtime. Only defined for ENABLE_STATISTICS. + (getcompilingtime): Renamed to opt_getcompilingtime. + Only defined for ENABLE_STATISTICS. + + * src/vm/loader.c (getloadingtime, getcompilingtime): Renamed. + * src/vm/jit/jit.c: Likewise. + * src/vm/linker.c: Likewise. + * src/native/vm/VMClassLoader.c: Likewise. + + * src/vm/vm.c (OPT_TIME): Only defined for ENABLE_STATISTICS. + + * configure.ac (--enable-statistics): Now statistics are disabled by + default. + +2006-04-25 12:00 edwin + + * src/vm/options.h (opt_verify): Only declare for ENABLE_VERIFIER. + (opt_liberalutf): Removed. + + * src/vm/options.c (opt_verify): Only declare for ENABLE_VERIFIER. + (opt_liberalutf): Removed. + + * src/vm/jit/inline/inline.c (test_inlining): Only verify if + ENABLE_VERIFIER. + + * src/vm/jit/parse.c (parse): Only check opt_verify if + ENABLE_VERIFIER. + + * src/vm/global.h (ENABLE_VERIFIER): Removed. This is now defined in + config.h. + + * src/vm/vm.c (OPT_NOVERIFY): Only define this option if + ENABLE_VERIFIER. + (OPT_LIBERALUTF): Removed. + + * configure.ac (--disable-verifier): Added configure option. + + * src/vm/jit/stacktrace.c (stacktrace_getStack): Gather a wider range + for the cycle count statistics. + +2006-04-25 10:36 edwin + + * src/vm/cycles-stats.h (CYCLES_STATS_COUNT_OVER): Added. + +2006-04-24 18:28 edwin + + * src/vm/cycles-stats.c: Cleaned up whitespace. + +2006-04-24 18:22 edwin + + * src/vm/cycles-stats.c (cycles_stats_print_percentile): Also perform + measurement overhead compensation for cumulated cycle counts. + +2006-04-24 17:16 edwin + + * src/vm/global.h (ACC_CLASS_REFLECT_MASK): Added. + (ACC_CLASS_HAS_POINTERS): Likewise. + (vim boilerplate): Added. + + * src/vm/loader.c (load_field): Set ACC_CLASS_HAS_POINTERS flag. + + * src/vm/linker.c (link_class_intern): OR ACC_CLASS_HAS_POINTERS flag. + + * src/vm/builtin.c (builtin_new): Use ACC_CLASS_HAS_POINTERS to + determine + which kind of memory to allocate. + + * src/native/vm/VMClass.c (Java_java_lang_VMClass_getModifiers): Mask + reported access flags with ACC_CLASS_REFLECT_MASK. + +2006-04-24 16:24 twisti + + * src/vm/jit/x86_64/emit.c (x86_64_emit_ifcc): Changed signature of + codegen_addreference. + (x86_64_emit_if_lcc): Likewise. + (x86_64_emit_if_icmpcc): Likewise. + (x86_64_emit_if_lcmpcc): Likewise. + +2006-04-24 16:10 twisti + + * src/vm/jit/i386/codegen.c (codegen): Don't initialize mcode + variables. New dseg_addlinenumber signature fix. + (createnativestub): Don't initialize mcode variables. + +2006-04-24 16:06 twisti + + * src/vm/jit/codegen-common.c (codegen_increase): Changed signature. + (codegen_addreference): Likewise. + (codegen_add_exception_ref): Likewise. + (codegen_add_arithmeticexception_ref): Likewise. + (codegen_add_arrayindexoutofboundsexception_ref): Likewise. + (codegen_add_arraystoreexception_ref): Likewise. + (codegen_add_classcastexception_ref): Likewise. + (codegen_add_nullpointerexception_ref): Likewise. + (codegen_add_fillinstacktrace_ref): Likewise. + (codegen_addpatchref): Likewise. + (codegen_finish): Likewise. + * src/vm/jit/codegen-common.h: Likewise. + + * src/vm/jit/dseg.c (dseg_increase): Made static. + (dseg_adds4): Use dseg_increase. + (dseg_adds8): Likewise. + (dseg_addfloat): Likewise. + (dseg_adddouble): Likewise. + (dseg_adds4_increase): Removed. + (dseg_adds8_increase): Likewise. + (dseg_addfloat_increase): Likewise. + (dseg_adddouble_increase): Likewise. + (dseg_addlinenumber): Changed signature. + (dseg_addlinenumber_inline_start): Likewise. + (dseg_adddata): Likewise. + * src/vm/jit/dseg.h: Likewise. + + * src/vm/jit/alpha/emit.c (vm/jit/alpha/emit.h): Removed. + (vm/jit/emit.h): Added. + (emit_lconst): New method. + * src/vm/jit/alpha/Makefile.am (libarch_la_SOURCES): Added emit.c + + * src/vm/jit/alpha/codegen.c (vm/jit/emit.h): Added. + (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store + functions instead of macros. Saves over 50kB object code size. Use new + signatures of codegen-common and dseg functions. + * src/vm/jit/alpha/codegen.h (var_to_reg_int): Removed. + (var_to_reg_flt): Likewise. + (store_reg_to_var_int): Likewise. + (store_reg_to_var_flt): Likewise. + + * src/vm/jit/i386/codegen.c: Use new signatures of codegen-common and + dseg functions. + * src/vm/jit/i386/codegen.h: Likewise. + * src/vm/jit/intrp/codegen.c: Likewise. + * src/vm/jit/intrp/codegen.h: Likewise. + * src/vm/jit/mips/codegen.c: Likewise. + * src/vm/jit/mips/codegen.h: Likewise. + * src/vm/jit/powerpc/codegen.c: Likewise. + * src/vm/jit/powerpc/codegen.h: Likewise. + * src/vm/jit/x86_64/codegen.c: Likewise. + * src/vm/jit/x86_64/codegen.h: Likewise. + +2006-04-24 15:43 edwin + + * src/vm/jit/stacktrace.c (stacktrace_create): Do not free dump + memory here, + this is now done in the parent functions. Also removed the copy to gc + memory. + (stacktrace_fillInStackTrace): Copy stacktrace to gc memory. + Free dump memory. + (stacktrace_getClassContext): Free dump memory. + (stacktrace_getCurrentClass): Likewise. + (stacktrace_getStack): Likewise. + (stacktrace_dump_trace): Likewise. + +2006-04-24 11:40 edwin + + * src/vm/jit/stacktrace.c (stacktrace_fillInStackTrace) + (stacktrace_getClassContext, stacktrace_getCurrentClass) + (stacktrace_getStack): Added cycle count statistics. + (stacktrace_print_cycles_stats): Added. + + * src/vm/jit/stacktrace.h (stacktrace_print_cycles_stats): Added. + + * src/vm/vm.c (vm_exit_handler): Call stacktrace_print_cycles_stats. + +2006-04-24 11:36 edwin + + * src/vm/cycles-stats.h (CYCLES_STATS_END_WITH_OVERHEAD): Fix + arguments of + empty macro definition. + +2006-04-24 11:27 edwin + + * src/vm/cycles-stats.h (CYCLES_STATS_DECLARE_AND_START) + (CYCLES_STATS_DECLARE_AND_START_WITH_OVERHEAD) + (CYCLES_STATS_END, CYCLES_STATS_END_WITH_OVERHEAD): Added convenience + macros. + + * src/vm/cycles-stats.c (cycles_stats_print): Fixed divide-by-zero. + Minor + output changes. + +2006-04-24 10:08 twisti + + * src/vm/jit/mips/md.c (md_get_method_patch_address): Renamed from + md_assembler_get_patch_address. + * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Renamed + md_assembler_get_patch_address to md_get_method_patch_address. + +2006-04-24 10:00 twisti + + * src/vm/jit/powerpc/md.c (md_get_method_patch_address): New method. + * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): Use new + jit_asm_compile method. This fixes the ecj bugs seens with some mauve + tests and eclipse. + +2006-04-24 09:58 twisti + + * src/vm/jit/powerpc/codegen.c (codegen): Replaced those ugly + M_TINTMOVE macros. Use M_LLD macros where possible. + * src/vm/jit/powerpc/codegen.h (M_LNGMOVE): Check for equal registers. + (M_TINTMOVE): Removed. + +2006-04-24 00:19 edwin + + * src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Omit the + stackframe. + This saves a couple of cycles of measurement overhead. + +2006-04-23 23:03 twisti + + * src/vm/jit/alpha/md.c (md_get_method_patch_address): Renamed from + md_assembler_get_patch_address. + * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Renamed + md_assembler_get_patch_address to md_get_method_patch_address. + +2006-04-23 19:18 edwin + + * src/vm/cycles-stats.c (cycles_stats_print_percentile): Better + extrapolation. + * src/vm/cycles-stats.h (CYCLES_STATS_DECLARE, CYCLES_STATS_COUNT) + (CYCLES_STATS_PRINT, CYCLES_STATS_PRINT_OVERHEAD): Added total cycles + counter. + +2006-04-23 19:16 edwin + + * src/vm/builtin.c (builtin_new): Renamed rt-timing identifier. + (builtin_newarray): Added rt-timing. + + * src/vm/rt-timing.h: Added rt-timing for builtin_newarray. + * src/vm/rt-timing.c: Likewise. + +2006-04-23 16:11 edwin + + * src/vm/builtin.c (builtin_print_cycles_stats): Use + CYCLES_STATS_PRINT_OVERHEAD. + + * src/vm/cycles-stats.h (CYCLES_STATS_PRINT_OVERHEAD): Added. + + * src/vm/cycles-stats.c (cycles_stats_print_percentile): Added. + (cycles_stats_print): Added `overhead` argument and automatic + measurement overhead compensation. + +2006-04-23 15:39 edwin + + * src/vm/builtin.c (builtin_new): Added rt-timing. + (builtin_print_cycles_stats): Removed unused variable. + (builtin_monitorenter): Removed rt-timing. + (builtin_monitorexit): Likewise. + + * src/vm/rt-timing.c: rt-timing for buitin_new. + * src/vm/rt-timing.h: Likewise. + +2006-04-23 15:31 edwin + + * src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Better error + handling. + +2006-04-23 15:24 edwin + + * src/vm/builtin.c (builtin_new): Gather cycle count statistics. + (CYCLES_STATS_DECLARE): Moved declarations to beginning of file. + + * src/vm/cycles-stats.c (cycles_stats_get_cpu_MHz): Added function for + automatic CPU frequency detection via /proc/cpuinfo. + (cycles_stats_print): Calculate estimated CPU times. + +2006-04-22 09:35 edwin + + * src/vm/cycles-stats.c (cycles_stats_print): Made count, floor, and + ceiling + of type u8. This should avoid overflow problems. + + * src/vm/cycles-stats.h (cycles_stats_print): Made count an u8. + +2006-04-21 21:36 edwin + + * src/vm/cycles-stats.c: New file. Better cycle count statistics. + + * src/vm/cycles-stats.h (CYCLES_STATS_PRINT): This is now a wrapper + for + cycles_stats_print. + + * src/vm/Makefile.am (cycles-stats.c): Added to sources. + +2006-04-21 14:32 edwin + + * src/vm/jit/stacktrace.c (stacktrace_inline_fillStackTrace): Assert + that + there is an exception before dereferencing it. + (stacktrace_create): Document that this function may return NULL. + (stacktrace_getClassContext): Check return value of stacktrace_create. + (stacktrace_getCurrentClass): Likewise. + (stacktrace_getStack): Likewise. Document that this function may + return NULL. + +2006-04-21 13:08 edwin + + * src/vm/jit/stacktrace.c (stacktrace_getClassContext): Document that + return + value may be NULL (in case of an exception). + + * src/native/vm/VMStackWalker.c + (Java_gnu_classpath_VMStackWalker_getCallingClass): Check return + value of + stacktrace_getClassContext. + (Java_gnu_classpath_VMStackWalker_getCallingClassLoader): Likewise. + + * src/native/vm/Field.c (cacao_get_field_address): Check return value + of + stacktrace_getClassContext. + + * src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative): + Check return value of stacktrace_getClassContext. + +2006-04-21 11:07 twisti + + * src/vm/jit/i386/md.c (md_get_method_patch_address): New method. + (md_icacheflush): Added. + (md_dcacheflush): Likewise. + +2006-04-21 10:54 twisti + + * src/vm/jit/jit.c (jit_asm_compile): New method. + * src/vm/jit/jit.h (jit_asm_compile): Added. + (md_get_method_patch_address): Likewise. + + * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Store + asm_call_jit_compiler on stack as for the other architectures. + (asm_call_jit_compiler): Use new jit_asm_compile. + + * src/vm/jit/x86_64/codegen.c (codegen): Use REG_ITMP3 for calling + methods. This is required for asm_vm_call_method to work. + + * src/vm/jit/x86_64/md.c (md_get_method_patch_address): New method. + (md_icacheflush): Added. + (md_dcacheflush): Added. + * src/vm/jit/x86_64/md-asm.h (mptr): Defined. + +2006-04-21 10:45 twisti + + * src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Reformatted + comments. + +2006-04-21 00:00 edwin + + * src/vm/linker.c (link_class_intern): Impose loading constraints on + the + more general types of the overwritten method, instead of on the over- + writing method. Don't impose loading constraints when "overwriting" + the + instance initializaton method , as it is not called virtually. + +2006-04-20 22:28 edwin + + * src/vm/classcache.c (classcache_add_constraint): Also constrain the + return type of the given method. + +2006-04-20 21:47 edwin + + * src/vm/linker.c (linker_addinterface): Add loading constraints when + an + interface method is overwritten. + (link_class_intern): Check new return value of linker_addinterface. + +2006-04-20 20:40 edwin + + * src/vm/linker.c (link_class_intern): Only record loading constraints + for ENABLE_VERIFIER. + +2006-04-20 20:38 edwin + + * src/vm/classcache.c (classcache_add_constraints_for_params): Added. + (classcache_add_constraint): Only define for ENABLE_VERIFIER. + + * src/vm/classcache.h (classcache_add_constraints_for_params): Added. + (classcache_add_constraint): Only define for ENABLE_VERIFIER. + + * src/vm/linker.c (link_class_intern): When overwriting a method, + record loading constraints for the parameter types, as required + by the spec. + +2006-04-20 19:18 edwin + + * src/mm/memory.c (Changes): Added my name. + (vim boilerplate): Added. + +2006-04-20 18:59 edwin + + * src/mm/memory.c: Added comments and some cleanup. + +2006-04-20 18:04 edwin + + * configure.ac (ENABLE_LOOP): Changed default to "no". + + * src/vm/options.h (opt_loops): Only define for ENABLE_LOOP. + + * src/vm/options.c (opt_loops): Only define for ENABLE_LOOP. + + * src/vm/vm.c (-oloop, -i): Only recognize these options if + enabled with ENABLE_LOOP/ENABLE_INLINING. + + * src/vm/jit/allocator/lsra.c (opt_loops): Only use for ENABLE_LOOP. + +2006-04-20 10:55 twisti + + * src/vm/jit/x86_64/codegen.h (M_ALD32): Added. + +2006-04-20 10:42 twisti + + * src/vm/jit/x86_64/md-abi.h (REG_METHODPTR): Added. + +2006-04-20 08:45 twisti + + * src/lib/vm/reference/java/lang/VMClassLoader.java: Updated to GNU + Classpath version. + +2006-04-19 01:05 edwin + + * src/vm/builtin.c (builtin_print_cycles_stats): Added. + (builtin_monitorenter): Gather cycle count statistics. + (builtin_monitorexit): Likewise. + + * src/vm/builtin.h (builtin_print_cycles_stats): Added. + + * src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Added. + + * src/vm/jit/asmpart.h (asm_get_cycle_count): Added. + + * src/vm/vm.c (vm_exit_handler): Call builtin_print_cycles_stats. + + * src/vm/cycles-stats.h: New file. + + * src/vm/Makefile.am (CYCLES_STATS_SOURCE): Added. + + * src/cacaoh/headers.c (asm_get_cycle_count): Dummy implementation + added. + + * configure.ac (--enable-cycles-stats): Added configure option. + +2006-04-18 21:16 twisti + + * src/vm/jit/x86_64/emitfuncs.c: Moved to emit.c. + * src/vm/jit/x86_64/emitfuncs.h: Moved to md-emit.h + + * src/vm/jit/x86_64/codegen.c (vm/jit/x86_64/emitfuncs.h): Removed. + (vm/jit/x86_64/md-emit.h): Added. + + * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Added emit.c and + md-emit.h, removed emitfuncs.c and emitfuncs.h. + +2006-04-18 20:36 twisti + + * src/vm/jit/jit.h (IS_ADR_TYPE): Changed to use ==. + (IS_INT_TYPE): Added. + (IS_LNG_TYPE): Likewise. + +2006-04-18 20:34 twisti + + * src/vm/jit/x86_64/codegen.c (vm/jit/emit.h): Added. + (codegen): Use emit_load/store functions instead of macors. Saves over + 25kB object code size. + + * src/vm/jit/x86_64/codegen.h (ALIGNCODENOP): Added. + (var_to_reg_int): Removed. + (var_to_reg_flt): Likewise. + (store_reg_to_var_int): Likewise. + (store_reg_to_var_flt): Likewise. + (M_INEG, M_LNEG, M_INEG_MEMBASE, M_LNEG_MEMBASE): Added. + (M_CMOVEQ_MEMBASE, M_CMOVNE_MEMBASE, M_CMOVLT_MEMBASE) + (M_CMOVLE_MEMBASE, M_CMOVGE_MEMBASE, M_CMOVGT_MEMBASE): Likewise. + + * src/vm/jit/x86_64/emitfuncs.c (emit_load_s1): Added. + (emit_load_s2): Likewise. + (emit_load_s3): Likewise. + (emit_store): Likewise. + (emit_copy): Likewise. + (emit_cmovxx): Likewise. + + * src/vm/jit/x86_64/emitfuncs.h (emit_cmovxx): Added. + +2006-04-18 20:20 twisti + + * src/vm/jit/x86_64/md-abi.h (REG_IFTMP): Defined. + +2006-04-18 20:17 edwin + + * src/vm/jit/stack.c (stack_show_icmd): Updated to use the correct + macros for + (un)resolved methods. Minor output format changes. + + * src/vm/field.c (field_print): Print the class name. + +2006-04-18 20:10 twisti + + * src/vm/jit/alpha/Makefile.am (DISASS_SOURCES): Added. + * src/vm/jit/mips/Makefile.am: Likewise. + +2006-04-18 15:55 twisti + + * configure.ac (intl): Check on NetBSD too. + +2006-04-18 15:40 twisti + + * configure.ac: Fixed typos. + +2006-04-18 13:36 twisti + + * src/vm/jit/mips/codegen.h (M_FLTMOVE): Removed. + (M_TFLTMOVE): Likewise. + (M_TFLD): Likewise. + (M_TFST): Likewise. + (M_CCFLTMOVE): Likewise. + (M_CCFLD): Likewise. + (M_CCFST): Likewise. + * src/vm/jit/mips/codegen.c (codegen): Use float and double + explicitely. + * src/vm/jit/mips/emit.c: Likewise. + +2006-04-17 15:49 edwin + + * src/vm/jit/intrp/codegen.c (intrp_codegen): Cast mcodeptr to u1*. + This should fix intrp on archs with u4* mcodeptr. + +2006-04-17 15:20 edwin + + * src/vm/builtin.c (builtin_monitorenter, builtin_monitorexit): Added + rt-timing. + + * src/vm/rt-timing.c, src/vm/rt-timing.h: rt-timing for locks. + +2006-04-17 11:47 twisti + + * src/vm/jit/codegen-common.h (codegendata): Define lastmcodeptr on + all architectures. I think it does not matter. + +2006-04-14 23:50 edwin + + * src/vm/jit/codegen-common.h: Typo fix. + +2006-04-14 23:48 edwin + + * src/vm/jit/parse.c (parse): Removed unused variable `mi`. + +2006-04-14 23:46 edwin + + * src/vm/rt-timing.c: include stdlib.h to fix warning. + +2006-04-14 12:40 twisti + + * src/vm/jit/mips/emit.c: New file. + * src/vm/jit/mips/Makefile.am (libarch_la_SOURCES): Added emit.c + + * src/vm/jit/mips/codegen.c (vm/jit/emit.h): Added. + (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store + functions instead of macors. Saves over 50kB object code size. + + * src/vm/jit/mips/codegen.h (var_to_reg_int): Removed. + (var_to_reg_flt): Likewise. + (store_reg_to_var_int): Likewise. + (store_reg_to_var_flt): Likewise. + +2006-04-14 11:57 twisti + + * src/vm/jit/codegen-common.c (codegen_setup): Fixed compiler + warnings, set lastmcodeptr. + (codegen_increase): Fixed compiler warnings. + (codegen_finish): Likewise. + (codegen_createnativestub): Likewise. + +2006-04-14 11:28 twisti + + * src/vm/jit/alpha/emit.h: Removed. There's now a common one in + src/vm/jit/. + +2006-04-14 11:20 twisti + + * src/vm/jit/emit.h: New file. + * src/vm/jit/Makefile.am (noinst_HEADERS): Added emit.h. + + * src/vm/jit/powerpc/emit.c: New file. + * src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added emit.c. + + * src/vm/jit/powerpc/codegen.c (vm/jit/emit.h): Added. + (codegen): Use cd->mcodeptr instead of mcodeptr, and emit_load/store + functions instead of macors. Saves over 100kB object code size. + + * src/vm/jit/powerpc/codegen.h (var_to_reg_int): Removed. + (var_to_reg_lng): Likewise. + (var_to_reg_lng_low): Likewise. + (var_to_reg_lng_high): Likewise. + (var_to_reg_flt): Likewise. + (var_to_reg_dbl): Likewise. + (store_reg_to_var_int): Likewise. + (store_reg_to_var_lng): Likewise. + (store_reg_to_var_adr): Likewise. + (store_reg_to_var_flt): Likewise. + (store_reg_to_var_dbl): Likewise. + (M_LLD_INTERN): Added. + (M_LLD): Likewise. + (M_LST_INTERN): Likewise. + (M_LST): Likewise. + +2006-04-13 20:45 edwin + + * src/vm/loader.c (load_class_from_classloader): Detailed rt-timing. + (load_class_bootstrap): Likewise. + + * src/vm/rt-timing.c: Added rt-timing for loading from classloaders. + * src/vm/rt-timing.h: Likewise. + +2006-04-13 18:21 edwin + + * src/vm/loader.c (load_class_from_classbuffer): Separate timing for + descriptor_pool_new. + + * src/vm/rt-timing.c: Likewise. + + * src/vm/rt-timing.h: Likewise. + +2006-04-13 18:00 edwin + + * src/vm/loader.c (load_class_from_classbuffer): Added real-time + loading time + measurements. + + * src/vm/rt-timing.c: Likewise. + * src/vm/rt-timing.h: Likewise. + +2006-04-13 17:23 edwin + + * src/vm/rt-timing.c: Added timing of linker stages. + * src/vm/rt-timing.h: Likewise. + * src/vm/linker.c: Likewise. + +2006-04-13 16:58 edwin + + * src/vm/rt-timing.h (RT_TIMING_TIME_DIFF): Added. + + * src/vm/jit/jit.c (jit_compile_intern): Use RT_TIMING_TIME_DIFF. + + * src/vm/linker.c (link_class): Use rt-timing for measuring link time. + + * src/cacaoh/Makefile.am (cacaoh_LDFLAGS): Link with librt for + ENABLE_RT_TIMING. + +2006-04-13 16:48 edwin + + * src/vm/rt-timing.c (rt_timing_stat): Added field `totalindex`. + (rt_timing_stat_defs): Likewise. + (rt_timing_diff): Renamed to rt_timing_time_diff. + (rt_timing_print_time_stats): Use `totalindex` to calculate + percentage. + + * src/vm/rt-timing.h (RT_TIMING_LINK_TOTAL): Added. + (rt_timing_diff): Renamed to rt_timing_time_diff. + +2006-04-13 14:09 twisti + + * src/vm/jit/alpha/emit.c: New file. + * src/vm/jit/alpha/emit.h: Likewise. + +2006-04-13 13:10 twisti + + * src/vm/jit/codegen-common.h (codegendata): Changed mcodeend to + u1*. Define mcodeptr to u4* for non-i386/x86_64 architectures. + +2006-04-13 09:32 twisti + + * src/vm/jit/x86_64/codegen.c (codegen): Use argument registers + directly in exception stubs, instead of temporary ones. This reduces + code-size about 150kB for -all. + +2006-04-13 09:19 twisti + + * src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ishift): Bugfixes found + by javver. + (x86_64_emit_lshift): Likewise. + +2006-04-12 22:20 edwin + + * src/vm/rt-timing.c: Added file. + * src/vm/rt-timing.h: Likewise. + + * src/vm/jit/jit.c: Moved real-time timing stuff to rt-timing.[ch] + * src/vm/jit/jit.h: Likewise. + + * src/vm/vm.c (vm_exit_handler): Call rt_timing_print_time_stats. + + * src/vm/Makefile.am (rt-timing.c, rt-timing.h): Added. + +2006-04-12 22:16 edwin + + * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers): Fixed + compiler warning. + +2006-04-12 20:06 edwin + + * src/vm/jit/parse.c (parse): New unresolved reference scheme: Data + structures + for unresolved fields/methods are only created if really needed. + Otherwise + a lazy resolving is done on-the-fly. This reduced compile time by + over 10% for + SpecJVM98 and eclipse. + + * src/vm/resolve.c (resolve_subtype_check): Added. + (resolve_lazy_subtype_checks): Likewise. + (resolve_and_check_subtype_set): Use resolve_subtype_check. Return + resolve_result_t instead of bool. Removed `checked` argument. + (resolve_class): Use resolve_subtype_check. + (resolve_field_verifier_checks): Added. + (resolve_field_lazy): Added. + (resolve_field): Use resolve_field_verifier_checks. + (resolve_method_invokespecial_lookup): Added. + (resolve_method_verifier_checks): Added. + (resolve_method_lazy): Added. + (resolve_method): Use resolve_method_invokespecial_lookup and + resolve_method_verifier_checks. + (constrain_unresolved_method): Adapted to new unresolved reference + scheme. + (constrain_unresolved_field): Likewise. + (unresolved_field_debug_dump): Likewise. + (unresolved_method_debug_dump): Likewise. + + * src/vm/jit/patcher.h (intrp_patcher_get_putstatic_clinit): Added. + + * src/vm/jit/intrp/intrp.h (vm_Cell2afi): Added. + (vm_afi2Cell): Likewise. + (printarg_afi): Added. + (vim boilerplate): Added. + (Changes): Added my name. + + * src/vm/jit/intrp/patcher.c (intrp_patcher_get_putstatic_clinit): + Added. + + * src/vm/jit/intrp/disass.c (printarg_afi): Added. + (Changes): Added my name. + (vim boilerplate): Added. + + * src/vm/jit/intrp/java.vmg (GETSTATIC_CELL, GETSTATIC_INT, + GETSTATIC_FLOAT) + (GETSTATIC_LONG, PUTSTATIC_CELL, PUTSTATIC_INT, PUTSTATIC_FLOAT) + (PUTSTATIC_LONG, GETFIELD_CELL, GETFIELD_INT, GETFIELD_FLOAT) + (GETFIELD_LONG, PUTFIELD_CELL, PUTFIELD_INT, PUTFIELD_FLOAT) + (PUTFIELD_LONG): Now take a fieldinfo instead of an unresolved_field. + (INVOKEVIRTUAL, INVOKESTATIC, INVOKESPECIAL, INVOKEINTERFACE): Now + take + a methodinfo instead of an unresolved_method. + (PATCHER_GETSTATIC_CLINIT_INT, PATCHER_GETSTATIC_CLINIT_FLOAT) + (PATCHER_GETSTATIC_CLINIT_LONG, PATCHER_GETSTATIC_CLINIT_CELL): Added. + (PATCHER_PUTSTATIC_CLINIT_INT, PATCHER_PUTSTATIC_CLINIT_FLOAT) + (PATCHER_PUTSTATIC_CLINIT_LONG, PATCHER_PUTSTATIC_CLINIT_CELL): Added. + + * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers): + Use INSTRUCTION_GET_METHODDESC to get method descriptor. + + * src/vm/jit/stack.c (stack_analyse): Ported to new unresolved + reference + scheme. + (stack_show_icmd): Likewise. + + * src/vm/jit/verify/typecheck.c (verify_invocation): Ported to new + unresolved + reference scheme. + (verify_basic_block): Likewise. + + * src/vm/jit/powerpc/codegen.c (codegen): Ported to new unresolved + reference + scheme. + + * src/vm/jit/alpha/codegen.c (codegen): Ported to new unresolved + reference + scheme. + + * src/vm/jit/mips/codegen.c (codegen): Ported to new unresolved + reference + scheme. + + * src/vm/jit/i386/codegen.c (codegen): Ported to new unresolved + reference + scheme. + + * src/vm/jit/x86_64/codegen.c (codegen): Ported to new unresolved + reference + scheme. + + * src/vm/jit/intrp/codegen.c (codegen): Ported to new unresolved + reference + scheme. + (Changes): Added my name. + + * src/vm/jit/intrp/codegen.h (vim boilerplate): Added. + +2006-04-12 18:07 edwin + + * src/vm/resolve.h (resolve_result_t): Added. + (resolve_method_lazy): Added prototype. + (resolve_field_lazy): Added prototype. + (resolve_and_check_subtype_set): Removed prototype. This function is + becoming static. + +2006-04-12 17:51 edwin + + * src/vm/class.c (class_showconstantpool): Use the new functions + method_methodref_print and field_fieldref_print. + + * src/vm/loader.c (load_constantpool): Use p.index in constant_FMIref. + (load_class_from_classbuffer): Likewise. + + * src/vm/jit/stack.c (stack_show_icmd): Use p.index in + constant_FMIref. + + * src/vm/jit/verify/typecheck.c (verify_invocation): Use p.index in + constant_FMIref. + + * src/vm/resolve.c (resolve_field, resolve_method, + constrain_unresolved_field) + (unresolved_field_debug_dump, unresolved_method_debug_dump): + Use p.index in constant_FMIref. + + * src/vm/method.c, src/vm/method.h (method_methodref_print): Added. + (method_methodref_println): Likewise. + + * src/vm/field.c, src/vm/field.h (field_fieldref_print): Added. + (field_fieldref_println): Likewise. + + * src/vm/references.h (constant_FMIref): Changed field `classref` + into a + union that is used for caching of already resolved fields/methods. + (IS_FMIREF_RESOLVED): Added. + (METHODREF_CLASSNAME): Added. + (FIELDREF_CLASSNAME): Added. + + * src/vm/jit/jit.h (INSTRUCTION_IS_RESOLVED): Added. This is a + preparation + for the lazy resolving rewrite. + (INSTRUCTION_IS_UNRESOLVED): Likewise. + (INSTRUCTION_GET_FIELDREF): Likewise. + (INSTRUCTION_GET_METHODREF): Likewise. + (INSTRUCTION_GET_FIELDDESC): Likewise. + (INSTRUCTION_GET_METHODDESC): Likewise. + (INSTRUCTION_UNRESOLVED_METHOD): Likewise. + (INSTRUCTION_UNRESOLVED_FIELD): Likewise. + (INSTRUCTION_RESOLVED_FMIREF): Likewise. + (INSTRUCTION_RESOLVED_FIELDINFO): Likewise. + (INSTRUCTION_RESOLVED_METHODINFO): Likewise. + + * src/vm/jit/intrp/disass.c (printarg_auf): Use METHODREF_CLASSNAME. + +2006-04-12 11:51 twisti + + * src/vm/jit/alpha/codegen.c (codegen): Use directly argument + registers in exception stubs, instead of temporary ones. This reduces + code-size about 200kB for -all. + +2006-04-12 09:49 twisti + + * src/vm/jit/powerpc/codegen.c (codegen): Fixed displacement overflow + problem when restoring LR. We can't use r0 here. + +2006-04-12 09:30 twisti + + * NEWS: Line-number fix added. + +2006-04-12 09:20 edwin + + * src/vm/jit/parse.c (parse): Skip line number entries that span over + zero + bytecode instructions. + +2006-04-12 08:52 edwin + + * src/vm/method.h (methodinfo): Forward declaration moved to + refereneces.h. + * src/vm/field.h (fieldinfo): Forward declaration moved to + refereneces.h. + * src/vm/references.h (methodinfo, fieldinfo): Added forward + references. + +2006-04-12 08:34 edwin + + * src/vm/class.c (class_showconstanti): Removed. + (class_showconstantpool): Documented. + (class_showmethods): Documented. + (vim boilerplate): Added. + (Changes): Finally added my name. + +2006-04-11 13:13 twisti + + * src/vm/jit/x86_64/codegen.c (codegen): Changed signature to use + jitdata. Renamed reg_of_var by codegen_reg_of_var. + * src/vm/jit/x86_64/codegen.h (M_COPY): Likewise. + +2006-04-11 10:54 twisti + + * tests/regression/clinitexception.2output: Updated. + * tests/regression/native/checkjni.output: Likewise. + * tests/regression/extest.2output: Likewise. + +2006-04-11 10:20 twisti + + * src/vm/builtin.c (builtin_throw_exception): Changed return type and + return NULL. This is less error-prone in asm_vm_call_method. + * src/vm/builtin.h: Likewise. + + * src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler): + Don't set v0 to NULL. This is now done in builtin_throw_exception. + * src/vm/jit/i386/asmpart.S: Likewise. + * src/vm/jit/mips/asmpart.S: Likewise. + * src/vm/jit/powerpc/asmpart.S: Likewise. + * src/vm/jit/x86_64/asmpart.S: Likewise. + +2006-04-11 10:04 twisti + + * src/vm/jit/ifconv/ifconv.c (ifconv_static): Keep compiler happy. + +2006-04-11 09:00 edwin + + * src/vm/jit/stack.c (stack_print_stack): Only use `regs` if + ENABLE_DISASSEMBLER is defined. + (stack_show_method): Likewise. + + * src/vm/jit/replace.c (replace_executionstate_println): Likewise. + +2006-04-11 05:10 edwin + + * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Do not + trace + exception when NDEBUG. + + * src/vm/jit/intrp/dynamic-super.c (disassemble_prim): Only enable for + ENABLE_DISASSEMBLER. + (dynamic_super_init): Only call disassemble_prim for + ENABLE_DISASSEMBLER. + + * src/vm/jit/intrp/java.vmg: Disable builtin_displaymethodstop and + builtin_trace_args for NDEBUG. + +2006-04-06 12:54 twisti + + * src/vm/jit/mips: Added TAGS. + * src/vm/jit/mips/irix: Likewise. + * src/vm/jit/mips/irix/.cvsignore: Likewise. + * src/vm/jit/mips/.cvsignore: Likewise. + +2006-04-06 12:51 twisti + + * src/vm/jit/mips/codegen.c (codegen): Changed signature to use + jitdata. Renamed reg_of_var by codegen_reg_of_var. + (createcompilerstub): Replaced docacheflush by md_cacheflush. + * src/vm/jit/mips/codegen.h (M_COPY): Likewise. + * src/vm/jit/mips/md.c (sys/mman.h): Removed. + (docacheflush): Likewise. + +2006-04-06 00:33 edwin + + * configure.ac: Added host type `armv5l`. + +2006-04-05 20:31 edwin + + * src/vm/jit/parse.h, src/vm/jit/parse.c (OP1LOAD): + Split into OP1LOAD_ONEWORD and OP1LOAD_TWOWORD. Index is only checked + if + ENABLE_VERIFIER. + (OP1STORE): Split into OP1STORE_ONEWORD and OP1STORE_TWOWORD. Index + is + only checked if ENABLE_VERIFIER. + +2006-04-05 19:58 edwin + + * src/vm/jit/parse.c (parse): Cleaned up and reordered an if. + +2006-04-05 19:44 edwin + + * src/vm/jit/parse.c (parse): Remove the `if (!iswide)` check for + each opcode + by making JAVA_WIDE continue directly to the label fetch_opcode. + (This also + removed a part of the iswide check at the end of the loop.) + +2006-04-05 18:48 edwin + + * src/vm/jit/alpha/codegen.c (codegen, createnativestub): Remove + opt_verbosecall code for NDEBUG builds. + +2006-04-05 18:13 edwin + + * src/vm/jit/parse.c (parse): Only do verifier checks if + ENABLE_VERIFIER. + Cleaned up an obsolete printf. + +2006-04-05 12:56 edwin + + * configure.ac (ENABLE_RT_TIMING): Added. + + * src/vm/jit/jit.c (ENABLE_RT_TIMING): Added code for real-time timing + of compiler passes. + + * src/vm/jit/jit.h (jit_print_time_stats): Added. + + * src/vm/vm.c (vm_exit_handler): Call jit_print_time_stats. + +2006-04-05 11:32 edwin + + * src/vm/jit/inline/inline.c (create_block): Use BASICBLOCK_INIT. + +2006-04-05 10:02 twisti + + * src/vm/jit/alpha/asmpart.S (asm_vm_call_method): Removed !NDEBUG as + builtin_throw_exception actually posts the thrown exception to the VM + system. + * src/vm/jit/powerpc/asmpart.S: Likewise. + * src/vm/jit/mips/asmpart.S: Likewise. + * src/vm/jit/x86_64/asmpart.S: Likewise. + +2006-04-05 09:57 edwin + + * src/vm/jit/jit.h (instruction): Removed `method` field. + (insinfo_inline): Added. + (basicblock): Added `method` field. + + * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start) + (dseg_addlinenumber_inline_end): Use new insinfo_inline struct. + + * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed unused + variable `myclass`. + + * src/vm/jit/inline/inline.c (emit_inlining_prolog, + emit_inlining_epilog): + Use insinfo_inline struct. + (inline_write_exception_handlers): Removed `method` field. + + * src/vm/jit/i386/codegen.c (codegen): Use insinfo_inline struct. + + * src/vm/jit/parse.h (several macros): Removed `method` field from + instruction. + + * src/vm/jit/stack.c (stack_show_icmd): Adapted to new insinfo_inline + struct. + +2006-04-05 09:54 twisti + + Fixes GCC Bugzilla Bug #26990. + * src/vm/vm.c (vm_exit): Don't check for exception of System.exit(). + +2006-04-04 21:31 edwin + + * src/vm/builtin.c (builtin_throw_exception): No twisti, we don't + turn off + exceptions just because it is NDEBUG ;) + * src/vm/jit/i386/asmpart.S (asm_vm_call_method_exception_handler): + Likewise. + +2006-04-04 18:14 edwin + + * src/vm/jit/i386/Makefile.am: Do not build disassebmler for + --disable-disassembler + * src/vm/jit/i386/codegen.c (codegen): disable verbosecall code for + NDEBUG + +2006-04-04 18:11 edwin + + * src/vm/jit/ifconv/ifconv.c (ifconv_static): #ifdef debug code. + (check): Likewise. + +2006-04-04 09:17 twisti + + * src/threads/native/threads.c (tablelock): Removed. + (tables_lock, tables_unlock): Likewise. + (criticalcompare): Removed tablelock initialization. + * src/vm/hashtable.h (tables_lock, tables_unlock): Removed. + * src/vm/global.h (VFTBLINTERFACETABLE): Likewise. + (cast_lock, cast_unlock): Likewise. + +2006-04-04 09:14 twisti + + * src/vm/exceptions.c (exceptions_new_nosuchmethoderror): Print + classname with dots. + (exceptions_handle_exception): Compiler warning fix. + +2006-04-04 09:13 edwin + + * src/vm/jit/verify/typeinfo.c (CLASSINFO_IMPLEMENTS_INTERFACE): + Removed the + single use of the macro VFTBLINTERFACETABLE + +2006-04-04 08:45 twisti + + * src/native/vm/VMClass.c: Reordered methods like in the + VMClass.java. This eases the 1.5 changes addition. + +2006-04-04 08:30 edwin + + * src/vm/jit/parse.c (parse): Removed obsolete variable + `skipBasicBlockChange`. + +2006-04-04 08:24 edwin + + * src/vm/jit/parse.c (parse): Removed obsolete variable `firstlocal`. + (Was used for the old inliner.) + +2006-04-03 15:36 twisti + + * src/vm/jit/powerpc/codegen.c (codegen): Changed signature to use + jitdata. Renamed reg_of_var by codegen_reg_of_var. + * src/vm/jit/powerpc/codegen.h (M_COPY): Likewise. + +2006-04-03 13:59 twisti + + * src/vm/jit/powerpc/codegen.c (codegen): Renamed parentargs_base to + stackframesize. + (codegen_trace_args): Likewise. + +2006-04-02 16:17 edwin + + * src/vm/jit/i386/codegen.c (codegen): Implemented inlining of + synchronized + methods (INLINE_START, INLINE_END do monitorenter/exit). + +2006-04-02 16:16 edwin + + * src/vm/jit/inline/inline.c (inline_node): Added fields for inlining + synchronized methods. + (inline_context): Added `master` pointer to outermost caller. Added + field + `calls_others`. (Leaf method detection should really be done after + inlining). + (several methods): Implemented inlining of synchronized methods. + (inline_new_stackslot): Added. + (inline_write_exception_handlers): Added. + +2006-04-01 21:03 edwin + + * src/vm/jit/intrp/codegen.c (createcalljavafunction): Create + codeinfo with + the right methodinfo pointer. + +2006-04-01 21:00 edwin + + * src/vm/jit/codegen-common.h (intrp_createnativestub): Takes a + `jitdata *` now. + + * src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub) + (createcalljavafunction): Use jitdata. + +2006-03-31 12:38 edwin + + * src/vm/jit/inline/inline.c, src/vm/jit/inline/inline_debug.c: + Adapted to + twisti's jitdata changes. + +2006-03-31 07:50 twisti + + * src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Replaced $stub + symbols with old symbols and define them for darwin in the + corresponding md-asm.h. + (asm_call_jit_compiler): Likewise. + (asm_wrapper_patcher): Likewise. + (asm_replacement_out): Likewise. + * src/vm/jit/powerpc/darwin/md-asm.h (builtin_asm_get_exceptionptrptr) + (builtin_throw_exception, exceptions_handle_exception, jit_compile) + (replace_me, stacktrace_create_extern_stackframeinfo) + (stacktrace_remove_stackframeinfo): Changed to $stub symbol. + (stacktrace_extern_fillInStackTrace): Removed. + + * src/vm/jit/powerpc/linux/md-abi.c (regs): Added. + +2006-03-31 07:14 twisti + + * src/vm/jit/powerpc/patcher.c + (patcher_checkcast_instanceof_interface): Compile fix (typo). + +2006-03-30 12:01 twisti + + * src/vm/jit/alpha/asmpart.S (vm/jit/abi.h): Changed to + vm/jit/abi-asm.h. + * src/vm/jit/mips/asmpart.S: Likewise. + * src/vm/jit/i386/asmpart.S: Likewise. + * src/vm/jit/x86_64/asmpart.S: Likewise. + +2006-03-30 11:59 twisti + + * src/vm/jit/powerpc/codegen.c (codegen): Changed signature to use + jitdata. Renamed reg_of_var by codegen_reg_of_var. + * src/vm/jit/powerpc/codegen.h (M_COPY): Likewise. + + * src/vm/jit/powerpc/asmpart.S (vm/jit/abi.h): Changed to + vm/jit/abi-asm.h. + (asm_vm_call_method_exception_handler): Export it. + (asm_vm_call_method): Don't put label addresses into the + "data-segment", as it's located in the .text area and that may be + read-only. Changed to use PIC code. Linux stuff is still missing. + + * src/vm/jit/powerpc/Makefile.am (DISASS_SOURCES): Added. + * src/vm/jit/powerpc/disass.c (regs): Removed. + +2006-03-30 10:26 twisti + + * src/vm/jit/ifconv/Makefile.am (AM_CPPFLAGS): Added OS_DIR. + (LIBS): Added. + +2006-03-30 10:23 twisti + + * src/vm/jit/Makefile.am (noinst_HEADERS): Added abi-asm.h. + * src/vm/jit/abi.h (vm/jit/abi-asm.h): Added. + (nregdescint, regs, nregdescfloat): Added. + * src/vm/jit/abi-asm.h: New file. + * src/vm/jit/reg.h (nregdescint, nregdescfloat): Removed. + * src/vm/jit/reg.c (vm/jit/abi.h): Added. + * src/vm/jit/replace.c: Likewise. + * src/vm/jit/allocator/lsra.c: Likewise. + * src/vm/jit/powerpc/darwin/md-asm.h + (asm_vm_call_method_exception_handler): Added. + * src/vm/jit/powerpc/darwin/md-abi.c (regs): Added. + +2006-03-30 10:14 twisti + + * src/vm/jit/codegen-common.c: Use ENABLE_DISASSEMBLER. + * src/vm/jit/codegen-common.h: Likewise. + * src/vm/jit/stack.c: Likewise. Plus ENABLE_LSRA. + * src/vm/jit/disass.h: Likewise. + * src/vm/jit/jit.c: Likewise. Plus ENABLE_LOOP. + +2006-03-30 10:10 twisti + + * src/vm/jit/powerpc/patcher.c (patcher_invokevirtual): Use disp + variable for code patching. This will ease the overflow code + comming. + (patcher_invokeinterface): Likewise. + (patcher_checkcast_instanceof_interface): Likewise. + +2006-03-30 09:52 twisti + + * src/vm/exceptions.c (exceptions_handle_exception): Check for special + * start/endpc-NULL case. This makes asmpart stuff much easier, like on + * Darwin or IRIX. + + * src/vm/jit/asmpart.h (asm_vm_call_method_exception_handler): Added. + + * src/vm/jit/alpha/asmpart.S (asm_vm_call_method_exception_handler): + Export it. + (asm_vm_call_method): Don't put label addresses into the + "data-segment", as it's located in the .text area and that may be + read-only. + * src/vm/jit/i386/asmpart.S: Likewise. + * src/vm/jit/mips/asmpart.S: Likewise. + * src/vm/jit/x86_64/asmpart.S: Likewise. + +2006-03-30 09:20 twisti + + * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Return NULL for + exception. + +2006-03-30 08:48 twisti + + * configure.ac (opcodes): Check for disassembler symbol as + init_disassemble_info isn't defined everywhere, like NetBSD. + +2006-03-29 23:11 twisti + + * src/vm/jit/powerpc/netbsd: New directory. + * src/vm/jit/powerpc/netbsd/md-abi.h: New file. + * src/vm/jit/powerpc/netbsd/md-os.c: Likewise. + * src/vm/jit/powerpc/netbsd/md-asm.h: Likewise. + * src/vm/jit/powerpc/netbsd/Makefile.am: Likewise. + * src/vm/jit/powerpc/netbsd/md-abi.c: Likewise. + * src/vm/jit/powerpc/netbsd/.cvsignore: Likewise. + * configure.ac (host_os): Added NetBSD. + (AC_CONFIG_FILES): Added src/vm/jit/powerpc/netbsd/Makefile. + +2006-03-28 15:43 twisti + + * tests/regression/codepatching/test.java: Made functions static + final. + --This line, and those below, will be ignored-- + + M test.java + +2006-03-28 15:41 twisti + + * src/vm/jit/i386/codegen.c (codegen): Changed signature to use + jitdata. Renamed reg_of_var by codegen_reg_of_var. + * src/vm/jit/i386/codegen.h (M_COPY): Likewise. + +2006-03-28 15:14 twisti + + * configure.ac (AC_CONFIG_FILES): Added src/vm/jit/ifconv/Makefile. + +2006-03-28 15:10 twisti + + * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv. + * src/vm/jit/ifconv: New directory. + * src/vm/jit/ifconv/ifconv.c: New file. + * src/vm/jit/ifconv/Makefile.am: Likewise. + * src/vm/jit/ifconv/ifconv.h: Likewise. + * src/vm/jit/ifconv/.cvsignore: Likewise. + +2006-03-28 14:52 twisti + + * src/vm/method.h (vm/jit/code.h): Added. + (codeinfo, rplpoint, executionstate, sourcestate): typedef's removed. + + * src/vm/jit/codegen-common.c (codegendata): Removed code. + (codegen_setup, codegen_finish, createnativestub, codegen) + (intrp_codegen): Changed signature to use jitdata. + (reg_of_var): Renamed to codegen_reg_of_var. Changed signature. + (codegen_free): Removed. + * src/vm/jit/codegen-common.h: Likewise. + + * src/vm/jit/stack.c (lock_show_icmd): Renamed to + lock_stack_show_icmd. + (analyse_stack): Renamed to stack_analyse. Changed signature to use + jitdata. + (ICMD_IF_ICMPxx): Make ICMD_IFxx last instruction in basic block. This + is required for if-conversion. + (stack_print): Renamed to stack_print_stack. + (show_icmd_method): Renamed to stack_show_method. Changed signature to + use jitdata. + (show_icmd_block): Renamed to stack_show_basicblock. Changed signature + to use jitdata. + (show_icmd): Renamed to stack_show_icmd. + * src/vm/jit/stack.h: Likewise. + + * src/vm/jit/code.h (codeinfo): Added typedef. + + * src/vm/jit/dseg.c (assert.h): Moved. + (dseg_resolve_datareferences, dseg_display): Changed signature to use + jitdata. + * src/vm/jit/dseg.h: Likewise. + + * src/vm/jit/verify/typecheck.c (typecheck): Changed signature to use + jitdata. + * src/vm/jit/verify/typecheck.h: Likewise. + + * src/vm/jit/loop/loop.c (analyseGraph): Changed signature to use + jitdata. + * src/vm/jit/loop/loop.h: Likewise. + * src/vm/jit/loop/graph.c (depthFirst): Likewise. + * src/vm/jit/loop/graph.h: Likewise. + * src/vm/jit/loop/analyze.c (optimize_loops): Likewise. + * src/vm/jit/loop/analyze.h: Likewise. + * src/vm/jit/allocator/lsra.c (lsra): Likewise. + * src/vm/jit/allocator/lsra.h: Likewise. + * src/vm/jit/allocator/simplereg.c (interface_regalloc) + (local_regalloc,allocate_scratch_registers): Likewise. + * src/vm/jit/allocator/simplereg.h: Likewise. + * src/vm/jit/parse.c (parse): Likewise. + * src/vm/jit/replace.c (replace_create_replacement_points): Likewise. + * src/vm/jit/intrp/codegen.c (intrp_codegen): Likewise. + * src/vm/jit/reg.c (reg_setup): Likewise. + * src/vm/jit/reg.h: Likewise. + + * src/vm/jit/jit.c (jit_compile): Use new function signatures and + jitdata structure. + (jit_compile_intern): Changed signature to use jitdata. + * src/vm/jit/jit.h (jitdata): Added. + (ICMD_OPCODE_MASK): Likewise. + (ICMD_CONDITION_MASK): Likewise. + + * src/vm/jit/replace.h (rplpoint, executionstate, sourcestate): + typedef's added. + (replace_create_replacement_points): Changed signature to use jitdata. + + * src/vm/jit/parse.h (INDEX_ONEWORD, INDEX_TWOWORD): Use goto. + (parse): Changed signature to use jitdata. + +2006-03-28 14:31 twisti + + * src/vm/jit/x86_64/md.c (md_signal_handler_sigsegv) + (md_signal_handler_sigfpe): Comment changes. + +2006-03-28 14:30 twisti + + * src/vm/jit/i386/codegen.c (createnativestub): Replaced _exceptionptr + by _no_threads_exceptionptr. + +2006-03-28 14:22 twisti + + * NEWS: Added upcoming 0.96 release. Added miranda-methods fix. + +2006-03-28 14:21 twisti + + * src/tests/regression/native/checkjni.c (PushLocalFrame): New method. + * src/tests/regression/native/checkjni.java (PushLocalFrame): + Likewise. + (equal(int,int)): Likewise. + * src/tests/regression/native/Makefile.am (NOTESTNAMES): Added. + +2006-03-28 11:54 twisti + + * src/vm/jit/x86_64/codegen.c (codegen): Renamed parentargs_base to + stackframesize. + * tests/regression/extest.2output: Updated. + +2006-03-28 10:42 twisti + + * src/vm/Makefile.am (noinst_LTLIBRARIES): Reformatted. + +2006-03-28 10:21 twisti + + * src/native/vm/VMClassLoader.c (loadClass): Smaller changes. + +2006-03-28 09:41 twisti + + * src/native/native.c (dummynativetable): Renamed getModifiers + functions to getModifiersInternal due to GNU Classpath VM interface + changes. + * src/native/vm/Constructor.c (getModifiers): Renamed to + getModifiersInternal. + * src/native/vm/Field.c (getModifiers): Likewise. + * src/native/vm/Method.c (getModifiers): Likewise. + +2006-03-27 11:37 twisti + + * src/vm/class.c: Don't initialize classes to NULL. + + * src/vm/loader.c (loader_load_all_classes): Added NDEBUG. + * src/vm/builtin.c (builtin_new): Likewise. + * src/vm/jit/codegen-common.c (codegen_createnativestub): Likewise. + (codegen_disassemble_nativestub): Likewise. + * src/vm/jit/codegen-common.h (codegen_disassemble_nativestub): + Likewise. + * src/vm/jit/stack.c (stack_print): Likewise. + * src/vm/jit/stack.h (stack_print, show_icmd_method, show_icmd_block) + (show_icmd): Likewise. + * src/vm/exceptions.c (exceptions_handle_exception): Likewise. + * src/vm/linker.c (link_class_intern): Likewise. + * src/cacao/cacao.c (main): Likewise. + + * src/vm/jit/x86_64/codegen.c: Likewise. + * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Likewise. + * src/vm/jit/x86_64/Makefile.am (DISASS_SOURCES): Added. Put into + ENABLE_DISASSEMBLER. + + * src/vm/jit/jit.c (jit_compile_intern): Added ENABLE_LOOP. + * src/vm/vm.c (vm_create): Added ENABLE_PROFILING. + (vm_exit_handler): Likewise. + + * configure.ac (AC_ENABLE_SHARED, AC_DISABLE_STATIC): Removed. Set it + manually. + (EXPORT_SYMBOLS_FLAGS): Removed. + (--enable-disassembler): Added. + (--ensable-loop): Likewise. + (--ensable-profiling): Likewise. + (--ensable-libjvm): Likewise. + (--ensable-inlining): Moved. + + * src/vm/jit/Makefile.am (LOOP_LIB): Added. Put into ENABLE_LOOP. + (PROFILE_LIB): Put into ENABLE_PROFILING. + * src/cacao/Makefile.am (cacao_LDFLAGS): Use -export-dynamic and let + libtool do the work. Add -all-static for ENABLE_STATICVM. + + * src/lib/Makefile.am: Made it -j aware. + + * src/vm/resolve.c (config.h, vm/global.h): Added. + * src/vm/classcache.c (config.h): Moved to top. + + * src/vm/exceptions.h: Small change. + +2006-03-27 11:15 twisti + + * src/vm/utf8.c: Removed superfluous comment. + +2006-03-24 11:50 motse + + * src/cacao/cacao.c (main): remove debug code + +2006-03-23 12:48 edwin + + * src/vm/jit/parse.h (bound_check): Renamed to CHECK_BYTECODE_INDEX, + made + a NOP for ENABLE_VERIFIER undefined. + (bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE, + made + a NOP for ENABLE_VERIFIER undefined. + + * src/vm/jit/parse.c (fillextable): Cleaned up. + (bound_check): Renamed to CHECK_BYTECODE_INDEX. + (bound_check_exclusive): Renamed to CHECK_BYTECODE_INDEX_EXCLUSIVE. + (parse): Only do checks if ENABLE_VERIFIER is defined. + +2006-03-23 11:22 edwin + + * src/vm/jit/parse.c (CHECK_END_OF_BYTECODE): Added a macro for + checking + the end of the bytecode that becomes a NOP if ENABLE_VERIFIER is + undefined. + +2006-03-23 02:06 edwin + + * src/vm/jit/parse.c (parse): Uncuddled else's. + +2006-03-23 00:56 edwin + + * src/vm/jit/powerpc/darwin/md-asm.h (_asm_replacement_out) + (_asm_replacement_in, _replace_me): Added #defines for Darwin. + +2006-03-23 00:30 edwin + + * src/vm/jit/stack.h (CHECK_STACK_DEPTH): Added. Uses goto to a common + label for stack depth mismatches. + (MARKREACHED): Use CHECK_STACK_DEPTH, which becomes a NOP if + ENABLE_VERIFIER is undefined. + + * src/vm/jit/stack.c (anaylse_stack): Use CHECK_STACK_DEPTH. + Added common label `throw_stack_depth_error` for stack depth + mismatches. + Uncuddled else's. + +2006-03-23 00:08 edwin + + * src/vm/global.h (TYPECHECK_STACK_COMPCAT): Replaced by + ENABLE_VERIFIER. + The separation made no sense, anyway. + + * src/vm/jit/stack.c (TYPECHECK_STACK_COMPCAT): Replaced by + ENABLE_VERIFIER. + (analyse_stack): Removed code duplication by branching to a common + label + for all computational category errors: throw_stack_category_error. + +2006-03-22 23:51 edwin + + * src/vm/jit/stack.h (BBEND): Inlined this macro (used only once) at + its + call site in stack.c. + + * src/vm/jit/stack.c (analyse_stack): Inlined BBEND macro and cleaned + up + the code. + +2006-03-22 23:29 edwin + + * src/vm/jit/stack.c (analyse_stack): Removed obsolete label + `icmd_store`. + +2006-03-22 23:27 edwin + + * src/vm/jit/jit.h (ICMD_READONLY_ARG, ICMD_CLEAR_ARGREN): Removed. + + * src/vm/jit/stack.c (analyse_stack): Removed obsolete argument + renaming. + + * src/vm/jit/verify/typecheck.c (verify_basic_block): Removed + ICMD_READONLY_ARG and ICMD_CLEAR_ARGREN. + +2006-03-22 23:17 edwin + + * src/vm/jit/stack.h (TYPE_VERIFYERROR): Changed to CHECK_BASIC_TYPE. + This + macro now becomes a NOP if ENABLE_VERIFIER is undefined. Otherwise it + uses + a goto to the common label throw_stack_type_error in order to save + space. + + * src/vm/jit/stack.c (analyse_stack): Added variable `expectedtype` + for use + by CHECK_BASIC_TYPE. Added label throw_stack_type_error. + +2006-03-22 20:59 edwin + + * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Save/restore stack + pointer + properly. Fixed copy&paste error in restoring callee-save registers. + +2006-03-22 18:32 edwin + + * src/vm/jit/stack.c (analyse_stack): Added throw_stack_overflow + label. + + * src/vm/jit/stack.h (CHECKOVERFLOW): Make this a NOP if + ENABLE_VERIFIER + is undefined. + (REQUIRE): Use #if defined(...) + +2006-03-22 17:25 edwin + + * src/vm/jit/stack.h (REQUIRE): Made a NOP if ENABLE_VERIFIER is + undefined. + + * src/vm/jit/stack.c (analyse_stack): Only define + throw_stack_underflow + if ENABLE_VERIFIER is defined. + (jit_type): Do not define that for NDEBUG. + +2006-03-22 17:14 edwin + + * src/vm/jit/stack.h (REQUIRE): Avoid duplication of exception + throwing code. + + * src/vm/jit/stack.c (analyse_stack): Added label + throw_stack_underflow + for the REQUIRE macro. + +2006-03-22 15:30 edwin + + * src/vm/jit/powerpc/md.c (DISASSINSTR): #ifdef'ed + * src/vm/jit/alpha/md.c (DISASSINSTR): #ifdef'ed + * src/vm/jit/i386/md.c (DISASSINSTR): #ifdef'ed + * src/vm/jit/x86_64/md.c (DISASSINSTR): #ifdef'ed + * src/vm/jit/mips/md.c (DISASSINSTR): #ifdef'ed + +2006-03-22 12:35 edwin + + * src/vm/jit/inline/inline.c (stack_depth): Moved here from + inline_debug.c. + (NDEBUG): Put debug stuff inside #ifndef NDEBUG. + + * src/vm/jit/inline/inline_debug.c (stack_depth): Moved to inline.c + +2006-03-22 09:19 edwin + + * src/vm/jit/inline/inline_debug.c (debug_dump_stack): Fixed warning + on + platforms that don't define NULL as a pointer. + +2006-03-22 01:22 edwin + + * src/vm/jit/inline/inline.c (relocate_stack_ptr_inter, + rewrite_method): + Fixed warnings. + + * src/vm/jit/inline/inline_debug.c (DEBUG_SLOT, dump_inline_tree): + Fixed warnings. + +2006-03-21 14:07 twisti + + * src/vm/jit/i386/codegen.h (ALIGNCODENOP): Added. + + * src/vm/jit/i386/codegen.c (codegen): Renamed to parentargs_base to + stackframesize. Align stack to 16-bytes. + (ICMD_GOTO): Use ALIGNCODENOP. + + * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Align stack to + 16-bytes. Use register defines for better readability. + +2006-03-21 11:58 twisti + + * src/vm/jit/Makefile.am: Removed ifconv. Again... + +2006-03-21 11:50 twisti + + * configure.ac (AC_INIT): Changed cvs to svn. + (--enable-inlining): Added. + + * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added ifconv. + (ENABLE_IFCONV): Added. Use IFCONV_LIB. + (USE_INLINING): Renamed to ENABLE_INLINING. + +2006-03-21 07:57 edwin + + * src/vm/jit/alpha/codegen.c (codegen): Comment 16-byte stack + alignment. + + * src/vm/jit/alpha/asmpart.S (asm_replacment_out): Fix comment about + stack layout. + +2006-03-21 07:42 edwin + + * src/vm/jit/alpha/asmpart.S (REPLACEMENT_ROOM): Fixed deleted + characters. + +2006-03-21 04:14 edwin + + * src/vm/jit/inline/Makefile.am (AM_CPPFLAGS): Added OS include dir. + +2006-03-21 03:15 edwin + + * src/vm/jit/inline/inline_debug.c: Added file. + +2006-03-21 00:13 edwin + + * src/vm/jit/inline/inline.c: Committed the inliner. This code works + but + it is still in prototyping stage. + + * src/vm/jit/parse.c (parse): Added (#if 0-ed) code for storing the + exception table that the inliner uses. + +2006-03-21 00:04 motse + + major rework of jvmti. now we have three processes in jvmti mode. + there are still many debug statements + +2006-03-20 23:56 edwin + + * src/vm/jit/code.h (codeinfo): Comment that profiling fields + will be removed. + +2006-03-20 15:41 edwin + + * src/vm/jit/alpha/asmpart.S (asm_replacement_out): 16-byte align + stack. + +2006-03-20 15:37 edwin + + * doc/stack_frames.txt: Some fixes, described PowerPC stack frames. + +2006-03-20 15:12 twisti + + * src/vm/jit/alpha/codegen.c (codegen): Align stack to 16-bytes in + replacement stub. + * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Load GP before + symbolic jumps. + +2006-03-20 14:43 twisti + + * autogen.sh, src/boehm-gc/autogen.sh: Prefix all shell variables with + CACAO_ to prevent problems on OpenBSD. + +2006-03-20 14:27 twisti + + * src/boehm-gc/darwin_stop_world.c, + src/boehm-gc/threadlibs.c, + src/boehm-gc/doc/README.changes, + src/boehm-gc/doc/README, + src/boehm-gc/doc/gcinterface.html, + src/boehm-gc/mark.c, + src/boehm-gc/include/gc.h, + src/boehm-gc/include/gc_cpp.h, + src/boehm-gc/include/gc_pthread_redirects.h, + src/boehm-gc/include/leak_detector.h, + src/boehm-gc/include/gc_config_macros.h, + src/boehm-gc/include/private/gc_priv.h, + src/boehm-gc/include/private/gcconfig.h, + src/boehm-gc/include/private/gc_pmark.h, + src/boehm-gc/include/private/gc_locks.h, + src/boehm-gc/configure.in, + src/boehm-gc/allchblk.c, + src/boehm-gc/powerpc_darwin_mach_dep.s, + src/boehm-gc/dbg_mlc.c, + src/boehm-gc/version.h, + src/boehm-gc/pthread_stop_world.c, + src/boehm-gc/malloc.c, + src/boehm-gc/headers.c, + src/boehm-gc/pthread_support.c, + src/boehm-gc/Makefile.direct, + src/boehm-gc/os_dep.c, + src/boehm-gc/Makefile.am, + src/boehm-gc/dyn_load.c, + src/boehm-gc/alloc.c, + src/boehm-gc/misc.c: Updated to upstream version 6.7. + +2006-03-19 19:46 edwin + + * src/vm/jit/code.c (code_get_stack_frame_size): Implement stack + alignment + for MIPS. + + * src/vm/jit/mips/md.c (md_patch_replacement_point): Added. + + * src/vm/jit/mips/codegen.c (codegen): Handle replacement points. + 8-byte align blocks that start with replacement points. + + * src/vm/jit/mips/asmpart.S (asm_replacement_out): Added. + (asm_replacement_in): Likewise. + + * src/vm/jit/replace.c (replace_activate_replacement_point): Activated + for MIPS. + (replace_deactivate_replacement_poin): Likewise. + (replace_me): Likewise. + (replace_read_executionstate): MIPS also keeps returnAddress in ITMP1. + (replace_write_executionstate): Likewise. + + * doc/stack_frames.txt: Documented MIPS stack frames. + + * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Fixed comment. + +2006-03-18 04:14 edwin + + * src/vm/jit/powerpc/md.c (md_patch_replacement_point): Added. + + * src/vm/jit/powerpc/codegen.c (codegen): Handle replacement points. + + * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Added. + (asm_replacement_in): Likewise. + + * src/vm/jit/alpha/codegen.c (codegen): Added missing initialization + of `replacementpoint`. + + * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Store PV register. + + * src/vm/jit/code.c (code_get_sync_slot_count): Ported to PowerPC. + (code_get_stack_frame_size): Likewise. + + * src/vm/jit/replace.c (replace_activate_replacement_point) + (replace_deactivate_replacement_poin): Activated for PowerPC. + (replace_read_value, replace_write_value): Added. + (replace_read_executionstate): Ported to PowerPC, more complete + data type handling. + (replace_write_executionstate): Ported to Ported, more complete + data type handling, fixed missing initialization of `topslot`. + (replace_me): Activated for PowerPC. + +2006-03-16 23:32 edwin + + * src/vm/jit/alpha/codegen.c (codegen): Use `disp` for displacement. + +2006-03-16 21:12 edwin + + * src/vm/jit/alpha/md.c (Changes): Added my name. + +2006-03-16 21:11 edwin + + * src/vm/jit/alpha/md.c (md_patch_replacement_point): Added. + (vim boilerplate): Added. + + * src/vm/jit/replace.c (replace_activate_replacement_point) + (replace_deactivate_replacement_point, replace_me): + Activated replacement for alpha. + +2006-03-16 20:31 edwin + + * src/vm/jit/alpha/asmpart.S (asm_replacement_out) + (asm_replacement_in): Use stt/ldt for float registers. + + * src/vm/jit/alpha/codegen.c (codegen): Put replacement-out stub + generation in correct scope. Fix warnings. + +2006-03-16 19:55 edwin + + * src/vm/jit/alpha/codegen.c (codegen): Handle replacement points. + + * src/vm/jit/alpha/asmpart.S (asm_replacement_out): Added. + (asm_replacement_in): Likewise. + (vim boilerplate): Added. + +2006-03-16 19:36 edwin + + * src/vm/jit/replace.c (replace_read_executionstate) + (replace_write_executionstate): Position of synchronization slot must + be calculated from low addresses up, instead of backwards from stack + base. + +2006-03-16 19:00 edwin + + * src/vm/jit/replace.c (replace_create_replacement_points): Set + isleafmethod. + +2006-03-16 18:57 edwin + + * src/vm/jit/code.c (code_codeinfo_new): Set codeinfo.isleafmethod. + +2006-03-16 18:44 edwin + + * src/vm/jit/x86_64/codegen.c (codegen): Reuse `disp` variable. + * src/vm/jit/i386/codegen.c (codegen): Likewise. + +2006-03-16 18:38 edwin + + * src/vm/jit/i386/asmpart.S (asm_replacement_out): Added pv. + * src/vm/jit/x86_64/asmpart.S (asm_replacement_out): Added pv. + + * src/vm/jit/replace.c (replace_read_executionstate) + (replace_write_executionstate): Prepared for alpha. Some cleanup. + + * src/vm/jit/replace.c (replace_write_executionstate): + Calculate stack pointer from given stack base. + (replace_executionstate_println): Added pv. + (replace_sourcestate_println): Added stackbase. + + * src/vm/jit/replace.h (executionstate): Added pv. + (sourcestate): Added stackbase. + + * src/vm/jit/tools/genoffsets.c (main): Added offes_pv. + + * doc/stack_frames.txt: Clarifications. + +2006-03-16 18:32 edwin + + * src/vm/jit/code.c (code_get_sync_slot_count): No synchronization + slots + if USE_THREADS is undefined. + (code_get_stack_frame_size): Added x86_64 alignment slot. + +2006-03-16 17:29 edwin + + * doc/stack_frames.txt: Added description of x86_64 stack frames. + +2006-03-16 17:24 twisti + + * src/vm/jit/mips/md.c (sys/cachectl.h): Added. + (md_cacheflush, md_icacheflush, md_dcacheflush): New method. + + * src/vm/jit/mips/codegen.c: Use new exception stubs. + * src/vm/jit/mips/codegen.h (gen_nullptr_check, gen_bound_check) + (gen_div_check): Use new add reference functions. + + * src/vm/jit/mips/patcher.c: Replaced cacheflush with md_icacheflush + or md_dcacheflush. + + * src/vm/jit/mips/asmpart.S: (asm_calljavafunction): Removed. + (asm_calljavafunction2): Renamed to asm_vm_call_method. Pointer to + vm_arg block is now in a2. Use new defines. + +2006-03-16 17:22 edwin + + * doc/stack_frames.txt: Added description of alpha stack frames. + +2006-03-16 17:16 twisti + + * src/vm/vm.c (version): Check if __VERSION__ is defined. + +2006-03-16 15:36 twisti + + * src/vm/jit/x86_64/md.c (md_cacheflush): New method. + +2006-03-16 15:28 edwin + + * src/vm/jit/alpha/codegen.c (codegen): Cast to avoid compiler + warning. + +2006-03-16 15:19 twisti + + * src/vm/jit/alpha, src/vm/jit/alpha/linux, + src/vm/jit/alpha/linux/.cvsignore, src/vm/jit/alpha/freebsd, + src/vm/jit/alpha/freebsd/.cvsignore, src/vm/jit/alpha/.cvsignore: + Added TAGS. + +2006-03-16 15:16 twisti + + * src/vm/jit/alpha/md.c (md_cacheflush, md_icacheflush): New method. + * src/vm/jit/alpha/asmpart.S (asm_sync_instruction_cache): Renamed to + asm_cacheflush. + * src/vm/jit/alpha/patcher.c: Replaced asm_sync_instruction_cache with + md_icacheflush. + +2006-03-16 14:29 twisti + + * src/vm/jit/i386/md.c (md_cacheflush): New method. + +2006-03-16 14:23 twisti + + * src/vm/jit/powerpc, src/vm/jit/powerpc/linux, + src/vm/jit/powerpc/linux/.cvsignore, src/vm/jit/powerpc/darwin, + src/vm/jit/powerpc/darwin/.cvsignore, src/vm/jit/powerpc/.cvsignore: + Added TAGS. + +2006-03-16 14:19 twisti + + * src/vm/jit/jit.h (md_cacheflush, md_icacheflush, md_dcacheflush): + Added. + * src/vm/jit/asmpart.h (asm_sync_instruction_cache): Removed. + + * src/vm/jit/codegen-common.c (codegen_finish): Call md_cacheflush for + the dynamic superinstructions (intrp) and the generated code. + + * src/vm/jit/powerpc/codegen.c: Use new exception stubs. + * src/vm/jit/powerpc/codegen.h (gen_nullptr_check, gen_bound_check): + Use new add reference functions. + + * src/vm/jit/powerpc/md.c (vm/jit/asmpart.h): Added. + (md_cacheflush, md_icacheflush, md_dcacheflush): New function. + * src/vm/jit/powerpc/patcher.c: Use new cache flush functions. + +2006-03-16 14:00 twisti + + * src/cacao/cacao.c (mm/boehm.h, mm/memory.h): Removed. + +2006-03-16 13:59 twisti + + * src/vm/jit/intrp/engine.c (USE_spTOS): Define it for __POWERPC__, + __POWERPC64__, __SPARC__. We know we need it there. + +2006-03-16 13:56 twisti + + * tests/regression/native/Makefile.am (AM_CPPFLAGS): Added OS_DIR. + +2006-03-16 12:53 twisti + + * src/vm/jit/tools/Makefile.am, src/vm/jit/verify/Makefile.am, + src/vm/jit/loop/Makefile.am, src/vm/jit/profile/Makefile.am, + src/cacao/Makefile.am, src/native/tools/Makefile.am, + src/native/vm/Makefile.am, src/native/Makefile.am, + src/toolbox/Makefile.am, src/mm/Makefile.am, src/cacaoh/Makefile.am + (AM_CPPFLAGS): Added OS_DIR. + +2006-03-16 12:03 twisti + + * src/vm/jit/alpha/codegen.c: Use new exception stubs. + * src/vm/jit/alpha/codegen.h (gen_nullptr_check, gen_bound_check): Use + new add reference functions. + +2006-03-16 04:38 edwin + + * src/vm/jit/replace.h (RPLPOINT_SBR): Removed obsolete flag constant. + +2006-03-16 04:17 edwin + + * src/vm/jit/code.c (code_codeinfo_new): Commented. + (code_get_sync_slot_count): Added. + (code_get_stack_frame_size): Commented. + (code_codeinfo_free): Commented. + (code_free_code_of_method): Commented. Some cleanup. + + * src/vm/jit/code.h (code_get_sync_slot_count): Added. + + * src/vm/jit/i386/codegen.c (codegen): Use cd->lastmcodeptr to avoid + patching over basic block boundaries. + * src/vm/jit/x86_64/codegen.c (codegen): Likewise. + + * src/vm/jit/replace.h (rplpoint): `type` and `flags` added, + `hashlink` removed. + (sourcestate): Added slots for synchronized methods. + + * src/vm/jit/replace.c (replace_create_replacement_points): Store + basicblock + type. + (replace_read_executionstate, replace_write_executionstate): + Handle 2-word locals. Special handling for BBTYPE_SBR and BBTYPE_EXH + blocks. + Transfer synchronization slots. + +2006-03-16 00:05 edwin + + * src/vm/jit/code.c (code_get_stack_frame_size): Deal with 4/8-byte + stackslots. + + * src/vm/jit/tools/genoffsets.c (main): Offsets of intregs and + fltregs. + + * src/vm/jit/i386/asmpart.S (asm_replacement_out): Renamed regs to + intregs. Some cleanup. + + * src/vm/jit/replace.c (replace_activate_replacement_point) + (replace_deactivate_replacement_point): Enabled on x86_64. + (replace_read_executionstate, replace_write_executionstate): + Deal with 4/8-byte stackslots. Handle float registers. + (replace_executionstate_println, replace_sourcestate_println): + Print register names where possible. + + * src/vm/jit/x86_64/md.c (md_patch_replacement_point): Added. + (vim boilerplate): Added. + + * src/vm/jit/x86_64/codegen.c (codegen): Handle replacement points. + Generate replacement-out stubs. + + * src/vm/jit/x86_64/asmpart.S (asm_replacement_out, + asm_replacement_in): + Added. + (vim boilerplate): Added. + + * src/vm/jit/replace.h (executionstate): Separate registers into int + and float registers. Some cleanup, use INT_REG_CNT, FLT_REG_CNT + macros. + +2006-03-15 21:27 edwin + + * src/vm/jit/replace.c (replace_read_executionstate): Commented. + (replace_write_executionstate): Likewise, and set new PC here. + (replace_me): Target PC is now set in replace_write_executionstate. + +2006-03-15 20:53 edwin + + * src/vm/jit/code.h (codeinfo): Changed regalloc to use rplalloc + structs. + Added fields storing stack slot counts. + + * src/vm/jit/code.c, src/vm/jit/code.h (code_get_stack_frame_size): + Added. + + * src/vm/jit/replace.c (replace_create_replacement_points): Store full + allocation info for locals and stack slots in rplalloc structs. Store + number of stack slots. + + * src/vm/jit/replace.c (replace_read_executionstate): Added. + (replace_write_executionstate): Likewise. + + * src/vm/jit/replace.c (replace_me): Use dump memory for sourcestate. + Read an write executionstate. Do actual replace by calling + asm_replace_in. + + * src/vm/jit/replace.c (replace_replacement_point_println) + (replace_executionstate_println): Print new fields. Show correct + number + of stack slots. + (replace_sourcestate_println): Added. + + * src/vm/jit/replace.h (rplalloc): Added. + (rplpoint): Changed regalloc fields to use rplalloc structs. + (executionstate): Removed saved regs. + (sourcestate): Added saved regs. + (replace_executionstate_println): Now takes codeinfo* argument. + (replace_sourcestate_println): Added. + +2006-03-15 20:43 edwin + + * doc/stack_frames.txt: Added arrows indicating increasing + addresses/indices. + +2006-03-15 20:42 edwin + + * src/vm/jit/asmpart.h (asm_replacement_in): Added prototype. + +2006-03-15 20:40 edwin + + * src/vm/jit/i386/asmpart.S (asm_replacement_out): Save all integer + registers, + add space between stack frame and executionstate to accomodate + changing stack + frame size. + + * src/vm/jit/i386/asmpart.S (asm_replacement_in): Added. + +2006-03-15 20:38 edwin + + * src/vm/jit/tools/genoffsets.c (main): Added offset of pc and sp + in executionstate. + +2006-03-15 17:17 twisti + + * src/vm/jit/i386/codegen.c: Use new exception stubs. Don't cast with + M_MOV_IMM. + * src/vm/jit/i386/codegen.h (M_MOV_IMM, M_IST_IMM, M_IST32_IMM) + (M_PUSH_IMM): Added cast. + (M_CMP, M_CMP_MEMBASE, M_CMP_IMM_MEMBASE): Added. + +2006-03-15 16:36 twisti + + * src/vm/jit/codegen-common.h (branchref): Removed. + (codegendata): Removed xboundrefs, xnullrefs, xcastrefs, xstorerefs, + xdivrefs and xexceptionrefs. Added exceptionrefs. + (codegen_addxboundrefs, codegen_addxcastrefs, codegen_addxdivrefs) + (codegen_addxstorerefs, codegen_addxnullrefs) + (codegen_addxexceptionrefs): Removed. + (codegen_add_arithmeticexception_ref) + (codegen_add_arrayindexoutofboundsexception_ref) + (codegen_add_arraystoreexception_ref) + (codegen_add_classcastexception_ref) + (codegen_add_nullpointerexception_ref) + (codegen_add_fillinstacktrace_ref): New function. + * src/vm/jit/codegen-common.c: Likewise. + + * src/vm/jit/dseg.h (exceptionref): New structure. + + * src/vm/jit/x86_64/codegen.c: Use new exception stubs. Don't cast + with M_MOV_IMM. + * src/vm/jit/x86_64/codegen.h (M_MOV_IMM, M_IMOV_IMM): Added cast. + + * src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace): Moved. + * src/vm/jit/stacktrace.h (STACKTRACE_inline_arithmeticexception) + (STACKTRACE_inline_arrayindexoutofboundsexception) + (STACKTRACE_inline_arraystoreexception) + (STACKTRACE_inline_classcastexception) + (STACKTRACE_inline_nullpointerexception) + (STACKTRACE_inline_fillInStackTrace): Added functionptr defines. + + * src/vm/jit/jit.h (branchref): Added. + +2006-03-15 12:14 edwin + + * doc/stack_frames.txt: Added slots for synched methods. + +2006-03-15 12:04 edwin + + * doc/stack_frames.txt: Added file. + + * src/vm/jit/code.h (codeinfo): Rearranged fields. + + * src/vm/jit/i386/md.c, src/vm/jit/i386/asmpart.S, + src/vm/jit/replace.c: + Comment changes. + +2006-03-15 11:38 edwin + + * src/vm/jit/i386/md.c (md_patch_replacement_point): Generalized to + activation and deactivation of replacement points. + + * src/vm/jit/i386/codegen.c (codegen): Prepare machine code for + patching replacement points. + + * src/vm/jit/replace.c, src/vm/jit/replace.h + (replace_deactivate_replacement_point): Added. + + * src/vm/jit/replace.c + (replace_replacement_point_println): Print machine code. + + * src/vm/jit/replace.h (rplpoint): Added `mcode` field. + +2006-03-15 11:18 twisti + + * src/vm/jit/i386/codegen.c (GETFIELD, PUTFIELD, PUTFIELDCONST): Use + M_ILD32 and M_LLD32 macros. + (patcher): Save REG_ITMP3. Don't allocate a codegendata structure, + just do it as on Alpha. + * src/vm/jit/i386/codegen.h (var_to_reg_lng): Added. + (store_reg_to_var_lng): Likewise. + (M_ILD32, M_LLD, M_LLD32, M_IST32, M_IST32_IMM, M_LST, M_LST32) + (M_LST_IMM, M_LST32_IMM): Likewise. + + * src/vm/jit/i386/patcher.c: Changed position of return address due to + saving of REG_ITMP3. + * src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Changed due to + saving of REG_ITMP3. + +2006-03-15 10:34 edwin + + * src/vm/jit/replace.c (replace_create_replacement_points): Don't use + rd->locals in the interpreter -- it's NULL there. + +2006-03-15 05:13 edwin + + * src/vm/jit/codegen-common.c (codegen_finish): Removed a compiler + warning. + +2006-03-15 05:08 edwin + + * src/vm/jit/replace.h, src/vm/jit/i386/md.c + (md_patch_replacement_point): + Fixed return type. + + * src/vm/jit/replace.c (replace_activate_replacement_point): Only call + md_patch_replacement_point if ENABLE_JIT is defined. + +2006-03-15 04:57 edwin + + * src/vm/jit/replace.c (replace_activate_replacement_point): Do not + use + the symbol md_patch_replacement_point on platforms where it does not + exist, yet. + +2006-03-15 04:43 edwin + + * src/vm/jit/replace.h, src/vm/jit/replace.c + (replace_activate_replacement_point): Added. + (replace_activate): Added prototype. + (md_patch_replacement_point): Added prototype. + (replace_me): Added. + (replace_replacement_point_println): Added. + (replace_show_replacement_points): Cleaned up. + (replace_executionstate_println): Added. + + * src/vm/jit/i386/codegen.c (codegen): Generate replacement-out stubs. + + * src/vm/jit/codegen-common.c (codegen_finish): Resolve replacement + points. + + * src/vm/jit/asmpart.h, src/vm/jit/i386/asmpart.S + (asm_replacement_out): Added. + + * src/vm/method.h (executionstate): Typo fixed. + + * src/vm/jit/stack.c (src/vm/jit/stack.c): Minor output change. + + * src/vm/jit/tools/genoffsets.c (executionstate): Added size and + offset. + + * src/vm/jit/i386/md.c (md_patch_replacement_point): Added. + +2006-03-15 01:50 edwin + + * src/vm/jit/replace.h, src/vm/jit/replace.c + (replace_replacement_info_print): Renamed to + replace_show_replacement_points. + * src/vm/jit/stack.c: Likewise. + +2006-03-15 01:39 edwin + + * src/vm/jit/replace.c, src/vm/jit/replace.h + (replace_create_replacement_points): Added. + (replace_free_replacement_points): Added. + (replace_replacement_info_print): Added. + + * src/vm/jit/replace.h (rplpoint): Changed fields, made fixed length. + + * src/vm/jit/code.h (codeinfo): Changed replacement point fields. + + * src/vm/jit/jit.c (jit_compile_intern): Create replacement points. + + * src/vm/jit/jit.c (jit_compile_intern): Use already allocated + codeinfo + for do-nothing methods. + + * src/vm/jit/code.c (code_codeinfo_free): Free replacement points. + + * src/vm/jit/stack.c (show_icmd_method): Print replacement points. + +2006-03-15 00:06 edwin + + * src/vm/jit/stack.c, src/vm/jit/stack.h (icmd_print_stack): Renamed + to + stack_print. Documented. + (show_icmd_method, show_icmd_block, show_icmd): Documented. + (show_icmd_block): Print basicblock.bitflags. + + * src/vm/jit/stack.h (MARKREACHED): Mark targets of backward branches + as replacement points (BBFLAG_REPLACEMENT) + +2006-03-14 23:49 edwin + + * src/vm/jit/jit.h (basicblock): Added `bitflags` field. Note: The + flags + of this struct should really be cleaned up. + + * src/vm/jit/jit.h (BASICBLOCK_INIT): Added, so we have a central + place + where to put initialization of the fields. + + * src/vm/jit/parse.c (parse): Cleaned up basicblock allocation. + +2006-03-14 23:16 edwin + + * src/vm/jit/jit.h (basicblock): Comment. + +2006-03-14 23:00 edwin + + * src/vm/jit/parse.c (fillextable): Removed unused label_index. + (parse): Likewise. + + * src/vm/jit/replace.h: Comment moved. + +2006-03-14 22:30 edwin + + * src/native/jvmti/jvmti.c (GetMethodLocation): Use the new + m->code field to get to the location of the method. + +2006-03-14 22:16 edwin + + * src/vm/method.h (methodinfo): Moved `entrypoint` to `codeinfo`. + * src/vm/loader.c (load_method): Likewise. + + * src/vm/loader.c (load_newly_created_array): Use codeinfo.entrypoint. + * src/vm/builtin.c (builtin_trace_exception): Likewise. Note: + Currently + we always use the current codeinfo. This is preliminary. + + * src/vm/jit/powerpc/codegen.c (codegen): Use cd->code->entrypoint. + * src/vm/jit/alpha/codegen.c (createnativestub): Likewise. + * src/vm/jit/dseg.c (dseg_resolve_datareferences): Likewise. + * src/vm/jit/mips/codegen.c (codegen, createnativestub): Likewise. + * src/vm/jit/i386/codegen.c (createnativestub): Likewise. + * src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub) + (createcalljavafunction): Likewise. + * src/vm/jit/x86_64/codegen.c (createnativestub): Likewise. + + * src/vm/jit/intrp/codegen.c (nativecall): Use m->code->entrypoint. + + * src/vm/jit/codegen-common.h, src/vm/jit/codegen-common.c, + src/cacaoh/headers.c (codegen_createnativestub): Now returns + the created codeinfo instead of the entrypoint. + + * src/vm/jit/stacktrace.c (stacktrace_add_method): Find the codeinfo + that contains the current PC. Note: This is preliminary. We should + find the codeinfo * via the PV of the code containing the PC. + + * src/vm/jit/jit.c (jit_compile): Use m->code. Create a codeinfo + for native stubs and the do-nothing stub + + * src/vm/jit/codegen-common.c (codegen_finish): Set entrypoint + in codeinfo instead of in methodinfo. + +2006-03-14 20:59 edwin + + * src/vm/jit/code.c, src/vm/jit/replace.c, src/vm/jit/replace.h: + Added GPL header and boilerplate. + +2006-03-14 20:57 edwin + + * src/vm/jit/code.h: Added GPL header and boilerplate. + +2006-03-14 20:51 edwin + + * src/vm/jit/code.c, src/vm/jit/code.h: Files added. + + * src/vm/jit/replace.c, src/vm/jit/replace.h: Files added. + + * src/vm/jit/Makefile.am (code.[ch], replace.[ch]): Added. + + * src/vm/method.h (methodinfo): Added field `code`. Each method + may now have zero or more codeinfo:s associated with it. A + codeinfo represents the machine code of a particular version + of the compiled method. Note: Some fields in methodinfo that + may need to be moved to codeinfo where marked XXX. + + * src/vm/jit/codegen-common.h (codegendata): Added field `code`. + + * src/vm/jit/codegen-common.c (codegen_setup): Allocate + a new codeinfo. + (codegen_finish): Use `code` field of codegendata. + (codegen_createnativestub): Likewise. + + * src/vm/jit/stack.c (show_icmd_method, show_icmd_block): + Use `code` field of codegendata. + * src/vm/jit/dseg.c (dseg_display): Likewise. + * src/vm/jit/jit.c (jit_compile_intern): Likewise. Switch + current codeinfo after compilation is complete. + + * src/cacaoh/headers.c (code_free_code_of_method): Added stub. + + * src/vm/method.c (method_free): Free codeinfo:s of method. + + * src/vm/loader.c (load_method): Initialize m->code. + +2006-03-14 16:40 twisti + + * src/cacao/Makefile.am (ENABLE_STATICVM): Added cacao_LDFLAGS, + otherwise the sumbols are not exported. + + * src/native/include/Makefile.am (ENABLE_STATICVM): Renamed to + WITH_STATIC_CLASSPATH. + +2006-03-14 16:30 twisti + + * src/vm/jit/stacktrace.c (stacktrace_create): We have to check for an + OOM when allocating from the heap. Fixes a crash in Jonas. + +2006-03-14 15:00 edwin + + * doc/design_onstack_replacement.txt: More design options added. + +2006-03-13 21:26 edwin + + * design_onstack_replacement.txt: Added file. + +2006-03-13 11:35 twisti + + * src/vm/vm.c (vm_create): Only put .jar file into classpath. Fixes + startup bug with knopflerfish. + +2006-03-13 08:02 edwin + + * src/native/vm/VMClass.c (Java_java_lang_VMClass_getComponentType): + Link class before accessing c->vftbl->arraydesc. + +2006-03-13 07:06 edwin + + * src/native/vm/VMClass.c (Java_java_lang_VMClass_getSuperclass): We + must not + assume that the class is already linked, so we have to resolve the + super class + reference. This fixes a NPE bug with Jonas. + +2006-03-12 23:23 twisti + + * src/vm/suck.c (suck_start): We really should close class files after + reading it. + +2006-03-11 21:34 edwin + + * src/vm/resolve.c (resolve_class_from_typedesc): Safer check for + reference types. + +2006-03-11 20:41 edwin + + * src/vm/jit/codegen-common.c (codegen_finish): When setting the + entrypoint of a method, be sure not to overwrite an already set + entrypoint. + +2006-03-11 20:34 edwin + + * src/vm/references.h (IS_XCLASSREF): Commented. + +2006-03-11 20:32 edwin + + * src/vm/references.h (IS_XCLASSREF): Added. + (CLASSREF_OR_CLASSINFO_NAME): Added. + +2006-03-11 20:30 edwin + + * src/vm/class.c, src/vm/class.h (class_classref_print): Added. + (class_classref_println): Added. + +2006-03-11 16:06 edwin + + * src/vm/jit/jit.c (jit_compile_intern): Check if the method has been + compiled during static class initialization. + +2006-03-11 15:03 edwin + + * src/vm/method.c (vim boilerplate): Added. + +2006-03-11 15:01 edwin + + * src/vm/method.c (method_vftbl_lookup): Check ACC_INTERFACE on the + class, instead of on the method, where it is not set. Do not check + ACC_ABSTRACT here, because non-interface ACC_ABSTRACT methods are + looked up just like non-abstract non-interface methods. + +2006-03-10 22:22 twisti + + * src/native/vm/VMRuntime.c (vm/options.h): Added. + (nativeLoad): Print dlerror output when dlopen fails. + +2006-03-09 16:13 twisti + + * autogen.sh: Fixed typo. + +2006-03-09 13:51 twisti + + * src/vm/jit/powerpc/darwin/md-asm.h (asm_calljavafunction): Removed. + (asm_calljavafunction_int): Likewise. + (asm_calljavafunction2): Likewise. + (asm_calljavafunction2int): Likewise. + (asm_calljavafunction2long): Likewise. + (asm_calljavafunction2float): Likewise. + (asm_calljavafunction2double): Likewise. + (_exceptionptr): Likewise. + (asm_vm_call_method): Define added. + (asm_vm_call_method_int): Likewise. + (asm_vm_call_method_long): Likewise. + (asm_vm_call_method_float): Likewise. + (asm_vm_call_method_double): Likewise. + +2006-03-09 13:46 twisti + + * src/vm/jit/powerpc/patcher.c (patcher_get_putfield): Check for the + instruction order on long fields. + +2006-03-09 13:26 twisti + + * autogen.sh: Check for installed programs and exit if no proper one + was found. + * src/boehm-gc/autogen.sh: Use the programs found by top-level + autogen. + +2006-03-08 09:44 twisti + + * src/native/jni.c (PushLocalFrame): Implemented. + (PopLocalFrame): Likewise. + (DeleteLocalRef): Walk through all local frames. + (NewLocalRef): Allocate a new local frame if the current frame is out + of space. + (EnsureLocalCapacity): Implemented. + * src/vm/jit/codegen-common.c (codegen_finish_native_call): Release + all local reference frames. + +2006-03-07 20:44 twisti + + * src/native/vm/VMClassLoader.c (nativeGetResources): Check if + resource is a directory and don't add it. + +2006-03-07 19:32 twisti + + * src/vm/vm.c (usage): Small change. + + * src/native/vm/VMSystemProperties.c (preInit): Set java.ext.dirs to + $JAVA_HOME/jre/lib/ext. + +2006-03-07 18:18 twisti + + * src/cacaoh/headers.c (intrp_main_stack): Changed type. + +2006-03-07 17:21 twisti + + test + +2006-03-07 17:19 twisti + + test + +2006-03-07 10:48 twisti + + * src/native/jni.c (_Jv_jni_CallIntMethodA): New function. + (CallBooleanMethodA): Implemented. + +2006-03-07 10:36 twisti + + * src/vm/string.c (string_java_lang_StringIndexOutOfBoundsException): + Added. + * src/vm/stringlocal.h: Likewise. + + * src/vm/exceptions.c + (exceptions_new_stringindexoutofboundsexception): New function. + (exceptions_throw_stringindexoutofboundsexception): Likewise. + * src/vm/exceptions.h: Likewise. + + * src/native/jni.c (GetStringRegion): Implemented. + +2006-03-07 09:40 twisti + + * src/vm/vm.c (_Jv_jvm): Changed type to _Jv_JavaVM. + * src/vm/vm.h (_Jv_jvm): Added. + + * src/native/jni.c (ptr_jvm): Removed. + (ptr_env): Likewise. + (CallStaticObjectMethodA): Implemented. + (GetJavaVM): Return _Jv_jvm as vm. + (AttachCurrentThread): Return _Jv_env as env. + (GetEnv): Likewise. + (JNI_JavaVMTable): Renamed to _Jv_JNIInvokeInterface. + (JNI_JNIEnvTable): Renamed to _Jv_JNINativeInterface. + (JNI_CreateJavaVM): Allocate a _Jv_JavaVM structure and set it up + correctly, this fixes the usage in C++ programs. + * src/native/jni.h (_Jv_JavaVM): Added. + + * src/native/jvmti/jvmti.c: Renamed JNI_JavaVMTable to + _Jv_JNIInvokeInterface and JNI_JNIEnvTable to _Jv_JNINativeInterface. + +2006-03-06 18:45 christian + + * src/vm/jit/stack.c (analyse_stack): Bugfix for copy elimination. + +2006-03-06 13:03 twisti + + * src/vm/jit/powerpc/linux/Makefile.am (LIBS): Added defined empty, as + * this makes problems on darwin and actually we do not need to link + * the configured libraries into convenience libraries. + * src/vm/jit/powerpc/darwin/Makefile.am: Likewise. + * src/vm/jit/powerpc/Makefile.am: Likewise. + * src/vm/jit/alpha/linux/Makefile.am: Likewise. + * src/vm/jit/alpha/Makefile.am: Likewise. + * src/vm/jit/alpha/freebsd/Makefile.am: Likewise. + * src/vm/jit/tools/Makefile.am: Likewise. + * src/vm/jit/verify/Makefile.am: Likewise. + * src/vm/jit/mips/linux/Makefile.am: Likewise. + * src/vm/jit/mips/Makefile.am: Likewise. + * src/vm/jit/mips/irix/Makefile.am: Likewise. + * src/vm/jit/loop/Makefile.am: Likewise. + * src/vm/jit/inline/Makefile.am: Likewise. + * src/vm/jit/allocator/Makefile.am: Likewise. + * src/vm/jit/i386/linux/Makefile.am: Likewise. + * src/vm/jit/i386/Makefile.am: Likewise. + * src/vm/jit/i386/freebsd/Makefile.am: Likewise. + * src/vm/jit/schedule/Makefile.am: Likewise. + * src/vm/jit/intrp/Makefile.am: Likewise. + * src/vm/jit/x86_64/Makefile.am: Likewise. + * src/vm/jit/profile/Makefile.am: Likewise. + * src/vm/jit/Makefile.am: Likewise. + * src/vm/Makefile.am: Likewise. + * src/native/tools/Makefile.am: Likewise. + * src/native/vm/Makefile.am: Likewise. + * src/native/Makefile.am: Likewise. + * src/toolbox/Makefile.am: Likewise. + * src/mm/Makefile.am: Likewise. + * src/threads/native/Makefile.am: Likewise. + * src/fdlibm/Makefile.am: Likewise. + + * src/cacaoh/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS. + +2006-03-06 00:30 twisti + + * src/vm/jit/powerpc/asmpart.S (asm_calljavafunction): Removed. + (asm_calljavafunction2): Renamed to asm_vm_call_method. + +2006-03-05 23:53 twisti + + * src/vm/jit/alpha/asmpart.S (asm_calljavafunction): Removed. + (asm_calljavafunction2): Renamed to asm_vm_call_method. + +2006-03-05 23:35 twisti + + * src/vm/jit/codegen-common.c (codegen_init): Removed + asm_calljavafunction. + * src/vm/jit/i386/asmpart.S (asm_calljavafunction): Removed. + (asm_calljavafunction2): Renamed to asm_vm_call_method. + +2006-03-05 23:24 twisti + + * src/vm/vm.c (vm_call_method_intern): Removed. + (vm_vmargs_from_valist): Added. + (vm_vmargs_from_jvalue): Likewise. + (vm_call_method): New function. + (vm_call_method_valist): Likewise. + (vm_call_method_jvalue): Likewise. + (vm_call_method_vmarg): Likewise. + (vm_call_method_int): Likewise. + (vm_call_method_int_valist): Likewise. + (vm_call_method_int_jvalue): Likewise. + (vm_call_method_int_vmarg): Likewise. + (vm_call_method_long): Likewise. + (vm_call_method_long_valist): Likewise. + (vm_call_method_long_jvalue): Likewise. + (vm_call_method_long_vmarg): Likewise. + (vm_call_method_float): Likewise. + (vm_call_method_float_valist): Likewise. + (vm_call_method_float_jvalue): Likewise. + (vm_call_method_float_vmarg): Likewise. + (vm_call_method_double): Likewise. + (vm_call_method_double_valist): Likewise. + (vm_call_method_double_jvalue): Likewise. + (vm_call_method_double_vmarg): Likewise. + * src/vm/vm.h: Likewise. + + * src/native/jni.c (_Jv_jni_fill_vmargs_from_vargs): Removed. + (_Jv_jni_vmargs_from_args): Likewise. + (_Jv_jni_CallObjectMethodA): New function. + (_Jv_jni_CallObjectMethod): Use vm_call_method. + (_Jv_jni_CallIntMethod): Likewise. + (_Jv_jni_CallLongMethod): Likewise. + (_Jv_jni_CallFloatMethod): Likewise. + (_Jv_jni_CallDoubleMethod): Likewise. + (_Jv_jni_CallVoidMethod): Likewise. + (_Jv_jni_CallVoidMethodA): Likewise. + (_Jv_jni_invokeNative): Likewise. + (CallObjectMethodA): Implemented. + + * src/vm/loader.c (load_class_from_sysloader): Replaced + vm_call_method_intern by vm_call_method. + (load_class_from_classloader): Likewise. + * src/vm/finalizer.c (finalizer_run): Likewise. + * src/vm/initialize.c (initialize_class_intern): Likewise. + * src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace): + Likewise. + * src/vm/exceptions.c (throw_exception_exit_intern): Likewise. + (new_arrayindexoutofboundsexception): Likewise. + * src/vm/properties.c (properties_system_add): Likewise. + * src/cacao/cacao.c (setup_debugger_process): Likewise. + (getmainclassnamefromjar): Likewise. + (main): Likewise. + * src/native/vm/VMClassLoader.c (nativeGetResources): Likewise. + * src/native/native.c (native_new_and_init): Likewise. + (native_new_and_init_string): Likewise. + (native_new_and_init_int): Likewise. + (native_new_and_init_throwable): Likewise. + * src/threads/native/threads.c (threads_init): Likewise. + (threads_startup_thread): Likewise. + * src/cacaoh/headers.c: Likewise. + + * src/vm/jit/x86_64/asmpart.S (asm_calljavafunction): Removed. + (asm_calljavafunction2): Renamed to asm_vm_call_method. + * src/vm/jit/intrp/asmpart.c: Likewise. + * src/vm/jit/asmpart.h: Likewise. + +2006-03-05 23:05 twisti + + * tests/regression/native/testarguments.c (nlsub): Use %llx on all + architectures. + (ndsub): Likewise. + +2006-03-05 21:54 christian + + * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers): + Bugfix and reformatting. + +2006-03-05 15:51 twisti + + * src/vm/jit/i386/asmpart.S (asm_calljavafunction2): Pointer to vm_arg + block is now in a2. Use new defines. + +2006-03-04 18:35 twisti + + * src/vm/jit/alpha/asmpart.S (asm_calljavafunction2): Pointer to + vm_arg block is now in a2. Use new defines. + +2006-03-04 18:01 twisti + + * src/vm/jit/powerpc/asmpart.S (asm_calljavafunction2): Pointer to + vm_arg block is now in a2. Use new defines. + +2006-03-04 17:19 twisti + + * src/vm/jit/asmpart.h (ASM_CALLJAVAFUNCTION): Removed. + (ASM_CALLJAVAFUNCTION_ADR): Likewise. + (ASM_CALLJAVAFUNCTION_INT): Likewise. + (ASM_CALLJAVAFUNCTION2): Likewise. + (ASM_CALLJAVAFUNCTION2_ADR): Likewise. + (ASM_CALLJAVAFUNCTION2_INT): Likewise. + (ASM_CALLJAVAFUNCTION2_LONG): Likewise. + (ASM_CALLJAVAFUNCTION2_FLOAT): Likewise. + (ASM_CALLJAVAFUNCTION2_DOUBLE): Likewise. + (asm_calljavafunction2int): Changed signature. + (asm_calljavafunction2long): Likewise. + (asm_calljavafunction2float): Likewise. + (asm_calljavafunction2double): Likewise. + +2006-03-04 17:15 twisti + + * src/vm/global.h (jni_callblock): Removed. + + * src/vm/vm.c (vm/vm.h): Added. + (vm_call_method_intern): New function. + (vm_call_method_intern_int): Likewise. + (vm_call_method): Likewise. + (vm_call_method_int): Likewise. + (vm_call_method_long): Likewise. + (vm_call_method_float): Likewise. + (vm_call_method_double): Likewise. + * src/vm/vm.h (vm_arg): Structure added. + (vm_call_method_intern): New function. + (vm_call_method_intern_int): Likewise. + (vm_call_method): Likewise. + (vm_call_method_int): Likewise. + (vm_call_method_long): Likewise. + (vm_call_method_float): Likewise. + (vm_call_method_double): Likewise. + + * src/vm/jit/tools/genoffsets.c (vm/vm.h): Added. + (sizejniblock): Renamed to sizevmarg. + (offjniitemtype): Renamed to offvmargtype. + (offjniitem): Renamed to offvmargdata. + * src/vm/jit/x86_64/asmpart.S (asm_calljavafunction2): Pointer to + vm_arg block is now in a2. Use new defines. + + * src/vm/jit/stacktrace.c (vm/vm.h): Added. + (ASM_CALLJAVAFUNCTION): Replaced with vm_call_method_intern. + * src/vm/exceptions.c: Likewise. + * src/vm/properties.c: Likewise. + * src/vm/loader.c: Likewise. + * src/vm/finalizer.c: Likewise. + * src/vm/initialize.c: Likewise. + * src/cacao/cacao.c: Likewise. + * src/native/vm/VMClassLoader.c: Likewise. + * src/threads/native/threads.c: Likewise. + + * src/cacaoh/headers.c (asm_calljavafunction): Removed. + (intrp_asm_calljavafunction): Likewise. + (vm_call_method_intern): New function. + + * src/native/jni.c (fill_callblock_from_vargs): Renamed to + _Jv_jni_vmargs_from_vargs. + (fill_callblock_from_objectarray): Renamed to + _Jv_jni_vmargs_from_objectarray. + (_Jv_jni_vmargs_from_objectarray): New function. + (_Jv_jni_CallVoidMethodA): Likewise. + (ASM_CALLJAVAFUNCTION2): Replaced with appropriate vm_call_method + function. + (NewObjectA): Implemented. + (CallVoidMethodA): Likewise. + (CallNonvirtualVoidMethodA): Likewise. + (CallStaticVoidMethodA): Likewise. + +2006-03-03 00:00 twisti + + * src/vm/linker.c (link_class_intern): Handle miranda methods + properly. + * src/vm/global.h (ACC_MIRANDA): Defined. + * src/native/vm/VMClass.c (getDeclaredMethods): Don't return miranda + methods. + +2006-03-01 17:00 twisti + + * src/vm/options.c: Renamed runverbose to opt_verbosecall. + * src/vm/options.h: Likewise. + * src/vm/jit/alpha/codegen.c: Likewise. + * src/vm/jit/i386/codegen.c: Likewise. + * src/vm/jit/intrp/codegen.c: Likewise. + * src/vm/jit/mips/codegen.c: Likewise. + * src/vm/jit/powerpc/codegen.c: Likewise. + * src/vm/jit/x86_64/codegen.c: Likewise. + * src/vm/jit/intrp/asmpart.c: Likewise. + * src/vm/jit/intrp/dynamic-super.c: Likewise. + * src/vm/jit/intrp/java.vmg: Likewise. + + * src/vm/builtin.c (builtin_trace_exception): Renamed runverbose to + opt_verbosecall. Removed stacktrace printing code. + * src/vm/exceptions.c (exceptions_handle_exception): Renamed + runverbose to opt_verbosecall. Print exception stacktrace when caught. + + * src/vm/vm.c: Support Sun's commandline options and ignore them if + not supported. Reordered options. + + * src/native/vm/VMObject.c (notify): Removed debug output. + (notifyAll): Likewise. + (wait): Likewise. + * src/native/vm/VMThread.c (suspend): Likewise. + (resume): Likewise. + (nativeSetPriority): Likewise. + (nativeStop): Likewise. + (yield): Likewise. + + * src/native/vm/VMThrowable.c (fillInStackTrace): Renamed par1 to t. + +2006-02-23 14:08 twisti + + * src/vm/jit/intrp/dynamic-super.c (disassemble_prim): New function. + (dynamic_super_init): Added disassembling of IADD, ILOAD and + GETFIELD_INT. + +2006-02-22 14:03 twisti + + * src/vm/jit/i386/codegen.c (createnativestub): Renamed _exceptionptr + to _no_threads_exceptionptr. + +2006-02-22 13:34 twisti + + * src/vm/jit/i386/codegen.c (mm/memory.h): Added. + +2006-02-21 16:17 twisti + + * configure.ac (VERSION_CONFIGURE_ARGS, VERSION_CC, VERSION_CFLAGS): + Added define. + * src/vm/vm.c (version): Print configure options, compiler version and + CFLAGS. + +2006-02-21 16:06 twisti + + * src/vm/jit/intrp/java.vmg (MULTIANEWARRAY): Use malloc instead of a + dynamic-sized array (-fomit-frame-pointer). + +2006-02-21 13:43 twisti + + * src/vm/jit/intrp/codegen.c (cacao/cacao.h): Removed. + (vm/vm.h): Added. + (createnativestub): Replaced ENABLE_STATICVM with + WITH_STATIC_CLASSPATH and &env by _Jv_env. + + * src/vm/jit/intrp/patcher.c: Replaced ENABLE_STATICVM by + WITH_STATIC_CLASSPATH. + * src/vm/jit/intrp/java.vmg: Likewise. + + * src/vm/vm.c (mm/memory.h): Added. + (vm_create): Allocate the main thread interpreter stack on the Java + heap. + +2006-02-21 13:40 twisti + + * src/vm/jit/jit.c (jit_compile_intern): Replaced ENABLE_STATICVM by + WITH_STATIC_CLASSPATH. + +2006-02-21 13:39 twisti + + * src/cacao/cacao.c (main): Added main utf variable for better + debugability. + +2006-02-21 13:37 twisti + + * src/native/native.c: Small changes. + +2006-02-21 13:35 twisti + + * src/vm/loader.c (load_class_from_classloader): Added name + java.lang.String variable for better debugability. + +2006-02-21 12:41 twisti + + * src/vm/jit/powerpc/asmpart.S: Rewritten for PIC code. + +2006-02-21 10:47 twisti + + * src/vm/jit/alpha/asmpart.S: Rewritten for PIC code. + +2006-02-21 10:39 twisti + + * src/vm/jit/x86_64/codegen.c (cacao/cacao.h): Removed. + (vm/vm.h): Added. + (createnativestub): Replaced ENABLE_STATICVM with + WITH_STATIC_CLASSPATH and &env by _Jv_env. + +2006-02-21 10:25 twisti + + * src/vm/jit/i386/.cvsignore, src/vm/jit/i386/linux/.cvsignore: Added + TAGS. + +2006-02-21 09:34 twisti + + * src/vm/jit/i386/asmpart.S: Rewritten for PIC code. + +2006-02-21 09:31 twisti + + * src/threads/native/threads.c (vm/vm.h): Added. + (threads_startup_thread): Compiler warning fix. + +2006-02-21 09:25 twisti + + * src/vm/jit/stacktrace.c (stacktrace_getCurrentClassLoader): Renamed + to stacktrace_getCurrentClass and it returns the first Java method's + class on the stack. + * src/vm/jit/stacktrace.h (stacktrace_getCurrentClassLoader): + Likewise. + +2006-02-21 09:18 twisti + + * src/vm/jit/intrp/engine.c (cacao/cacao.h): Removed. + +2006-02-21 09:14 twisti + + * configure.ac (AC_CONFIG_FILES): Remvoed ifconv, not yet. + +2006-02-21 09:11 twisti + + * configure.ac: Default to AC_ENABLE_SHARED and AC_DISABLE_STATIC. + (ifconv): Added. + (jni.h): Check for jni.h in GNU Classpath. + (static-classpath): Added. + + * src/vm/vm.c, src/vm/vm.h: New files, contain the JVM startup code. + * src/vm/Makefile.am (libvm_la_SOURCES): Added vm.[ch]. + + * src/cacao/cacao.c: Removed JVM startup code. + * src/cacao/cacao.h: Removed. + * src/cacao/Makefile.am: Replaced ENABLE_STATICVM by + WITH_STATIC_CLASSPATH. + (ENABLE_STATICVM): Build a shared library when not defined. + + * src/vm/options.c, src/vm/options.h (mm/memory.h, native/jni.h): + Added. + (native/jni.h): Added. + (opt_ind): Renamed to opt_index. + (opt_jar, opt_run, opt_method, opt_signature, opt_ifconv): Added. + (get_opt): Renamed to options_get. + (options_prepare): New method. + + * src/cacaoh/cacaoh.c (main): Use new option handling. + + * src/vm/jit/alpha/codegen.c, src/vm/jit/arm/codegen.c, + src/vm/jit/i386/codegen.c, src/vm/jit/mips/codegen.c, + src/vm/jit/powerpc/codegen.c (cacao/cacao.h): Removed. + (vm/vm.h): Added. + (createnativestub): Replaced ENABLE_STATICVM with + WITH_STATIC_CLASSPATH and &env by _Jv_env. + + * src/vm/jit/patcher.h, src/vm/jit/alpha/patcher.c, + src/vm/jit/arm/patcher.c, src/vm/jit/i386/patcher.c, + src/vm/jit/mips/patcher.c, src/vm/jit/powerpc/patcher.c, + src/vm/jit/x86_64/patcher.c: Replaced ENABLE_STATICVM by + WITH_STATIC_CLASSPATH. + + * src/vm/jit/x86_64/asmpart.S: Rewritten for PIC code. + + * src/vm/signal.c (cacao/cacao.h): Removed. + (vm/vm.h): Added. + (signal_handler_sigint): Use vm_* functions. + + * src/native/native.c: Replaced ENABLE_STATICVM by + WITH_STATIC_CLASSPATH. + (cacao/cacao.h): Removed. + (native_resolve_function): Smaller changes. + + * src/native/vm/VMRuntime.c: Replaced ENABLE_STATICVM by + WITH_STATIC_CLASSPATH. + (cacao/cacao.h): Removed. + (vm/vm.h): Added. + (execInternal): Removed. + (exit): Use vm_shutdown. + + * src/native/native.h: Replaced ENABLE_STATICVM by + WITH_STATIC_CLASSPATH. + * src/native/Makefile.am: Likewise. + * src/native/vm/VMSystemProperties.c: Likewise. + + * src/threads/native/threads.c (cacao/cacao.h): Removed. + + * src/native/jni.h: Removed our JNI stuff and include GNU Classpath's. + * src/native/jni.c: Adapt to the new jni.h header. + (ReleaseArrayElements): Copy correct element type. + (GetArrayRegion): Likewise. + (SetArrayRegion): Likewise. + +2006-02-20 23:35 twisti + + * src/vm/global.h: Sorted java_array definitions. + +2006-02-20 23:31 twisti + + * src/vm/linker.c (link_class_intern): Comment reformatted. + +2006-02-20 15:19 twisti + + * src/vm/jit/intrp/engine.c (USE_spTOS): Disable per default. + +2006-02-20 14:08 twisti + + * src/vm/classcache.c (classcache_new_name): Keep c89 compilers happy. + +2006-02-19 22:27 christian + + * src/vm/jit/jit.h: added define STKEEP + + * src/vm/jit/simplereg.c (reg_free_tmp_func): SAVEDTMP and TMPARG + flags are not cleared anymore from Stackslots. + (reg_alloc_dup): TEMPVARs are not reused as SAVEDVARs anymore. This + has to be checked for conflicts. + (reg_mark_copy): Added. TEMPVAR Destination Stackslots are marked here + with STCOPY, if they use a duplicated register/memory location. Not + reused register/memory locations of TEMPVAR source Stacklots are freed + again. + (allocate_scratch_registers): ICMD_DUPx and ICMD_SWAP use now the new + reg_mark_copy. + +2006-02-16 19:39 christian + + * src/vm/jit/stack.h (COPY): Prevent setting varkind to STACKVAR for + stackslots copied by DUPx and SWAP. + (DUP) Likewise. + * src/vm/jit/stack.c (analyse_stack): Copy elimination and needed + conflict resolution was implemented as + described in the CACAO paper. As "potential exception throwing + instruction" for now only INVOKE*s are + regarded. Conflict resolution over DUPx and SWAP should be refined to + be less conservative. + * src/vm/jit/jit.c (jit_init): Stackreq for JAVA_IINC is set to 0 + again, since no dummy stackslot is + needed anymore for conflict resolution with XSTORE. + * src/vm/jit/allocator/simplereg.c (interface_regalloc): Reuse unused + float and int argument registers + for interfaces, too. + (reg_free_temp): Regard the new stackslot flag STCOPY, before freeing + a register/memory location. + (reg_alloc_dup): New function to allocate, if possible, the same + register/memory location for stackslot + copied by DUPx and SWAP. + (allocate_scratch_registers): The new function reg_alloc_dup is used + now for allocation at ICMD_DUPx and + ICMD_SWAP, if possible. + * src/vm/jit/jit.h: Added STCOPY as stackslot flag to mark + simultanously live stackslots with same + register after DUPx and SWAP. + * doc/stack.txt: Updated invariants to show the change with IINC (no + dummy stacklot anymore). + +2006-02-14 20:27 edwin + + * src/native/jni.c (_Jv_jni_invokeNative): Cleanup. + + * src/native/jni.c (Changes): Added my name. + + * src/native/jni.c (vim boilerplate): Added. + +2006-02-14 20:10 edwin + + * src/native/jni.c (_Jv_jni_invokeNative): Look up _all_ instance + methods + in the vftbl. + +2006-02-14 20:09 edwin + + * src/vm/linker.c (link_class_intern): Do not override + package-private methods + from other packages. + + * src/vm/linker.c (vim boilerplate): Added. + +2006-02-14 15:53 edwin + + * src/vm/classcache.c, src/vm/classcache.h: Merge cache entries when + they are resolved to the same class. + +2006-02-14 15:34 edwin + + * src/vm/utf8.c, src/vm/utf8.h (utf_full_hashkey): Added. + +2006-02-14 11:01 twisti + + * configure.ac (AC_INIT): Changed version number to 0.95+cvs. + (CFLAGS): Changed optimization back to -O0. + +2006-02-14 10:30 twisti + + * ChangeLog: Updated for release 0.95. + +2006-02-14 10:14 twisti + + * configure.ac: Updated version to 0.95, set optimization level to + -O2, some indent changes. + * ChangeLog-2005: Removed 2006 entries. + +2006-02-14 01:10 twisti + + * src/vm/jit/profile/profile.c (profile_thread): Fixed compiler + warning. + +2006-02-14 01:05 twisti + + * src/vm/jit/intrp/codegen.c (createcompilerstub): Store the + methodinfo pointer in the same place as in the methodheader for + compiled methods. + +2006-02-14 00:41 twisti + + * src/vm/jit/x86_64/codegen.c (createcompilerstub): Store the + methodinfo pointer in the same place as in the methodheader for + compiled methods. + +2006-02-14 00:33 twisti + + * contrib/svn2cl.xsl: New file. + * THIRDPARTY (contrib/svn2cl.xsl): Added copyright message. + +2006-02-14 00:05 twisti + + * NEWS: Updated 0.95 release notes. + +2006-02-14 00:03 twisti + + * src/vm/loader.c (load_field): Removed f->xta. + + * src/vm/class.h (vm/method.h): Added. + (vm/jit/inline/sets.h): Removed. + + * src/vm/method.h (vm/jit/inline/parseXTA.h): Removed. + + * src/vm/field.h (vm/jit/inline/parseXTA.h): Likewise. + (fieldinfo): Removed member xta. + + * src/lib/Makefile.am (EXTRA_DIST): Fixed typo. + +2006-02-14 00:01 twisti + + * src/vm/jit/inline/sets.c, src/vm/jit/inline/parseRTstats.c, + src/vm/jit/inline/parseRT.c, src/vm/jit/inline/parseRTflags.h, + src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/sets.h, + src/vm/jit/inline/parseRTstats.h, src/vm/jit/inline/parseRT.h, + src/vm/jit/inline/parseXTA.c, src/vm/jit/inline/parseXTA.h: Removed. + +2006-02-13 23:45 twisti + + * src/vm/class.c (class_findmethod_approx): Removed. + * src/vm/class.h (class_findmethod_approx): Likewise. + (class_resolvemethod_approx): Likewise. + +2006-02-13 23:16 edwin + + * NEWS: Added JNI method resolution fix. + +2006-02-13 18:55 twisti + + * src/vm/method.c (assert.h): Added. + (vm/linker.h): Likewise. + (vm/jit/methodheader.h): Likewise. + (method_vftbl_lookup): New method. + + * src/vm/method.h (vm/linker.h): Added. + (method_vftbl_lookup): New method. + + Fixes bug #17 and #18. + * src/native/jni.c: Complete rewrite of Call*Method code. + +2006-02-13 10:53 twisti + + * src/vm/utf8.c (utf_display): Some reformatting. + (utf_display_classname): Likewise. + +2006-02-13 00:12 twisti + + * src/vm/jit/mips/codegen.c (createcompilerstub): Store the methodinfo + pointer in the same place as in the methodheader for compiled methods. + +2006-02-12 23:43 twisti + + * src/vm/jit/alpha/md.c (md_assembler_get_patch_address): New method. + (md_codegen_findmethod): Use assert's directly. + + * src/vm/jit/mips/md.c (md_assembler_get_patch_address): Likewise. + (md_codegen_findmethod): Likewise. + + * src/vm/jit/alpha/codegen.c (createcompilerstub): Store the + methodinfo pointer in the same place as in the methodheader for + compiled methods and pass the pointer in REG_ITMP1. + + * src/vm/jit/alpha/md-asm.h (mptr): Defined. + + * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo + pointer is passed via itmp1. Use md_assembler_get_patch_address to + get the patch address. + (asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer + via itmp1. + +2006-02-12 23:22 twisti + + * src/vm/jit/powerpc/codegen.c (createcompilerstub): Store the + methodinfo pointer in the same place as in the methodheader for + compiled methods. + + * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo + pointer is passed via itmp1. + (asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer + via itmp1. + +2006-02-12 22:08 edwin + + * src/threads/native/threads.c (threads_dump): Removed unused + variable 'ee'. + +2006-02-12 21:57 edwin + + * src/native/vm/VMClass.c (Java_java_lang_VMClass_getDeclaredMethods): + Cast to java_lang_Class in order to avoid compiler warning. + + * src/native/vm/VMClass.c (Changes): Added my name. + + * src/native/vm/VMClass.c (vim biolerplate): Added. + +2006-02-12 21:47 edwin + + * src/threads/native/threads.c (allocLockRecordSimple): Fixed + declaration + after code error. + +2006-02-12 16:28 twisti + + * src/vm/jit/i386/codegen.c (createcompilerstub): Store the + methodinfo* in the same place as in the methodheader for compiled + methods. + +2006-02-12 16:24 edwin + + * NEWS: Added directory check bugfix. + +2006-02-12 16:10 edwin + + * NEWS: Added two bugfixes. + +2006-02-12 16:02 edwin + + * src/vm/loader.c, src/vm/loader.h (vim boilerplate): Added. + +2006-02-12 13:11 twisti + + * src/vm/zip.c (zip_open): Don't add directories to the zipfile + hashtable. We use the trailing `/' to identify a directory (i hope + that's correct). + +2006-02-12 12:59 christian + + * src/vm/jit/x86_64/md-abi.c (md_param_alloc): Regard use of A0 for + returning float values. + +2006-02-12 02:18 edwin + + * src/native/vm/VMClassLoader.c (vim boilerplate): Added. + +2006-02-12 02:17 edwin + + * src/vm/classcache.c (classcache_store): Made classcache_store + idempotent. + + * src/native/vm/VMClassLoader.c + (Java_java_lang_VMClassLoader_defineClass): + Store defined class with classcache_store instead of just with + classcache_store_defined, so it an initiating loader is recorded for + the + class. This should solve problems with classes that are defined + outside + of a loadClass context (e.g. by java.lang.reflect.Proxy). + +2006-02-12 00:30 twisti + + * src/native/vm/VMClass.c (getDeclaredMethods): Set the method's class + in java.lang.reflect.Method. + + * src/native/vm/Method.c (toolbox/logging.h, vm/jit/stacktrace.h): + Removed. + + * src/native/vm/VMSystem.c (identityHashCode): Use casts. + +2006-02-12 00:25 twisti + + * src/vm/exceptions.c, src/vm/exceptions.h + (exceptions_throw_nosuchmethoderror): New method. + +2006-02-11 21:25 christian + + * src/vm/jit/stack.h (COPY) All copied stackslots set to TEMPVAR. + This prevents conflicts with LOCALVAR + and + (DUP) Likewise. + STACKVARS. + +2006-02-07 23:18 edwin + + * src/vm/jit/stack.h (TYPE_VERIFYERROR): Converted most of body to a + function. + + * src/vm/exceptions.c, src/vm/exceptions.h + (exceptions_throw_verifyerror_for_stack): Added. + + * src/vm/exceptions.c, src/vm/exceptions.h (vim boilerplate): Added. + +2006-02-07 21:27 edwin + + * src/vm/jit/stack.h (vim boilerplate): Fixed. + +2006-02-07 21:15 twisti + + * NEWS: Added some stuff. + +2006-02-07 17:28 edwin + + * src/vm/jit/intrp/codegen.c (createcalljavafunction): + Removed t_inlining_globals. + +2006-02-07 17:22 edwin + + * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h + (codegen_setup): + Removed t_inlining_globals argument. + + * src/vm/jit/codegen-common.c (codegen_finish): Prepared for inlined + line + number tables. References with line number <-3 will not be relocated. + + * src/vm/jit/codegen-common.c (codegen_createnativestub): + Removed t_inlining_globals and inlining_setup. + + * src/vm/jit/codegen-common.h (Changes): Added my name to 'Changes'. + + * src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h: Ripped out + old + inliner. + + * src/vm/jit/jit.c: Removed inlining headers. + + * src/vm/jit/jit.c (INLINE_GOTO): Added instruction name to table. + + * src/vm/jit/jit.c (jit_compile_intern): Removed t_inlining_globals + argument. + + * src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h, + src/vm/jit/inline/inline.c, src/vm/jit/inline/inline.h (vim + boilerplate): + Added. + +2006-02-07 16:52 edwin + + * src/vm/jit/i386/codegen.c (codegen): Prepared for inlining. The + icmds + ICMD_INLINE_START, ICMD_INLINE_END, ICMD_INLINE_GOTO were + implemented, and + at the start of exception handlers the indepth is no longer assumed + to be 1. + +2006-02-07 16:47 edwin + + * src/vm/jit/jit.h (Changes): Fixed tabs. + +2006-02-06 21:06 twisti + + * src/threads/native/threads.c, src/threads/native/threads.h + (sleepThread): Renamed to thread_sleep. + +2006-02-06 21:01 twisti + + * src/cacao/cacao.c (vm/jit/profile.h): Changed to + vm/jit/profile/profile.h. + (main): profile_init and profile_start_thread calls added. + +2006-02-06 18:50 twisti + + * configure.ac (AC_CONFIG_FILES): Added src/vm/jit/profile/Makefile. + +2006-02-06 18:49 twisti + + * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added profile. + (PROFILE_LIB): Added. + (PROFILE_SOURCES): Removed. + +2006-02-06 18:48 twisti + + * src/vm/jit/profile/profile.c (profile_init): New method. + (profile_thread): Likewise. + (profile_start_thread): Likewise. + * src/vm/jit/profile/profile.h (profile_init): Added. + (profile_start_thread): Likewise. + * src/vm/jit/profile/Makefile.am: New file. + * src/vm/jit/profile/.cvsignore: Likewise. + +2006-02-06 18:34 twisti + + * src/vm/jit/profile.h: Moved to src/vm/jit/profile/. + +2006-02-06 18:33 twisti + + * src/vm/jit/profile.c: Moved to src/vm/jit/profile/. + * src/vm/jit/profile: Added. + +2006-02-06 18:32 twisti + + * src/vm/jit/profile: Ooops. + +2006-02-06 18:31 twisti + + * src/vm/jit/profile.c: Moved to src/vm/jit/profile/. + +2006-02-06 18:14 twisti + + * src/vm/jit/allocator/Makefile.am: Use tabs instead of space. + (INCLUDE): Renamed to AM_CPPFLAGS. + +2006-02-06 08:22 edwin + + * doc/Makefile.am (EXTRA_DIST): Added inlining_stacktrace.txt and + native_threads.txt. + +2006-02-06 06:49 edwin + + * src/threads/native/threads.c: Minor cleanup. + +2006-02-06 06:46 edwin + + * src/threads/native/threads.c: Uncuddled `else`s and other cleanup. + +2006-02-06 06:16 edwin + + * doc/inlining_stacktrace.txt: Clarified, added entry after the + inlined body + for the rest of the line after the call. + +2006-02-06 05:00 edwin + + * src/vm/jit/i386/machine-instr.h (compare_and_swap): Commented. + +2006-02-06 04:50 edwin + + * doc/native_threads.txt: Added. + +2006-02-06 04:46 edwin + + * src/threads/native/threads.c (allocLockRecordPool): Relink the free + list + of lock records when reusing a pool from the global_pool. This avoids + cross-linking of lock record owned by different threads, and hopefully + fixes our long-standing deadlock problem. + + * src/threads/native/threads.c (allocLockRecordSimple, + recycleLockRecord) + (initObjectLock): Temporarily added assertions to shake out possible + further bugs in the free list handling. + + * src/threads/native/threads.c (monitorEnter, monitorExit): Commented. + + * src/threads/native/threads.c (Changes): Added my name to 'Changes'. + + * src/threads/native/threads.c (vim boilerplate): Added. + +2006-02-06 01:28 edwin + + * src/vm/jit/stacktrace.c (stacktrace_add_method_intern): Added. + (stacktrace_add_method): Documented. Now uses + stacktrace_add_method_intern. + (stacktrace_getCurrentClassLoader): Documented. + (stacktrace_dump_trace): Removed unused variable. + (Changes): Added my name to 'Changes'. + +2006-02-06 01:08 edwin + + * src/vm/jit/verify/typecheck.c (verify_basic_block): Teach the + verifier + about the new inline instructions ICMD_INLINE_START, ICMD_INLINE_END, + and ICMD_INLINE_GOTO. + +2006-02-06 01:02 edwin + + * src/vm/jit/stack.c (analyse_stack): Set bptr->stack for each visited + block. + (show_icmd): Implemented printing of new inline instructions. + +2006-02-06 00:02 edwin + + * src/vm/jit/allocator/simplereg.c (ICMD_INLINE_GOTO): Added. + (Changes): Added my name to 'Changes'. + (vim boilerplate): Added. + +2006-02-05 23:34 edwin + + * src/vm/jit/allocator/lsra.c, src/vm/jit/allocator/lsra.h (lsra, + lsra_init): + Removed t_inlining_globals argument. + (Changes): Added my name to 'Changes'. + (vim boilerplate): Added. + + * src/vm/jit/jit.c (lsra): Removed t_inlining_globals argument. + +2006-02-05 23:24 edwin + + * src/vm/jit/jit.c (reg_setup): Removed t_inlining_globals argument. + + * src/vm/jit/codegen-common.c (reg_setup): Removed t_inlining_globals + argument. + + * src/vm/jit/reg.c, src/vm/jit/reg.h (reg_setup): Removed + t_inlining_globals + argument. + (Changes): Added my name to 'Changes'. + (vim boilerplate): Added. + +2006-02-05 23:09 edwin + + * src/vm/jit/jit.h (Changes): Added my name to 'Changes'. + +2006-02-05 23:07 edwin + + * src/vm/jit/jit.h (ICMD_INLINE_GOTO): Added. Not used, yet. + + * src/vm/jit/jit.h (basicblock): Added 'stack' field. Not used, yet. + + * src/vm/jit/jit.h, src/vm/jit/jit.c (vim boilerplate): Added. + +2006-02-05 23:02 edwin + + * src/vm/jit/parse.c (parseRT.h, parseXTA.h, inline.h, + parseRTprint.h): + No longer included. + (parse): Removed t_inlining_globals * from arguments. + + * src/vm/jit/jit.c (parse): Removed t_inlining_globals * from + arguments. + +2006-02-05 22:47 edwin + + * src/vm/jit/parse.c, src/vm/jit/parse.h (inline_env): Removed most + occurences. + (bound_check1): Renamed to bound_check_exclusive. + +2006-02-05 22:22 edwin + + * src/vm/jit/parse.c (useinlining): Removed. + +2006-02-05 17:36 edwin + + * doc/inlining_stacktrace.txt: Added warning about signedness. + Fixed copy&paste errors. + +2006-02-05 15:26 edwin + + * doc/inlining_stacktrace.txt: Added. + + * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Added. + (dseg_addlinenumber_inline_end): Added. + (dseg_addlinenumber): Commented. + (vim boilerplate): Added. + + * src/vm/jit/dseg.h (linenumberref): Changed for inlining stacktraces. + Made targetmpc a ptrint, made linenumber s4, reordered fields. + (dseg_addlinenumber_inline_start): Added. + (dseg_addlinenumber_inline_end): Added. + (vim boilerplate): Added. + +2006-02-05 13:52 stefan + + * src/threads/native/threads.h: waiting is correctly typed now + (previous checkin was wrong). + +2006-02-05 13:39 stefan + + * src/threads/native/threads.c: Let's see if this improves the dead + lock situation (waiter handling changed slightly). + +2006-02-05 12:22 twisti + + * tests/regression/native/.cvsignore (*.h, *.so): Added. + +2006-02-05 12:20 twisti + + * tests/regression/native/Makefile.am, + tests/regression/codepatching/Makefile.am, + tests/regression/Makefile.am (JAVAFLAGS): Use VM_ZIP_STRING and + GLIBJ_ZIP_STRING. + +2006-02-05 12:03 twisti + + * src/vm/jit/powerpc/asmpart.S, src/vm/jit/alpha/asmpart.S, + src/vm/jit/mips/asmpart.S, src/vm/jit/i386/asmpart.S, + src/vm/jit/x86_64/asmpart.S, src/vm/jit/arm/asmpart.S: Disable + executable stacks, this is required for Gentoo and we actually don't + need them. + +2006-02-05 00:40 twisti + + * src/vm/jit/stacktrace.c (stacktrace_create): Get the value of + _no_threads_stackframeinfo, since it's a pointer, not a structure. + (stacktrace_print_trace): Check for NULL value and return. + * src/vm/exceptions.c (exceptions_handle_exception): Compiler warning + fixed. + (exceptions_print_exception): Check for NULL value, print it and + return. + +2006-02-05 00:16 twisti + + * src/mm/memory.h (string.h): Moved after config.h. + (OFFSET): Use internal datatypes. + (NEW, MNEW): Use the proper GC macro when Gc is disabled. + +2006-02-05 00:13 twisti + + * src/mm/nogc.c (config.h): Moved in front of system headers. + (heap_allocate): Call exceptions_throw_outofmemory_exit. + (nogc_init): Likewise. + +2006-02-05 00:01 twisti + + * src/threads/none/: New. + * src/threads/none/threads.h: New file. We need this one for + e.g. stacktrace.c where we use thread stuff in the code. + +2006-02-04 23:59 twisti + + * src/vm/access.c (assert.h): Move after config.h. + * src/vm/properties.c (mm/memory.h): Added. + * src/vm/jit/stacktrace.c (mm/memory.h): Likewise. + (threads.h): Added. + (stacktrace_create): Handle stackframeinfo when threads disabled + properly. + +2006-02-04 23:56 twisti + + * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers): + Generate an exception instead of exiting. + * src/vm/jit/allocator/lsra.c (lsra_scan_registers_canditates): + Likewise. + +2006-02-04 20:15 twisti + + * src/vm/jit/stacktrace.h (stacktrace_getCallingClassLoader): Renamed + to stacktrace_getCurrentClassLoader. + + * src/cacaoh/headers.c (nativelyoverloaded): Fixed compiler warning. + +2006-02-04 19:09 twisti + + * src/native/native.c (native_resolve_function): Print failed is the + symbol was not found. + +2006-02-04 19:08 twisti + + * src/vm/jit/stacktrace.h (STACKTRACE_CAPACITY_DEFAULT) + (STACKTRACE_CAPACITY_INCREMENT): Changed default from 40 to 80, seems + this is what eclipse and tomcat want. + (stacktracebuffer): Changed entries from an array to a pointer. + +2006-02-04 19:04 twisti + + * src/vm/jit/stacktrace.c (stacktrace_add_entry): Reallocate to + stb->entries. + (stacktrace_create): Do two dump and heap allocs, does not affect + performance. + (stacktrace_getCallingClassLoader): Renamed to + stacktrace_getCurrentClassLoader. + + * src/native/jni.c (FindClass): Renamed + stacktrace_getCallingClassLoader to stacktrace_getCurrentClassLoader. + + * src/native/vm/VMStackWalker.c (getCallingClassLoader): Revert to old + implementation. + +2006-02-04 17:39 edwin + + * doc/stack.txt: Typos fixed. + +2006-02-04 17:31 edwin + + * doc/stack.txt: Expanded tabs. + * doc/Makefile.am (stack.txt): Added EXTRA_DIST entry for stack.txt. + +2006-02-04 17:25 edwin + + * doc/stack.txt: Added. This file describes some details about the + stack representation. + +2006-02-04 00:43 twisti + + * src/native/Makefile.am (CLEANFILES): Always clean nativetable.inc. + ($(srcdir)/native.c): Moved inside if ENABLE_STATICVM where it + belongs! Dammit! + +2006-02-04 00:33 twisti + + * src/native/Makefile.am: Accidentally moved the library into if + ENABLE_STATICVM. + * src/native/include/Makefile.am: Enable accidentally removed + dependencies. + +2006-02-04 00:13 edwin + + * src/vm/jit/verify/typecheck.c (logging): Adapted to new logging API. + +2006-02-04 00:08 edwin + + * src/vm/jit/stack.h (MARKREACHED): Use BBREACHED for readability. + (vim boilerplate): Added. + +2006-02-04 00:04 edwin + + * src/vm/method.h (methodinfo): Fixed copy&paste error in comment. + (vim boilerplate): Added. + +2006-02-04 00:00 edwin + + * src/vm/jit/stacktrace.c (vim boilerplate): Added. + +2006-02-03 22:57 twisti + + * configure.ac (VM_ZIP_STRING): Added. + (GLIBJZ): Renamed to GLIBJ_ZIP_STRING. + * src/vm/global.h (CACAO_VM_ZIP_PATH): Use GLIBJ_ZIP_STRING. + * src/lib/Makefile.am (GLIBJ_ZIP): Likewise. + * src/native/include/Makefile.am, src/native/Makefile.am (VM_ZIP): Use + VM_ZIP_STRING. + (GLIBJ_ZIP): Use GLIBJ_ZIP_STRING. + * contrib/setenvinstalled.in, contrib/setenvsource.in: Likewise. + +2006-02-03 22:53 twisti + + * src/native/vm/VMRuntime.c (nativeLoad): #ifdef ENABLE_STATICVM + warning fix. + +2006-02-03 22:24 twisti + + * src/vm/global.h (CACAO_VM_ZIP_PATH): Removed accidentally commited + VM_ZIP_FILE. + * src/native/Makefile.am (VM_ZIP): Likewise. + * src/native/include/Makefile.am (VM_ZIP): Likewise. + +2006-02-03 22:03 twisti + + * src/vm/global.h (CACAO_VM_ZIP_PATH): Set correctly for ifndef + ENABLE_ZLIB. + * src/lib/Makefile.am (JAVA_VM_FILES): Renamed to VM_JAVA_FILES. + (VM_CLASS_FILES): Added. + (pkgdata_DATA): Set to class files for ifndef ENABLE_ZLIB. + * src/native/include/Makefile.am (VM_ZIP): Set correctly for ifndef + ENABLE_ZLIB. + * src/native/Makefile.am (VM_ZIP): Likewise. + +2006-02-03 21:58 twisti + + * src/vm/suck.c (suck_add): Fixed compiler warning with #ifndef + ENABLE_ZLIB. + +2006-02-03 21:51 twisti + + * src/native/tools/.cvsignore (TAGS): Added. + +2006-02-03 20:54 twisti + + * src/native/Makefile.am (VM_ZIP, GLIBJ_ZIP, CLASSPATH): Added. + +2006-02-03 20:53 twisti + + * src/native/tools/gennativetable.c (main): Don't free bootclasspath, + do proper initalization of subsystems, don't link classes. + +2006-02-03 19:44 twisti + + * src/native/Makefile.am (nativetable.inc): Pass classpath on + commandline, environment variable support was removed. + +2006-02-03 19:42 twisti + + * src/native/tools/gennativetable.c: Updated to work again. + +2006-02-03 19:27 twisti + + * src/cacao/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS. + (CLASSPATH_PREFIX): Renamed to CLASSPATH_LIBDIR. + +2006-02-03 18:45 twisti + + * configure.ac (ENABLE_SOFTFLOAT): Added. + (NDEBUG): Bugfix for AM_CONDITIONAL. + +2006-02-03 14:14 twisti + + * src/vm/jit/stacktrace.c (stacktrace_entry): Wrong return value, + added some checks. + +2006-02-03 13:19 twisti + + * src/vm/jit/stacktrace.c, src/vm/jit/stacktrace.h + (lineNumberTableEntry): Renamed to linenumbertable_entry. + (addEntry): Renamed to stacktrace_add_entry. + (stacktrace_fillInStackTrace_methodRecursive): Removed. + (stacktrace_fillInStackTrace_method): Renamed to + stacktrace_add_method. + (cacao_stacktrace_fillInStackTrace): Renamed to stacktrace_create. + (stackTraceCollector): Removed. + (cacao_stacktrace_NormalTrace): Renamed to + stacktrace_fillInStackTrace. + (classContextCollector): Removed. + (cacao_createClassContextArray): Renamed to + stacktrace_getClassContext. + (stacktrace_classLoaderCollector): Removed. + (cacao_currentClassLoader): Renamed to + stacktrace_getCallingClassLoader. + (getStackCollector): Removed. + (cacao_getStackForVMAccessController): Renamed to stacktrace_getStack. + + * src/native/jni.c (jni_init): Use new GCNEW. + (FindClass): Renamed cacao_currentClassLoader to + stacktrace_getCallingClassLoader. + + * src/native/vm/VMAccessController.c (getStack): Renamed + cacao_getStackForVMAccessController to stacktrace_getStack. + + * src/native/vm/VMStackWalker.c (getClassContext): Renamed + cacao_createClassContextArray to stacktrace_getClassContext. + (getCallingClass): Likewise. + (getCallingClassLoader): Call stacktrace_getCallingClassLoader. + + * src/native/vm/Method.c (config.h): Added. + (invokeNative): Renamed cacao_createClassContextArray to + stacktrace_getClassContext. + + * src/native/vm/Field.c (config.h): Added. + (cacao_get_field_address): Renamed cacao_createClassContextArray to + stacktrace_getClassContext. Check for CLASS_INITIALIZED. + + * src/native/vm/VMThrowable.c + (native/include/gnu_classpath_Pointer.h): Added. + (fillInStackTrace): Call stacktrace_fillInStackTrace. + (getStackTrace): Adapted. + + * src/mm/memory.h (GCNEW): Use only 1 parameter, like NEW. + (GCMNEW): Added. + +2006-02-03 12:46 twisti + + * src/threads/native/threads.h (THREADOBJECT): Don't cast to + java_lang_VMThread*, we don't need that. + +2006-02-03 12:38 twisti + + * src/vm/method.c (method_printflags, method_print): Check for NULL. + * src/vm/field.c (field_printflags, field_print) Likewise. + (stdio.h): Added. + * src/vm/class.c (class_printflags, class_print): Likewise. + +2006-02-02 09:16 twisti + + * configure.ac (AC_PROG_JAR): Added. + * m4/ac_prog_jar.m4: New file. + * src/lib/Makefile.am (VM_ZIP): Added. + (vm.zip): Check if $(JAR) is zip or jar type. + +2006-02-02 08:51 twisti + + * src/vm/loader.c (loader_load_all_classes): Added missing #ifde + ENABLE_ZLIB. + +2006-02-02 08:45 twisti + + * configure.ac (NDEBUG): Added missing WITH_BINUTILS_DISASSEMBLER + conditional. + (zlib): Fixed handling. + +2006-01-31 23:54 twisti + + * src/vm/jit/i386/codegen.c (codegen): Added basic block frequency + count code. + +2006-01-31 23:45 twisti + + * src/vm/jit/profile.c ("mm/memory.h,vm/options.h): Added. + (list_method_entry): Likewise. + (profile_printstats): Sort methods into a list and print it sorted, + added basic block frequency output. + +2006-01-31 23:43 twisti + + * src/vm/method.h (methodinfo): Renamed executioncount to + frequency. Added bbfrequency and cycles. + + * src/vm/jit/x86_64/codegen.c (codegen): Added cycle profiling code. + + * src/vm/jit/x86_64/codegen.h (M_FMOV): Added. + (M_IADD_MEMBASE, M_IADC_MEMBASE, M_ISUB_MEMBASE, M_ISBB_MEMBASE): + Likewise. + (M_RDTSC, PROFILE_CYCLE_START, PROFILE_CYCLE_STOP): Likewise. + + * src/vm/jit/x86_64/emitfuncs.c (x86_64_inc_membase) + (x86_64_incl_membase): Fixed. + (emit_rdtsc): Added. + + * src/vm/jit/jit.c (jit_compile): Free m->bbfrequency memory. + (jit_compile_intern): Allocate m->bbfrequency memory. + + * src/vm/jit/jit.h: Reformatting. + +2006-01-31 23:29 twisti + + * src/vm/statistics.c, src/vm/jit/inline/inline.c: Removed inlining + statistics stuff. + +2006-01-31 23:27 twisti + + * src/vm/options.c, src/vm/options.h (opt_rt, opt_xta, opt_vta): + Removed. + (opt_prof_bb): Added. + * src/cacao/cacao.c: Likewise. + (OPT_PROF_OPTION): Added. + +2006-01-31 22:31 twisti + + * src/vm/jit/stack.c (show_icmd_block): Print the basic block type. + +2006-01-31 22:27 twisti + + * src/toolbox/list.c, src/toolbox/list.h (list_add_before): Added. + +2006-01-31 15:41 twisti + + * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c, + src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c (codegen): Use + CLASS_IS_OR_ALMOST_INITIALIZED macro, saves some code space. + +2006-01-31 15:35 twisti + + Fixes Debian bug #350729 + * src/vm/jit/i386/asmpart.S (asm_md_init): Added, puts the FPU to + 64-bit precision mode. + * src/vm/jit/i386/md.c (md_init): Call asm_md_init. + + * src/vm/jit/asmpart.h (asm_md_init): Added. + (has_no_x_instr_set): Removed. + * src/vm/options.c, src/vm/options.h (has_ext_instr_set): Removed. + * src/vm/jit/jit.c (jit_init): Removed has_no_x_instr_set call. + * src/vm/jit/alpha/asmpart.S (has_no_x_instr_set): Renamed to + asm_md_init. + * src/vm/jit/alpha/md.c (has_ext_instr_set): Added. + (md_init): Call asm_md_init. + * src/vm/jit/alpha/md.h (has_ext_instr_set): Added. + +2006-01-31 15:18 edwin + + * src/vm/classcache.c: Added a formal description of the classcache. + +2006-01-31 14:24 twisti + + * src/vm/signal.c (signal_handler_sigint): Typo, reported by Chris + Burdess on irc. + +2006-01-30 16:25 twisti + + * src/vm/jit/i386/codegen.c (codegen): Added profiling code. + (ICMD_IINC): Use macros. + * src/vm/jit/i386/codegen.h (ucontext.h): Removed. + (thread_restartcriticalsection): Likewise. + (M_IADD_IMM_MEMBASE): Added. + +2006-01-30 15:44 twisti + + * src/vm/options.h, src/vm/options.c (opt_prof): Added. + * src/cacao/cacao.c (OPT_PROF): Added. + (exit_handler): Added profile_printstats when opt_prof is enabled. + + * src/vm/class.h (classinfo): Members classUsed and impldBy removed. + * src/vm/loader.c (load_class_from_classbuffer): Likewise. + * src/vm/linker.c (link_primitivetype_table): Likewise. + (link_class_intern): Likewise. + * src/vm/jit/inline/inline.c: Likewise. + + * src/vm/method.h (methodinfo): Added member executioncount. + + * src/vm/jit/x86_64/codegen.c (codegen): Added profiling code. Some + code reordering, using more macros and save some code space. + * src/vm/jit/x86_64/codegen.h (M_ILD32, M_LLD32, M_IST_IMM, M_IST32) + (M_LST32, M_IST32_IMM, M_LST32_IMM32, M_IINC_MEMBASE, M_ITEST) + (M_CMP_IMM_MEMBASE, M_ICMP, M_ICMP_IMM, M_ICMP_IMM_MEMBASE, M_CMOVEQ) + (M_CMOVNE, M_CMOVLT, M_CMOVLE, M_CMOVGE, M_CMOVGT, M_CMOVB, M_CMOVA) + (M_CMOVP, M_CLR): Added. + + * src/vm/jit/x86_64/emitfuncs.c (x86_64_emit_ifcc): Use macros. + (x86_64_call_mem): Changed mem argument to ptrint type. + * src/vm/jit/x86_64/emitfuncs.h (x86_64_call_mem): Likewise. + + * src/vm/jit/profile.c, src/vm/jit/profile.h: New files. + * src/vm/jit/Makefile.am (DISASS_OBJ): Renamed to DISASS_SOURCES. + (PROFILE_SOURCES): Added. + +2006-01-30 14:24 christian + + * src/vm/jit/allocator/simplereg.c (interface_regalloc): Used + m->parseddesc->arg[int|flt|adr]reguse to enable use of unused + argumentregisters in leadmethods. + (local_regalloc): Likewise. + (reg_init_temp): Likewise. + +2006-01-30 11:26 christian + + * src/vm/jit/allocator/simplereg.c: Ensured proper alignment of all + doubles and longs if ALIGN_[DOUBLES|LONGS]_IN_MEMORY is defined. + (local_regalloc): Fixed error for HAS_ADREDD_REGISTER_FILE - else was + missing. Ensured use of unused argument register in leafmethod before + use of saved registers. Regarded PACK_REGS for + SUPPORT_COMBINE_INTEGER_REGISTER archs for unused integer argument + registers. + * src/vm/jit/i386/arch.h: Added defines for + ALIGN_[DOUBLES|LONGS]_IN_MEMORY. + * src/vm/jit/powerpc/arch.h: Likewise. + +2006-01-29 17:27 twisti + + * src/vm/jit/stack.c (show_icmd): Fixed ICMD_ELSE_ICONST output. + +2006-01-28 14:42 twisti + + * src/vm/jit/powerpc/linux/md-abi.c, + src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Use + m->parseddesc->paramcount instead of m->paramcount. + * src/vm/jit/schedule/schedule.c (schedule_init): Likewise. + + * src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c, + src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c (codegen): + Removed first MCODECHECK since it not required. + + * src/vm/jit/methodheader.h: Added comment. + +2006-01-28 14:25 twisti + + * src/vm/jit/x86_64/.cvsignore: Added TAGS. + +2006-01-28 14:21 twisti + + * src/vm/loader.c (load_method): Removed reference to + nativelyoverloaded, monoPoly, subRedefs, subRedefsUsed, xta. + (load_newly_created_array): Removed reference to monoPoly. + +2006-01-28 14:18 twisti + + * src/vm/method.c (method_descriptor2types): Removed. + * src/vm/method.h (methodinfo): Removed members returntype, + returnclass, paramcount, paramtypes, paramclass, xta, methodXTAparsed, + methodUsed, monoPoly, subRedefs, subRedefsUsed, and + nativelyoverloaded, this saves about 3.2MB of classinfo memory for + -all. + (method_descriptor2types): Removed. + + * src/vm/jit/inline/inline.c (inlining_analyse_method): Use + m->parseddesc->paramcount instead of m->paramcount. + * src/vm/jit/allocator/simplereg.c (local_regalloc): Likewise. + * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Likewise. + + * src/vm/jit/jit.c (jit_compile): Removed RT_jit_parse and + XTA_jit_parse calls. + (jit_compile_intern): Removed method_descriptor2types call. + + * src/cacaoh/cacaoh.c (main): Call string_init. Removed + nativemethod_chain and nativeclass_chain stuff. + + * src/cacaoh/headers.c (nativemethod_chain): Removed. + (nativeclass_chain): Likewise. + (printmethod): Use m->isleafmethod instead of m->nativelyoverloaded. + (headerfile_generate): Likewise. + +2006-01-28 11:26 twisti + + * src/vm/jit/inline/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS. + (libinline_la_SOURCES): Don't build RTA/XTA stuff. + +2006-01-28 11:24 twisti + + * Makefile.am (EXTRA_DIST): Added THIRDPARTY. + +2006-01-27 19:05 stefan + + * src/threads/native/threads.c: Removed a superfluous (I hope) NULL + check. + +2006-01-27 18:53 stefan + + * src/threads/native/threads.c: Repaired thread_getself. + +2006-01-27 17:35 twisti + + * src/toolbox/logging.c, src/toolbox/logging.h (log_start): Added. + (log_vprint): Likewise. + (log_print): Likewise. + (log_println): Likewise. + (log_finish): Likewise. + (log_plain): Removed. + (log_nl): Removed. + (log_flush): Likewise. + (dolog_plain): Likewise. + (get_logfile): Likewise. + (log_utf): Likewise. + (log_plain_utf): Likewise. + (log_text): Removed but added a define until we have ported all files. + (dolog): Likewise. + * src/vm/statistics.c (print_stats): Started to use new logging + functions. Print some ratios. + +2006-01-27 16:32 twisti + + * src/native/vm/VMSystemProperties.c (preInit): Don't add . to + java.library.path per default. + +2006-01-27 12:43 twisti + + * NEWS: Added powerpc fixes found by javver. + +2006-01-24 19:09 twisti + + * src/vm/jit/powerpc/codegen.h (var_to_reg_dbl): Added. + (M_COPY): Handle doubles properly. + +2006-01-24 13:52 twisti + + * src/vm/jit/powerpc/codegen.h (M_LNGMOVE): Added. + (var_to_reg_lng): Likewise. + (M_COPY): Support longs. This was actually never implemented and never + worked, grrr. + +2006-01-24 10:30 twisti + + * src/vm/jit/stacktrace.c (cacao_stacktrace_fillInStackTrace): Use + method_print. Fixed typo. + * src/vm/jit/powerpc/md.c (md_codegen_findmethod): Handle 2 + instruction returns properly. + +2006-01-24 10:28 twisti + + * src/vm/builtin.c (builtin_f2i): Enable for interpreter. + (builtin_d2i): Likewise. + * src/vm/jit/stack.c (icmd_print_stack): Fixed for ENABLE_INTRP and + SUPPORT_COMBINE_INTEGER_REGISTERS. + +2006-01-23 16:03 twisti + + * src/vm/jit/stack.c (show_icmd_method): Fixed basic block count + output. + + * src/vm/jit/i386/codegen.c (codegen): Use disp instead of a. Usage of + some more macros. + * src/vm/jit/i386/codegen.h (M_BLT): Added. + (M_BLE): Likewise. + (M_BGE): Likewise. + (M_BGT): Likewise. + (M_BBE): Likewise. + (M_BAE): Likewise. + +2006-01-23 01:12 twisti + + * configure.ac (AC_INIT): Changed version number to 0.94+cvs. + (CFLAGS): Changed optimization back to -O0. + +2006-01-23 01:01 twisti + + * ChangeLog: Updated for 0.94 release. + +2006-01-22 23:42 twisti + + * configure.ac (AC_INIT): Changed version number to 0.94. + (CFLAGS): Changed optimization to -O2. + +2006-01-22 23:33 twisti + + * Updated header: Added 2006. Changed address of FSF. Changed email + address. + +2006-01-22 23:16 twisti + + * Updated svn:ignore propset. + +2006-01-22 23:00 twisti + + * src/vm/jit/intrp/Makefile.am (EXTRA_DIST): Added gray.fs and + BUILT_SOURCES. + +2006-01-22 22:46 twisti + + * tests/regression/extest.java: Typo. + +2006-01-22 22:36 twisti + + * NEWS: Added releases 0.90, 0.91, 0.92, 0.93, 0.94. + +2006-01-22 22:34 twisti + + * README: Updated. + +2006-01-22 21:42 twisti + + * src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Revert edwin's + bugfix, but we can't use ffi_type_slong as it's defined as 64-bit + value on 32-bit machines. + +2006-01-22 21:40 twisti + + * src/native/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS. + (libnative_la_SOURCES): Removed nativecalls.inc. + +2006-01-22 21:39 twisti + + * tests/Makefile.am (SUBDIRS): Removed native. + +2006-01-22 21:38 twisti + + * tests/regression/native/testarguments.output: Updated. + * tests/regression/native/Makefile.am: Made it work with distcheck. + * tests/regression/codepatching/Makefile.am: Likewise. + * tests/regression/Makefile.am: Likewise. + + * tests/regression/extest.java: Comment changed. + +2006-01-22 21:22 twisti + + * configure.in: Renamed to configure.ac. + +2006-01-22 21:21 twisti + + * configure.in (AC_CONFIG_FILES): Removed tests/native/Makefile, added + tests/regression/native/Makefile. + +2006-01-22 20:21 twisti + + * tests/native: Moved to tests/regression/native. + +2006-01-22 20:00 twisti + + * src/vm/jit/asmpart.h (asm_handle_exception) + (asm_handle_nat_exception): #ifdef ENABLE_JIT. + +2006-01-22 19:59 twisti + + * src/vm/jit/jit.c (jit_compile_intern): Use + CLASS_IS_OR_ALMOST_INITIALIZED to check uninitialized. + +2006-01-22 19:57 twisti + + * src/vm/jit/stacktrace.c (stacktrace_create_inline_stackframeinfo): + Compiler warning fix. + +2006-01-22 19:56 twisti + + * src/vm/jit/intrp/java.vmg: Some reformatting. + +2006-01-22 19:55 twisti + + * src/vm/jit/intrp/asmpart.c (vm/loader.h): Added. + (intrp_asm_calljavafunction_intern): Use u1* instead of entrypoint. + (jni_invoke_java_intern): Likewise. + +2006-01-22 19:50 twisti + + * .cvsignore, src/toolbox/.cvsignore, src/vm/jit/inline/.cvsignore, + src/vm/jit/allocator/.cvsignore: TAGS added. + +2006-01-22 19:37 twisti + + * src/boehm-gc/.cvsignore, src/boehm-gc/include/.cvsignore, + src/vm/.cvsignore, src/vm/jit/tools/.cvsignore, + src/vm/jit/verify/.cvsignore, src/vm/jit/loop/.cvsignore, + src/vm/jit/.cvsignore, src/vm/jit/intrp/.cvsignore, + src/cacao/.cvsignore, src/native/vm/.cvsignore, + src/native/include/.cvsignore, src/native/.cvsignore, + src/mm/.cvsignore, src/threads/native/.cvsignore, + src/threads/.cvsignore, src/fdlibm/.cvsignore, src/.cvsignore, + src/cacaoh/.cvsignore: TAGS added. + +2006-01-22 19:29 edwin + + * src/vm/jit/intrp/codegen.c (nativecall): Fixed calculation of the + stackframeinfo address. + +2006-01-22 14:44 twisti + + * src/vm/jit/codegen-common.c (codegen_addreference): The last fix was + not correct if only the intrp is built. + +2006-01-22 14:39 twisti + + * src/vm/class.c (class_showmethods): Use class_printflags. + * src/vm/loader.c, src/vm/loader.h (fprintflags): Removed. + (printflags): Likewise. + * src/vm/jit/inline/sets.c (printFldSet): Use field_println instead of + field_display. + * src/vm/field.c, src/vm/field.h (field_display): Removed. + (field_printflags): Added. + (field_print): Likewise. + (field_println): Likewise. + +2006-01-22 00:45 edwin + + * src/vm/jit/intrp/codegen.c (cacaotype2ffitype): Use ffi_type_sint + for + values of TYPE_INT. This fixes the interpreter on i386, though I'm not + sure if it is a correct and complete solution. + +2006-01-21 21:46 edwin + + * src/vm/jit/codegen-common.c (codegen_addreference): Fixed bug when + both ENABLE_INTRP and ENABLE_JIT were defined. + +2006-01-21 20:22 edwin + + * src/vm/jit/verify/typecheck.c (typestack_copy, + typestack_separable_with) + (typestack_separable_from, verify_basic_block): Comment-only changes. + (verify_basic_block): Small typo fix in string. + +2006-01-20 14:49 twisti + + * src/native/jni.c (fill_callblock_from_objectarray): Fixed typo. + (jni_method_invokeNativeHelper): Major code rewrite and speed + improvement, renamed to _Jv_jni_invokeNative. + (cacao_jni_CallVoidMethod): Fixed interpreter bug, renamed to + _Jv_jni_CallVoidMethod. + (callLongMethod): Renamed to _Jv_jni_CallLongMethod. + * src/native/jni.h (jni_method_invokeNativeHelper): Renamed to + _Jv_jni_invokeNative. + * src/native/vm/Method.c (Java_java_lang_reflect_Method_invokeNative): + Renamed jni_method_invokeNativeHelper to _Jv_jni_invokeNative. + * src/native/vm/Constructor.c: Updated includes. + (Java_java_lang_reflect_Constructor_constructNative): Renamed + jni_method_invokeNativeHelper to _Jv_jni_invokeNative. + +2006-01-20 13:41 twisti + + * tests/regression/Makefile.am (EXTRA_DIST): Made it more readable. + +2006-01-20 13:40 twisti + + * src/vm/jit/intrp/intrp.h (ffi.h): Removed, not required in this + file. + * src/vm/jit/intrp/codegen.c (nativecall): Removed unused big-endian + code. + * src/vm/jit/intrp/asmpart.c (asm_calljavafunction_intern): Renamed to + intrp_asm_calljavafunction_intern, just to be sure. + +2006-01-20 13:33 twisti + + * src/vm/jit/mips/irix/md-os.c (md_signal_handler_sigsegv): Missed the + actal rename from the previous commit. + +2006-01-20 13:28 twisti + + * src/vm/signal.c (vm/signallocal.h): Added. + * src/vm/signallocal.h (md_signal_handler_sigfpe): #ifdef for i386 and + x86_64. + +2006-01-20 13:25 twisti + + * src/vm/jit/powerpc/linux/md-os.c, src/vm/jit/powerpc/darwin/md-os.c, + src/vm/jit/alpha/linux/md-os.c, src/vm/jit/alpha/freebsd/md-os.c, + src/vm/jit/mips/linux/md-os.c, src/vm/jit/mips/irix/md-os.c + (signal_handler_sigsegv): Renamed to md_signal_handler_sigsegv. + * src/vm/jit/i386/linux/md-os.c, src/vm/jit/i386/freebsd/md-os.c, + src/vm/jit/x86_64/md.c (signal_handler_sigsegv): Renamed to + md_signal_handler_sigsegv. + (signal_handler_sigfpe): Renamed to md_signal_handler_sigfpe. + * src/vm/signal.c (signal_init): Renamed signal_handler_sigsegv to + md_signal_handler_sigsegv and signal_handler_sigfpe to + md_signal_handler_sigfpe respectively. + * src/vm/signallocal.h (md_signal_handler_sigsegv): Added. + (md_signal_handler_sigfpe): Likewise. + +2006-01-20 13:19 twisti + + * src/vm/jit/alpha/codegen.h (ucontext.h): Removed. + (thread_restartcriticalsection): Removed. + +2006-01-20 13:06 twisti + + * src/vm/jit/x86_64/disass.c (dis-asm.h): Added. + (vm/global.h): Likewise. + (mm/memory.h): Removed. + +2006-01-20 13:05 twisti + + * src/vm/class.c, src/vm/class.h (class_printflags): Added. + (class_print): Likewise. + (class_println): Likewise. + +2006-01-20 12:58 twisti + + * src/vm/jit/i386/disass.c (disassinstr): Set the read_memory_func in + disassemble_info to disass_buffer_read_memory. + (disassemble): Removed. + +2006-01-20 12:57 twisti + + * src/vm/jit/stack.c (show_icmd_method): Print basic blocks count and + better basic block header output. + ICMD_MULTIANEWARRAY: Changed iptr->target and iptr->val.a value. + ICMD_IFLE_ICONST, ICMD_ELSE_ICONST: Print values better. + +2006-01-20 12:01 twisti + + * src/vm/jit/powerpc/disass.c (disassinstr): Set the read_memory_func + in disassemble_info to disass_buffer_read_memory. + (disassemble): Removed. + +2006-01-20 11:38 twisti + + * src/vm/jit/disass-common.c, src/vm/jit/disass.h: Added + disassemble_info and disass_initialized. + (disassemble): Added. + (buffer_read_memory): Renamed to disass_buffer_read_memory. + * src/vm/jit/x86_64/disass.c (disassinstr): Set the read_memory_func + in disassemble_info to disass_buffer_read_memory. + (disassemble): Removed. + +2006-01-20 10:15 twisti + + * regression/extest.java: Removed asmpart exceptions as they are now + checked with codepatching. + * regression/extest.2output: Regenerated. + * regression/extest_clinit.java: Added. + +2006-01-20 10:08 twisti + + * src/vm/jit/alpha/md.c (md_init): Moved #include and extern's to the + top of the file, since this broke compilation on debian unstable. + +2006-01-19 23:40 edwin + + * src/vm/jit/parse.h: Added vim boilerplate. + +2006-01-19 23:35 edwin + + * src/vm/jit/stack.c: Added vim boilerplate. + +2006-01-19 22:21 twisti + + * configure.in (AC_CONFIG_FILES): Removed tests/codepatching/Makefile + and added tests/regression/codepatching/Makefile. + * tests/Makefile.am (SUBDIRS): Removed codepatching. + * tests/regression/Makefile.am (SUBDIRS) Added with codepatching. + * tests/regression/codepatching/Makefile.am (JAVAFLAGS): Added. + +2006-01-19 22:11 edwin + + * src/vm/jit/parse.c (parse): Removed inlining code. + +2006-01-19 22:06 edwin + + * src/vm/options.c, src/vm/options.h (useinliningm): Removed. + +2006-01-19 22:05 twisti + + * tests/codepatching: Moved to tests/regression/codepatching. + +2006-01-19 21:31 edwin + + * src/vm/jit/jit.c (jit_compile): Removed the INAFTERMAIN hack. + +2006-01-19 21:27 edwin + + * src/vm/jit/inline/inline.c (inlining_setup): Removed INAFTERMAIN + hack. + +2006-01-19 21:26 edwin + + * src/cacao/cacao.c (main): Disabled useinlining and useinliningm. + +2006-01-19 20:56 twisti + + * src/vm/jit/intrp/codegen.c, src/vm/jit/intrp/java.vmg (FALOAD) + (FASTORE): Added, required for big-endian machines. + * src/vm/jit/intrp/engine.c (access_array_float): Likewise. + +2006-01-19 20:53 twisti + + * src/vm/global.h (java_floatarray): Typo. + +2006-01-19 20:28 edwin + + * src/vm/jit/parse.c (parse, fillextable): Removed debugging code. + Minor cleanup. + +2006-01-19 20:13 edwin + + * src/vm/jit/parse.c (parse): Removed commented out debugging code. + +2006-01-19 20:03 twisti + + * src/vm/class.c (class_showmethods): Replaced method_display with + method_println. + +2006-01-19 20:00 twisti + + * src/vm/jit/inline/inline.c, src/vm/jit/inline/sets.c, + src/vm/jit/inline/parseRTstats.c, src/vm/jit/inline/parseRT.c, + src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/parseXTA.c: + Replaced method_display and method_display_w_class calls with + method_println. + +2006-01-19 19:49 twisti + + * src/vm/method.c, src/vm/method.h (method_display): Removed. + (method_display_w_class): Likewise. + (method_printflags): Added. + (method_print): Likewise. + (method_println): Likewise. + Removed. --This line, and those below, will be ignored-- + + M method.c + M method.h + +2006-01-19 17:02 twisti + + * src/vm/jit/powerpc/linux/Makefile.am (INCLUDES): Renamed to + AM_CPPFLAGS. + * src/vm/jit/powerpc/Makefile.am (AM_CPPFLAGS): Added missing + $(OS_DIR) include. + +2006-01-19 16:02 twisti + + * INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc, + as this is more common these days. + +2006-01-19 11:58 edwin + + * alpha, mips, nat: removed obsolete directories resurrected by svn + migration + +2006-01-19 09:47 twisti + + * INCLUDES: Replaced with AM_CPPFLAGS as Tom Tromey suggested on irc, + as this is more common these days. + +2006-01-18 21:41 edwin + + * havoc.class: fix corruption by svn eol-style conversion + +2006-01-18 15:43 twisti + + * AC_CHECK_HEADER: Added ansidecl.h, symcat.h, bfd.h and zconf.h. + +2006-01-18 15:41 twisti + + * main: Call nogc_init for DISABLE_GC. + +2006-01-17 18:51 twisti + + * Removed extern stuff that was removed from the lib. + +2006-01-17 18:37 twisti + + * Updated to new classpath configure options. + +2006-01-17 18:24 twisti + + * CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX. + +2006-01-17 17:06 twisti + + * CACAO_INSTALL_PREFIX: Renamed to CACAO_PREFIX. + * NDEBUG: Check for libintl on cygwin and darwin. + * --with-classpath-install-dir: Renamed to --with-classpath-prefix. + * --with-classpath-libdir: Added to support 64-bit platforms where the + libdir may be /usr/lib64. + +2006-01-17 16:59 twisti + + * main: Removed CACAO_INSTALL_PREFIX and CLASSPATH_INSTALL_DIR since + CACAO_VM_ZIP_PATH and CLASSPATH_GLIBJ_ZIP_PATH are now full paths. + +2006-01-17 16:58 twisti + + * Java_gnu_classpath_VMSystemProperties_preInit: Renamed + CACAO_INSTALL_PREFIX to CACAO_PREFIX. + +2006-01-17 16:57 twisti + + * CACAO_VM_ZIP_PATH: Prepend CACAO_PREFIX. + * CLASSPATH_GLIBJ_ZIP_PATH: Prepend CLASSPATH_PREFIX. + * CLASSPATH_LIBRARY_PATH: Prepend CLASSPATH_LIBDIR. + +2006-01-17 16:55 twisti + + * CLASSPATH_INSTALL_DIR: Renamed to CLASSPATH_PREFIX. + +2006-01-17 16:53 twisti + + * Added. + +2006-01-17 16:51 twisti + + * m4/as-ac-expand.m4: Added. + +2006-01-16 00:07 twisti + + * jni_init: Fixed small typo. + +2006-01-16 00:04 twisti + + * Java_gnu_classpath_VMSystemProperties_preInit: Use the same os.arch + property values as SUN and others do, so we are compatible (e.g. + jogl had + some problems), file.encoding removed as it's set by GNU Classpath, + hardcode values for gnu.cpu.endian. + +2006-01-15 23:32 twisti + + * utf_java_nio_DirectByteBufferImpl_ReadWrite: Removed. + * utf_gnu_classpath_Pointer{32,64}: Likewise. + * class_java_nio_Buffer: Added, load and link this class in + jni_init(). + * class_java_nio_DirectByteBufferImpl: Likewise. + * NewDirectByteBuffer: Removed debug output. + * GetDirectBufferAddress: Added instanceof check. + * GetDirectBufferCapacity: Likewise. + +2006-01-15 14:12 twisti + + * native_new_and_init: Ooops, reverting last change and added an + explaining + comment. + +2006-01-15 13:32 twisti + + * CLASSPATH_LIBRARY_PATH, CLASSPATH_GLIBJ_ZIP_PATH: Temporary bugfix. + +2006-01-15 12:28 twisti + + * native_findfunction: #ifdef ENABLE_STATICVM. + * native_new_and_init: Fixed return value. + +2006-01-15 01:56 twisti + + * math.h: Added for isnan. + +2006-01-15 00:37 twisti + + * JAVAC: Removed. + +2006-01-15 00:36 twisti + + * Java_gnu_classpath_VMSystemProperties_preInit: Set user.country + instead + of user.region, set en_US if none is defined, + java.protocol.handler.pkgs + removed. + +2006-01-14 20:02 twisti + + * builtin_trace_args: Added callcount to verbose call output. + +2006-01-14 17:19 edwin + + * src/native/vm/Method.c (invokeNative): check class access rights + +2006-01-13 19:37 twisti + + * codegen_setup: #ifdef datareferences. + +2006-01-13 18:51 twisti + + * This class does not differ from the GNU classpath upstream version. + +2006-01-13 18:49 twisti + + * defineClassWithTransformers: Added, updated to generics version. + +2006-01-13 15:29 twisti + + * codegendata: #ifdef datareferences member. + * codegen_finish: Moved data segment reference resolving into + dseg_resolve_datareferences. + +2006-01-13 15:28 twisti + + * dseg_resolve_datareferences: Added. + +2006-01-13 15:27 twisti + + * Small reformatting. + +2006-01-13 10:47 twisti + + * src/vm/jit/{i386,x86_64}/{dis-asm.h,i386-dis.c}: Removed. + * src/vm/jit/powerpc/{ppc.h,ppc-dis.c,ppc-opc.c}: Likewise. + * m4/{ac_prog_javac.m4,ac_prog_javac_works.m4}: Added. + +2006-01-13 10:42 twisti + + * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed. + +2006-01-13 10:11 twisti + + * codegen.h: Added when ENABLE_JIT defined. + * codegen_addpatchref: Set lastmcodeptr when ENABLE_JIT is defined + and the + architecture requires it. + +2006-01-13 10:09 twisti + + * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed. + +2006-01-12 23:54 twisti + + * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed. + +2006-01-12 23:33 twisti + + * arch.h: Added. + * GC_test_and_set: Removed 64-bit version since the 32-bit seems to be + sufficient and works. + +2006-01-12 23:31 twisti + + * show_icmd: Use CLASS_IS_OR_ALMOST_INITIALIZED. + * initialize_class: Use CLASS_IS_OR_ALMOST_INITIALIZED. + +2006-01-12 23:30 twisti + + * CLASS_IS_OR_ALMOST_INITIALIZED: Added. + +2006-01-12 23:27 twisti + + * GETSTATIC_FLOAT, PUTSTATIC_FLOAT, GETFIELD_FLOAT, PUTFIELD_FLOAT: + Added. + * PATCHER_GETSTATIC_FLOAT, PATCHER_PUTSTATIC_FLOAT, + PATCHER_GETFIELD_FLOAT, + PATCHER_PUTFIELD_FLOAT: Likewise. + * TRACENATIVECALL: Removed codegen_findmethod, use methodinfo* from + threaded code stream. + * TRACECALL, TRACERETURN, TRACELRETURN: Likewise. + +2006-01-12 23:23 twisti + + * Some 64-bit big-endian bugfixes. + * Use CLASS_IS_OR_ALMOST_INITIALIZED macro. + +2006-01-12 23:21 twisti + + * 64-bit big-endian bugfix: replace s4 with ptrint. + +2006-01-12 23:10 twisti - * src/vm/jit/i386/Makefile.am: - * libarch_la_SOURCES: Removed symcat.h. + * Imported for the interpreter. -2006-01-01 19:34 twisti +2006-01-12 23:09 twisti - * src/vm/jit/x86_64/symcat.h: - * Use system one. + * Added powerpc64 target. + +2006-01-12 23:08 twisti + + * intrp_disassinstr, intrp_disassemble: Added. + +2006-01-12 23:07 twisti + + * vm/options.h: Added. + +2006-01-12 23:05 twisti + + * config.h, vm/types.h: Added. + +2006-01-12 23:03 twisti + + * Use ASM_CALLJAVAFUNCTION* macros. + +2006-01-12 22:42 twisti + + * thread_addstaticcritical: Quick hack: #ifdef ENABLE_JIT + asm_criticalsections. + * sigsuspend_handler: Quick hack: #ifdef ENABLE_JIT + thread_restartcriticalsection. + +2006-01-12 22:41 twisti + + * vm/options.h: Added. + * descriptor_pool_parse_method_descriptor: #ifdef ENABLE_JIT + md_param_alloc + call. + * descriptor_params_from_paramtypes: Likewise. + +2006-01-12 22:40 twisti + + * Fixed a lot of compiler warnings (functionptr -> u1*). + +2006-01-12 22:39 twisti + + * regs: Removed. + * disassinstr, disassemble: Prefixed with intrp_. + +2006-01-12 22:38 twisti + + * ICMD_MULTIANEWARRAY: Usage of iptr->val.a and iptr->target changed. + +2006-01-12 22:37 twisti + + * builtin_gen_table: #if function according to arch.h. + * codegen: Prefixed with intrp_, usage of iptr->val.a and iptr->target + changed. + * codegen_createlinenumbertable: Renamed to + dseg_createlinenumbertable. + * createcompilerstub: Prefixed with intrp_. + * createnativestub: Likewise. + +2006-01-12 22:35 twisti + + * verify_multianewarray: Usage iptr->val.a and iptr->target changed. + * JAVA_MULTIANEWARRAY: Pass c in iptr->val.a and cr in iptr->target. + +2006-01-12 22:34 twisti + + * codegen_createnativestub: #ifdef ENABLE_JIT md_param_alloc call. + * codegen_disassemble_nativestub: Use DISASSEMBLE macro. + +2006-01-12 22:32 twisti + + * analyse_stack: #ifdef ENBALE_JIT md_return_alloc call. + * icmd_print_stack: Print regs correctly for jit. + * show_icmd_method: Likewise. + +2006-01-12 21:55 twisti + + * builtintable_internal: Removed ICMD_CHECKCAST. + +2006-01-12 21:39 twisti + + * Prefixed functions with intrp_. + * md_init, md_stacktrace_get_returnaddress: Prefixed with intrp_. + * thread_restartcriticalsection, md_param_alloc, md_return_alloc: + Removed. + +2006-01-12 21:38 twisti + + * Prefix functions with intrp_. + +2006-01-12 21:37 twisti + + * Use ptrint instead of s8 in some places. + +2006-01-12 21:36 twisti + + * Use DISASSINSTR macro. + +2006-01-12 21:36 michi + + * Comment updated (for asm_cacheflush) + +2006-01-12 21:35 twisti + + * intrp_createcompilerstub, intrp_createnativestub, intrp_codegen: + Added. + * codegen.h: Include only for some archs. + * md-abi.h: Include only for arm. + * codegen_init: Changed #ifdef to ENABLE_JIT. + * codegen_createnativestub: Call reg_setup only for jit, #ifdef + createnativestub to support interpreter. + +2006-01-12 21:30 twisti + + * intrp_md_stacktrace_get_returnaddress: Added. + * cacao_stacktrace_fillInStackTrace: #ifdef + md_stacktrace_get_returnaddress + to support interpreter. + +2006-01-12 21:29 twisti + + * Seperate ENABLE_JIT and ENABLE_INTRP. + +2006-01-12 21:17 twisti + + * config.h: Added. + * intrp_patcher_get_putstatic, intrp_patcher_get_putfield, + intrp_patcher_aconst, intrp_patcher_builtin_multianewarray, + intrp_patcher_builtin_arraycheckcast, + intrp_patcher_invokestatic_special, + intrp_patcher_invokevirtual, intrp_patcher_invokeinterface, + intrp_patcher_checkcast_instanceof, intrp_patcher_resolve_native: + Likewise. + +2006-01-12 21:16 twisti + + * jit_compile_intern: #ifdef codegen call to support interpreter, use + DISASSEMBLE macro. + +2006-01-12 21:15 twisti + + * DISASSINSTR, DISASSEMBLE: Added. + +2006-01-12 21:14 twisti + + * Use ASM_CALLJAVAFUNCTION macro. + +2006-01-12 21:13 twisti + + * Use ASM_CALLJAVAFUNCTION_INT macro. + +2006-01-12 21:11 twisti + + * intrp_asm_calljavafunction, intrp_createcompilerstub, + intrp_asm_getclassvalues_atomic: Added. + +2006-01-12 21:08 twisti + + * Use ASM_CALLJAVAFUNCTION macros. + * main: #ifdef md_init call to support interpreter. + * link_class_intern: #ifdef createcompilerstub call to support + interpreter. + +2006-01-12 21:07 twisti + + * Use ASM_CALLJAVAFUNCTION macros. + +2006-01-12 21:06 twisti + + * Use ASM_CALLJAVAFUNCTION_ADR macro. + * Use ASM_CALLJAVAFUNCTION macro. + +2006-01-12 21:04 twisti + + * intrp_md_init: Added. + +2006-01-12 20:57 twisti + + * Check explicitly for isnan. + +2006-01-12 18:25 twisti + + * print_dynamic_super_statistics: Added from intrp. + +2006-01-12 18:09 michi + + * Included md-abi.h (needed for REG_SPLIT on Arm) + +2006-01-12 17:52 twisti + + * We have to use a machine dependent arch.h. + +2006-01-11 12:16 twisti + + * vm/jit/codegen.inc.h: Removed. + * Fixed compiler warnings. + +2006-01-11 10:35 twisti + + * ICMD_F2I, ICMD_D2I, ICMD_F2L, ICMD_D2L: #if 0. + +2006-01-11 10:01 twisti + + * SUPPORT_FMOD: Removed. + * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or + SUPPORT_L2F, + SUPPORT_L2D. + * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L. + * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D. + +2006-01-10 22:44 twisti + + * SUPPORT_FMOD: Removed. + * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or + SUPPORT_L2F, + SUPPORT_L2D. + * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L. + * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D. + +2006-01-10 22:38 twisti + + * SUPPORT_FMOD: Removed. + * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or + SUPPORT_L2F, + SUPPORT_L2D. + * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L. + * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D. + +2006-01-10 22:22 twisti + + * EXTRA_DIST: Added ChangeLog-2005. + +2006-01-10 22:18 twisti + + * SUPPORT_FMOD: Removed. + * SUPPORT_IFCVT: Replaced with SUPPORT_I2F, SUPPORT_I2D or + SUPPORT_L2F, + SUPPORT_L2D. + * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L. + * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D. + +2006-01-10 22:11 twisti + + * asm_getclassvalues_atomic: Replaced with ASM_GETCLASSVALUES_ATOMIC. + * SUPPORT_IFCVT: Replaced with SUPPORT_I2F or SUPPORT_I2D. + * SUPPORT_FICVT: Replaced with SUPPORT_F2I. + * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F. + * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2L or SUPPORT_D2L. + +2006-01-10 22:09 twisti + + * ASM_CALLJAVAFUNCTION, ASM_CALLJAVAFUNCTION_ADR, + ASM_CALLJAVAFUNCTION_INT, + ASM_CALLJAVAFUNCTION2, ASM_CALLJAVAFUNCTION2_ADR, + ASM_CALLJAVAFUNCTION2_INT, ASM_CALLJAVAFUNCTION2_LONG, + ASM_CALLJAVAFUNCTION2_FLOAT, ASM_CALLJAVAFUNCTION2_DOUBLE: Macros + added, + these macros hide the selection between jit and intrp functions. + * ASM_GETCLASSVALUES_ATOMIC: Likewise. + * intrp_asm_calljavafunction, intrp_asm_calljavafunction_int: Added. + * intrp_asm_calljavafunction2, intrp_asm_calljavafunction2int, + intrp_asm_calljavafunction2long, intrp_asm_calljavafunction2float, + intrp_asm_calljavafunction2double: Likewise. + * intrp_asm_getclassvalues_atomic: Likewise. + +2006-01-10 21:58 twisti + + * SUPPORT_IFCVT: Replaced with SUPPORT_I2F or SUPPORT_I2D. + * SUPPORT_LONG_FCVT: Replaced with SUPPORT_L2F or SUPPORT_L2D. + * SUPPORT_LONG_ICVT: Replaced with SUPPORT_F2I, SUPPORT_F2L or + SUPPORT_D2I, + SUPPORT_D2L. + +2006-01-10 21:11 twisti + + * exceptions_throw_negativearraysizeexception: Use + * builtin_throw_exception: #ifndef NDEBUG. + * builtin_trace_exception: Likewise. + * builtin_trace_args: Likewise. + * builtin_displaymethodstop: Likewise. + * builtin_*: #if the function regarding the defines in arch.h. + +2006-01-10 20:57 twisti + + * exceptions_throw_classformaterror, + exceptions_throw_arrayindexoutofboundsexception, + exceptions_throw_illegalargumentexception, + exceptions_throw_negativearraysizeexception, + exceptions_throw_nullpointerexception: Added. + * exceptions_print_exception: #ifndef NDEBUG. + +2006-01-10 20:56 twisti + + * exceptions_throw_classformaterror: Use this function. + +2006-01-10 20:55 twisti + + * exceptions_throw_nullpointerexception: Use this function. + +2006-01-10 20:50 twisti + + * exceptions_throw_nullpointerexception, + exceptions_throw_arrayindexoutofboundsexception: Use these + functions. + +2006-01-10 20:48 twisti + + * exceptions_throw_nullpointerexception, + exceptions_throw_illegalargumentexception: Use these functions. + +2006-01-10 20:46 twisti + + * exceptions_throw_illegalargumentexception, + exceptions_throw_negativearraysizeexception, + exceptions_throw_arrayindexoutofboundsexception, + exceptions_throw_nullpointerexception: Use these functions. + +2006-01-10 20:44 twisti + + * exceptions_throw_classformaterror, + exceptions_throw_negativearraysizeexception, + exceptions_throw_nullpointerexception: Added. + +2006-01-10 15:52 twisti + + * Not required anymore. + +2006-01-10 15:50 twisti + + * use_class_as_object, create_property, copy_vftbl, create_methodsig: + Removed. + * classMeth, nativeCall, methodCall, nativeMethod, nativeCompCall, + methodCompCall, nativeCompMethod: Likewise. + * natcall2utf, printNativeCall, markNativeMethodsRT: Likewise. + +2006-01-10 15:48 twisti + + * nativeCalls, nativeCompCalls: Removed. + * copy_vftbl, create_methodsig: Likewise. + * printNativeCall, printCompNativeCall, findNativeMethodCalls, + findNativeClassCalls, utfNativeCall, natcall2utf: Likewise. + +2006-01-10 10:59 twisti + + * codegen_ncode_increase: Typo. + +2006-01-09 20:52 twisti + + * disass_buf: Fixed typo. + +2006-01-09 20:28 twisti + + * disass_printf: Ooops, #ifdef was wrong. + +2006-01-09 20:19 twisti + + * Removed, we now link against libbfd and libopcodes. + * stdarg.h, string.h, assert.h, vm/jit/powerpc/dis-asm.h: Removed. + * dis-asm.h, stdio.h, vm/jit/disass.h: Added. + * myprintf, buffer_read_memory, perror_memory, generic_print_address, + generic_symbol_at_address, bfd_getb32, bfd_getl32, sprintf_vma: + Removed. + * Use disass-common.c stuff. + +2006-01-09 20:15 twisti + + * libarch_la_SOURCES: Removed dis-asm.h, ppc-dis.c, ppc-opc.c and + ppc.h. + +2006-01-09 19:21 twisti + + * assert.h, stdarg.h, vm/jit/x86_64/dis-asm.h: Removed. + * stdio.h, vm/jit/disass.h: Added. + * myprintf, buffer_read_memory, generic_symbol_at_address, + generic_print_address, perror_memory: Likewise. + * Use disass-common.c stuff. + +2006-01-09 16:37 twisti + + * string.h, vm/jit/i386/dis-asm.h: Removed. + * mylinebuf, mylen: Likewise. + * myprintf, buffer_read_memory, generic_symbol_at_address, + generic_print_address, perror_memory: Likewise. + * Use disass-common.c stuff. + +2006-01-09 16:36 twisti + + * WITH_BINUTILS_DISASSEMBLER: Added, define DISASS_OBJ. + * noinst_LTLIBRARIES: Added DISASS_OBJ. + +2006-01-09 16:30 twisti + + * This file contains the common functions required when we use the + binutils + disassembler. + +2006-01-09 16:29 twisti + + * WITH_BINUTILS_DISASSEMBLER: Added. + * disass_printf: Added. + +2006-01-09 16:26 twisti + + * WITH_BINUTILS_DISASSEMBLER: Added. + +2006-01-09 12:12 twisti + + * Removed, we now link against libbfd and libopcodes. + +2006-01-09 12:10 twisti + + * libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c. + +2006-01-09 10:37 twisti + + * AC_CHECK_HEADER checks for ansidecl.h, bfd.h and symcat.h removed. + * AC_CHECK_HEADER check for dis-asm.h added. + * AC_CHECK_LIB checks for libbfd and libopcodes added. + +2006-01-09 10:35 twisti + + * Removed, we now link against libbfd and libopcodes. + * libarch_la_SOURCES: Removed dis-asm.h and i386-dis.c, we now link + against + libbfd and libopcodes. + +2006-01-08 23:37 twisti + + * Updated from GNU Classpath: + + 2005-12-17 Guilhem Lavaux + + * native/fdlibm/fdlibm.h + (isnan): Define explicitly isnan if it is not a macro. + +2006-01-08 23:00 twisti + + * loader_load_all_classes: Print exception when loading failed. + +2006-01-08 22:38 twisti + + * SUCK_xx_xx: We can only optimize little endian loads on i386 and + x86_64 + machines. All others have problems with alignment. + +2006-01-08 22:12 twisti + + * Ignore *.class files. + +2006-01-08 22:11 twisti + + * java-assert.h: Unused, removed. + +2006-01-08 22:01 twisti + + * Added VM interface change to be consistent: + + 2005-11-13 Archie Cobbs + + * vm/reference/gnu/classpath/VMStackWalker.java (getClassLoader()): + added to fix an infinite loop bug. + * NEWS: note VM interface change. + +2006-01-08 21:32 twisti + + * suck_add: Check for lce != NULL before adding it to the list, since + zip_open can return NULL. + +2006-01-08 19:14 twisti + + * JAVAC: Removed. + +2006-01-08 19:13 twisti + + * SOURCE_FILES: Added. + * JAVAC: Removed. + * checkall: Renamed to check. + +2006-01-08 19:12 twisti + + * Use $(mkdir_p), $(JAVAC) and $(ZIP) variables. + +2006-01-08 19:11 twisti + + * AM_PROG_MKDIR_P: Added. + * Added headers checks for ansidecl.h, bfd.h, and symcat.h if we have + debugging enabled. + * AC_PROG_JAVAC: Added. + * AC_PATH_PROG: Added check for zip. + +2006-01-08 19:09 twisti + + * Macros to check for a Java compiler, taken from + http://ac-archive.sourceforge.net/. + +2006-01-04 09:35 twisti + + * Removed src/toolbox/avl.[ch] copyright. + +2006-01-04 09:34 twisti + + * avl_dump: Only print node->data. + +2006-01-03 23:46 twisti + + * Use new avl tree code. + * Rewritten. + +2006-01-03 23:44 twisti + + * exit_handler: Removed print_dynamic_super_statistics. + * print_stats: Added print_dynamic_super_statistics. + +2006-01-03 23:43 twisti + + * threads.h: Added. + * builtin.h: Likewise. + +2006-01-03 23:08 twisti + + * CallNonvirtualBooleanMethodA: Added missing ;. + +2006-01-03 23:05 twisti + + * ENABLE_STATISTICS: Fixed typo. + +2006-01-02 21:01 christian + + typeing error + +2006-01-02 17:13 twisti + + * nregdescint, nregdescfloat: Moved to md-abi.c. + +2006-01-02 17:12 twisti + + * nregdescint, nregdescfloat: Added. + +2006-01-02 17:11 twisti + + * noinst_HEADERS: Removed md-abi.inc. + +2006-01-02 16:40 twisti + + * signal_handler_sigsegv: Replaced functionptr with u1*. + +2006-01-02 16:18 twisti + + * nregdescint, nregdescfloat: Moved to md-abi.c. + +2006-01-02 16:17 twisti + + * nregdescint, nregdescfloat: Added. + * noinst_HEADERS: Removed md-abi.inc. + +2006-01-02 16:12 twisti + + * INCLUDES: Added OS_DIR, some archs have their md-abi.* files in the + os + directory. + +2006-01-02 16:08 christian + + *** empty log message *** + +2006-01-02 16:04 twisti + + * nregdescint, nregdescfloat: Moved to md-abi.c. + +2006-01-02 16:03 twisti + + * nregdescint, nregdescfloat: Added. + * noinst_HEADERS: Removed md-abi.inc. + +2006-01-02 14:32 christian + + Removed old debug message + +2006-01-02 14:26 twisti + + * md-abi.inc: Removed. + +2006-01-02 14:25 twisti + + * nregdescint, nregdescfloat: Moved to md-abi.c. + +2006-01-02 14:24 twisti + + * nregdescint, nregdescfloat: Added. + * noinst_HEADERS: Removed md-abi.inc. + +2006-01-02 14:11 christian + + Corrected \"\" to \<\> for system header include + +2006-01-02 14:07 twisti + + * nregdescint, nregdescfloat: Moved to md-abi.c. + * noinst_HEADERS: Removed md-abi.inc. + +2006-01-02 14:06 twisti + + * nregdescint, nregdescfloat: Added. + * disassinstr: Some code improvement. + +2006-01-02 14:05 twisti + + * md-abi.inc: Removed. + +2006-01-02 13:05 christian + + Changed register allocator .inc to .c files and moved them to + src/vm/jit/allocator + +2006-01-02 12:59 christian + + Changed register allocator .inc to .c files and moved them to + src/vm/jit/allocator + +2006-01-02 12:22 twisti + + * Fixed result message for debug. + +2006-01-02 12:10 twisti + + * Typo. + +2006-01-02 12:04 twisti + + * Added ltdl.h check. + +2006-01-02 11:34 twisti + + * Fixed ltdl.h include path. + +2006-01-02 01:34 twisti + + * Fixed ltdl.h include path. + +2006-01-02 01:15 twisti + + * I don't think we really need them, but they are still in Attic. + +2006-01-02 01:10 twisti + + * Generated changelog for 2005. + +2006-01-02 01:05 twisti + + * unzip.[ch], libffi, libltdl: Removed. + +2006-01-01 21:53 twisti + + * Removed libltdl. + +2006-01-01 21:38 twisti + + * We now use the system libltdl. + +2006-01-01 21:32 twisti + + * Changed text of kaffe's stuff, dalibor pointed this out. + +2006-01-01 21:29 twisti + + * AC_LIBLTDL_CONVENIENCE, AC_SUBST(LIBLTDL): Removed. + * AC_COMPILE_CHECK_SIZEOF: Replaced with AC_CHECK_SIZEOF. + +2006-01-01 21:22 twisti + + * m4 macros have a different copyright header. + +2006-01-01 21:13 twisti + + * Lists all third party software we use. This list contains all + stuff we + used in 0.93. Stuff that has been ripped will be deleted after that + commit, this is for the records. + +2006-01-01 20:55 twisti + + * Not required. + +2006-01-01 19:39 twisti -2006-01-01 19:33 twisti + * Removed libltdlc.la. + * DIST_SUBDIRS: Removed libltdl. + * SUBDIRS: Likewise. - * src/vm/jit/x86_64/Makefile.am: - * libarch_la_SOURCES: Removed symcat.h. +2006-01-01 19:38 twisti -2006-01-01 19:30 twisti + * Added libltdl check. + * AC_CONFIG_SUBDIRS: Removed src/libltdl. - * src/vm/jit/i386/disass.c: - * generic_symbol_at_address: Print only 8 bytes. +2006-01-01 18:39 twisti -2006-01-01 19:21 twisti + * libarch_la_SOURCES: Removed symcat.h. - * src/vm/jit/i386/: ansidecl.h, bfd.h, dis-buf.c, symcat.h: - * Use system ones. +2006-01-01 18:34 twisti -2006-01-01 19:21 twisti + * Use system one. - * src/vm/jit/i386/disass.c: - * generic_symbol_at_address: Added, they were implemented in - dis-buf.c which was removed. - * generic_print_address: Likewise. - * perror_memory: Likewise. +2006-01-01 18:33 twisti -2006-01-01 19:20 twisti + * libarch_la_SOURCES: Removed symcat.h. - * src/vm/jit/i386/Makefile.am: - * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c. +2006-01-01 18:30 twisti -2006-01-01 19:20 twisti + * generic_symbol_at_address: Print only 8 bytes. - * src/vm/jit/i386/md.c: - * config.h, vm/jit/codegen-common.h: Added. +2006-01-01 18:21 twisti -2006-01-01 19:10 twisti + * Use system ones. + * generic_symbol_at_address: Added, they were implemented in dis-buf.c + which was removed. + * generic_print_address: Likewise. + * perror_memory: Likewise. - * src/vm/jit/arm/codegen.c: - * vm/jit/codegen.inc: Removed. - * vm/exceptions.h: Added. - * vm/jit/codegen-common.h: Likewise. - * vm/jit/dseg.h: Likewise. - * codegen: Renamed codegen_createlinenumbertable to - dseg_createlinenumbertable. +2006-01-01 18:20 twisti -2006-01-01 19:10 twisti + * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c. + * config.h, vm/jit/codegen-common.h: Added. - * src/vm/jit/arm/codegen.h: - * COUNT_SPILLS: Removed. +2006-01-01 16:40 twisti -2006-01-01 17:40 twisti + * Changed include to use system headers. - * src/vm/jit/x86_64/dis-asm.h: - * Changed include to use system headers. +2006-01-01 16:39 twisti -2006-01-01 17:39 twisti + * Use system ones. + * generic_symbol_at_address: Added, they were implemented in dis-buf.c + which was removed. + * generic_print_address: Likewise. + * perror_memory: Likewise. - * src/vm/jit/x86_64/: ansidecl.h, bfd.h, dis-buf.c: - * Use system ones. +2006-01-01 16:37 twisti -2006-01-01 17:39 twisti + * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c. - * src/vm/jit/x86_64/disass.c: - * generic_symbol_at_address: Added, they were implemented in - dis-buf.c which was removed. - * generic_print_address: Likewise. - * perror_memory: Likewise. +2006-01-01 16:35 twisti -2006-01-01 17:37 twisti + * DEC OSF cc only defines __alpha. - * src/vm/jit/x86_64/Makefile.am: - * libarch_la_SOURCES: Removed ansidecl.h, bfd.h and dis-buf.c. +2006-01-01 16:34 twisti -2006-01-01 17:35 twisti + * class_resolvefield: Renamed except to throwexception since some + compilers + have a builtin except macro (like DEC OSF cc). + * class_resolveclassmethod: Likewise. + * class_resolveinterfacemethod: Likewise. - * src/fdlibm/ieeefp.h: - * DEC OSF cc only defines __alpha. +2006-01-01 16:31 twisti -2006-01-01 17:34 twisti + * zip_open: Handle compiler error with DEC OSF's cc. - * src/vm/: class.c, class.h: - * class_resolvefield: Renamed except to throwexception since some - compilers have a builtin except macro (like DEC OSF cc). - * class_resolveclassmethod: Likewise. - * class_resolveinterfacemethod: Likewise. +2005-12-30 20:45 twisti -2006-01-01 17:31 twisti + * vm/jit/codegen.inc: Removed. + * vm/exceptions.h: Added. + * vm/jit/codegen-common.h: Likewise. + * vm/jit/dseg.h: Likewise. + * codegen: Renamed codegen_createlinenumbertable to + dseg_createlinenumbertable. - * src/vm/zip.c: - * zip_open: Handle compiler error with DEC OSF's cc.