cacao.git
19 years agoAdded a testing class.
twisti [Sun, 20 Jun 2004 21:20:33 +0000 (21:20 +0000)]
Added a testing class.

19 years agoMade random a global variable to get always different sleep values (equals
twisti [Sun, 20 Jun 2004 21:20:15 +0000 (21:20 +0000)]
Made random a global variable to get always different sleep values (equals
values happend on fast smp machines).

19 years agoAlso pass nanos to sleepThread function.
twisti [Sun, 20 Jun 2004 20:59:12 +0000 (20:59 +0000)]
Also pass nanos to sleepThread function.

19 years agoFixed include path.
twisti [Sun, 20 Jun 2004 20:58:46 +0000 (20:58 +0000)]
Fixed include path.

19 years agoSet prev and next to NULL on list_remove (with this fix eager loading
twisti [Sun, 20 Jun 2004 19:45:55 +0000 (19:45 +0000)]
Set prev and next to NULL on list_remove (with this fix eager loading
works).

19 years agoEager loading now works.
twisti [Sun, 20 Jun 2004 19:44:46 +0000 (19:44 +0000)]
Eager loading now works.

19 years agoBug fix in builtin_monitor* with green threads: monitors must be
twisti [Sat, 19 Jun 2004 12:59:20 +0000 (12:59 +0000)]
Bug fix in builtin_monitor* with green threads: monitors must be
reentrantable by the same thread (recursive call of synchronized function).

19 years ago- Arghhhh! Do NOT use %ebx in a asm_ function without saving it, it's a
twisti [Sat, 19 Jun 2004 12:49:53 +0000 (12:49 +0000)]
- Arghhhh! Do NOT use %ebx in a asm_ function without saving it, it's a
  callee saved register!!! Damn. I now use %edx (-> related to jit.c's
  method_uses_edx stuff).
- some code indent

19 years agoDon't use ecx, edx on i386 (we have problems with asmpart functions). I
twisti [Sat, 19 Jun 2004 12:47:25 +0000 (12:47 +0000)]
Don't use ecx, edx on i386 (we have problems with asmpart functions). I
now think, this was not a good idea.

19 years agoSome lazy loading/linking checks, i believe the are _many_ more!
twisti [Sat, 19 Jun 2004 12:46:00 +0000 (12:46 +0000)]
Some lazy loading/linking checks, i believe the are _many_ more!

19 years ago- added: throw_exception, throw_exception_exit, throw_main_exception and
twisti [Sat, 19 Jun 2004 12:44:12 +0000 (12:44 +0000)]
- added: throw_exception, throw_exception_exit, throw_main_exception and
         throw_main_exception_exit, which all of them use
         throw_exception_exit_intern
- eager loading stuff

19 years agoAdded: throw_exception, throw_main_exception, throw_main_exception_exit
twisti [Sat, 19 Jun 2004 12:42:54 +0000 (12:42 +0000)]
Added: throw_exception, throw_main_exception, throw_main_exception_exit

19 years ago- added compatibility flags: -cp, -Xmx, -Xms (with K, M)
twisti [Sat, 19 Jun 2004 12:32:57 +0000 (12:32 +0000)]
- added compatibility flags: -cp, -Xmx, -Xms (with K, M)
- usage of throw_main_exception_exit
- don't exit after an exception in the main method (2 reasons: we use
  Runtime.exit() and maybe other threads are running)

19 years agoAdded initializing flag to classinfo structure. This is used by the
twisti [Sat, 19 Jun 2004 12:26:33 +0000 (12:26 +0000)]
Added initializing flag to classinfo structure. This is used by the
compiler to prevent circularity in class_init's.

19 years ago- removed stringdeleter from tables_close (why?)
twisti [Sat, 19 Jun 2004 12:24:42 +0000 (12:24 +0000)]
- removed stringdeleter from tables_close (why?)
- renamed some functions to better names: utf_new_int -> utf_new_intern
                                          class_new_int -> class_new_intern
- added class_remove

19 years ago- removed stringdeleter from tables_close (why?)
twisti [Sat, 19 Jun 2004 12:23:13 +0000 (12:23 +0000)]
- removed stringdeleter from tables_close (why?)
- renamed some functions to better names: utf_new_int -> utf_new_intern
                                          class_new_int -> class_new_intern
- added class_remove: this removes the classinfo entry in the hashtable

19 years agoAdded class_free
twisti [Sat, 19 Jun 2004 12:21:06 +0000 (12:21 +0000)]
Added class_free

19 years agoAnsi C greetz you...
twisti [Sat, 19 Jun 2004 12:20:06 +0000 (12:20 +0000)]
Ansi C greetz you...

19 years ago- added new_classformaterror
twisti [Sat, 19 Jun 2004 12:13:45 +0000 (12:13 +0000)]
- added new_classformaterror
- added check_classbuffer_size (use before suck_ calls)
- made suck_* #define's inline functions
- some functions now return bool to catch "truncated class files"
- added some eager loading stuff
- free class resources if loading failed
- class_init wrapper with monitors to handle class init's properly

19 years agoMoved builtin_monitorenter/builtin_monitorexit functions outside of the
twisti [Thu, 17 Jun 2004 19:23:25 +0000 (19:23 +0000)]
Moved builtin_monitorenter/builtin_monitorexit functions outside of the
trace call functions to get a proper trace call with threads.

19 years agoFixed include paths.
twisti [Thu, 17 Jun 2004 17:17:09 +0000 (17:17 +0000)]
Fixed include paths.

19 years agoAdded throw_exception
twisti [Thu, 17 Jun 2004 17:12:40 +0000 (17:12 +0000)]
Added throw_exception

19 years ago*** empty log message ***
stefan [Thu, 17 Jun 2004 16:04:44 +0000 (16:04 +0000)]
*** empty log message ***

19 years agoa few finalizer testcases, old thread implementation uses now VMThread, no mor contex...
jowenn [Wed, 16 Jun 2004 14:56:18 +0000 (14:56 +0000)]
a few finalizer testcases, old thread implementation uses now VMThread, no mor context (perhaps we should change some of the functions needing Thread objects to use VMThreadobjects. Better handling of ambigious native function names. Fix for clinit in static native call stub. early  initialization of  System class ...

19 years agoMIPS specific functions
stefan [Sat, 12 Jun 2004 15:04:31 +0000 (15:04 +0000)]
MIPS specific functions

19 years agoprototype fix
stefan [Sat, 12 Jun 2004 15:01:00 +0000 (15:01 +0000)]
prototype fix

19 years agoansi c fix
stefan [Sat, 12 Jun 2004 14:58:25 +0000 (14:58 +0000)]
ansi c fix

19 years agoThreads for IRIX
stefan [Sat, 12 Jun 2004 13:34:06 +0000 (13:34 +0000)]
Threads for IRIX

19 years agoAlignment was broken for MIPS
stefan [Sat, 12 Jun 2004 13:33:38 +0000 (13:33 +0000)]
Alignment was broken for MIPS

19 years agoCritical sections declaration fix
stefan [Sat, 12 Jun 2004 13:32:49 +0000 (13:32 +0000)]
Critical sections declaration fix

19 years agoNative stub size again
stefan [Sat, 12 Jun 2004 13:29:07 +0000 (13:29 +0000)]
Native stub size again

19 years agoSmall fix (native stub size)
stefan [Fri, 11 Jun 2004 20:41:38 +0000 (20:41 +0000)]
Small fix (native stub size)

19 years agoatomic functions in asmpart.S because of MIPSPro compiler
stefan [Fri, 11 Jun 2004 16:28:13 +0000 (16:28 +0000)]
atomic functions in asmpart.S because of MIPSPro compiler

19 years agoAtomic operations for MIPS
stefan [Fri, 11 Jun 2004 15:45:05 +0000 (15:45 +0000)]
Atomic operations for MIPS

19 years agoMore darwin-threads stuff
stefan [Fri, 11 Jun 2004 12:16:04 +0000 (12:16 +0000)]
More darwin-threads stuff

19 years agoNull pointer exception working again on darwin
stefan [Fri, 11 Jun 2004 11:34:49 +0000 (11:34 +0000)]
Null pointer exception working again on darwin

19 years ago- removed cacao_shutdown
twisti [Wed, 9 Jun 2004 16:28:52 +0000 (16:28 +0000)]
- removed cacao_shutdown
- support classfiles up to 48.0

19 years ago- suck_init filename bugfix
twisti [Wed, 9 Jun 2004 16:28:00 +0000 (16:28 +0000)]
- suck_init filename bugfix
- support classfiles up to 48.0

19 years agoRemoved TRACECALLARGS stuff, because it used 16MB memory. Now we use a
twisti [Wed, 9 Jun 2004 15:50:23 +0000 (15:50 +0000)]
Removed TRACECALLARGS stuff, because it used 16MB memory. Now we use a
simple malloc with a memset to zero for literals.

19 years agostatic function prototypes should not be in a header file, because they produce warni...
twisti [Mon, 7 Jun 2004 10:09:20 +0000 (10:09 +0000)]
static function prototypes should not be in a header file, because they produce warnings. This was originally my fault.

19 years ago- export xhandler
twisti [Sun, 6 Jun 2004 15:01:06 +0000 (15:01 +0000)]
- export xhandler
- bug fix in clinit (save float argument register)

20 years ago- added cacao_exit which exits the cacao jvm as it should be, with
twisti [Sun, 6 Jun 2004 13:29:25 +0000 (13:29 +0000)]
- added cacao_exit which exits the cacao jvm as it should be, with
  Runtime.exit(I)V
- include paths fixed

20 years agoAdded function protos: cacao_exit, cacao_shutdown.
twisti [Sun, 6 Jun 2004 13:28:36 +0000 (13:28 +0000)]
Added function protos: cacao_exit, cacao_shutdown.

20 years agoFix include paths to support build directories.
twisti [Sun, 6 Jun 2004 13:20:49 +0000 (13:20 +0000)]
Fix include paths to support build directories.

20 years ago- runFinalization() bug fix, ucsd benchmark now works again
twisti [Sun, 6 Jun 2004 13:20:11 +0000 (13:20 +0000)]
- runFinalization() bug fix, ucsd benchmark now works again
- implemented _deprecated_ runFinalizersOnExitInternal (and it does not
  work really, it closes very soon stdin, stdout and stderr file handles
  and exit then silenty, don't know yet how to fix this)

20 years agoFix include paths to support build directories.
twisti [Sun, 6 Jun 2004 12:48:10 +0000 (12:48 +0000)]
Fix include paths to support build directories.

20 years agoFix include paths to support build directories.
twisti [Sat, 5 Jun 2004 23:57:56 +0000 (23:57 +0000)]
Fix include paths to support build directories.

20 years ago- added gc_invoke_finalizers
twisti [Sat, 5 Jun 2004 23:53:56 +0000 (23:53 +0000)]
- added gc_invoke_finalizers
- fixed include paths
- gc_out_of_memory changes

20 years agoAdded gc_invoke_finalizers proto.
twisti [Sat, 5 Jun 2004 23:53:24 +0000 (23:53 +0000)]
Added gc_invoke_finalizers proto.

20 years ago- added emitfuncs stuff
twisti [Sat, 5 Jun 2004 23:20:53 +0000 (23:20 +0000)]
- added emitfuncs stuff
- fix to support build directories

20 years agoFix include paths to support build directories.
twisti [Sat, 5 Jun 2004 23:19:24 +0000 (23:19 +0000)]
Fix include paths to support build directories.

20 years ago- export calljava_xhandler, calljava_xhandler2
twisti [Sat, 5 Jun 2004 20:58:14 +0000 (20:58 +0000)]
- export calljava_xhandler, calljava_xhandler2
- some code indent

20 years ago- fixed ArrayIndexOutOfBoundsException bug
twisti [Sat, 5 Jun 2004 20:57:12 +0000 (20:57 +0000)]
- fixed ArrayIndexOutOfBoundsException bug
- moved gen_bound_check into .h

20 years ago- fixed ArrayIndexOutOfBoundsException bug
twisti [Sat, 5 Jun 2004 20:39:49 +0000 (20:39 +0000)]
- fixed ArrayIndexOutOfBoundsException bug
- removed wrapper functions for asm_calljavafunction and asm_cacheflush
  (why did we need them?)

20 years ago- bug fix in L_initializererror
twisti [Sat, 5 Jun 2004 20:28:56 +0000 (20:28 +0000)]
- bug fix in L_initializererror
- replaced _asm_docalljavamethod with _asm_calljavafunction, this implies
  a exception bug fix
- added some function comments

20 years agoFixed ArrayIndexOutOfBoundsException bug.
twisti [Sat, 5 Jun 2004 17:46:19 +0000 (17:46 +0000)]
Fixed ArrayIndexOutOfBoundsException bug.

20 years agoFixed ArrayIndexOutOfBoundsException bug.
twisti [Sat, 5 Jun 2004 17:38:00 +0000 (17:38 +0000)]
Fixed ArrayIndexOutOfBoundsException bug.

20 years ago- ICMD_CHECKOOM to ICMD_CHECKEXCEPTION stuff
twisti [Sat, 5 Jun 2004 17:32:27 +0000 (17:32 +0000)]
- ICMD_CHECKOOM to ICMD_CHECKEXCEPTION stuff
- removed LOOP_DEBUG stuff
- removed compileverbose message
- fixed ArrayIndexOutOfBoundsException bug

20 years ago- moved all code emitter functions in emitfuncs.c
twisti [Sat, 5 Jun 2004 16:29:07 +0000 (16:29 +0000)]
- moved all code emitter functions in emitfuncs.c
- moved code generation macros into header file (some of them are needed
  emit functions)

20 years ago- correct includes
twisti [Sat, 5 Jun 2004 15:44:52 +0000 (15:44 +0000)]
- correct includes
- use class_free again

20 years agoi386 and x86_64 methodtable bugfix.
twisti [Sat, 5 Jun 2004 14:37:51 +0000 (14:37 +0000)]
i386 and x86_64 methodtable bugfix.

20 years agoAdded dummy prototypes for calljava_xhandler and calljava_xhandler2.
twisti [Sat, 5 Jun 2004 14:37:14 +0000 (14:37 +0000)]
Added dummy prototypes for calljava_xhandler and calljava_xhandler2.

20 years ago- removed _GNU_SOURCE
twisti [Sat, 5 Jun 2004 12:22:26 +0000 (12:22 +0000)]
- removed _GNU_SOURCE
- started to set include directories correctly (to support builds in
different build directories)

20 years agoClass values (off*val) are s4's, so just read and write a long.
twisti [Thu, 3 Jun 2004 22:15:22 +0000 (22:15 +0000)]
Class values (off*val) are s4's, so just read and write a long.

20 years ago- replaced ICMD_CHECKOOM with ICMD_CHECKEXCEPTION
twisti [Thu, 3 Jun 2004 21:35:05 +0000 (21:35 +0000)]
- replaced ICMD_CHECKOOM with ICMD_CHECKEXCEPTION
- added missing gen_div_check's for software / by zero

20 years ago- added asm_getclassvalues_atomic and asm_criticalsections
twisti [Thu, 3 Jun 2004 21:30:30 +0000 (21:30 +0000)]
- added asm_getclassvalues_atomic and asm_criticalsections
- some risc-like defines

20 years agoRemoved methodtable.* stuff.
twisti [Thu, 3 Jun 2004 20:47:05 +0000 (20:47 +0000)]
Removed methodtable.* stuff.

20 years agoRemoved methodtable.* entries.
twisti [Thu, 3 Jun 2004 20:44:56 +0000 (20:44 +0000)]
Removed methodtable.* entries.

20 years agoWe don't need this anymore, we now use a much faster avl tree to find
twisti [Thu, 3 Jun 2004 20:43:34 +0000 (20:43 +0000)]
We don't need this anymore, we now use a much faster avl tree to find
methods.

20 years agoUse avl tree instead of a simple linked list for x86*'s methodtable.
twisti [Thu, 3 Jun 2004 20:40:39 +0000 (20:40 +0000)]
Use avl tree instead of a simple linked list for x86*'s methodtable.

20 years agoWe don't need this anymore, we now use a much faster avl tree to find
twisti [Thu, 3 Jun 2004 20:38:23 +0000 (20:38 +0000)]
We don't need this anymore, we now use a much faster avl tree to find
methods.

20 years ago- #include "config.h"
twisti [Wed, 2 Jun 2004 11:12:03 +0000 (11:12 +0000)]
- #include "config.h"
- added asm_getclassvalues_atomic and asm_criticalsections
- class_load/link calls in handle_exception
- handle ininitializererror in check_clinit

20 years ago- removed nullpointer proto
twisti [Wed, 2 Jun 2004 11:10:17 +0000 (11:10 +0000)]
- removed nullpointer proto
- removed LOOP_DEBUG stuff
- added ICMD_CHECKEXCEPTION
- don't recompute pv after asmpart calls
- call check_clinit from nativestub if native method

20 years agoCompile asmpart.S with all falgs (to get config.h).
twisti [Wed, 2 Jun 2004 10:56:49 +0000 (10:56 +0000)]
Compile asmpart.S with all falgs (to get config.h).

20 years agoAlso set xcheckarefs back to null.
twisti [Wed, 2 Jun 2004 10:34:31 +0000 (10:34 +0000)]
Also set xcheckarefs back to null.

20 years agoifdef __GNUC__ #warnings for mips pro compiler
twisti [Wed, 2 Jun 2004 10:31:09 +0000 (10:31 +0000)]
ifdef __GNUC__ #warnings for mips pro compiler

20 years agoExceptions work now with nested builtin_news correctly (set the exception pointer...
jowenn [Mon, 31 May 2004 15:47:20 +0000 (15:47 +0000)]
Exceptions work now with nested builtin_news correctly (set the exception pointer to zero, before creating a new exception, otherwise the next native stub does not return properly. Better handling of exceptions created during jit_compile, clear exceptions  during invocation of Call* jni functions, before the real invocation of  the target, refill in stack traces if an ICMD_CHECKEXCEPTION is encountered, ...

20 years agoshould have been , now it works in the cvs version too
jowenn [Sat, 29 May 2004 07:51:40 +0000 (07:51 +0000)]
should have been , now it works in the cvs version too

20 years agochecking the return value of a non void function, which contains returns without...
jowenn [Fri, 28 May 2004 21:45:51 +0000 (21:45 +0000)]
checking the return value of a non void function, which contains returns without values is a bad idea. I think an int return type true/false would be sufficient.

20 years agoPrint branch addresses correctly.
twisti [Fri, 28 May 2004 13:11:16 +0000 (13:11 +0000)]
Print branch addresses correctly.

20 years agoReplaced ICMD_CHECKOOM by ICMD_CHECKEXCEPTION.
twisti [Fri, 28 May 2004 13:04:46 +0000 (13:04 +0000)]
Replaced ICMD_CHECKOOM by ICMD_CHECKEXCEPTION.

20 years agoRemoved warnings.
twisti [Fri, 28 May 2004 12:18:44 +0000 (12:18 +0000)]
Removed warnings.

20 years agoRemoved warnings.
twisti [Fri, 28 May 2004 10:25:55 +0000 (10:25 +0000)]
Removed warnings.

20 years ago...and we should use it correctly ;-) Damn!
twisti [Fri, 28 May 2004 10:10:18 +0000 (10:10 +0000)]
...and we should use it correctly ;-) Damn!

20 years agoUse MNEW instead of malloc, removes warnings.
twisti [Fri, 28 May 2004 10:07:06 +0000 (10:07 +0000)]
Use MNEW instead of malloc, removes warnings.

20 years agoDefine some linux flags, maybe also used in other systems.
twisti [Thu, 27 May 2004 17:34:50 +0000 (17:34 +0000)]
Define some linux flags, maybe also used in other systems.

20 years ago- header changes
twisti [Thu, 27 May 2004 16:30:45 +0000 (16:30 +0000)]
- header changes
- install signal handlers in the posix way
- removed logging
- changed ICMD_CHECKOOM to ICMD_CHECKEXCEPTION

20 years agoSome header changes.
twisti [Thu, 27 May 2004 16:29:04 +0000 (16:29 +0000)]
Some header changes.

20 years agoReplaced findmethod with codegen_findmethod.
twisti [Thu, 27 May 2004 16:27:04 +0000 (16:27 +0000)]
Replaced findmethod with codegen_findmethod.

20 years agoChanged xoomrefs to xexceptionrefs.
twisti [Thu, 27 May 2004 16:06:14 +0000 (16:06 +0000)]
Changed xoomrefs to xexceptionrefs.

20 years ago- changed ICMD_CHECKOOM to ICMD_CHECKEXCEPTION
twisti [Thu, 27 May 2004 16:01:29 +0000 (16:01 +0000)]
- changed ICMD_CHECKOOM to ICMD_CHECKEXCEPTION
- removed warnings

20 years agocacao system changes added.
twisti [Thu, 27 May 2004 15:58:34 +0000 (15:58 +0000)]
cacao system changes added.

20 years agoThis on is huge:
twisti [Thu, 27 May 2004 15:57:33 +0000 (15:57 +0000)]
This on is huge:
  - many loader exceptions
  - other exceptions
  - better logging
  - removed some unused stuff

20 years ago- many exception related changes
twisti [Thu, 27 May 2004 15:54:42 +0000 (15:54 +0000)]
- many exception related changes
- void analyse_stack() -> methodinfo *analyse_stack(methodinfo *m)
- removed logging messages

20 years ago- changed option statistics to opt_stat
twisti [Thu, 27 May 2004 15:52:27 +0000 (15:52 +0000)]
- changed option statistics to opt_stat
- many exception changes
- defined -eager (not yet supported)

20 years ago- many changes related to exceptions
twisti [Thu, 27 May 2004 15:49:43 +0000 (15:49 +0000)]
- many changes related to exceptions
- added static methodptr jit_compile_intern() (don't call it!)
- better logging
- changed CHECKOOM to CHECKEXCEPTION
- started to change header include paths

20 years ago- many changes related to exceptions
twisti [Thu, 27 May 2004 15:46:59 +0000 (15:46 +0000)]
- many changes related to exceptions
- changed ICMD_CHECKOOM to ICMD_CHECKEXCEPTION
- removed logging messages

20 years ago- changed ICMD_CHECKOOM to ICMD_CHECKEXCEPTION
twisti [Thu, 27 May 2004 15:44:54 +0000 (15:44 +0000)]
- changed ICMD_CHECKOOM to ICMD_CHECKEXCEPTION
- removed typecheck() prototype (typecheck now has its own header)

20 years ago- #include "native.h"
twisti [Thu, 27 May 2004 15:43:11 +0000 (15:43 +0000)]
- #include "native.h"
- typecheck() returns methodinfo *
- removed logging messages

20 years ago- more exception strings defined
twisti [Thu, 27 May 2004 15:41:37 +0000 (15:41 +0000)]
- more exception strings defined
- class_java_lang_Throwable defined
- added init_system_exceptions() and compile_all_class_methods() for
  compiler exceptions
- better oom handling
- throw_cacao_exception_exit() if we cannot create an exception