edwin [Sun, 29 Oct 2006 23:23:19 +0000 (23:23 +0000)]
* NEWS: Typo fixed.
edwin [Sun, 29 Oct 2006 16:21:38 +0000 (16:21 +0000)]
* src/vm/suck.c (stdlib.h): Include to avoid warning about `free`.
edwin [Sun, 29 Oct 2006 16:14:27 +0000 (16:14 +0000)]
* 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.
twisti [Sun, 29 Oct 2006 14:49:10 +0000 (14:49 +0000)]
* 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.
edwin [Sun, 29 Oct 2006 11:15:36 +0000 (11:15 +0000)]
* src/cacaoh/headers.c (vm_abort): Print the error message before
aborting.
twisti [Sat, 28 Oct 2006 19:40:58 +0000 (19:40 +0000)]
* NEWS: New news.
twisti [Sat, 28 Oct 2006 19:26:51 +0000 (19:26 +0000)]
* src/vm/jit/dseg.c (dseg_find_float): Compare hex value.
(dseg_find_double): Likewise.
twisti [Sat, 28 Oct 2006 17:45:05 +0000 (17:45 +0000)]
* NEWS: Added some stuff.
edwin [Sat, 28 Oct 2006 17:15:22 +0000 (17:15 +0000)]
* NEWS: Added news for CACAO 0.97.
edwin [Sat, 28 Oct 2006 16:55:29 +0000 (16:55 +0000)]
* 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.
edwin [Sat, 28 Oct 2006 16:51:12 +0000 (16:51 +0000)]
* 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.
edwin [Sat, 28 Oct 2006 15:21:45 +0000 (15:21 +0000)]
* src/vm/jit/stack.c (stackdata_t): Added field varsallocated.
(stack_grow_variable_array): Smarted memory allocation.
(stack_analyse): Initialize sd.varsallocated.
edwin [Sat, 28 Oct 2006 13:02:19 +0000 (13:02 +0000)]
* 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.
edwin [Sat, 28 Oct 2006 12:53:24 +0000 (12:53 +0000)]
* src/vm/loader.c (LOADER_ASSERT): Replaced with assert.
edwin [Sat, 28 Oct 2006 12:49:29 +0000 (12:49 +0000)]
* src/vm/class.c (CLASS_ASSERT): Replaced by assert.
edwin [Sat, 28 Oct 2006 12:47:45 +0000 (12:47 +0000)]
* src/vm/class.c (class_array_of): Release dump memory.
(class_multiarray_of): Likewise.
(class_get_classref_multiarray_of): Likewise.
twisti [Fri, 27 Oct 2006 10:41:02 +0000 (10:41 +0000)]
* 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.
edwin [Thu, 26 Oct 2006 16:41:07 +0000 (16:41 +0000)]
* src/vm/jit/alpha/codegen.c (codegen): Declare variables at the start
of codegen (uf, fi).
twisti [Thu, 26 Oct 2006 12:05:33 +0000 (12:05 +0000)]
* src/vm/jit/powerpc/codegen.c (codegen): Made fieldinfo and
unresolved_field fucntion variables, fieldtype was uninitialized for
PUTFIELD.
twisti [Thu, 26 Oct 2006 11:57:16 +0000 (11:57 +0000)]
* src/vm/jit/x86_64/codegen.c (codegen): Made fieldinfo and
unresolved_field function variables (it makes the code more readable).
edwin [Thu, 26 Oct 2006 11:47:43 +0000 (11:47 +0000)]
* 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.
twisti [Thu, 26 Oct 2006 11:35:04 +0000 (11:35 +0000)]
* NEWS: Added some 0.97 news.
twisti [Thu, 26 Oct 2006 11:30:02 +0000 (11:30 +0000)]
* 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.
edwin [Thu, 26 Oct 2006 11:29:42 +0000 (11:29 +0000)]
* 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.
edwin [Thu, 26 Oct 2006 11:23:00 +0000 (11:23 +0000)]
* src/vm/jit/dseg.c (dseg_addlinenumber_inline_start): Read inline
info from instruction, ported to new instruction format.
(dseg_addlinenumber_inline_end): Likewise.
edwin [Thu, 26 Oct 2006 11:19:54 +0000 (11:19 +0000)]
* src/vm/jit/show.c (show_icmd): Fixed warning fix.
edwin [Thu, 26 Oct 2006 11:18:08 +0000 (11:18 +0000)]
* src/threads/native/threads.c (threads_table_dump): Fix warning (the
function is currently unused, but may become handy again.)
edwin [Thu, 26 Oct 2006 11:15:09 +0000 (11:15 +0000)]
* src/vm/jit/show.c (show_method): Fixed warning.
(show_basicblock): Likewise.
(show_icmd): Likewise.
twisti [Thu, 26 Oct 2006 11:04:31 +0000 (11:04 +0000)]
* 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.
twisti [Thu, 26 Oct 2006 10:34:17 +0000 (10:34 +0000)]
* src/vm/jit/mips/md-abi.h: Fixed MIPS64 compilation and backported
some MIPS32 stuff.
twisti [Thu, 26 Oct 2006 10:09:11 +0000 (10:09 +0000)]
* 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).
twisti [Thu, 26 Oct 2006 09:55:52 +0000 (09:55 +0000)]
* src/vm/jit/mips/codegen.c (codegen): More comment and brace changes.
twisti [Thu, 26 Oct 2006 09:44:07 +0000 (09:44 +0000)]
* src/vm/jit/mips/codegen.c (codegen): Comment and brace changes.
twisti [Thu, 26 Oct 2006 09:29:23 +0000 (09:29 +0000)]
* 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.
tbfg [Wed, 25 Oct 2006 14:26:08 +0000 (14:26 +0000)]
* 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.
edwin [Tue, 24 Oct 2006 23:24:19 +0000 (23:24 +0000)]
* 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.
edwin [Tue, 24 Oct 2006 17:51:42 +0000 (17:51 +0000)]
* 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.
edwin [Tue, 24 Oct 2006 16:41:54 +0000 (16:41 +0000)]
* 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.
twisti [Tue, 24 Oct 2006 11:17:30 +0000 (11:17 +0000)]
* src/vm/jit/dseg.c (dseg_display): Rewritten.
ajordan [Sun, 22 Oct 2006 04:28:47 +0000 (04:28 +0000)]
* src/vm/jit/sparc64/codegen.h: fixed M_SAVE.
* src/vm/jit/sparc64/disass.c: configuring disass for big-endian.
ajordan [Sun, 22 Oct 2006 02:49:53 +0000 (02:49 +0000)]
* 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.
edwin [Sun, 22 Oct 2006 00:38:21 +0000 (00:38 +0000)]
* 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.
edwin [Sat, 21 Oct 2006 15:06:07 +0000 (15:06 +0000)]
* src/vm/jit/parse.c (parse): Bugfix for -noverify: Do not make the
variable array dependant on jd->flags, as this breaks stack_analyse.
twisti [Fri, 20 Oct 2006 18:35:32 +0000 (18:35 +0000)]
* 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.
twisti [Fri, 20 Oct 2006 14:53:27 +0000 (14:53 +0000)]
* 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.
twisti [Fri, 20 Oct 2006 14:26:50 +0000 (14:26 +0000)]
* src/vm/linker.c (link_class_intern): Handle AbstractMethodError for
interpreter (missed this one in the last commit).
twisti [Fri, 20 Oct 2006 14:22:23 +0000 (14:22 +0000)]
* 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.
twisti [Fri, 20 Oct 2006 13:58:30 +0000 (13:58 +0000)]
* src/native/vm/gnu_classpath_VMSystemProperties.c (preInit): Removed
unused ld_library_path.
twisti [Fri, 20 Oct 2006 13:54:54 +0000 (13:54 +0000)]
* 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.
twisti [Fri, 20 Oct 2006 13:09:54 +0000 (13:09 +0000)]
* 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.
twisti [Fri, 20 Oct 2006 12:00:18 +0000 (12:00 +0000)]
* src/vm/exceptions.c [ENABLE_JIT] (exceptions_handle_exception): Only
required for JIT.
ajordan [Fri, 20 Oct 2006 00:37:37 +0000 (00:37 +0000)]
* src/mm/memory.c: fixed typo in _no_threads_dumpinfo definition
twisti [Thu, 19 Oct 2006 10:10:23 +0000 (10:10 +0000)]
* 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.
twisti [Thu, 19 Oct 2006 09:32:29 +0000 (09:32 +0000)]
* 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.
twisti [Thu, 19 Oct 2006 09:27:24 +0000 (09:27 +0000)]
* src/threads/native/threads.h (threadobject, threads_table_entry_t)
(threads_table_t): Forward typedef.
(threadobject): Changed dumpinfo to dumpinfo_t.
twisti [Thu, 19 Oct 2006 09:25:41 +0000 (09:25 +0000)]
* 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.
twisti [Thu, 19 Oct 2006 09:23:26 +0000 (09:23 +0000)]
* src/vm/jit/powerpc/codegen.c (codegen): Warning fixes.
edwin [Wed, 18 Oct 2006 16:55:43 +0000 (16:55 +0000)]
* src/vm/jit/codegen-common.c (codegen_createnativestub): Initialize
jd->flags to zero.
edwin [Wed, 18 Oct 2006 16:27:41 +0000 (16:27 +0000)]
* tests/regression/jasmin/runtest: Removed debugging `tee TEST`.
* tests/regression/jasmin/Makefile.am (CLEANFILES): Added file TESTSIA.
edwin [Wed, 18 Oct 2006 16:19:21 +0000 (16:19 +0000)]
* tests/regression/jasmin/Makefile.am (SOURCE_FILES): Use EXTRA_DIST, instead.
edwin [Wed, 18 Oct 2006 15:57:10 +0000 (15:57 +0000)]
* src/vm/jit/i386/linux/Makefile.am (noinst_HEADERS): Added md-asm.h.
* src/vm/jit/i386/freebsd/Makefile.am (noinst_HEADERS): Likewise.
twisti [Wed, 18 Oct 2006 15:27:42 +0000 (15:27 +0000)]
* src/vm/jit/Makefile.am (DIST_SUBDIRS): Added powerpc64.
twisti [Wed, 18 Oct 2006 15:19:39 +0000 (15:19 +0000)]
* src/vm/jit/Makefile.am (DIST_SUBDIRS): Added optimizing.
twisti [Wed, 18 Oct 2006 15:14:11 +0000 (15:14 +0000)]
* src/vm/jit/sparc64/Makefile.am (libarch_la_SOURCES): Removed md.h.
twisti [Wed, 18 Oct 2006 15:09:56 +0000 (15:09 +0000)]
* src/vm/jit/i386/Makefile.am (libarch_la_SOURCES): Renamed md-emit.h
to emit.h.
twisti [Wed, 18 Oct 2006 15:04:27 +0000 (15:04 +0000)]
* configure.ac (AC_INIT): Changed to version 0.97rc.
(CFLAGS): Changed to -O2.
edwin [Wed, 18 Oct 2006 14:53:43 +0000 (14:53 +0000)]
* tests/regression/jasmin/Makefile.am: Temporarily disable failing
tests for the release.
edwin [Wed, 18 Oct 2006 14:53:05 +0000 (14:53 +0000)]
* src/vm/jit/stack.c (stack_analyse): Check field type when creating
a PUTFIELDCONST/PUTSTATICCONST instruction.
edwin [Mon, 16 Oct 2006 09:59:52 +0000 (09:59 +0000)]
* src/vm/jit/parse.c (parse_resolve_exception_table): Do not use
codegendata.
(parse): Likewise.
* src/vm/jit/stack.c (stack_analyse): Likewise.
twisti [Mon, 16 Oct 2006 09:02:40 +0000 (09:02 +0000)]
* src/vm/jit/allocator/simplereg.c [ENABLE_STATISTICS]
(simplereg_make_statistics): Don't print this INREGISTER stuff.
twisti [Mon, 16 Oct 2006 08:53:13 +0000 (08:53 +0000)]
* src/vm/jit/jit.c (jit_compile_intern) [ENABLE_STATISTICS]:
exceptiontablelength is now in jitdata.
ajordan [Mon, 16 Oct 2006 00:05:25 +0000 (00:05 +0000)]
* 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.
edwin [Sun, 15 Oct 2006 22:44:56 +0000 (22:44 +0000)]
* src/vm/linker.c (link_class_intern): Removed unused variable.
edwin [Sun, 15 Oct 2006 22:25:54 +0000 (22:25 +0000)]
* 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.
edwin [Sun, 15 Oct 2006 13:52:06 +0000 (13:52 +0000)]
* src/vm/jit/jit.h: Indentation cleanup.
edwin [Sun, 15 Oct 2006 13:37:46 +0000 (13:37 +0000)]
* src/vm/jit/jit.h (flags_operand_t): Removed `fields` struct. It was
not safe to use, as defined.
edwin [Sun, 15 Oct 2006 13:19:41 +0000 (13:19 +0000)]
* src/vm/jit/jit.h (flags_operand_t): Removed unused argcount.
(ACONST_LOAD): Removed.
(ACONST_BUILTIN): Removed.
edwin [Sun, 15 Oct 2006 12:59:04 +0000 (12:59 +0000)]
* 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.
edwin [Sun, 15 Oct 2006 12:20:15 +0000 (12:20 +0000)]
* 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.
twisti [Sat, 14 Oct 2006 19:12:58 +0000 (19:12 +0000)]
* src/native/jni.c (_Jv_JNI_DetachCurrentThread): Made
--disable-threads-safe.
edwin [Fri, 13 Oct 2006 18:29:03 +0000 (18:29 +0000)]
* tests/regression/jasmin/Makefile.am: Added new tests.
edwin [Fri, 13 Oct 2006 18:25:21 +0000 (18:25 +0000)]
* 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.
tbfg [Fri, 13 Oct 2006 17:06:39 +0000 (17:06 +0000)]
* 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.
edwin [Fri, 13 Oct 2006 16:30:57 +0000 (16:30 +0000)]
* 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.
edwin [Fri, 13 Oct 2006 16:06:18 +0000 (16:06 +0000)]
* src/vm/jit/codegen-common.c (codegen_reg_of_var): Removed `inline`
declaration. The crappy IRIX compiler does not create a global symbol
otherwise.
edwin [Fri, 13 Oct 2006 14:34:19 +0000 (14:34 +0000)]
* 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.
edwin [Fri, 13 Oct 2006 14:22:36 +0000 (14:22 +0000)]
* src/vm/jit/verify/generate.pl: Clearly mark generated code.
edwin [Fri, 13 Oct 2006 14:00:52 +0000 (14:00 +0000)]
* src/vm/jit/icmdtable.inc: Documented prettily.
edwin [Fri, 13 Oct 2006 13:11:09 +0000 (13:11 +0000)]
* 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.
edwin [Fri, 13 Oct 2006 12:49:25 +0000 (12:49 +0000)]
* 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.
edwin [Fri, 13 Oct 2006 12:47:03 +0000 (12:47 +0000)]
* src/vm/resolve.c: Removed obsolete debug prints.
edwin [Fri, 13 Oct 2006 11:57:23 +0000 (11:57 +0000)]
* src/vm/jit/jit.h: Added DF_ constants for ICMD table.
Added CF_ constants.
Added ICMDTABLE_ constants.
(icmdtable_entry_t): New struct.
edwin [Fri, 13 Oct 2006 11:28:10 +0000 (11:28 +0000)]
* src/vm/jit/icmdtable.inc: New file. Not used, yet.
* src/vm/jit/Makefile.am: Added new file.
edwin [Fri, 13 Oct 2006 11:27:40 +0000 (11:27 +0000)]
* src/vm/jit/verify/generate.pl: Omit comma at end of ICMD table.
edwin [Fri, 13 Oct 2006 11:11:20 +0000 (11:11 +0000)]
* 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.
edwin [Fri, 13 Oct 2006 10:36:34 +0000 (10:36 +0000)]
* src/vm/jit/verify/typeinfo.c (typevector_store): Remove obsolete
assertion.
edwin [Fri, 13 Oct 2006 10:33:20 +0000 (10:33 +0000)]
* src/vm/jit/stack.c (stack_analyse): Set iptr->dst for CHECKNULL.
edwin [Fri, 13 Oct 2006 00:47:59 +0000 (00:47 +0000)]
* 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.
edwin [Thu, 12 Oct 2006 23:34:27 +0000 (23:34 +0000)]
* 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.
twisti [Thu, 12 Oct 2006 20:06:48 +0000 (20:06 +0000)]
* src/vm/jit/cfg.c (cfg_build): Check for EXH basic blocks in
fall-through case.