twisti [Tue, 6 Jun 2006 12:17:18 +0000 (12:17 +0000)]
* .externalToolBuilders/CacaoConfigure.launch: Updated to new
configure options.
twisti [Tue, 6 Jun 2006 11:22:56 +0000 (11:22 +0000)]
* configure.ac (VM_ZIP_STRING): Removed.
(--with-vm-zip): Added.
(--with-classpath-glibj-zip): Added.
(--with-flat-classpath): Removed.
* contrib/setenvinstalled.in (BOOTCLASSPATH): Use hardcoded vm.zip and
@CLASSPATH_GLIBJ_ZIP@.
* contrib/setenvsource.in: Likewise.
* src/vm/global.h (CACAO_VM_ZIP_PATH): Removed.
(CLASSPATH_GLIBJ_ZIP_PATH): Likewise.
* src/vm/vm.c (CACAO_VM_ZIP_PATH): Replaced with CACAO_VM_ZIP.
(CLASSPATH_GLIBJ_ZIP_PATH): Replaced with CLASSPATH_GLIBJ_ZIP.
* src/cacaoh/cacaoh.c: Likewise.
* src/lib/Makefile.am (GLIBJ_ZIP): Removed and replaced with
CLASSPATH_GLIBJ_ZIP.
* src/native/include/Makefile.am (VM_ZIP): Removed and replaced with
flat classes in builddir.
(GLIBJ_ZIP): Removed and replaced with CLASSPATH_GLIBJ_ZIP.
* src/native/Makefile.am: Likewise.
edwin [Thu, 1 Jun 2006 22:53:52 +0000 (22:53 +0000)]
* src/vm/jit/stack.h (NEW_CHECKOVERFLOW): New macro.
edwin [Thu, 1 Jun 2006 22:52:44 +0000 (22:52 +0000)]
* src/vm/jit/parse.c (new_parse): Use temporary fields in jitdata,
instead of methodinfo fields. Check exceptions for MONITORENTER/EXIT.
Cleaned up.
edwin [Thu, 1 Jun 2006 22:49:31 +0000 (22:49 +0000)]
* src/vm/jit/parse.h (new_block_insert): New macro.
edwin [Thu, 1 Jun 2006 22:46:54 +0000 (22:46 +0000)]
* src/vm/jit/jit.h (jitdata): Added temporary fields for development
of new instruction format.
(NEW_INSTRUCTION_GET_METHODDESC): New macro.
edwin [Thu, 1 Jun 2006 16:00:18 +0000 (16:00 +0000)]
* src/vm/resolve.c (new_resolve_field_lazy): New method. This will
become the resolve_field_lazy for the new instruction format.
(new_resolve_method_lazy): New method. This will
become the resolve_method_lazy for the new instruction format.
(new_create_unresolved_field): New method. This will
become the create_unresolved_field for the new instruction format.
(new_create_unresolved_method): New method. This will
become the create_unresolved_method for the new instruction format.
* src/vm/jit/parse.c (new_parse): Further work for new format.
* src/vm/jit/jit.h (NEW_INSTRUCTION_GET_FIELDREF): New macro.
(NEW_INSTRUCTION_GET_METHODREF): New macro.
edwin [Thu, 1 Jun 2006 15:09:24 +0000 (15:09 +0000)]
* src/vm/jit/jit.c (jcommandsize): Reformatted prettily. Use comments
instead of duplicated #defines.
edwin [Thu, 1 Jun 2006 14:36:38 +0000 (14:36 +0000)]
* src/vm/jit/jit.h (ICMD_CHECKNULL_POP): New ICMD.
* src/vm/jit/jit.c (ICMD_CHECKNULL_POP): Likewise.
* src/vm/jit/parse.c (new_parse): Further work on parsing for new
instruction format. Zero flags where necessary. Clarify policy of
at most one instruction per byte of original bytecode. Use the new
ICMD_CHECKNULL_POP for MONITORENTER/EXIT without threads.
edwin [Thu, 1 Jun 2006 13:00:33 +0000 (13:00 +0000)]
* src/vm/jit/parse.h: Reworked and documented macros for new
instruction set.
edwin [Wed, 31 May 2006 23:18:30 +0000 (23:18 +0000)]
* src/vm/jit/jit.h: Whitespace cleanup and comments.
edwin [Wed, 31 May 2006 23:03:35 +0000 (23:03 +0000)]
* src/vm/jit/parse.c (parse): Removed unnecessary variable `s4ptr`.
edwin [Wed, 31 May 2006 22:56:17 +0000 (22:56 +0000)]
* src/vm/jit/parse.c (new_parse): Implement LOOKUPSWITCH and
TABLESWITCH for the new instruction format.
* src/vm/jit/jit.h (branch_target_t): New union.
(lookup_target_t): New struct.
(s3_operand_t): lookupdefault is now a branch_target_t.
(dst_operand_t): Changed some field names and types.
twisti [Wed, 31 May 2006 22:07:13 +0000 (22:07 +0000)]
* src/native/jvmti/Makefile.am (INCLUDES): Renamed to AM_CPPFLAGS.
(LIBS): Added, required for darwin.
(libjdwp_la_SOURCES): Removed trailing \.
edwin [Wed, 31 May 2006 21:31:29 +0000 (21:31 +0000)]
* src/vm/jit/ifconv/ifconv.c (show.h): Include this instead of
stack.h.
* src/vm/jit/verify/typecheck.c (show.h): Likewise.
* src/vm/jit/inline/inline.c (show.h): Include.
* src/vm/jit/jit.c (show.h): Include.
edwin [Wed, 31 May 2006 21:10:40 +0000 (21:10 +0000)]
* src/vm/jit/show.c (show_init): Do not define this function for
NDEBUG.
edwin [Wed, 31 May 2006 20:28:27 +0000 (20:28 +0000)]
* src/vm/jit/show.h: New file.
* src/vm/jit/show.c: New file.
* src/vm/jit/stack.h (stack_show_method): Moved to show.h, renamed to
show_method.
(stack_show_basicblock): Moved to show.h, renamed to show_basicblock.
(stack_show_icmd): Moved to show.h, renamed to show_icmd.
* src/vm/jit/stack.c (lock_stack_show_icmd): Moved to show.c, renamed
to show_global_lock.
(stack_show_method): Moved to show.c, renamed to show_method.
(stack_show_basicblock): Moved to show.c, renamed to show_basicblock.
(stack_show_icmd): Moved to show.c, renamed to show_icmd.
(stack_init): This function is now empty.
* src/vm/jit/ifconv/ifconv.c (stack_show_basicblock): Renamed to
show_basicblock.
* src/vm/jit/inline/inline.c (stack_show_method): Renamed to
show_method.
(stack_show_icmd): Renamed to show_icmd.
* src/vm/jit/inline/inline_debug.inc (stack_show_icmd): Renamed to
show_icmd.
* src/vm/jit/jit.c (jit_init): Call show_init.
(stack_show_method): Renamed to show_method.
* src/vm/jit/Makefile.am (show.c): Added.
(show.h): Added.
* src/threads/native/lock.h (pthread.h): Included.
edwin [Wed, 31 May 2006 19:25:46 +0000 (19:25 +0000)]
* src/vm/jit/jit.h (s3_operant_t): Typo fixed to s3_operand_t. Thanks, twisti.
motse [Wed, 31 May 2006 13:53:16 +0000 (13:53 +0000)]
src/native/vm/VMVirtualMachine.c (suspendThread): print error message with printjvmtierror
(resumeThread): idem
(getAllLoadedClassCount): idem
(getAllLoadedClasses): idem
(getClassStatus): idem
(getAllClassMethods): idem
(getFrameCount): idem
(getThreadStatus): idem
(getSourceFile): idem
(registerEvent): idem
src/native/vm/VMMethod.c (printjvmtierror): new helper function for getting and print error messages
(getName): print error message with printjvmtierror, remove signature, generic signature
(getSignature): print error message with printjvmtierror, remove name, generic signature
(getModifiers): print error message with printjvmtierror
(getlinetable): idem
(fillVariableTable): new function for converting jvmtiLocalVariableEntry to arguments for gnu.classpath.jdwp.util.VariableTable constructor
(getVariableTable): new implementation. tries to get local variable table and return gnu.classpath.jdwp.util.VariableTable.
src/native/include/Makefile.am: add VariableTable
src/native/jvmti/VMjdwp.c (printjvmtierror) new function (duplicate) - this is a work around
(VMInit): print error message with printjvmtierror
src/native/jvmti/jvmti.c (InterruptThread): new implentation
(GetThreadInfo): switch form using javastring_tochar (uses malloc) to javastring_toutf/utf_sprint_convert_to_latin1
(GetOwnedMonitorInfo): fix error handling
(GetFrameLocation): idem
(DestroyRawMonitor): use heap_free
(GetClassSignature): fix error handling
(GetSourceFileName): use utf_bytes
(GetFieldName): fix error handling
(GetFieldDeclaringClass): add error handling
(GetFieldModifiers): idem
(GetMethodName): fix error handling
(GetClassLoaderClasses): idem
(GenerateEvents): add CHECK_CAPABILITY can_generate_compiled_method_load_events
src/native/jvmti/VMjdwp.h add printjvmtierror
twisti [Wed, 31 May 2006 13:10:49 +0000 (13:10 +0000)]
* src/vm/jit/x86_64/md-emit.h (IS_IMM8, IS_IMM32): Removed.
* src/vm/jit/emit.h (IS_IMM8, IS_IMM32): Added.
twisti [Wed, 31 May 2006 12:33:40 +0000 (12:33 +0000)]
* src/vm/jit/x86_64/emit.c: Use new emit methods, saves about 6k code
size.
(emit_membase32): New method.
(emit_memindex): Likewise.
* src/vm/jit/x86_64/md-emit.h (emit_membase32): Removed.
(emit_memindex): Likewise.
edwin [Tue, 30 May 2006 23:38:32 +0000 (23:38 +0000)]
* src/vm/jit/parse.c (new_parse): Worked on implementing parsing for
the new instruction format. (Not used, yet.)
* src/vm/jit/parse.h: Likewise.
* src/vm/jit/jit.h (INS_FLAG_UNRESOLVED, INS_FLAG_CLASS)
(INS_FLAG_ARRAY, INS_FLAG_NOCHECK): Added flag constants for new
instruction format.
edwin [Tue, 30 May 2006 12:24:51 +0000 (12:24 +0000)]
* src/vm/jit/parse.h (new_instruction): Moved `bte` field to s3.
* src/vm/jit/jit.h: Likewise.
edwin [Mon, 29 May 2006 23:59:19 +0000 (23:59 +0000)]
* src/vm/jit/jit.h (subroutineinfo): Removed unused typedef.
edwin [Mon, 29 May 2006 23:47:07 +0000 (23:47 +0000)]
* src/vm/jit/parse.h: New macros for new instruction format (not used,
yet).
* src/vm/jit/jit.h (new_instruction, ...): Further development of new
instruction format (not used, yet).
edwin [Mon, 29 May 2006 22:37:02 +0000 (22:37 +0000)]
* src/vm/jit/parse.h: Reordered and commented macros. No functional
changes.
(Changes): Added my name.
edwin [Mon, 29 May 2006 21:48:50 +0000 (21:48 +0000)]
* src/vm/jit/parse.c (new_parse): New function. This will become the
parse function for the new instruction format.
(parse): Removed obsolete variable `gp`. (Was used for old inlining).
* src/vm/jit/jit.h (jitdata): Added temporary fields
`new_instructions` and `new_instructioncount` for parallel
development of the new instruction format.
edwin [Mon, 29 May 2006 20:22:58 +0000 (20:22 +0000)]
* src/vm/jit/jit.h (new_instruction): Committed the new instruction
struct (with name `new_instruction` so it can co-exist with the old
format `instruction`).
(resolve.h): Include for new instruction format.
* src/vm/resolve.h (typeinfo.h): Include to resolve dependencies.
* src/vm/jit/parse.h: Added a reminder comment.
twisti [Mon, 29 May 2006 19:47:42 +0000 (19:47 +0000)]
* Tagging 0.96.
twisti [Mon, 29 May 2006 19:28:31 +0000 (19:28 +0000)]
* configure.ac (AC_INIT): Changed to 0.96+svn.
(CFLAGS): Changed to -O0.
twisti [Mon, 29 May 2006 18:53:56 +0000 (18:53 +0000)]
* ChangeLog: Updated.
twisti [Mon, 29 May 2006 18:52:35 +0000 (18:52 +0000)]
* configure.ac (AC_INIT): Changed to version 0.96.
(CFLAGS): Changed to -O2.
* NEWS: Changed date.
twisti [Mon, 29 May 2006 15:51:35 +0000 (15:51 +0000)]
* src/vm/vm.c (usage): Removed new-line.
twisti [Mon, 29 May 2006 15:37:11 +0000 (15:37 +0000)]
* src/vm/vm.c (OPT_GLIBJ): Added.
(Xusage): Added help for -Xglibj.
(version): Changed signature for conditional exit.
(main): Added OPT_GLIBJ. Print version after all commandline arguments
have been handled.
edwin [Mon, 29 May 2006 15:21:46 +0000 (15:21 +0000)]
* src/vm/linker.c (link_class_intern): On i386 align all fields to
just 4 bytes as gcc does. This makes the offsets of Java fields match
the offset of native headers. This fixes a bug (java.lang.Double.value
had been at offset 16, but java_lang_Double.value is offset 12).
twisti [Mon, 29 May 2006 15:17:35 +0000 (15:17 +0000)]
* src/threads/native/critical.h (signal.h): Added, build fix for some
older Darwin systems.
twisti [Mon, 29 May 2006 14:32:26 +0000 (14:32 +0000)]
* NEWS: Added a lot of stuff.
twisti [Mon, 29 May 2006 14:31:12 +0000 (14:31 +0000)]
* src/cacao/Makefile.am: Renamed libcacaovm.so to libjvm.so to be
binary compatible with Sun.
motse [Mon, 29 May 2006 09:41:02 +0000 (09:41 +0000)]
src/native/jni.c: removed jvmti.h included cacaodbg.h for GetEnv - jvmti
src/native/vm/VMVirtualMachine.c: formatting changes/removed debug statements
src/native/vm/VMMethod.c: (getName/getSignature/getModifiers/getLineTable): (Samuel Vinson) new implementation. (partially changed by motse)
src/native/jvmti/cacaodbg.h: removed unused function declarations
src/native/jvmti/jvmti.c (getcacaostacktrace): new implementation - does not yet handle traces of not current threads correctly.
(GetMethodName): fix: return JVMTI_ERROR_NULL_POINTER only on method == NULL
(GetFrameCount/GetStackTrace): fixed check for valid thread argument.
edwin [Fri, 26 May 2006 16:24:58 +0000 (16:24 +0000)]
* src/toolbox/logging.h (stdarg.h): Include it here, instead of in logging.c.
* src/toolbox/logging.c: See above.
twisti [Fri, 26 May 2006 12:58:40 +0000 (12:58 +0000)]
* src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
Removed assert.
* src/vm/jit/powerpc/darwin/md-os.c (thread_restartcriticalsection):
Compile fix. Removed assert.
edwin [Fri, 26 May 2006 12:46:03 +0000 (12:46 +0000)]
* NEWS: Added unicode cleanup.
edwin [Fri, 26 May 2006 12:44:23 +0000 (12:44 +0000)]
* NEWS: Added tasuki locks and other news.
motse [Fri, 26 May 2006 12:31:23 +0000 (12:31 +0000)]
src/native/jvmti/jvmti.c (GetClassStatus): bugfix - only compare class state
edwin [Fri, 26 May 2006 12:26:41 +0000 (12:26 +0000)]
* src/vm/jit/stacktrace.c (stacktrace_remove_stackframeinfo): Commented.
twisti [Fri, 26 May 2006 12:25:51 +0000 (12:25 +0000)]
* src/vm/jit/powerpc/linux/md-os.c (thread_restartcriticalsection):
Implemented.
* src/vm/jit/powerpc/darwin/md-os.c: Likewise.
edwin [Fri, 26 May 2006 12:19:43 +0000 (12:19 +0000)]
* src/vm/builtin.c (builtin_init): Documented.
(builtin_trace_args): Documented.
(builtin_displaymethodstop): Documented.
* src/vm/jit/alpha/md-abi.c (md_param_alloc): Documented.
* src/vm/jit/allocator/simplereg.c (allocate_scratch_registers):
Documented.
* src/vm/jit/codegen-common.c (methodtree_comparator): Documented.
(codegen_insertmethod): Documented.
* src/toolbox/util.c (getcwd): Documented.
edwin [Fri, 26 May 2006 12:09:29 +0000 (12:09 +0000)]
* src/vm/loader.h: Comment update.
* src/vm/jit/verify/typecheck.c (verify_basic_block): Removed obsolete
inlining check.
* src/vm/jit/replace.c: Typo fixed.
* src/vm/jit/reg.c: Avoid XXX as wildcard in comments.
* src/vm/jit/jit.h: Likewise.
twisti [Fri, 26 May 2006 11:57:20 +0000 (11:57 +0000)]
* src/vm/properties.c (properties_system_add): Changed
javastring_new_from_ascii to javastring_new_from_utf_string.
* src/native/jni.c (ThrowNew): Use a variable for clazz.
(JNI_CreateJavaVM): Release allocated memory if vm_create fails.
* src/threads/native/threads.c: Comments reformatted.
edwin [Fri, 26 May 2006 11:48:10 +0000 (11:48 +0000)]
* src/vm/class.c (class_resolveclassmethod): Removed obsolete XXX comments.
(class_resolveinterfacemethod): Likewise.
(class_resolvefield): Likewise.
* src/vm/classcache.h: Removed obsolete XXX comment.
* src/vm/jit/allocator/lsra.h: Changed TYPE_XXX to TYPE_* in comments.
* src/vm/jit/jit.c: Likewise.
* src/native/vm/VMObject.c (Java_java_lang_VMObject_clone):
Removed obsolete XXX comment.
* src/mm/memory.c (dump_release): Removed obsolete debugging code.
edwin [Fri, 26 May 2006 11:22:08 +0000 (11:22 +0000)]
* src/native/jni.c (DefineClass): Use javastring_new_from_utf_string.
(ThrowNew): Likewise.
twisti [Fri, 26 May 2006 09:30:22 +0000 (09:30 +0000)]
* src/mm/boehm.c (stackcall_malloc_atomic): Removed.
(stackcall_malloc_uncollectable): Likewise.
(heap_alloc_uncollectable): Use macros directly.
(heap_allocate): Likewise.
* src/vm/vm.c: Added -jvm options, which is available on darwin.
* src/vm/suck.c (scandir_filter): Changed signature for darwin.
motse [Thu, 25 May 2006 21:59:49 +0000 (21:59 +0000)]
src/vm/vm.c(usage): added information for jvmti agent for jdwp
(vm_create): jdwp code move to jvmti agent for jdwp (VMjdwp.c)
src/cacao/cacao.c (main): jdwp code move to jvmti agent for jdwp. execute jvmti_set_phase only if needed
src/native/jvmti/cacaodbg.c (setup_jdwp_thread): jdwp code move to jvmti agent for jdwp
src/native/jvmti/VMjdwp.c: change this to a jvmti complaint agent by using jni/jvmti function instead of cacao specific functions and implement a Agent_OnLoad as main entry point. Include setup_jdwp_thread function.
src/native/jvmti/Makefile.am: add libjdwp.so
src/native/jvmti/cacaodbg.h: remove no more needed global jdwp related variables
src/native/jvmti/jvmti.c: (Resume/SuspendThread(List)): add temporary implementation for trying jdwp
(jvmti_agentload): bugfix in getting/passing libname/arguments
twisti [Thu, 25 May 2006 12:28:51 +0000 (12:28 +0000)]
* vm/jit/intrp/intrp.h (global_sp): Added space, yeah, whatever...
* vm/jit/intrp/dynamic-super.c (vm/builtin.h): Added.
(vm/jit/disass.h): Likewise.
(gen_inst): Fixed compiler warnings.
* vm/jit/intrp/java.vmg: Fixed compiler warnings with
stacktrace_create_stackframeinfo.
* threads/native/threads.h (threadobject): Changed type of _global_sp
to u1*.
twisti [Thu, 25 May 2006 12:22:01 +0000 (12:22 +0000)]
* NEWS: Sorry.
twisti [Thu, 25 May 2006 12:21:23 +0000 (12:21 +0000)]
* src/vm/vm.c (HEAP_MAXSIZE): Changed to 128MB.
(STACK_SIZE): Changed to 64kB.
(Xusage): Calculate default sizes.
* NEWS: New stuff added.
twisti [Thu, 25 May 2006 11:29:32 +0000 (11:29 +0000)]
* src/vm/jit/x86_64/md-emit.h (emit_movl_reg_reg): Added.
edwin [Thu, 25 May 2006 11:24:37 +0000 (11:24 +0000)]
* configure.ac: Disable inlining and lsra by default.
twisti [Wed, 24 May 2006 14:11:16 +0000 (14:11 +0000)]
* src/threads/native/threads.c (threads_startup_thread): Allocate Java
stack on Java heap instead of hardware stack.
twisti [Wed, 24 May 2006 14:08:56 +0000 (14:08 +0000)]
* configure.ac: Added INTRP_CFLAGS.
* src/vm/jit/intrp/Makefile.am (CFLAGS): Set to INTRP_CFLAGS.
motse [Wed, 24 May 2006 11:00:38 +0000 (11:00 +0000)]
src/vm/vm.c (vm_exit): only set JVMTI_PHASE_DEAD if a jvmti agent or a jvmti environment is loaded.
src/native/jvmti/cacaodbg.c (jvmti_cacaodbgserver_quit): bugfix: set dbgcom = NULL only if all environments have been disposed.
src/native/jvmti/jvmti.c (GetLoadedClasses): remove debug statement
motse [Tue, 23 May 2006 19:52:47 +0000 (19:52 +0000)]
src/vm/classcache.c: export CLASSCACHE_LOCK/UNLOCK and lock_hashtable_classcache
src/vm/classcache.h: idem
src/native/jvmti/jvmti.c (GetLoadedClasses) implemented (sv/motse)
(GetClassSignature) fixed
motse [Tue, 23 May 2006 15:31:19 +0000 (15:31 +0000)]
src/vm/vm.c (vm_create): rename jvmti function calls
src/cacao/cacao.c (main): rename jvmti function calls
src/native/jni.c (GetEnv): rename jvmti function calls. jvmti version changed to JVMTI_VERSION_INTERFACE_JVMTI
src/native/vm/VMVirtualMachine.c (getAllLoadedClassesCount): (Samuel Vinson) implemented.
(getAllLoadedClassesCount): jvmti Deallocate call added. (sv): CallObjectMethod fix
(getAllClassMethods): (Samuel Vinson) implemented.
(getClassMethod): (Samuel Vinson) implemented.
src/native/jvmti/jvmti.h: added JVMTI_VERSION interface and mask
src/native/jvmti/cacaodbgserver.h: msg queue/shared mem related things removed. gdb related defines added.
src/native/jvmti/dbg.h: remove ptrace related things
src/native/jvmti/cacaodbg.c change setsysbrkpt name to jvmti_set_system_breakpoint, addbrkpt to jvmti_add_breakpoint, allthreads to jvmti_get_all_threads
(jvmti_cacao_debug_init): new function where fork/exec of cacaodbgserver takes place
(jvmti_set_system_breakpoint): added functionality for brkpt delete and asm label for cacaodbgserver support
(jvmti_cacaodbgserver_quit): new function for killing cacaodbgserver properly
(jvmti_cacao_generic_breakpointhandler): new function. This is the entry point for every breakpointhandler and start for a new jvmti event
(jvmti_cacao_debug_init): new function for starting up cacaodbgserver process.
src/native/jvmti/VMjdwp.c (jvmti_VMjdwpInit): function renamed
src/native/jvmti/Makefile.am: delete dbg.c. (sv) add compile/install support for cacaodbgserver.
src/native/jvmti/cacaodbg.h: breakpoint counter added to struct _brkpt. change setsysbrkpt name to jvmti_set_system_breakpoint, addbrkpt to jvmti_add_breakpoint, allthreads to jvmti_get_all_threads, fireEvent to jvmti_fireEvent, agentload to jvmti_agentload agentunload to jvmti_agentunload, getcurrentthread to jvmti_get_current_thread, set_jvmti_phase to jvmti_set_phase, new_jvmtienv to jvmti_new_environment, VMjdwpinit to jvmti_VMjdwpInit. added breakpoint table constants. removed global jdwp, jvmti, suspend, transport, agentarg variables
src/native/jvmti/jvmti.c all jvmti-environment function changed to static functions. execcallback renamed to execute_callback. fireEvent renamed to jvmti_fireEvent.
(execute_callback): add phase checks
(GetClassMethods): bugfix in copying jmethodIDs
(DisposeEnvironment): relocate work to jvmti_cacaodbgserver_quit
(jvmti_new_environment) : relocate forking new process to jvmti_cacao_debug_init
(CHECK_ADD_CAPABILITY): bugfix in adding capabilities
(GetClassMethods): bugfix coping methodinfo pointers
(SetEventNotificationMode): setsysbrkpt calls added.
rename jvmti function names.
src/native/jvmti/cacaodbgserver.c changed to support gdb insted of using ptrace directly.
(getchildprocptrace): removed
(waitloop): removed
(startgdb): new function. start a new gdb session.
(getgdboutput): new helper function for getting gdb output.
(dataevaluate): new helper function for getting value for a given expression
(commonbreakpointhandler): new function which handles SIGTRAPs and gdb breakpoint hits.
(controlloop) : new function handle communication with gdb
(main): removed old code. added calls to startgdb and controlloop
src/native/jvmti/dbg.c removed
src/threads/native/threads.h: removed threads_set_current_threadobject. added jvmti_get_threads_breakpoints
src/threads/native/threads.c: (threads_startup_thread) add thread start/end asm lables
(threads_set_current_threadobject): removed jvmti thread start support.
(jvmti_get_threads_breakpoints) new function that gets addresses of asm lables.
src/threads/native/lock.h: added definition of lock_global_pool_lock and lock_global_pool
twisti [Tue, 23 May 2006 08:51:33 +0000 (08:51 +0000)]
* src/vm/jit/x86_64/codegen.c: Changed the code generator to produce
RISC-like code. These are way too much changes to name them.
(createnativestub): Bugfix in argument saving.
* src/vm/jit/x86_64/codegen.h: Likewise.
* src/vm/jit/x86_64/emit.c: Likewise.
* src/vm/jit/x86_64/md-emit.h: Likewise.
twisti [Tue, 23 May 2006 08:42:46 +0000 (08:42 +0000)]
* src/vm/options.c (opt_heapmaxsize, opt_heapstartsize): Added.
* src/vm/options.h: Likewise.
* src/vm/vm.c (version): Print heap and stack information.
(vm_create): Use global option variables.
twisti [Tue, 23 May 2006 08:25:14 +0000 (08:25 +0000)]
* src/vm/jit/x86_64/emit.c (emit_movl_reg_reg): New function.
* src/vm/jit/x86_64/codegen.c (ICMD_L2I): Only move the low
32-bit. Otherwise this may cause a bug with e.g. array accesses, as
the index registers are treated as 64-bit.
* src/vm/jit/x86_64/codegen.h (gen_bound_check): Bugfix: only read
32-bit.
(M_IMOV): Added.
(M_ICMP_MEMBASE): Likewise.
twisti [Mon, 22 May 2006 16:14:19 +0000 (16:14 +0000)]
* configure.ac: Added --with-classpath-includedir.
twisti [Mon, 22 May 2006 09:07:15 +0000 (09:07 +0000)]
* NEWS: Some news.
twisti [Mon, 22 May 2006 09:06:44 +0000 (09:06 +0000)]
* src/vm/vm.c (vm_abort): New method.
* src/vm/vm.h: Likewise.
* src/cacaoh/headers.c: Likewise.
* src/toolbox/logging.c (log_vprint): Made non-static.
* src/toolbox/logging.h (log_vprint): Added.
* src/threads/native/threads.c (threads_sem_init): Use vm_abort.
(threads_sem_wait): Likewise.
(threads_sem_post): Likewise.
(threads_current_time_is_earlier_than): Likewise.
(threads_init): Check for pthread_attr_init error.
(threads_start_thread): Check for errors of pthread calls. Set the
threads stack size.
edwin [Thu, 18 May 2006 14:33:32 +0000 (14:33 +0000)]
* src/threads/native/lock.h, src/threads/native/lock.c: Tasuki lock
implementation (without lock deflation). This is a straight-forward
implementation that uses an extra word in java_objectheader for the
FLC (flat lock contention) bit.
* src/vm/global.h (java_objectheader): Added field `flcword`.
* src/threads/native/lock.h (Authors): Changed to myself, as there
is none of the old code remaining in this file.
* src/vm/jit/powerpc/codegen.c, src/vm/jit/alpha/codegen.c,
src/vm/jit/mips/codegen.c, src/vm/jit/i386/codegen.c,
src/vm/jit/x86_64/codegen.c (codegen, createnativestub): Add the
FLC word when creating the fake object header for patcher
synchronization.
twisti [Thu, 18 May 2006 14:06:58 +0000 (14:06 +0000)]
* src/vm/properties.c (properties_get): Search the list backwards to
get the newest entry.
twisti [Thu, 18 May 2006 12:50:32 +0000 (12:50 +0000)]
* src/vm/vm.c (version): Print default and runtime classpath
variables.
(vm_create): Add a default java.endorsed.dirs property.
twisti [Wed, 17 May 2006 22:06:38 +0000 (22:06 +0000)]
* configure.ac: Don't export BOOTCLASSPATH, that makes problems.
twisti [Wed, 17 May 2006 12:10:25 +0000 (12:10 +0000)]
* src/vm/jit/powerpc/codegen.c (createnativestub): Fixed bug and
changed argument saving and restoring.
* src/vm/jit/powerpc/asmpart.S (asm_vm_call_method): Partially
implemented Darwin bits. Still some bugs with testarguments.
twisti [Tue, 16 May 2006 13:08:30 +0000 (13:08 +0000)]
* src/vm/jit/powerpc/codegen.c (codegen): Bugfix: use REG_ITMP3 in
ICMD_L{DIV,REM} for function address. This fixes
gnu.testlet.java.math.BigInteger.divide.
edwin [Tue, 16 May 2006 01:49:29 +0000 (01:49 +0000)]
* src/threads/native/lock.c: Fixed comment formatting.
edwin [Mon, 15 May 2006 23:37:14 +0000 (23:37 +0000)]
* src/vm/jit/i386/machine-instr.h (compare_and_swap): Fixed comment.
twisti [Mon, 15 May 2006 23:31:56 +0000 (23:31 +0000)]
* configure.ac: Export BOOTCLASSPATH for javac check.
* src/cacao/Makefile.am (cacao_SOURCES)Removed cacao.h.
* src/vm/jit/inline/Makefile.am (libinline_la_SOURCES): Added
inline_debug.inc.
* src/vm/jit/powerpc/Makefile.am (DIST_SUBDIRS): Added netbsd.
edwin [Mon, 15 May 2006 23:22:48 +0000 (23:22 +0000)]
* src/vm/jit/inline/inline_debug.c: Renamed to src/vm/jit/inline/inline_debug.inc.
* src/vm/jit/inline/inline.c: #include changed to src/vm/jit/inline/inline_debug.inc.
* src/vm/resolve.c: Typo fixed.
--HG--
rename : src/vm/jit/inline/inline_debug.c => src/vm/jit/inline/inline_debug.inc
edwin [Mon, 15 May 2006 21:48:44 +0000 (21:48 +0000)]
* src/threads/native/lock.c (lock_record_remove_waiter): Made static.
(lock_monitor_wait): Likewise.
edwin [Mon, 15 May 2006 21:32:09 +0000 (21:32 +0000)]
* src/threads/native/lock.h, src/threads/native/lock.c
(lock_does_thread_hold_lock): Renamed to lock_is_held_by_current_thread
and removed thread argument, as reliable checking is only possible for
the current thread, anyway.
* src/native/vm/VMThread.c (lock_does_thread_hold_lock): Changed to
lock_is_held_by_current_thread.
* src/native/jvmti/jvmti.c (lock_does_thread_hold_lock): Changed to
lock_is_held_by_current_thread.
edwin [Mon, 15 May 2006 18:24:24 +0000 (18:24 +0000)]
* configure.ac (src/threads/green/Makefile): Removed from AC_CONFIG_FILES.
edwin [Mon, 15 May 2006 15:06:06 +0000 (15:06 +0000)]
* src/threads/native/lock.h (lock_record_pool_header_t): Documented.
(lock_record_pool_t): Documented.
* src/threads/native/lock.c: Minor whitespace cleanup.
twisti [Mon, 15 May 2006 14:40:22 +0000 (14:40 +0000)]
* THIRDPARTY: Removed green threads stuff.
twisti [Mon, 15 May 2006 14:39:05 +0000 (14:39 +0000)]
* src/vm/jit/alpha/asmpart.S (asm_perform_threadswitch)
(asm_initialize_thread_stack, asm_switchstackandcall): Removed (2nd
part of green threads removal).
* src/vm/jit/mips/asmpart.S: Likewise.
* src/vm/jit/i386/asmpart.S: Likewise.
* src/vm/jit/x86_64/asmpart.S: Likewise.
twisti [Mon, 15 May 2006 14:24:36 +0000 (14:24 +0000)]
* src/vm/hashtable.h,
src/vm/class.c,,
src/vm/suck.c,
src/vm/loader.c,
src/vm/builtin.c,
src/vm/string.c,
src/vm/suck.h,
src/vm/builtin.h,
src/vm/loader.h,
src/vm/finalizer.c,
src/vm/classcache.c,
src/vm/initialize.c,
src/vm/jit/powerpc/linux/md-os.c,
src/vm/jit/powerpc/netbsd/md-os.c,
src/vm/jit/powerpc/darwin/md-os.c,
src/vm/jit/powerpc/darwin/md-asm.h,
src/vm/jit/powerpc/codegen.c,
src/vm/jit/powerpc/asmpart.S,
src/vm/jit/codegen-common.h,
src/vm/jit/alpha/codegen.c,
src/vm/jit/alpha/linux/md-os.c,
src/vm/jit/alpha/asmpart.S,
src/vm/jit/alpha/freebsd/md-os.c,
src/vm/jit/stack.c,
src/vm/jit/code.c,
src/vm/jit/verify/typecheck.c,
src/vm/jit/mips/codegen.c,
src/vm/jit/mips/linux/md-os.c,
src/vm/jit/mips/asmpart.S,
src/vm/jit/mips/irix/md-os.c,
src/vm/jit/patcher.h,
src/vm/jit/inline/inline.c,
src/vm/jit/allocator/simplereg.c,
src/vm/jit/i386/codegen.c,
src/vm/jit/i386/linux/md-os.c,
src/vm/jit/i386/asmpart.S,
src/vm/jit/i386/freebsd/md-os.c,
src/vm/jit/parse.c,
src/vm/jit/intrp/intrp.h,
src/vm/jit/intrp/codegen.c,
src/vm/jit/intrp/engine.c,
src/vm/jit/intrp/asmpart.c,
src/vm/jit/intrp/dynamic-super.c,
src/vm/jit/intrp/java.vmg,
src/vm/jit/asmpart.h,
src/vm/jit/x86_64/md.c,
src/vm/jit/x86_64/codegen.c,
src/vm/jit/x86_64/asmpart.S,
src/vm/jit/profile/profile.c,
src/vm/jit/stacktrace.c,
src/vm/jit/jit.c,
src/vm/jit/stacktrace.h,
src/vm/jit/codegen-common.c,
src/vm/jit/jit.h,
src/vm/global.h,
src/vm/builtintable.inc,
src/vm/signal.c,
src/vm/exceptions.c,
src/vm/vm.c,
src/vm/linker.c,
src/vm/exceptions.h,
src/vm/utf8.c,
src/vm/hashtable.c,
src/cacao/cacao.c,
src/cacao/Makefile.am,
src/native/tools/Makefile.am,
src/native/tools/gennativetable.c,
src/native/jni.c,
src/native/vm/VMObject.c,
src/native/vm/VMThread.c,
src/native/jni.h,
src/native/native.c,
src/native/jvmti/cacaodbg.c,
src/native/jvmti/cacaodbg.h,
src/native/jvmti/jvmti.c,
src/toolbox/avl.c,
src/toolbox/logging.c,
src/toolbox/avl.h,
src/mm/boehm.h,
src/mm/memory.c,
src/mm/boehm.c,
src/threads/green,
src/threads/native/threads.h,
src/threads/native/threads.c,
src/threads/Makefile.am,
src/cacaoh/cacaoh.c,
src/cacaoh/headers.h,
src/cacaoh/Makefile.am,
src/cacaoh/headers.c,
configure.ac: Green threads removal, USE_THREADS renamed to
ENABLE_THREADS, NATIVE_THREADS define removed.
twisti [Mon, 15 May 2006 13:13:22 +0000 (13:13 +0000)]
* src/vm/jit/asmpart.h (calljava_xhandler2): Not required anymore.
twisti [Mon, 15 May 2006 12:23:13 +0000 (12:23 +0000)]
* src/threads/native/threads.c (sem_init, sem_post, sem_wait)
(sem_destroy): Added a pthread implementation (taken from Boehm-GC)
for Darwin, as Darwin does not have an implementation for these
functions.
* src/threads/native/threads.h (sem_t): Added structure for Darwin.
* src/threads/native/lock.h (semaphore.h): Removed.
edwin [Mon, 15 May 2006 12:14:27 +0000 (12:14 +0000)]
* src/threads/native/lock.c (THIN_UNLOCKED): Abstracted out the thin
unlocked state so we can toggle the shape bit meaning if we want.
(lock_pre_compute_thinlock): Likewise.
(lock_get_initial_lock_word): Likewise.
(lock_monitor_enter): Made void. Might save an instruction here and
there.
(lock_monitor_wait): lock_monitor_enter no longer returns the lock
record. Assert that it is still the same fat lock (it must be).
edwin [Mon, 15 May 2006 11:34:44 +0000 (11:34 +0000)]
* src/threads/native/lock.c: Added reference to thin lock paper and
explained the lockword format.
edwin [Sun, 14 May 2006 22:41:34 +0000 (22:41 +0000)]
* src/threads/native/lock.c: Thin lock implementation.
* src/threads/native/threads.h (threadobject): Added thinlock field.
(Authors, Changes): Moved myself to Authors because of rewrite.
* src/threads/native/threads.c (threads_preinit): Init index and
thinlock field of mainthreadobj here. (Needed early.)
(threads_table_add): Init pre-computed thinlock field here.
* src/threads/native/lock.h (lock_pre_compute_thinlock): New function.
edwin [Sun, 14 May 2006 22:36:35 +0000 (22:36 +0000)]
* src/threads/native/lock.c (lock_record_free_pools): Assert that
this function is not called. It does not match the new way lock
records are handled. We must find another way to free them.
* src/threads/native/threads.c (threads_init): Do not call
lock_record_free_pools.
(threads_table_add): Removed debug code.
(threads_startup_thread): Likewise.
edwin [Sun, 14 May 2006 15:34:51 +0000 (15:34 +0000)]
* src/threads/native/threads.c (threads_table_init): New function.
(threads_table_add): New function.
(threads_table_remove): New function.
(threads_table_dump): New function.
(threads_table): New global variable.
(threads_preinit): Call threads_table_init.
Call threads_table_add to add main thread.
(threads_init_threadobject): Initialize index to 0.
(threads_startup_thread): Call threads_table_add to add the thread
to the table, and threads_table_remove to remove if afterwards.
edwin [Sun, 14 May 2006 14:02:51 +0000 (14:02 +0000)]
* src/threads/native/threads.h, src/threads/native/threads.c
(nativethread): Removed. This struct is now inlined in threadobject.
(threads_table_entry_t): New type.
(threads_table_t): New type.
Some further cleanup.
* src/vm/builtin.h (THREADINFO): Becomes THREADOBJECT.
* src/vm/jit/intrp/intrp.h (THREADINFO): Becomes THREADOBJECT.
* src/vm/jit/stacktrace.c (_stackframeinfo): This is now directly
a field of threadobject.
* src/vm/jit/stacktrace.h (THREADINFO): Becomes THREADOBJECT.
* src/native/jni.h (THREADINFO): Becomes THREADOBJECT.
* src/native/jvmti/jvmti.c (isSleeping): Renamed to sleeping.
edwin [Sun, 14 May 2006 12:22:25 +0000 (12:22 +0000)]
* src/threads/native/lock.c, src/threads/native/lock.h: Rewritten
as a very basic fat lock implementation.
* src/vm/jit/powerpc64/arch.h (USE_MD_THREAD_STUFF): Renamed to
USE_FAKE_ATOMIC_INSTRUCTIONS.
* src/vm/jit/intrp/engine.c (USE_MD_THREAD_STUFF): Renamed to
USE_FAKE_ATOMIC_INSTRUCTIONS.
* src/threads/native/threads.c (USE_MD_THREAD_STUFF): Renamed to
USE_FAKE_ATOMIC_INSTRUCTIONS.
(ee.lrpool): Renamed to ee.lockrecordpools.
edwin [Sun, 14 May 2006 12:15:12 +0000 (12:15 +0000)]
* src/threads/native/threads.c (threads_calc_absolute_time): Optimize
waiting for the maximum 64-bit number of milliseconds to an unbounded
wait. This also avoids an overflow problem we seem to have with timed
waits.
edwin [Sat, 13 May 2006 23:25:20 +0000 (23:25 +0000)]
* src/threads/native/lock.c (lock_init_thread_lock_record_pool):
Renamed to lock_init_execution_env. Cleanup and Comments.
* src/threads/native/lock.h (lock_init_thread_lock_record_pool):
Renamed to lock_init_execution_env.
* src/threads/native/threads.c (lock_init_thread_lock_record_pool):
Renamed to lock_init_execution_env.
edwin [Sat, 13 May 2006 23:10:21 +0000 (23:10 +0000)]
* src/threads/native/threads.c, src/threads/native/threads.c: Further
cleanup. Still no functional changes.
Renamed external symbols are listed below.
* src/threads/native/critical.h, src/threads/native/critical.c: Cleanup.
* src/threads/native/lock.h: Cleanup.
* src/vm/jit/profile/profile.c (thread_sleep): Renamed to threads_sleep.
* src/vm/vm.c (joinAllThreads): Renamed to threads_join_all_threads.
* src/native/jni.c (thread_getself): Renamed to
threads_get_current_threadobject.
* src/native/vm/VMThread.c (thread): Typedef `thread` has been removed.
(interruptThread): Renamed to threads_interrupt_thread.
(isInterruptedThread): Renamed to threads_thread_has_been_interrupted.
(setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
(yieldThread): Renamed to threads_yield.
(interruptedThread): Renamed to threads_check_if_interrupted_and_reset.
* src/native/jvmti/cacaodbg.c (thread_getself): Renamed to
threads_get_current_threadobject.
(setthreadobject): Renamed to threads_set_current_threadobject.
* src/native/jvmti/jvmti.c (setthreadobject): Renamed to
threads_set_current_threadobject.
* src/threads/green/threads.h (yieldThread): Renamed to threads_yield.
(setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
* src/threads/green/threads.c (yieldThread): Renamed to threads_yield.
(setPriorityThread): Renamed to threads_java_lang_Thread_set_priority.
edwin [Fri, 12 May 2006 16:49:50 +0000 (16:49 +0000)]
* src/threads/native/threads.c: The Big Thread Cleanup. No functional changes,
only code motion, renaming, documenting. This file has been split into
threads.c, lock.c, and critical.c.
Externally used symbols that were renamed are listed below. Static symbol
renames are not listed.
* src/threads/native/threads.h: The Big Thread Cleanup. No functional changes,
only code motion, renaming, documenting. This file has been split into
threads.h, lock.h, and critical.h.
* src/cacaoh/cacaoh.c (initLocks): Renamed to lock_init (green threads).
* src/cacaoh/headers.c (threadcritnode): Renamed to critical_section_node_t.
* src/mm/memory.c (initObjectLock): Renamed to lock_init_object_lock.
* src/native/jvmti/jvmti.c (lockRecordPool): Renamed to lock_record_pool_t.
(pool_lock): Renamed to lock_global_pool_lock.
(global_pool): Renamed to lock_global_pool.
(ownerThread): Renamed to owner.
(threadHoldsLock): Renamed to lock_does_thread_hold_lock.
(monitorExit): Renamed to lock_monitor_exit.
(wait_cond_for_object): Renamed to lock_wait_for_object.
(signal_cond_for_object): Renamed to lock_notify_object.
(broadcast_cond_for_object): Renamed to lock_notify_all_object.
* src/native/tools/gennativetable.c (initLocks): Renamed to lock_init (green threads).
* src/native/vm/VMObject.c (initObjectLock): Renamed to lock_init_object_lock.
(wait_cond_for_object): Renamed to lock_wait_for_object.
(signal_cond_for_object): Renamed to lock_notify_object.
(broadcast_cond_for_object): Renamed to lock_notify_all_object.
* src/native/vm/VMThread.c (threadHoldsLock): Renamed to lock_does_thread_hold_lock.
* src/threads/green/locks.c, src/threads/green/locks.h
(initLocks): Renamed to lock_init.
(wait_cond_for_object): Renamed to lock_wait_for_object.
(signal_cond_for_object): Renamed to lock_notify_object.
(broadcast_cond_for_object): Renamed to lock_notify_all_object.
(internal_broadcast_cond_for_object): Renamed to internal_lock_notify_all_object.
* src/threads/green/threads.c (initLocks): Renamed to lock_init.
(internal_broadcast_cond_for_object): Renamed to internal_lock_notify_all_object.
* src/threads/native/Makefile.am (lock.c, lock.h): Added new files.
(critical.c, critical.h): Added new files.
(Changes): Added my name.
* src/threads/native/critical.c: New file.
* src/threads/native/critical.h: New file.
* src/threads/native/lock.c: New file.
* src/threads/native/lock.h: New file.
* src/toolbox/avl.c (initObjectLock): Renamed to lock_init_object_lock.
* src/vm/builtin.c (initObjectLock): Renamed to lock_init_object_lock.
(monitorEnter): Renamed to lock_monitor_enter.
(monitorExit): Renamed to lock_monitor_exit.
* src/vm/class.c (initObjectLock): Renamed to lock_init_object_lock.
* src/vm/classcache.c (initObjectLock): Likewise.
* src/vm/finalizer.c (initObjectLock): Likewise.
(wait_cond_for_object): Renamed to lock_wait_for_object.
(signal_cond_for_object): Renamed to lock_notify_object.
* src/vm/global.h (monitorLockRecord): Renamed to lock_record_t.
* src/vm/hashtable.c (initObjectLock): Renamed to lock_init_object_lock.
* src/vm/jit/asmpart.h: Added #include "threads/native/critical.h"
(threadcritnode): Renamed to critical_section_node_t.
* src/vm/jit/code.c: Comment changed.
* src/vm/jit/codegen-common.c, src/vm/jit/codegen-common.h
(threadcritnode): Renamed to critical_section_node_t.
(threadcritnodetemp): Renamed to codegen_critical_section_t.
* src/vm/jit/alpha/codegen.c (get_dummyLR): Renamed to
lock_get_initial_lock_word.
* src/vm/jit/alpha/freebsd/md-os.c (thread_checkcritical): Renamed to
critical_find_restart_point.
* src/vm/jit/alpha/linux/md-os.c (thread_checkcritical): Renamed to
critical_find_restart_point.
* src/vm/jit/i386/codegen.c (get_dummyLR): Renamed to
lock_get_initial_lock_word.
* src/vm/jit/i386/freebsd/md-os.c (thread_checkcritical): Renamed to
critical_find_restart_point.
* src/vm/jit/i386/linux/md-os.c (thread_checkcritical): Renamed to
critical_find_restart_point.
* src/vm/jit/intrp/dynamic-super.c (initObjectLock): Renamed to
lock_init_object_lock.
* src/vm/jit/mips/codegen.c (get_dummyLR): Renamed to
lock_get_initial_lock_word.
* src/vm/jit/mips/irix/md-os.c (thread_checkcritical): Renamed to
critical_find_restart_point.
* src/vm/jit/mips/linux/md-os.c (thread_checkcritical): Renamed to
critical_find_restart_point.
* src/vm/jit/powerpc/codegen.c (get_dummyLR): Renamed to
lock_get_initial_lock_word.
* src/vm/jit/profile/profile.c (wait_cond_for_object): Renamed to
lock_wait_for_object.
* src/vm/jit/stack.c (initObjectLock): Renamed to
lock_init_object_lock.
* src/vm/jit/x86_64/codegen.c (get_dummyLR): Renamed to
lock_get_initial_lock_word.
* src/vm/jit/x86_64/md.c (thread_checkcritical): Renamed to
critical_find_restart_point.
* src/vm/loader.c (initObjectLock): Renamed to
lock_init_object_lock.
(initLocks): Renamed to lock_init (green threads).
* src/vm/string.c (initObjectLock): Renamed to
lock_init_object_lock.
* src/vm/vm.c (initLocks): Renamed to lock_init (green threads).
twisti [Fri, 12 May 2006 14:32:53 +0000 (14:32 +0000)]
* src/vm/jit/emit.h: Replaced __POWERPC__ #ifdef with
SIZEOF_VOID_P == 4.