+2006-10-30 23:52 twisti
+
+ * configure.ac (AC_INIT): Changed version to 0.97.
+ (--enable-threads): Removed green from help string.
+
+2006-10-30 13:03 twisti
+
+ * src/vm/jit/show.c (show_method): Removed debug output.
+ (SHOW_INT_CONST): Removed long cast and print hex value additionally.
+ (SHOW_LNG_CONST): Removed long long cast and print hex value
+ additionally. Also added version for SIZEOF_VOID_P == 4.
+ (SHOW_ADR_CONST): Added.
+ (SHOW_FLT_CONST): Print hex value additionally.
+ (SHOW_DBL_CONST): Likewise. Also added version for SIZEOF_VOID_P == 4.
+ (show_icmd): Smaller changes.
+
+2006-10-30 12:27 twisti
+
+ * src/threads/native/threads.h (MUTEXSIM): Removed.
+ (pthread_mutex_rec_t): Likewise.
+ (pthread_mutex_init_rec): Likewise.
+ (pthread_mutex_destroy_rec): Likewise.
+ (pthread_mutex_lock_rec): Likewise.
+ (pthread_mutex_unlock_rec): Likewise.
+ * src/threads/native/threads.c (pthread_mutex_init_rec): Removed.
+ (pthread_mutex_destroy_rec): Likewise.
+ (pthread_mutex_lock_rec): Likewise.
+ (pthread_mutex_unlock_rec): Likewise.
+ (compiler_lock): Use pthread functions.
+ (compiler_unlock): Likewise.
+ (threads_cast_darwinstop): Warning fixes and use vm_abort.
+ (threads_cast_darwinresume): Use vm_abort.
+ (threads_cast_stopworld): Warning fixes.
+ (pthreads_preinit) [!MUTEXSIM]: Removed code.
+
+2006-10-30 11:52 edwin
+
+ * src/vm/jit/intrp/intrp.h (Cell): Moved the typedef upward, so we can
+ use it in other headers.
+ (global_sp): Does not need the complex casts anymore.
+
+ * src/threads/native/threads.h (threadobject): Made _global_sp a
+ Cell*.
+ * src/threads/native/threads.c: Likewise.
+
+2006-10-30 11:21 edwin
+
+ * src/mm/memory.h (ALIGN): Renamed to MEMORY_ALIGN.
+ * src/mm/memory.c: Likewise.
+ * src/vm/jit/dseg.c: Likewise.
+ * src/vm/jit/parse.c: Likewise.
+ * src/vm/jit/codegen-common.c: Likewise.
+ * src/vm/linker.c: Likewise.
+ * src/mm/nogc.c: Likewise.
+ * src/cacaoh/headers.c: Likewise.
+
+2006-10-30 11:04 edwin
+
+ * src/threads/native/threads.c (threads_dump): Cast pthread_t to long
+ for printing it.
+
+2006-10-30 11:00 edwin
+
+ * src/vm/jit/cfg.c (cfg_build): Removed set-but-not-used variable (m).
+ * src/vm/jit/ifconv/ifconv.c (check): Likewise (cd).
+ * src/vm/jit/stack.c (stack_reanalyse_block): Likewise (maythrow).
+ (stack_analyse): Likewise (code, b_index).
+ * src/vm/jit/show.c (show_basicblock): Likewise (m).
+ * src/vm/jit/mips/emit.c (emit_copy): Likewise (rd).
+ * src/vm/jit/parse.c (parse): Likewise (code).
+ * src/vm/exceptions.c (exceptions_handle_exception): Likewise
+ (framesize).
+
+2006-10-30 10:32 edwin
+
+ * src/vm/jit/verify/typecheck-common.c (typecheck_init_flags): Removed
+ set-but-not-used variable `i`.
+
+2006-10-30 10:31 edwin
+
+ * src/vm/jit/verify/typecheck-builtins.inc: Removed set-but-not-used
+ variable `cls`.
+
+2006-10-30 10:15 edwin
+
+ * src/vm/jit/alpha/codegen.c (codegen): Zero `uf` to avoid warning.
+
+2006-10-30 00:45 edwin
+
+ * src/vm/builtin.c (builtin_print_argument): Made logtextlen an in/out
+ argument. Correctly reallocate logtext, increase logtextlen.
+ (builtin_trace_args): Pass &logtextlen to builtin_print_argument.
+ (builtin_displaymethodstop): Likewise.
+
+2006-10-29 23:43 edwin
+
+ * src/vm/jit/jit.h (stackelement): Removed the obsolete fields
+ `typeinfo` and `regoff`.
+
+2006-10-29 23:37 edwin
+
+ * src/vm/jit/stack.c (stack_grow_variable_array): Zero the additional
+ space when reallocating the jd->var array.
+
+ * src/vm/jit/parse.c (parse_realloc_instructions): Zero the
+ additional space when reallocating the instructions array.
+
+2006-10-29 23:33 edwin
+
+ * src/vm/jit/parse.c (parse): Fix in ICMD_TABLESWITCH: Put table into
+ dump memory.
+
+2006-10-29 23:23 edwin
+
+ * NEWS: Typo fixed.
+
+2006-10-29 16:21 edwin
+
+ * src/vm/suck.c (stdlib.h): Include to avoid warning about `free`.
+
+2006-10-29 16:14 edwin
+
+ * src/vm/suck.c (suck_add_from_property): Use `free` to free memory
+ coming out of the C library - it has not been allocated with M?NEW,
+ so M?FREE is wrong here.
+
+2006-10-29 14:49 twisti
+
+ * src/vm/builtin.c (builtin_print_argument): Print float/double values
+ with %g and addresses as hex.
+ (builtin_trace_args): Fixed message length calclation.
+ (builtin_displaymethodstop): Fixed bug: we only passed the long value.
+
+2006-10-29 11:15 edwin
+
+ * src/cacaoh/headers.c (vm_abort): Print the error message before
+ aborting.
+
+2006-10-28 19:40 twisti
+
+ * NEWS: New news.
+
+2006-10-28 19:26 twisti
+
+ * src/vm/jit/dseg.c (dseg_find_float): Compare hex value.
+ (dseg_find_double): Likewise.
+
+2006-10-28 17:45 twisti
+
+ * NEWS: Added some stuff.
+
+2006-10-28 17:15 edwin
+
+ * NEWS: Added news for CACAO 0.97.
+
+2006-10-28 16:55 edwin
+
+ * src/vm/jit/jit.c (stackreq): Fixed for DUP/SWAP instructions. The
+ numbers for DUP2_X1 and DUP2_X2 were also wrong before the new IR
+ had been introduced. The new IR in addition needs extra temps in some
+ cases, thus the numbers before the 'plus' operators.
+
+2006-10-28 16:51 edwin
+
+ * src/vm/jit/stack.c (stack_analyse): Store vartop in jitdata.
+
+ * src/vm/jit/show.c (show_method): Show number of variables.
+
+ * tests/regression/jasmin/test_many_dup2_x2.j: New test.
+ * tests/regression/jasmin/test_many_dup.j: Likewise.
+ * tests/regression/jasmin/test_many_dup_x2.j: Likewise.
+ * tests/regression/jasmin/test_many_swap.j: Likewise.
+ * tests/regression/jasmin/test_many_dup2.j: Likewise.
+ * tests/regression/jasmin/test_many_dup2_x1.j: Likewise.
+ * tests/regression/jasmin/test_many_dup_x1.j: Likewise.
+
+ * tests/regression/jasmin/Makefile.am: Added new tests.
+
+2006-10-28 15:21 edwin
+
+ * src/vm/jit/stack.c (stackdata_t): Added field varsallocated.
+ (stack_grow_variable_array): Smarted memory allocation.
+ (stack_analyse): Initialize sd.varsallocated.
+
+2006-10-28 13:02 edwin
+
+ * src/vm/access.c (ACCESS_ASSERT): Replaced with assert. Because of
+ a mistake in the definition of ACCESS_DEBUG, ACCESS_ASSERT always
+ was a NOP!
+ (access_is_accessible_member): Fixed assertion.
+
+2006-10-28 12:53 edwin
+
+ * src/vm/loader.c (LOADER_ASSERT): Replaced with assert.
+
+2006-10-28 12:49 edwin
+
+ * src/vm/class.c (CLASS_ASSERT): Replaced by assert.
+
+2006-10-28 12:47 edwin
+
+ * src/vm/class.c (class_array_of): Release dump memory.
+ (class_multiarray_of): Likewise.
+ (class_get_classref_multiarray_of): Likewise.
+
+2006-10-27 10:41 twisti
+
+ * src/vm/vm.c: Renamed -Xglibj to -Xbootclasspath/c to match jamvm's
+ option (Robert, Mark and I decided that once).
+ (vm_create): Removed unnecessary k. #ifdef'd the profiling stuff.
+ (vm_run): Removed commented code.
+ * src/vm/options.c, src/vm/options.h [ENABLE_PROFILING] (opt_prof)
+ (opt_prof_bb): Added.
+ * src/vm/jit/jit.c (jit_compile) [ENABLE_PROFILING]: Added for
+ opt_prof stuff.
+ [ENABLE_VERIFIER]: Added for flag setting.
+ * src/vm/jit/codegen-common.c (codegen_createnativestub)
+ [ENABLE_PROFILING]: Added for opt_prof stuff.
+
+2006-10-26 16:41 edwin
+
+ * src/vm/jit/alpha/codegen.c (codegen): Declare variables at the start
+ of codegen (uf, fi).
+
+2006-10-26 12:05 twisti
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Made fieldinfo and
+ unresolved_field fucntion variables, fieldtype was uninitialized for
+ PUTFIELD.
+
+2006-10-26 11:57 twisti
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Made fieldinfo and
+ unresolved_field function variables (it makes the code more readable).
+
+2006-10-26 11:47 edwin
+
+ * src/vm/jit/alpha/codegen.c (codegen): Fixed ICMD_PUTFIELD: Set
+ fieldtype before it is used. Fixed warnings.
+
+ * src/vm/jit/mips/codegen.c (codegen): Prevent warnings.
+
+2006-10-26 11:35 twisti
+
+ * NEWS: Added some 0.97 news.
+
+2006-10-26 11:30 twisti
+
+ * src/vm/exceptions.c (exceptions_print_exception): Removed [!NDEBUG]
+ condition, as we may need this function in the VM (e.g. recompile).
+ * src/vm/jit/recompile.c (vm/exceptions.h): Added.
+ (recompile_thread): Call exceptions_print_exception in exception case.
+
+2006-10-26 11:29 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): Initialize uf to NULL for
+ resolved fields, to avoid warnings.
+
+ * src/vm/jit/intrp/engine.c (engine): Initialize
+ classcastexception_object and arrayindexoutofbounds_index to avoid
+ warnings.
+
+2006-10-26 11:23 edwin
+
+ * src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Read inline
+ info from instruction, ported to new instruction format.
+ (dseg_addlinenumber_inline_end): Likewise.
+
+2006-10-26 11:19 edwin
+
+ * src/vm/jit/show.c (show_icmd): Fixed warning fix.
+
+2006-10-26 11:18 edwin
+
+ * src/threads/native/threads.c (threads_table_dump): Fix warning (the
+ function is currently unused, but may become handy again.)
+
+2006-10-26 11:15 edwin
+
+ * src/vm/jit/show.c (show_method): Fixed warning.
+ (show_basicblock): Likewise.
+ (show_icmd): Likewise.
+
+2006-10-26 11:04 twisti
+
+ * src/vm/jit/x86_64/md.h: Removed.
+ * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Removed md.h.
+ * src/vm/jit/x86_64/codegen.c (md.h): Removed.
+ (codegen): Warning fix.
+
+2006-10-26 10:34 twisti
+
+ * src/vm/jit/mips/md-abi.h: Fixed MIPS64 compilation and backported
+ some MIPS32 stuff.
+
+2006-10-26 10:09 twisti
+
+ * src/vm/descriptor.h (paramdesc): We need a type for MIPS32, as the
+ type in the allocated argument register may be different to the actual
+ register (e.g. passing a float in an integer register).
+
+2006-10-26 09:55 twisti
+
+ * src/vm/jit/mips/codegen.c (codegen): More comment and brace changes.
+
+2006-10-26 09:44 twisti
+
+ * src/vm/jit/mips/codegen.c (codegen): Comment and brace changes.
+
+2006-10-26 09:29 twisti
+
+ * src/vm/jit/mips/md-asm.h: Renamed t8 to t4 and removed t9, as it's
+ actually itmp3.
+ * src/vm/jit/mips/asmpart.S: Likewise.
+
+2006-10-25 14:26 tbfg
+
+ * src/vm/jit/powerpc64/linux/md-abi.c (_ALIGN): Renamed to
+ CACAO_ALIGN because of name clash with /usr/include/asm-ppc64/page.h.
+
+ * src/vm/jit/powerpc64/emit.c (emit_lconst): Added.
+ (emit_iconst): Reformatted.
+
+ * src/vm/jit/powerpc64/codegen.c (codegen):
+ Replaced all stackframesize with cd->stackframesize.
+ Implemented ICMD_IF_LLT, ICMD_IF_LLE, ICMD_IF_LGE, ICMD_IF_LGT.
+
+ * src/vm/jit/powerpc64/asmpart.S:
+ Partially fixed exception path.
+ (asm_cacheflush): Fixed.
+
+ * src/vm/jit/powerpc64/codegen.h (LCONST): Implemented.
+
+ * tests/if_tests.java: Added simple testcase for if and compare.
+
+2006-10-24 23:24 edwin
+
+ * src/vm/utf8.h, src/vm/utf8.c (utf8_safe_number_of_u2s): Modified to
+ completely emulate the behaviour of the RI in case of truncated UTF-8
+ characters. This requires an extra strlen(text) beforehand. We still
+ require zero-termination. We could drop that with a few extra changes,
+ should we find other uses for these functions.
+ (utf8_safe_convert_to_u2s): Likewise.
+
+ * src/vm/string.c (javastring_safe_new_from_utf8): Pass number of
+ bytes to the decoding functions.
+
+2006-10-24 17:51 edwin
+
+ * src/vm/utf8.c (utf8_safe_number_of_u2s): Skip only bytes beginning
+ with high bits 10 in invalid sequences.
+ (utf8_safe_convert_to_u2s): Likewise.
+
+2006-10-24 16:41 edwin
+
+ * src/vm/utf8.h, src/vm/utf8.c (utf8_safe_number_of_u2s): New
+ function.
+ (utf8_safe_convert_to_u2s): Likewise.
+
+ * src/vm/stringlocal.h, src/vm/string.c
+ (javastring_safe_new_from_utf8): New function.
+
+ * src/native/jni.c (_Jv_JNI_NewStringUTF): Use the new functions for
+ safe UTF-8 decoding.
+
+2006-10-24 11:17 twisti
+
+ * src/vm/jit/dseg.c (dseg_display): Rewritten.
+
+2006-10-22 04:28 ajordan
+
+ * src/vm/jit/sparc64/codegen.h: fixed M_SAVE.
+
+ * src/vm/jit/sparc64/disass.c: configuring disass for big-endian.
+
+2006-10-22 02:49 ajordan
+
+ * src/vm/jit/sparc64/emit.c: Implemented trace enter/exit functions.
+ * src/vm/jit/sparc64/codegen.c: Likewise.
+
+ * src/vm/jit/sparc64/md.c: Implemented md_get_method_patch_address.
+
+ * src/vm/jit/sparc64/asmpart.S(asm_call_jit_compiler): Fixed window
+ handling
+
+ * src/vm/jit/sparc64/disass.c: Fixed disassembly printing.
+
+ * src/vm/jit/sparc64/md-abi.h: Minor changes/fixes.
+ * src/vm/jit/sparc64/codegen.h: Likewise.
+ * src/vm/jit/sparc64/md-asm.h: Likewise.
+
+2006-10-22 00:38 edwin
+
+ * src/vm/jit/jit.c (jit_asm_compile): Fixed xpc for extern
+ stackframeinfo by subtracting 1 from the return address.
+ This fixes stacktraces when exceptions are thrown out of
+ the compiler.
+
+ * tests/regression/extest.2output: Changed line numbers to
+ the values same the RI returns, which are correct upon inspection
+ of the Java code.
+
+2006-10-21 15:06 edwin
+
+ * src/vm/jit/parse.c (parse): Bugfix for -noverify: Do not make the
+ variable array dependant on jd->flags, as this breaks stack_analyse.
+
+2006-10-20 18:35 twisti
+
+ * src/vm/jit/mips/codegen.c (md.h): Removed.
+ * src/vm/jit/mips/md.h: Removed.
+ * src/vm/jit/mips/Makefile.am (libarch_la_SOURCES): Removed md.h.
+
+2006-10-20 14:53 twisti
+
+ * src/vm/jit/jit.c (jit_init) [ENABLE_JIT]: Call stack_init only for
+ JIT.
+ [ENABLE_JIT] (jit_asm_compile): Only for JIT.
+
+ * src/vm/jit/Makefile.am (SUBDIRS) [ENABLE_JIT]: Add allocator only
+ for JIT.
+ (libjit_la_SOURCES) [ENABLE_JIT]: Compile reg.[ch], replace.[ch] and
+ stack.[ch] only for JIT.
+
+ * src/cacaoh/headers.c [ENABLE_INTRP] (intrp_asm_abstractmethoderror):
+ Added.
+
+2006-10-20 14:26 twisti
+
+ * src/vm/linker.c (link_class_intern): Handle AbstractMethodError for
+ interpreter (missed this one in the last commit).
+
+2006-10-20 14:22 twisti
+
+ * src/vm/jit/intrp/asmpart.c (intrp_asm_abstractmethoderror): Added.
+ * src/vm/jit/asmpart.h [ENABLE_INTRP] (intrp_asm_abstractmethoderror):
+ Likewise.
+ * src/vm/linker.c (linker_addinterface): Handle AbstractMethodError
+ for interpreter.
+
+2006-10-20 13:58 twisti
+
+ * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Removed
+ unused ld_library_path.
+
+2006-10-20 13:54 twisti
+
+ * src/vm/suck.c (vm/vm.h): Added.
+ (bootclasspath, classpath): Removed.
+ (suck_add_from_property): Prefix bootclasspath with _Jv_.
+ * src/vm/suck.h (bootclasspath, classpath): Removed.
+
+ * src/vm/vm.c (_Jv_bootclasspath, _Jv_classpath)
+ (_Jv_java_library_path): Added.
+ (version): Prefix bootclasspath with _Jv_.
+ (vm_create): Likewise, set _Jv_java_library_path to LD_LIBRARY_PATH
+ before handling commandline options.
+ * src/vm/vm.h (_Jv_bootclasspath, _Jv_classpath)
+ (_Jv_java_library_path): Added.
+
+ * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Prefix
+ bootclasspath and classpath with _Jv_, use _Jv_java_library_path for
+ setting java.library.path.
+
+ * src/cacao/cacao.c (main): First let dlopen try to open libjvm at
+ it's default locations.
+ * src/native/native.c (native_init): Likewise.
+
+ * src/cacaoh/headers.c (_Jv_bootclasspath): Added.
+
+ * contrib/setenvinstalled.in: Set LD_LIBRARY_PATH again.
+ * contrib/setenvsource.in: Likewise.
+
+ * tests/regression/native/Makefile.am (JAVAFLAGS): Removed
+ -Djava.library.path=.
+ (check): Set LD_LIBRARY_PATH.
+ * tests/regression/codepatching/Makefile.am (check): Likewise.
+ * tests/regression/Makefile.am: Likewise.
+
+2006-10-20 13:09 twisti
+
+ * src/vm/signal.c (signal_init): Added dummy allocation to install
+ Boehm's signal handlers.
+ * src/threads/native/threads.c (threads_preinit): Removed dummy
+ allocation.
+
+ * src/vm/vm.c (vm_create): Call threads_preinit before gc_init.
+ * src/cacaoh/cacaoh.c (main): Likewise.
+
+2006-10-20 12:00 twisti
+
+ * src/vm/exceptions.c [ENABLE_JIT] (exceptions_handle_exception): Only
+ required for JIT.
+
+2006-10-20 00:37 ajordan
+
+ * src/mm/memory.c: fixed typo in _no_threads_dumpinfo definition
+
+2006-10-19 10:10 twisti
+
+ * src/threads/native/threads.c (threads_interrupt_thread): Renamed to
+ threads_thread_interrupt, send thread a SIGHUP singal to interrupt
+ blocking system calls (thanks to Robert Schuster).
+ (threads_dump): Removed threads_sleep call.
+
+ * src/threads/native/threads.h (threads_interrupt_thread): Renamed to
+ threads_thread_interrupt.
+ * src/native/vm/java_lang_VMThread.c (interrupt): Likewise.
+ * src/native/jvmti/jvmti.c (InterruptThread): Likewise.
+
+ * src/vm/signal.c (signal_init): Register SIGHUP.
+ (signal_handler_sighup): Added.
+
+2006-10-19 09:32 twisti
+
+ * src/vm/jit/stacktrace.c (stacktrace_dump_trace): Changed signature.
+ * src/vm/jit/stacktrace.h: Likewise.
+
+ * src/vm/jit/codegen-common.c (codegen_get_pv_from_pc): Pass
+ threadobject to stacktrace_dump_trace.
+
+ * src/vm/signal.c (signal_init): Don't register SIGUSR1.
+ (signal_handler_sigusr1): Removed.
+
+ * src/native/jni.h: Include GNU Classpath JNI header before we define
+ our header.
+ (localref_table): Forward typedef.
+
+ * src/threads/native/threads.c (threads_dump): Pass threadobject to
+ stacktrace_dump_trace.
+
+ * src/cacaoh/headers.c (stacktrace_dump_trace): Added.
+
+2006-10-19 09:27 twisti
+
+ * src/threads/native/threads.h (threadobject, threads_table_entry_t)
+ (threads_table_t): Forward typedef.
+ (threadobject): Changed dumpinfo to dumpinfo_t.
+
+2006-10-19 09:25 twisti
+
+ * src/mm/memory.h (dumpblock): Postfixed with _t and moved before
+ internal includes, as we have some problems with threadobject.
+ (dumpinfo): Likewise.
+ * src/mm/memory.c: Postfixed dumpblock and dumpinfo with _t.
+
+2006-10-19 09:23 twisti
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Warning fixes.
+
+2006-10-18 16:55 edwin
+
+ * src/vm/jit/codegen-common.c (codegen_createnativestub): Initialize
+ jd->flags to zero.
+
+2006-10-18 16:27 edwin
+
+ * tests/regression/jasmin/runtest: Removed debugging `tee TEST`.
+ * tests/regression/jasmin/Makefile.am (CLEANFILES): Added file
+ TESTSIA.
+
+2006-10-18 16:19 edwin
+
+ * tests/regression/jasmin/Makefile.am (SOURCE_FILES): Use EXTRA_DIST,
+ instead.
+
+2006-10-18 15:57 edwin
+
+ * src/vm/jit/i386/linux/Makefile.am (noinst_HEADERS): Added md-asm.h.
+ * src/vm/jit/i386/freebsd/Makefile.am (noinst_HEADERS): Likewise.
+
+2006-10-18 15:27 twisti
+
+ * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added powerpc64.
+
+2006-10-18 15:19 twisti
+
+ * src/vm/jit/Makefile.am (DIST_SUBDIRS): Added optimizing.
+
+2006-10-18 15:14 twisti
+
+ * src/vm/jit/sparc64/Makefile.am (libarch_la_SOURCES): Removed md.h.
+
+2006-10-18 15:09 twisti
+
+ * src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Renamed md-emit.h
+ to emit.h.
+
+2006-10-18 15:04 twisti
+
+ * configure.ac (AC_INIT): Changed to version 0.97rc.
+ (CFLAGS): Changed to -O2.
+
+2006-10-18 14:53 edwin
+
+ * tests/regression/jasmin/Makefile.am: Temporarily disable failing
+ tests for the release.
+ * src/vm/jit/stack.c (stack_analyse): Check field type when creating
+ a PUTFIELDCONST/PUTSTATICCONST instruction.
+
+2006-10-16 09:59 edwin
+
+ * src/vm/jit/parse.c (parse_resolve_exception_table): Do not use
+ codegendata.
+ (parse): Likewise.
+
+ * src/vm/jit/stack.c (stack_analyse): Likewise.
+
+2006-10-16 09:02 twisti
+
+ * src/vm/jit/allocator/simplereg.c [ENABLE_STATISTICS]
+ (simplereg_make_statistics): Don't print this INREGISTER stuff.
+
+2006-10-16 08:53 twisti
+
+ * src/vm/jit/jit.c (jit_compile_intern) [ENABLE_STATISTICS]:
+ exceptiontablelength is now in jitdata.
+
+2006-10-16 00:05 ajordan
+
+ * src/vm/jit/sparc64/codegen.c: Ported to unified variables.
+ * src/vm/jit/sparc64/emit.c: Likewise.
+
+ * src/vm/jit/sparc64/md.c: Implemented md_codegen_get_pv_from_pc.
+
+ * src/vm/jit/sparc64/codegen.h: Some fixes.
+ * src/vm/jit/sparc64/asmpart.S: Likewise.
+
+2006-10-15 22:44 edwin
+
+ * src/vm/linker.c (link_class_intern): Removed unused variable.
+
+2006-10-15 22:25 edwin
+
+ * src/vm/jit/jit.h (exception_entry): New struct.
+ (jitdata): Added exceptiontable fields. Cleaned up.
+
+ * src/vm/exceptions.h (exceptionentry): Removed.
+
+ * src/vm/jit/dseg.h (dseg_exception_entry): New struct.
+
+ * src/vm/jit/stack.h (BLOCK_OF): Moved to parse.h.
+ * src/vm/jit/parse.h (BLOCK_OF): Added.
+
+ * src/vm/jit/codegen-common.h (codegendata): Removed exceptiontable
+ and exceptiontablelength.
+
+ * src/vm/loader.c (load_method): Renamed m->exceptiontable* to
+ m->rawexceptiontable*.
+ (load_class_from_classbuffer): Likewise.
+ * src/vm/method.c (method_free): Likewise.
+
+ * src/vm/method.h (methodinfo): Renamed m->exceptiontable* to
+ m->rawexceptiontable*.
+ (exceptiontable): Renamed to raw_exception_entry. Removed fields that
+ are only used in jd->exceptiontable.
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Moved exceptiontable to jd,
+ renamed struct exceptiontable to exception_entry.
+ * src/vm/jit/sparc64/codegen.c (codegen): Likewise.
+ * src/vm/jit/alpha/codegen.c (codegen): Likewise.
+ * src/vm/jit/stack.c (stackdata_t): Likewise.
+ (stack_analyse): Likewise.
+ (stack_reanalyse_block): Likewise.
+ * src/vm/jit/optimizing/graph.c (graph_add_exceptions): Likewise.
+ * src/vm/jit/show.c (show_method): Likewise.
+ * src/vm/jit/verify/typecheck-common.h (verifier_state): Likewise.
+ * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
+ * src/vm/jit/verify/typecheck-stackbased.c (typecheck_stackbased):
+ Likewise.
+ * src/vm/jit/mips/codegen.c (codegen):
+ * src/vm/jit/loop/loop.h (LoopContainer): Likewise.
+ * src/vm/jit/loop/analyze.c (analyze_nested): Likewise.
+ (analyze_or_exceptions): Likewise.
+ (update_internal_exceptions): Likewise.
+ (create_static_checks): Likewise.
+ (optimize_loops): Likewise.
+ * src/vm/jit/inline/inline.c (test_inlining): Likewise.
+ * src/vm/jit/allocator/lsra.c (lsra_add_exceptions): Likewise.
+ * src/vm/jit/i386/codegen.c (codegen): Likewise.
+ * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
+ * src/vm/jit/intrp/codegen.c (codegen): Likewise.
+ * src/vm/jit/schedule/schedule.h (M_SCHEDULE_SET_EXCEPTION_POINT):
+ Likewise.
+ * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
+ * src/vm/jit/jit.c (jit_compile_intern): Likewise.
+ (jit_jitdata_new): Initialize exceptiontable fields.
+
+ * src/vm/jit/codegen-common.c (codegen_setup): Removed exceptiontable
+ fields.
+
+ * src/vm/jit/parse.c (parse_mark_exception_boundaries): New function.
+ (parse_resolve_exception_table): New function.
+ (fillextable): Removed.
+ (parse): Use parse_mark_exception_boundaries and
+ parse_resolve_exception_table. Write the basicblockindex for the end
+ marker block.
+
+ * src/vm/jit/intrp/asmpart.c (exceptionentry): Renamed to
+ dseg_exception_entry.
+ * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
+
+ * src/vm/linker.c (link_class_intern): Do not resolve exception
+ classes here. This is now done in parse.c.
+
+2006-10-15 13:52 edwin
+
+ * src/vm/jit/jit.h: Indentation cleanup.
+
+2006-10-15 13:37 edwin
+
+ * src/vm/jit/jit.h (flags_operand_t): Removed `fields` struct. It was
+ not safe to use, as defined.
+
+2006-10-15 13:19 edwin
+
+ * src/vm/jit/jit.h (flags_operand_t): Removed unused argcount.
+ (ACONST_LOAD): Removed.
+ (ACONST_BUILTIN): Removed.
+
+2006-10-15 12:59 edwin
+
+ * src/vm/method.h (methodinfo): Removed c_block_nr.
+ * src/vm/jit/jit.h (jitdata): Removed c_block_nr.
+ (BASICBLOCK_INIT): Do not set bptr->nr here.
+
+ * src/vm/jit/jit.c (jit_compile_intern): Renumber basic blocks after
+ transformations.
+ (jit_check_basicblock_numbers): Made stricter.
+
+ * src/vm/jit/stack.c (stack_append_block): Set basic block numbers
+ correctly.
+ (stack_clone_block): Do not set bptr->nr here.
+
+ * src/vm/jit/verify/typecheck.c (typestate_reach): Use the correct
+ check for setting the repeat flag.
+ (typecheck): Check basic block numbers.
+
+ * src/vm/jit/verify/typecheck-stackbased.c (typecheck_stackbased):
+ Check basic block numbers.
+
+ * src/vm/jit/loop/analyze.c (copy_handler): Do not use c_block_nr.
+ (create_static_checks): Likewise.
+ * src/vm/jit/inline/inline.c (create_block): Likewise.
+ * src/vm/jit/parse.c (parse): Likewise.
+
+2006-10-15 12:20 edwin
+
+ * src/vm/jit/jit.c (jit_renumber_basicblocks): New function.
+ (jit_check_basicblock_numbers): Likewise.
+ (jit_init): Removed obsolete variable `i`.
+
+ * src/vm/jit/jit.h (jit_renumber_basicblocks): New function.
+ (jit_check_basicblock_numbers): Likewise.
+
+2006-10-14 19:12 twisti
+
+ * src/native/jni.c (_Jv_JNI_DetachCurrentThread): Made
+ --disable-threads-safe.
+
+2006-10-13 18:29 edwin
+
+ * tests/regression/jasmin/Makefile.am: Added new tests.
+
+2006-10-13 18:25 edwin
+
+ * src/vm/jit/verify/icmds.c: Check basic types of instance for field
+ access.
+ * src/vm/jit/verify/typecheck-fields.inc: Check basic type of value.
+
+ * src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
+ * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
+
+ * src/vm/jit/verify/typecheck.c (verify_fieldaccess): Define
+ VERIFY_ERROR for the include file.
+
+ * src/vm/jit/verify/typecheck-stackbased.c (VERIFY_ERROR): Fixed
+ macro.
+
+ *
+ tests/regression/jasmin/test_verify_fail_putfieldconst_basic_type_instance.j,
+ tests/regression/jasmin/test_verify_fail_getfield_basic_type_instance.j,
+ tests/regression/jasmin/test_verify_fail_putfield_basic_type_value.j,
+ tests/regression/jasmin/test_verify_fail_putstatic_basic_type_value.j,
+ tests/regression/jasmin/test_verify_fail_putfieldconst_basic_type_value.j,
+ tests/regression/jasmin/test_verify_fail_getfield_basic_type_value.j,
+ tests/regression/jasmin/test_verify_fail_putfield_basic_type_instance.j,
+ tests/regression/jasmin/test_verify_fail_putfield_basic_type_lookup.j,
+ tests/regression/jasmin/test_verify_fail_getfield_basic_type_lookup.j,
+ tests/regression/jasmin/test_verify_fail_putstaticconst_basic_type_value.j:
+ New tests.
+
+ * tests/regression/jasmin/runtest: Look for specified ICMDs in -sia
+ output.
+
+2006-10-13 17:06 tbfg
+
+ * src/vm/jit/powerpc64/md.c (md_get_method_patch_address): Fixed
+ comments.
+
+ * src/vm/jit/powerpc64/codegen.c: Added credits.
+
+ * src/vm/jit/powerpc64/asmpart.S (asm_handle_nat_exception): Fixed
+ exception handling code. Added credits.
+
+2006-10-13 16:30 edwin
+
+ * src/vm/jit/verify/typecheck-fields.inc: Re-activate stack overflow
+ checking.
+
+ * src/vm/jit/verify/typecheck-common.h (verifier_state): Added field
+ `stackceiling`.
+
+ * src/vm/jit/verify/typecheck-stackbased.c (CHECK_STACK_DEPTH):
+ Cleaned up.
+ (CHECK_STACK_SPACE): Cleaned up.
+ (typecheck_stackbased_verify_fieldaccess): Check for stack overflow.
+ (typecheck_stackbased): Moved stackceiling into state.
+
+2006-10-13 16:06 edwin
+
+ * src/vm/jit/codegen-common.c (codegen_reg_of_var): Removed `inline`
+ declaration. The crappy IRIX compiler does not create a global symbol
+ otherwise.
+
+2006-10-13 14:34 edwin
+
+ * src/vm/jit/verify/typecheck.c (verify_basic_block): Use generated
+ code.
+
+ * src/vm/jit/verify/typecheck-stackbased-gen.inc: New file, GENERATED!
+ * src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
+
+ * src/vm/jit/verify/typecheck.h (typecheck_stackbased): Added.
+
+ * src/vm/jit/verify/Makefile.am: Added source files for both generated
+ verifiers.
+
+ * src/vm/jit/jit.c (jit_compile_intern): Call the stack-based verifier
+ for the interpreter.
+
+ * src/vm/vm.c (vm_create): Re-enable verification fot the interpreter.
+
+2006-10-13 14:22 edwin
+
+ * src/vm/jit/verify/generate.pl: Clearly mark generated code.
+
+2006-10-13 14:00 edwin
+
+ * src/vm/jit/icmdtable.inc: Documented prettily.
+
+2006-10-13 13:11 edwin
+
+ * src/vm/jit/jit.h (op_data): Removed.
+ (stackreq): Moved to a more logical place.
+
+ * src/vm/jit/jit.c (op_data): Removed.
+ (jit_init): Removed code initializing op_data.
+
+ * src/vm/jit/optimizing/lifetimes.c (LifeOutAtStatement): Use
+ icmd_table.
+ * src/vm/jit/optimizing/ssa.c (dead_code_elimination): Likewise.
+
+2006-10-13 12:49 edwin
+
+ * src/vm/jit/jit.h (icmd_table): Added.
+ (icmd_names): Removed.
+
+ * src/vm/jit/jit.c (icmd_table): Added.
+ (icmd_names): Removed.
+
+ * src/vm/jit/show.c (show_icmd): Use icmd_table.
+ * src/vm/jit/optimizing/ssa.c (dead_code_elimination): Likewise.
+
+2006-10-13 12:47 edwin
+
+ * src/vm/resolve.c: Removed obsolete debug prints.
+
+2006-10-13 11:57 edwin
+
+ * src/vm/jit/jit.h: Added DF_ constants for ICMD table.
+ Added CF_ constants.
+ Added ICMDTABLE_ constants.
+ (icmdtable_entry_t): New struct.
+
+2006-10-13 11:28 edwin
+
+ * src/vm/jit/icmdtable.inc: New file. Not used, yet.
+ * src/vm/jit/Makefile.am: Added new file.
+
+2006-10-13 11:27 edwin
+
+ * src/vm/jit/verify/generate.pl: Omit comma at end of ICMD table.
+
+2006-10-13 11:11 edwin
+
+ * src/vm/jit/verify/typecheck-stackbased.c: New file. Not used, yet.
+ * src/vm/jit/verify/icmds.c: New file.
+ * src/vm/jit/verify/generate.pl: New file.
+
+ * src/vm/jit/verify/typecheck-invoke.inc: Added copyright notice.
+ * src/vm/jit/verify/typecheck-fields.inc: Likewise.
+ * src/vm/jit/verify/typecheck-builtins.inc: Likewise.
+ * src/vm/jit/verify/typecheck-common.c: Likewise.
+ * src/vm/jit/verify/typecheck-common.h: Likewise.
+
+2006-10-13 10:36 edwin
+
+ * src/vm/jit/verify/typeinfo.c (typevector_store): Remove obsolete
+ assertion.
+
+2006-10-13 10:33 edwin
+
+ * src/vm/jit/stack.c (stack_analyse): Set iptr->dst for CHECKNULL.
+
+2006-10-13 00:47 edwin
+
+ * src/vm/builtin.c (builtin_isanysubclass): Bugfix for the case that
+ `sub` is an interface and `super` is a class. The function returned
+ random values in this case, since it used the <= 0 base value of the
+ interface class to perform the subclass check. The only case in which
+ an interface can be a subclass of a non-interface `super` is when
+ `super` is java.lang.Object, so we check explicitly for this case.
+ This fixes a bug with BeanShell-2.0b4.
+
+ (builtin_isanysubclass_vftbl): Likewise.
+
+2006-10-12 23:34 edwin
+
+ * src/vm/jit/stack.c (stack_check_invars): Bugfix: Only set flags to
+ BBTYPECHECK_REACHED if the block has already been analysed.
+
+ (stack_check_invars_from_outvars): Likewise.
+
+2006-10-12 20:06 twisti
+
+ * src/vm/jit/cfg.c (cfg_build): Check for EXH basic blocks in
+ fall-through case.
+
+2006-10-12 15:59 edwin
+
+ * tests/regression/jasmin/runtest: Added timeout capability.
+
+2006-10-12 15:22 edwin
+
+ * src/vm/jit/verify/typecheck-common.h (typecheck_print_statistics):
+ Added prototype.
+ (typecheck_jsr_t): New struct.
+ (typecheck_jsr_caller_t): Likewise.
+ (verifier_state): Added fields for stackbased verifier.
+
+2006-10-12 15:07 edwin
+
+ * src/vm/jit/verify/typecheck-common.c: Made debugging and statistics
+ symbols global.
+ * src/vm/jit/verify/typecheck-common.h: Likewise.
+
+2006-10-12 14:52 edwin
+
+ * src/vm/jit/verify/typecheck-invoke.inc: Added code variants for the
+ stackbased verifier. Not used, yet.
+ * src/vm/jit/verify/typecheck-builtins.inc: Likewise.
+
+2006-10-12 14:42 edwin
+
+ * src/vm/jit/verify/typecheck-common.c: Include headers.
+ * src/vm/jit/verify/typecheck-common.h: Cleanup.
+
+2006-10-12 14:39 edwin
+
+ * src/vm/jit/verify/typecheck.c (ISBUILTIN): Removed.
+ * src/vm/jit/verify/typecheck-builtins.inc (ISBUILTIN): Added.
+
+2006-10-12 14:38 tbfg
+
+ * src/vm/jit/powerpc64/codegen.c (codegen): Adopt locals
+ and regoff changes.
+
+2006-10-12 14:18 edwin
+
+ * src/vm/jit/verify/typecheck.c (verify_invocation): Prepared for
+ addeding the stackbased verifier. No functional change, yet.
+ (verify_builtin): Likewise.
+
+2006-10-12 14:12 edwin
+
+ * src/vm/jit/verify/typecheck-common.c,
+ src/vm/jit/verify/typecheck-common.h (typecheck_init_flags): Added
+ minflags argument.
+
+ * src/vm/jit/verify/typecheck.c (typecheck): Call typecheck_init_flags
+ with minflags set to BBFINISHED.
+
+2006-10-12 14:02 edwin
+
+ * src/vm/jit/verify/typecheck.c (verify_fieldaccess): New function.
+ (verify_basic_block): Moved field verification into a separate
+ function.
+
+ * src/vm/jit/verify/typecheck-fields.inc: Removed opcode-dependant
+ stuff. Some code for the stackbased verifier is checked in, but not
+ used, yet.
+
+2006-10-12 13:13 twisti
+
+ * src/vm/jit/mips/linux/md-os.c (thread_restartcriticalsection): Added
+ uClibc support.
+
+2006-10-12 12:44 twisti
+
+ * src/vm/jit/mips/linux/md-os.c (md_signal_handler_sigsegv): Added
+ uClibc support.
+
+2006-10-12 10:10 edwin
+
+ * src/vm/jit/verify/typecheck.c: Moved <assert.h> include to the right
+ place. Moved some code to typecheck-common.[ch].
+
+ * src/vm/jit/verify/typecheck-common.c: New file.
+ * src/vm/jit/verify/typecheck-common.h: New file.
+
+ * src/vm/jit/verify/Makefile.am: Added new source files.
+
+2006-10-11 23:52 edwin
+
+ * src/vm/jit/verify/typecheck-builtins.inc: Removed redundant
+ `return true`. Moved declaration of `av`.
+
+2006-10-11 23:44 edwin
+
+ * src/vm/jit/verify/typecheck-invoke.inc: Use invokestatic where
+ possible. Added a comment.
+
+2006-10-11 23:41 edwin
+
+ * src/vm/jit/verify/typecheck-invoke.inc: Indent log messages to make
+ them more readable.
+
+2006-10-11 23:37 edwin
+
+ * src/vm/jit/verify/typecheck.c (verify_invocation): Define jd and dv
+ before including the function body.
+
+ * src/vm/jit/verify/typecheck-invoke.inc: Removed definitions of jd
+ and dv. Small cleanup.
+
+2006-10-11 23:22 edwin
+
+ * src/vm/jit/verify/typecheck.c (verify_builtin): Define jd and dv
+ before including the function body.
+
+ * src/vm/jit/verify/typecheck-builtins.inc: Removed definitions
+ of jd and dv.
+
+2006-10-11 23:00 edwin
+
+ * src/vm/jit/verify/typecheck.c (verify_invocation): Moved body to a
+ separate file in order to prepare comitting the stackbased verifier.
+ (verify_builtin): Likewise.
+ (verify_generic_builtin): Likewise, no integrated in verify_builtin.
+ (verify_basic_block): Moved field instruction verification to a
+ separate file.
+
+ * src/vm/jit/verify/typecheck-invoke.inc: New file.
+ * src/vm/jit/verify/typecheck-fields.inc: New file.
+ * src/vm/jit/verify/typecheck-builtins.inc: New file.
+
+ * src/vm/jit/verify/Makefile.am: Added new source files.
+
+2006-10-11 19:43 edwin
+
+ * src/cacaoh/headers.c (typeinfo_print_short): Stub added.
+
+2006-10-11 19:42 edwin
+
+ * src/vm/jit/verify/typeinfo.c (typeinfo_init_component): Fixed for
+ the case that srcarray == dst. (The mergedlist was overwritten with
+ NULL in this case.)
+
+2006-10-11 19:40 edwin
+
+ * src/vm/resolve.c, src/vm/resolve.h
+ (resolve_method_param_type_checks_stackbased): New function.
+ (resolve_constrain_unresolved_method_params_stackbased): Likewise.
+
+2006-10-11 16:31 edwin
+
+ *
+ tests/regression/jasmin/test_verify_fail_athrow_wrong_reftype_unresolved.j:
+ New test.
+
+ * tests/regression/jasmin/test_verify_fail_athrow_wrong_reftype.j:
+ New test.
+
+ * tests/regression/jasmin/Makefile.am: Added new tests.
+
+2006-10-11 16:21 edwin
+
+ * tests/regression/jasmin/test_verify_fail_areturn_wrong_reftype.j:
+ New test.
+
+ * tests/regression/jasmin/test_verify_fail_invoke_return_basic_type.j:
+ New test.
+
+ * tests/regression/jasmin/test_verify_fail_ireturn_wrong_type.j: New
+ test.
+
+ * tests/regression/jasmin/Makefile.am: Added new tests.
+
+2006-10-11 10:17 edwin
+
+ * tests/regression/jasmin/test_verify_fail_handler_bad_local.j: new
+ test.
+
+ * tests/regression/jasmin/Makefile.am: Added new test.
+
+2006-10-10 21:16 edwin
+
+ * tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j:
+ Added expected error.
+
+ * tests/regression/jasmin/test_verify_fail_jsr_recursion.j: Likewise.
+
+ * tests/regression/jasmin/test_verify_ok_jsr_improper_nesting.j: New
+ test.
+
+ * tests/regression/jasmin/test_verify_fail_jsr_multiple_returns.j: New
+ test.
+
+ * tests/regression/jasmin/Makefile.am: Added new tests.
+
+2006-10-10 20:45 edwin
+
+ *
+ tests/regression/jasmin/test_verify_fail_jsr_recursion_terminates.j:
+ New test.
+
+ * tests/regression/jasmin/Makefile.am: Added new test.
+
+2006-10-10 20:31 edwin
+
+ * tests/regression/jasmin/test_verify_fail_jsr_recursion.j: New test.
+
+ * tests/regression/jasmin/Makefile.am: Added new test.
+
+2006-10-10 00:29 edwin
+
+ * src/vm/resolve.c, src/vm/resolve.h (constrain_unresolved_method):
+ Split into two new functions.
+
+ (resolve_constrain_unresolved_method_instance): New function.
+ (resolve_constrain_unresolved_method_params): Likewise.
+
+ * src/vm/jit/verify/typecheck.c (verify_invocation): Use new
+ functions.
+
+2006-10-09 23:53 edwin
+
+ * src/vm/resolve.c (resolve_method_type_checks): Split up into
+ two new functions.
+
+ (resolve_method_instance_type_checks): New function.
+
+ (resolve_method_param_type_checks): New function.
+
+ * src/vm/resolve.h (resolve_method_type_checks): Removed.
+ (resolve_method_instance_type_checks): New function.
+ (resolve_method_param_type_checks): New function.
+
+ * src/vm/jit/verify/typecheck.c (verify_invocation): Call
+ resolve_method_instance_type_checks and
+ resolve_method_param_type_checks.
+
+2006-10-09 23:21 edwin
+
+ * src/vm/resolve.c (resolve_method_verifier_checks): Removed unused
+ variable. Removed unclear assertion.
+
+2006-10-09 23:17 edwin
+
+ * src/vm/resolve.c (resolve_method_verifier_checks): Removed unused
+ arguments.
+
+ (resolve_method): Changed arguments to resolve_method_verifier_checks.
+
+ * src/vm/resolve.h (resolve_method_verifier_checks): Removed unused
+ arguments.
+
+ * src/vm/jit/verify/typecheck.c (verify_invocation): Changed
+ arguments to resolve_method_verifier_checks.
+
+2006-10-09 23:06 edwin
+
+ * src/vm/resolve.c (resolve_method_verifier_checks): Factored out
+ parameter type checks into a separate function.
+
+ (resolve_method_type_checks): New function.
+
+ * src/vm/resolve.h (resolve_method_type_checks): New function.
+
+ * src/vm/jit/verify/typecheck.c (verify_invocation): Call
+ resolve_method_type_checks.
+
+2006-10-09 22:19 edwin
+
+ * src/vm/resolve.c (resolve_method_verifier_checks): Factored out
+ loading constraints into a separate function.
+
+ (resolve_method_loading_constraints): New function.
+
+ (resolve_method): Call resolve_method_loading_constraints.
+
+ * src/vm/resolve.h (resolve_method_loading_constraints): New function.
+
+ * src/vm/jit/verify/typecheck.c (verify_invocation): Call
+ resolve_method_loading_constraints.
+
+2006-10-09 17:08 edwin
+
+ * src/vm/resolve.c (resolve_method_lazy): Removed dependence on
+ instruction format. Do not perform verifier checks. (Caller will
+ do these.)
+
+ (create_unresolved_method): Renamed to
+ resolve_create_unresolved_method. Changed arguments.
+
+ * src/vm/resolve.h (create_unresolved_method): Renamed to
+ resolve_create_unresolved_method. Changed arguments.
+
+ (resolve_method_lazy): Changed arguments.
+
+ (resolve_method_verifier_checks): Export.
+
+ * src/vm/jit/verify/typecheck.c (verify_invocation): Adapted
+ to changed resolve functions. Call resolve_method_verifier_checks.
+ Do promotion from INVOKEVIRTUAL to INVOKESPECIAL here.
+
+ * src/vm/jit/parse.c (parse): Adapted to changed resolve functions.
+ Do promotion from INVOKEVIRTUAL to INVOKESPECIAL here.
+
+2006-10-09 15:42 edwin
+
+ * src/vm/resolve.c (resolve_field_verifier_checks): Removed dependence
+ on instruction format.
+
+ (resolve_field_lazy): Pass field reference, instead of instruction.
+ Do not perform verification checks here. (Caller will do them.)
+
+ (resolve_field): Adapted to changed resolve_field_verifier_checks.
+
+ (create_unresolved_field): Renamed to resolve_create_unresolved_field.
+
+ (constrain_unresolved_field): Renamed to
+ resolve_constrain_unresolved_field. Removed dependence on instruction
+ format.
+
+ * src/vm/resolve.h (create_unresolved_field): Renamed to
+ resolve_create_unresolved_field.
+
+ (resolve_field_lazy): Changed arguments.
+
+ (resolve_field_verifier_checks): Export.
+
+ (constrain_unresolved_field): Renamed to
+ resolve_constrain_unresolved_field. Changed arguments.
+
+ * src/vm/jit/verify/typecheck.c (typecheck): Moved instruction set
+ dependent parts of resolve functions into typecheck.
+
+ * src/vm/jit/parse.c (resolve_field_lazy): Changed arguments.
+ (create_unresolved_field): Renamed.
+
+2006-10-08 22:49 edwin
+
+ *
+ test/regression/jasmin/test_verify_ok_jsr_subroutine_loops_to_start.j:
+ New test.
+
+ * test/regression/jasmin/test.j: Small cleanup.
+
+ * test/regression/jasmin/Makefile.am: Added new test.
+
+2006-10-08 11:39 edwin
+
+ * src/vm/jit/stack.c: Verify that subroutines are not merged.
+ (SBRSTART): New macro.
+ (COPY_VAL_AND_TYPE_VAR): New macro, propagate SBRSTART.
+ (COPY_VAL_AND_TYPE): Use COPY_VAL_AND_TYPE_VAR.
+ (stack_create_invars): Cleaned up, use COPY_VAL_AND_TYPE_VAR.
+ (stack_create_invars_from_outvars): Use COPY_VAL_AND_TYPE_VAR.
+ (stack_check_invars): Check against merging of subroutines. Wrapped
+ verifier checks in #if defined(ENABLE_VERIFIER).
+ (stack_check_invars_from_outvars): Likewise.
+ (stack_reanalyse_block): Wrapped verifier checks in
+ #if defined(ENABLE_VERIFIER).
+ (stack_analyse): Prepare a real variable for the handler stack.
+ Implemented re-analysing of blocks. Set SBRSTART for JSR.
+
+ * src/vm/jit/parse.c (parse): Reserve extra variables needed by
+ stack_analyse.
+
+ * src/vm/global.h (STACK_EXTRA_VARS): New macro.
+
+2006-10-08 10:51 edwin
+
+ * src/vm/jit/show.c (show_basicblock): Removed extra newline.
+
+2006-10-08 00:07 edwin
+
+ *
+ tests/regression/jasmin/test_verify_fail_jsr_merge_subroutines_via_stack.j:
+ New test.
+
+ * tests/regression/jasmin/Makefile.am: Added new test.
+
+2006-10-07 23:56 edwin
+
+ * src/vm/jit/cfg.c (cfg_build): Fixed a bug causing infinite loops.
+
+ * src/vm/jit/parse.c (parse): Always add a NOP at block ends. This is
+ needed by the JSR elimination in stack.c.
+
+ * tests/regression/jasmin/test_verify_fail_jsr_merge_subroutines.j:
+ New test.
+
+ * tests/regression/jasmin/Makefile.am: Added new test.
+
+2006-10-07 23:02 edwin
+
+ * tests/regression/jasmin/test_verify_fail_jsr_polymorphic_pop.j:
+ New test.
+
+ * tests/regression/jasmin/Makefile.am: Added new test.
+
+ * src/vm/jit/stack.c (stack_check_invars): Fixed bug exposed by the
+ new test.
+ (stack_check_invars_from_outvars): Likewise.
+
+2006-10-07 22:34 edwin
+
+ *
+ tests/regression/jasmin/test_verify_fail_jsr_called_with_different_stackdepths.j:
+ New test.
+ * tests/regression/jasmin/Makefile.am: Added new test.
+
+2006-10-07 12:54 edwin
+
+ * src/vm/jit/stack.c (GET_NEW_VAR): Fixed macro argument.
+
+ (SET_TEMPVAR): Call new function stack_change_to_tempvar.
+
+ (stack_change_to_tempvar): New function.
+
+ (stack_analyse): Mark pass-through stackslots of INVOKEs instead of
+ resetting them to TEMPVARs.
+
+ * src/vm/jit/jit.h (PASSTHROUGH): New flag.
+
+2006-10-07 10:22 edwin
+
+ * src/vm/jit/allocator/simplereg.c: Implemented REG_INDEX for
+ architectures with address register file.
+
+2006-10-07 09:44 edwin
+
+ * src/vm/jit/allocator/simplereg.c
+ (simplereg_allocate_locals_leafmethod): Fixed declaration after code.
+
+2006-10-07 00:06 edwin
+
+ * src/vm/jit/allocator/simplereg.c (simplereg_allocate_interface):
+ Copy all flags except SAVEDVAR when reusing an interface slot.
+
+2006-10-06 23:58 edwin
+
+ * src/vm/jit/allocator/simplereg.c: Cleaned up memory slot allocation.
+
+2006-10-06 23:41 edwin
+
+ * src/vm/jit/allocator/simplereg.c (simplereg_allocate_interfaces):
+ Fixed
+ indentation.
+
+2006-10-06 23:03 edwin
+
+ * src/vm/jit/allocator/simplereg.c (simplereg_allocate_temporaries):
+ Minor cleanup, use SIMPLEREG_REG_INDEX.
+
+2006-10-06 22:37 edwin
+
+ * src/vm/jit/allocator/simplereg.c: Reuse interface registers in
+ blocks
+ that don't need them. Abstracted out the free register stacks with
+ macros. Major code cleanup.
+
+ * src/vm/jit/allocator/simplereg.h (reg_make_statistics): Renamed to
+ simplereg_make_statistics.
+
+ * src/vm/jit/reg.h (registerdata): Added fields `adrusedinout`,
+ `intusedinout`, `fltusedinout`, and `regisoutvar`.
+
+ * src/vm/jit/jit.c (simplereg_make_statistics): Renamed to
+ simplereg_make_statistics.
+
+ * src/vm/jit/jit.h (SAVEDTMP): Renamed to SAVREG.
+ (TMPARG): Renamed to ARGREG.
+ (STCOPY): Removed.
+ (STKEEP): Removed.
+
+2006-10-06 21:30 edwin
+
+ * src/vm/jit/stack.c (stack_analyse): Do not set argintreguse to
+ a value > INT_ARG_CNT, as this breaks some new code that will
+ later be committed to simplereg.c, and does not make sense, anyway.
+
+2006-10-06 20:11 edwin
+
+ * src/vm/jit/intrp/Makefile.am (Changes): Added my name.
+
+2006-10-06 20:09 edwin
+
+ * src/vm/jit/show.h (show_variable): Made global.
+ (show_variable_array): Likewise.
+
+ * src/vm/jit/show.c (show_variable): Likewise.
+ (show_variable_array): Likewise.
+
+2006-10-05 20:30 edwin
+
+ * src/threads/native/threads.c (threads_attach_current_thread): Rename
+ left-over `t` to `thread` in interpreter code.
+
+2006-10-05 20:21 edwin
+
+ * src/vm/jit/codegen-common.c: Include vm/jit/intrp/intrp.h to prevent
+ a warning.
+
+2006-10-05 20:18 edwin
+
+ * src/vm/jit/intrp/intrp.h: Added missing prototypes.
+
+ * src/vm/jit/intrp/engine.c: Comment unused variable `ca1`.
+
+ * src/vm/jit/intrp/java.vmg: Mark the variables `currentsp` as
+ MAYBE_UNUSED.
+
+2006-10-05 20:04 edwin
+
+ * src/vm/jit/intrp/intrp.h: Cleaned up. Defined missing prototypes.
+
+ * src/vm/jit/intrp/java.vmg: Defined "afi" type prefix.
+
+2006-10-05 19:36 edwin
+
+ * src/vm/jit/intrp/peephole.c: Include interpreter files using < >
+ instead of " ", so they are only searched for in the include path.
+ This avoids using the wrong include files when compiling in a
+ buildir.
+
+ * src/vm/jit/intrp/codegen.c: Likewise.
+ * src/vm/jit/intrp/engine.c: Likewise.
+ * src/vm/jit/intrp/disasm.c: Likewise.
+ * src/vm/jit/intrp/dynamic-super.c: Likewise.
+
+ * src/vm/jit/intrp/vmgenx: Fixed to work with builddir, and cleaned
+ up.
+
+ * src/vm/jit/intrp/Makefile.am: Fixed dependencies for builddir.
+
+2006-10-05 17:52 edwin
+
+ * src/vm/jit/intrp/engine.c (Changes): Added my name.
+ (vim boilerplate): Added.
+
+2006-10-05 17:28 twisti
+
+ * src/native/jni.c (jni_attach_current_thread): New help function.
+ (_Jv_JNI_AttachCurrentThread): Use helper function.
+ (_Jv_JNI_AttachCurrentThreadAsDaemon): Likewise.
+ (_Jv_JNI_DetachCurrentThread): Implemented.
+
+ * src/threads/native/threads.c (method_thread_init)
+ (method_threadgroup_add_: Made static.
+ (threads_init): Code rearranged.
+ (threads_startup_thread): Removed thread detach code and call
+ threads_detach_thread.
+ (threads_detach_thread): New function.
+
+ * src/threads/native/threads.h (threads_detach_thread): Added.
+
+2006-10-05 17:23 twisti
+
+ * src/vm/utf8.c (utf_removeThread, utf_java_lang_Thread__V): Added.
+ (utf8_init): Initialize new strings.
+ * src/vm/utf8.h (utf_removeThread, utf_java_lang_Thread__V): Added.
+
+2006-10-05 16:28 edwin
+
+ * src/vm/vm.c (vm_create): Turn off the verifier for -Xint.
+
+2006-10-05 16:18 edwin
+
+ * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Style fix.
+
+2006-10-05 16:12 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): Save synchronized object in
+ a special stackslot and use it for monitorexit.
+
+ * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): When
+ unwinding a synchronized method, exit the monitor.
+
+2006-10-05 15:43 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): Reserve an extra stackslot in
+ synchronized methods.
+ (intrp_createcompilerstub): Likewise.
+ (intrp_createnativestub): Use stackframesize for clarity.
+
+2006-10-05 15:33 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): Separate stackframesize from
+ the number of local variables.
+ (intrp_createcompilerstub): Likewise.
+
+ * src/vm/jit/intrp/engine.c (MAXLOCALS): Changed to FRAMESIZE.
+
+ * src/vm/jit/intrp/java.vmg (INVOKEVIRTUAL): Use FRAMESIZE.
+ (INVOKESTATIC): Likewise.
+ (INVOKESPECIAL): Likewise.
+ (INVOKEINTERFACE): Likewise.
+
+2006-10-05 14:13 twisti
+
+ * src/native/jni.c (jni_init_localref_table): New function.
+ (AttachCurrentThread): Implemented.
+ (JNI_CreateJavaVM): Use jni_init_localref_table.
+
+ * src/threads/native/threads.c (method_thread_init)
+ (method_threadgroup_add): New global variables.
+ (threads_init): Store methods resolved in global variables.
+ (threads_attach_current_thread): New function.
+
+ * src/threads/native/threads.h (MIN_PRIORITY, NORM_PRIORITY)
+ (MAX_PRIORITY): Defined.
+ (threads_attach_current_thread): New function.
+
+2006-10-05 12:23 edwin
+
+ * src/vm/jit/intrp/java.vmg (TRACECALL): Implemented for 32-bit
+ architectures.
+
+2006-10-05 10:50 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): Fix off-by-one error in len
+ tests of optimizations.
+
+2006-10-05 10:41 edwin
+
+ * src/vm/jit/show.c (show_icmd): Show constant operand of IFxx, and
+ IF_Lxx.
+
+2006-10-05 10:39 edwin
+
+ * src/vm/jit/show.c (show_basicblock): Fixed deadcode check.
+
+ * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Clear
+ global_sp.
+
+2006-10-05 09:04 twisti
+
+ * src/vm/jit/powerpc/emit.c (emit_verbosecall_enter): Darwin build
+ fixes.
+
+2006-10-05 00:21 edwin
+
+ * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Fixed for
+ catch-all handlers.
+
+2006-10-05 00:06 edwin
+
+ * src/vm/jit/show.c (show_method): Adapted to interpreter.
+ (show_basicblock): Likewise.
+
+ * src/vm/jit/intrp/disass.c (intrp_disassinstr): Write disassembly to
+ stdout.
+ (intrp_disassemble): Likewise.
+
+2006-10-04 23:08 edwin
+
+ * tests/regression/jctest.java: Also test division/remainder with
+ constant divisor 1.
+
+ * tests/regression/jctest.output: Updated test output.
+
+2006-10-04 23:05 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): Don't ?DIVPOW2 with value 1.
+ The optimization produces the wrong result in this case.
+
+2006-10-04 22:53 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): Implemented IDIVPOW2 and
+ LDIVPOW2 optimizations.
+
+2006-10-04 22:39 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): Implemented IREMPOW2 and
+ LREMPOW2 optimizations.
+
+2006-10-04 22:12 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): Implement optimization of
+ comparisons.
+
+2006-10-04 20:44 edwin
+
+ * src/vm/jit/allocator/simplereg.c (reg_free_temp_func): Fixed indices
+ into regcopycount array.
+ (allocate_scratch_registers): Likewise.
+
+2006-10-04 20:02 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): #if 0-ed optimized ICMDs that
+ are currently not used. In order to use these instructions, we could
+ either add the optimization checks directly to codegen.c, or introduce
+ a special pass between parse and intrp_codegen which replaces the
+ instructions.
+
+2006-10-04 19:47 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): Removed unoptimized *CONST
+ instructions. Since stack_analyse is no longer performed before the
+ interpreter codegen, these instructions cannot occur.
+
+2006-10-04 19:38 edwin
+
+ * src/vm/jit/stack.c: Removed interpreter-specific code.
+
+2006-10-04 18:44 edwin
+
+ * src/threads/native/lock.c (lock_monitor_exit): Check for NULL
+ object.
+ There is no guarantee that MONITORENTER/EXITs are properly nested, so
+ we cannot rely on the check in lock_monitor_enter here.
+
+2006-10-04 18:39 edwin
+
+ * tests/regression/jasmin/test_nullpointerexception_monitorexit.j:
+ Fixed test case, so it passes if the exception is thrown.
+
+2006-10-04 18:35 edwin
+
+ * tests/regression/jasmin/test_nullpointerexception_monitorexit.j:
+ New test.
+
+ * tests/regression/jasmin/Makefile.am: Added
+ test_nullpointerexception_monitorexit.j.
+
+2006-10-04 18:25 edwin
+
+ * tests/regression/jasmin/Makefile.am: Properly quote variables.
+
+2006-10-04 18:23 edwin
+
+ * src/vm/jit/intrp/engine.c (THROW_CLASSCASTEXCEPTION): Really throw a
+ ClassCastException, not a NullPointerException.
+
+ * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Set
+ global_sp, in case the resolving of the catchtype involves the
+ execution of Java code.
+
+ * src/vm/jit/intrp/java.vmg (MONITORENTER): Check for exception.
+ (MONITOREXIT): Likewise.
+
+2006-10-04 16:42 edwin
+
+ * src/vm/jit/intrp/java.vmg (LOOKUPSWITCH): No point in using >= 0 on
+ an unsigned variable.
+
+2006-10-04 16:01 edwin
+
+ * src/vm/jit/intrp/codegen.c (nativecall): Store return valud of
+ codegen_finish_native_call in *exceptionptr.
+
+ * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Resolve
+ unresolved catchtype references.
+
+2006-10-04 15:14 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): Convert JavaPCs to block
+ indices.
+ Do not check for BBREACHED (not set by parse).
+ (gen_branch): Convert JavaPCs to block indices.
+
+ * src/vm/jit/intrp/java.vmg (RET): restored.
+
+ * src/vm/jit/jit.c (jit_compile_intern): Do not perform stack_analyse
+ and
+ dependent passes for intrp.
+
+2006-10-04 15:04 twisti
+
+ * src/vm/jit/intrp/md.c (intrp_md_init): Set vm_out to stderr.
+
+ * src/vm/jit/intrp/engine.c (THROW_CLASSCASTEXCEPTION): Added.
+ (engine): Handle ClassCastExceptions with argument.
+
+ * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Indent.
+
+ * src/vm/jit/intrp/dynamic-super.c: Use LOCK_MONITOR_{ENTER,EXIT}
+ macros.
+
+ * src/vm/jit/intrp/patcher.c (intrp_patcher_invokestatic_special):
+ Write back method pointer. I wonder how this ever worked before.
+ (intrp_patcher_invokevirtual): Likewise.
+ (intrp_patcher_invokeinterface): Likewise.
+
+ * src/vm/jit/intrp/java.vmg (RET): Removed.
+ (TABLESWITCH): Changed reading direction of cases. Don't know if that
+ works: NOT TESTED!
+ (CHECKCAST): Use THROW_CLASSCASTEXCEPTION.
+ (ARRAYCHECKCAST): Likewise.
+ (MONITORENTER): Likewise.
+ (MONITOREXIT): Likewise.
+
+2006-10-04 14:50 edwin
+
+ * src/vm/jit/intrp/dynamic-super.c (superreuse_insert): Use
+ lock_monitor_ functions.
+ (patchersuper_rewrite): Likewise.
+ (hashtable_patchersupers_insert): Likewise.
+
+2006-10-04 14:31 edwin
+
+ * src/vm/jit/intrp/codegen.c (codegen): Restored ICMD_RET to really
+ perform a RET (JSR elimination will not be performed for intrp.)
+ Removed a comment that does not apply any more.
+
+2006-10-04 14:20 edwin
+
+ * src/vm/jit/intrp/java.vmg (builtin_monitorenter): Changed to
+ lock_monitor_enter.
+ (builtin_monitorexit): Changed to lock_monitor_exit.
+
+2006-10-04 13:40 edwin
+
+ * src/vm/jit/intrp/codegen.c: Made it compile again.
+
+2006-10-04 13:35 twisti
+
+ * src/vm/jit/intrp/codegen.c: New instruction format fixes.
+
+2006-10-04 12:09 twisti
+
+ * configure.ac (AC_CONFIG_FILES): Removed src/scripts/rmic and
+ src/scripts/rmiregistry.
+ * src/scripts/Makefile.am (bin_SCRIPTS): Removed trailing \.
+
+2006-10-04 10:37 twisti
+
+ * src/scripts/rmic.in: Removed.
+ * src/scripts/rmiregistry.in: Likewise.
+
+ * src/scripts/Makefile.am (bin_SCRIPTS) Removed rmi.in and
+ rmiregistry.in.
+ * src/scripts/.cvsignore: Likewise.
+
+ * src/scripts/java.in: Don't call cacao with an absolute path, this
+ would break WITH_JRE_LAYOUT. I think we can expect cacao to be in the
+ PATH.
+
+2006-10-04 10:10 twisti
+
+ * configure.ac (--with-jre-layout): Added.
+
+ * src/vm/global.h (CLASSPATH_LIBRARY_PATH): Removed.
+
+ * src/vm/vm.c [WITH_JRE_LAYOUT] (libgen.h, unistd.h): Added.
+ (cacao_prefix, cacao_libjvm, classpath_libdir): New global variables.
+ (version): Print gnu.classpath.boot.library.path instead of
+ java.library.path as this is the interesting one.
+ (vm_create): Added WITH_JRE_LAYOUT stuff.
+
+ * src/vm/vm.h (stackbottom): Removed.
+ (cacao_prefix, cacao_libjvm, classpath_libdir): Added.
+
+ * src/cacao/cacao.c [WITH_JRE_LAYOUT] (errno.h, libgen.h, unistd.h):
+ Added.
+ (main): Added WITH_JRE_LAYOUT stuff.
+
+ * src/native/vm/gnu_classpath_VMSystemProperties.c (vm/vm.h): Added.
+ (preInit): Set env_java_home to cacao_prefix and
+ gnu.classpath.boot.library.path to classpath_libdir.
+
+ * src/native/native.c (native_init): Use cacao_libjvm in lt_dlopenext
+ call.
+
+2006-10-03 21:19 edwin
+
+ * src/vm/jit/jit.h (jitdata): Renamed c_debug_nr to c_block_nr. (Still
+ not a good name. Should probably be removed entirely.)
+ Added comments.
+
+ * src/vm/method.h (c_debug_nr): Renamed to c_block_nr.
+ * src/vm/jit/stack.c: Likewise.
+ * src/vm/jit/loop/analyze.c: Likewise.
+ * src/vm/jit/inline/inline.c: Likewise.
+ * src/vm/jit/parse.c: Likewise.
+
+2006-10-03 20:57 edwin
+
+ * src/vm/jit/powerpc/codegen.c: Removed new_ prefix from variable and
+ field names.
+
+ * src/vm/jit/cfg.c: Likewise.
+ * src/vm/jit/sparc64/codegen.c: Likewise.
+ * src/vm/jit/reorder.c: Likewise.
+ * src/vm/jit/ifconv/ifconv.c: Likewise.
+ * src/vm/jit/alpha/codegen.c: Likewise.
+ * src/vm/jit/stack.c: Likewise.
+ * src/vm/jit/stack.h: Likewise.
+ * src/vm/jit/show.c: Likewise.
+ * src/vm/jit/verify/typecheck.c: Likewise.
+ * src/vm/jit/mips/codegen.c: Likewise.
+ * src/vm/jit/allocator/simplereg.c: Likewise.
+ * src/vm/jit/i386/codegen.c: Likewise.
+ * src/vm/jit/powerpc64/codegen.c: Likewise.
+ * src/vm/jit/parse.c: Likewise.
+ * src/vm/jit/replace.c: Likewise.
+ * src/vm/jit/x86_64/codegen.c: Likewise.
+ * src/vm/jit/parse.h: Likewise.
+ * src/vm/jit/jit.c: Likewise.
+ * src/vm/jit/jit.h: Likewise.
+
+2006-10-03 20:44 edwin
+
+ * src/vm/resolve.c: Removed new_ prefix from function names.
+ * src/vm/resolve.h: Likewise.
+ * src/vm/jit/stack.c: Likewise.
+ * src/vm/jit/stack.h: Likewise.
+ * src/vm/jit/show.c: Likewise.
+ * src/vm/jit/verify/typecheck.c: Likewise.
+ * src/vm/jit/show.h: Likewise.
+ * src/vm/jit/allocator/simplereg.c: Likewise.
+ * src/vm/jit/allocator/simplereg.h: Likewise.
+ * src/vm/jit/parse.c: Likewise.
+ * src/vm/jit/parse.h: Likewise.
+ * src/vm/jit/jit.c: Likewise.
+
+2006-10-03 20:27 edwin
+
+ * src/vm/jit/allocator/simplereg.c: Warning fixed.
+
+2006-10-03 20:26 edwin
+
+ * src/vm/jit/i386/codegen.c (codegen): Use varindex as in other
+ codegens.
+
+2006-10-03 20:22 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete stack depth
+ checking code.
+
+ * src/vm/jit/stack.h (CHECK_STACK_DEPTH): Removed macro.
+
+2006-10-03 19:11 edwin
+
+ * src/vm/jit/powerpc64/codegen.c (codegen): Unified IINC and
+ IADDCONST.
+
+2006-10-03 18:50 edwin
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Unify IINC and IADDCONST.
+
+2006-10-03 18:34 edwin
+
+ * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Bugfix.
+
+2006-10-03 18:21 twisti
+
+ * src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): We don't
+ need to strcpy the library variables. Don't know where this code came
+ from.
+
+2006-10-03 18:09 edwin
+
+ * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Make it
+ compile again.
+
+2006-10-03 17:44 edwin
+
+ Moved unified_variables branch to trunk.
+
+2006-10-03 17:24 edwin
+
+ * tests/regression/jasmin/test_iinc.j: New test.
+
+ * tests/regression/jasmin/Makefile.am: Added test_iinc.j
+
+2006-10-03 16:42 edwin
+
+ Merged r5640 from trunk:
+
+ * src/vm/jit/x86_64/Makefile.am (libarch_la_SOURCES): Renamed
+ md-emit.h to emit.h.
+
+2006-10-03 16:32 edwin
+
+ * src/vm/jit/powerpc/codegen.c: Implemented ICMD_JSR like ICMD_GOTO.
+ * src/vm/jit/powerpc64/codegen.c: Likewise.
+
+ * src/vm/jit/alpha/codegen.c: Implemented ICMD_JSR like ICMD_GOTO.
+ Unified ICMD_IINC and ICMD_IADDCONST.
+ * src/vm/jit/mips/codegen.c: Likewise.
+ * src/vm/jit/i386/codegen.c: Likewise.
+ * src/vm/jit/x86_64/codegen.c: Likewise.
+
+2006-10-02 19:24 edwin
+
+ Merged r5636, r5637, and r5638 from trunk:
+
+ * src/native/tools/gennativetable.c: Made it work again.
+
+ * tests/regression/jasmin/.cvsignore: New file.
+
+ * src/vm/jit/powerpc/codegen.c (codegen): #if 0 replacement point
+ code.
+
+ * src/vm/jit/powerpc/emit.c [!NDEBUG] (emit_verbosecall_enter)
+ (emit_verbosecall_exit): #ifdef'ed.
+
+2006-10-02 16:36 christian
+
+ * src/vm/jit/alpha/md-abi.c (md_return_alloc): Activated return value
+ stackslot registers precolouring again.
+
+2006-10-02 14:18 edwin
+
+ * src/vm/jit/powerpc/netbsd/md-abi.c: Blindly ported to
+ unified_variables.
+
+ * src/vm/jit/powerpc/linux/md-abi.c: Cleaned up.
+ * src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
+ * src/vm/jit/alpha/md-abi.c: Likewise.
+ * src/vm/jit/mips/md-abi.c: Likewise.
+ * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
+ * src/vm/jit/x86_64/md-abi.c: Likewise.
+
+2006-10-02 13:59 edwin
+
+ * src/vm/jit/powerpc/codegen.c: Changed OUTVAR to INOUT.
+ * src/vm/jit/alpha/codegen.c: Likewise.
+ * src/vm/jit/stack.c: Likewise.
+ * src/vm/jit/show.c: Likewise.
+ * src/vm/jit/mips/codegen.c: Likewise.
+ * src/vm/jit/allocator/simplereg.c: Likewise.
+ * src/vm/jit/i386/codegen.c: Likewise.
+ * src/vm/jit/powerpc64/codegen.c: Likewise.
+ * src/vm/jit/x86_64/codegen.c: Likewise.
+ * src/vm/jit/jit.h: Likewise.
+
+2006-10-02 13:43 edwin
+
+ * src/vm/jit/alpha/codegen.h: Removed M_COPY.
+ * src/vm/jit/mips/codegen.h: Likewise.
+ * src/vm/jit/i386/codegen.h: Likewise.
+ * src/vm/jit/powerpc64/codegen.h: Likewise.
+ * src/vm/jit/x86_64/codegen.h: Likewise.
+
+ * src/vm/jit/powerpc/codegen.c: Unified ICMD_RET with ICMD_GOTO.
+ * src/vm/jit/alpha/codegen.c: Likewise.
+ * src/vm/jit/mips/codegen.c: Likewise.
+ * src/vm/jit/i386/codegen.c: Likewise.
+ * src/vm/jit/powerpc64/codegen.c: Likewise.
+ * src/vm/jit/intrp/codegen.c: Likewise.
+ * src/vm/jit/x86_64/codegen.c: Likewise.
+
+2006-10-02 13:26 edwin
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Unified LOAD/STORE and
+ COPY/MOVE instructions.
+
+ * src/vm/jit/powerpc/codegen.h (M_COPY): Removed.
+
+2006-10-02 13:16 edwin
+
+ * src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Cleaned up
+ comments.
+ * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Likewise.
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Removed obsolete call to
+ codegen_reg_of_var.
+ * src/vm/jit/alpha/codegen.c (codegen): Likewise.
+ * src/vm/jit/mips/codegen.c (codegen): Likewise.
+ * src/vm/jit/i386/codegen.c (codegen): Likewise.
+ * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
+ * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
+
+ * src/vm/jit/codegen-common.c (codegen_reg_of_var): Cleaned up.
+ (codegen_reg_of_dst): Implemented using inline codegen_reg_of_var.
+
+2006-10-02 12:10 edwin
+
+ Merged r5626 from trunk:
+
+ * src/vm/jit/replace.c (replace_create_replacement_points): Return
+ true.
+
+2006-10-02 11:55 edwin
+
+ Merged r5624 from trunk:
+
+ * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Remove argument
+ stack frame in normal path.
+
+2006-10-02 00:32 edwin
+
+ * src/vm/jit/alpha/codegen.c (codegen): Unified MOVE/COPY with
+ LOAD/STORE instructions.
+
+2006-10-02 00:08 edwin
+
+ * tests/regression/jasmin/runtest: Made it a bash script, so it works
+ on crappy fp98.
+
+2006-10-02 00:06 edwin
+
+ * tests/regression/jasmin/runtest: Do not use grep -o.
+
+2006-10-01 23:51 edwin
+
+ * src/vm/jit/mips/emit.c (emit_copy): Fixed arguments to
+ codegen_reg_of_var.
+ * src/vm/jit/powerpc64/emit.c (emit_copy): Likewise.
+
+ * src/vm/jit/mips/codegen.c (codegen): Define varindex.
+ * src/vm/jit/powerpc64/codegen.c (codegen): Likewise. Fixed arguments
+ to codegen_reg_of_var. Replaced codegen_reg_of_var with
+ codegen_reg_of_dst.
+
+2006-10-01 23:37 edwin
+
+ * src/vm/jit/powerpc64/codegen.c: Ported to unified_variables.
+ * src/vm/jit/powerpc64/codegen.h: Likewise.
+ * src/vm/jit/powerpc64/emit.c: Likewise.
+ * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
+
+2006-10-01 23:00 edwin
+
+ Merged r5616 from trunk:
+
+ * src/native/jni.c: Prefix all JNI functions with _Jv_JNI_, as gcj
+ does. This should prevent any linking problems.
+
+2006-10-01 22:55 edwin
+
+ * src/vm/jit/mips/codegen.c: Ported to unified_variables.
+ * src/vm/jit/mips/codegen.h: Likewise.
+ * src/vm/jit/mips/emit.c: Likewise.
+ * src/vm/jit/mips/md-abi.c: Likewise.
+
+2006-10-01 20:52 edwin
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Cleaned up unified_variables
+ changes.
+
+2006-10-01 20:49 edwin
+
+ * src/vm/jit/i386/codegen.c (codegen): Cleaned up unified_variables
+ changes.
+
+2006-10-01 20:42 edwin
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Cleaned up unified_variables
+ changes.
+
+2006-10-01 20:37 edwin
+
+ * src/vm/jit/alpha/codegen.c (codegen): Cleaned up unified_variables
+ changes.
+
+2006-10-01 20:08 edwin
+
+ * tests/regression/jasmin/runtest: Use default JASMIN_JAR, if given.
+
+2006-10-01 18:01 edwin
+
+ * src/vm/jit/codegen-common.c (codegen_reg_of_var): Fixed typo in
+ ARM code.
+
+2006-10-01 15:44 edwin
+
+ * src/vm/jit/verify/typeinfo.c (typevector_store_retaddr): Do not
+ invalidate the variable at index i-1.
+ (typevector_store_twoword): Removed.
+
+2006-10-01 15:25 edwin
+
+ * src/vm/jit/verify/typecheck.c (typecheck): Added debug print of
+ the reverse local map.
+
+2006-10-01 14:43 edwin
+
+ * src/vm/vm.c (vm_compile_all): Only use if !defined(NDEBUG).
+ (vm_compile_method): Likewise.
+
+2006-10-01 14:37 edwin
+
+ * src/vm/jit/verify/typeinfo.h: Disabled TYPECHECK_VERBOSE.
+
+2006-09-30 23:28 edwin
+
+ * src/vm/jit/jit.c (jit_compile_intern): Removed commented out
+ debugging code.
+
+2006-09-30 23:12 edwin
+
+ * src/vm/jit/allocator/simplereg.c (reg_new_temp): Simplified.
+ (reg_free_temp): Formatted.
+
+2006-09-30 23:06 edwin
+
+ * src/vm/jit/powerpc/linux/md-abi.c: Use VAR and VAROP macros.
+ * src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
+ * src/vm/jit/alpha/codegen.c: Likewise.
+ * src/vm/jit/alpha/codegen.h: Likewise.
+ * src/vm/jit/alpha/md-abi.c: Likewise.
+ * src/vm/jit/show.c: Likewise.
+ * src/vm/jit/verify/typecheck.c: Likewise.
+ * src/vm/jit/allocator/simplereg.c: Likewise.
+ * src/vm/jit/i386/codegen.h: Likewise.
+ * src/vm/jit/parse.c: Likewise.
+ * src/vm/jit/x86_64/emit.c: Likewise.
+ * src/vm/jit/x86_64/codegen.c: Likewise.
+ * src/vm/jit/x86_64/codegen.h: Likewise.
+ * src/vm/jit/x86_64/md-abi.c: Likewise.
+ * src/vm/jit/codegen-common.c: Likewise.
+
+2006-09-30 22:45 edwin
+
+ * src/vm/jit/i386/codegen.c (codegen): Use VAR and VAROP macros.
+ (codegen_insert_phi_moves): Likewise.
+
+2006-09-30 22:24 edwin
+
+ Merged r5591 from trunk:
+
+ * src/native/jni.c (GetVersion): Prefixed with _Jv_, we should do that
+ with all JNI functions.
+
+2006-09-30 22:22 edwin
+
+ Merged r5589 and r5590 from trunk:
+
+ * configure.ac: Fixed CFLAGS for cygwin.
+ * src/threads/native/threads.c: Inserted asserts for cygwin.
+ * src/vm/jit/i386/cygwin/Makefile.am: See below.
+ * src/vm/jit/i386/cygwin/md-asm.h: Added.
+ * src/vm/jit/i386/cygwin/md-os.c: Inserted asserts.
+ * src/vm/jit/i386/cygwin/ucontext.c: Added 3rd party file.
+ * src/vm/jit/i386/cygwin/ucontext.h: Added 3rd party file.
+
+
+ * src/cacao/.cvsignore, src/cacaoh/.cvsignore,
+ src/vm/jit/tools/.cvsignore: Added ignores for cygwin and
+ modified properties accordingly.
+
+2006-09-30 11:04 christian
+
+ * src/vm/jit/alpha/codegen.c (codegen): Changed to use the macros VAR
+ and VAROP.
+
+2006-09-30 10:16 christian
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Changed to use the macros
+ VAR and VAROP.
+
+2006-09-29 14:02 edwin
+
+ * src/vm/jit/allocator/simplereg.c (reg_free_temp_func): Handle
+ packed registers.
+ (new_allocate_scratch_registers): Likewise.
+
+2006-09-29 13:33 edwin
+
+ Merged r5540 from trunk:
+
+ * configure.ac: Cygwin OS dir added.
+ * src\lib\Makefile.am: Now checks for "zip.exe" as well
+ * src\vm\jit\i386\Makefile.am: Added Cygwin OS dir.
+ * src\vm\jit\i386\cygwin\Makefile.am: Added.
+ * src\vm\jit\i386\cygwin\md-os.c: Added. Only contains
+ dummy signal handlers.
+ * src\vm\builtin.c: Undefine Bias for Cygwin because
+ Windows uses this define.
+ * src\vm\signal.c: No signal handlers for Cygwin.
+
+2006-09-29 12:46 edwin
+
+ Merged r5573, r5574, r5577, r5578, and r5579 from trunk.
+
+ * src/cacao/cacao.c (vm/vm.h): Added.
+ * src/cacao/Makefile.am [!ENABLE_LIBJVM] (CACAO_LIB): Link libjvm.la.
+
+
+ * src/vm/jit/powerpc/darwin/md-asm.h (md_codegen_get_pv_from_pc):
+ Added stub define.
+ * src/vm/jit/powerpc/asmpart.S (L_md_codegen_get_pv_from_pc$stub):
+ Added.
+
+
+ * src/cacaoh/cacaoh.c (cacaoh_options_prepare): Set nOptions, this was
+ deleted accidentally.
+
+
+ * src/vm/vm.c (vm_create): Added installation of exit handler.
+ (vm_run): New function.
+ (vm_get_mainclass_from_jar): Likewise.
+ (vm_compile_all): Likewise.
+ (vm_compile_method): Likewise.
+ * src/vm/vm.h (vm_run): New function.
+
+ * src/vm/options.c (options_prepare): Removed.
+ * src/vm/options.h (options_prepare): Likewise.
+
+ * src/cacao/cacao.c (getmainclassnamefromjar): Removed.
+ (main): Moved most stuff to vm-functions and load libjvm with dlopen
+ and resolve symbols for ENABLE_LIBJVM.
+ (cacao_options_prepare): New function.
+
+ * src/cacao/Makefile.am (CACAO_LIBS): New variable.
+ (cacao_LDADD): Use CACAO_LIBS.
+
+ * src/native/native.c (native_init): Set mainhandle to libjvm for
+ ENABLE_LIBJVM.
+
+ * src/cacaoh/cacaoh.c (cacaoh_prepare_options): New function.
+
+
+ * src/native/jni.c (JNI_CreateJavaVM): Renamed jvm to vm.
+
+2006-09-28 22:33 edwin
+
+ * src/vm/jit/powerpc64: Merged changes from r5403 to r5548 from trunk.
+
+2006-09-28 20:56 edwin
+
+ * src/vm/jit/i386/cygwin: Copied directory from trunk.
+
+2006-09-28 20:38 edwin
+
+ Merged r5547 from trunk:
+
+ * src/native/jni.c (FindClass): Removed architecture #ifdef's.
+
+2006-09-28 20:33 edwin
+
+ Merged r5543 from trunk:
+
+ * src/vm/jit/sparc64/codegen.c: Completed port to new instruction
+ format.
+ * src/vm/jit/sparc64/md-abi.h: Likewise.
+ * src/vm/jit/sparc64/emit.c: Likewise.
+
+2006-09-28 20:31 edwin
+
+ Merged r5541 from trunk:
+
+ * src/vm/jit/powerpc/emit.c (vm/jit/emit.h): Renamed to
+ vm/jit/emit-common.h.
+ (emit_load_s1, emit_load_s2, emit_load_s3, emit_load_s1_low)
+ (emit_load_s2_low, emit_load_s3_low, emit_load_s1_high)
+ (emit_load_s2_high, emit_load_s3_high) (emit_store_dst): Removed.
+
+ * src/vm/jit/powerpc/codegen.c (vm/jit/emit.h): Renamed to
+ vm/jit/emit-common.h.
+
+2006-09-28 20:29 edwin
+
+ Merged r5540 and r5542 from trunk:
+
+ * configure.ac: Cygwin OS dir added.
+ * src\lib\Makefile.am: Now checks for "zip.exe" as well
+ * src\vm\jit\i386\Makefile.am: Added Cygwin OS dir.
+ * src\vm\jit\i386\cygwin\Makefile.am: Added.
+ * src\vm\jit\i386\cygwin\md-os.c: Added. Only contains
+ dummy signal handlers.
+ * src\vm\builtin.c: Undefine Bias for Cygwin because
+ Windows uses this define.
+ * src\vm\signal.c: No signal handlers for Cygwin.
+
+ * src/vm/jit/i386/cygwin/.cvsignore: New file.
+
+2006-09-28 20:23 edwin
+
+ Merged r5539 from trunk:
+
+ * src/vm/jit/mips/emit.c (emit_exception_stubs): Don't use
+ SIZEOF_VOID_P for getting return address, this is wrong on MIPS32.
+ * src/vm/jit/mips/codegen.c (createnativestub): Likewise.
+
+2006-09-28 20:20 edwin
+
+ Merged r5538 from trunk:
+
+ * src/native/native.c (native_insert_char): New function.
+ (native_resolve_function): Use native_insert_char function to fill
+ name buffer.
+
+2006-09-28 20:19 edwin
+
+ Merged r5537 from trunk:
+
+ * src/vm/jit/mips/codegen.c (codegen): Make fieldinfo,
+ unresolved_field local variables, better code for ICMD_PUTFIELD.
+
+2006-09-28 20:18 edwin
+
+ Merged r5536 from trunk:
+
+ * src/vm/jit/mips/emit.c (vm/jit/emit.h): Renamed to
+ vm/jit/emit-common.h.
+ (emit_load_s1, emit_load_s2, emit_load_s3, emit_store_dst): Removed.
+
+ * src/vm/jit/mips/codegen.c (vm/jit/emit.h): Renamed to
+ vm/jit/emit-common.h.
+ (codegen): Some updates to field instructions.
+
+2006-09-28 20:17 edwin
+
+ Merged r5535 from trunk:
+
+ * src/vm/jit/mips/codegen.c (codegen): Moved ICMD_IREMPOW2 and
+ ICMD_LREMPOW2.
+
+2006-09-28 20:16 edwin
+
+ Merged r5534 from trunk:
+
+ * src/vm/jit/alpha/emit.c (vm/jit/emit.h): Renamed to
+ vm/jit/emit-common.h.
+ (emit_load_s1, emit_load_s2, emit_load_s3, emit_store_dst): Removed.
+
+ * src/vm/jit/alpha/codegen.c (vm/jit/emit.h): Renamed to
+ vm/jit/emit-common.h.
+
+2006-09-28 20:13 edwin
+
+ Merged r5531 and r5532, ported to unified_variables:
+
+ * src/vm/jit/i386/md-emit.h: Renamed to src/vm/jit/i386/emit.h.
+
+ * src/vm/jit/i386/emit.c (vm/jit/i386/md-emit.h): Renamed to
+ vm/jit/i386/emit.h.
+ (vm/jit/emit.h): Renamed to vm/jit/emit-common.h.
+ (emit_load_s1, emit_load_s2, emit_load_s3, emit_load_s1_low)
+ (emit_load_s2_low, emit_load_s1_high, emit_load_s2_high)
+ (emit_store_dst): Removed.
+
+ * src/vm/jit/i386/codegen.c (vm/jit/i386/md-emit.h): Renamed to
+ vm/jit/i386/emit.h.
+ (vm/jit/emit.h): Renamed to vm/jit/emit-common.h.
+
+2006-09-28 19:53 edwin
+
+ Merged r5530 from trunk:
+
+ * src/vm/jit/emit.h: Renamed to src/vm/jit/emit-common.h.
+ * src/vm/jit/emit-common.c: New file.
+
+ * src/vm/jit/Makefile.am (noinst_HEADERS): Removed emit.h.
+ (libjit_la_SOURCES): Added emit-common.[ch].
+
+ * src/vm/jit/x86_64/emit.c (emit_load_s1, emit_load_s2, emit_load_s3)
+ (emit_store_dst): Removed.
+
+ * src/vm/jit/x86_64/codegen.c: Changed include names.
+
+2006-09-28 19:46 edwin
+
+ Merged r5529 from trunk:
+
+ * src/vm/jit/x86_64/md-emit.h: Renamed to src/vm/jit/x86_64/emit.h.
+
+2006-09-28 19:36 edwin
+
+ Merged r5527 from trunk:
+
+ * src/native/include/.cvsignore: Added sun_misc_Unsafe.h.
+
+2006-09-28 19:33 edwin
+
+ Merged r5526 from trunk:
+
+ * src/native/vm/sun_misc_Unsafe.c: New file:
+ * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
+ sun_misc_Unsafe.c.
+ * src/native/include/Makefile.am (GEN_HEADER_FILES): Added
+ sun_misc_Unsafe.h.
+
+2006-09-28 19:31 edwin
+
+ Merged r5525 from trunk:
+
+ * tests/regression/clinitexception.2output: Updated to GNU Classpath
+ 0.92.
+ * tests/regression/extest.2output: Likewise.
+
+2006-09-28 19:30 edwin
+
+ Merged r5509 from trunk:
+
+ * src/vm/jit/show.c (new_show_basicblock): Print predecessors only for
+ stage >= SHOW_CFG.
+ * src/vm/jit/show.h (SHOW_CFG): Defined.
+
+2006-09-28 19:24 edwin
+
+ Merged r5506 from trunk:
+
+ * src/native/jni.c (GetDirectBufferAddress): Check if address is NULL.
+
+2006-09-28 19:22 edwin
+
+ Merged r5502 from trunk, with additional fixes:
+
+ * src/vm/jit/jit.c (jit_compile_intern): Moved cfg_build call after
+ stack_analyse, because of JSR elimination.
+
+ * src/vm/jit/cfg.c (cfg_build): Updated to be run after stack_analyse.
+
+ Fixes:
+
+ * src/vm/jit/cfg.c (cfg_build): Skip NOPs at the end of the block.
+ Handle JSR and RET correctly. Use bptr->next in the default case
+ of falling into the following block.
+
+2006-09-28 18:45 edwin
+
+ Merged r5489 from trunk:
+
+ * configure.ac (INTRP_CFLAGS): Moved a bit.
+ * src/vm/jit/intrp/Makefile.am (CFLAGS): Don't define.
+ (AM_CFLAGS): Define as INTRP_CFLAGS, that seems to be the correct way.
+
+2006-09-28 18:42 edwin
+
+ * src/vm/jit/sparc64/codegen.c (codegen): Replaced catchtype.cls
+ with catchtype.any to reflect that it can be a classref or a
+ classinfo. (Also see r5488.)
+
+2006-09-28 18:35 edwin
+
+ Merged r5476 from trunk:
+
+ Merged sparc64 changes from trunk.
+
+2006-09-28 18:31 edwin
+
+ Merged r5462 from trunk:
+
+ * src/vm/jit/parse.c (new_parse): Added a ICMD_NOP at the end of each
+ basic block, if we have reorder enabled.
+
+2006-09-28 17:02 edwin
+
+ * src/vm/jit/reg.h (registerdata): New fields regcopycount,
+ memcopycount, and memcopycountsize.
+
+ * src/vm/jit/allocator/simplereg.c (reg_init_temp): Take jitdata
+ argument, initialize copy counts.
+ (reg_free_temp): Simplified a bit.
+ (reg_free_temp_func): Check if freeing a copy.
+ (reg_alloc_dup): New function.
+ (new_allocate_scratch_registers): Implemented DUP coalescing using a
+ copy count for each register/memory regoff.
+
+2006-09-19 09:41 edwin
+
+ * tests/regression/jasmin/runtest: Display only the basename of tests.
+ * tests/regression/jasmin/Makefile.am: Use $(srcdir) to locate the
+ runtest script.
+
+2006-09-15 20:18 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Set stackslot SAVEDVAR for
+ MULTIANEWARRAY.
+
+2006-09-15 17:19 christian
+
+ src/vm/jit/allocator/simplereg.c (reg_free_temp_func): New var
+ structures also for SUPPORT_COMBINE_INTEGER_REGISTERS.
+
+2006-09-15 17:05 christian
+
+ * src/vm/jit/ppc/emit.c (emit_load): Changed to new variable
+ structure (varinfo * instead of stackptr) and the use of Macros
+ IS_INMEMORY and VAROP.
+ (emit_store): Likewise.
+ (emit_copy): Likewise.
+ (emit_load_high): Likewise.
+ (emit_load_low): Likewise.
+ (emit_load_s1): Likewise.
+ (emit_load_s1_low): Likewise.
+ (emit_load_s1_high): Likewise.
+ (emit_load_s2): Likewise.
+ (emit_load_s2_low): Likewise.
+ (emit_load_s2_high): Likewise.
+ (emit_load_s3): Likewise.
+ (emit_load_s3_low): Likewise.
+ (emit_load_s3_high): Likewise.
+ (emit_store_dst): Likewise.
+
+ * src/vm/jit/ppc/codegen.c (codegen): Changed to new variable
+ structure (varinfo * instead of stackptr, adapting of Argument
+ handling, no interface copying anymore at BB Boundaries ) and the use
+ of Macros IS_INMEMORY, VAR and VAROP. ICMD_xSTORE and ICMD_xLOAD use
+ now
+ emit_copy. ICMD_DUPx and ICMD_SWAP were replaced by ICMD_MOVE and
+ ICMD_COPY. Invars are now regarded for EXH and JSR
+ Blocks. Changed ICMD_RET handling like with i386.
+
+ * src/vm/jit/ppc/codegen.h (M_COPY): Changed to new variable
+ structure.
+
+ * src/vm/jit/ppc/linux/md-abi.c (md_return_alloc): Changed to new
+ variable structure.
+
+ * src/vm/jit/ppc/darwin/md-abi.c (md_return_alloc): Changed to new
+ variable structure.
+
+2006-09-15 16:55 edwin
+
+ * tests/regression/jasmin/Makefile.am: Added new test.
+ * tests/regression/jasmin/test_dup_x2_interface_slots.j: New test.
+ * tests/regression/jasmin/test_dup_x1_interface_slots.j: Changed
+ second loop to also use DUP_X1.
+
+2006-09-15 16:44 edwin
+
+ * src/vm/jit/stack.c (MOVE_TO_TEMP): New macro.
+ (new_stack_analyse): Use MOVE_TO_TEMP to save sources for all
+ DUP*, SWAP instructions where it is necessary.
+
+ * src/vm/jit/parse.c (new_parse): Reserve additional NOPs for
+ DUP* instructions.
+
+2006-09-15 16:39 edwin
+
+ * tests/regression/jasmin/test_dup_x1_interface_slots.j: New test.
+ * tests/regression/jasmin/test_dup2_x1.j: Added dup2_x1 with
+ interface slots.
+ * tests/regression/jasmin/Makefile.am: Added new test.
+
+2006-09-15 16:31 christian
+
+ * src/vm/jit/alpha/emit.c (emit_load): Changed to new variable
+ structure (varinfo * instead of stackptr) and the use of Macro
+ IS_INMEMORY.
+ (emit_store): Likewise.
+ (emit_copy): Likewise.
+ (emit_load_s1): Likewise and reuse emit_load.
+ (emit_load_s2): Likewise and reuse emit_load.
+ (emit_load_s3): Likewise and reuse emit_load.
+ (emit_store_dst): Likewise and reuse emit_store.
+
+ * src/vm/jit/alpha/codegen.c (codegen): Changed to new variable
+ structure (varinfo * instead of stackptr, adapting of Argument
+ handling, no interface copying anymore at BB Boundaries ) and the use
+ of Macro IS_INMEMORY. ICMD_xSTORE and ICMD_xLOAD use now
+ emit_copy. ICMD_DUPx and ICMD_SWAP were replaced by ICMD_MOVE and
+ ICMD_COPY. Invars are now regarded
+ for EXH and JSR Blocks. Changed ICMD_RET handling like with i386.
+
+ * src/vm/jit/alpha/codegen.h (M_COPY): Changed to new variable
+ structure.
+
+ * src/vm/jit/alpha/md-abi.c (md_return_alloc): Changed to new
+ variable structure.
+
+2006-09-15 15:52 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Add a third move at the
+ beginning of a swap operation to save the src1 operand, unless it
+ is in a temporary variable.
+
+ * src/vm/jit/parse.c (new_parse): Reserve three ICMDs for SWAP.
+
+2006-09-15 15:44 edwin
+
+ * tests/regression/jasmin/Makefile.am: Added/renamed tests.
+
+2006-09-15 14:43 edwin
+
+ * src/vm/jit/verify/typecheck.c: Cleanup and documentation.
+
+2006-09-15 14:18 edwin
+
+ * src/vm/jit/verify/typecheck.c (typestate_reach): Removed check
+ against uninitialized object on stack/in locals during backward
+ branch. It is unnecessary, and not done by the RI. Reference:
+ Alessandro Coglio
+ Improving the official specification of Java bytecode verification
+ Proceedings of the 3rd ECOOP Workshop on Formal Techniques for
+ Java Programs
+ June 2001
+ citeseer.ist.psu.edu/article/coglio03improving.html
+
+ (verify_basic_block): Removed check against uninitialized object in
+ locals within try block. See above.
+
+ * tests/regression/jasmin/
+ test_verify_fail_backward_with_new_in_local.j: Renamed.
+ * tests/regression/jasmin/test_verify_fail_new_in_local_within_try.j:
+ Renamed.
+
+ * tests/regression/jasmin/
+ test_verify_unspecced_ok_backward_with_new_on_stack.j: New test.
+
+ * tests/regression/jasmin/
+ test_verify_fail_backward_with_new_on_stack.j: Fixed.
+
+2006-09-15 13:08 edwin
+
+ * tests/regression/jasmin/runtest: Use [ \t] instead of \s in the
+ regex for sed, as this seems to be more portable.
+
+2006-09-15 13:03 edwin
+
+ * src/vm/jit/verify/typecheck.c (typecheck_reset_flags): Mark
+ unreached
+ blocks as BBDELETED. The only case in which this can happen to a block
+ that was considered reachable by the stack analysis, is in the case of
+ an exception handler which only covers blocks that have no PEIs.
+
+2006-09-15 12:51 edwin
+
+ * src/vm/resolve.c (new_resolve_field_lazy): Check jd->flags instead
+ of opt_verify.
+ (new_resolve_method_lazy): Likewise.
+
+2006-09-15 12:48 christian
+
+ * src/vm/jit/stack.c (new_stack_analyse): Stackslot flags have to be
+ set for SAVEDVARs, too.
+
+2006-09-15 11:02 edwin
+
+ * src/vm/jit/verify/typecheck.c (verify_basic_block): Fix check for
+ active exception handlers. We may not compare pointers here, as the
+ blocks are not allocated with rising memory addresses. Use the
+ block numbers to compare ranges.
+
+2006-09-15 09:19 christian
+
+ * src/vm/jit/x86_64/emit.c (emit_load): Changed to new variable
+ structure (varinfo * instead of stackptr) and the use of Macro
+ IS_INMEMORY.
+ (emit_store): Likewise.
+ (emit_copy): Likewise.
+ (emit_ishift): Likewise.
+ (emit_lshift): Likewise.
+ (emit_load_s1): Likewise and reuse emit_load.
+ (emit_load_s2): Likewise and reuse emit_load.
+ (emit_load_s3): Likewise and reuse emit_load.
+ (emit_store_dst): Likewise and reuse emit_store.
+
+ * src/vm/jit/x86_64/md-emit.h: Adapded prototypes.
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Changed to new variable
+ structure (varinfo * instead of stackptr, adapting of Argument
+ handling, no interface copying anymore at BB Boundaries ) and the use
+ of Macro IS_INMEMORY. ICMD_xSTORE and ICMD_xLOAD use now
+ emit_copy. Invars are now regarded for EXH and JSR Blocks.
+
+ * src/vm/jit/x86_64/codegen.h (M_COPY): Changed to new variable
+ structure.
+
+ * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Changed to new
+ variable structure.
+
+ * src/vm/jit/stack.c (new_stack_analyse): Only try to preallocate
+ return stackslots, if they hold a TEMPVAR. Some preparation for SSA.
+
+ * src/vm/jit/jit.c (jit_compile_intern): Had to disable
+ replace_create_replacement_points(jd).
+
+ * src/vm/jit/show.c (new_show_icmd): Show s1 of [FIDL]RETURN like for
+ ARETURN.
+
+2006-09-14 22:51 edwin
+
+ * configure.ac: Generate tests/regression/jasmin/Makefile.
+
+ * tests/regression/Makefile.am: Added subdir jasmin.
+
+ * tests/regression/jasmin/Makefile.am: New file.
+
+ * tests/regression/jasmin/runtest: Check if jasmin .jar is available.
+
+2006-09-14 22:49 edwin
+
+ * src/vm/jit/verify/typecheck.c (verify_basic_block): Change
+ destination variable of GETFIELD/GETSTATIC after all checks have been
+ performed, so there is no problem if destination == source.
+
+2006-09-14 21:29 edwin
+
+ * tests/regression/jasmin/test_verify_fail_retaddr_as_object.j:
+ New test.
+
+2006-09-14 21:23 edwin
+
+ *
+ tests/regression/jasmin/test_verify_fail_backward_with_new_in_local.j:
+ New test.
+ * tests/regression/jasmin/test_verify_fail_new_in_local_within_try.j:
+ Likewise.
+ * tests/regression/jasmin/test_verify_fail_double_local_index.j:
+ Likewise.
+ *
+ tests/regression/jasmin/test_verify_fail_backward_with_new_on_stack.j:
+ Likewise.
+
+2006-09-14 20:55 edwin
+
+ * tests/regression/jasmin/test_verify_fail_long_local.j:
+ Added comment.
+ * tests/regression/jasmin/test_verify_fail_double_overwritten.j:
+ New test.
+ * tests/regression/jasmin/test_verify_fail_invoke_basic_type.j:
+ New test.
+ * tests/regression/jasmin/test_verify_fail_long_overwritten.j:
+ New test.
+
+2006-09-14 20:36 edwin
+
+ * src/vm/jit/verify/typecheck.c (typecheck_invalidate_locals):
+ New function.
+ (verify_basic_block): Invalidate locals that share space with the
+ stored local.
+ (typecheck): Build reverse map of locals.
+
+2006-09-14 18:56 edwin
+
+ * src/vm/jit/reg.h (varinfo): Added typeinfo member.
+
+ * src/vm/jit/verify/typecheck.c: Ported to unified_variables.
+ * src/vm/jit/verify/typeinfo.h: Likewise.
+ * src/vm/jit/verify/typeinfo.c: Likewise.
+
+2006-09-14 18:55 edwin
+
+ * src/vm/resolve.c (resolve_class_from_name): RESOLVE_VERBOSE changes.
+ (resolve_classref_or_classinfo): Likewise.
+ (resolve_class_from_typedesc): Likewise.
+ (resolve_and_check_subtype_set): Likewise.
+ (new_create_unresolved_field): Likewise.
+ (new_create_unresolved_method): Likewise.
+
+ (new_resolve_field_verifier_checks): Ported to unified_variables.
+ (new_resolve_field_lazy): Likewise.
+ (new_resolve_method_verifier_checks): Likewise.
+ (new_resolve_method_lazy): Likewise.
+ (new_constrain_unresolved_field): Likewise.
+
+
+ (unresolved_subtype_set_from_typeinfo): Take classname directly,
+ instead of the constant_classref *.
+
+ (create_unresolved_class): Pass classname to
+ unresolved_subtype_set_from_typeinfo.
+
+ (new_constrain_unresolved_method): Ported to unified_variables.
+ Pass classname to unresolved_subtype_set_from_typeinfo. (This should
+ fix a bug when fieldref->p.classref was invalid.)
+
+ (new_constrain_unresolved_method): Ported to unified_variables.
+ Pass classname to unresolved_subtype_set_from_typeinfo.
+
+ * src/vm/resolve.h (jit/reg.h): Include this before typeinfo.h
+ (new_resolve_method_lazy): Added jd parameter.
+ (new_resolve_field_lazy): Likewise.
+ (new_constrain_unresolved_field): Likewise.
+ (new_constrain_unresolved_method): Likewise.
+
+ * src/vm/jit/parse.c (new_parse): Pass jd to resolve functions.
+
+2006-09-14 18:45 edwin
+
+ * src/vm/jit/show.c (new_show_method): Only show allocation of locals
+ if stage is at least SHOW_REGS.
+ (new_show_icmd): Show class for CHECKCAST.
+
+2006-09-14 18:44 edwin
+
+ * src/vm/jit/stack.c (stack_create_invars): Add extra locals needed
+ by the verifier.
+ (stack_create_invars_from_outvars): Likewise.
+ (new_stack_analyse): Create inlocals for first block. Allow ASTORE of
+ returnAddress values.
+
+2006-09-14 18:40 edwin
+
+ * src/vm/jit/parse.c (new_parse): Commented calculation of varcount
+ and added added extra variables that will be needed by the verifier.
+
+2006-09-14 18:36 edwin
+
+ * src/vm/global.h (VERIFIER_EXTRA_LOCALS): New constant.
+ (VERIFIER_EXTRA_VARS): Likewise.
+
+2006-09-14 18:20 edwin
+
+ * src/vm/class.c (class_classref_or_classinfo_print): New function.
+ (class_classref_or_classinfo_println): Likewise.
+
+ * src/vm/class.h (class_classref_or_classinfo_print): New function.
+ (class_classref_or_classinfo_println): Likewise.
+
+2006-09-14 18:16 edwin
+
+ * src/vm/jit/jit.h (VAROP): New macro for accessing variable operands.
+ (VAR): New macro for getting a variable from a varindex.
+
+2006-09-14 16:46 edwin
+
+ * tests/regression/jasmin/test_verify_fail_load_wrong_type.j:
+ New test.
+ * tests/regression/jasmin/
+ test_verify_fail_load_wrong_type_within_block.j: New test.
+ * tests/regression/jasmin/test_verify_fail_local_index.j: New test.
+ * tests/regression/jasmin/test_verify_fail_long_local_index.j:
+ New test.
+ * tests/regression/jasmin/test_verify_fail_long_local.j: New test.
+ * tests/regression/jasmin/test_verify_fail_split_local.j: New test.
+ * tests/regression/jasmin/test_verify_ok_overwrite_local_type.j:
+ New test.
+ * tests/regression/jasmin/test_verify_ok_untyped_local.j: New test.
+
+2006-09-13 00:21 edwin
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Replaced catchtype.cls with
+ catchtype.any to reflect that it can be a classref or a classinfo.
+
+ * src/vm/jit/alpha/codegen.c (codegen): Likewise.
+ * src/vm/jit/mips/codegen.c (codegen): Likewise.
+ * src/vm/jit/i386/codegen.c (codegen): Likewise.
+ * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
+ * src/vm/jit/intrp/codegen.c (codegen): Likewise.
+ * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
+
+ * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception): Added XXX
+ comment warning that classrefs must be resolved here.
+
+2006-09-13 00:03 edwin
+
+ * src/vm/jit/i386/codegen.c (codegen): Use emit_copy for LOAD/STORE
+ instructions. We should also combine this with ICMD_COPY/MOVE, but
+ I was not sure how to deal with the M_COPY macro.
+
+2006-09-12 23:35 edwin
+
+ * tests/regression/jasmin/test_swap_locals.j: New test.
+
+2006-09-12 23:31 edwin
+
+ * tests/regression/jasmin/test_swap_interface_slots.j: New test.
+
+2006-09-12 23:18 edwin
+
+ * tests/regression/jasmin/test_many_monitors.j: New test. (This test
+ case used to fail with old-instruction-format cacao.)
+
+2006-09-12 22:32 christian
+
+ * src/vm/jit/i386/codegen.c (codegen): Corrected handling of taking
+ arguments out of stack frame. Some changes to adapt SSA to unified
+ variables.
+
+2006-09-12 21:34 edwin
+
+ * src/vm/jit/parse.c (parse_check_instructions): Renamed to
+ parse_realloc_instructions to reflect what it really does. Fixed so
+ it adds at least as many instructions as required by the check.
+
+ * src/vm/jit/parse.h (INSTRUCTIONS_CHECK): Use
+ parse_realloc_instructions.
+ (MARK_BASICBLOCK): Cleaned up backslashes.
+
+2006-09-12 21:23 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Fixed test for existing
+ coalescing for *STORE.
+ Properly use the return value of stack_mark_reached when analysing
+ a block for the first time.
+
+ * tests/regression/jasmin/test_simple_load_store.j: Added a test
+ that just does ILOAD 1, ISTORE 1.
+
+2006-09-12 00:21 edwin
+
+ * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub.j:
+ Renamed to test_verify_fail_jsr_handler_in_sub.j, as it fails on the
+ reference implementation.
+
+ * tests/regression/jasmin/test_verify_ok_jsr_exceptions.j: Renamed to
+ test_verify_fail_jsr_exceptions.j, likewise.
+
+ * tests/regression/jasmin/test_verify_fail_ret_uninit_var.j,
+ tests/regression/jasmin/test_verify_fail_aload_retaddress.j,
+ tests/regression/jasmin/test_verify_fail_ret_bad_type.j: Made
+ expected error match both CACAO's message and the reference
+ implementation's message.
+
+2006-09-11 23:32 edwin
+
+ * src/vm/jit/stack.c (stack_reanalyse_block): Removed unused
+ variable.
+
+2006-09-11 23:24 edwin
+
+ * src/vm/jit/stack.c: Added JSR elimination by block specialization.
+
+ * src/vm/jit/i386/codegen.c (codegen): Treat ICMD_RET as a GOTO.
+
+2006-09-11 23:17 edwin
+
+ * tests/regression/jasmin/runtest: Add --color option.
+
+2006-09-11 22:17 edwin
+
+ * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub2.j: Added
+ a second call of the subroutine, so cacao has to clone the exception
+ handler.
+
+2006-09-11 14:59 edwin
+
+ * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub.j:
+ New test.
+ * tests/regression/jasmin/test_verify_ok_jsr_exceptions.j: Likewise.
+ * tests/regression/jasmin/test_verify_ok_jsr_through_variable.j:
+ Likewise.
+ * tests/regression/jasmin/test_verify_ok_jsr_handler_in_sub2.j:
+ Likewise.
+ * tests/regression/jasmin/test_verify_ok_jsr_swap.j: Likewise.
+
+2006-09-11 14:57 edwin
+
+ * tests/regression/jasmin/test_dup2.j: Fix stackdepth.
+ * tests/regression/jasmin/test_load_store_conflict.j: Likewise.
+
+2006-09-11 14:55 edwin
+
+ * tests/regression/jasmin/runtest: Only show PASS if status is ok.
+
+2006-09-11 14:54 edwin
+
+ * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
+ Zero destination of ICMD_JSR to avoid problems when showing the IR.
+
+2006-09-11 14:52 edwin
+
+ * src/vm/jit/show.h (show_jit_type_letters): New variable.
+ (show_jit_type_names): Likewise.
+
+ * src/vm/jit/show.c (jit_type): Renamed to show_jit_type_names and
+ exported.
+ (show_jit_type_letters): New variable.
+ (new_show_method): Improved.
+ (new_show_icmd): Likewise.
+
+2006-09-11 14:45 edwin
+
+ * src/toolbox/logging.h (log_text): Fixed for strings containing %.
+
+2006-09-11 14:37 edwin
+
+ * src/vm/jit/reg.h (varinfo): Put regoff inside a union (vv) so it
+ can share space with the constant values put in varinfo. Also made
+ type and flags s4.
+
+ * src/vm/jit/stack.c (new_stack_analyse): Replace regoff with
+ vv.regoff.
+
+ * src/vm/jit/show.c (new_show_method): Likewise.
+ (new_show_variable): Likewise.
+
+ * src/vm/jit/allocator/simplereg.c (local_regalloc): Likewise.
+ (reg_new_temp_func): Likewise.
+ (reg_free_temp_func): Likewise.
+ (new_allocate_scratch_registers): Likewise.
+ (reg_make_statistics): Likewise.
+
+ * src/vm/jit/i386/emit.c: Likewise.
+ * src/vm/jit/i386/codegen.c: Likewise.
+ * src/vm/jit/codegen-common.c: Likewise.
+
+2006-09-11 00:33 edwin
+
+ * src/vm/global.h (TYPE_RET): New constant.
+
+ * src/vm/exceptions.c (exceptions_throw_verifyerror_for_stack):
+ Display TYPE_RET correctly.
+
+2006-09-11 00:30 edwin
+
+ * src/vm/jit/jit.h (basicblock): Added fields `inlocals` and
+ `original` (for JSR elimination).
+
+2006-09-11 00:03 edwin
+
+ * tests/regression/jasmin/test_verify_fail_aload_retaddress.j: New
+ test.
+ * tests/regression/jasmin/test_verify_fail_ret_uninit_var.j: New
+ test.
+ * tests/regression/jasmin/test_verify_ok_jsr_pop.j: New test.
+ * tests/regression/jasmin/test_verify_ok_jsr_push.j: New test.
+
+2006-09-10 13:51 edwin
+
+ * tests/regression/jasmin/runtest: Return correct exit code.
+
+2006-09-10 13:45 edwin
+
+ * tests/regression/jasmin/runtest: Delete temporary files.
+ * tests/regression/jasmin/test_verify_ok_jsr.j: New test.
+ * tests/regression/jasmin/test_verify_ok_jsr_multiple_blocks.j: New
+ test.
+ * tests/regression/jasmin/test_verify_fail_ret_bad_type.j: New test.
+
+2006-09-10 13:43 edwin
+
+ * tests/regression/jasmin/runtest: Added harness code for expecting
+ errors.
+
+2006-09-10 11:35 christian
+
+ * src/vm/jit/i386/codegen.c (codegen): Corrected handling of taking
+ arguments out of stack frame.
+
+2006-09-10 11:20 edwin
+
+ * src/vm/jit/stack.c (DUP_SLOT): Removed code for direct coalescing.
+ (DUP coalescing will be done in simplereg, probably.)
+
+2006-09-10 09:11 edwin
+
+ * src/vm/jit/show.c (new_show_method): Use class_print and
+ class_classref_print for showing the catch type.
+
+2006-09-09 22:33 edwin
+
+ * src/vm/jit/stack.c: Fixed macro backslashes.
+
+2006-09-09 22:05 edwin
+
+ * src/vm/jit/show.c (new_show_method): Show hexadecimal offsets in
+ stack slot table.
+
+2006-09-09 21:58 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Reset the sd.new pointer at
+ the beginning of each basic block.
+
+2006-09-09 21:50 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Made control-flow easier
+ to read. The majority of the code is now indented one level too much.
+ I did not change this, yet, to avoid a giant diff. We can do this
+ when all the branches are merged together.
+
+2006-09-09 21:41 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Combined calls to
+ stack_create_instack.
+
+2006-09-09 21:33 edwin
+
+ * src/vm/jit/jit.h (basicblock): Removed members instack and
+ outstack.
+
+ * src/vm/jit/stack.c (stack_check_invars): New function.
+ (stack_create_instack): New function.
+ (stack_mark_reached): Use new functions.
+ (new_stack_analyse): Likewise.
+
+ * src/vm/jit/stack.h (COPYCURSTACK): Removed macro.
+
+2006-09-09 20:05 edwin
+
+ * src/vm/jit/stack.h (COPYCURSTACK): Do not create invars here.
+
+ * src/vm/jit/stack.c (stack_create_invars): New function.
+ (stack_mark_reached): Use stack_create_invars.
+ (new_stack_analyse): Likewise.
+
+2006-09-09 19:37 edwin
+
+ * src/vm/jit/jit.h (basicblock): Added fields varstart and varcount.
+ Reordered fields for clarity and alignment.
+
+ * src/vm/jit/stack.c (new_stack_analyse): Set varstart and varcount
+ of each basic block.
+
+2006-09-09 19:25 edwin
+
+ * src/vm/exceptions.c (exceptions_handle_exception): Added comment on
+ why we have to do eager resolving here. Check for exceptions while
+ resolving the catch class reference.
+
+ * src/vm/linker.c (link_class_intern): Resolve exception classes
+ in handler entries lazily, instead of eagerly.
+
+2006-09-09 14:49 edwin
+
+ * src/vm/jit/stack.h (CURKIND): Removed macro.
+ (CURTYPE): Removed macro.
+
+ * src/vm/jit/stack.c (new_stack_analyse): Removed the single use of
+ CURKIND.
+
+2006-09-09 14:45 edwin
+
+ * src/vm/jit/stack.h (Changes): Added my name.
+
+2006-09-09 14:41 edwin
+
+ * src/vm/jit/stack.h (REQUIRE_1, REQUIRE_2, REQUIRE_3, REQUIRE_4):
+ Removed.
+ * src/vm/jit/stack.c (new_stack_analyse): Use the general REQUIRE
+ macro.
+
+2006-09-08 23:59 edwin
+
+ * src/vm/jit/stack.c (IS_TEMPVAR): Fix bug spotted
+ (and produced ;) by c_u.
+
+2006-09-08 20:54 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Added some assertion.
+ When we do a STORE coalescing, the stackslot must have a creator.
+
+2006-09-08 20:50 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Unified last_dup_boundary
+ and last_pei_boundary to coalescing_boundary.
+ Activated STORE coalescing. Change destination operand of creator, if
+ any.
+
+2006-09-08 20:41 edwin
+
+ * src/vm/jit/stack.h (COPYCURSTACK): Use GET_NEW_VAR.
+ Removed SET_OUTVAR.
+ * src/vm/jit/stack.c (GET_NEW_VAR): New macro.
+ (various macros): Use GET_NEW_VAR, so the variable type is set.
+ Reset coalescing for non-consuming uses.
+ (SET_TEMPVAR): Fix: do not use "copy". Change the destination operand
+ of the creator, if any.
+ (DST_LOCAL): Activate LOAD coalescing.
+ (new_stack_analyse): Reset coalescing for pass-through operands.
+
+2006-09-08 19:48 edwin
+
+ * src/vm/jit/jit.h (stackelement): Added creator field.
+ * src/vm/jit/stack.h (COPYCURSTACK): Set creator = NULL.
+ * src/vm/jit/stack.c (DST, DST_LOCALVAR, MOVE_COPY_UP, COPY_DOWN):
+ Set creator to current iptr.
+ * src/vm/jit/stack.h: Cleaned up macros.
+ * src/vm/jit/stack.c: Likewise.
+
+2006-09-08 18:14 edwin
+
+ * src/vm/jit/codegen-common.h: Removed the NEW_VAR define.
+ * src/vm/jit/stack.c: Likewise.
+ * src/vm/jit/verify/typecheck.c: Likewise.
+ * src/vm/jit/i386/codegen.c: Likewise.
+ * src/vm/jit/parse.c: Likewise.
+ * src/vm/jit/reg.c: Likewise.
+ * src/vm/jit/reg.h: Likewise.
+ * src/vm/jit/jit.c: Likewise.
+ * src/vm/jit/codegen-common.c: Likewise.
+ * src/vm/jit/jit.h: Likewise, and removed the dupslots member from
+ the dst_operand_t union.
+
+2006-09-08 18:12 edwin
+
+ * src/vm/jit/show.c (new_show_icmd): Removed code for DUPs.
+
+2006-09-08 17:59 edwin
+
+ * src/vm/jit/verify/typecheck.c: Removed code for DUPs.
+
+2006-09-08 17:57 edwin
+
+ * src/vm/jit/i386/codegen.c (codegen): Removed code for DUPs.
+
+2006-09-08 17:50 edwin
+
+ * src/vm/jit/i386/codegen.c (*LOAD, *STORE): Normalized the source ==
+ dest check so it always looks the same.
+ (LLOAD, LSTORE): Use M_LNGMOVE, not M_INTMOVE.
+ (DSTORE): Combined with FSTORE, because it now has the same code.
+
+2006-09-08 17:37 edwin
+
+ * src/vm/jit/i386/codegen.c (codegen): Fix LSTORE: The source == dest
+ test was broken.
+
+2006-09-08 16:41 edwin
+
+ * src/vm/jit/show.c (new_show_method): Fix display of local table.
+
+2006-09-08 16:26 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Fix ICMD_RET: The variable
+ index has to be mapped.
+
+2006-09-08 16:07 edwin
+
+ * src/vm/jit/stack.c (DUP_SLOT): Turn off coalescing.
+ (MOVE_COPY_UP): New macro.
+ (COPY_DOWN): New macro.
+ (interface_map): Changed to array of interface_info.
+ (*STORE): Fix index into last_store_boundary (must be javaindex).
+ (DUP*, SWAP): Eliminate DUPs.
+ (new_stack_analyse): Mark invar interfaces used.
+
+ * src/vm/jit/show.c (new_show_method): Adapted to new
+ interface_map layout.
+
+ * src/vm/jit/allocator/simplereg.c (interface_regalloc): Adapted
+ to new interface_map layout.
+ (new_allocate_scratch_registers): Likewise.
+ (new_allocate_scratch_registers): Removed code for DUP* instructions.
+ (ICMD_MOVE, ICMD_COPY): Added.
+
+2006-09-08 16:02 edwin
+
+ * src/vm/jit/i386/codegen.h (M_FLTMOVE): Only assert(0) if move would
+ have to be performed.
+
+2006-09-08 14:17 edwin
+
+ * src/vm/jit/show.c (show_variable): Check for invalid flags.
+
+2006-09-08 14:16 edwin
+
+ * src/vm/jit/i386/codegen.c (codegen): Removed a debug print.
+
+2006-09-08 14:15 edwin
+
+ * src/vm/jit/stack.c (DST_LOCALVAR): _Really_ turn off coalescing
+ temporarily.
+
+2006-09-08 12:19 edwin
+
+ * src/vm/jit/allocator/simplereg.c (interface_regalloc): Changed
+ allocation of interface registers. interface_map now contains the
+ necessary flags, and receives a combination of allocated flags
+ and regoff.
+
+ (new_allocate_scratch_registers): Copy the allocation of the
+ invars and outvars for each basic block.
+
+2006-09-08 12:17 edwin
+
+ * src/vm/jit/jit.h (LOCAL_UNUSED): Changed (in comment) to UNUSED.
+
+2006-09-08 12:16 edwin
+
+ * src/vm/jit/stack.c (stackdata_t): New struct for keeping internal
+ data of the stack analysis. This is necessary for converting macros
+ to functions.
+ (various macros): Adapted to use stackdata_t. Removed old code.
+ (DST_LOCALVAR): Temporarily turned off local variable coalescing.
+ (MARKREACHED): Converted to a function.
+ (stack_mark_reached): New function.
+ (last_store_boundary): Use java indices instead of internal local
+ indices into this table.
+ (new_stack_analyse): Removed old code.
+
+ * src/vm/jit/stack.h (various macros): Adapted to use stackdata_t.
+ (MARKREACHED): Converted to a function.
+
+2006-09-08 12:10 edwin
+
+ * src/vm/jit/parse.h: Removed old code.
+ * src/vm/jit/parse.c (new_parse): Do not modify m->maxlocals and
+ cd->maxlocals.
+ They refer to the number of javalocals, and that's ok. We have
+ jd->localcount
+ to keep the number of internal locals.
+
+2006-09-08 12:07 edwin
+
+ * src/vm/jit/show.c (new_show_method): Show isleafmethod.
+ (new_show_method): Pretty interface map printing (prepared for
+ interface register allocation changes).
+ (new_show_method): Print allocation of stack slots.
+ (show_allocation): New function.
+ (show_variable): Mark SAVEDVARs with an exclamation mark.
+
+2006-09-08 01:05 edwin
+
+ * src/vm/jit/show.c (new_show_method): Only show local table if there
+ are locals.
+
+2006-09-07 23:17 edwin
+
+ * src/vm/jit/show.c (jit_type): Made types uppercase.
+ (new_show_method): Prettier printing of locals_map and interface_map.
+ (SHOW_STACKVAR): Renamed to SHOW_VARIABLE.
+ (new_show_stackvar): Renamed to show_variable. Cleaned up.
+
+2006-09-07 22:44 edwin
+
+ * src/vm/jit/allocator/simplereg.c (reg_new_temp_func): Removed old
+ version.
+ (reg_free_temp_func): Likewise.
+ (allocate_scratch_registers): Likewise.
+
+2006-09-07 22:39 edwin
+
+ * src/vm/jit/allocator/simplereg.c (reg_alloc_dup): Removed.
+ (new_reg_mark_copy): Likewise.
+
+2006-09-07 14:41 edwin
+
+ * src/vm/jit/i386/codegen.c (ICMD_COPY): Added.
+ (ICMD_MOVE): Likewise.
+
+2006-09-07 14:38 edwin
+
+ * src/vm/jit/reg.h (varinfo): New field copycount.
+ * src/vm/jit/parse.c (new_parse): Zero jd->var array.
+
+2006-09-07 14:31 edwin
+
+ * src/vm/jit/parse.c (new_parse): Allocate extra NOPs for stack
+ operations.
+
+2006-09-07 14:25 edwin
+
+ * src/vm/jit/show.c (ICMD_COPY): Uncommented.
+ (ICMD_MOVE): Likewise.
+
+2006-09-07 14:24 edwin
+
+ * src/vm/jit/jit.h, src/vm/jit/jit.c (ICMD_COPY): New ICMD.
+ (ICMD_MOVE): Likewise.
+
+2006-09-07 14:00 christian
+
+ * src/vm/jit/allocator/simplreg: Removed #if defined(NEW_VAR) over
+ some functions.
+
+2006-09-07 13:41 edwin
+
+ * src/vm/jit/jit.c (ENABLE_VERIFY): Corrected to ENABLE_VERIFIER.
+
+2006-09-07 13:29 christian
+
+ Unified variables changes for common/i386.
+
+2006-09-07 13:01 edwin
+
+ Branch for developing unified variables.
+
+2006-09-07 12:52 twisti
+
+ * src/vm/jit/i386/emit.c: Use IS_INMEMORY macro.
+ * src/vm/jit/i386/codegen.c: Likewise.
+
+2006-09-07 12:26 twisti
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Use IS_INMEMORY macro.
+
+2006-09-07 12:24 twisti
+
+ * src/vm/jit/powerpc/emit.c (emit_copy): Eliminate register move if
+ one of the variables resides in memory.
+
+2006-09-07 11:14 twisti
+
+ * src/vm/jit/alpha/emit.c (emit_copy): Only one not-equal comparison.
+
+2006-09-07 11:09 twisti
+
+ * src/vm/jit/powerpc64/emit.c (emit_copy): Eliminate register move if
+ one of the variables resides in memory.
+
+2006-09-07 10:59 twisti
+
+ * src/vm/jit/mips/emit.c (emit_copy): Eliminate register move if one
+ of the variables resides in memory.
+
+2006-09-07 10:46 twisti
+
+ * src/vm/jit/i386/emit.c (emit_copy): Eliminate register move if one
+ of the variables resides in memory.
+
+2006-09-07 10:16 twisti
+
+ * src/vm/jit/x86_64/emit.c (emit_copy): Eliminate register move if one
+ of the variables resides in memory.
+
+2006-09-07 10:03 twisti
+
+ * src/vm/jit/alpha/emit.c (emit_copy): Eliminate register move if one
+ of the variables resides in memory.
+
+2006-09-07 09:40 twisti
+
+ * src/vm/jit/jit.h (IS_SAVEDVAR): Added.
+ (IS_INMEMORY): Likewise.
+
+2006-09-07 00:32 edwin
+
+ * src/vm/jit/show.c (new_show_icmd): Separate real arguments and
+ pass-through variables for INVOKE*.
+
+2006-09-07 00:29 edwin
+
+ * src/vm/jit/show.c (new_show_icmd): Separate real arguments and
+ pass-through variables for BUILTIN.
+
+2006-09-06 23:18 twisti
+
+ * src/vm/jit/powerpc64/linux/md-abi.h: Bugfixes and changes for new
+ instruction format.
+ * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
+ * src/vm/jit/powerpc64/emit.c: Likewise.
+ * src/vm/jit/powerpc64/codegen.c: Likewise.
+ * src/vm/jit/powerpc64/codegen.h: Likewise.
+
+2006-09-06 22:34 twisti
+
+ * src/vm/jit/mips/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
+ Defined.
+ * src/vm/jit/mips/codegen.c: Use REG_A? defines instead of
+ rd->argintreg[] loads.
+
+2006-09-06 22:16 twisti
+
+ * src/vm/jit/alpha/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
+ Defined.
+ * src/vm/jit/alpha/codegen.c: Use REG_A? defines instead of
+ rd->argintreg[] loads.
+
+2006-09-06 21:56 twisti
+
+ * src/vm/jit/x86_64/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
+ Defined.
+ * src/vm/jit/x86_64/codegen.c: Use REG_A? defines instead of
+ rd->argintreg[] loads.
+
+2006-09-06 21:40 twisti
+
+ * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete precedessor
+ calucation.
+
+2006-09-06 21:32 edwin
+
+ * tests/regression/jasmin/test_dup_x2.j: Split second test into
+ separate file.
+ * tests/regression/jasmin/test_dup_x2_to_dup_x1: New test.
+
+2006-09-06 21:30 edwin
+
+ * tests/regression/jasmin/runtest: Improved harness script.
+
+2006-09-06 21:17 twisti
+
+ * src/vm/jit/powerpc/linux/md-abi.h (REG_A0, REG_A1, REG_A2, REG_A3):
+ Defined.
+ * src/vm/jit/powerpc/darwin/md-abi.h: Likewise.
+
+ * src/vm/jit/powerpc/codegen.c: Use REG_A? defines instead of
+ rd->argintreg[] loads.
+
+2006-09-06 17:05 twisti
+
+ * src/vm/jit/mips/codegen.c (codegen): Generate the INVOKE/BUILTIN
+ call code in a common place.
+
+2006-09-06 16:43 twisti
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Generate the INVOKE/BUILTIN
+ call code in a common place.
+
+2006-09-06 16:41 twisti
+
+ * src/vm/jit/i386/codegen.c (codegen): Don't move the function address
+ into disp for ICMD_BUILTIN.
+
+2006-09-06 16:30 twisti
+
+ * src/vm/jit/i386/codegen.c (codegen): Generate the INVOKE/BUILTIN
+ call code in a common place.
+ (createnativestub): Removed unused disp variable.
+
+2006-09-06 16:24 twisti
+
+ * src/vm/jit/alpha/codegen.c (codegen): Generate the INVOKE/BUILTIN
+ call code in a common place.
+
+2006-09-06 16:06 twisti
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Generate the INVOKE/BUILTIN
+ call code in a common place.
+
+2006-09-06 16:01 edwin
+
+ * src/vm/jit/jit.h (INS_FLAG_NOCHECK): Reversed to INS_FLAG_CHECK.
+ * src/vm/jit/stack.c: Likewise.
+ * src/vm/jit/stack.h: Likewise.
+ * src/vm/jit/parse.c: Likewise.
+ * src/vm/jit/parse.h: Likewise.
+
+2006-09-06 15:22 edwin
+
+ * src/vm/jit/parse.h (INSTRUCTIONS_CHECK): New macro.
+ * src/vm/jit/parse.c (new_parse): Merged twisti's reallocation of the
+ instruction array.
+
+2006-09-06 14:38 twisti
+
+ * src/vm/jit/alpha/codegen.c (ICMD_I2L): Use REG_ITMP1 for dst, this
+ can save a move.
+ (ICMD_LDIV, ICMD_LREM): Use argument registers for s1 and s2 when
+ loaded.
+
+2006-09-06 14:32 edwin
+
+ Checked in jasmin tests.
+
+2006-09-06 14:01 edwin
+
+ * src/vm/jit/parse.c (parserdata_t): New type.
+ (parse_setup): New function.
+ (parse_check_instructions): New function.
+
+2006-09-06 13:46 christian
+
+ * src/vm/jit/stack.c (new_stack_analyse): Ifdeffed handling of new var
+ system.
+
+ * src/vm/jit/stack.h: Likewise.
+
+ * src/vm/jit/parse.c (new_parse) : Likewise.
+
+ * src/vm/jit/parse.h: Likewise.
+
+ * src/vm/jit/jit.h: Ifdeffed structure entries for new var system.
+
+2006-09-06 12:37 twisti
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Use M_ISUB in ICMD_ISUBCONST
+ instead of M_IADD.
+
+2006-09-06 11:58 twisti
+
+ * src/vm/jit/mips/emit.c (emit_copy): Removed accidentally pasted
+ code.
+
+2006-09-06 11:12 edwin
+
+ * src/vm/jit/stack.h: Removed macros for old instruction format.
+
+2006-09-06 11:01 edwin
+
+ * src/vm/jit/parse.h: Removed NEW_ prefix from macros.
+ * src/vm/jit/parse.c: Likewise.
+
+2006-09-06 10:56 edwin
+
+ * src/vm/jit/stack.h (CHECKOVERFLOW): Removed.
+ (NEW_CHECKOVERFLOW): Renamed to CHECKOVERFLOW.
+
+ * src/vm/jit/stack.c (new_stack_analyse): Removed NEW_ prefix from
+ macro names.
+
+2006-09-06 10:48 edwin
+
+ * src/vm/jit/x86_64/emit.c: Renamed new_instruction to instruction.
+ * src/vm/jit/x86_64/md-emit.h: Likewise.
+ * src/vm/jit/x86_64/codegen.c: Likewise.
+
+2006-09-06 10:20 christian
+
+ * src/vm/stack.c (new_stack_analyse): Removed assert to check, that
+ all outvars are STACKVARS. Would be a possible conflict with swap
+
+ * src/vm/parse.c (new_parse): Data colletion for local var
+ renaming(de-coalescing)
+
+ * src/vm/parse.h (new_pase): Likewise.
+
+ * src/vm/jit.h: Likewise.
+
+ * src/vm/jit/i386/codegen.c (codegen): Ifdefed interface copy in
+ regard to new
+ var system.
+
+2006-09-06 10:16 edwin
+
+ * src/vm/jit/mips/emit.c (emit_load_s1): Removed obsolete src param.
+ (emit_load_s2): Likewise.
+ (emit_load_s3): Likewise.
+
+2006-09-06 10:14 edwin
+
+ * src/vm/jit/powerpc64/emit.c (emit_load): New function.
+ (emit_load_s1): Implemented in terms of emit_load.
+ (emit_load_s2): Likewise.
+ (emit_load_s3): Likewise.
+ (emit_store_dst): New function.
+
+2006-09-06 10:09 edwin
+
+ * src/vm/jit/mips/emit.c (emit_load): New function.
+ (emit_load_s1): Implemented in terms of emit_load.
+ (emit_load_s2): Likewise.
+ (emit_load_s3): Likewise.
+ (emit_store_dst): New function.
+
+2006-09-06 09:57 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Implement conflict checking
+ and coalescing for *STORE.
+ * src/vm/jit/show.c (new_show_stackvar): Show coalescing info.
+
+2006-09-06 00:18 christian
+
+ * src/vm/jit/stack.c (new_stack_analyse): Mark all in and out
+ Stackslots of Basic Blocks as STACKVAR.
+
+ * src/vm/jit/i386/codegen.c (codegen): Removed copy of interfaces
+ to in and from out stackslots.
+
+2006-09-06 00:07 edwin
+
+ * src/vm/jit/powerpc64/codegen.c (codegen): ++lookup in LOOKUPSWITCH
+ loop.
+ * src/vm/jit/powerpc64/codegen.c (codegen): Ported to new instruction
+ format.
+
+2006-09-05 23:37 edwin
+
+ * src/vm/jit/i386/codegen.c (codegen): Port LASTORECONST, PUT*CONST.
+
+2006-09-05 23:10 edwin
+
+ * src/vm/jit/mips/codegen.c (codegen): Ported to new instruction
+ format.
+
+2006-09-05 23:08 twisti
+
+ * src/vm/jit/powerpc/emit.c: Updated to new instruction format.
+ * src/vm/jit/powerpc/codegen.c: Likewise.
+
+2006-09-05 23:07 twisti
+
+ * src/vm/builtin.c (builtin_print_argument): Print decimal values for
+ int and long arguments.
+
+2006-09-05 22:51 christian
+
+ * i386/emit.c: Changed to new instruction format.
+ * i386/codegen.c: Likewise.
+ * i386/codegen.h: Likewise.
+ * parse.c: Likewise.
+ * parse.h: Likewise.
+ * jit.h: Likewise.
+
+2006-09-05 22:42 edwin
+
+ * src/vm/jit/show.c (new_show_icmd): Show LOOKUPSWITCH targets.
+
+2006-09-05 22:27 edwin
+
+ * src/vm/jit/alpha/codegen.c (codegen): Port MULTIANEWARRAY.
+
+2006-09-05 22:23 edwin
+
+ * sarc/vm/jit/parse.c (parse): Check return value of
+ lock_monitor_enter.
+
+2006-09-05 22:22 edwin
+
+ * src/threads/native/lock.h (lock_monitor_enter): Return bool.
+ * src/threads/native/lock.c (lock_monitor_enter): Check for
+ NullPointerException.
+
+2006-09-05 22:05 twisti
+
+ * src/vm/jit/cfg.c (cfg_build): It's better to not reuse the loop
+ variable.
+
+2006-09-05 21:53 edwin
+
+ * src/vm/jit/show.c (new_show_icmd): Show BLOCK_OF tableswitch
+ targets.
+
+2006-09-05 21:50 edwin
+
+ * src/vm/jit/show.c (new_show_icmd): Show TABLESWITCH targets.
+
+2006-09-05 21:20 edwin
+
+ * src/vm/jit/alpha/codegen.c (codegen): Port ICMD_CHECKCAST.
+
+2006-09-05 21:20 twisti
+
+ * src/vm/method.h (methodinfo): Removed members basicblockcount,
+ basicblocks, basicblockindex, instructioncount, instructions,
+ stackcount, and stack.
+
+ * src/vm/jit/cfg.c: Use jitdata variables instead of methodinfo ones.
+ * src/vm/jit/reorder.c: Likewise.
+ * src/vm/jit/ifconv/ifconv.c: Likewise.
+ * src/vm/jit/allocator/simplereg.c: Likewise.
+ * src/vm/jit/replace.c: Likewise.
+ * src/vm/jit/jit.c: Likewise.
+
+2006-09-05 21:17 twisti
+
+ * src/vm/jit/powerpc/Makefile.am (libarch_la_SOURCES): Added
+ accidentally removed codegen.c.
+
+2006-09-05 21:16 twisti
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Use d for return type checks.
+
+2006-09-05 21:15 twisti
+
+ * src/cacaoh/headers.c: Use a dummy flag for natively overloaded
+ methods.
+
+2006-09-05 21:14 edwin
+
+ * src/vm/jit/alpha/codegen.c (codegen): Deactivate replacement points.
+ * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
+
+2006-09-05 21:06 edwin
+
+ * src/vm/jit/alpha/codegen.c (codegen): Set fieldtype in all cases.
+
+2006-09-05 20:58 edwin
+
+ * src/vm/jit/show.c (new_show_basicblock): Prettier if.
+
+2006-09-05 20:57 edwin
+
+ * src/vm/jit/alpha/codegen.c (codegen): Use jd->new_basicblocks.
+
+2006-09-05 20:50 edwin
+
+ * src/vm/jit/alpha/codegen.c: Use invars/outvars instead of
+ instack/outstack.
+
+2006-09-05 20:17 edwin
+
+ * src/vm/jit/alpha/codegen.c (codegen): Port handling of INVOKE*
+ arguments.
+
+2006-09-05 20:11 edwin
+
+ * src/vm/jit/alpha/emit.c: Ported to new instruction format.
+ * src/vm/jit/alpha/codegen.c: Likewise.
+
+2006-09-05 19:38 twisti
+
+ * src/vm/jit/jit.h (instruction): Removed.
+ (new_instruction): Renamed to instruction.
+
+ * src/vm/builtin.c: Renamed new_instruction to instruction.
+ * src/vm/builtin.h: Likewise.
+ * src/vm/resolve.c: Likewise.
+ * src/vm/resolve.h: Likewise.
+ * src/vm/jit/powerpc/emit.c: Likewise.
+ * src/vm/jit/powerpc/Makefile.am: Likewise.
+ * src/vm/jit/codegen-common.h: Likewise.
+ * src/vm/jit/cfg.c: Likewise.
+ * src/vm/jit/reorder.c: Likewise.
+ * src/vm/jit/emit.h: Likewise.
+ * src/vm/jit/stack.c: Likewise.
+ * src/vm/jit/stack.h: Likewise.
+ * src/vm/jit/show.c: Likewise.
+ * src/vm/jit/dseg.c: Likewise.
+ * src/vm/jit/verify/typecheck.c: Likewise.
+ * src/vm/jit/verify/typeinfo.c: Likewise.
+ * src/vm/jit/show.h: Likewise.
+ * src/vm/jit/allocator/simplereg.c: Likewise.
+ * src/vm/jit/parse.c: Likewise.
+ * src/vm/jit/codegen-common.c: Likewise.
+
+2006-09-05 19:06 edwin
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Converted with
+ portcodegen.pl.
+ * src/vm/jit/sparc64/codegen.c (codegen): Likewise.
+ * src/vm/jit/alpha/codegen.c (codegen): Likewise.
+ * src/vm/jit/mips/codegen.c (codegen): Likewise.
+ * src/vm/jit/i386/codegen.c (codegen): Likewise.
+ * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
+
+2006-09-05 18:43 edwin
+
+ Merge changes from trunk (powerpc64).
+
+2006-09-05 17:42 edwin
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Use emit_load instead of
+ emit_load_s1/s2 for variable arguments and interface copying.
+ * src/vm/jit/alpha/codegen.c (codegen): Likewise.
+ * src/vm/jit/mips/codegen.c (codegen): Likewise.
+ * src/vm/jit/i386/codegen.c (codegen): Likewise.
+ * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
+
+2006-09-05 17:21 edwin
+
+ Merged changes from trunk.
+
+2006-09-05 16:45 edwin
+
+ * src/vm/jit/powerpc/codegen.c (codegen): ICMD_PUTSTATIC: Use
+ emit_load_s1 to load the first operand.
+ * src/vm/jit/sparc64/codegen.c (codegen): Likewise.
+ * src/vm/jit/alpha/codegen.c (codegen): Likewise.
+ * src/vm/jit/mips/codegen.c (codegen): Likewise.
+ * src/vm/jit/i386/codegen.c (codegen): Likewise.
+ * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
+
+2006-09-05 16:12 edwin
+
+ * src/vm/jit/jit.h (basicblock): Changed type of iinstr to
+ new_instruction *.
+ * src/vm/jit/stack.c (new_stack_analyse): Removed obsolete casts.
+ * src/vm/jit/show.c (new_show_basicblock): Likewise.
+ * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
+ * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
+ Likewise.
+ * src/vm/jit/parse.c (new_parse): Likewise.
+ * src/vm/jit/x86_64/codegen.c (new_parse): Likewise.
+
+2006-09-05 12:42 edwin
+
+ * src/vm/jit/jit.h (s3_operand_t): Removed arrayvftbl.
+ * src/vm/jit/x86_64/codegen.c (codegen): ICMD_MULTIANEWARRAY:
+ Use s3.c.cls instead of s3.arrayvftbl.
+
+2006-09-05 12:29 edwin
+
+ * src/vm/jit/jit.h (jitdata): Removed field new_rd.
+ * src/vm/jit/jit.c (jit_compile): Use rd instead of new_rd.
+ (jit_compile_intern): Likewise.
+ * src/vm/jit/verify/typecheck.c (typecheck): Likewise.
+ (verify_basic_block): Removed unused variables.
+ * src/vm/jit/allocator/simplereg.c (new_regalloc):
+ Use rd instead of new_rd.
+ * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
+
+2006-09-05 11:53 edwin
+
+ * src/vm/jit/x86_64/codegen.c: Ported to new instruction format.
+ * src/vm/jit/x86_64/emit.c: Likewise.
+ * src/vm/jit/x86_64/md-emit.h: Likewise.
+
+2006-09-05 11:50 edwin
+
+ * src/vm/jit/jit.h (s3_operand_t): Added union field arrayvftbl.
+
+2006-09-05 11:47 edwin
+
+ * src/vm/jit/jit.c (jit_compile): Test setup for the new x86_64
+ codegen.
+ (jit_compile_intern): Likewise.
+
+2006-09-05 11:42 edwin
+
+ * src/vm/jit/emit.h (emit_load*): Changed for new instruction format.
+ (emit_store*): Likewise.
+ (emit_copy*): Likewise.
+ (emit_store_dst): New function.
+
+2006-09-05 11:40 edwin
+
+ * src/vm/jit/jit.h (basicblock): Added fields invars and outvars.
+ * src/vm/jit/stack.h (MARKREACHED): Set invars.
+ * src/vm/jit/stack.c (new_stack_analyse): Set invars and outvars.
+ * src/vm/jit/show.c (new_show_basicblock): Show invars and outvars.
+
+2006-09-05 11:34 edwin
+
+ * src/vm/jit/jit.h (NEW_INSTRUCTION_*): Renamed to INSTRUCTION_.
+ The old INSTRUCTION_ and ICMD_ macros are removed.
+ * src/vm/resolve.c (NEW_INSTRUCTION_*): Replaced with INSTRUCTION_.
+ * src/vm/jit/show.c (new_show_icmd): Likewise.
+ * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
+ Likewise.
+ * src/vm/jit/stack.c (new_stack_analyse): Likewise, and add a call
+ of builtintable_replace_function.
+
+2006-09-05 11:20 edwin
+
+ * src/vm/jit/verify/typecheck.c: Ported to new instruction format.
+ * src/vm/jit/verify/typeinfo.c (typeinfo_print): Likewise.
+ (typeinfo_print_short): Likewise.
+
+2006-09-05 11:16 edwin
+
+ * src/vm/builtin.h (builtintable_replace_function): Ported to new
+ instruction format.
+ * src/vm/builtin.c (builtintable_replace_function): Likewise.
+
+2006-09-05 11:13 edwin
+
+ * src/vm/jit/show.c (new_show_variable_array): New function.
+ (new_show_method): Fixed calculation of lastbptr.
+ Only show code lengths if stage >= SHOW_CODE.
+
+2006-09-05 10:52 edwin
+
+ * src/vm/resolve.h: Removed code for old instruction format.
+ * src/vm/resolve.c: Likewise.
+
+2006-09-05 10:47 edwin
+
+ * src/vm/jit/allocator/simplereg.h: Removed code for old instruction
+ format.
+ * src/vm/jit/allocator/simplereg.c: Likewise.
+
+2006-09-05 10:44 edwin
+
+ * src/vm/jit/show.h: Removed code for old instruction format.
+ * src/vm/jit/show.c: Likewise.
+
+2006-09-05 10:39 edwin
+
+ * src/vm/jit/stack.h: Removed code for old instruction format.
+ * src/vm/jit/stack.c: Likewise.
+
+2006-09-05 10:37 edwin
+
+ * src/vm/jit/parse.h: Removed code for old instruction format.
+ * src/vm/jit/parse.c: Likewise.
+
+2006-09-05 10:20 edwin
+
+ Branch for porting the new instruction format.
+
+2006-09-05 10:15 twisti
+
+ * src/vm/jit/i386/Makefile.am (noinst_HEADERS): Removed
+ icmd_uses_reg_res.inc.
+
+2006-09-05 10:10 twisti
+
+ * src/vm/jit/i386/icmd_uses_reg_res.inc: Removed.
+
+2006-09-05 10:09 edwin
+
+ * src/vm/jit/x86_64/codegen.h (ICONST): Fix this macro so it properly
+ uses its arguments.
+ (LCONST): Likewise.
+
+2006-09-05 10:04 twisti
+
+ * src/tests/Howdy.java: Removed.
+
+2006-09-05 10:03 twisti
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Use cd->stackframesize
+ instead of stackframesize (bugfix).
+ (createnativestub): Likewise.
+
+2006-09-05 09:59 edwin
+
+ * src/vm/jit/codegen-common.h (codegen_reg_of_dst): New function.
+ * src/vm/jit/codegen-common.c (codegen_reg_of_dst): Likewise.
+ Right now this duplicates codegen_reg_of_var's body. We should
+ probably make one of these functions inline the other.
+
+2006-09-05 00:12 edwin
+
+ * src/vm/jit/ifconv/ifconv.c (ifconv_static): Deactivated
+ show_basicblock calls that will become a problem when code for the
+ old instruction format is removed.
+ (check): Likewise.
+
+2006-09-05 00:02 edwin
+
+ * src/vm/resolve.c (resolve_field): new_resolve_field_verifier_checks
+ used instead of the old function that will be removed soon.
+ (resolve_method): Use new_resolve_method_verifier_checks instead of
+ the
+ old function that will be removed soon.
+ (new_resolve_method_verifier_checks): Port handling of
+ TYPEINFO_IS_NEWOBJECT.
+ (new_resolve_method_verifier_checks): Likewise.
+ (new_constrain_unresolved_field): Likewise.
+ (new_constrain_unresolved_method): Likewise.
+
+2006-09-04 23:24 edwin
+
+ * src/vm/jit/parse.c (new_parse): Changed leftover "OP" macro uses
+ to "NEW_OP".
+
+2006-09-04 17:45 twisti
+
+ * src/vm/jit/mips/emit.c (config.h): Added.
+ [ENABLE_THREADS] (threads/native/lock.h): Likewise.
+ (vm/exceptions.h): Likewise.
+ (vm/stringlocal.h): Likewise.
+ (vm/jit/asmpart.h): Likewise.
+ (vm/jit/dseg.h): Likewise.
+ (vm/jit/replace.h): Likewise.
+ (emit_exception_stubs): New method.
+ (emit_patcher_stubs): Likewise.
+ (emit_replacement_stubs): Likewise.
+
+ * src/vm/jit/mips/codegen.c (codegen): Use cd->stackframesize instead
+ of stackframesize, use emit functions to generate stubs and call trace
+ code.
+ (createnativestub): Likewise.
+
+2006-09-04 17:12 christian
+
+ * src/vm/jit/alpha/patcher.c (patcher_wrapper): Patch back machine
+ code.
+ (patcher_aconst): Renamed to patcher_resolve_classref_to_classinfo.
+ (patcher_clinit): Renamed to patcher_initialize_class.
+ (patcher_resolve_native): Renamed to patcher_resolve_native_function.
+ (patcher_athrow_areturn): Renamed to patcher_resolve_class.
+ (patcher_checkcast_instanceof_class): Renamed to
+ patcher_resolve_classref_to_vftbl.
+ (patcher_checkcast_instanceof_flags): Renamed to
+ patcher_resolve_classref_to_flags.
+ (patcher_builtin_multianewarray): Removed.
+ (patcher_builtin_arraycheckcast): Likewise.
+
+ * src/vm/jit/alpha/codegen.c (codegen): Use new patcher functions.
+
+2006-09-04 16:33 twisti
+
+ * src/vm/jit/alpha/emit.c (vm/builtin.h): Added.
+ (vm/jit/abi-asm.h): Likewise.
+ (vm/jit/replace.h): Likewise.
+ (emit_verbosecall_enter): New method.
+ (emit_verbosecall_exit): Likewise.
+
+ * src/vm/jit/alpha/codegen.c (codegen): Use emit functions to generate
+ call trace code.
+ (createnativestub): Likewise.
+
+2006-09-04 15:48 twisti
+
+ * src/vm/jit/powerpc/emit.c (config.h): Added.
+ [ENABLE_THREADS] (threads/native/lock.h): Likewise.
+ (vm/builtin.h): Likewise.
+ (vm/jit/abi-asm.h): Likewise.
+ (vm/jit/asmpart.h): Likewise.
+ (vm/jit/replace.h): Likewise.
+ (emit_exception_stubs): New method.
+ (emit_patcher_stubs): Likewise.
+ (emit_replacement_stubs): Likewise.
+ (emit_verbosecall_enter): Likewise.
+ (emit_verbosecall_exit): Likewise.
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Use emit functions to
+ generate stubs and call trace code.
+ (createnativestub): Likewise.
+
+2006-09-04 14:21 twisti
+
+ * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): We don't save
+ an argument on the stack anymore, offsets adjusted.
+ (asm_handle_exception): Use md_codegen_get_pv_from_pc instead of
+ assembler code and temporary variables as on other RISC architectures.
+
+2006-09-04 12:38 tbfg
+
+ * src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter): Fixed off
+ by one stackslot overwrite some stuff bug.
+
+ * src/vm/jit/powerpc64/codegen.c (codegen): Fix parameter passing
+ in.
+
+2006-09-02 14:26 tbfg
+
+ * src/vm/jit/powerpc64/arch.h: Reenabled platfrom features.
+
+ * src/vm/jit/powerpc64/codegen.c (codegen): Fixed native calls.
+ (createnativestub): Likewise.
+
+2006-08-31 19:58 tbfg
+
+ * srv/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): Fixed argument
+ handling.
+
+2006-08-31 13:32 tbfg
+
+ * src/vm/jit/powerpc64/emit.c (emit_verbosecall_enter): Moved from
+ codegen.c refactored into function, and made it work.
+ (emit_verbosecall_exit): Likewise.
+
+ * src/vm/jit/powerpc64/codegen.c (codegen_trace_args): Moved into
+ emit.c and renamed it to emit_verbosecall_enter.
+ (codegen): Using emit_verbosecall_* instead of inline code, and
+ various fixes to make verbose:call work.
+ (createnativestub): Likewise.
+
+2006-08-28 19:31 tbfg
+
+ * src/vm/jit/powerpc64/linux/md-abi.h: New REG_TOC name needed to
+ call builtins due to ppc64 function descriptors (ELF ABI).
+
+ * src/vm/jit/powerpc64/codegen.c (createnativestub): Big endian
+ requires M_LLD and M_IST to copy s4 values from dseg to stack.
+ (codegen): gen_method needs to create function descriptor call.
+
+ * src/vm/jit/powerpc64/asmpart.S: When linking statically
+ non function descriptor calls are generated by compiler.
+ Some ifdefs added to fix static linking.
+
+2006-08-28 15:18 twisti
+
+ * src/vm/jit/patcher.h (patcher_resolve_class): Added.
+ (patcher_initialize_class): Likewise.
+ (patcher_resolve_classref_to_classinfo): Likewise.
+ (patcher_resolve_classref_to_vftbl): Likewise.
+ (patcher_resolve_classref_to_flags): Likewise.
+ (patcher_resolve_native_function): Likewise.
+
+ * src/vm/jit/powerpc/patcher.c (patcher_wrapper): Patch back machine
+ code.
+ (patcher_aconst): Renamed to patcher_resolve_classref_to_classinfo.
+ (patcher_clinit): Renamed to patcher_initialize_class.
+ (patcher_resolve_native): Renamed to patcher_resolve_native_function.
+ (patcher_athrow_areturn): Renamed to patcher_resolve_class.
+ (patcher_checkcast_class): Renamed to
+ patcher_resolve_classref_to_vftbl.
+ (patcher_checkcast_instanceof_flags): Renamed to
+ patcher_resolve_classref_to_flags.
+ (patcher_builtin_multianewarray): Removed.
+ (patcher_builtin_arraycheckcast): Likewise.
+ (patcher_instanceof_class): Likewise.
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Use new patcher functions
+ (some of them were already commited accidentally in the last commit).
+
+2006-08-28 13:05 twisti
+
+ * src/vm/jit/emit.h (emit_verbosecall_enter): Added.
+ (emit_verbosecall_exit): Likewise.
+
+ * src/vm/jit/powerpc/emit.c (vm/builtin.h): Added.
+ (vm/jit/asmpart.h): Likewise.
+ (vm/jit/replace.h): Likewise.
+ (emit_exception_stubs): New method.
+ (emit_patcher_stubs): Likewise.
+ (emit_replacement_stubs): Likewise.
+ (emit_verbosecall_enter): Likewise.
+ (emit_verbosecall_exit): Likewise.
+
+ * src/vm/jit/powerpc/codegen.c (vm/jit/abi-asm.h): Added.
+ (codegen_trace_args): Removed.
+ (codegen): Use cd->stackframesize instead of stackframesize, use emit
+ functions to generate stubs and call trace code.
+ (createnativestub): Likewise.
+
+2006-08-25 11:55 tbfg
+
+ * src/vm/jit/show.c (show_method): Stubs are printed green when
+ using -debug-color.
+
+ * src/vm/jit/powerpc64/linux/md-os.c (md_signal_handler_sigusr2):
+ Moved into #ifdef ENABLE_THREADS conditional compile, as it depends
+ on threadobject.
+
+ * src/vm/jit/powerpc64/codegen.h: Added M_LADD_IMM and M_AADD_IMM
+ for better reading of code. Fixed M_CLR.
+
+ * src/vm/jit/powerpc64/codegen.c (codegen): Some fixes with ?RETURN,
+ some fixes for -verbose:call (still defunc),
+ (createnativestub): Lots of fixes in stackframe calculations.
+
+ * src/vm/jit/powerpc64/patcher.c (patch_aconst): Correct asm comment.
+
+ * src/vm/jit/powerpc64/disass.c (disassinstr): Display 64 bit
+ addresses in disassembled code (-sa).
+
+ * src/vm/jit/powerpc64/asmpart.S (L_asm_vm_call_method_return):
+ Fixed path for methods returning a value.
+ (L_asm_handle_exception): Fixed path for exception handling.
+ (asm_patcher_wrapper): Fixed path for codepatching.
+
+2006-08-25 07:54 twisti
+
+ * src/vm/exceptions.c (new_illegalmonitorstateexception): Renamed to
+ exceptions_new_illegalmonitorstateexception.
+ (exceptions_throw_illegalmonitorstateexception): New method.
+ * src/vm/exceptions.h: Likewise.
+
+ * src/threads/native/lock.c (lock_monitor_exit): Use
+ exceptions_throw_illegalmonitorstateexception instead of
+ new_illegalmonitorstateexception.
+ (lock_monitor_wait): Likewise.
+ (lock_monitor_notify): Likewise.
+
+ * src/cacaoh/headers.c (new_illegalmonitorstateexception): Renamed to
+ exceptions_throw_illegalmonitorstateexception.
+
+2006-08-25 07:29 twisti
+
+ * src/vm/jit/alpha/emit.c (emit_exception_stubs): Bugfix when
+ reallocating the code area.
+ (emit_patcher_stubs): Reuse the asm_patcher_wrapper call code.
+ (emit_replacement_stubs): Removed savedmcodeptr.
+
+2006-08-25 07:14 twisti
+
+ * src/vm/jit/alpha/emit.c (emit_exception_stubs): Bugfix when
+ reallocating the code area.
+ (emit_patcher_stubs): Likewise.
+
+2006-08-24 18:42 twisti
+
+ * src/vm/jit/codegen-common.h (codegendata): Added stackframesize. I
+ think this is more obvious than in jitdata.
+
+ * src/vm/jit/jit.h (jitdata): Removed stackframesize.
+
+ * src/vm/jit/alpha/emit.c (emit_exception_stubs): Replaced
+ jd->stackframesize with cd->stackframesize.
+
+ * src/vm/jit/alpha/codegen.c (codegen): Likewise.
+ (createnativestub): Likewise.
+
+ * src/vm/jit/i386/emit.c (emit_exception_stubs): Likewise.
+
+ * src/vm/jit/i386/codegen.c (codegen): Likewise.
+ (createnativestub): Likewise.
+
+2006-08-24 09:29 tbfg
+
+ srv/vm/jit/powerpc/linux/md-os.c (md_signal_handler_sigusr2): Moved
+ inside
+ ENABLE_THREADS ifdef as is depends on threads.
+
+2006-08-23 16:04 twisti
+
+ * src/vm/jit/alpha/emit.c [ENABLE_THREADS] (threads/native/lock.h):
+ Added.
+ (vm/jit/asmpart.h): Likewise.
+ (vm/jit/dseg.h): Likewise.
+ (emit_exception_stubs): New function.
+ (emit_patcher_stubs): Likewise.
+ (emit_replacement_stubs): Likewise.
+
+ * src/vm/jit/i386/codegen.c (codegen): Use jd->stackframesize, removed
+ stub generation code.
+ (createnativestub): Likewise.
+
+2006-08-23 15:55 twisti
+
+ * src/vm/jit/alpha/asmpart.S (asm_handle_exception): Fixed bug with
+ maybe-leaf stack and use same registers as on MIPS.
+
+2006-08-23 15:45 twisti
+
+ * src/vm/jit/alpha/asmpart.S (asm_handle_exception): Use
+ md_codegen_get_pv_from_pc.
+
+2006-08-23 15:10 twisti
+
+ * src/vm/jit/mips/asmpart.S (asm_handle_exception): Changed some
+ comments.
+
+2006-08-23 14:55 twisti
+
+ * src/vm/jit/alpha/asmpart.S (L_asm_handle_exception_stack_loop):
+ Don't save xpc.
+
+2006-08-23 14:23 twisti
+
+ * src/boehm-gc/configure.in (AC_C_INLINE): Set CFLAGS properly before.
+
+2006-08-23 14:07 twisti
+
+ * configure.ac (AC_CONFIG_SUBDIRS): Moved to the end of the file and
+ export OPT_CFLAGS/ARCH_CFLAGS instead of CFLAGS.
+
+ * src/boehm-gc/configure.in: Pass CFLAGS to Makefile's as for CACAO.
+ * src/boehm-gc/Makefile.am (AM_CXXFLAGS, AM_CFLAGS): Commented.
+ (AM_CPPFLAGS): Added.
+
+2006-08-23 12:57 twisti
+
+ * src/vm/jit/alpha/emit.c (config.h): Added.
+ [ENABLE_THREADS] (threads/native/lock.h): Likewise.
+ (vm/jit/asmpart.h): Likewise.
+ (vm/jit/dseg.h): Likewise.
+ (emit_exception_stubs): New function.
+ (emit_patcher_stubs): Likewise.
+ (emit_replacement_stubs): Likewise.
+
+ * src/vm/jit/alpha/codegen.c (codegen): Use jd->stackframesize, use
+ new desg_add_* functions, removed stub generation code.
+ (createnativestub): Likewise.
+
+2006-08-23 12:29 twisti
+
+ * src/vm/vm.c (OPT_ALL, OPT_METHOD, OPT_SIGNATURE): #ifndef NDEBUG.
+ (usage): Don't print -all, -m, -sig options.
+
+2006-08-23 12:12 twisti
+
+ * src/vm/jit/emit.h (emit_replacement_stubs): Added.
+
+2006-08-22 20:48 twisti
+
+ * src/vm/jit/i386/md-emit.h (vm/jit/codegen-common.h): Added.
+
+2006-08-22 19:53 twisti
+
+ * src/vm/jit/emit.h (emit_exception_stubs): Added.
+ (emit_patcher_stubs): Likewise.
+
+ * src/vm/jit/jit.h (jitdata): Added member stackframesize.
+
+2006-08-22 15:49 tbfg
+
+ * src/vm/jit/powerpc64/linux/md-abi.h: Added PA_SIZE and
+ PA_SIZE_IN_POINTERS defines.
+
+ * src/vm/jit/powerpc64/arch.h: Enabled machine dependend
+ compare_and_swap implementation for ppc64.
+
+ * src/vm/jit/powerpc64/codegen.c (codegen): Remove lot of PACK_REGS
+ usages, changed stack address calculations from *4 -> *8, added
+ a M_NOP for debugging.
+
+ * src/vm/jit/powerpc64/machine-instr.h (compare_and_swap): Ported
+ for 64 bit.
+ (atomic_add): Removed.
+
+ * src/vm/jit/powerpc64/patcher.c (patcher_wrapper): Fixed stack
+ calculations from *4 -> *8
+ (patcher_aconst): Likewise.
+ (patcher_athrow_areturn): Likewise.
+ (patcher_builtin_arraycheckcast): Likewise.
+ (patcher_builtin_multianewarray): Likewise.
+ (patcher_checkcast_class): Likewise.
+ (patcher_checkcast_instanceof_flags): Likewise.
+ (patcher_checkcast_instanceof_interf): Likewise.
+ (patcher_clinit): Likewise.
+ (patcher_get_putfield): Likewise.
+ (patcher_get_putstatic): Likewise.
+ (patcher_instanceof_class): Likewise.
+ (patcher_invokeinterface): Likewise.
+ (patcher_invokestatic_special): Likewise.
+ (patcher_invokevirtual): Likewise.
+ (patcher_resolve_native): Likewise.
+
+ * src/vm/jit/powerpc64/asmpart.S (asm_patcher_wrapper): Fixed
+ calling convetions, as we callback C. Fixed 32 bit issues.
+ (asm_call_jit_compiler): PPC64 has additional PA_SIZE
+ on stack - fixed that.
+
+2006-08-22 14:39 twisti
+
+ * src/native/vm/java_lang_VMThrowable.c (fillInStackTrace): Removed
+ architecture #ifdef's.
+ (getStackTrace): Likewise.
+
+2006-08-22 12:43 twisti
+
+ * src/native/native.c (dummynativetable): Made non-static, GCC 4.1
+ optimized the table away.
+ (native_init): Removed dummynativetable-hack.
+
+2006-08-22 09:02 tbfg
+
+ * src/vm/options.h: Renamed -verbosecolor to -debug-color,
+ opt_colorverbose to opt_debugcolor and OPT_COLORVERBOSE to
+ OPT_DEBUGCOLOR
+ * src/vm/method.c: Same as above.
+ * src/vm/jit/dseg.c: Same as above.
+ * src/vm/vm.c: Same as above.
+ * src/vm/options.c: Same as above.
+ * src/vm/jit/Makefile.am: Removed options.h dependecy, as deps are
+ tracked automatically.
+
+2006-08-21 17:37 twisti
+
+ * src/lib/vm/reference/gnu/classpath/VMStackWalker.java
+ (firstNonNullClassLoader): Added and made native.
+
+ * src/native/vm/gnu_classpath_VMStackWalker.c (getClassContext):
+ Removed architecture #ifdef's, as most stacktrace stuff is
+ architecture independent and the dependent stuff is very simple to
+ implement.
+ (getCallingClass): Likewise.
+ (getCallingClassLoader): Likewise.
+ (firstNonNullClassLoader): Added.
+
+2006-08-21 15:25 twisti
+
+ * src/vm/jit/i386/asmpart.S (L_asm_patcher_wrapper_exception): Removed
+ duplicate add line.
+
+2006-08-21 15:17 twisti
+
+ * configure.ac (AC_CONFIG_FILES): Added
+ src/vm/jit/i386/darwin/Makefile.
+
+ * src/vm/jit/i386/codegen.c (createnativestub): Align stack to
+ 16-bytes.
+
+ * src/vm/jit/i386/darwin/md-os.c: Darwin specific functions.
+ * src/vm/jit/i386/darwin/md-asm.h: Darwin specific assembler defines.
+ * src/vm/jit/i386/darwin/Makefile.am: New file.
+ * src/vm/jit/i386/darwin/.cvsignore: Likewise.
+
+ * src/vm/jit/i386/linux/md-asm.h: Linux specific assembler defines.
+ * src/vm/jit/i386/freebsd/md-asm.h: FreeBSD specific assembler
+ defines.
+
+ * src/vm/jit/i386/md-asm.h: Removed.
+
+ * src/vm/jit/i386/asmpart.S (asm_handle_exception): Align stack to
+ 16-bytes.
+ (asm_abstractmethoderror): Likewise.
+ (asm_patcher_wrapper): Likewise.
+ (asm_builtin_f2i, asm_builtin_d2i, asm_builtin_f2l, asm_builtin_d2l):
+ Likewise.
+
+ * src/vm/jit/i386/Makefile.am (DIST_SUBDIRS): Added darwin.
+ (AM_CPPFLAGS): Added OS_DIR as include.
+ (noinst_HEADERS): Removed md-asm.h.
+
+ * src/threads/native/threads.c (threads_cast_darwinstop): Use generic
+ defines and machine dependent structures.
+
+2006-08-21 14:52 twisti
+
+ * src/vm/jit/powerpc/darwin/md-asm.h (asm_initialize_thread_stack):
+ Define removed.
+ (asm_perform_threadswitch): Likewise.
+ (asm_switchstackandcall): Likewise.
+
+2006-08-18 18:37 tbfg
+
+ src/vm/options.h: Added the commandlineswitch --verbosecolor which
+ enables
+ colored output of show: -si prints method names in red -sd shows
+ datasegment
+ dump in blue. (use | less -R)
+
+ src/vm/options.c (options_get): There is a nasty bug in there, read
+ comment.
+
+2006-08-18 13:07 twisti
+
+ * src/toolbox/util.c (util_current_time_millis): Removed.
+ * src/toolbox/util.h: Likewise.
+
+ * src/vm/vm.c (vm_create): Use builtin_currenttimemillis instead of
+ util_current_time_millis.
+
+2006-08-18 13:01 twisti
+
+ * src/vm/exceptions.c (new_arraystoreexception): Renamed to
+ exceptions_new_arraystoreexception.
+ (exceptions_throw_arraystoreexception): New function.
+ * src/vm/exceptions.h: Likewise.
+
+ * src/vm/builtin.c (builtintable_init): Reimplemented and added
+ builtintable_function.
+ (builtintable_replace_function): New function.
+ (builtin_arraycopy): Likewise.
+ (builtin_currenttimemillis): Likewise.
+
+ * src/vm/builtin.h (builtintable_entry): Added some extra members.
+ (builtin_asm_get_exceptionptrptr): Removed.
+ (builtintable_replace_function): Added.
+ (builtin_arraycopy): Likewise.
+ (builtin_currenttimemillis): Likewise.
+
+ * src/vm/builtintable.inc (builtintable_internal): Use new
+ builtintable_entry structure.
+ (builtintable_automatic): Likewise.
+ (builtintable_function): Added.
+
+ * src/vm/jit/stack.c (stack_analyse): Call
+ builtintable_replace_function.
+
+ * src/vm/jit/show.c (new_show_icmd): Print correct variable of builtin
+ calls.
+ (show_icmd): Likewise.
+
+ * src/vm/jit/stacktrace.c (stacktrace_inline_arraystoreexception): Use
+ exceptions_new_arraystoreexception.
+
+ * src/native/vm/java_lang_VMSystem.c (arraycopy): Removed
+ implementation and use builtin_arraycopy.
+
+ * src/cacaoh/headers.c
+ (exceptions_throw_arrayindexoutofboundsexception): Added.
+ (exceptions_new_arraystoreexception): Likewise.
+ (exceptions_throw_arraystoreexception): Likewise.
+
+2006-08-18 12:24 twisti
+
+ * src/vm/class.c (class_java_lang_VMSystem): Added.
+ * src/vm/class.h: Likewise.
+ * src/vm/loader.c (loader_init): Likewise.
+ * src/vm/linker.c (linker_init): Likewise.
+
+2006-08-18 10:22 tbfg
+
+ src/vm/jit/powerpc64/linux/md-os.c: Ported signal handlers to ppc64
+ ucontext.
+
+2006-08-17 17:51 tbfg
+
+ src/vm/jit/powerpc64/md.c (md_get_method_patch_address): Fixed
+ opcodes in
+ casetests.
+
+ src/vm/jit/powerpc64/arch.h: Temporarily disabled all hardwarefeaturs
+ to
+ make porting easier.
+
+ src/vm/jit/powerpc64/codegen.c: Started to fix 32/64 bit issues.
+
+ src/vm/jit/powerpc64/codegen.h: Removing special long handling.
+
+ src/vm/jit/powerpc64/patcher.c: Changed comment only.
+
+2006-08-17 09:59 twisti
+
+ * src/vm/jit/i386/asmpart.S (asm_patcher_wrapper): Restore REG_ITMP3
+ from stub stack. I missed this when I did the last changes.
+
+2006-08-17 09:26 twisti
+
+ * src/vm/jit/optimizing: Added ignore property.
+
+2006-08-16 15:35 christian
+
+ * src/vm/jit/optimizing/.cvsignore: New file.
+
+2006-08-16 12:21 christian
+
+ * src/vm/jit/stack.c (stack_analyse): Use of real PEI data
+ (op_data[opcode][PEI]) to prevent copy propagation to LOCALVAR with
+ ICMD_XSTORE instead of just regarding INVOKES as PEI's.
+
+2006-08-16 12:11 christian
+
+ * src/toolbox/worklist.h: Comments added.
+
+2006-08-16 12:10 christian
+
+ * src/toolbox/bitvector.c: Comments added.
+
+ * src/toolbox/bitvector.h: Comments added.
+
+ * src/toolbox/worklist.c: Comments added.
+
+2006-08-16 11:35 christian
+
+ * src/toolbox/worklist.c: Corrected Header information.
+
+ * src/toolbox/worklist.h: Likewise.
+
+ * src/toolbox/bitvector.c: Likewise.
+
+ * src/toolbox/bitvector.h: Likewise.
+
+2006-08-16 11:31 christian
+
+ * src/vm/jit/allocator/liveness.c: Corrected Header information.
+
+ * src/vm/jit/allocator/liveness.h: Likewise.
+
+ * src/vm/jit/allocator/lsra.c: Likewise.
+
+ * src/vm/jit/allocator/lsra.h: Likewise.
+
+2006-08-16 11:26 christian
+
+ * src/vm/jit/optimizing/dominators.c: Corrected Header information.
+
+ * src/vm/jit/optimizing/dominators.h: Likewise.
+
+ * src/vm/jit/optimizing/graph.c: Likewise.
+
+ * src/vm/jit/optimizing/graph.h: Likewise.
+
+ * src/vm/jit/optimizing/lifetimes.c: Likewise.
+
+ * src/vm/jit/optimizing/lifetimes.h: Likewise.
+
+ * src/vm/jit/optimizing/lsra.c: Likewise.
+
+ * src/vm/jit/optimizing/lsra.h: Likewise.
+
+ * src/vm/jit/optimizing/ssa.c: Likewise.
+
+ * src/vm/jit/optimizing/ssa.h: Likewise.
+
+2006-08-16 11:18 christian
+
+ * src/vm/jit/optimizing/ssa.c (ssa_print_phi): Printing now phi
+ functions correctly for debug output.
+
+ * src/vm/jit/optimizing/ssa.c (dead_code_elimination): No removal of
+ potential exception throwing instructions (PEI) anymore.
+
+ * src/vm/jit/jit.h: Renamed op_needs_saved[] to op_data[][NEEDS_SAVED]
+ and introduced the new op_data[][PEI].
+
+ * src/vm/jit/jit.c (jit_init): Added init of op_data[NEEDS_SAVED|PEI]
+
+ * src/vm/jit/optimizing/lifetimes.c (LifeOutAtStatement): Renamed
+ op_needs_saved[] to the new op_data[][NEEDS_SAVED]
+
+2006-08-15 14:54 christian
+
+ * src/vm/jit/optimizing/lifetimes.c (LifenessAnalysis): Ignore
+ variables used in phi functions, if they define itself (x =
+ phi(...,x,...)).
+
+ * src/vm/jit/i386/codegen.c (codegen): Bugfix in code created for
+ ICMD_IINC for SSA.
+
+ * src/vm/jit/show.c (new_show_method): Regard ENABLE_SSA like
+ ENABLE_LSRA to suppress output of interfaces.
+
+ * src/vm/jit/show.c (show_method): likewise.
+
+ * src/vm/jit/show.c (show_icmd): Regard special operand format for
+ ICMD_IINC with SSA.
+
+2006-08-14 18:14 christian
+
+ * src/vm/jit/optimizing/: New directory for optimizing compiler (SSA
+ by now - does not work by now, code merging with svn head introduced
+ some hazardous faults).
+
+ * src/vm/jit/optimizing/dominators.c: Computation of dominators and
+ domination frontier for SSA.
+
+ * src/vm/jit/optimizing/dominators.h: Include file for dominators.c.
+
+ * src/vm/jit/optimizing/graph.c: CFG functions needed for SSA.
+
+ * src/vm/jit/optimizing/graph.h: Include file for graph.c
+
+ * src/vm/jit/optimizing/lifetimes.c: Scanning lifetimes for SSA.
+
+ * src/vm/jit/optimizing/lifetimes.h: Include file for lifetimes.c
+
+ * src/vm/jit/optimizing/lsra.c: LSRA based on SSA.
+
+ * src/vm/jit/optimizing/lsra.h: Include file for lsra.c.
+
+ * src/vm/jit/optimizing/Makefile.am: New Makefile.am for this
+ directory.
+
+ * src/vm/jit/optimizing/ssa.c: Computation of SSA form.
+
+ * src/vm/jit/optimizing/ssa.h: Include File for ssa.c.
+
+2006-08-14 18:10 christian
+
+ * src/vm/jit/optimizing: New directory
+
+2006-08-14 17:50 christian
+
+ * src/vm/jit/optimizing/: New directory for optimizing compiler (SSA
+ by now - does not work by now, code merging with svn head introduced
+ some hazardous faults).
+
+ * src/vm/jit/optimizing/dominators.c: Computation of dominators and
+ domination frontier for SSA.
+
+ * src/vm/jit/optimizing/dominators.h: Include file for dominators.c.
+
+ * src/vm/jit/optimizing/graph.c: CFG functions needed for SSA.
+
+ * src/vm/jit/optimizing/graph.h: Include file for graph.c
+
+ * src/vm/jit/optimizing/lifetimes.c: Scanning lifetimes for SSA.
+
+ * src/vm/jit/optimizing/lifetimes.h: Include file for lifetimes.c
+
+ * src/vm/jit/optimizing/lsra.c: LSRA based on SSA.
+
+ * src/vm/jit/optimizing/lsra.h: Include file for lsra.c.
+
+ * src/vm/jit/optimizing/Makefile.am: New Makefile.am for this
+ directory.
+
+ * src/vm/jit/optimizing/ssa.c: Computation of SSA form.
+
+ * src/vm/jit/optimizing/ssa.h: Include File for ssa.c.
+
+ * src/vm/jit/allocator/lsra.c: Moved from src/vm/jit. Quite complete
+ code change (including: no more allocation of unused reserved
+ registers, possibility of exact lifetime analysis, removal of old
+ lifetime test functions).
+
+ * src/vm/jit/allocator/lsra.h: Moved from src/vm/jit.
+
+ * src/vm/jit/allocator/liveness.c: New File. Exact lifetime analysis
+ for LSRA.
+
+ * src/vm/jit/allocator/liveness.h: New File. Include File for
+ liveness.c. The #define LV enables by now the exact liveness analysis.
+
+ * src/vm/jit/allocator/Makefile.am: Adopted for new/moved files in
+ src/vm/jit/allocator.
+
+ * sc/vm/jit/Makefile.am: Adopted for above new/moved files.
+
+ * configure.ac: Introduced ENABLE_SSA: new option --enable-ssa.
+ Changes for ENABLE_LSRA (--enable-lsra). New Makefile in
+ src/vm/jit/optimizing added.
+
+ * src/vm/jit/allocator/simplereg.c (reg_make_statistics): Support for
+ ENABLE_SSA for statistics.
+
+ * src/vm/options.h: opt_lsra is used with ENABLE_SSA like with
+ ENABLE_LSRA.
+
+ * src/vm/options.c: opt_lsra is used with ENABLE_SSA like with
+ ENABLE_LSRA.
+
+ * src/vm/global.h: New struct imm for union imm_union to get another
+ operand for IINC in combination with SSA added.
+
+ * src/vm/vm.c: opt_lsra and the option -lsra is used with ENABLE_SSA
+ like with ENABLE_LSRA.
+
+ * src/vm/jit/stack.c (stack_analyse): No stack element lifetimes
+ counting anymore for lsra/ssa (m->maxlifetimes).
+
+ * src/vm/jit/stack.h: No stack lifetime counting anymore for lsra/ssa
+ (m->maxlifetimes).
+
+ * src/vm/jit/i386/codegen.c: Support for ENABLE_SSA added.
+
+ * src/vm/jit/i386/codegen.c (codegen_insert_phi_moves): New function
+ to insert phi moves for SSA at the end of Basic Blocks.
+
+ * src/vm/jit/i386/codegen.c (cg_move): New function to create the
+ instructions for the actual move for codegen_insert_phi_moves).
+
+ * src/vm/jit/i386/codegen.c (codegen): Logic and calls to use
+ codegen_insert_phi_moves for SSA added. With SSA for parameters in
+ memory this memory positions cannot be reused to avoid copying. Checks
+ added to prevent moves to or from stackslots removed by the dead code
+ elimination. Special handling for the new ICMD_IINC operand format
+ used by SSA added.
+
+ * src/vm/jit/i386/codegen.h (M_COPY): Checks added to prevent moves to
+ or from stackslots removed by the dead code elimination. Original
+ M_COPY renamed to _M_COPY.
+
+ * src/vm/jit/jit.c (jit_init): Populate op_needs_saved. Regard
+ ENABLE_SSA.
+
+ * src/vm/jit/jit.h: Support for ENABLE_SSA added. Added an array which
+ shows which ICMD's need a SAVEDVAR for SSA and the new LSRA with exact
+ liveness analysis. src/toolbox/Makefile.am: Changed to include the
+ following new files:
+
+ * src/toolbox/bitvector.c: Bitvector implementation for SSA.
+
+ * src/toolbox/bitvector.h: Include file for bitvector.c.
+
+ * src/toolbox/worklist.c: Worklist implementation for SSA.
+
+ * src/toolbox/worklist.h: Include file for worklist.c.
+
+2006-08-14 10:59 twisti
+
+ * src/vm/jit/codegen-common.c (codegen_findmethod): Renamed to
+ codegen_get_pv_from_pc.
+
+ * src/vm/jit/codegen-common.h (codegen_findmethod): Likewise.
+ (md_codegen_findmethod): Renamed to md_codegen_get_pv_from_pc.
+
+ * src/vm/jit/stacktrace.c (stacktrace_create_stackframeinfo):
+ Likewise.
+ (stacktrace_create_inline_stackframeinfo): Likewise.
+ (stacktrace_create_extern_stackframe): Likewise.
+ (stacktrace_create): Likewise.
+
+ * src/vm/jit/alpha/md.c (md_codegen_findmethod): Renamed to
+ md_codegen_get_pv_from_pc.
+ * src/vm/jit/i386/md.c: Likewise.
+ * src/vm/jit/mips/md.c: Likewise.
+ * src/vm/jit/powerpc/md.c: Likewise.
+ * src/vm/jit/powerpc64/md.c: Likewise.
+ * src/vm/jit/sparc64/md.c: Likewise.
+ * src/vm/jit/x86_64/md.c: Likewise.
+
+ * 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.
+ * src/vm/jit/intrp/asmpart.c: Likewise.
+
+ * src/vm/jit/i386/patcher.c (patcher_wrapper): Fixed comment.
+ * src/vm/jit/x86_64/patcher.c: Likewise.
+
+2006-08-11 13:11 tbfg
+
+ * src/vm/jit/powerpc64/linux/md-abi.h: LA_WORD_SIZE renamed to
+ LA_SIZE_IN_POINTERS, value fixed
+ * src/vm/jit/powerpc64/linux/md-abi.c: LA_SIZE_IN_POINTERS rename
+ * src/vm/jit/powerpc64/linux/md.c (md_codegen_findmethod): PPC64 uses
+ r14
+ instead of r13 (as PPC) for PV so opcodes changed.
+ * src/vm/jit/powerpc64/asmpart.S: Using LA_SIZE instead of
+ LA_WORD_SIZE,
+ LA_SIZE_IN_POINTERS for SAVE_*_REGISTERS macros only.
+
+2006-08-11 10:13 twisti
+
+ * src/vm/jit/powerpc/linux/md-abi.h (LA_WORD_SIZE): Renamed to
+ LA_SIZE_IN_POINTERS.
+
+ * src/vm/jit/powerpc/darwin/md-abi.h (LA_WORD_SIZE): Likewise.
+
+ * src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Use
+ LA_SIZE_IN_POINTERS instead of LA_WORD_SIZE.
+
+ * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Likewise.
+
+ * src/vm/jit/powerpc/asmpart.S: Likewise.
+
+ * src/vm/jit/stack.c (new_stack_analyse): Likewise.
+ (stack_analyse): Likewise.
+
+ * src/vm/jit/reg.c (reg_setup): Likewise.
+
+2006-08-10 19:45 tbfg
+
+ * src/vm/jit/powerpc64/linux/md-abi.h: fixed linkage area defines for
+ 64bit abi.
+ * src/vm/jit/powerpc64/linux/md-asm.h: fixed register name defines
+ and
+ SAVE/RESTORE macros.
+ * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method): fixed no
+ argument method
+ call path, coming back to C now.
+
+2006-08-10 09:10 twisti
+
+ * src/boehm-gc/darwin_stop_world.c: Updated to version 6.8.
+ * src/boehm-gc/doc/README.changes: Likewise.
+ * src/boehm-gc/doc/README: Likewise.
+ * src/boehm-gc/include/gc.h: Likewise.
+ * src/boehm-gc/include/gc_config_macros.h: Likewise.
+ * src/boehm-gc/include/private/gcconfig.h: Likewise.
+ * src/boehm-gc/configure.in: Likewise.
+ * src/boehm-gc/version.h: Likewise.
+ * src/boehm-gc/malloc.c: Likewise.
+ * src/boehm-gc/pthread_support.c: Likewise.
+ * src/boehm-gc/os_dep.c: Likewise.
+ * src/boehm-gc/dyn_load.c: Likewise.
+
+2006-08-09 15:11 twisti
+
+ * src/vm/jit/i386/codegen.c (codegen): Fixed ICMD_LMUL bug.
+
+2006-08-09 15:10 twisti
+
+ * src/vm/jit/i386/emit.c (emit_load_s1): Coding style changes.
+ (emit_load_s2): Likewise.
+ (emit_load_s3): Likewise.
+ (emit_load_s1_low): Likewise.
+ (emit_load_s2_low): Likewise.
+ (emit_load_s1_high): Likewise.
+ (emit_store): Likewise.
+
+2006-08-08 19:57 edwin
+
+ * src/vm/jit/jit.c (stackreq): Initialize this table statically.
+ (jit_init): Removed dynamic initialization of stackreq table.
+
+2006-08-08 19:23 edwin
+
+ * src/native/vm/java_lang_reflect_Method.c
+ (Java_java_lang_reflect_Method_invokeNative): Removed unused
+ variables.
+
+ * src/native/vm/java_lang_reflect_Constructor.c (vm/access.h):
+ Include to fix warning.
+
+2006-08-08 19:18 edwin
+
+ * src/native/vm/java_lang_reflect_Field.c (cacao_get_field_address):
+ Use access_check_caller.
+
+2006-08-08 16:21 edwin
+
+ * src/vm/access.h, src/vm/access.c (access_check_caller): Added.
+
+ * src/native/vm/java_lang_reflect_Method.c
+ (Java_java_lang_reflect_Method_invokeNative): Use access_check_caller
+ for the access check.
+
+ * src/native/vm/java_lang_reflect_Constructor.c
+ (Java_java_lang_reflect_Constructor_constructNative): Likewise. This
+ should fix the mauve test case
+ java.lang.reflect.AccessibleObject.security.
+
+ * src/cacaoh/headers.c (stacktrace_getClassContext): Added dummy
+ implementation.
+
+2006-08-08 14:24 twisti
+
+ * src/vm/jit/parse.h (new_block_insert): Renamed to
+ NEW_MARK_BASICBLOCK.
+ (block_insert): Renamed to MARK_BASICBLOCK.
+
+ * src/vm/jit/parse.c (new_fillextable): Likewise.
+ (fillextable): Likewise.
+ (new_parse): Likewise.
+ (parse): Likewise.
+
+2006-08-08 13:25 twisti
+
+ * src/vm/jit/stack.c (new_stack_analyse): Replaced debug_nr with nr.
+
+ * src/vm/jit/verify/typecheck.c (typestate_reach): Likewise.
+ (verify_basic_block): Likewise.
+
+ * src/vm/jit/i386/codegen.c (codegen): Likewise.
+ * src/vm/jit/powerpc/codegen.c (codegen): Likewise.
+ * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
+
+2006-08-08 13:03 twisti
+
+ * src/vm/jit/cfg.c (cfg_insert_predecessors): New method.
+ (cfg_build): Use cfg_insert_predecessors for TABLESWITCH and
+ LOOKUPSWITCH.
+
+2006-08-08 13:01 edwin
+
+ * src/vm/resolve.h, src/vm/resolve.c (new_resolve_method_lazy):
+ Removed curstack parameter.
+ (new_resolve_field_lazy): Likewise.
+ (new_constrain_unresolved_field): New function.
+ (new_constrain_unresolved_method): Likewise.
+
+ * src/vm/jit/parse.c (new_parse): Use new_resolve_field_lazy and
+ new_resolve_method_lazy.
+
+2006-08-08 12:56 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): For INVOKE* instructions,
+ store the live-through stack slots as additional arguments after
+ the live-in slots. These live-through slots are needed by the
+ verifier and by on-stack replacement in order to create a replacement
+ point at the call site.
+ NOTE: Currently the live-through slots are also stored for builtins.
+ This should change in the final version.
+
+2006-08-08 12:46 edwin
+
+ * src/vm/jit/jit.h (NEW_INSTRUCTION_IS_RESOLVED): New macro.
+ (NEW_INSTRUCTION_IS_UNRESOLVED): Likewise.
+ (NEW_INSTRUCTION_MUST_CHECK): Likewise.
+
+2006-08-08 12:45 twisti
+
+ * src/vm/jit/cfg.h (CFG_UNKNOWN_PREDECESSORS): Defined.
+
+ * src/vm/jit/stack.c (vm/jit/cfg.h): Added.
+ (new_stack_analyse): Set predecessorcount for EXH blocks to
+ CFG_UNKNOWN_PREDECESSORS.
+ (stack_analyse): Likewise.
+
+ * src/vm/jit/show.c (new_show_basicblock): Print predecessor block
+ numbers.
+ (show_basicblock): Likewise.
+
+2006-08-07 16:10 twisti
+
+ * src/vm/jit/reorder.c (reorder): Iterate to m->basicblockcount + 1,
+ so we kind of set the last basic block too.
+
+2006-08-07 15:30 twisti
+
+ * src/vm/jit/jit.h (basicblock): Renamed debug_nr to nr.
+ (BASICBLOCK_INIT): Likewise.
+
+ * src/vm/jit/reorder.c (reorder_place_next_unplaced_block): Likewise.
+ (reorder): Likewise.
+
+ * src/vm/jit/show.c (new_show_method): Likewise.
+ (show_method): Likewise.
+ (new_show_basicblock): Likewise.
+ (show_basicblock): Likewise.
+ (SHOW_TARGET): Likewise.
+ (show_icmd): Likewise.
+
+ * src/vm/jit/ifconv/ifconv.c (check): Likewise.
+
+ * src/vm/jit/loop/analyze.c (insert_exception): Likewise.
+ (copy_handler): Likewise.
+ (create_static_checks): Likewise.
+
+ * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
+ (typecheck_reset_flags): Likewise.
+ (typecheck): Likewise.
+
+ * src/vm/jit/verify/typeinfo.c (typeinfo_print): Likewise.
+ (typeinfo_print_short): Likewise.
+ (typeinfo_print_stacktype): Likewise.
+
+2006-08-07 15:12 tbfg
+
+ * src/vm/jit/powerpc64/asmpart.S (asm_vm_call_method, asm_cacheflush):
+ ppc64 abi needs function descriptor for function called from other
+ relocateable modules and uses direct calling for module intern calls.
+
+2006-08-07 11:15 twisti
+
+ * src/vm/jit/reorder.c (reorder): #ifdef debug output.
+
+2006-08-07 11:12 twisti
+
+ * src/vm/jit/Makefile.am (libjit_la_SOURCES): Add cfg.[ch] and
+ reorder.[ch] for debugging.
+
+2006-08-07 11:10 twisti
+
+ * src/vm/jit/jit.c (vm/jit/cfg.h): Added.
+ (vm/jit/reorder.h): Likewise.
+ (jit_recompile): Set JITDATA_FLAG_REORDER flag.
+ (jit_compile_intern): Call cfg_build and reorder.
+ (jit_complement_condition): New function.
+
+ * src/vm/jit/jit.h (basicblock): Changed type of predecessors and
+ successors.
+ (jit_complement_condition): Added.
+
+ * src/vm/jit/cfg.c (cfg_allocate_predecessors): New method.
+ (cfg_allocate_successors): Likewise.
+ (cfg_build): Finished implementation.
+
+ * src/vm/jit/reorder.c (reorder_place_next_unplaced_block): New
+ function.
+ (reorder): Improved, still not working.
+
+ * src/vm/jit/show.c (new_show_method): Walk the basic block chain to
+ find the last block, as this may change.
+ (show_method): Likewise.
+
+2006-08-04 14:50 twisti
+
+ * src/vm/jit/reorder.c: New file.
+ * src/vm/jit/reorder.h: Likewise.
+
+2006-08-04 14:42 twisti
+
+ * src/vm/jit/parse.c (new_parse): MZERO basicblock array.
+ (parse): Likewise.
+
+ * src/vm/jit/jit.h (JITDATA_FLAG_REORDER): Added.
+ (JITDATA_HAS_FLAG_REORDER): Likewise.
+ (basicblock): Removed pre_count and added predecessorcount,
+ successorcount, predecessors, successors.
+ (BASICBLOCK_INIT): Don't zero fields.
+
+ * src/vm/jit/stack.c (new_stack_analyse): Renamed pre_count to
+ predecessorcount.
+ (stack_analyse): Likewise and removed predecessor count calculation.
+
+ * src/vm/jit/show.c (new_show_basicblock): Likewise.
+ (show_basicblock): Likewise.
+
+ * src/vm/jit/ifconv/ifconv.c (ifconv_static): Likewise.
+
+2006-08-04 14:27 twisti
+
+ * src/vm/jit/cfg.c: New file.
+ * src/vm/jit/cfg.h: Likewise.
+
+2006-08-04 14:10 twisti
+
+ * src/vm/options.c (opt_foo): Added. This is a development option.
+ * src/vm/options.h (opt_foo): Likewise.
+
+ * src/vm/vm.c (vm_create): Added OPT_FOO.
+
+2006-08-01 20:38 twisti
+
+ * autogen.sh: Recognize autoconf 2.60.
+
+2006-08-01 15:51 twisti
+
+ * src/vm/jit/codegen-common.c (codegen_createnativestub): Set
+ JITDATA_FLAG_INSTRUMENT for opt_prof.
+
+2006-08-01 15:08 twisti
+
+ * src/vm/jit/recompile.c (recompile_thread): Check return value of
+ jit_recompile and print the exception in error case.
+
+2006-08-01 13:10 twisti
+
+ * src/vm/jit/parse.c (new_parse): Replaced opt_verify with
+ JITDATA_HAS_FLAG_VERIFY, because on recompilation we don't turn
+ verifying on.
+
+2006-07-31 20:42 twisti
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Load address for INVOKESTATIC
+ from data segment and pass the displacement to the patcher.
+
+ * src/vm/jit/x86_64/patcher.c (patcher_get_putstatic): Use
+ displacement from patcher, not from the instruction.
+ (patcher_builtin_multianewarray): Don't patch BUILTIN_multianewarray
+ address, it's not required.
+ (patcher_invokestatic_special): Use displacement passed and patch the
+ data segment.
+
+ * src/vm/jit/x86_64/md.c (md_stacktrace_get_returnaddress): Changed to
+ new INVOKESTATIC calling sequence.
+
+2006-07-31 16:30 twisti
+
+ * src/native/native.c
+ (native/include/java_lang_management_VMManagementFactory.h): Added.
+ (dummynativetable): Added VMManagementFactory methods.
+
+2006-07-31 16:26 twisti
+
+ * src/native/include/.cvsignore: Added
+ java_lang_management_VMManagementFactory.h.
+
+2006-07-31 16:25 twisti
+
+ * src/native/vm/java_lang_management_VMManagementFactory.c: New file.
+
+ * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
+ java_lang_management_VMManagementFactory.c.
+
+ * src/native/include/Makefile.am
+ (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
+ java_lang_management_VMManagementFactory.h.
+
+2006-07-31 15:35 twisti
+
+ * src/native/include/Makefile.am (DO_HEADER_FILES): Do not depend on
+ CACAO_VM_ZIP.
+
+2006-07-31 15:27 twisti
+
+ * src/native/include/.cvsignore: Added
+ gnu_java_lang_management_VMThreadMXBeanImpl.h and
+ java_lang_management_ThreadInfo.h.
+
+2006-07-31 15:26 twisti
+
+ * src/native/vm/gnu_java_lang_management_VMThreadMXBeanImpl.c: New
+ file.
+
+ * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
+ gnu_java_lang_management_VMThreadMXBeanImpl.c.
+
+ * src/native/include/Makefile.am
+ (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
+ gnu_java_lang_management_VMThreadMXBeanImpl.h and
+ java_lang_management_ThreadInfo.h.
+ (VM_ZIP): Removed.
+
+ * src/native/jni.h (_Jv_JavaVM): Added total_started_thread_count.
+
+ * src/threads/native/threads.c (threads_startup_thread): Count
+ total_started_thread_count.
+
+ * src/cacao/cacao.c (main): Likewise.
+
+ * src/cacaoh/headers.c (_Jv_jvm): Added.
+
+2006-07-31 14:43 twisti
+
+ * src/native/include: Updated ignore property.
+
+2006-07-31 14:35 twisti
+
+ * src/native/vm/gnu_java_lang_management_VMClassLoadingMXBeanImpl.c:
+ New file.
+
+ * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
+ gnu_java_lang_management_VMClassLoadingMXBeanImpl.c.
+
+ * src/native/include/Makefile.am
+ (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADER_FILES): Added
+ gnu_java_lang_management_VMClassLoadingMXBeanImpl.h.
+
+ * src/native/include/.cvsignore: Likewise.
+
+ * src/native/jni.h (_Jv_JavaVM): Added
+ Java_gnu_java_lang_management_VMClassLoadingMXBeanImpl_verbose.
+
+ * src/native/native.c
+ (native/include/gnu_java_lang_management_VMClassLoadingMXBeanImpl.h):
+ Added.
+ (native/include/gnu_java_lang_management_VMMemoryMXBeanImpl.h):
+ Likewise.
+ (dummynativetable): Added VMClassLoadingMXBeanImpl and
+ VMMemoryMXBeanImpl functions.
+
+2006-07-31 14:21 twisti
+
+ * src/vm/classcache.c (classcache_number_of_loaded_classes): New
+ internal function.
+ (classcache_get_loaded_class_count): New function.
+ (classcache_jvmti_GetLoadedClasses): Renamed to
+ classcache_get_loaded_classes and reimplemented.
+
+ * src/vm/classcache.h (classcache_get_loaded_class_count): Added.
+ (classcache_jvmti_GetLoadedClasses): Renamed to
+ classcache_get_loaded_classes.
+
+2006-07-31 12:29 twisti
+
+ * src/native/include/.cvsignore: Added
+ gnu_java_lang_management_VMMemoryMXBeanImpl.h and
+ java_lang_management_MemoryUsage.h.
+
+2006-07-31 12:28 twisti
+
+ *
+ src/lib/vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java:
+ New file.
+
+ * src/lib/Makefile.am (VM_JAVA_FILES): Added
+ gnu/java/lang/management/VMMemoryMXBeanImpl.java.
+ (VM_CLASS_FILES): Likewise.
+
+ * src/native/include/Makefile.am
+ (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADERS): Added
+ gnu_java_lang_management_VMMemoryMXBeanImpl.h and
+ java_lang_management_MemoryUsage.h.
+
+ * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
+ gnu_java_lang_management_VMMemoryMXBeanImpl.c.
+
+ * src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c
+ (vm/loader.h): Added.
+
+2006-07-31 12:25 twisti
+
+ * src/mm/boehm.c (gc_get_total_bytes): New function.
+ * src/mm/boehm.h (gc_get_total_bytes): Added.
+
+2006-07-31 12:17 twisti
+
+ * src/lib/vm/reference/java/lang/VMClassLoader.java: Merged GNU
+ Classpath changes.
+
+2006-07-31 12:15 twisti
+
+ * src/native/Makefile.am (nativetable.inc): Renamed VM_ZIP to
+ CACAO_VM_ZIP.
+
+2006-07-28 13:24 twisti
+
+ * src/vm/jit/dseg.c (desg_increase): Removed.
+ (dseg_finish): New function.
+ (dseg_find_s4): Likewise.
+ (dseg_find_s8): Likewise.
+ (dseg_find_float): Likewise.
+ (dseg_find_double): Likewise.
+ (dseg_find_address): Likewise.
+ (dseg_add_s4_intern): Likewise.
+ (dseg_add_unique_s4): Likewise.
+ (dseg_add_s4): Likewise.
+ (dseg_add_s8_intern): Likewise.
+ (dseg_add_unique_s8): Likewise.
+ (dseg_add_s8): Likewise.
+ (dseg_add_float_intern): Likewise.
+ (dseg_add_unique_float): Likewise.
+ (dseg_add_float): Likewise.
+ (dseg_add_double_intern): Likewise.
+ (dseg_add_unique_double): Likewise.
+ (dseg_add_double): Likewise.
+ (dseg_add_address_intern): Likewise.
+ (dseg_add_unique_address): Likewise.
+ (dseg_add_address): Likewise.
+
+ * src/vm/jit/dseg.h (dsegentry): New structure.
+
+ * src/vm/jit/codegen-common.c (codegen_setup): Don't allocate memory
+ for data segment.
+ (codegen_finish): Call dseg_finish.
+
+ * src/vm/jit/codegen-common.h (codegendata): Removed dsegtop and
+ dsegsize, added dseg.
+
+ * src/vm/jit/powerpc/codegen.c: Use new dseg function names.
+
+ * src/vm/jit/powerpc/emit.c (vm/jit/dseg.h): Added.
+ (emit_iconst): Use new dseg function names.
+
+2006-07-28 10:54 twisti
+
+ * src/vm/jit/powerpc/linux/md-abi.h (REG_ITMP23_PACKED): New define.
+ * src/vm/jit/powerpc/darwin/md-abi.h (REG_ITMP23_PACKED): Likewise.
+
+2006-07-28 10:12 twisti
+
+ * src/vm/loader.c (load_class_from_classbuffer): Enable "Extra bytes
+ at the end of class file"-check, since we are something like Java 1.5.
+
+2006-07-26 15:20 twisti
+
+ * src/vm/jit/jit.h (INSTRUCTION_UNRESOLVED_CLASS): Defined.
+
+ * src/vm/jit/alpha/codegen.c (codegen): First changes for duplicate
+ patcher removal.
+
+2006-07-26 14:50 twisti
+
+ * src/vm/jit/show.c (new_show_method): Print stub length in method
+ header.
+ (show_method): Likewise.
+
+ * src/vm/jit/codegen-common.c (codegen_addpatchref): Don't cast to
+ u1*.
+
+2006-07-26 13:27 twisti
+
+ * src/vm/jit/parse.h (code_get_u1, code_get_s1, code_get_u2)
+ (code_get_s2, code_get_u4, code_get_s4): Removed.
+
+ * src/vm/suck.h (SUCK_BE_S1, SUCK_BE_S2, SUCK_BE_S4, SUCK_BE_S8):
+ Defined.
+
+ * src/vm/jit/parse.c (vm/suck.h): Added.
+ (new_parse): Use SUCK_BE_* macros instead of code_get_*.
+ (parse): Likewise.
+
+2006-07-26 11:04 twisti
+
+ * src/vm/builtin.c (builtin_print_argument): #ifndef NDEBUG.
+
+2006-07-26 10:16 twisti
+
+ * src/vm/jit/powerpc/linux/md-asm.h: Added register defines.
+
+2006-07-26 10:06 twisti
+
+ * src/vm/jit/powerpc/darwin/md-asm.h: Added fr register defines again,
+ we need them.
+
+ * src/vm/jit/powerpc/asmpart.S (asm_replacement_out): Use internal
+ register defines instead of numbers, as darwin does not understand it.
+ (asm_replacement_in): Likewise.
+
+2006-07-26 09:59 twisti
+
+ * src/vm/jit/powerpc/darwin/md-asm.h (mach/ppc/asm.h): Removed. Don't
+ define the fr register names.
+
+2006-07-26 09:43 twisti
+
+ * src/vm/jit/powerpc/linux/md-asm.h (asm/ppc_asm.h): Removed, it's not
+ an official kernel header.
+
+ * src/vm/jit/powerpc/asmpart.S: Use CACAO internal register defines or
+ simple register numbers.
+
+2006-07-25 18:30 twisti
+
+ * src/vm/global.h (IS_FLT_TYPE): Added.
+ (IS_DBL_TYPE): Likewise.
+
+2006-07-25 16:00 twisti
+
+ * src/vm/jit/i386/md-emit.h (emit_ialu): Removed.
+ (emit_ialuconst): Likewise.
+ (emit_lalu): Likewise.
+ (emit_laluconst): Likewise.
+ (emit_ishift): Likewise.
+ (emit_ishiftconst): Likewise.
+ (emit_ifcc_iconst): Likewise.
+
+2006-07-25 15:57 twisti
+
+ * src/vm/jit/jit.h (ICMD_ELSE_ICONST): Removed.
+ (ICMD_IFEQ_ICONST): Likewise.
+ (ICMD_IFNE_ICONST): Likewise.
+ (ICMD_IFLT_ICONST): Likewise.
+ (ICMD_IFGE_ICONST): Likewise.
+ (ICMD_IFGT_ICONST): Likewise.
+ (ICMD_IFLE_ICONST): Likewise.
+
+ * src/vm/jit/jit.c (icmd_names): Set removed ICMDs to UNDEF.
+
+ * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
+ Removed ICMDs.
+ (allocate_scratch_registers): Likewise.
+
+ * src/vm/jit/verify/typecheck.c (verify_basic_block): Likewise.
+
+ * src/vm/jit/stack.c (new_stack_analyse): Likewise.
+ (stack_analyse): Likewise.
+
+ * src/vm/jit/show.c (new_show_icmd): Likewise.
+ (show_icmd): Likewise.
+
+ * src/vm/jit/alpha/arch.h (CONDITIONAL_LOADCONST): Removed.
+ * src/vm/jit/i386/arch.h: Likewise.
+ * src/vm/jit/mips/arch.h: Likewise.
+ * src/vm/jit/powerpc/arch.h: Likewise.
+ * src/vm/jit/powerpc64/arch.h: Likewise.
+ * src/vm/jit/sparc64/arch.h: Likewise.
+ * src/vm/jit/x86_64/arch.h: Likewise.
+
+ * src/vm/jit/alpha/codegen.c (codegen): Removed ICMDs.
+ * src/vm/jit/i386/codegen.c: Likewise.
+ * src/vm/jit/mips/codegen.c: Likewise.
+ * src/vm/jit/sparc64/codegen.c: Likewise.
+ * src/vm/jit/x86_64/codegen.c: Likewise.
+
+ * src/vm/jit/i386/emit.c (emit_ifcc_iconst): Removed.
+
+2006-07-25 15:33 twisti
+
+ * src/vm/jit/x86_64/md.c (md_signal_handler_sigusr2): Fixed comment.
+
+ * src/vm/jit/i386/linux/md-os.c (md_signal_handler_sigusr2): New
+ function.
+
+2006-07-25 13:52 twisti
+
+ * src/vm/jit/jit.h (TYPE_INT, TYPE_LNG, TYPE_FLT, TYPE_DBL, TYPE_ADR)
+ (IS_INT_LNG_TYPE, IS_FLT_DBL_TYPE, IS_2_WORD_TYPE)
+ (IS_INT_TYPE, IS_LNG_TYPE, IS_ADR_TYPE, IS_VOID_TYPE): Removed.
+
+ * src/vm/global.h (TYPE_LONG, TYPE_FLOAT, TYPE_DOUBLE, TYPE_ADDRESS):
+ Removed.
+ (TYPE_INT, TYPE_LNG, TYPE_FLT, TYPE_DBL, TYPE_ADR)
+ (IS_INT_LNG_TYPE, IS_FLT_DBL_TYPE, IS_2_WORD_TYPE)
+ (IS_INT_TYPE, IS_LNG_TYPE, IS_ADR_TYPE, IS_VOID_TYPE): Added.
+
+ * src/vm/loader.c (load_field): Use short TYPE_* defines.
+ (load_newly_created_array): Likewise.
+
+ * src/vm/descriptor.c (descriptor_to_basic_type): Likewise.
+ (descriptor_typesize): Likewise.
+ (descriptor_to_typedesc): Likewise.
+ (descriptor_pool_parse_method_descriptor): Likewise.
+ (descriptor_debug_print_typedesc): Likewise.
+
+ * src/vm/jit/verify/typecheck.c (typestack_copy): Likewise.
+ (typestack_put_retaddr): Likewise.
+ (typestack_merge): Likewise.
+ (verify_basic_block): Likewise.
+ (verify_init_locals): Likewise.
+
+ * src/vm/jit/verify/typeinfo.c (typevectorset_copymergedtype):
+ Likewise.
+ (typevectorset_store_retaddr): Likewise.
+ (typevectorset_store_twoword): Likewise.
+ (typevector_merge): Likewise.
+ (typeinfos_init_from_methoddesc): Likewise.
+ (typeinfo_test_parse): Likewise.
+ (typeinfo_print_type): Likewise.
+ (typeinfo_print_stacktype): Likewise.
+
+ * src/vm/jit/verify/typeinfo.h (TYPE_IS_RETURNADDRESS): Likwise.
+ (TYPE_IS_REFERENCE): Likwise.
+
+ * src/native/jni.c (_Jv_jni_vmargs_from_objectarray): Likewise.
+
+2006-07-25 12:33 twisti
+
+ * src/mm/memory.c (memory_cnew): When MAP_ANONYMOUS and MAP_ANON are
+ not defined, we use simply malloc. This is required for IRIX.
+
+2006-07-25 11:38 twisti
+
+ * configure.ac (AC_FUNC_MMAP): Added.
+ (AC_CHECK_FUNCS): Removed mprotect.
+
+ * src/mm/memory.c (DEFAULT_CODEMEM_SIZE): Renamed to
+ DEFAULT_CODE_MEMORY_SIZE.
+ (codememlock): Renamed to lock_code_memory.
+ (codememptr): Renamed to code_memory.
+ (codememsize): Renamed to code_memory_size.
+ (pagesize): Added global static variable.
+ (memory_init): Use new variable names and set pagesize.
+ (memory_cnew): Don't use malloc/mprotect as this makes some problems
+ with selinux enabled distributions. Instead use mmap.
+
+2006-07-21 14:40 twisti
+
+ * src/boehm-gc/configure.in (MY_CFLAGS): Commented. We want to use the
+ top-level CFLAGS.
+ * src/boehm-gc/Makefile.am (LTCOMPILE): Likewise.
+ (LINK): Likewise.
+
+2006-07-21 14:15 twisti
+
+ * src/vm/jit/powerpc/linux/md-asm.h (__ASSEMBLY__): Defined. It's
+ required for <asm/ppc_asm.h> on my Debian system.
+
+2006-07-21 10:09 twisti
+
+ * src/vm/exceptions.c (new_verifyerror): Renamed to
+ exceptions_new_verifyerror.
+ (exceptions_throw_verifyerror): New function.
+ * src/vm/exceptions.h (new_verifyerror): Renamed to
+ exceptions_new_verifyerror.
+ (exceptions_throw_verifyerror): Added.
+
+ * src/vm/resolve.c: Use exceptions_throw_verifyerror instead of
+ new_verifyerror.
+ * src/vm/jit/parse.c: Likewise.
+ * src/vm/jit/stack.c: Likewise.
+ * src/vm/jit/verify/typecheck.c: Likewise.
+ * src/vm/jit/verify/typeinfo.c: Likewise.
+
+ * src/cacaoh/headers.c (new_verifyerror): Renamed to
+ exceptions_throw_verifyerror.
+
+2006-07-21 09:24 twisti
+
+ * src/vm/builtin.c (builtin_asm_get_exceptionptrptr): Removed.
+ * src/vm/builtin.h (builtin_get_exceptionptrptr): Likewise.
+
+2006-07-19 15:54 twisti
+
+ * src/vm/jit/mips/patcher.c (assert.h): Added.
+ (vm/exceptions.h): Added.
+ (vm/jit/methodheader.h): Likewise.
+ (patcher_wrapper): New function.
+ (patcher_get_putstatic): Removed monitor enter/exit, this is now done
+ by the wrapper.
+ (patcher_get_putfield): Likewise.
+ (patcher_aconst): Likewise.
+ (patcher_builtin_multianewarray): Likewise.
+ (patcher_builtin_arraycheckcast): Likewise.
+ (patcher_invokestatic_special): Likewise.
+ (patcher_invokevirtual): Likewise.
+ (patcher_invokeinterface): Likewise.
+ (patcher_checkcast_instanceof_flags): Likewise.
+ (patcher_checkcast_instanceof_interface): Likewise.
+ (patcher_checkcast_instanceof_class): Likewise.
+ (patcher_clinit): Likewise.
+ (patcher_athrow_areturn): Likewise.
+ (patcher_resolve_native): Likewise.
+
+ * src/vm/jit/mips/asmpart.S (asm_call_jit_compiler): Use
+ exceptions_get_and_clear_exception.
+ (asm_abstractmethoderror): Added missing .ent/.end.
+ (asm_wrapper_patcher): Use patcher_wrapper.
+
+2006-07-19 13:38 twisti
+
+ * src/vm/jit/show.c (new_show_method): Print data length.
+ (show_method): Likewise.
+
+2006-07-19 13:07 tbfg
+
+ * src/vm/jit/powerpc64/* (global): changed all powerpc references to
+ powerpc64.
+
+2006-07-19 12:09 twisti
+
+ * src/vm/jit/show.c (new_show_method): Print method's code length.
+ (show_method): Likewise.
+
+2006-07-19 09:13 twisti
+
+ * src/vm/jit/alpha/patcher.c (patcher_wrapper): Patch back the
+ original instruction on successful returns.
+ (patcher_get_putstatic): Removed instruction patching.
+ (patcher_get_putfield): Likewise.
+ (patcher_aconst): Likewise.
+ (patcher_builtin_multianewarray): Likewise.
+ (patcher_builtin_arraycheckcast): Likewise.
+ (patcher_invokestatic_special): Likewise.
+ (patcher_invokevirtual): Likewise.
+ (patcher_invokeinterface): Likewise.
+ (patcher_checkcast_instanceof_flags): Likewise.
+ (patcher_checkcast_instanceof_interface): Likewise.
+ (patcher_checkcast_instanceof_class): Likewise.
+ (patcher_clinit): Likewise.
+ (patcher_athrow_areturn): Likewise.
+ (patcher_resolve_native): Likewise.
+
+2006-07-18 18:38 tbfg
+
+ * src/vm/jit/powerpc64/linux/md-abi.c (md_return_alloc): isleafmethod
+ has been moved to jitdata.
+
+ * src/vm/jjit/powerpc64/codegen.c (global): fixes for isleafmethod
+ changes, BUILTIN_monitor* renamed to LOCK_monitor_*
+ codegen_add_classcastexception_ref api changed.
+
+ * src/vm/jit/powerpc64/asmpart.S (global): fixed R_PPC64_ADDR32
+ issues (32 bit adresses) all jump tables data types from
+ long to quad and synched with powerpc asmpart.S.
+
+2006-07-18 14:05 twisti
+
+ * src/mm/memory.c (memory_cfree): New function.
+ * src/mm/memory.h (CFREE): Define to memory_cfree.
+ (memory_cfree): Added.
+
+2006-07-18 11:09 twisti
+
+ * src/native/jvmti/Makefile.am (lib_LTLIBRARIES): Removed libjdwp.la.
+ (libjdwp_la_SOURCES): Removed.
+
+ * src/native/jvmti/VMjdwp.c: Removed.
+ * src/native/jvmti/VMjdwp.h: Likewise.
+
+ * src/native/vm/Makefile.am [ENABLE_JVMTI] (lib_LTLIBRARIES): Added
+ libjdwp.la.
+ (libjdwp_la_SOURCES): Added.
+
+ * src/native/vm/VMFrame.c: Removed.
+ * src/native/vm/VMMethod.c: Likewise.
+ * src/native/vm/VMVirtualMachine.c: Likewise.
+
+ * src/native/vm/VMjdwp.c: Added.
+ * src/native/vm/VMjdwp.h: Likewise.
+ * src/native/vm/gnu_classpath_jdwp_VMVirtualMachine.c: Likewise.
+ * src/native/vm/gnu_classpath_jdwp_VMFrame.c: Likewise.
+ * src/native/vm/gnu_classpath_jdwp_VMMethod.c: Likewise.
+
+2006-07-18 11:02 motse
+
+ * src/native/jvmti/VMjdwp.c (Breakpoint): adapt BreakpointEvent
+ signature to changed gnu classpath jdwp implementation.
+ (fillidcache): idem
+
+2006-07-18 08:56 twisti
+
+ * src/vm/builtin.c (builtin_trace_args): Added missing
+ TRACE_ARGS_NUM >= 4 case.
+
+2006-07-18 08:36 twisti
+
+ * src/vm/jit/powerpc/darwin/md-asm.h (asm_wrapper_patcher): Renamed to
+ asm_patcher_wrapper.
+
+2006-07-18 08:19 twisti
+
+ * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added package
+ prefix to filenames.
+
+ * src/native/vm/VMClassLoader.c: Removed.
+ * src/native/vm/VMThrowable.c: Likewise.
+ * src/native/vm/VMAccessController.c: Likewise.
+ * src/native/vm/VMString.c: Likewise.
+ * src/native/vm/VMObject.c: Likewise.
+ * src/native/vm/VMStackWalker.c: Likewise.
+ * src/native/vm/Field.c: Likewise.
+ * src/native/vm/VMSystem.c: Likewise.
+ * src/native/vm/VMSystemProperties.c: Likewise.
+ * src/native/vm/VMClass.c: Likewise.
+ * src/native/vm/VMThread.c: Likewise.
+ * src/native/vm/Method.c: Likewise.
+ * src/native/vm/VMProxy.c: Likewise.
+ * src/native/vm/Constructor.c: Likewise.
+ * src/native/vm/VMRuntime.c: Likewise.
+
+ * src/native/vm/gnu_classpath_VMStackWalker.c: Added.
+ * src/native/vm/java_lang_VMSystem.c: Likewise.
+ * src/native/vm/java_lang_reflect_Method.c: Likewise.
+ * src/native/vm/java_lang_VMObject.c: Likewise.
+ * src/native/vm/java_lang_VMString.c: Likewise.
+ * src/native/vm/gnu_classpath_VMSystemProperties.c: Likewise.
+ * src/native/vm/java_lang_VMRuntime.c: Likewise.
+ * src/native/vm/java_lang_reflect_Field.c: Likewise.
+ * src/native/vm/java_lang_VMThrowable.c: Likewise.
+ * src/native/vm/java_lang_VMClassLoader.c: Likewise.
+ * src/native/vm/java_lang_VMClass.c: Likewise.
+ * src/native/vm/java_lang_VMThread.c: Likewise.
+ * src/native/vm/java_security_VMAccessController.c: Likewise.
+ * src/native/vm/java_lang_reflect_VMProxy.c: Likewise.
+ * src/native/vm/java_lang_reflect_Constructor.c: Likewise.
+
+2006-07-18 08:16 twisti
+
+ * src/native/vm/gnu_java_lang_management_VMMemoryMXBeanImpl.c: New
+ file.
+
+2006-07-18 08:14 twisti
+
+ * src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c
+ (vm/vm.h): Added.
+ (getStartTime): Implemented.
+
+2006-07-18 08:05 twisti
+
+ * src/native/vm/VMSystemProperties.c (preInit): Added
+ gnu.java.compiler.name property.
+
+2006-07-17 16:11 twisti
+
+ * src/vm/jit/jit.h (IS_VOID_TYPE): Added.
+
+ * src/vm/builtin.c (builtin_print_argument): New function.
+ (builtin_trace_args): Rewritten. Uses builtin_trace_args and prints
+ arguments much better.
+ (builtin_displaymethodstop): Likewise.
+
+2006-07-17 15:14 twisti
+
+ * src/native/jvmti/.cvsignore (TAGS): Added.
+ (cacaodbgserver): Likewise.
+
+2006-07-17 15:11 twisti
+
+ * configure.ac (CACAO_LIBDIR): Added.
+
+ * src/vm/classcache.c [ENABLE_JVMTI] (lock_hashtable_classcache):
+ Don't export it.
+ (classcache_jvmti_GetLoadedClasses): New method.
+
+ * src/vm/classcache.h (CLASSCACHE_LOCK): Don't define it.
+ (CLASSCACHE_UNLOCK): Likewise.
+ (lock_hashtable_classcache): Don't export it.
+ (classcache_jvmti_GetLoadedClasses): Added.
+
+ * src/vm/vm.c (vm_create): Use CACAO_LIBDIR in OPT_XRUNJDWP.
+
+ * src/native/jvmti/jvmti.c (GetLoadedClasses): Use
+ classcache_jvmti_GetLoadedClasses.
+ (jvmti_agentload): Some code cleanup.
+
+2006-07-17 13:50 twisti
+
+ * src/native/include/include/Makefile.am (GEN_JVMTI_HEADER_FILES):
+ Reordered.
+
+ * src/native/include/include/.cvsignore
+ (gnu_classpath_jdwp_VMMethod.h): Added.
+ (gnu_classpath_jdwp_util_VariableTable.h): Likewise.
+
+2006-07-17 11:48 twisti
+
+ * src/vm/jit/asmpart.h (asm_wrapper_patcher): Renamed to
+ asm_patcher_wrapper.
+
+ * src/vm/jit/alpha/codegen.c (codegen): Likewise.
+ (createnativestub): Likewise.
+ * src/vm/jit/alpha/asmpart.S (asm_wrapper_patcher): Likewise.
+
+ * src/vm/jit/i386/codegen.c (codegen): Likewise.
+ (createnativestub): Likewise.
+ * src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Likewise.
+
+ * src/vm/jit/mips/codegen.c (codegen): Likewise.
+ (createnativestub): Likewise.
+ * src/vm/jit/mips/asmpart.S (asm_wrapper_patcher): Likewise.
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Likewise.
+ (createnativestub): Likewise.
+ * src/vm/jit/powerpc/asmpart.S (asm_wrapper_patcher): Likewise.
+
+ * src/vm/jit/powerpc64/codegen.c (codegen): Likewise.
+ (createnativestub): Likewise.
+ * src/vm/jit/powerpc64/asmpart.S (asm_wrapper_patcher): Likewise.
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Likewise.
+ (createnativestub): Likewise.
+ * src/vm/jit/x86_64/asmpart.S (asm_wrapper_patcher): Likewise.
+
+2006-07-17 11:09 twisti
+
+ * src/mm/boehm.c (heap_allocate): Changed signature. Some cleanup.
+ * src/mm/boehm.h (heap_allocate): Likewise.
+
+2006-07-17 10:00 twisti
+
+ * src/native/vm/VMRuntime.c (maxMemory): Comment fix.
+ (availableProcessors): Likewise.
+
+2006-07-17 09:47 twisti
+
+ * src/vm/jit/x86_64/patcher.c (vm/jit/x86_64/codegen.h): Added.
+ (vm/exceptions.h): Likewise.
+ (patcher_get_putstatic): Removed monitor enter/exit and return address
+ calculation, this is now done by the wrapper.
+ (patcher_get_putfield): Likewise.
+ (patcher_putfieldconst): Likewise.
+ (patcher_aconst): Likewise.
+ (patcher_builtin_multianewarray): Likewise.
+ (patcher_builtin_arraycheckcast): Likewise.
+ (patcher_invokestatic_special): Likewise.
+ (patcher_invokevirtual): Likewise.
+ (patcher_invokeinterface): Likewise.
+ (patcher_checkcast_instanceof_flags): Likewise.
+ (patcher_checkcast_instanceof_interface): Likewise.
+ (patcher_checkcast_class): Likewise.
+ (patcher_instanceof_class): Likewise.
+ (patcher_clinit): Likewise.
+ (patcher_athrow_areturn): Likewise.
+ (patcher_resolve_native): Likewise.
+
+ * src/vm/jit/x86_64/asmpart.S (asm_wrapper_patcher): Use
+ patcher_wrapper.
+
+2006-07-16 15:58 twisti
+
+ * src/native/jvmti/jvmti.c (DestroyRawMonitor): Don't pass
+ threadobject to lock_monitor_exit.
+ (RawMonitorEnter): Changed builtin_monitorenter to lock_monitor_enter.
+ (RawMonitorExit): Changed builtin_monitorexit to lock_monitor_exit.
+
+2006-07-16 15:38 twisti
+
+ * src/vm/jit/recompile.c (recompile_threadobject): Renamed to
+ recompile_vmthread and changed type to java_lang_VMThread.
+ (recompile_start_thread): Changed initialization of the thread
+ object. This fixes the not-exit bug.
+
+ * src/vm/jit/profile/profile.c (profile_threadobject): Renamed to
+ profile_vmthread.
+ (profile_thread): Call codegen_get_pv_from_pc_nocheck instead of
+ codegen_findmethod.
+ (profile_start_thread): Changed initialization of the thread
+ object.
+
+ * src/vm/jit/codegen-common.c (codegen_findmethod): Print a stacktrace
+ if no function was found and exit the VM.
+ (codegen_get_pv_from_pc_nocheck): New function. Like
+ codegen_findmethod, but can return NULL.
+ * src/vm/jit/codegen-common.h (codegen_get_pv_from_pc_nocheck): Added.
+
+2006-07-14 17:08 edwin
+
+ * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
+ Fixed dupslots indices for ICMD_SWAP.
+
+2006-07-14 17:07 edwin
+
+ * src/vm/jit/show.c (new_show_icmd): General handling of
+ INS_FLAG_UNRESOLVED.
+
+2006-07-14 17:06 edwin
+
+ * src/vm/jit/show.c (new_show_icmd): Fixed showing of LASTORECONST.
+
+2006-07-14 17:05 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Fixed propagation of
+ INS_FLAG_UNRESOLVED for PUTFIELDCONST/PUTSTATICCONST.
+
+2006-07-14 17:03 edwin
+
+ * src/vm/jit/stack.c (DUP_SLOT): Copy only TEMPVARs directly.
+
+2006-07-14 17:02 edwin
+
+ * src/vm/jit/parse.c (new_parse): No exception check for
+ MONITORENTER.
+
+2006-07-14 16:58 edwin
+
+ * src/vm/jit/show.c (new_show_stackvar): Show varkind and varnum for
+ variables with an invalid varkind.
+
+2006-07-14 16:56 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Use POPANY for DUP*
+ instructions, in order to set varkind correctly. The repeated
+ POPANY macros should probably be replaced by more efficient
+ code.
+
+2006-07-14 16:54 edwin
+
+ * src/vm/jit/allocator/simplereg.c (new_allocate_scratch_registers):
+ Fixed dupslots indices for ICMD_DUP_X1.
+
+2006-07-14 16:52 edwin
+
+ * src/vm/jit/parse.h (NEW_OP_STORE_ONEWORD): Store index in dst,
+ not in s1.
+ (NEW_OP_STORE_TWOWORD): Likewise.
+
+2006-07-13 11:54 twisti
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Use lock_monitor_enter/exit
+ instead of builtin_monitorenter/exit.
+
+2006-07-13 11:17 motse
+
+ * doc/handbook/jvmti.tex: documentation of the cacao jvmti
+ implementation added to the cacao handbook
+ * doc/handbook/arch.eps: idem
+ * doc/handbook/cacao.tex: idem
+ * doc/handbook/java.bib: idem
+ * doc/handbook/arm.tex: added bounding box for arm-double-memory.png
+
+2006-07-13 10:26 twisti
+
+ * src/vm/jit/mips/codegen.c (codegen): Use lock_monitor_enter/exit
+ instead of builtin_monitorenter/exit.
+ (createnativestub): Don't use builtin_get_exceptionptrptr, but
+ codegen_finish_native_call for exception check.
+
+2006-07-12 22:55 twisti
+
+ * src/mm/memory.c (vm/vm.h): Added.
+ (memory_cnew): Replaced throw_cacao_exception_exit with vm_abort.
+ (dump_release): Likewise.
+
+ * src/toolbox/util.c (_Jv_getcwd): Likewise.
+
+2006-07-12 22:12 twisti
+
+ * src/vm/jit/alpha/codegen.c (codegen): Use lock_monitor_enter/exit
+ instead of builtin_monitorenter/exit.
+
+2006-07-12 21:59 twisti
+
+ * src/vm/jit/i386/codegen.c (codegen): Use lock_monitor_enter/exit
+ instead of builtin_monitorenter/exit.
+
+2006-07-12 21:45 twisti
+
+ * src/vm/builtin.c (builtin_monitorenter): Removed.
+ (builtin_staticmonitorenter): Likewise.
+ (builtin_monitorexit): Likewise.
+ * src/vm/builtin.h: Likewise.
+
+ * src/threads/native/lock.c (lock_monitor_enter): Don't pass
+ threadobject, get it in this function.
+ (lock_monitor_exit): Likewise.
+
+ * src/threads/native/lock.h (lock_monitor_enter): Changed signature.
+ (lock_monitor_exit): Likewise.
+ (LOCK_monitor_enter): Defined.
+ (LOCK_monitor_exit): Likewise.
+ (LOCK_MONITOR_ENTER): Likewise.
+ (LOCK_MONITOR_EXIT): Likewise.
+
+ * src/vm/suck.c: Use lock_monitor_enter/exit instead of
+ builtin_monitorenter/exit.
+ * src/vm/string.c: Likewise.
+ * src/vm/finalizer.c: Likewise.
+ * src/vm/classcache.c: Likewise.
+ * src/vm/initialize.c: Likewise.
+ * src/vm/jit/recompile.c: Likewise.
+ * src/vm/jit/show.c: Likewise.
+ * src/vm/jit/patcher.h: Likewise.
+ * src/vm/jit/parse.c: Likewise.
+ * src/vm/jit/x86_64/md.c: Likewise.
+ * src/vm/jit/x86_64/codegen.c: Likewise.
+ * src/vm/jit/jit.c: Likewise.
+ * src/vm/builtintable.inc: Likewise.
+ * src/vm/exceptions.c: Likewise.
+ * src/vm/linker.c: Likewise.
+ * src/vm/utf8.c: Likewise.
+ * src/native/jni.c: Likewise.
+ * src/native/native.c: Likewise.
+ * src/toolbox/avl.c: Likewise.
+ * src/toolbox/list.c: Likewise.
+ * src/mm/memory.c: Likewise.
+ * src/cacaoh/headers.h: Likewise.
+
+2006-07-12 21:33 twisti
+
+ * src/threads/Makefile.am: Added path to header.
+
+2006-07-12 21:32 twisti
+
+ * src/vm/jit/Makefile.am (RECOMPILE_SOURCES): Added, compile recompile
+ only if threads are enabled.
+
+ * src/vm/vm.c (vm_create): Call recompile_init only if threads are
+ enabled.
+
+2006-07-12 21:27 twisti
+
+ * src/threads/none/.cvsignore: New file.
+
+2006-07-12 21:26 twisti
+
+ * src/threads/none/Makefile.am: New file.
+ * src/threads/none/lock.h: Likewise.
+ * src/threads/Makefile.am (DIST_SUBDIRS): Added.
+ * configure.ac (AC_CONFIG_FILES): Added src/threads/none/Makefile.
+
+2006-07-12 20:27 twisti
+
+ * src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Use
+ jd->isleafmethod.
+
+2006-07-12 20:14 twisti
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Use jd->isleafmethod.
+ * src/vm/jit/powerpc/linux/md-abi.c (md_return_alloc): Likewise.
+
+2006-07-12 15:02 twisti
+
+ * src/vm/jit/recompile.c (recompile_replace_vftbl): #ifndef NDEBUG
+ debugging code.
+
+2006-07-12 14:55 twisti
+
+ * src/vm/jit/powerpc/linux/md-abi.c (vm/jit/abi.h): Added.
+ * src/vm/jit/powerpc/netbsd/md-abi.c: Likewise.
+ * src/vm/jit/powerpc/darwin/md-abi.c: Likewise.
+ * src/vm/jit/alpha/md-abi.c: Likewise.
+ * src/vm/jit/powerpc64/linux/md-abi.c: Likewise.
+ * src/vm/jit/i386/md-abi.c: Likewise.
+
+ * src/vm/jit/sparc64/md-abi.c: Added GNU header.
+ (vm/jit/abi.h): Added.
+
+2006-07-12 14:53 twisti
+
+ * src/vm/jit/mips/codegen.c (codegen): Use jd->isleafmethod. Pass
+ register number to codegen_add_classcastexception_ref.
+
+ * src/vm/jit/mips/md-abi.c (vm/jit/abi.h): Added.
+ (md_return_alloc): Changed signature.
+
+2006-07-12 14:42 edwin
+
+ * src/vm/jit/emit.h (emit_load): New function. This is a general
+ function for emitting loads that will keep its stackvar argument
+ after switching to the new instruction format. It will be used
+ for instructions with variable arguments, for example.
+
+ * src/vm/jit/x86_64/emit.c (emit_load): New function.
+
+2006-07-12 13:52 twisti
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Use jd->isleafmethod.
+ * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Likewise.
+
+2006-07-12 13:47 twisti
+
+ * src/vm/jit/code.c (code_get_stack_frame_size): Commented code, we
+ need another implementation.
+
+2006-07-11 22:23 twisti
+
+ * src/vm/jit/x86_64/asmpart.S (asm_call_jit_compiler): Use
+ exceptions_get_and_clear_exception.
+ (asm_wrapper_patcher): Likewise.
+
+2006-07-11 19:17 twisti
+
+ * src/vm/jit/i386/emit.c: Changed prefix from i386_ to emit_.
+ (vm/jit/emit.h): Added.
+ (emit_load_s1_low): New function.
+ (emit_load_s2_low): New function.
+
+ * src/vm/jit/i386/md.c (md_get_method_patch_address): Changed
+ instruction byte.
+
+ * src/vm/jit/i386/md-emit.h: Changed prefix from i386_ to emit_. Added
+ architecture defines.
+
+ * src/vm/jit/i386/codegen.c Changed the code generator to produce
+ RISC-like code. These are way too much changes to name them.
+
+ * src/vm/jit/i386/codegen.h: Removed a lot of architecture stuff.
+
+ * src/vm/jit/i386/patcher.c (vm/exceptions.h): Added.
+ (patcher_wrapper): New function.
+ (patcher_get_putstatic): Removed monitor enter/exit and return address
+ calculation, this is now done by the wrapper.
+
+ (patcher_getfield): Likewise.
+ (patcher_putfield): Likewise.
+ (patcher_putfieldconst): Likewise.
+ (patcher_aconst): Likewise.
+ (patcher_builtin_multianewarray): Likewise.
+ (patcher_builtin_arraycheckcast): Likewise.
+ (patcher_invokestatic_special): Likewise.
+ (patcher_invokevirtual): Likewise.
+ (patcher_invokeinterface): Likewise.
+ (patcher_checkcast_instanceof_flags): Likewise.
+ (patcher_checkcast_instanceof_interface): Likewise.
+ (patcher_checkcast_class): Likewise.
+ (patcher_instanceof_class): Likewise.
+ (patcher_clinit): Likewise.
+ (patcher_athrow_areturn): Likewise.
+ (patcher_resolve_native): Likewise.
+
+ * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Changed calling
+ sequence of asm_call_jit_compiler.
+ (asm_call_jit_compiler): Use jit_asm_compile.
+ (asm_wrapper_patcher): Use patcher_wrapper.
+
+2006-07-11 18:39 twisti
+
+ * src/vm/jit/emit.h [SIZEOF_VOID_P == 4] (emit_store_low): Added.
+ [SIZEOF_VOID_P == 4] (emit_store_high): Likewise.
+
+2006-07-11 18:35 twisti
+
+ * src/vm/jit/i386/md-asm.h (mptr): Added.
+
+2006-07-11 18:34 twisti
+
+ * src/vm/jit/i386/md-abi.h (REG_METHODPTR): Added.
+ (REG_ITMP12_PACKED): Likewise.
+ (REG_ITMP13_PACKED): Likewise.
+ (REG_ITMP23_PACKED): Likewise.
+ (REG_RESULT_PACKED): Likewise.
+ (EAX_EDX_PACKED): Likewise.
+
+2006-07-11 17:10 twisti
+
+ * src/vm/jit/alpha/patcher.c (patcher_wrapper): Added return address
+ calculation.
+ (patcher_get_putstatic): Removed return address calculation.
+ (patcher_get_putfield): Likewise.
+ (patcher_aconst): Likewise.
+ (patcher_builtin_multianewarray): Likewise.
+ (patcher_builtin_arraycheckcast): Likewise.
+ (patcher_invokestatic_special): Likewise.
+ (patcher_invokevirtual): Likewise.
+ (patcher_invokeinterface): Likewise.
+ (patcher_checkcast_instanceof_flags): Likewise.
+ (patcher_checkcast_instanceof_interface): Likewise.
+ (patcher_checkcast_instanceof_class): Likewise.
+ (patcher_clinit): Likewise.
+ (patcher_athrow_areturn): Likewise.
+ (patcher_resolve_native): Likewise.
+
+2006-07-10 17:22 twisti
+
+ * configure.ac (disassembler): Disabled by default, made too many
+ problems.
+
+ * src/vm/vm.c (toolbox/util.h): Added.
+ (vm_create): Save VM start time, #ifdef disassembler stuff.
+
+ * src/native/jni.h (_Jv_JavaVM): Added starttime and
+ Java_gnu_java_lang_management_VMMemoryMXBeanImpl_verbose.
+
+ * src/toolbox/util.c (config.h): Added.
+ (sys/time.h): Likewise.
+ (vm/vm.h): Likewise.
+ (util_current_time_millis): New function.
+
+ * src/toolbox/util.h (config.h): Added.
+ (vm/types.h): Likewise.
+ (util_current_time_millis): New function.
+
+2006-07-10 14:47 twisti
+
+ * src/vm/jit/alpha/codegen.c codegen): CHECKCAST: Load s1 again before
+ exception check.
+
+2006-07-10 14:42 twisti
+
+ * src/vm/jit/i386/emit.c (i386_call_mem): Removed.
+
+2006-07-10 14:41 twisti
+
+ * src/vm/jit/i386/codegen.c (codegen): CHECKCAST: Load s1 again before
+ exception check.
+ (callgetexceptionptrptr): Removed.
+
+2006-07-10 14:22 twisti
+
+ * src/vm/jit/i386/codegen.c (codegen): Use jd->isleafmethod.
+
+2006-07-10 14:20 twisti
+
+ * src/vm/jit/jit.c (jit_jitdata_new): New function.
+ (jit_compile): Use jit_jitdata_new.
+ (jit_recompile): Likewise.
+
+2006-07-10 14:11 twisti
+
+ * NEWS: Added ClassCastException and system assertions.
+ * src/vm/jit/stack.c (new_stack_analyse): Changed missing
+ jd->isleafmethod.
+ (stack_analyse): Likewise.
+
+2006-07-10 14:02 twisti
+
+ * src/vm/jit/code.h (codeinfo): Removed basicblocks and isleafmethod.
+ * src/vm/jit/jit.h (jitdata): Added isleafmethod.
+
+ * src/vm/jit/alpha/codegen.c (codegen): Use jd->isleafmethod. Pass
+ register number to codegen_add_classcastexception_ref.
+
+ * src/vm/jit/allocator/simplereg.c (interface_regalloc): Use
+ jd->isleafmethod.
+ (local_regalloc): Likewise.
+
+ * src/vm/jit/parse.c (new_parse): Likewise.
+ (parse): Likewise.
+
+ * src/vm/jit/parse.h (NEW_OP_BUILTIN_CHECK_EXCEPTION): Likewise.
+ (NEW_OP_BUILTIN_NO_EXCEPTION): Likewise.
+ (NEW_OP_BUILTIN_ARITHMETIC): Likewise.
+ (BUILTIN): Likewise.
+
+2006-07-10 13:53 twisti
+
+ * src/vm/jit/powerpc64/linux/.cvsignore: New file.
+ * src/vm/jit/powerpc64/.cvsignore: Likewise.
+
+2006-07-10 13:51 twisti
+
+ * src/vm/jit/alpha/patcher.c (assert.h): Added.
+ (vm/exceptions.h): Added.
+ (vm/jit/methodheader.h): Likewise.
+ (patcher_wrapper): New function.
+ (patcher_get_putstatic): Removed monitor enter/exit, this is now done
+ by the wrapper.
+ (patcher_get_putfield): Likewise.
+ (patcher_aconst): Likewise.
+ (patcher_builtin_multianewarray): Likewise.
+ (patcher_builtin_arraycheckcast): Likewise.
+ (patcher_invokestatic_special): Likewise.
+ (patcher_invokevirtual): Likewise.
+ (patcher_invokeinterface): Likewise.
+ (patcher_checkcast_instanceof_flags): Likewise.
+ (patcher_checkcast_instanceof_interface): Likewise.
+ (patcher_checkcast_instanceof_class): Likewise.
+ (patcher_clinit): Likewise.
+ (patcher_athrow_areturn): Likewise.
+ (patcher_resolve_native): Likewise.
+
+ * src/vm/jit/alpha/asmpart.S (asm_wrapper_patcher): Use
+ patcher_wrapper.
+
+ * src/vm/jit/alpha/md-abi.c (md_return_alloc): Changed signature.
+
+2006-07-10 13:36 twisti
+
+ * src/vm/statistics.c (count_class_infos): Renamed to size_classinfo.
+ (size_fieldinfo): Added.
+ (size_methodinfo): Likewise.
+ (size_codeinfo): Likewise.
+ (print_stats): Print new variables.
+
+ * src/vm/statistics.h (count_class_infos): Renamed to size_classinfo.
+ (size_fieldinfo): Added.
+ (size_methodinfo): Likewise.
+ (size_codeinfo): Likewise.
+
+ * src/vm/class.c (class_create_classinfo): Renamed count_class_infos
+ to size_classinfo.
+
+ * src/vm/loader.c (load_class_from_classbuffer): Likewise and use new
+ variables.
+
+ * src/vm/jit/code.c [ENABLE_STATISTICS] (code_codeinfo_new): Add
+ codeinfo size.
+ [ENABLE_STATISTICS] (code_codeinfo_free): Subtract codeinfo size.
+
+2006-07-10 10:18 twisti
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Pass register number to
+ codegen_add_classcastexception_ref.
+
+2006-07-10 10:01 twisti
+
+ * src/lib/vm/reference/java/lang/VMClassLoader.java
+ (defaultAssertionStatus): Made native.
+ * src/native/vm/VMClassLoader.c (defaultAssertionStatus): Added.
+
+ * src/native/jni.h (_Jv_JavaVM): Added
+ Java_java_lang_VMClassLoader_defaultAssertionStatus.
+
+ * src/vm/vm.c (OPT_ESA): Added.
+ (OPT_DSA): Likewise.
+
+2006-07-08 22:07 twisti
+
+ * src/vm/jit/methodheader.h (ExEntrySize): Removed.
+ (ExStartPC): Likewise.
+ (ExEndPC): Likewise.
+ (ExHandlerPC): Likewise.
+ (ExCatchType): Likewise.
+
+2006-07-08 20:32 twisti
+
+ * src/vm/jit/i386/codegen.c (codegen): Pass register number to
+ codegen_add_classcastexception_ref.
+
+2006-07-08 20:16 twisti
+
+ * src/vm/utf8.c (utf_java_lang_ClassCastException): Added.
+ (utf8_init): Initialize utf_java_lang_ClassCastException.
+ * src/vm/utf8.h (utf_java_lang_ClassCastException): Added.
+
+ * src/vm/class.c (class_java_lang_ClassCastException): Added.
+ * src/vm/class.h (class_java_lang_ClassCastException): Likewise.
+
+ * src/vm/exceptions.c (exceptions_init): Initialize
+ class_java_lang_ClassCastException.
+
+ (new_classcastexception): Renamed to
+ exceptions_new_classcastexception, pass the failing class name to the
+ exception.
+
+ * src/vm/exceptions.h (exceptionptr): Use thread object directly.
+ (new_classcastexception): Renamed to
+ exceptions_new_classcastexception.
+
+ * src/vm/jit/stacktrace.c (stacktrace_inline_classcastexception):
+ Changed signature.
+ * src/vm/jit/stacktrace.h (stacktrace_inline_classcastexception):
+ Likewise.
+
+ * src/vm/jit/codegen-common.c (codegen_add_classcastexception_ref):
+ Likewise.
+ * src/vm/jit/codegen-common.h (codegen_add_classcastexception_ref):
+ Likewise.
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Pass register number to
+ codegen_add_classcastexception_ref.
+
+2006-07-08 19:08 twisti
+
+ * src/vm/jit/i386/codegen.c (createnativestub): Don't use
+ builtin_get_exceptionptrptr, but codegen_finish_native_call for
+ exception check.
+
+2006-07-08 18:28 twisti
+
+ * configure.ac: Use ARCH_CFLAGS and OPT_CFLAGS instead of CFLAGS and
+ pass the flags via AM_CFLAGS to Makefile's.
+
+2006-07-08 14:20 twisti
+
+ * src/vm/jit/stacktrace.c (stacktrace_create): Added another code ==
+ NULL check.
+
+2006-07-06 22:52 twisti
+
+ * src/vm/jit/powerpc/darwin/md-abi.h (REG_ITMP12_PACKED): Added.
+ (REG_RESULT_PACKED): Added.
+
+ * src/vm/jit/powerpc/darwin/md-asm.h (patcher_wrapper): Added.
+
+ * src/vm/jit/powerpc/darwin/md-abi.c (md_return_alloc): Changed
+ signature.
+
+ * src/vm/jit/powerpc/asmpart.S (L_patcher_wrapper$stub): Added.
+
+2006-07-06 14:19 twisti
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Use code variables.
+ (createnativestub): Likewise and don't use
+ builtin_get_exceptionptrptr, but codegen_finish_native_call for
+ exception check.
+
+ * src/vm/jit/x86_64/codegen.h (PROFILE_CYCLE_START): Use code
+ variables.
+ (PROFILE_CYCLE_STOP): Likewise.
+
+ * src/vm/jit/x86_64/md-abi.c (md_return_alloc): Changed signature.
+
+2006-07-06 14:10 tbfg
+
+ fixed isleafmethod is now part of code issues
+
+2006-07-06 13:59 tbfg
+
+ powerpc64 compiles
+ arch.h and md-abi.h: modified PV register assignment
+
+2006-07-06 12:42 twisti
+
+ * src/vm/jit/i386/codegen.c (codegen): Use code->isleafmethod.
+ * src/vm/jit/i386/md-abi.c (md_return_alloc): Changed signature.
+
+2006-07-06 11:36 twisti
+
+ * src/vm/method.h (methodinfo): Removed isleafmethod, frequency,
+ bbfrequency and cycles.
+
+ * src/vm/jit/powerpc/linux/md-abi.c (md_return_alloc): Changed
+ signature, use code->isleafmethod.
+
+ * src/vm/jit/powerpc/linux/md-abi.h (REG_IFTMP): Changed from 0 to 16.
+ (REG_ITMP12_PACKED): Added.
+ (REG_RESULT_PACKED): Likewise.
+
+ * src/vm/jit/powerpc/codegen.c (vm/jit/methodheader.h): Added.
+ (codegen): Use code->isleafmethod, added instrumentation code.
+
+ * src/vm/jit/abi.h (md_return_alloc): Added.
+
+ * src/vm/jit/stack.c (new_stack_analyse): Use code->isleafmethod.
+ (stack_analyse): Likewise.
+
+ * src/vm/jit/stack.h (md_return_alloc): Removed.
+
+ * src/vm/jit/code.c (code_codeinfo_new): Don't memset as NEW already
+ does that, set isleafmethod to true.
+
+ * src/vm/jit/code.h (codeinfo): Added basicblockcount and basicblocks.
+
+ * src/vm/jit/allocator/simplereg.c (interface_regalloc): Use
+ code->isleafmethod.
+ (local_regalloc): Likewise.
+
+ * src/vm/jit/parse.c (new_parse): Likewise.
+ (parse): Likewise.
+
+ * src/vm/jit/parse.h (NEW_OP_BUILTIN_CHECK_EXCEPTION): Likewise.
+ (NEW_OP_BUILTIN_NO_EXCEPTION): Likewise.
+ (NEW_OP_BUILTIN_ARITHMETIC): Likewise.
+ (BUILTIN): Likewise.
+
+ * src/vm/jit/replace.c (replace_create_replacement_points): Don't set
+ code->isleafmethod, it's already set.
+
+ * src/vm/jit/profile/profile.c (profile_printstats): Use code
+ variables.
+
+ * src/vm/jit/jit.c (jit_compile_intern): Don't set m->isleafmethod.
+
+ * src/cacaoh/headers.c: Use stackcount instead of isleafmethod.
+
+2006-07-05 11:48 twisti
+
+ * src/vm/descriptor.h: Removed space.
+
+2006-07-04 19:06 twisti
+
+ * src/vm/jit/powerpc/darwin/md-asm.h
+ (builtin_asm_get_exceptionptrptr): Removed.
+ (_no_threads_exceptionptr): Likewise.
+ (exceptions_get_and_clear_exception): Added.
+
+ * src/vm/jit/powerpc/patcher.c (vm/exceptions.h): Added.
+ (vm/jit/methodheader.h): Likewise.
+ (patcher_wrapper): New function.
+ (patcher_get_putstatic): Removed monitor enter/exit, this is now done
+ by the wrapper.
+ (patcher_get_putfield): Likewise.
+ (patcher_aconst): Likewise.
+ (patcher_builtin_multianewarray): Likewise.
+ (patcher_builtin_arraycheckcast): Likewise.
+ (patcher_invokestatic_special): Likewise.
+ (patcher_invokevirtual): Likewise.
+ (patcher_invokeinterface): Likewise.
+ (patcher_checkcast_instanceof_flags): Likewise.
+ (patcher_checkcast_instanceof_interface): Likewise.
+ (patcher_checkcast_class): Likewise.
+ (patcher_instanceof_class): Likewise.
+ (patcher_clinit): Likewise.
+ (patcher_athrow_areturn): Likewise.
+ (patcher_resolve_native): Likewise.
+
+ * src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): Use
+ exceptions_get_and_clear_exception.
+ (asm_wrapper_patcher): Likewise, use patcher_wrapper.
+ (L_builtin_asm_get_exceptionptrptr$stub): Removed.
+ (L_exceptions_get_and_clear_exception$stub): Added.
+
+ * src/vm/jit/patcher.h (assert.h): Added.
+ (PATCHER_FLAG_PATCHED): Likewise.
+ (PATCHER_MONITORENTER): Added assert and return NULL.
+ (PATCHER_MARK_PATCHED_MONITOREXIT): Use PATCHER_FLAG_PATCHED.
+ (patcher_wrapper): Added.
+
+2006-07-04 18:24 twisti
+
+ * src/vm/jit/powerpc/codegen.c (createnativestub): Don't use
+ builtin_get_exceptionptrptr, but codegen_finish_native_call for
+ exception check.
+
+2006-07-04 16:56 twisti
+
+ * tests/regression/codepatching/test.java: Catch only thrown
+ exceptions.
+
+2006-07-04 16:05 twisti
+
+ * src/vm/jit/powerpc/darwin/md-os.c (md_signal_handler_sigusr2): New
+ function.
+
+ * src/vm/jit/powerpc/darwin/md-asm.h (asm_handle_nullptr_exception):
+ Removed.
+ (asm_abstractmethoderror): Added.
+ (exceptions_asm_new_abstractmethoderror): Likewise.
+ * src/vm/jit/powerpc/asmpart.S
+ (L_exceptions_asm_new_abstractmethoderror$stub): Added.
+
+2006-07-04 16:02 twisti
+
+ * src/vm/jit/powerpc/darwin/md-abi.c (md_param_alloc): Code
+ beautifying.
+
+2006-07-03 14:06 twisti
+
+ * src/vm/jit/alpha/asmpart.S (asm_call_jit_compiler): Use
+ exceptions_get_and_clear_exception.
+ (asm_wrapper_patcher): Likewise.
+
+2006-07-03 13:49 twisti
+
+ * src/vm/jit/codegen-common.c (codegen_finish_native_call): Check for
+ exception and return it.
+ * src/vm/jit/codegen-common.h (codegen_finish_native_call): Changed
+ signature.
+
+ * src/vm/jit/alpha/codegen.c (createnativestub): Don't use
+ builtin_get_exceptionptrptr, but codegen_finish_native_call for
+ exception check.
+
+ * src/vm/jit/alpha/codegen.h (M_ASUB_IMM): Added.
+
+2006-07-03 13:46 twisti
+
+ * src/vm/jit/alpha/md-abi.c (nregdescint): Added comments.
+
+2006-07-03 13:45 twisti
+
+ * src/vm/jit/alpha/linux/md-os.c (md_signal_handler_sigusr2): New
+ method.
+ (thread_restartcriticalsection): Code cleanup.
+
+2006-07-03 12:06 twisti
+
+ * src/vm/jit/alpha/asmpart.S (asm_abstractmethoderror): New method.
+
+2006-07-03 10:18 twisti
+
+ * src/vm/exceptions.c (exceptions_get_and_clear_exception): New
+ function.
+ * src/vm/exceptions.h (exceptions_get_and_clear_exception): Added.
+
+2006-07-02 18:31 twisti
+
+ * src/lib/vm/reference/gnu/java: Added.
+ * src/lib/vm/reference/gnu/java/lang: Likewise.
+ * src/lib/vm/reference/gnu/java/lang/management: Likewise.
+ *
+ src/lib/vm/reference/gnu/java/lang/management/VMRuntimeMXBeanImpl.java:
+ New file.
+ * src/lib/Makefile.am (VM_JAVA_FILES): Added
+ src/lib/vm/reference/gnu/java/lang/management/VMRuntimeMXBeanImpl.java.
+ (VM_CLASS_FILES): Added
+ classes/gnu/java/lang/management/VMRuntimeMXBeanImpl.class.
+ (vm.zip, nozip): Removed ecj check.
+
+ * src/native/vm/gnu_java_lang_management_VMRuntimeMXBeanImpl.c: New
+ file.
+ * src/native/vm/Makefile.am (libnativevm_la_SOURCES): Added
+ gnu_java_lang_management_VMRuntimeMXBeanImpl.c.
+
+ * src/native/include/.cvsignore: Added
+ gnu_java_lang_management_VMRuntimeMXBeanImpl.h.
+ * src/native/include/Makefile.am
+ (ADDITIONAL_IMPLEMENTED_VM_CLASSES_HEADER_FILES): Added
+ gnu_java_lang_management_VMRuntimeMXBeanImpl.h.
+
+ * src/native/native.c
+ (native/include/gnu_java_lang_management_VMRuntimeMXBeanImpl.h):
+ Added.
+ (dummynativetable): Added
+ Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getInputArguments
+ and Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getStartTime.
+
+2006-07-02 18:24 twisti
+
+ * m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Add -1.5 option when using ecj.
+
+2006-07-02 11:00 twisti
+
+ * m4/ac_prog_javac.m4 (AC_PROG_JAVAC): Added bootclasspath to compiler
+ checks.
+
+2006-07-02 10:42 twisti
+
+ * src/vm/jit/mips/asmpart.S (asm_abstractmethoderror): New function.
+
+2006-06-28 22:47 twisti
+
+ * NEWS: Added new release.
+
+2006-06-28 22:38 twisti
+
+ * src/lib/vm/reference/java/lang/VMThread.java: Updated to GNU
+ Classpath version.
+
+2006-06-28 21:52 twisti
+
+ * src/vm/jit/powerpc/asmpart.S (asm_abstractmethoderror): New
+ function.
+
+2006-06-28 21:51 twisti
+
+ * src/vm/exceptions.c (exceptions_handle_exception): Typo.
+
+2006-06-28 21:46 twisti
+
+ * src/vm/linker.c (link_class_intern): Fixed compiler warning, added
+ comment.
+ (linker_addinterface): Fixed compiler warning.
+
+2006-06-28 21:44 edwin
+
+ * src/vm/linker.c (link_class_intern): Converted the check against
+ creating a stubroutine twice into an assert. The check became
+ obsolete because abstract methods do no longer get compiler stubs.
+
+2006-06-28 21:01 edwin
+
+ * src/vm/linker.c (link_class_intern): Do not generate compiler
+ stubs for abstract methods.
+
+2006-06-28 20:33 edwin
+
+ * src/vm/jit/intrp/codegen.c (intrp_codegen): Changed MethodPointer
+ in method header to CodeinfoPointer.
+ (intrp_createcompilerstub): Likewise.
+ (intrp_createnativestub): Likewise.
+ (createcalljavafunction): Likewise.
+
+ * src/vm/jit/intrp/asmpart.c (intrp_asm_handle_exception):
+ Changed MethodPointer in method header to CodeinfoPointer.
+
+2006-06-28 19:43 twisti
+
+ * src/vm/exceptions.c (exceptions_asm_new_abstractmethoderror): New
+ function.
+ * src/vm/exceptions.h (exceptions_asm_new_abstractmethoderror): Added.
+
+ * src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Use
+ exceptions_asm_new_abstractmethoderror.
+ * src/vm/jit/i386/asmpart.S (asm_abstractmethoderror): Likewise.
+
+2006-06-28 19:11 twisti
+
+ * src/vm/utf8.c (utf_java_lang_AbstractMethodError): Added.
+ (utf8_init): Initialize utf_java_lang_AbstractMethodError.
+ * src/vm/utf8.h (utf_java_lang_AbstractMethodError): Added.
+
+ * src/vm/class.c (class_java_lang_AbstractMethodError): Added.
+ (class_resolveclassmethod): Use exceptions_throw_abstractmethoderror.
+ * src/vm/class.h (class_java_lang_AbstractMethodError): Added.
+
+ * src/vm/exceptions.c (exceptions_init): Initialize
+ class_java_lang_AbstractMethodError.
+ (exceptions_new_abstractmethoderror): New function.
+ (exceptions_throw_abstractmethoderror): Likewise.
+ * src/vm/exceptions.h (exceptions_new_abstractmethoderror)
+ (exceptions_throw_abstractmethoderror): Added.
+
+ * src/vm/resolve.c (resolve_method_invokespecial_lookup): Use
+ exceptions_throw_abstractmethoderror.
+
+ * src/vm/jit/asmpart.h (asm_abstractmethoderror): Added.
+
+ * src/vm/jit/i386/asmpart.S (asm_abstractmethoderror): New function.
+ * src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Likewise.
+
+ * src/vm/linker.c (link_class_intern): Fill empty slots in vftbl with
+ the AbstractMethodError stub.
+ (linker_addinterface): Insert the AbstractMethodError stub if no
+ suitable method was found.
+
+ * src/cacaoh/headers.c (asm_abstractmethoderror): Added.
+ (exceptions_throw_abstractmethoderror): Likewise.
+
+2006-06-28 17:05 twisti
+
+ * src/vm/jit/jit.h (JITDATA_FLAG_INSTRUMENT)
+ (JITDATA_HAS_FLAG_INSTRUMENT): Likewise.
+ (ICMD_OPCODE_MASK, ICMD_CONDITION_MASK): Removed.
+
+ * src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
+ Removed ICMD_OPCODE_MASK.
+
+ * src/vm/jit/show.c (show_icmd): Commented conditional stuff, maybe I
+ need it again someday.
+
+ * src/vm/jit/x86_64/emit.c (emit_store): Likewise.
+ (emit_cmovxx): Likewise.
+ * src/vm/jit/codegen-common.c (codegen_reg_of_var): Likewise.
+
+2006-06-28 15:39 twisti
+
+ * src/vm/jit/x86_64/md.c [ENABLE_THREADS] (threads/native/threads.h):
+ Added.
+ (md_signal_handler_sigusr2): New function.
+ (thread_restartcriticalsection): Code cleanup.
+
+2006-06-28 08:24 twisti
+
+ * src/scripts/.cvsignore: Removed cacao, jarsigner, javac and keytool.
+ * src/scripts: Updated svn:ignore.
+
+ * src/scripts/Makefile.am (bin_SCRIPTS): Removed jarsigner and
+ keytool, there are now wrappers in GNU Classpath.
+
+ * src/scripts/javac.in: Removed.
+ * src/scripts/jarsigner.in: Likewise.
+ * src/scripts/cacao.in: Likewise.
+ * src/scripts/keytool.in: Likewise.
+
+ * configure.ac (AC_CONFIG_FILES): Removed src/scripts/jarsigner and
+ src/scripts/keytool.
+
+2006-06-23 12:07 twisti
+
+ * src/vm/string.c (javastring_toutf): Check for NULL and return
+ utf_null.
+ (literalstring_u2): Replaced list_addfirst with list_add_first.
+
+ * src/vm/builtin.h (BUILTIN_MONITOR_ENTER, BUILTIN_MONITOR_EXIT):
+ Defined.
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Don't use
+ BUILTIN_staticmonitorenter, use JITDATA_HAS_FLAG_VERBOSECALL instead
+ of opt_verbosecall.
+ (createnativestub): Likewise.
+
+ * src/vm/jit/code.c: Smaller changes.
+
+ * src/vm/jit/code.h (codeinfo): Added optlevel.
+
+ * src/vm/jit/Makefile.am (libjit_la_SOURCES): Added recompile.[ch].
+ * src/vm/jit/recompile.c: New file.
+ * src/vm/jit/recompile.h: Likewise.
+
+ * src/vm/jit/show.c (new_show_method, show_method)
+ (new_show_basicblock, show_basicblock): Use
+ JITDATA_HAS_FLAG_SHOWDISASSEMBLE instead of opt_showdisassemble.
+
+ * src/vm/jit/profile/profile.c (vm/jit/jit.h): Added.
+ (list_method_entry): Moved to src/vm/jit/recompile.h.
+ (profile_thread): First real implementation.
+ (profile_start_thread): Better code.
+ (profile_printstats): Use codeinfo frequencies.
+
+ * src/vm/jit/jit.c (jit_compile): Set jd->flags properly. Moved
+ codeinfo memory freeing before dump_release because we need jd, which
+ is allocated on dump memory.
+ (jit_recompile): New function.
+ (jit_compile_intern): Use jd->flags.
+
+ * src/vm/jit/codegen-common.c (codegen_createnativestub): Set
+ jd->flags.
+
+ * src/vm/jit/jit.h (JITDATA_FLAG_PARSE, JITDATA_FLAG_VERIFY)
+ (JITDATA_FLAG_SHOWINTERMEDIATE, JITDATA_FLAG_SHOWDISASSEMBLE)
+ (JITDATA_FLAG_VERBOSECALL): Added.
+ (JITDATA_HAS_FLAG_PARSE, JITDATA_HAS_FLAG_VERIFY)
+ (JITDATA_HAS_FLAG_IFCONV, JITDATA_HAS_FLAG_SHOWINTERMEDIATE)
+ (JITDATA_HAS_FLAG_SHOWDISASSEMBLE, JITDATA_HAS_FLAG_VERBOSECALL):
+ Likewise.
+ (jit_recompile): Likewise.
+
+ * src/vm/vm.c (vm/jit/recompile.h): Added.
+ (vm_create): Call recompile_init and recompile_start_thread.
+
+ * src/toolbox/list.h (config.h, vm/types.h, vm/global.h): Added.
+ (list): Added lock.
+ (list_init): Renamed to list_create.
+ (list_addfirst): Renamed to list_add_first.
+ (list_addlast): Renamed to list_add_last.
+ (list_add_last_unsynced): New function.
+
+ * src/toolbox/list.c (mm/memory.h, threads/native/threads.h)
+ (vm/builtin.h): Added.
+ (list_init): Renamed to list_create.
+ (list_addfirst): Renamed to list_add_first and made synchronized.
+ (list_addlast): Likewise.
+ (list_add_last_unsynced): Likewise.
+ (list_add_before): Made synchronized.
+ (list_remove): Likewise.
+ (list_first): Likewise.
+ (list_last): Likewise.
+ (list_next): Likewise.
+ (list_prev): Likewise.
+
+ * src/vm/suck.c (suck_init): Replaced list_init with list_create.
+ (suck_add): Replaced list_addlast with list_add_last.
+
+ * src/vm/loader.c (load_constantpool): Replaced list_addfirst with
+ list_add_first.
+ (load_newly_created_array): Likewise.
+
+ * src/vm/properties.c (properties_init): Replaced list_init with
+ list_create.
+ (properties_add): Use list_add_last_unsynced, as this is required
+ during bootstrapping.
+
+ * src/threads/native/threads.h (THREAD_FLAG_JAVA)
+ (THREAD_FLAG_INTERNAL): Added.
+ (threadobject): Added flags.
+
+ * src/threads/native/threads.c (threads_init): Flag main thread as
+ Java thread (required for profiling sampling).
+ (threads_startup_thread): Flag threads as Java or internal thread.
+
+2006-06-23 09:23 twisti
+
+ * src/vm/linker.c (vm/vm.h): Added.
+
+2006-06-22 18:48 twisti
+
+ * src/vm/utf8.c, src/vm/utf8.h (utf_null): Added.
+
+2006-06-22 14:39 twisti
+
+ * src/vm/utf8.c (utf8_init): Compile fix with ENABLE_STATISTICS.
+
+2006-06-21 16:29 ajordan
+
+ * configure.ac: Added support for compiling on sparc64
+
+ * src/vm/jit/Makefile.am: Added sparc64 subdirectory
+
+ * src/vm/jit/sparc64/*: Added files for the sparc64 JIT (which won't
+ compile yet)
+
+2006-06-21 08:30 twisti
+
+ * src/vm/jit/mips/linux/.cvsignore: Added TAGS.
+
+2006-06-20 15:50 twisti
+
+ * src/vm/jit/mips/codegen.c (codegen): Use codeinfo instead of
+ methodinfo.
+ (createcompilerstub): Likewise.
+ (createnativestub): Likewise.
+
+ * src/vm/jit/mips/asmpart.S (asm_vm_call_method): Likewise.
+
+2006-06-20 11:55 twisti
+
+ * src/vm/jit/alpha/codegen.c (codegen): Use codeinfo instead of
+ methodinfo.
+ (createcompilerstub): Likewise.
+ (createnativestub): Likewise.
+
+ * src/vm/jit/alpha/asmpart.S (asm_vm_call_method): Likewise.
+
+2006-06-20 09:10 twisti
+
+ * src/vm/jit/x86_64/codegen.c (codegen): Use codeinfo instead of
+ methodinfo.
+ (createcompilerstub): Likewise.
+ (createnativestub): Likewise.
+
+ * src/vm/jit/x86_64/asmpart.S (asm_vm_call_method): Likewise.
+
+2006-06-19 22:53 twisti
+
+ * src/vm/jit/i386/codegen.c (codegen): Use codeinfo instead of
+ methodinfo.
+ (createcompilerstub): Likewise.
+ (createnativestub): Likewise.
+
+ * src/vm/jit/i386/asmpart.S (asm_vm_call_method): Likewise.
+
+2006-06-19 22:23 twisti
+
+ * src/threads/native/threads.h (threadobject): Added pc.
+
+2006-06-19 22:22 twisti
+
+ * src/vm/jit/methodheader.h (MethodPointer): Removed.
+ (CodeinfoPointer): Added.
+
+ * src/vm/method.c (method_vftbl_lookup): Use CodeinfoPointer.
+
+ * src/vm/jit/powerpc/codegen.c (codegen): Use codeinfo instead of
+ methodinfo.
+ (createcompilerstub): Likewise.
+ (createnativestub): Likewise.
+
+ * src/vm/jit/powerpc/asmpart.S: Likewise.
+
+ * src/vm/jit/stacktrace.c (stacktrace_create_stackframeinfo):
+ Likewise.
+ (stacktrace_create_native_stackframeinfo): Likewise.
+ (stacktrace_add_method): Likewise.
+ (stacktrace_create): Likewise.
+
+ * src/vm/exceptions.c (exceptions_handle_exception): Likewise.
+
+ * src/vm/jit/codegen-common.c (codegen_findmethod): Define for all
+ architectures. Removed assert, we have to check that somewhere else.
+ (codegen_finish): Add the method for all architectures.
+
+ * src/vm/jit/codegen-common.h (methodtree_element): Likewise.
+
+ * src/vm/jit/profile/profile.c (profile_thread): First implementation.
+ * src/vm/jit/profile/profile.h (vm/global.h): Added.
+
+ * src/vm/signal.c (signal_init): Install SIGUSR2 for profiling.
+ * src/vm/signallocal.h (md_signal_handler_sigusr2): Added.
+ * src/vm/jit/powerpc/linux/md-os.c (md_signal_handler_sigusr2): New
+ method.
+
+ * src/vm/vm.c (vm_create): Call profile_start_thread only with
+ opt_prof.
+
+ * src/cacaoh/headers.c (exceptions_throw_nosuchmethoderror): Added.
+
+2006-06-19 21:39 twisti
+
+ * src/vm/class.c (class_resolveinterfacemethod_intern): Smaller
+ changes.
+ (class_resolveclassmethod): Likewise.
+
+2006-06-19 21:04 twisti
+
+ * src/vm/linker.c (link_class_inter): Smaller changes.
+ (linker_addinterface): Likewise, added some comments about checks we
+ should do.
+
+2006-06-19 21:00 twisti
+
+ * src/vm/jit/powerpc/patcher.c (assert.h): Added.
+ (patcher_invokeinterface): Added XXX comments.
+
+2006-06-19 20:51 twisti
+
+ * configure.ac (profiling): Disable by default.
+
+2006-06-19 12:36 twisti
+
+ * src/native/jni.c (AttachCurrentThread): Removed dummy
+ implementation.
+ (GetEnv): Use switch instead of if's.
+
+2006-06-14 18:55 motse
+
+ * src/native/native.c (native_resolve_function): fix/add to my last
+ incomplete commit.
+
+2006-06-14 18:36 motse
+
+ * src/vm/loader.c (load_class_from_classloader): Add call to jvmti
+ Class Load and Prepare event.
+
+ * src/native/jni.c (RegisterNatives): Add comment for calling jvmti
+ Native Method Bind event.
+
+ * src/native/vm/VMClassLoader.c (defineClass): Add call to jvmti
+ Class File Load Hook event.
+
+ * src/native/vm/VMObject.c (wait): Add call to jvmti Monitor Wait
+ and Waited event.
+
+ * src/native/native.c (native_resolve_function): Add call to jvmti
+ Native Method Bind event.
+
+ * src/native/jvmti/cacaodbg.c (jvmti_ClassFileLoadHook): new function
+ to supprt event.
+ (jvmti_ClassLoadPrepare): idem
+ (jvmti_MonitorContendedEntering): idem
+ (jvmti_MonitorWaiting): idem
+ (jvmti_ThreadStartEnd): idem
+ (jvmti_NativeMethodBind): idem
+
+ * src/native/jvmti/cacaodbg.h: Add function headers for
+ jvmti_ClassFileLoadHook, jvmti_ClassLoadPrepare,
+ jvmti_MonitorContendedEntering, jvmti_MonitorWaiting,
+ jvmti_ThreadStartEnd, jvmti_NativeMethodBind.
+
+ * src/native/jvmti/jvmti.c (execute_callback): Add support for Class
+ File Load Hook event.
+ (GetOwnedMonitorInfo): Adapt lock record iteration to new
+ data structure.
+ (GetCurrentContendedMonitor): idem
+
+ * src/threads/native/lock.c (lock_monitor_enter): Add call to jvmti
+ Monitor Contended Enter and Entered event
+
+ * src/threads/native/threads.c (threads_startup_thread): replace
+ breakpoint by direct call to jvmti Thread Start/End event
+
+ * src/cacaoh/headers.c add dummy functions jvmti_ThreadStartEnd,
+ jvmti_ClassLoadPrepare and jvmti_MonitorContendedEntering
+
+2006-06-13 10:41 twisti
+
+ * src/lib/vm/reference/java/lang/VMThread.java: Updated and removed
+ our old thread variables.
+ * src/native/include/java_lang_VMThread.h: Regenerated.
+
+2006-06-12 21:34 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyze): Fixed warnings about
+ directive in macro argument.
+
+2006-06-12 21:27 edwin
+
+ * src/vm/jit/show.c (new_show_basicblock): Fixed warnings.
+ (new_show_stackvar): Likewise.
+
+2006-06-12 21:14 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Set dst field for IINC.
+
+ * src/vm/jit/show.c (new_show_method): Use jitdata.new_rd.
+ Only show locals and interfaces if available.
+ (new_show_basicblock): Changed basicblock output format.
+ (new_show_stackvar): Copied&pasted full stackvar printing.
+ (new_show_icmd): Show some more ICMD operands.
+
+ * src/vm/jit/allocator/simplereg.c (new_reg_mark_copy): Fixed
+ bug for the case nthrough != 0.
+
+2006-06-12 18:50 edwin
+
+ * src/vm/jit/allocator/simplereg.h, src/vm/jit/allocator/simplereg.c
+ (new_regalloc): New function for new instruction format.
+ (new_allocate_scratch_registers): Likewise.
+
+ * src/vm/jit/show.c (new_show_stackvar): Show allocated register
+ for stage SHOW_REGS and above.
+
+ * src/vm/jit/jit.h (jitdata): Added field new_rd for testing the
+ new simplereg allocator.
+
+2006-06-12 14:23 edwin
+
+ * src/vm/jit/stack.c (new_stack_analyse): Fixed new stack analysis
+ for ICMD_JSR.
+
+ * src/vm/jit/show.c (new_show_icmd): Show operands of new instruction
+ format.
+ (new_show_basicblock): Removed obsolete stack display.
+
+2006-06-10 14:53 edwin
+
+ * src/vm/jit/stack.c (IF_INTRP): New macro.
+ (IF_JIT): New macro.
+ (STATISTICS_STACKDEPTH_DISTRIBUTION): New macro.
+ (new_stack_analyse): New function. Implemented stack analysis for
+ new instruction format. (Not used, yet.)
+
+ * src/vm/jit/stack.h (NEWSTACK): Enclosed in do { } while(0).
+
+ * src/vm/jit/show.h, src/vm/jit/show.c (new_show_method): New
+ function.
+ (new_show_basicblock): New function.
+ (new_show_icmd): New function.
+
+ * src/vm/jit/parse.c (new_fillextable): New function.
+ (parse): Parsing of JSR changed. Fixed bptr->icount setting.
+
+ * src/vm/jit/jit.h (new_instruction): New field s3.jsrtarget.
+ New field dst.dupslots.
+
+2006-06-08 07:26 twisti
+
+ * tests/regression/codepatching/test.java (aastoreconst): Fixed skip
+ case.
+
+2006-06-07 12:51 twisti
+
+ * src/vm/suck.c (suck_add_from_property): Always set namelist to NULL
+ before scandir.
+
+2006-06-07 12:19 twisti
+
+ * src/vm/global.h (bool): Changed to `unsigned int', as the MIPS Pro
+ compiler complains about signed bit fields. And I think that warning
+ is really ok.
+
+ * src/vm/suck.c (scandir_filter): Changed the signature define, as
+ only linux seems to use const.
+
+2006-06-07 12:10 twisti
+
+ * src/vm/suck.c (suck_add_from_property): Check for scandir return
+ value in error case, as on some systems, like Linux, it returns NULL.
+
+2006-06-06 21:13 motse
+
+ src/native/vm/VMVirtualMachine.c (unregisterEvent): print error
+ message
+
+ src/native/jvmti/cacaodbg.c (jvmti_cacao_debug_init): set variable
+ jvmti
+
+ src/native/jvmti/VMjdwp.c: add jmethodID and jclass cache variables.
+ Add new callback functions to jvmti_jdwp_EventCallbacks
+ (ThreadStart/ThreadEnd/ClassPrepare/Breakpoint): add
+ ThreadStart/ThreadEnd event callbackes implementation who notify jdwp.
+ (Exception/MethodEntry): dummy implementation. There are no jdwp
+ exeception/MethodEntry events in gnu classpath yet.
+ (setup_jdwp_thread): use cache variables.
+ FINDCLASSWITHEXCEPTION/GETMIDWITHEXCEPTION: helper macros to ease
+ jni findclass and getmethodid.
+ (fillidcache): new function that fills valid jmethodIDs and jclasses
+ in the cache variables.
+ (VMInit): add call to fillidcache.
+ (Agent_OnLoad): do not enable all jvmti callbacks anymore. Only
+ enable needed VMInit callback. The other callbacks will be enable
+ with VMVirtualMachine.registerEvent by need.
+
+ src/native/jvmti.c (dofireEvent): check if a valid event callback is
+ available before executing it.
+ (SetEventNotificationMode): ThreadStart/End event are no more
+ implemented as breakpoints but have direct function calls to
+ dofireEvent.
+ (SuspendThread/ResumeThread/getcacaostacktrace): sketch for further
+ implementation of this function. Final threads_suspend* functions are
+ not yet available.
+ (GetArgumentsSize): new implementation using parsed descriptors.
+ (GetMethodLocation): add checks for JVMTI_ERROR_NATIVE_METHOD
+ (Samuel Vinson). And return -1 as return values for this dummy
+ implementation.
+ (GetJLocationFormat): JLocationFormat probably will be
+ JVMTI_JLOCATION_OTHER
+
+ src/native/jvmti/VMjdwp.h: add jdwpthread which stores the thread
+ object for the jdwp listening thread.
+
+ src/threads/native/threads.h: remove jvmti_get_threads_breakpoints
+ beacause ThreadStart/End events are implemented as direct function
+ calls by now.
+
+ src/threads/native/threads.c (threads_startup_thread): replace
+ ThreadStart/End event implementation.
+ (jvmti_get_threads_breakpoints): removed.
+
+ src/cacaoh/headers.c (jvmti_fireEvent): added dummy implementation to
+ enable linking of cacaoh.
+
+2006-06-06 18:51 twisti
+
+ * tests/regression/extest.java: Get the maximum heap size and use it
+ for OOM checks.
+ * tests/regression/extest.2output: Updated.
+
+2006-06-06 18:05 twisti
+
+ * src/vm/jit/alpha/arch.h (SUPPORT_LONG_DIV_POW2)
+ (SUPPORT_LONG_REM_POW2): Added, as we probably support these two
+ instructions while the architecture does not support long division.
+ * src/vm/jit/i386/arch.h: Likewise.
+ * src/vm/jit/mips/arch.h: Likewise.
+ * src/vm/jit/powerpc/arch.h: Likewise.
+ * src/vm/jit/x86_64/arch.h: Likewise.
+
+ * src/vm/jit/stack.c (stack_analyse): Use SUPPORT_LONG_DIV_POW2 and
+ SUPPORT_LONG_REM_POW2 instead of SUPPORT_LONG_DIV.
+
+2006-06-06 14:32 michi
+
+ * doc/handbook/arm.tex: Added.
+ * doc/handbook/arm-double-memory.png: Image describing doubles in
+ memory.
+ * doc/handbook/cacao.tex, doc/handbook/Makefile.am: Added arm.tex.
+
+2006-06-06 13:13 twisti
+
+ * tests/regression/Makefile.am (JAVAFLAGS): Use flat vm classes and
+ CLASSPATH_GLIBJ_ZIP.
+ * tests/regression/codepatching/Makefile.am: Likewise.
+ * tests/regression/native/Makefile.am: Likewise.
+
+2006-06-06 12:17 twisti
+
+ * .externalToolBuilders/CacaoConfigure.launch: Updated to new
+ configure options.
+
+2006-06-06 11:22 twisti
+
+ * configure.ac (VM_ZIP_STRING): Removed.
+ (--with-vm-zip): Added.
+ (--with-classpath-glibj-zip): Added.
+ (--with-flat-classpath): Removed.
+
+ * contrib/setenvinstalled.in (BOOTCLASSPATH): Use hardcoded vm.zip and
+ @CLASSPATH_GLIBJ_ZIP@.
+ * contrib/setenvsource.in: Likewise.
+
+ * src/vm/global.h (CACAO_VM_ZIP_PATH): Removed.
+ (CLASSPATH_GLIBJ_ZIP_PATH): Likewise.
+ * src/vm/vm.c (CACAO_VM_ZIP_PATH): Replaced with CACAO_VM_ZIP.
+ (CLASSPATH_GLIBJ_ZIP_PATH): Replaced with CLASSPATH_GLIBJ_ZIP.
+ * src/cacaoh/cacaoh.c: Likewise.
+
+ * src/lib/Makefile.am (GLIBJ_ZIP): Removed and replaced with
+ CLASSPATH_GLIBJ_ZIP.
+ * src/native/include/Makefile.am (VM_ZIP): Removed and replaced with
+ flat classes in builddir.
+ (GLIBJ_ZIP): Removed and replaced with CLASSPATH_GLIBJ_ZIP.
+ * src/native/Makefile.am: Likewise.
+
+2006-06-01 22:53 edwin
+
+ * src/vm/jit/stack.h (NEW_CHECKOVERFLOW): New macro.
+
+2006-06-01 22:52 edwin
+
+ * src/vm/jit/parse.c (new_parse): Use temporary fields in jitdata,
+ instead of methodinfo fields. Check exceptions for MONITORENTER/EXIT.
+ Cleaned up.
+
+2006-06-01 22:49 edwin
+
+ * src/vm/jit/parse.h (new_block_insert): New macro.
+
+2006-06-01 22:46 edwin
+
+ * src/vm/jit/jit.h (jitdata): Added temporary fields for development
+ of new instruction format.
+ (NEW_INSTRUCTION_GET_METHODDESC): New macro.
+
+2006-06-01 16:00 edwin
+
+ * src/vm/resolve.c (new_resolve_field_lazy): New method. This will
+ become the resolve_field_lazy for the new instruction format.
+ (new_resolve_method_lazy): New method. This will
+ become the resolve_method_lazy for the new instruction format.
+ (new_create_unresolved_field): New method. This will
+ become the create_unresolved_field for the new instruction format.
+ (new_create_unresolved_method): New method. This will
+ become the create_unresolved_method for the new instruction format.
+
+ * src/vm/jit/parse.c (new_parse): Further work for new format.
+
+ * src/vm/jit/jit.h (NEW_INSTRUCTION_GET_FIELDREF): New macro.
+ (NEW_INSTRUCTION_GET_METHODREF): New macro.
+
+2006-06-01 15:09 edwin
+
+ * src/vm/jit/jit.c (jcommandsize): Reformatted prettily. Use comments
+ instead of duplicated #defines.
+
+2006-06-01 14:36 edwin
+
+ * src/vm/jit/jit.h (ICMD_CHECKNULL_POP): New ICMD.
+ * src/vm/jit/jit.c (ICMD_CHECKNULL_POP): Likewise.
+
+ * src/vm/jit/parse.c (new_parse): Further work on parsing for new
+ instruction format. Zero flags where necessary. Clarify policy of
+ at most one instruction per byte of original bytecode. Use the new
+ ICMD_CHECKNULL_POP for MONITORENTER/EXIT without threads.
+
+2006-06-01 13:00 edwin
+
+ * src/vm/jit/parse.h: Reworked and documented macros for new
+ instruction set.
+
+2006-05-31 23:18 edwin
+
+ * src/vm/jit/jit.h: Whitespace cleanup and comments.
+
+2006-05-31 23:03 edwin
+
+ * src/vm/jit/parse.c (parse): Removed unnecessary variable `s4ptr`.
+
+2006-05-31 22:56 edwin
+
+ * src/vm/jit/parse.c (new_parse): Implement LOOKUPSWITCH and
+ TABLESWITCH for the new instruction format.
+
+ * src/vm/jit/jit.h (branch_target_t): New union.
+ (lookup_target_t): New struct.
+ (s3_operand_t): lookupdefault is now a branch_target_t.
+ (dst_operand_t): Changed some field names and types.
+
+2006-05-31 22:07 twisti
+
+ * src/native/jvmti/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
+ (LIBS): Added, required for darwin.
+ (libjdwp_la_SOURCES): Removed trailing \.
+
+2006-05-31 21:31 edwin
+
+ * src/vm/jit/ifconv/ifconv.c (show.h): Include this instead of
+ stack.h.
+ * src/vm/jit/verify/typecheck.c (show.h): Likewise.
+ * src/vm/jit/inline/inline.c (show.h): Include.
+ * src/vm/jit/jit.c (show.h): Include.
+
+2006-05-31 21:10 edwin
+
+ * src/vm/jit/show.c (show_init): Do not define this function for
+ NDEBUG.
+
+2006-05-31 20:28 edwin
+
+ * src/vm/jit/show.h: New file.
+ * src/vm/jit/show.c: New file.
+
+ * src/vm/jit/stack.h (stack_show_method): Moved to show.h, renamed to
+ show_method.
+ (stack_show_basicblock): Moved to show.h, renamed to show_basicblock.
+ (stack_show_icmd): Moved to show.h, renamed to show_icmd.
+
+ * src/vm/jit/stack.c (lock_stack_show_icmd): Moved to show.c, renamed
+ to show_global_lock.
+ (stack_show_method): Moved to show.c, renamed to show_method.
+ (stack_show_basicblock): Moved to show.c, renamed to show_basicblock.
+ (stack_show_icmd): Moved to show.c, renamed to show_icmd.
+ (stack_init): This function is now empty.
+
+ * src/vm/jit/ifconv/ifconv.c (stack_show_basicblock): Renamed to
+ show_basicblock.
+
+ * src/vm/jit/inline/inline.c (stack_show_method): Renamed to
+ show_method.
+ (stack_show_icmd): Renamed to show_icmd.
+
+ * src/vm/jit/inline/inline_debug.inc (stack_show_icmd): Renamed to
+ show_icmd.
+
+ * src/vm/jit/jit.c (jit_init): Call show_init.
+ (stack_show_method): Renamed to show_method.
+
+ * src/vm/jit/Makefile.am (show.c): Added.
+ (show.h): Added.
+
+ * src/threads/native/lock.h (pthread.h): Included.
+
+2006-05-31 19:25 edwin
+
+ * src/vm/jit/jit.h (s3_operant_t): Typo fixed to s3_operand_t.
+ Thanks, twisti.
+
+2006-05-31 13:53 motse
+
+ src/native/vm/VMVirtualMachine.c (suspendThread): print error message
+ with printjvmtierror
+ (resumeThread): idem
+ (getAllLoadedClassCount): idem
+ (getAllLoadedClasses): idem
+ (getClassStatus): idem
+ (getAllClassMethods): idem
+ (getFrameCount): idem
+ (getThreadStatus): idem
+ (getSourceFile): idem
+ (registerEvent): idem
+
+ src/native/vm/VMMethod.c (printjvmtierror): new helper function for
+ getting and print error messages
+ (getName): print error message with printjvmtierror, remove
+ signature, generic signature
+ (getSignature): print error message with printjvmtierror, remove
+ name, generic signature
+ (getModifiers): print error message with printjvmtierror
+ (getlinetable): idem
+ (fillVariableTable): new function for converting
+ jvmtiLocalVariableEntry to arguments for
+ gnu.classpath.jdwp.util.VariableTable constructor
+ (getVariableTable): new implementation. tries to get local variable
+ table and return gnu.classpath.jdwp.util.VariableTable.
+
+ src/native/include/Makefile.am: add VariableTable
+
+ src/native/jvmti/VMjdwp.c (printjvmtierror) new function (duplicate)
+ - this is a work around
+ (VMInit): print error message with printjvmtierror
+
+ src/native/jvmti/jvmti.c (InterruptThread): new implentation
+ (GetThreadInfo): switch form using javastring_tochar (uses malloc)
+ to javastring_toutf/utf_sprint_convert_to_latin1
+ (GetOwnedMonitorInfo): fix error handling
+ (GetFrameLocation): idem
+ (DestroyRawMonitor): use heap_free
+ (GetClassSignature): fix error handling
+ (GetSourceFileName): use utf_bytes
+ (GetFieldName): fix error handling
+ (GetFieldDeclaringClass): add error handling
+ (GetFieldModifiers): idem
+ (GetMethodName): fix error handling
+ (GetClassLoaderClasses): idem
+ (GenerateEvents): add CHECK_CAPABILITY
+ can_generate_compiled_method_load_events
+
+ src/native/jvmti/VMjdwp.h add printjvmtierror
+
+2006-05-31 13:10 twisti
+
+ * src/vm/jit/x86_64/md-emit.h (IS_IMM8, IS_IMM32): Removed.
+ * src/vm/jit/emit.h (IS_IMM8, IS_IMM32): Added.
+
+2006-05-31 12:33 twisti
+
+ * src/vm/jit/x86_64/emit.c: Use new emit methods, saves about 6k code
+ size.
+ (emit_membase32): New method.
+ (emit_memindex): Likewise.
+ * src/vm/jit/x86_64/md-emit.h (emit_membase32): Removed.
+ (emit_memindex): Likewise.
+
+2006-05-30 23:38 edwin
+
+ * src/vm/jit/parse.c (new_parse): Worked on implementing parsing for
+ the new instruction format. (Not used, yet.)
+ * src/vm/jit/parse.h: Likewise.
+
+ * src/vm/jit/jit.h (INS_FLAG_UNRESOLVED, INS_FLAG_CLASS)
+ (INS_FLAG_ARRAY, INS_FLAG_NOCHECK): Added flag constants for new
+ instruction format.
+
+2006-05-30 12:24 edwin
+
+ * src/vm/jit/parse.h (new_instruction): Moved `bte` field to s3.
+ * src/vm/jit/jit.h: Likewise.
+
+2006-05-29 23:59 edwin
+
+ * src/vm/jit/jit.h (subroutineinfo): Removed unused typedef.
+
+2006-05-29 23:47 edwin
+
+ * src/vm/jit/parse.h: New macros for new instruction format (not
+ used,
+ yet).
+
+ * src/vm/jit/jit.h (new_instruction, ...): Further development of new
+ instruction format (not used, yet).
+
+2006-05-29 22:37 edwin
+
+ * src/vm/jit/parse.h: Reordered and commented macros. No functional
+ changes.
+ (Changes): Added my name.
+
+2006-05-29 21:48 edwin
+
+ * src/vm/jit/parse.c (new_parse): New function. This will become the
+ parse function for the new instruction format.
+ (parse): Removed obsolete variable `gp`. (Was used for old inlining).
+
+ * src/vm/jit/jit.h (jitdata): Added temporary fields
+ `new_instructions` and `new_instructioncount` for parallel
+ development of the new instruction format.
+
+2006-05-29 20:22 edwin
+
+ * src/vm/jit/jit.h (new_instruction): Committed the new instruction
+ struct (with name `new_instruction` so it can co-exist with the old
+ format `instruction`).
+ (resolve.h): Include for new instruction format.
+
+ * src/vm/resolve.h (typeinfo.h): Include to resolve dependencies.
+
+ * src/vm/jit/parse.h: Added a reminder comment.
+
+2006-05-29 19:28 twisti
+
+ * configure.ac (AC_INIT): Changed to 0.96+svn.
+ (CFLAGS): Changed to -O0.
+
+2006-05-29 18:53 twisti
+
+ * ChangeLog: Updated.
+