cacao.git
18 years ago* src/vm/jit/i386/asmpart.S (asm_replacement_out): Added pv.
edwin [Thu, 16 Mar 2006 18:38:42 +0000 (18:38 +0000)]
* src/vm/jit/i386/asmpart.S (asm_replacement_out): Added pv.
* src/vm/jit/x86_64/asmpart.S (asm_replacement_out): Added pv.

* src/vm/jit/replace.c (replace_read_executionstate)
(replace_write_executionstate): Prepared for alpha. Some cleanup.

* src/vm/jit/replace.c (replace_write_executionstate):
Calculate stack pointer from given stack base.
(replace_executionstate_println): Added pv.
(replace_sourcestate_println): Added stackbase.

* src/vm/jit/replace.h (executionstate): Added pv.
(sourcestate): Added stackbase.

* src/vm/jit/tools/genoffsets.c (main): Added offes_pv.

* doc/stack_frames.txt: Clarifications.

18 years ago* src/vm/jit/code.c (code_get_sync_slot_count): No synchronization slots
edwin [Thu, 16 Mar 2006 18:32:11 +0000 (18:32 +0000)]
* src/vm/jit/code.c (code_get_sync_slot_count): No synchronization slots
if USE_THREADS is undefined.
(code_get_stack_frame_size): Added x86_64 alignment slot.

18 years ago* doc/stack_frames.txt: Added description of x86_64 stack frames.
edwin [Thu, 16 Mar 2006 17:29:43 +0000 (17:29 +0000)]
* doc/stack_frames.txt: Added description of x86_64 stack frames.

18 years ago* src/vm/jit/mips/md.c (sys/cachectl.h): Added.
twisti [Thu, 16 Mar 2006 17:24:18 +0000 (17:24 +0000)]
* src/vm/jit/mips/md.c (sys/cachectl.h): Added.
(md_cacheflush, md_icacheflush, md_dcacheflush): New method.

* src/vm/jit/mips/codegen.c: Use new exception stubs.
* src/vm/jit/mips/codegen.h (gen_nullptr_check, gen_bound_check)
(gen_div_check): Use new add reference functions.

* src/vm/jit/mips/patcher.c: Replaced cacheflush with md_icacheflush
or md_dcacheflush.

* src/vm/jit/mips/asmpart.S: (asm_calljavafunction): Removed.
(asm_calljavafunction2): Renamed to asm_vm_call_method. Pointer to
vm_arg block is now in a2. Use new defines.

18 years ago* doc/stack_frames.txt: Added description of alpha stack frames.
edwin [Thu, 16 Mar 2006 17:22:01 +0000 (17:22 +0000)]
* doc/stack_frames.txt: Added description of alpha stack frames.

18 years ago* src/vm/vm.c (version): Check if __VERSION__ is defined.
twisti [Thu, 16 Mar 2006 17:16:09 +0000 (17:16 +0000)]
* src/vm/vm.c (version): Check if __VERSION__ is defined.

18 years ago* src/vm/jit/x86_64/md.c (md_cacheflush): New method.
twisti [Thu, 16 Mar 2006 15:36:49 +0000 (15:36 +0000)]
* src/vm/jit/x86_64/md.c (md_cacheflush): New method.

18 years ago* src/vm/jit/alpha/codegen.c (codegen): Cast to avoid compiler warning.
edwin [Thu, 16 Mar 2006 15:28:24 +0000 (15:28 +0000)]
* src/vm/jit/alpha/codegen.c (codegen): Cast to avoid compiler warning.

18 years ago* src/vm/jit/alpha, src/vm/jit/alpha/linux,
twisti [Thu, 16 Mar 2006 15:19:46 +0000 (15:19 +0000)]
* src/vm/jit/alpha, src/vm/jit/alpha/linux,
src/vm/jit/alpha/linux/.cvsignore, src/vm/jit/alpha/freebsd,
src/vm/jit/alpha/freebsd/.cvsignore, src/vm/jit/alpha/.cvsignore:
Added TAGS.

18 years ago* src/vm/jit/alpha/md.c (md_cacheflush, md_icacheflush): New method.
twisti [Thu, 16 Mar 2006 15:16:16 +0000 (15:16 +0000)]
* src/vm/jit/alpha/md.c (md_cacheflush, md_icacheflush): New method.
* src/vm/jit/alpha/asmpart.S (asm_sync_instruction_cache): Renamed to
asm_cacheflush.
* src/vm/jit/alpha/patcher.c: Replaced asm_sync_instruction_cache with
md_icacheflush.

18 years ago* src/vm/jit/i386/md.c (md_cacheflush): New method.
twisti [Thu, 16 Mar 2006 14:29:39 +0000 (14:29 +0000)]
* src/vm/jit/i386/md.c (md_cacheflush): New method.

18 years ago* src/vm/jit/powerpc, src/vm/jit/powerpc/linux,
twisti [Thu, 16 Mar 2006 14:23:10 +0000 (14:23 +0000)]
* src/vm/jit/powerpc, src/vm/jit/powerpc/linux,
src/vm/jit/powerpc/linux/.cvsignore, src/vm/jit/powerpc/darwin,
src/vm/jit/powerpc/darwin/.cvsignore, src/vm/jit/powerpc/.cvsignore:
Added TAGS.

18 years ago* src/vm/jit/jit.h (md_cacheflush, md_icacheflush, md_dcacheflush):
twisti [Thu, 16 Mar 2006 14:19:52 +0000 (14:19 +0000)]
* src/vm/jit/jit.h (md_cacheflush, md_icacheflush, md_dcacheflush):
Added.
* src/vm/jit/asmpart.h (asm_sync_instruction_cache): Removed.

* src/vm/jit/codegen-common.c (codegen_finish): Call md_cacheflush for
the dynamic superinstructions (intrp) and the generated code.

* src/vm/jit/powerpc/codegen.c: Use new exception stubs.
* src/vm/jit/powerpc/codegen.h (gen_nullptr_check, gen_bound_check):
Use new add reference functions.

* src/vm/jit/powerpc/md.c (vm/jit/asmpart.h): Added.
(md_cacheflush, md_icacheflush, md_dcacheflush): New function.
* src/vm/jit/powerpc/patcher.c: Use new cache flush functions.

18 years ago* src/cacao/cacao.c (mm/boehm.h, mm/memory.h): Removed.
twisti [Thu, 16 Mar 2006 14:00:48 +0000 (14:00 +0000)]
* src/cacao/cacao.c (mm/boehm.h, mm/memory.h): Removed.

18 years ago* src/vm/jit/intrp/engine.c (USE_spTOS): Define it for __POWERPC__,
twisti [Thu, 16 Mar 2006 13:59:14 +0000 (13:59 +0000)]
* src/vm/jit/intrp/engine.c (USE_spTOS): Define it for __POWERPC__,
__POWERPC64__, __SPARC__. We know we need it there.

18 years ago* tests/regression/native/Makefile.am (AM_CPPFLAGS): Added OS_DIR.
twisti [Thu, 16 Mar 2006 13:56:34 +0000 (13:56 +0000)]
* tests/regression/native/Makefile.am (AM_CPPFLAGS): Added OS_DIR.

18 years ago* src/vm/jit/tools/Makefile.am, src/vm/jit/verify/Makefile.am,
twisti [Thu, 16 Mar 2006 12:53:32 +0000 (12:53 +0000)]
* src/vm/jit/tools/Makefile.am, src/vm/jit/verify/Makefile.am,
src/vm/jit/loop/Makefile.am, src/vm/jit/profile/Makefile.am,
src/cacao/Makefile.am, src/native/tools/Makefile.am,
src/native/vm/Makefile.am, src/native/Makefile.am,
src/toolbox/Makefile.am, src/mm/Makefile.am, src/cacaoh/Makefile.am
(AM_CPPFLAGS): Added OS_DIR.

18 years ago* src/vm/jit/alpha/codegen.c: Use new exception stubs.
twisti [Thu, 16 Mar 2006 12:03:47 +0000 (12:03 +0000)]
* src/vm/jit/alpha/codegen.c: Use new exception stubs.
* src/vm/jit/alpha/codegen.h (gen_nullptr_check, gen_bound_check): Use
new add reference functions.

18 years ago* src/vm/jit/replace.h (RPLPOINT_SBR): Removed obsolete flag constant.
edwin [Thu, 16 Mar 2006 04:38:42 +0000 (04:38 +0000)]
* src/vm/jit/replace.h (RPLPOINT_SBR): Removed obsolete flag constant.

18 years ago* src/vm/jit/code.c (code_codeinfo_new): Commented.
edwin [Thu, 16 Mar 2006 04:17:08 +0000 (04:17 +0000)]
* src/vm/jit/code.c (code_codeinfo_new): Commented.
(code_get_sync_slot_count): Added.
(code_get_stack_frame_size): Commented.
(code_codeinfo_free): Commented.
(code_free_code_of_method): Commented. Some cleanup.

* src/vm/jit/code.h (code_get_sync_slot_count): Added.

* src/vm/jit/i386/codegen.c (codegen): Use cd->lastmcodeptr to avoid
patching over basic block boundaries.
* src/vm/jit/x86_64/codegen.c (codegen): Likewise.

* src/vm/jit/replace.h (rplpoint): `type` and `flags` added,
`hashlink` removed.
(sourcestate): Added slots for synchronized methods.

* src/vm/jit/replace.c (replace_create_replacement_points): Store basicblock
type.
(replace_read_executionstate, replace_write_executionstate):
Handle 2-word locals. Special handling for BBTYPE_SBR and BBTYPE_EXH blocks.
Transfer synchronization slots.

18 years ago* src/vm/jit/code.c (code_get_stack_frame_size): Deal with 4/8-byte
edwin [Thu, 16 Mar 2006 00:05:18 +0000 (00:05 +0000)]
* src/vm/jit/code.c (code_get_stack_frame_size): Deal with 4/8-byte
stackslots.

* src/vm/jit/tools/genoffsets.c (main): Offsets of intregs and fltregs.

* src/vm/jit/i386/asmpart.S (asm_replacement_out): Renamed regs to
intregs. Some cleanup.

* src/vm/jit/replace.c (replace_activate_replacement_point)
(replace_deactivate_replacement_point): Enabled on x86_64.
(replace_read_executionstate, replace_write_executionstate):
Deal with 4/8-byte stackslots. Handle float registers.
(replace_executionstate_println, replace_sourcestate_println):
Print register names where possible.

* src/vm/jit/x86_64/md.c (md_patch_replacement_point): Added.
(vim boilerplate): Added.

* src/vm/jit/x86_64/codegen.c (codegen): Handle replacement points.
Generate replacement-out stubs.

* src/vm/jit/x86_64/asmpart.S (asm_replacement_out, asm_replacement_in):
Added.
(vim boilerplate): Added.

* src/vm/jit/replace.h (executionstate): Separate registers into int
and float registers. Some cleanup, use INT_REG_CNT, FLT_REG_CNT macros.

18 years ago* src/vm/jit/replace.c (replace_read_executionstate): Commented.
edwin [Wed, 15 Mar 2006 21:27:11 +0000 (21:27 +0000)]
* src/vm/jit/replace.c (replace_read_executionstate): Commented.
(replace_write_executionstate): Likewise, and set new PC here.
(replace_me): Target PC is now set in replace_write_executionstate.

18 years ago* src/vm/jit/code.h (codeinfo): Changed regalloc to use rplalloc structs.
edwin [Wed, 15 Mar 2006 20:53:23 +0000 (20:53 +0000)]
* src/vm/jit/code.h (codeinfo): Changed regalloc to use rplalloc structs.
Added fields storing stack slot counts.

* src/vm/jit/code.c, src/vm/jit/code.h (code_get_stack_frame_size): Added.

* src/vm/jit/replace.c (replace_create_replacement_points): Store full
allocation info for locals and stack slots in rplalloc structs. Store
number of stack slots.

* src/vm/jit/replace.c (replace_read_executionstate): Added.
(replace_write_executionstate): Likewise.

* src/vm/jit/replace.c (replace_me): Use dump memory for sourcestate.
Read an write executionstate. Do actual replace by calling asm_replace_in.

* src/vm/jit/replace.c (replace_replacement_point_println)
(replace_executionstate_println): Print new fields. Show correct number
of stack slots.
(replace_sourcestate_println): Added.

* src/vm/jit/replace.h (rplalloc): Added.
(rplpoint): Changed regalloc fields to use rplalloc structs.
(executionstate): Removed saved regs.
(sourcestate): Added saved regs.
(replace_executionstate_println): Now takes codeinfo* argument.
(replace_sourcestate_println): Added.

18 years ago* doc/stack_frames.txt: Added arrows indicating increasing addresses/indices.
edwin [Wed, 15 Mar 2006 20:43:09 +0000 (20:43 +0000)]
* doc/stack_frames.txt: Added arrows indicating increasing addresses/indices.

18 years ago* src/vm/jit/asmpart.h (asm_replacement_in): Added prototype.
edwin [Wed, 15 Mar 2006 20:42:00 +0000 (20:42 +0000)]
* src/vm/jit/asmpart.h (asm_replacement_in): Added prototype.

18 years ago* src/vm/jit/i386/asmpart.S (asm_replacement_out): Save all integer registers,
edwin [Wed, 15 Mar 2006 20:40:57 +0000 (20:40 +0000)]
* src/vm/jit/i386/asmpart.S (asm_replacement_out): Save all integer registers,
add space between stack frame and executionstate to accomodate changing stack
frame size.

* src/vm/jit/i386/asmpart.S (asm_replacement_in): Added.

18 years ago* src/vm/jit/tools/genoffsets.c (main): Added offset of pc and sp
edwin [Wed, 15 Mar 2006 20:38:30 +0000 (20:38 +0000)]
* src/vm/jit/tools/genoffsets.c (main): Added offset of pc and sp
in executionstate.

18 years ago* src/vm/jit/i386/codegen.c: Use new exception stubs. Don't cast with
twisti [Wed, 15 Mar 2006 17:17:35 +0000 (17:17 +0000)]
* src/vm/jit/i386/codegen.c: Use new exception stubs. Don't cast with
M_MOV_IMM.
* src/vm/jit/i386/codegen.h (M_MOV_IMM, M_IST_IMM, M_IST32_IMM)
(M_PUSH_IMM): Added cast.
(M_CMP, M_CMP_MEMBASE, M_CMP_IMM_MEMBASE): Added.

18 years ago* src/vm/jit/codegen-common.h (branchref): Removed.
twisti [Wed, 15 Mar 2006 16:36:43 +0000 (16:36 +0000)]
* src/vm/jit/codegen-common.h (branchref): Removed.
(codegendata): Removed xboundrefs, xnullrefs, xcastrefs, xstorerefs,
xdivrefs and xexceptionrefs. Added exceptionrefs.
(codegen_addxboundrefs, codegen_addxcastrefs, codegen_addxdivrefs)
(codegen_addxstorerefs, codegen_addxnullrefs)
(codegen_addxexceptionrefs): Removed.
(codegen_add_arithmeticexception_ref)
(codegen_add_arrayindexoutofboundsexception_ref)
(codegen_add_arraystoreexception_ref)
(codegen_add_classcastexception_ref)
(codegen_add_nullpointerexception_ref)
(codegen_add_fillinstacktrace_ref): New function.
* src/vm/jit/codegen-common.c: Likewise.

* src/vm/jit/dseg.h (exceptionref): New structure.

* src/vm/jit/x86_64/codegen.c: Use new exception stubs. Don't cast
with M_MOV_IMM.
* src/vm/jit/x86_64/codegen.h (M_MOV_IMM, M_IMOV_IMM): Added cast.

* src/vm/jit/stacktrace.c (stacktrace_inline_fillInStackTrace): Moved.
* src/vm/jit/stacktrace.h (STACKTRACE_inline_arithmeticexception)
(STACKTRACE_inline_arrayindexoutofboundsexception)
(STACKTRACE_inline_arraystoreexception)
(STACKTRACE_inline_classcastexception)
(STACKTRACE_inline_nullpointerexception)
(STACKTRACE_inline_fillInStackTrace): Added functionptr defines.

* src/vm/jit/jit.h (branchref): Added.

18 years ago* doc/stack_frames.txt: Added slots for synched methods.
edwin [Wed, 15 Mar 2006 12:14:24 +0000 (12:14 +0000)]
* doc/stack_frames.txt: Added slots for synched methods.

18 years ago* doc/stack_frames.txt: Added file.
edwin [Wed, 15 Mar 2006 12:04:05 +0000 (12:04 +0000)]
* doc/stack_frames.txt: Added file.

* src/vm/jit/code.h (codeinfo): Rearranged fields.

* src/vm/jit/i386/md.c, src/vm/jit/i386/asmpart.S, src/vm/jit/replace.c:
Comment changes.

18 years ago* src/vm/jit/i386/md.c (md_patch_replacement_point): Generalized to
edwin [Wed, 15 Mar 2006 11:38:02 +0000 (11:38 +0000)]
* src/vm/jit/i386/md.c (md_patch_replacement_point): Generalized to
activation and deactivation of replacement points.

* src/vm/jit/i386/codegen.c (codegen): Prepare machine code for
patching replacement points.

* src/vm/jit/replace.c, src/vm/jit/replace.h
(replace_deactivate_replacement_point): Added.

* src/vm/jit/replace.c
(replace_replacement_point_println): Print machine code.

* src/vm/jit/replace.h (rplpoint): Added `mcode` field.

18 years ago* src/vm/jit/i386/codegen.c (GETFIELD, PUTFIELD, PUTFIELDCONST): Use
twisti [Wed, 15 Mar 2006 11:18:30 +0000 (11:18 +0000)]
* src/vm/jit/i386/codegen.c (GETFIELD, PUTFIELD, PUTFIELDCONST): Use
M_ILD32 and M_LLD32 macros.
(patcher): Save REG_ITMP3. Don't allocate a codegendata structure,
just do it as on Alpha.
* src/vm/jit/i386/codegen.h (var_to_reg_lng): Added.
(store_reg_to_var_lng): Likewise.
(M_ILD32, M_LLD, M_LLD32, M_IST32, M_IST32_IMM, M_LST, M_LST32)
(M_LST_IMM, M_LST32_IMM): Likewise.

* src/vm/jit/i386/patcher.c: Changed position of return address due to
saving of REG_ITMP3.
* src/vm/jit/i386/asmpart.S (asm_wrapper_patcher): Changed due to
saving of REG_ITMP3.

18 years ago* src/vm/jit/replace.c (replace_create_replacement_points): Don't use
edwin [Wed, 15 Mar 2006 10:34:08 +0000 (10:34 +0000)]
* src/vm/jit/replace.c (replace_create_replacement_points): Don't use
rd->locals in the interpreter -- it's NULL there.

18 years ago* src/vm/jit/codegen-common.c (codegen_finish): Removed a compiler warning.
edwin [Wed, 15 Mar 2006 05:13:21 +0000 (05:13 +0000)]
* src/vm/jit/codegen-common.c (codegen_finish): Removed a compiler warning.

18 years ago* src/vm/jit/replace.h, src/vm/jit/i386/md.c (md_patch_replacement_point):
edwin [Wed, 15 Mar 2006 05:08:57 +0000 (05:08 +0000)]
* src/vm/jit/replace.h, src/vm/jit/i386/md.c (md_patch_replacement_point):
Fixed return type.

* src/vm/jit/replace.c (replace_activate_replacement_point): Only call
md_patch_replacement_point if ENABLE_JIT is defined.

18 years ago* src/vm/jit/replace.c (replace_activate_replacement_point): Do not use
edwin [Wed, 15 Mar 2006 04:57:33 +0000 (04:57 +0000)]
* src/vm/jit/replace.c (replace_activate_replacement_point): Do not use
the symbol md_patch_replacement_point on platforms where it does not
exist, yet.

18 years ago* src/vm/jit/replace.h, src/vm/jit/replace.c
edwin [Wed, 15 Mar 2006 04:43:25 +0000 (04:43 +0000)]
* src/vm/jit/replace.h, src/vm/jit/replace.c
(replace_activate_replacement_point): Added.
(replace_activate): Added prototype.
(md_patch_replacement_point): Added prototype.
(replace_me): Added.
(replace_replacement_point_println): Added.
(replace_show_replacement_points): Cleaned up.
(replace_executionstate_println): Added.

* src/vm/jit/i386/codegen.c (codegen): Generate replacement-out stubs.

* src/vm/jit/codegen-common.c (codegen_finish): Resolve replacement points.

* src/vm/jit/asmpart.h, src/vm/jit/i386/asmpart.S (asm_replacement_out): Added.

* src/vm/method.h (executionstate): Typo fixed.

* src/vm/jit/stack.c (src/vm/jit/stack.c): Minor output change.

* src/vm/jit/tools/genoffsets.c (executionstate): Added size and offset.

* src/vm/jit/i386/md.c (md_patch_replacement_point): Added.

18 years ago* src/vm/jit/replace.h, src/vm/jit/replace.c
edwin [Wed, 15 Mar 2006 01:50:12 +0000 (01:50 +0000)]
* src/vm/jit/replace.h, src/vm/jit/replace.c
(replace_replacement_info_print): Renamed to replace_show_replacement_points.
* src/vm/jit/stack.c: Likewise.

18 years ago* src/vm/jit/replace.c, src/vm/jit/replace.h
edwin [Wed, 15 Mar 2006 01:39:32 +0000 (01:39 +0000)]
* src/vm/jit/replace.c, src/vm/jit/replace.h
(replace_create_replacement_points): Added.
(replace_free_replacement_points): Added.
(replace_replacement_info_print): Added.

* src/vm/jit/replace.h (rplpoint): Changed fields, made fixed length.

* src/vm/jit/code.h (codeinfo): Changed replacement point fields.

* src/vm/jit/jit.c (jit_compile_intern): Create replacement points.

* src/vm/jit/jit.c (jit_compile_intern): Use already allocated codeinfo
for do-nothing methods.

* src/vm/jit/code.c (code_codeinfo_free): Free replacement points.

* src/vm/jit/stack.c (show_icmd_method): Print replacement points.

18 years ago* src/vm/jit/stack.c, src/vm/jit/stack.h (icmd_print_stack): Renamed to
edwin [Wed, 15 Mar 2006 00:06:03 +0000 (00:06 +0000)]
* src/vm/jit/stack.c, src/vm/jit/stack.h (icmd_print_stack): Renamed to
stack_print. Documented.
(show_icmd_method, show_icmd_block, show_icmd): Documented.
(show_icmd_block): Print basicblock.bitflags.

* src/vm/jit/stack.h (MARKREACHED): Mark targets of backward branches
as replacement points (BBFLAG_REPLACEMENT)

18 years ago* src/vm/jit/jit.h (basicblock): Added `bitflags` field. Note: The flags
edwin [Tue, 14 Mar 2006 23:49:34 +0000 (23:49 +0000)]
* src/vm/jit/jit.h (basicblock): Added `bitflags` field. Note: The flags
of this struct should really be cleaned up.

* src/vm/jit/jit.h (BASICBLOCK_INIT): Added, so we have a central place
where to put initialization of the fields.

* src/vm/jit/parse.c (parse): Cleaned up basicblock allocation.

18 years ago* src/vm/jit/jit.h (basicblock): Comment.
edwin [Tue, 14 Mar 2006 23:16:43 +0000 (23:16 +0000)]
* src/vm/jit/jit.h (basicblock): Comment.

18 years ago* src/vm/jit/parse.c (fillextable): Removed unused label_index.
edwin [Tue, 14 Mar 2006 23:00:44 +0000 (23:00 +0000)]
* src/vm/jit/parse.c (fillextable): Removed unused label_index.
(parse): Likewise.

* src/vm/jit/replace.h: Comment moved.

18 years ago* src/native/jvmti/jvmti.c (GetMethodLocation): Use the new
edwin [Tue, 14 Mar 2006 22:30:58 +0000 (22:30 +0000)]
* src/native/jvmti/jvmti.c (GetMethodLocation): Use the new
m->code field to get to the location of the method.

18 years ago* src/vm/method.h (methodinfo): Moved `entrypoint` to `codeinfo`.
edwin [Tue, 14 Mar 2006 22:16:47 +0000 (22:16 +0000)]
* src/vm/method.h (methodinfo): Moved `entrypoint` to `codeinfo`.
* src/vm/loader.c (load_method): Likewise.

* src/vm/loader.c (load_newly_created_array): Use codeinfo.entrypoint.
* src/vm/builtin.c (builtin_trace_exception): Likewise. Note: Currently
we always use the current codeinfo. This is preliminary.

* src/vm/jit/powerpc/codegen.c (codegen): Use cd->code->entrypoint.
* src/vm/jit/alpha/codegen.c (createnativestub): Likewise.
* src/vm/jit/dseg.c (dseg_resolve_datareferences): Likewise.
* src/vm/jit/mips/codegen.c (codegen, createnativestub): Likewise.
* src/vm/jit/i386/codegen.c (createnativestub): Likewise.
* src/vm/jit/intrp/codegen.c (intrp_codegen, intrp_createnativestub)
(createcalljavafunction): Likewise.
* src/vm/jit/x86_64/codegen.c (createnativestub): Likewise.

* src/vm/jit/intrp/codegen.c (nativecall): Use m->code->entrypoint.

* src/vm/jit/codegen-common.h, src/vm/jit/codegen-common.c,
src/cacaoh/headers.c (codegen_createnativestub): Now returns
the created codeinfo instead of the entrypoint.

* src/vm/jit/stacktrace.c (stacktrace_add_method): Find the codeinfo
that contains the current PC. Note: This is preliminary. We should
find the codeinfo * via the PV of the code containing the PC.

* src/vm/jit/jit.c (jit_compile): Use m->code. Create a codeinfo
for native stubs and the do-nothing stub

* src/vm/jit/codegen-common.c (codegen_finish): Set entrypoint
in codeinfo instead of in methodinfo.

18 years ago* src/vm/jit/code.c, src/vm/jit/replace.c, src/vm/jit/replace.h:
edwin [Tue, 14 Mar 2006 20:59:51 +0000 (20:59 +0000)]
* src/vm/jit/code.c, src/vm/jit/replace.c, src/vm/jit/replace.h:
Added GPL header and boilerplate.

18 years ago* src/vm/jit/code.h: Added GPL header and boilerplate.
edwin [Tue, 14 Mar 2006 20:57:20 +0000 (20:57 +0000)]
* src/vm/jit/code.h: Added GPL header and boilerplate.

18 years ago* src/vm/jit/code.c, src/vm/jit/code.h: Files added.
edwin [Tue, 14 Mar 2006 20:51:12 +0000 (20:51 +0000)]
* src/vm/jit/code.c, src/vm/jit/code.h: Files added.

* src/vm/jit/replace.c, src/vm/jit/replace.h: Files added.

* src/vm/jit/Makefile.am (code.[ch], replace.[ch]): Added.

* src/vm/method.h (methodinfo): Added field `code`. Each method
may now have zero or more codeinfo:s associated with it. A
codeinfo represents the machine code of a particular version
of the compiled method. Note: Some fields in methodinfo that
may need to be moved to codeinfo where marked XXX.

* src/vm/jit/codegen-common.h (codegendata): Added field `code`.

* src/vm/jit/codegen-common.c (codegen_setup): Allocate
a new codeinfo.
(codegen_finish): Use `code` field of codegendata.
(codegen_createnativestub): Likewise.

* src/vm/jit/stack.c (show_icmd_method, show_icmd_block):
Use `code` field of codegendata.
* src/vm/jit/dseg.c (dseg_display): Likewise.
* src/vm/jit/jit.c (jit_compile_intern): Likewise. Switch
current codeinfo after compilation is complete.

* src/cacaoh/headers.c (code_free_code_of_method): Added stub.

* src/vm/method.c (method_free): Free codeinfo:s of method.

* src/vm/loader.c (load_method): Initialize m->code.

18 years ago* src/cacao/Makefile.am (ENABLE_STATICVM): Added cacao_LDFLAGS,
twisti [Tue, 14 Mar 2006 16:40:32 +0000 (16:40 +0000)]
* src/cacao/Makefile.am (ENABLE_STATICVM): Added cacao_LDFLAGS,
otherwise the sumbols are not exported.

* src/native/include/Makefile.am (ENABLE_STATICVM): Renamed to
WITH_STATIC_CLASSPATH.

18 years ago* src/vm/jit/stacktrace.c (stacktrace_create): We have to check for an
twisti [Tue, 14 Mar 2006 16:30:21 +0000 (16:30 +0000)]
* src/vm/jit/stacktrace.c (stacktrace_create): We have to check for an
OOM when allocating from the heap.  Fixes a crash in Jonas.

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.