cacao.git
18 years ago* Ignore *.class
twisti [Thu, 13 Oct 2005 14:59:37 +0000 (14:59 +0000)]
* Ignore *.class

18 years agofix bug when calling Java method with return type long
edwin [Thu, 13 Oct 2005 13:48:21 +0000 (13:48 +0000)]
fix bug when calling Java method with return type long

18 years ago* createnativestub: Local references changes.
twisti [Thu, 13 Oct 2005 09:50:19 +0000 (09:50 +0000)]
* createnativestub: Local references changes.

18 years ago* -mx options fix.
twisti [Thu, 13 Oct 2005 09:39:36 +0000 (09:39 +0000)]
* -mx options fix.
* main: Do jni_init after all other stuff, since we now call Java code
  there.

18 years ago* createnativestub: Local references changes, restore return value before
twisti [Wed, 12 Oct 2005 15:53:16 +0000 (15:53 +0000)]
* createnativestub: Local references changes, restore return value before
  call trace.

18 years ago* createnativestub: Local references changes.
twisti [Wed, 12 Oct 2005 15:33:35 +0000 (15:33 +0000)]
* createnativestub: Local references changes.

18 years ago* java_lang_VMThrowable.h: Added.
twisti [Wed, 12 Oct 2005 15:27:22 +0000 (15:27 +0000)]
* java_lang_VMThrowable.h: Added.

18 years ago* main: Call jni_init().
twisti [Wed, 12 Oct 2005 13:32:21 +0000 (13:32 +0000)]
* main: Call jni_init().

18 years ago* heap_alloc_uncollectable: Clear allocated memory.
twisti [Wed, 12 Oct 2005 13:31:50 +0000 (13:31 +0000)]
* heap_alloc_uncollectable: Clear allocated memory.

18 years ago* utf_remove, utf_put, utf_get, utf_value: Added.
twisti [Wed, 12 Oct 2005 13:31:05 +0000 (13:31 +0000)]
* utf_remove, utf_put, utf_get, utf_value: Added.
* utf_Z, utf_B, utf_C, utf_S, utf_I, utf_J, utf_F, utf_D: Likewise.
* utf_java_lang_Object__java_lang_Object: Likewise.

18 years ago* builtin_new, builtin_newarray: Don't memset memory, it's done now by the
twisti [Wed, 12 Oct 2005 13:26:49 +0000 (13:26 +0000)]
* builtin_new, builtin_newarray: Don't memset memory, it's done now by the
  allocate functions itself.
* builtin_trace_exception: Print the stacktrace with CACAO internal
  functions.

18 years ago* class_create_classinfo: Don't set field to 0 values, GCNEW* now clears
twisti [Wed, 12 Oct 2005 13:24:21 +0000 (13:24 +0000)]
* class_create_classinfo: Don't set field to 0 values, GCNEW* now clears
  the memory in boehm.c.

18 years ago* load_class_from_classbuffer: GCNEW renamed to GCNEW_UNCOLLECTABLE (XXX
twisti [Wed, 12 Oct 2005 13:23:01 +0000 (13:23 +0000)]
* load_class_from_classbuffer: GCNEW renamed to GCNEW_UNCOLLECTABLE (XXX
  check if we really need this).

18 years ago* createnativestub: Local references table changes.
twisti [Wed, 12 Oct 2005 13:21:55 +0000 (13:21 +0000)]
* createnativestub: Local references table changes.

18 years ago* codegen_addxcheckarefs: Removed.
twisti [Wed, 12 Oct 2005 13:20:53 +0000 (13:20 +0000)]
* codegen_addxcheckarefs: Removed.
* codegen_start_native_call, codegen_finish_native_call: Added.
* removecompilerstub, removenativestub: Warning fix.

18 years ago* codegendata: xcheckarefs removed.
twisti [Wed, 12 Oct 2005 13:19:11 +0000 (13:19 +0000)]
* codegendata: xcheckarefs removed.

18 years ago* stacktrace_dump_trace: Use stacktrace_print_trace to print the trace.
twisti [Wed, 12 Oct 2005 13:07:12 +0000 (13:07 +0000)]
* stacktrace_dump_trace: Use stacktrace_print_trace to print the trace.
* stacktrace_print_trace: Added.

18 years ago* stacktrace_print_trace: Added.
twisti [Wed, 12 Oct 2005 13:06:22 +0000 (13:06 +0000)]
* stacktrace_print_trace: Added.

18 years ago* method_free: Warning fix.
twisti [Wed, 12 Oct 2005 12:54:02 +0000 (12:54 +0000)]
* method_free: Warning fix.

18 years ago* Include stdlib.h
twisti [Wed, 12 Oct 2005 12:49:32 +0000 (12:49 +0000)]
* Include stdlib.h
* signal_handler_sigint: Print warning message when SIGINT catched twice.

18 years ago* USE_CODEMMAP: Removed.
twisti [Wed, 12 Oct 2005 12:45:56 +0000 (12:45 +0000)]
* USE_CODEMMAP: Removed.

18 years ago* Added local references stuff.
twisti [Wed, 12 Oct 2005 11:28:23 +0000 (11:28 +0000)]
* Added local references stuff.
* jni_init: Return bool value, initialize global references and direct
  buffer stuff.
* jclass_findfield: Removed.
* DeleteLocalRef, NewLocalRef, EnsureLocalCapacity: Implemented.
* PushLocalFrame, PopLocalFrame: Added assert.
* NewGlobalRef, DeleteGlobalRef: Reimplemented, don't use JNI functions.
* jni_init1, jni_init2: Removed.

18 years ago* localref_table: Added.
twisti [Wed, 12 Oct 2005 08:47:23 +0000 (08:47 +0000)]
* localref_table: Added.
* jni_init: Returns a bool.

18 years ago* Added vm/global.h include.
twisti [Wed, 12 Oct 2005 08:22:50 +0000 (08:22 +0000)]
* Added vm/global.h include.

18 years ago* start: If we use no threads, just return a Thread object, so we need no
twisti [Wed, 12 Oct 2005 08:22:24 +0000 (08:22 +0000)]
* start: If we use no threads, just return a Thread object, so we need no
  changes in GNU classpath (thanks to mark for suggesting this).

18 years ago* nativethread: _dontfillinexceptionstacktrace, _threadrootmethod removed,
twisti [Wed, 12 Oct 2005 08:19:00 +0000 (08:19 +0000)]
* nativethread: _dontfillinexceptionstacktrace, _threadrootmethod removed,
  _localref_table added.

18 years ago* GCNEW renamed to GCNEW_UNCOLLECTABLE.
twisti [Wed, 12 Oct 2005 08:17:42 +0000 (08:17 +0000)]
* GCNEW renamed to GCNEW_UNCOLLECTABLE.
* GCNEW: Allocates now normal heap memory.

18 years ago* USE_CODEMMAP: Removed.
twisti [Wed, 12 Oct 2005 08:17:00 +0000 (08:17 +0000)]
* USE_CODEMMAP: Removed.

18 years ago* bindir: Removed.
twisti [Tue, 11 Oct 2005 14:41:52 +0000 (14:41 +0000)]
* bindir: Removed.
* bin_PROGRAMS changed to noinst_PROGRAMS: cacaoh does not produce
  user-usable headers, so we just need it for compilation.

18 years ago* bindir: Removed, install in cnofigured bindir.
twisti [Tue, 11 Oct 2005 14:40:40 +0000 (14:40 +0000)]
* bindir: Removed, install in cnofigured bindir.

18 years ago* exec_prefix, bindir: Added.
twisti [Tue, 11 Oct 2005 14:40:15 +0000 (14:40 +0000)]
* exec_prefix, bindir: Added.

18 years ago* bindir: Removed, install in configured bindir.
twisti [Tue, 11 Oct 2005 14:39:55 +0000 (14:39 +0000)]
* bindir: Removed, install in configured bindir.
* bin_SCRIPTS: cacao, javac removed.

18 years ago* src/scripts/cacao, src/scripts/javac: Removed.
twisti [Tue, 11 Oct 2005 14:38:49 +0000 (14:38 +0000)]
* src/scripts/cacao, src/scripts/javac: Removed.

18 years ago* Removed mmap stuff, which was not thread safe (maybe our random crashes
twisti [Tue, 11 Oct 2005 13:29:01 +0000 (13:29 +0000)]
* Removed mmap stuff, which was not thread safe (maybe our random crashes
  bug?) and was not required anymore.

18 years ago* Added some array instanceof checks, suggested by edwin.
twisti [Tue, 11 Oct 2005 08:30:15 +0000 (08:30 +0000)]
* Added some array instanceof checks, suggested by edwin.

18 years agobuiltin_arrayinstanceof: return 0 if object == NULL
edwin [Mon, 10 Oct 2005 23:59:11 +0000 (23:59 +0000)]
builtin_arrayinstanceof: return 0 if object == NULL

18 years agofor ATHROW and ARETURN: set iptr->val.a = NULL in parse.c
edwin [Mon, 10 Oct 2005 17:11:00 +0000 (17:11 +0000)]
for ATHROW and ARETURN: set iptr->val.a = NULL in parse.c

18 years ago* ICMD_ATHROW, ICMD_ARETURN: Generate a call to the patcher_athrow_areturn
twisti [Mon, 10 Oct 2005 13:45:08 +0000 (13:45 +0000)]
* ICMD_ATHROW, ICMD_ARETURN: Generate a call to the patcher_athrow_areturn
  if required.  The iptr->val.a value should be set by the verifier.

18 years ago* patcher_athrow_areturn: Added.
twisti [Mon, 10 Oct 2005 13:40:11 +0000 (13:40 +0000)]
* patcher_athrow_areturn: Added.

18 years ago* M_CALL_IMM: Added.
twisti [Mon, 10 Oct 2005 13:34:01 +0000 (13:34 +0000)]
* M_CALL_IMM: Added.

18 years ago* allocThreadStack: Renamed GCNEW to GCNEW_UNCOLLECTABLE.
twisti [Fri, 7 Oct 2005 15:36:10 +0000 (15:36 +0000)]
* allocThreadStack: Renamed GCNEW to GCNEW_UNCOLLECTABLE.

18 years ago* VM_ZIP, GLIBJ_ZIP: Added.
twisti [Fri, 7 Oct 2005 15:35:38 +0000 (15:35 +0000)]
* VM_ZIP, GLIBJ_ZIP: Added.
* Added dependencies to the make target.

18 years ago* heap_allocate: Clear memory allocated.
twisti [Fri, 7 Oct 2005 15:26:25 +0000 (15:26 +0000)]
* heap_allocate: Clear memory allocated.

18 years agoverify that first argument of instance method is of reference type
edwin [Fri, 7 Oct 2005 14:03:52 +0000 (14:03 +0000)]
verify that first argument of instance method is of reference type

18 years agocheck against method descriptors used for fields and vice versa
edwin [Fri, 7 Oct 2005 14:02:52 +0000 (14:02 +0000)]
check against method descriptors used for fields and vice versa

18 years agocheck for invalid opcode 203 (decimal)
edwin [Thu, 6 Oct 2005 23:34:35 +0000 (23:34 +0000)]
check for invalid opcode 203 (decimal)

18 years agocheck for invalid opcode 186 (decimal)
edwin [Thu, 6 Oct 2005 23:32:01 +0000 (23:32 +0000)]
check for invalid opcode 186 (decimal)
throw verifyerror instead of internalerror on invalid opcode

18 years agohonor return value of fillextable
edwin [Thu, 6 Oct 2005 15:00:33 +0000 (15:00 +0000)]
honor return value of fillextable

18 years agoremoved debug print
edwin [Thu, 6 Oct 2005 15:00:01 +0000 (15:00 +0000)]
removed debug print

18 years agoin resolve_and_check_subtype_set: skip types that cannot be resolved
edwin [Thu, 6 Oct 2005 14:04:54 +0000 (14:04 +0000)]
in resolve_and_check_subtype_set: skip types that cannot be resolved

18 years agocheck return value of descriptor_pool_add_class
edwin [Thu, 6 Oct 2005 13:48:16 +0000 (13:48 +0000)]
check return value of descriptor_pool_add_class

18 years agodo not dump the method on exception
edwin [Thu, 6 Oct 2005 13:47:40 +0000 (13:47 +0000)]
do not dump the method on exception

18 years ago* signal_init: Added SA_NODEFER to SIGINT.
twisti [Thu, 6 Oct 2005 13:14:48 +0000 (13:14 +0000)]
* signal_init: Added SA_NODEFER to SIGINT.
* signal_handler_sigint: Check for cacao_exiting, so shutdown can be done
  immediately.

18 years ago* cacao_exiting, opt_verboseclass: Added.
twisti [Thu, 6 Oct 2005 13:13:08 +0000 (13:13 +0000)]
* cacao_exiting, opt_verboseclass: Added.

18 years ago* cacao_exiting: Added.
twisti [Thu, 6 Oct 2005 13:12:45 +0000 (13:12 +0000)]
* cacao_exiting: Added.

18 years ago* opt_verboseclass: Added.
twisti [Thu, 6 Oct 2005 13:12:02 +0000 (13:12 +0000)]
* opt_verboseclass: Added.

18 years ago* class_findfield, class_findfield_by_name, class_findfield_index_by_name:
twisti [Thu, 6 Oct 2005 13:11:37 +0000 (13:11 +0000)]
* class_findfield, class_findfield_by_name, class_findfield_index_by_name:
  Added.

18 years ago* classbuffer: path added, for -verbose:class.
twisti [Thu, 6 Oct 2005 13:10:53 +0000 (13:10 +0000)]
* classbuffer: path added, for -verbose:class.

18 years ago* SUN compatible -verbose:class implemented.
twisti [Thu, 6 Oct 2005 13:10:24 +0000 (13:10 +0000)]
* SUN compatible -verbose:class implemented.
* class_findfield: Moved to class.c

18 years ago* createnativestub: Forgot to load the return value for -verbosecall.
twisti [Thu, 6 Oct 2005 13:09:52 +0000 (13:09 +0000)]
* createnativestub: Forgot to load the return value for -verbosecall.

18 years agouse new_internalerror where possible
edwin [Thu, 6 Oct 2005 10:31:15 +0000 (10:31 +0000)]
use new_internalerror where possible

18 years agocheck param types *before* calling constrain_unresolved_method
edwin [Thu, 6 Oct 2005 10:29:43 +0000 (10:29 +0000)]
check param types *before* calling constrain_unresolved_method

18 years agothrow classformaterror instead of assert(0)
edwin [Thu, 6 Oct 2005 09:40:40 +0000 (09:40 +0000)]
throw classformaterror instead of assert(0)
removed functions which are not suitable for exception handling

18 years agothrow verifyerror instead of assert(0)
edwin [Thu, 6 Oct 2005 09:23:36 +0000 (09:23 +0000)]
throw verifyerror instead of assert(0)

18 years agothrow verify errors instead of assert(0)
edwin [Thu, 6 Oct 2005 09:12:46 +0000 (09:12 +0000)]
throw verify errors instead of assert(0)

18 years agoalways check return value of class_getconstant
edwin [Thu, 6 Oct 2005 08:42:58 +0000 (08:42 +0000)]
always check return value of class_getconstant

18 years agothrow verify error instead of assertion
edwin [Thu, 6 Oct 2005 08:09:23 +0000 (08:09 +0000)]
throw verify error instead of assertion

18 years agoadded case for verifying unresolved arrayinstanceof
edwin [Thu, 6 Oct 2005 00:11:09 +0000 (00:11 +0000)]
added case for verifying unresolved arrayinstanceof

18 years agocode cleanup, moved flag init to separate function
edwin [Wed, 5 Oct 2005 23:03:40 +0000 (23:03 +0000)]
code cleanup, moved flag init to separate function

18 years agoverify unresolved array references in MULTIANEWARRAY
edwin [Wed, 5 Oct 2005 22:31:57 +0000 (22:31 +0000)]
verify unresolved array references in MULTIANEWARRAY

18 years agoverify invocations of generic builtin methods
edwin [Wed, 5 Oct 2005 21:47:53 +0000 (21:47 +0000)]
verify invocations of generic builtin methods

18 years agocode cleanup, moved some code into separate functions
edwin [Wed, 5 Oct 2005 17:52:08 +0000 (17:52 +0000)]
code cleanup, moved some code into separate functions

18 years ago* Changed # comments to /* */, so we can compile with -ansi -pendantic.
twisti [Wed, 5 Oct 2005 16:12:00 +0000 (16:12 +0000)]
* Changed # comments to /* */, so we can compile with -ansi -pendantic.

18 years ago* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
twisti [Wed, 5 Oct 2005 16:05:04 +0000 (16:05 +0000)]
* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
* ICMD_BUILTIN, ICMD_INVOKE*: Use md->paramcount instead of iptr->op1.
* ICMD_BUILTIN: Check for exception if iptr->op1 == true (mauve fix).
* ICMD_MULTIANEWARRAY: Check for exception (mauve fix).
* Removed NegativeArraySizeException stubs.
* createnativestub: Smaller code.

18 years ago* is_valid_utf: Don't print Overlong UTF-8 sequence warning.
twisti [Wed, 5 Oct 2005 16:04:28 +0000 (16:04 +0000)]
* is_valid_utf: Don't print Overlong UTF-8 sequence warning.

18 years ago* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
twisti [Wed, 5 Oct 2005 15:44:40 +0000 (15:44 +0000)]
* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
* ICMD_BUILTIN, ICMD_INVOKE*: Use md->paramcount instead of iptr->op1.
* ICMD_BUILTIN: Check for exception if iptr->op1 == true (mauve fix).
* ICMD_MULTIANEWARRAY: Check for exception (mauve fix).
* Removed NegativeArraySizeException stubs.
* createnativestub: Smaller code.

18 years ago* analyse_stack: Set iptr->op1 to false for automatic builtins.
twisti [Wed, 5 Oct 2005 14:16:57 +0000 (14:16 +0000)]
* analyse_stack: Set iptr->op1 to false for automatic builtins.

18 years agoverify that abstract classes are not instantiated
edwin [Wed, 5 Oct 2005 13:30:10 +0000 (13:30 +0000)]
verify that abstract classes are not instantiated

18 years agoverify that the right <init> is called for uninitialized references
edwin [Wed, 5 Oct 2005 12:28:42 +0000 (12:28 +0000)]
verify that the right <init> is called for uninitialized references

18 years agocache self-reference of class in link_class_intern
edwin [Wed, 5 Oct 2005 11:53:28 +0000 (11:53 +0000)]
cache self-reference of class in link_class_intern
verify that the right <init> method is called in <init> methods

18 years ago* show_icmd: Print string or classname for ACONSTs.
twisti [Wed, 5 Oct 2005 11:15:05 +0000 (11:15 +0000)]
* show_icmd: Print string or classname for ACONSTs.

18 years ago* literalstring_u2: Bugfix when reorganizing the string hashtable, the
twisti [Wed, 5 Oct 2005 10:37:00 +0000 (10:37 +0000)]
* literalstring_u2: Bugfix when reorganizing the string hashtable, the
  pointer to the current string was used as temp variable.

18 years agofor INVOKESPECIAL: check that it may only call <init>, a method of the
edwin [Wed, 5 Oct 2005 09:20:30 +0000 (09:20 +0000)]
for INVOKESPECIAL: check that it may only call <init>, a method of the
current class, or a method of a super class of the current class

18 years agofix checking of protected members (removed bogus test in resolve_method
edwin [Wed, 5 Oct 2005 00:33:09 +0000 (00:33 +0000)]
fix checking of protected members (removed bogus test in resolve_method
and skip array types in resolve_and_check_subtype_set)

18 years agoimplement special lookup for INVOKESPECIAL and super.* methods
edwin [Tue, 4 Oct 2005 22:41:23 +0000 (22:41 +0000)]
implement special lookup for INVOKESPECIAL and super.* methods

18 years ago* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
twisti [Tue, 4 Oct 2005 22:14:53 +0000 (22:14 +0000)]
* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
* ICMD_BUILTIN, ICMD_INVOKE*: Use md->paramcount instead of iptr->op1.
* ICMD_BUILTIN: Check for exception if iptr->op1 == true (mauve fix).
* ICMD_MULTIANEWARRAY: Check for exception (mauve fix).
* Removed NegativeArraySizeException stubs.
* createnativestub: Smaller code.

18 years ago* config.h, types.h: Added.
twisti [Tue, 4 Oct 2005 21:54:28 +0000 (21:54 +0000)]
* config.h, types.h: Added.
* link_class_intern: Removed resolving of thrown exceptions.  This is not
  required here, native.c (native_get_exceptiontypes) does this on request
  (fixes jetty).  Normal exceptions are still left.

18 years ago* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
twisti [Tue, 4 Oct 2005 21:40:09 +0000 (21:40 +0000)]
* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
* ICMD_BUILTIN, ICMD_INVOKE*: Use md->paramcount instead of iptr->op1.
* ICMD_BUILTIN: Check for exception if iptr->op1 == true (mauve fix).
* ICMD_MULTIANEWARRAY: Check for exception (mauve fix).
* Removed NegativeArraySizeException stubs.
* createnativestub: Smaller code.

18 years ago* M_BNE: Added.
twisti [Tue, 4 Oct 2005 21:36:45 +0000 (21:36 +0000)]
* M_BNE: Added.

18 years ago* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
twisti [Tue, 4 Oct 2005 21:13:52 +0000 (21:13 +0000)]
* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.

18 years ago* Include cacao/cacao.h for cacao_exit.
twisti [Tue, 4 Oct 2005 20:19:37 +0000 (20:19 +0000)]
* Include cacao/cacao.h for cacao_exit.

18 years ago* initialize_class_intern: Removed unused variable i.
twisti [Tue, 4 Oct 2005 20:19:11 +0000 (20:19 +0000)]
* initialize_class_intern: Removed unused variable i.

18 years ago* Adapted output.
twisti [Tue, 4 Oct 2005 19:38:56 +0000 (19:38 +0000)]
* Adapted output.

18 years ago* Print exception in catch.
twisti [Tue, 4 Oct 2005 19:38:35 +0000 (19:38 +0000)]
* Print exception in catch.

18 years ago* Changed and added NegativeArraySizeException tests.
twisti [Tue, 4 Oct 2005 19:36:30 +0000 (19:36 +0000)]
* Changed and added NegativeArraySizeException tests.

18 years agoadded a large comment explaining the typechecker
edwin [Tue, 4 Oct 2005 19:03:52 +0000 (19:03 +0000)]
added a large comment explaining the typechecker

18 years ago* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
twisti [Tue, 4 Oct 2005 18:57:46 +0000 (18:57 +0000)]
* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
* ICMD_BUILTIN, ICMD_INVOKE*: Use md->paramcount instead of iptr->op1.
* ICMD_BUILTIN: Check for exception if iptr->op1 == true (mauve fix).
* ICMD_MULTIANEWARRAY: Check for exception (mauve fix).
* Removed NegativeArraySizeException stubs.
* createnativestub: Smaller code.

18 years ago* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
twisti [Tue, 4 Oct 2005 18:55:12 +0000 (18:55 +0000)]
* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.

18 years ago* ICMD_BUILTIN, ICMD_INVOKE*: Use md->paramcount instead of iptr->op1.
twisti [Tue, 4 Oct 2005 18:54:57 +0000 (18:54 +0000)]
* ICMD_BUILTIN, ICMD_INVOKE*: Use md->paramcount instead of iptr->op1.

18 years ago* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
twisti [Tue, 4 Oct 2005 18:54:33 +0000 (18:54 +0000)]
* ICMD_CHECKASIZE, ICMD_CHECKEXCEPTION: Removed.
* ICMD_BUILTIN, ICMD_INVOKE*: Use md->paramcount instead of iptr->op1.