cacao.git
18 years ago* doc/design_onstack_replacement.txt: More design options added.
edwin [Tue, 14 Mar 2006 15:00:38 +0000 (15:00 +0000)]
* doc/design_onstack_replacement.txt: More design options added.

18 years ago* design_onstack_replacement.txt: Added file.
edwin [Mon, 13 Mar 2006 21:26:05 +0000 (21:26 +0000)]
* design_onstack_replacement.txt: Added file.

18 years ago* src/vm/vm.c (vm_create): Only put .jar file into classpath. Fixes
twisti [Mon, 13 Mar 2006 11:35:26 +0000 (11:35 +0000)]
* src/vm/vm.c (vm_create): Only put .jar file into classpath. Fixes
startup bug with knopflerfish.

18 years ago* src/native/vm/VMClass.c (Java_java_lang_VMClass_getComponentType):
edwin [Mon, 13 Mar 2006 08:02:58 +0000 (08:02 +0000)]
* src/native/vm/VMClass.c (Java_java_lang_VMClass_getComponentType):
Link class before accessing c->vftbl->arraydesc.

18 years ago* src/native/vm/VMClass.c (Java_java_lang_VMClass_getSuperclass): We must not
edwin [Mon, 13 Mar 2006 07:06:46 +0000 (07:06 +0000)]
* src/native/vm/VMClass.c (Java_java_lang_VMClass_getSuperclass): We must not
assume that the class is already linked, so we have to resolve the super class
reference. This fixes a NPE bug with Jonas.

18 years ago* src/vm/suck.c (suck_start): We really should close class files after
twisti [Sun, 12 Mar 2006 23:23:52 +0000 (23:23 +0000)]
* src/vm/suck.c (suck_start): We really should close class files after
reading it.

18 years ago* src/vm/resolve.c (resolve_class_from_typedesc): Safer check for
edwin [Sat, 11 Mar 2006 21:34:20 +0000 (21:34 +0000)]
* src/vm/resolve.c (resolve_class_from_typedesc): Safer check for
reference types.

18 years ago* src/vm/jit/codegen-common.c (codegen_finish): When setting the
edwin [Sat, 11 Mar 2006 20:41:45 +0000 (20:41 +0000)]
* src/vm/jit/codegen-common.c (codegen_finish): When setting the
entrypoint of a method, be sure not to overwrite an already set
entrypoint.

18 years ago* src/vm/references.h (IS_XCLASSREF): Commented.
edwin [Sat, 11 Mar 2006 20:34:21 +0000 (20:34 +0000)]
* src/vm/references.h (IS_XCLASSREF): Commented.

18 years ago* src/vm/references.h (IS_XCLASSREF): Added.
edwin [Sat, 11 Mar 2006 20:32:53 +0000 (20:32 +0000)]
* src/vm/references.h (IS_XCLASSREF): Added.
(CLASSREF_OR_CLASSINFO_NAME): Added.

18 years ago* src/vm/class.c, src/vm/class.h (class_classref_print): Added.
edwin [Sat, 11 Mar 2006 20:30:48 +0000 (20:30 +0000)]
* src/vm/class.c, src/vm/class.h (class_classref_print): Added.
(class_classref_println): Added.

18 years ago* src/vm/jit/jit.c (jit_compile_intern): Check if the method has been
edwin [Sat, 11 Mar 2006 16:06:20 +0000 (16:06 +0000)]
* src/vm/jit/jit.c (jit_compile_intern): Check if the method has been
compiled during static class initialization.

18 years ago* src/vm/method.c (vim boilerplate): Added.
edwin [Sat, 11 Mar 2006 15:03:49 +0000 (15:03 +0000)]
* src/vm/method.c (vim boilerplate): Added.

18 years ago* src/vm/method.c (method_vftbl_lookup): Check ACC_INTERFACE on the
edwin [Sat, 11 Mar 2006 15:01:35 +0000 (15:01 +0000)]
* src/vm/method.c (method_vftbl_lookup): Check ACC_INTERFACE on the
class, instead of on the method, where it is not set. Do not check
ACC_ABSTRACT here, because non-interface ACC_ABSTRACT methods are
looked up just like non-abstract non-interface methods.

18 years ago* src/native/vm/VMRuntime.c (vm/options.h): Added.
twisti [Fri, 10 Mar 2006 22:22:06 +0000 (22:22 +0000)]
* src/native/vm/VMRuntime.c (vm/options.h): Added.
(nativeLoad): Print dlerror output when dlopen fails.

18 years ago* autogen.sh: Fixed typo.
twisti [Thu, 9 Mar 2006 16:13:18 +0000 (16:13 +0000)]
* autogen.sh: Fixed typo.

18 years ago* src/vm/jit/powerpc/darwin/md-asm.h (asm_calljavafunction): Removed.
twisti [Thu, 9 Mar 2006 13:51:36 +0000 (13:51 +0000)]
* src/vm/jit/powerpc/darwin/md-asm.h (asm_calljavafunction): Removed.
(asm_calljavafunction_int): Likewise.
(asm_calljavafunction2): Likewise.
(asm_calljavafunction2int): Likewise.
(asm_calljavafunction2long): Likewise.
(asm_calljavafunction2float): Likewise.
(asm_calljavafunction2double): Likewise.
(_exceptionptr): Likewise.
(asm_vm_call_method): Define added.
(asm_vm_call_method_int): Likewise.
(asm_vm_call_method_long): Likewise.
(asm_vm_call_method_float): Likewise.
(asm_vm_call_method_double): Likewise.

18 years ago* src/vm/jit/powerpc/patcher.c (patcher_get_putfield): Check for the
twisti [Thu, 9 Mar 2006 13:46:36 +0000 (13:46 +0000)]
* src/vm/jit/powerpc/patcher.c (patcher_get_putfield): Check for the
instruction order on long fields.

18 years ago* autogen.sh: Check for installed programs and exit if no proper one
twisti [Thu, 9 Mar 2006 13:26:27 +0000 (13:26 +0000)]
* autogen.sh: Check for installed programs and exit if no proper one
was found.
* src/boehm-gc/autogen.sh: Use the programs found by top-level
autogen.

18 years ago* src/native/jni.c (PushLocalFrame): Implemented.
twisti [Wed, 8 Mar 2006 09:44:22 +0000 (09:44 +0000)]
* src/native/jni.c (PushLocalFrame): Implemented.
(PopLocalFrame): Likewise.
(DeleteLocalRef): Walk through all local frames.
(NewLocalRef): Allocate a new local frame if the current frame is out
of space.
(EnsureLocalCapacity): Implemented.
* src/vm/jit/codegen-common.c (codegen_finish_native_call): Release
all local reference frames.

18 years ago* src/native/vm/VMClassLoader.c (nativeGetResources): Check if
twisti [Tue, 7 Mar 2006 20:44:54 +0000 (20:44 +0000)]
* src/native/vm/VMClassLoader.c (nativeGetResources): Check if
resource is a directory and don't add it.

18 years ago* src/vm/vm.c (usage): Small change.
twisti [Tue, 7 Mar 2006 19:32:08 +0000 (19:32 +0000)]
* src/vm/vm.c (usage): Small change.

* src/native/vm/VMSystemProperties.c (preInit): Set java.ext.dirs to
$JAVA_HOME/jre/lib/ext.

18 years ago* src/cacaoh/headers.c (intrp_main_stack): Changed type.
twisti [Tue, 7 Mar 2006 18:18:44 +0000 (18:18 +0000)]
* src/cacaoh/headers.c (intrp_main_stack): Changed type.

18 years agotest
twisti [Tue, 7 Mar 2006 17:21:18 +0000 (17:21 +0000)]
test

18 years agotest
twisti [Tue, 7 Mar 2006 17:19:56 +0000 (17:19 +0000)]
test

18 years ago* src/native/jni.c (_Jv_jni_CallIntMethodA): New function.
twisti [Tue, 7 Mar 2006 10:48:24 +0000 (10:48 +0000)]
* src/native/jni.c (_Jv_jni_CallIntMethodA): New function.
(CallBooleanMethodA): Implemented.

18 years ago* src/vm/string.c (string_java_lang_StringIndexOutOfBoundsException): Added.
twisti [Tue, 7 Mar 2006 10:36:42 +0000 (10:36 +0000)]
* src/vm/string.c (string_java_lang_StringIndexOutOfBoundsException): Added.
* src/vm/stringlocal.h: Likewise.

* src/vm/exceptions.c
(exceptions_new_stringindexoutofboundsexception): New function.
(exceptions_throw_stringindexoutofboundsexception): Likewise.
* src/vm/exceptions.h: Likewise.

* src/native/jni.c (GetStringRegion): Implemented.

18 years ago* src/vm/vm.c (_Jv_jvm): Changed type to _Jv_JavaVM.
twisti [Tue, 7 Mar 2006 09:40:37 +0000 (09:40 +0000)]
* src/vm/vm.c (_Jv_jvm): Changed type to _Jv_JavaVM.
* src/vm/vm.h (_Jv_jvm): Added.

* src/native/jni.c (ptr_jvm): Removed.
(ptr_env): Likewise.
(CallStaticObjectMethodA): Implemented.
(GetJavaVM): Return _Jv_jvm as vm.
(AttachCurrentThread): Return _Jv_env as env.
(GetEnv): Likewise.
(JNI_JavaVMTable): Renamed to _Jv_JNIInvokeInterface.
(JNI_JNIEnvTable): Renamed to _Jv_JNINativeInterface.
(JNI_CreateJavaVM): Allocate a _Jv_JavaVM structure and set it up
correctly, this fixes the usage in C++ programs.
* src/native/jni.h (_Jv_JavaVM): Added.

* src/native/jvmti/jvmti.c: Renamed JNI_JavaVMTable to
_Jv_JNIInvokeInterface and JNI_JNIEnvTable to _Jv_JNINativeInterface.

18 years ago* src/vm/jit/stack.c (analyse_stack): Bugfix for copy elimination.
christian [Mon, 6 Mar 2006 18:45:13 +0000 (18:45 +0000)]
* src/vm/jit/stack.c (analyse_stack): Bugfix for copy elimination.

18 years ago* src/vm/jit/powerpc/linux/Makefile.am (LIBS): Added defined empty, as
twisti [Mon, 6 Mar 2006 13:03:05 +0000 (13:03 +0000)]
* src/vm/jit/powerpc/linux/Makefile.am (LIBS): Added defined empty, as
* this makes problems on darwin and actually we do not need to link
* the configured libraries into convenience libraries.
* src/vm/jit/powerpc/darwin/Makefile.am: Likewise.
* src/vm/jit/powerpc/Makefile.am: Likewise.
* src/vm/jit/alpha/linux/Makefile.am: Likewise.
* src/vm/jit/alpha/Makefile.am: Likewise.
* src/vm/jit/alpha/freebsd/Makefile.am: Likewise.
* src/vm/jit/tools/Makefile.am: Likewise.
* src/vm/jit/verify/Makefile.am: Likewise.
* src/vm/jit/mips/linux/Makefile.am: Likewise.
* src/vm/jit/mips/Makefile.am: Likewise.
* src/vm/jit/mips/irix/Makefile.am: Likewise.
* src/vm/jit/loop/Makefile.am: Likewise.
* src/vm/jit/inline/Makefile.am: Likewise.
* src/vm/jit/allocator/Makefile.am: Likewise.
* src/vm/jit/i386/linux/Makefile.am: Likewise.
* src/vm/jit/i386/Makefile.am: Likewise.
* src/vm/jit/i386/freebsd/Makefile.am: Likewise.
* src/vm/jit/schedule/Makefile.am: Likewise.
* src/vm/jit/intrp/Makefile.am: Likewise.
* src/vm/jit/x86_64/Makefile.am: Likewise.
* src/vm/jit/profile/Makefile.am: Likewise.
* src/vm/jit/Makefile.am: Likewise.
* src/vm/Makefile.am: Likewise.
* src/native/tools/Makefile.am: Likewise.
* src/native/vm/Makefile.am: Likewise.
* src/native/Makefile.am: Likewise.
* src/toolbox/Makefile.am: Likewise.
* src/mm/Makefile.am: Likewise.
* src/threads/native/Makefile.am: Likewise.
* src/fdlibm/Makefile.am: Likewise.

* src/cacaoh/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.

18 years ago* src/vm/jit/powerpc/asmpart.S (asm_calljavafunction): Removed.
twisti [Mon, 6 Mar 2006 00:30:36 +0000 (00:30 +0000)]
* src/vm/jit/powerpc/asmpart.S (asm_calljavafunction): Removed.
(asm_calljavafunction2): Renamed to asm_vm_call_method.

18 years ago* src/vm/jit/alpha/asmpart.S (asm_calljavafunction): Removed.
twisti [Sun, 5 Mar 2006 23:53:19 +0000 (23:53 +0000)]
* src/vm/jit/alpha/asmpart.S (asm_calljavafunction): Removed.
(asm_calljavafunction2): Renamed to asm_vm_call_method.

18 years ago* src/vm/jit/codegen-common.c (codegen_init): Removed
twisti [Sun, 5 Mar 2006 23:35:25 +0000 (23:35 +0000)]
* src/vm/jit/codegen-common.c (codegen_init): Removed
asm_calljavafunction.
* src/vm/jit/i386/asmpart.S (asm_calljavafunction): Removed.
(asm_calljavafunction2): Renamed to asm_vm_call_method.

18 years ago* src/vm/vm.c (vm_call_method_intern): Removed.
twisti [Sun, 5 Mar 2006 23:24:50 +0000 (23:24 +0000)]
* src/vm/vm.c (vm_call_method_intern): Removed.
(vm_vmargs_from_valist): Added.
(vm_vmargs_from_jvalue): Likewise.
(vm_call_method): New function.
(vm_call_method_valist): Likewise.
(vm_call_method_jvalue): Likewise.
(vm_call_method_vmarg): Likewise.
(vm_call_method_int): Likewise.
(vm_call_method_int_valist): Likewise.
(vm_call_method_int_jvalue): Likewise.
(vm_call_method_int_vmarg): Likewise.
(vm_call_method_long): Likewise.
(vm_call_method_long_valist): Likewise.
(vm_call_method_long_jvalue): Likewise.
(vm_call_method_long_vmarg): Likewise.
(vm_call_method_float): Likewise.
(vm_call_method_float_valist): Likewise.
(vm_call_method_float_jvalue): Likewise.
(vm_call_method_float_vmarg): Likewise.
(vm_call_method_double): Likewise.
(vm_call_method_double_valist): Likewise.
(vm_call_method_double_jvalue): Likewise.
(vm_call_method_double_vmarg): Likewise.
* src/vm/vm.h: Likewise.

* src/native/jni.c (_Jv_jni_fill_vmargs_from_vargs): Removed.
(_Jv_jni_vmargs_from_args): Likewise.
(_Jv_jni_CallObjectMethodA): New function.
(_Jv_jni_CallObjectMethod): Use vm_call_method.
(_Jv_jni_CallIntMethod): Likewise.
(_Jv_jni_CallLongMethod): Likewise.
(_Jv_jni_CallFloatMethod): Likewise.
(_Jv_jni_CallDoubleMethod): Likewise.
(_Jv_jni_CallVoidMethod): Likewise.
(_Jv_jni_CallVoidMethodA): Likewise.
(_Jv_jni_invokeNative): Likewise.
(CallObjectMethodA): Implemented.

* src/vm/loader.c (load_class_from_sysloader): Replaced
vm_call_method_intern by vm_call_method.
(load_class_from_classloader): Likewise.
* src/vm/finalizer.c (finalizer_run): Likewise.
* src/vm/initialize.c (initialize_class_intern): Likewise.
* src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace):
Likewise.
* src/vm/exceptions.c (throw_exception_exit_intern): Likewise.
(new_arrayindexoutofboundsexception): Likewise.
* src/vm/properties.c (properties_system_add): Likewise.
* src/cacao/cacao.c (setup_debugger_process): Likewise.
(getmainclassnamefromjar): Likewise.
(main): Likewise.
* src/native/vm/VMClassLoader.c (nativeGetResources): Likewise.
* src/native/native.c (native_new_and_init): Likewise.
(native_new_and_init_string): Likewise.
(native_new_and_init_int): Likewise.
(native_new_and_init_throwable): Likewise.
* src/threads/native/threads.c (threads_init): Likewise.
(threads_startup_thread): Likewise.
* src/cacaoh/headers.c: Likewise.

* src/vm/jit/x86_64/asmpart.S (asm_calljavafunction): Removed.
(asm_calljavafunction2): Renamed to asm_vm_call_method.
* src/vm/jit/intrp/asmpart.c: Likewise.
* src/vm/jit/asmpart.h: Likewise.

18 years ago* tests/regression/native/testarguments.c (nlsub): Use %llx on all
twisti [Sun, 5 Mar 2006 23:05:07 +0000 (23:05 +0000)]
* tests/regression/native/testarguments.c (nlsub): Use %llx on all
architectures.
(ndsub): Likewise.

18 years ago* src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
christian [Sun, 5 Mar 2006 21:54:31 +0000 (21:54 +0000)]
* src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
Bugfix and reformatting.

18 years ago* src/vm/jit/i386/asmpart.S (asm_calljavafunction2): Pointer to vm_arg
twisti [Sun, 5 Mar 2006 15:51:41 +0000 (15:51 +0000)]
* src/vm/jit/i386/asmpart.S (asm_calljavafunction2): Pointer to vm_arg
block is now in a2. Use new defines.

18 years ago* src/vm/jit/alpha/asmpart.S (asm_calljavafunction2): Pointer to
twisti [Sat, 4 Mar 2006 18:35:31 +0000 (18:35 +0000)]
* src/vm/jit/alpha/asmpart.S (asm_calljavafunction2): Pointer to
vm_arg block is now in a2. Use new defines.

18 years ago* src/vm/jit/powerpc/asmpart.S (asm_calljavafunction2): Pointer to
twisti [Sat, 4 Mar 2006 18:01:53 +0000 (18:01 +0000)]
* src/vm/jit/powerpc/asmpart.S (asm_calljavafunction2): Pointer to
vm_arg block is now in a2. Use new defines.

18 years ago* src/vm/jit/asmpart.h (ASM_CALLJAVAFUNCTION): Removed.
twisti [Sat, 4 Mar 2006 17:19:03 +0000 (17:19 +0000)]
* src/vm/jit/asmpart.h (ASM_CALLJAVAFUNCTION): Removed.
(ASM_CALLJAVAFUNCTION_ADR): Likewise.
(ASM_CALLJAVAFUNCTION_INT): Likewise.
(ASM_CALLJAVAFUNCTION2): Likewise.
(ASM_CALLJAVAFUNCTION2_ADR): Likewise.
(ASM_CALLJAVAFUNCTION2_INT): Likewise.
(ASM_CALLJAVAFUNCTION2_LONG): Likewise.
(ASM_CALLJAVAFUNCTION2_FLOAT): Likewise.
(ASM_CALLJAVAFUNCTION2_DOUBLE): Likewise.
(asm_calljavafunction2int): Changed signature.
(asm_calljavafunction2long): Likewise.
(asm_calljavafunction2float): Likewise.
(asm_calljavafunction2double): Likewise.

18 years ago* src/vm/global.h (jni_callblock): Removed.
twisti [Sat, 4 Mar 2006 17:15:44 +0000 (17:15 +0000)]
* src/vm/global.h (jni_callblock): Removed.

* src/vm/vm.c (vm/vm.h): Added.
(vm_call_method_intern): New function.
(vm_call_method_intern_int): Likewise.
(vm_call_method): Likewise.
(vm_call_method_int): Likewise.
(vm_call_method_long): Likewise.
(vm_call_method_float): Likewise.
(vm_call_method_double): Likewise.
* src/vm/vm.h (vm_arg): Structure added.
(vm_call_method_intern): New function.
(vm_call_method_intern_int): Likewise.
(vm_call_method): Likewise.
(vm_call_method_int): Likewise.
(vm_call_method_long): Likewise.
(vm_call_method_float): Likewise.
(vm_call_method_double): Likewise.

* src/vm/jit/tools/genoffsets.c (vm/vm.h): Added.
(sizejniblock): Renamed to sizevmarg.
(offjniitemtype): Renamed to offvmargtype.
(offjniitem): Renamed to offvmargdata.
* src/vm/jit/x86_64/asmpart.S (asm_calljavafunction2): Pointer to
vm_arg block is now in a2. Use new defines.

* src/vm/jit/stacktrace.c (vm/vm.h): Added.
(ASM_CALLJAVAFUNCTION): Replaced with vm_call_method_intern.
* src/vm/exceptions.c: Likewise.
* src/vm/properties.c: Likewise.
* src/vm/loader.c: Likewise.
* src/vm/finalizer.c: Likewise.
* src/vm/initialize.c: Likewise.
* src/cacao/cacao.c: Likewise.
* src/native/vm/VMClassLoader.c: Likewise.
* src/threads/native/threads.c: Likewise.

* src/cacaoh/headers.c (asm_calljavafunction): Removed.
(intrp_asm_calljavafunction): Likewise.
(vm_call_method_intern): New function.

* src/native/jni.c (fill_callblock_from_vargs): Renamed to
_Jv_jni_vmargs_from_vargs.
(fill_callblock_from_objectarray): Renamed to
_Jv_jni_vmargs_from_objectarray.
(_Jv_jni_vmargs_from_objectarray): New function.
(_Jv_jni_CallVoidMethodA): Likewise.
(ASM_CALLJAVAFUNCTION2): Replaced with appropriate vm_call_method
function.
(NewObjectA): Implemented.
(CallVoidMethodA): Likewise.
(CallNonvirtualVoidMethodA): Likewise.
(CallStaticVoidMethodA): Likewise.

18 years ago* src/vm/linker.c (link_class_intern): Handle miranda methods
twisti [Fri, 3 Mar 2006 00:00:39 +0000 (00:00 +0000)]
* src/vm/linker.c (link_class_intern): Handle miranda methods
properly.
* src/vm/global.h (ACC_MIRANDA): Defined.
* src/native/vm/VMClass.c (getDeclaredMethods): Don't return miranda
methods.

18 years ago* src/vm/options.c: Renamed runverbose to opt_verbosecall.
twisti [Wed, 1 Mar 2006 17:00:33 +0000 (17:00 +0000)]
* src/vm/options.c: Renamed runverbose to opt_verbosecall.
* src/vm/options.h: Likewise.
* src/vm/jit/alpha/codegen.c: Likewise.
* src/vm/jit/i386/codegen.c: Likewise.
* src/vm/jit/intrp/codegen.c: Likewise.
* src/vm/jit/mips/codegen.c: Likewise.
* src/vm/jit/powerpc/codegen.c: Likewise.
* src/vm/jit/x86_64/codegen.c: Likewise.
* src/vm/jit/intrp/asmpart.c: Likewise.
* src/vm/jit/intrp/dynamic-super.c: Likewise.
* src/vm/jit/intrp/java.vmg: Likewise.

* src/vm/builtin.c (builtin_trace_exception): Renamed runverbose to
opt_verbosecall. Removed stacktrace printing code.
* src/vm/exceptions.c (exceptions_handle_exception): Renamed
runverbose to opt_verbosecall. Print exception stacktrace when caught.

* src/vm/vm.c: Support Sun's commandline options and ignore them if
not supported. Reordered options.

* src/native/vm/VMObject.c (notify): Removed debug output.
(notifyAll): Likewise.
(wait): Likewise.
* src/native/vm/VMThread.c (suspend): Likewise.
(resume): Likewise.
(nativeSetPriority): Likewise.
(nativeStop): Likewise.
(yield): Likewise.

* src/native/vm/VMThrowable.c (fillInStackTrace): Renamed par1 to t.

18 years ago* src/vm/jit/intrp/dynamic-super.c (disassemble_prim): New function.
twisti [Thu, 23 Feb 2006 14:08:23 +0000 (14:08 +0000)]
* src/vm/jit/intrp/dynamic-super.c (disassemble_prim): New function.
(dynamic_super_init): Added disassembling of IADD, ILOAD and
GETFIELD_INT.

18 years ago* src/vm/jit/i386/codegen.c (createnativestub): Renamed _exceptionptr
twisti [Wed, 22 Feb 2006 14:03:30 +0000 (14:03 +0000)]
* src/vm/jit/i386/codegen.c (createnativestub): Renamed _exceptionptr
to _no_threads_exceptionptr.

18 years ago* src/vm/jit/i386/codegen.c (mm/memory.h): Added.
twisti [Wed, 22 Feb 2006 13:34:45 +0000 (13:34 +0000)]
* src/vm/jit/i386/codegen.c (mm/memory.h): Added.

18 years ago* configure.ac (VERSION_CONFIGURE_ARGS, VERSION_CC, VERSION_CFLAGS):
twisti [Tue, 21 Feb 2006 16:17:21 +0000 (16:17 +0000)]
* configure.ac (VERSION_CONFIGURE_ARGS, VERSION_CC, VERSION_CFLAGS):
Added define.
* src/vm/vm.c (version): Print configure options, compiler version and
CFLAGS.

18 years ago* src/vm/jit/intrp/java.vmg (MULTIANEWARRAY): Use malloc instead of a
twisti [Tue, 21 Feb 2006 16:06:53 +0000 (16:06 +0000)]
* src/vm/jit/intrp/java.vmg (MULTIANEWARRAY): Use malloc instead of a
dynamic-sized array (-fomit-frame-pointer).

18 years ago* src/vm/jit/intrp/codegen.c (cacao/cacao.h): Removed.
twisti [Tue, 21 Feb 2006 13:43:27 +0000 (13:43 +0000)]
* src/vm/jit/intrp/codegen.c (cacao/cacao.h): Removed.
(vm/vm.h): Added.
(createnativestub): Replaced ENABLE_STATICVM with
WITH_STATIC_CLASSPATH and &env by _Jv_env.

* src/vm/jit/intrp/patcher.c: Replaced ENABLE_STATICVM by
WITH_STATIC_CLASSPATH.
* src/vm/jit/intrp/java.vmg: Likewise.

* src/vm/vm.c (mm/memory.h): Added.
(vm_create): Allocate the main thread interpreter stack on the Java
heap.

18 years ago* src/vm/jit/jit.c (jit_compile_intern): Replaced ENABLE_STATICVM by
twisti [Tue, 21 Feb 2006 13:40:31 +0000 (13:40 +0000)]
* src/vm/jit/jit.c (jit_compile_intern): Replaced ENABLE_STATICVM by
WITH_STATIC_CLASSPATH.

18 years ago* src/cacao/cacao.c (main): Added main utf variable for better
twisti [Tue, 21 Feb 2006 13:39:51 +0000 (13:39 +0000)]
* src/cacao/cacao.c (main): Added main utf variable for better
debugability.

18 years ago* src/native/native.c: Small changes.
twisti [Tue, 21 Feb 2006 13:37:48 +0000 (13:37 +0000)]
* src/native/native.c: Small changes.

18 years ago* src/vm/loader.c (load_class_from_classloader): Added name
twisti [Tue, 21 Feb 2006 13:35:53 +0000 (13:35 +0000)]
* src/vm/loader.c (load_class_from_classloader): Added name
java.lang.String variable for better debugability.

18 years ago* src/vm/jit/powerpc/asmpart.S: Rewritten for PIC code.
twisti [Tue, 21 Feb 2006 12:41:30 +0000 (12:41 +0000)]
* src/vm/jit/powerpc/asmpart.S: Rewritten for PIC code.

18 years ago* src/vm/jit/alpha/asmpart.S: Rewritten for PIC code.
twisti [Tue, 21 Feb 2006 10:47:20 +0000 (10:47 +0000)]
* src/vm/jit/alpha/asmpart.S: Rewritten for PIC code.

18 years ago* src/vm/jit/x86_64/codegen.c (cacao/cacao.h): Removed.
twisti [Tue, 21 Feb 2006 10:39:18 +0000 (10:39 +0000)]
* src/vm/jit/x86_64/codegen.c (cacao/cacao.h): Removed.
(vm/vm.h): Added.
(createnativestub): Replaced ENABLE_STATICVM with
WITH_STATIC_CLASSPATH and &env by _Jv_env.

18 years ago* src/vm/jit/i386/.cvsignore, src/vm/jit/i386/linux/.cvsignore: Added
twisti [Tue, 21 Feb 2006 10:25:28 +0000 (10:25 +0000)]
* src/vm/jit/i386/.cvsignore, src/vm/jit/i386/linux/.cvsignore: Added
TAGS.

18 years ago* src/vm/jit/i386/asmpart.S: Rewritten for PIC code.
twisti [Tue, 21 Feb 2006 09:34:01 +0000 (09:34 +0000)]
* src/vm/jit/i386/asmpart.S: Rewritten for PIC code.

18 years ago* src/threads/native/threads.c (vm/vm.h): Added.
twisti [Tue, 21 Feb 2006 09:31:25 +0000 (09:31 +0000)]
* src/threads/native/threads.c (vm/vm.h): Added.
(threads_startup_thread): Compiler warning fix.

18 years ago* src/vm/jit/stacktrace.c (stacktrace_getCurrentClassLoader): Renamed
twisti [Tue, 21 Feb 2006 09:25:16 +0000 (09:25 +0000)]
* src/vm/jit/stacktrace.c (stacktrace_getCurrentClassLoader): Renamed
to stacktrace_getCurrentClass and it returns the first Java method's
class on the stack.
* src/vm/jit/stacktrace.h (stacktrace_getCurrentClassLoader):
Likewise.

18 years ago* src/vm/jit/intrp/engine.c (cacao/cacao.h): Removed.
twisti [Tue, 21 Feb 2006 09:18:41 +0000 (09:18 +0000)]
* src/vm/jit/intrp/engine.c (cacao/cacao.h): Removed.

18 years ago* configure.ac (AC_CONFIG_FILES): Remvoed ifconv, not yet.
twisti [Tue, 21 Feb 2006 09:14:53 +0000 (09:14 +0000)]
* configure.ac (AC_CONFIG_FILES): Remvoed ifconv, not yet.

18 years ago* configure.ac: Default to AC_ENABLE_SHARED and AC_DISABLE_STATIC.
twisti [Tue, 21 Feb 2006 09:11:53 +0000 (09:11 +0000)]
* configure.ac: Default to AC_ENABLE_SHARED and AC_DISABLE_STATIC.
(ifconv): Added.
(jni.h): Check for jni.h in GNU Classpath.
(static-classpath): Added.

* src/vm/vm.c, src/vm/vm.h: New files, contain the JVM startup code.
* src/vm/Makefile.am (libvm_la_SOURCES): Added vm.[ch].

* src/cacao/cacao.c: Removed JVM startup code.
* src/cacao/cacao.h: Removed.
* src/cacao/Makefile.am: Replaced ENABLE_STATICVM by
WITH_STATIC_CLASSPATH.
(ENABLE_STATICVM): Build a shared library when not defined.

* src/vm/options.c, src/vm/options.h (mm/memory.h, native/jni.h):
Added.
(native/jni.h): Added.
(opt_ind): Renamed to opt_index.
(opt_jar, opt_run, opt_method, opt_signature, opt_ifconv): Added.
(get_opt): Renamed to options_get.
(options_prepare): New method.

* src/cacaoh/cacaoh.c (main): Use new option handling.

* src/vm/jit/alpha/codegen.c, src/vm/jit/arm/codegen.c,
src/vm/jit/i386/codegen.c, src/vm/jit/mips/codegen.c,
src/vm/jit/powerpc/codegen.c (cacao/cacao.h): Removed.
(vm/vm.h): Added.
(createnativestub): Replaced ENABLE_STATICVM with
WITH_STATIC_CLASSPATH and &env by _Jv_env.

* src/vm/jit/patcher.h, src/vm/jit/alpha/patcher.c,
src/vm/jit/arm/patcher.c, src/vm/jit/i386/patcher.c,
src/vm/jit/mips/patcher.c, src/vm/jit/powerpc/patcher.c,
src/vm/jit/x86_64/patcher.c: Replaced ENABLE_STATICVM by
WITH_STATIC_CLASSPATH.

* src/vm/jit/x86_64/asmpart.S: Rewritten for PIC code.

* src/vm/signal.c (cacao/cacao.h): Removed.
(vm/vm.h): Added.
(signal_handler_sigint): Use vm_* functions.

* src/native/native.c: Replaced ENABLE_STATICVM by
WITH_STATIC_CLASSPATH.
(cacao/cacao.h): Removed.
(native_resolve_function): Smaller changes.

* src/native/vm/VMRuntime.c: Replaced ENABLE_STATICVM by
WITH_STATIC_CLASSPATH.
(cacao/cacao.h): Removed.
(vm/vm.h): Added.
(execInternal): Removed.
(exit): Use vm_shutdown.

* src/native/native.h: Replaced ENABLE_STATICVM by
WITH_STATIC_CLASSPATH.
* src/native/Makefile.am: Likewise.
* src/native/vm/VMSystemProperties.c: Likewise.

* src/threads/native/threads.c (cacao/cacao.h): Removed.

* src/native/jni.h: Removed our JNI stuff and include GNU Classpath's.
* src/native/jni.c: Adapt to the new jni.h header.
(Release<type>ArrayElements): Copy correct element type.
(Get<type>ArrayRegion): Likewise.
(Set<type>ArrayRegion): Likewise.

18 years ago* src/vm/global.h: Sorted java_<type>array definitions.
twisti [Mon, 20 Feb 2006 23:35:08 +0000 (23:35 +0000)]
* src/vm/global.h: Sorted java_<type>array definitions.

18 years ago* src/vm/linker.c (link_class_intern): Comment reformatted.
twisti [Mon, 20 Feb 2006 23:31:39 +0000 (23:31 +0000)]
* src/vm/linker.c (link_class_intern): Comment reformatted.

18 years ago* src/vm/jit/intrp/engine.c (USE_spTOS): Disable per default.
twisti [Mon, 20 Feb 2006 15:19:06 +0000 (15:19 +0000)]
* src/vm/jit/intrp/engine.c (USE_spTOS): Disable per default.

18 years ago* src/vm/classcache.c (classcache_new_name): Keep c89 compilers happy.
twisti [Mon, 20 Feb 2006 14:08:26 +0000 (14:08 +0000)]
* src/vm/classcache.c (classcache_new_name): Keep c89 compilers happy.

18 years ago* src/vm/jit/jit.h: added define STKEEP
christian [Sun, 19 Feb 2006 22:27:25 +0000 (22:27 +0000)]
* src/vm/jit/jit.h: added define STKEEP

* src/vm/jit/simplereg.c (reg_free_tmp_func): SAVEDTMP and TMPARG
flags are not cleared anymore from Stackslots.
(reg_alloc_dup): TEMPVARs are not reused as SAVEDVARs anymore. This
has to be checked for conflicts.
(reg_mark_copy): Added. TEMPVAR Destination Stackslots are marked here
with STCOPY, if they use a duplicated register/memory location. Not
reused register/memory locations of TEMPVAR source Stacklots are freed
again.
(allocate_scratch_registers): ICMD_DUPx and ICMD_SWAP use now the new
reg_mark_copy.

18 years ago* src/vm/jit/stack.h (COPY): Prevent setting varkind to STACKVAR for stackslots copie...
christian [Thu, 16 Feb 2006 19:39:36 +0000 (19:39 +0000)]
* src/vm/jit/stack.h (COPY): Prevent setting varkind to STACKVAR for stackslots copied by DUPx and SWAP.
(DUP) Likewise.
* src/vm/jit/stack.c (analyse_stack): Copy elimination and needed conflict resolution was implemented as
described in the CACAO paper. As "potential exception throwing instruction" for now only INVOKE*s are
regarded. Conflict resolution over DUPx and SWAP should be refined to be less conservative.
* src/vm/jit/jit.c (jit_init): Stackreq for JAVA_IINC is set to 0 again, since no dummy stackslot is
needed anymore for conflict resolution with XSTORE.
* src/vm/jit/allocator/simplereg.c (interface_regalloc): Reuse unused float and int argument registers
for interfaces, too.
(reg_free_temp): Regard the new stackslot flag STCOPY, before freeing a register/memory location.
(reg_alloc_dup): New function to allocate, if possible, the same register/memory location for stackslot
copied by DUPx and SWAP.
(allocate_scratch_registers): The new function reg_alloc_dup is used now for allocation at ICMD_DUPx and
ICMD_SWAP, if possible.
* src/vm/jit/jit.h:  Added STCOPY as stackslot flag to mark simultanously live stackslots with same
register after DUPx and SWAP.
* doc/stack.txt: Updated invariants to show the change with IINC (no dummy stacklot anymore).

18 years ago* src/native/jni.c (_Jv_jni_invokeNative): Cleanup.
edwin [Tue, 14 Feb 2006 20:27:06 +0000 (20:27 +0000)]
* src/native/jni.c (_Jv_jni_invokeNative): Cleanup.

* src/native/jni.c (Changes): Added my name.

* src/native/jni.c (vim boilerplate): Added.

18 years ago* src/native/jni.c (_Jv_jni_invokeNative): Look up _all_ instance methods
edwin [Tue, 14 Feb 2006 20:10:58 +0000 (20:10 +0000)]
* src/native/jni.c (_Jv_jni_invokeNative): Look up _all_ instance methods
in the vftbl.

18 years ago* src/vm/linker.c (link_class_intern): Do not override package-private methods
edwin [Tue, 14 Feb 2006 20:09:53 +0000 (20:09 +0000)]
* src/vm/linker.c (link_class_intern): Do not override package-private methods
from other packages.

* src/vm/linker.c (vim boilerplate): Added.

18 years ago* src/vm/classcache.c, src/vm/classcache.h: Merge cache entries when
edwin [Tue, 14 Feb 2006 15:53:36 +0000 (15:53 +0000)]
* src/vm/classcache.c, src/vm/classcache.h: Merge cache entries when
they are resolved to the same class.

18 years ago* src/vm/utf8.c, src/vm/utf8.h (utf_full_hashkey): Added.
edwin [Tue, 14 Feb 2006 15:34:50 +0000 (15:34 +0000)]
* src/vm/utf8.c, src/vm/utf8.h (utf_full_hashkey): Added.

18 years ago* configure.ac (AC_INIT): Changed version number to 0.95+cvs.
twisti [Tue, 14 Feb 2006 11:01:42 +0000 (11:01 +0000)]
* configure.ac (AC_INIT): Changed version number to 0.95+cvs.
(CFLAGS): Changed optimization back to -O0.

18 years ago* CACAO 0.95
twisti [Tue, 14 Feb 2006 10:42:27 +0000 (10:42 +0000)]
* CACAO 0.95

18 years ago* ChangeLog: Updated for release 0.95.
twisti [Tue, 14 Feb 2006 10:30:02 +0000 (10:30 +0000)]
* ChangeLog: Updated for release 0.95.

18 years ago* configure.ac: Updated version to 0.95, set optimization level to
twisti [Tue, 14 Feb 2006 10:14:28 +0000 (10:14 +0000)]
* configure.ac: Updated version to 0.95, set optimization level to
-O2, some indent changes.
* ChangeLog-2005: Removed 2006 entries.

18 years ago* src/vm/jit/profile/profile.c (profile_thread): Fixed compiler
twisti [Tue, 14 Feb 2006 01:10:45 +0000 (01:10 +0000)]
* src/vm/jit/profile/profile.c (profile_thread): Fixed compiler
warning.

18 years ago* src/vm/jit/intrp/codegen.c (createcompilerstub): Store the
twisti [Tue, 14 Feb 2006 01:05:41 +0000 (01:05 +0000)]
* src/vm/jit/intrp/codegen.c (createcompilerstub): Store the
methodinfo pointer in the same place as in the methodheader for
compiled methods.

18 years ago* src/vm/jit/x86_64/codegen.c (createcompilerstub): Store the
twisti [Tue, 14 Feb 2006 00:41:57 +0000 (00:41 +0000)]
* src/vm/jit/x86_64/codegen.c (createcompilerstub): Store the
methodinfo pointer in the same place as in the methodheader for
compiled methods.

18 years ago* contrib/svn2cl.xsl: New file.
twisti [Tue, 14 Feb 2006 00:33:22 +0000 (00:33 +0000)]
* contrib/svn2cl.xsl: New file.
* THIRDPARTY (contrib/svn2cl.xsl): Added copyright message.

18 years ago* NEWS: Updated 0.95 release notes.
twisti [Tue, 14 Feb 2006 00:05:24 +0000 (00:05 +0000)]
* NEWS: Updated 0.95 release notes.

18 years ago* src/vm/loader.c (load_field): Removed f->xta.
twisti [Tue, 14 Feb 2006 00:03:56 +0000 (00:03 +0000)]
* src/vm/loader.c (load_field): Removed f->xta.

* src/vm/class.h (vm/method.h): Added.
(vm/jit/inline/sets.h): Removed.

* src/vm/method.h (vm/jit/inline/parseXTA.h): Removed.

* src/vm/field.h (vm/jit/inline/parseXTA.h): Likewise.
(fieldinfo): Removed member xta.

* src/lib/Makefile.am (EXTRA_DIST): Fixed typo.

18 years ago* src/vm/jit/inline/sets.c, src/vm/jit/inline/parseRTstats.c,
twisti [Tue, 14 Feb 2006 00:01:03 +0000 (00:01 +0000)]
* src/vm/jit/inline/sets.c, src/vm/jit/inline/parseRTstats.c,
src/vm/jit/inline/parseRT.c, src/vm/jit/inline/parseRTflags.h,
src/vm/jit/inline/parseRTprint.h, src/vm/jit/inline/sets.h,
src/vm/jit/inline/parseRTstats.h, src/vm/jit/inline/parseRT.h,
src/vm/jit/inline/parseXTA.c, src/vm/jit/inline/parseXTA.h: Removed.

18 years ago* src/vm/class.c (class_findmethod_approx): Removed.
twisti [Mon, 13 Feb 2006 23:45:27 +0000 (23:45 +0000)]
* src/vm/class.c (class_findmethod_approx): Removed.
* src/vm/class.h (class_findmethod_approx): Likewise.
(class_resolvemethod_approx): Likewise.

18 years ago* NEWS: Added JNI method resolution fix.
edwin [Mon, 13 Feb 2006 23:16:14 +0000 (23:16 +0000)]
* NEWS: Added JNI method resolution fix.

18 years ago* src/vm/method.c (assert.h): Added.
twisti [Mon, 13 Feb 2006 18:55:55 +0000 (18:55 +0000)]
* src/vm/method.c (assert.h): Added.
(vm/linker.h): Likewise.
(vm/jit/methodheader.h): Likewise.
(method_vftbl_lookup): New method.

* src/vm/method.h (vm/linker.h): Added.
(method_vftbl_lookup): New method.

Fixes bug #17 and #18.
* src/native/jni.c: Complete rewrite of Call*Method code.

18 years ago* src/vm/utf8.c (utf_display): Some reformatting.
twisti [Mon, 13 Feb 2006 10:53:49 +0000 (10:53 +0000)]
* src/vm/utf8.c (utf_display): Some reformatting.
(utf_display_classname): Likewise.

18 years ago* src/vm/jit/mips/codegen.c (createcompilerstub): Store the methodinfo
twisti [Mon, 13 Feb 2006 00:12:24 +0000 (00:12 +0000)]
* src/vm/jit/mips/codegen.c (createcompilerstub): Store the methodinfo
pointer in the same place as in the methodheader for compiled methods.

18 years ago* src/vm/jit/alpha/md.c (md_assembler_get_patch_address): New method.
twisti [Sun, 12 Feb 2006 23:43:09 +0000 (23:43 +0000)]
* src/vm/jit/alpha/md.c (md_assembler_get_patch_address): New method.
(md_codegen_findmethod): Use assert's directly.

* src/vm/jit/mips/md.c (md_assembler_get_patch_address): Likewise.
(md_codegen_findmethod): Likewise.

* src/vm/jit/alpha/codegen.c (createcompilerstub): Store the
methodinfo pointer in the same place as in the methodheader for
compiled methods and pass the pointer in REG_ITMP1.

* src/vm/jit/alpha/md-asm.h (mptr): Defined.

* src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo
pointer is passed via itmp1.  Use md_assembler_get_patch_address to
get the patch address.
(asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer
via itmp1.

18 years ago* src/vm/jit/powerpc/codegen.c (createcompilerstub): Store the
twisti [Sun, 12 Feb 2006 23:22:36 +0000 (23:22 +0000)]
* src/vm/jit/powerpc/codegen.c (createcompilerstub): Store the
methodinfo pointer in the same place as in the methodheader for
compiled methods.

* src/vm/jit/powerpc/asmpart.S (asm_call_jit_compiler): methodinfo
pointer is passed via itmp1.
(asm_calljavafunction, asm_calljavafunction2): Pass methodinfo pointer
via itmp1.

18 years ago* src/threads/native/threads.c (threads_dump): Removed unused variable 'ee'.
edwin [Sun, 12 Feb 2006 22:08:13 +0000 (22:08 +0000)]
* src/threads/native/threads.c (threads_dump): Removed unused variable 'ee'.

18 years ago* src/native/vm/VMClass.c (Java_java_lang_VMClass_getDeclaredMethods):
edwin [Sun, 12 Feb 2006 21:57:46 +0000 (21:57 +0000)]
* src/native/vm/VMClass.c (Java_java_lang_VMClass_getDeclaredMethods):
Cast to java_lang_Class in order to avoid compiler warning.

* src/native/vm/VMClass.c (Changes): Added my name.

* src/native/vm/VMClass.c (vim biolerplate): Added.

18 years ago* src/threads/native/threads.c (allocLockRecordSimple): Fixed declaration
edwin [Sun, 12 Feb 2006 21:47:10 +0000 (21:47 +0000)]
* src/threads/native/threads.c (allocLockRecordSimple): Fixed declaration
after code error.

18 years ago* src/vm/jit/i386/codegen.c (createcompilerstub): Store the
twisti [Sun, 12 Feb 2006 16:28:35 +0000 (16:28 +0000)]
* src/vm/jit/i386/codegen.c (createcompilerstub): Store the
methodinfo* in the same place as in the methodheader for compiled
methods.

18 years ago* NEWS: Added directory check bugfix.
edwin [Sun, 12 Feb 2006 16:24:50 +0000 (16:24 +0000)]
* NEWS: Added directory check bugfix.

18 years ago* NEWS: Added two bugfixes.
edwin [Sun, 12 Feb 2006 16:10:29 +0000 (16:10 +0000)]
* NEWS: Added two bugfixes.

18 years ago* src/vm/loader.c, src/vm/loader.h (vim boilerplate): Added.
edwin [Sun, 12 Feb 2006 16:02:43 +0000 (16:02 +0000)]
* src/vm/loader.c, src/vm/loader.h (vim boilerplate): Added.

18 years ago* src/vm/zip.c (zip_open): Don't add directories to the zipfile
twisti [Sun, 12 Feb 2006 13:11:06 +0000 (13:11 +0000)]
* src/vm/zip.c (zip_open): Don't add directories to the zipfile
hashtable.  We use the trailing `/' to identify a directory (i hope
that's correct).