cacao.git
18 years agoreplace helper_* calls in the pathers with calls to resolve_*_eager
edwin [Thu, 20 Oct 2005 09:53:00 +0000 (09:53 +0000)]
replace helper_* calls in the pathers with calls to resolve_*_eager

18 years agoadded resolve_*_eager functions
edwin [Thu, 20 Oct 2005 09:34:16 +0000 (09:34 +0000)]
added resolve_*_eager functions
reduced jit/helpers to bare minimum in order to prepare removal
cleaned up resolve.[ch], doc comments are now in resolve.c

18 years agoAdded new_noclassdeffounderror and a function to convert
edwin [Thu, 20 Oct 2005 00:49:47 +0000 (00:49 +0000)]
Added new_noclassdeffounderror and a function to convert
ClassNotFoundException to NoClassDefFoundError.
(This is the first of a series of commits to clean up the
creation/handling of loader exceptions.)

18 years ago* cacao_get_field_address: Check if we should bypass security checks,
twisti [Wed, 19 Oct 2005 23:38:32 +0000 (23:38 +0000)]
* cacao_get_field_address: Check if we should bypass security checks,
  pass this instead of c and f.
* set: Use local variables (it's better this way, thanks anton).

18 years ago* set: Assigment bugfix, wrong variable used. Maybe i should think about
twisti [Wed, 19 Oct 2005 22:11:27 +0000 (22:11 +0000)]
* set: Assigment bugfix, wrong variable used.  Maybe i should think about
  the way i'm using variables...

18 years ago* callingMethodCollector: Return [1] element since it's called from a
twisti [Wed, 19 Oct 2005 22:06:23 +0000 (22:06 +0000)]
* callingMethodCollector: Return [1] element since it's called from a
  native method (maybe this needs checking again).

18 years ago* Second part of the rewrite, seems quite ok now and codesize is smaller.
twisti [Wed, 19 Oct 2005 22:04:36 +0000 (22:04 +0000)]
* Second part of the rewrite, seems quite ok now and codesize is smaller.

18 years ago* new_illegalargumentexception: Added.
twisti [Wed, 19 Oct 2005 22:03:45 +0000 (22:03 +0000)]
* new_illegalargumentexception: Added.

18 years ago* utf_java_lang_IllegalArgumentException: Added.
twisti [Wed, 19 Oct 2005 22:03:06 +0000 (22:03 +0000)]
* utf_java_lang_IllegalArgumentException: Added.

18 years ago* class_java_lang_IllegalArgumentException: Added.
twisti [Wed, 19 Oct 2005 22:02:48 +0000 (22:02 +0000)]
* class_java_lang_IllegalArgumentException: Added.

18 years ago* is_accessible_class: Renamed to access_is_accessible_class.
twisti [Wed, 19 Oct 2005 22:01:25 +0000 (22:01 +0000)]
* is_accessible_class: Renamed to access_is_accessible_class.
* is_accessible_member: Renamed to access_is_accessible_member.

18 years ago* config.h, vm/types.h: Added.
twisti [Wed, 19 Oct 2005 21:35:52 +0000 (21:35 +0000)]
* config.h, vm/types.h: Added.

18 years ago* Fixed file path.
twisti [Wed, 19 Oct 2005 19:56:46 +0000 (19:56 +0000)]
* Fixed file path.
* Added Changes.

18 years ago* Smaller fixes, nothing important.
twisti [Wed, 19 Oct 2005 19:56:13 +0000 (19:56 +0000)]
* Smaller fixes, nothing important.

18 years ago* Use noinst_DATA target for header files since all does only work for
twisti [Wed, 19 Oct 2005 14:35:36 +0000 (14:35 +0000)]
* Use noinst_DATA target for header files since all does only work for
  plain make.

18 years ago* Arghhh! Sorry...
twisti [Wed, 19 Oct 2005 11:40:53 +0000 (11:40 +0000)]
* Arghhh! Sorry...

18 years ago* class_findfield_approx, class_findfield_index_approx: Removed.
twisti [Wed, 19 Oct 2005 11:28:41 +0000 (11:28 +0000)]
* class_findfield_approx, class_findfield_index_approx: Removed.

18 years ago* First part of rewrite, get/setXXX functions are now correct (mauve test).
twisti [Wed, 19 Oct 2005 11:27:42 +0000 (11:27 +0000)]
* First part of rewrite, get/setXXX functions are now correct (mauve test).
  Still some stuff left to do (access checks, get and set functions).

18 years ago* We have to configure all sub packages, otherwise we can't do any dist
twisti [Tue, 18 Oct 2005 12:42:38 +0000 (12:42 +0000)]
* We have to configure all sub packages, otherwise we can't do any dist
  stuff like distclean.
* Removed different mips flags.
* src/vm/jit/mips/linux/Makefile: Added.

18 years ago* types.h: Fixed include path.
twisti [Tue, 18 Oct 2005 12:38:16 +0000 (12:38 +0000)]
* types.h: Fixed include path.

18 years ago* disassinstr: 32-bit output and warning fixes.
twisti [Tue, 18 Oct 2005 12:22:22 +0000 (12:22 +0000)]
* disassinstr: 32-bit output and warning fixes.

18 years agomake NDEBUG disable TYPEINFO_DEBUG and TYPECHECK_DEBUG
edwin [Mon, 17 Oct 2005 11:52:00 +0000 (11:52 +0000)]
make NDEBUG disable TYPEINFO_DEBUG and TYPECHECK_DEBUG

18 years ago* Updated to boehm-gc 6.6
twisti [Fri, 14 Oct 2005 11:28:37 +0000 (11:28 +0000)]
* Updated to boehm-gc 6.6

18 years ago* DefineClass, GetSuperclass, NewObjectA: Add return value to local refs
twisti [Fri, 14 Oct 2005 11:27:40 +0000 (11:27 +0000)]
* DefineClass, GetSuperclass, NewObjectA: Add return value to local refs
  (taken from gcj).

18 years ago* getDeclaredClasses, getDeclaringClass: Fixes the case with unresolved
twisti [Fri, 14 Oct 2005 10:42:55 +0000 (10:42 +0000)]
* getDeclaredClasses, getDeclaringClass: Fixes the case with unresolved
  inner classes (mauve fixes).

18 years agodo not throw exceptions for missing fields/methods when resolving lazily
edwin [Thu, 13 Oct 2005 16:48:45 +0000 (16:48 +0000)]
do not throw exceptions for missing fields/methods when resolving lazily

18 years agoreplaced TYPEINFO_INIT_FROM_CLASSREF_OR_CLASSINFO with typeinfo_init_class
edwin [Thu, 13 Oct 2005 16:25:56 +0000 (16:25 +0000)]
replaced TYPEINFO_INIT_FROM_CLASSREF_OR_CLASSINFO with typeinfo_init_class

18 years ago* NewLocalRef: Keep the compiler happy, return a value.
twisti [Thu, 13 Oct 2005 16:10:12 +0000 (16:10 +0000)]
* NewLocalRef: Keep the compiler happy, return a value.

18 years ago* asm_call_jit_compiler: Use md_assembler_get_patch_address, so we can omit
twisti [Thu, 13 Oct 2005 16:08:43 +0000 (16:08 +0000)]
* asm_call_jit_compiler: Use md_assembler_get_patch_address, so we can omit
  some assembler code.

18 years ago* md_assembler_get_patch_address: Added.
twisti [Thu, 13 Oct 2005 16:08:01 +0000 (16:08 +0000)]
* md_assembler_get_patch_address: Added.

18 years ago* createnativestub: Local references table changes.
twisti [Thu, 13 Oct 2005 16:04:03 +0000 (16:04 +0000)]
* createnativestub: Local references table changes.

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