cacao.git
19 years agomore statistics, less crashing
jowenn [Sat, 30 Apr 2005 13:45:06 +0000 (13:45 +0000)]
more statistics, less crashing

19 years agoWe need an extra patcher_putfieldconst fro x86_64.
twisti [Sat, 30 Apr 2005 13:29:57 +0000 (13:29 +0000)]
We need an extra patcher_putfieldconst fro x86_64.

19 years ago- use new patcher for putfieldconst
twisti [Sat, 30 Apr 2005 13:29:34 +0000 (13:29 +0000)]
- use new patcher for putfieldconst
- warning fixes

19 years ago- sync stuff must be done before builtin_monitorexit
twisti [Sat, 30 Apr 2005 13:28:35 +0000 (13:28 +0000)]
- sync stuff must be done before builtin_monitorexit
- implemented patcher_putfieldconst

19 years agoEnabled SUPPORT_CONST_STORE again.
twisti [Sat, 30 Apr 2005 13:27:50 +0000 (13:27 +0000)]
Enabled SUPPORT_CONST_STORE again.

19 years agoincrease the MAXLIGTEXT constant. Perhaps it's a littlebit too generous now,
jowenn [Sat, 30 Apr 2005 11:51:55 +0000 (11:51 +0000)]
increase the MAXLIGTEXT constant. Perhaps it's a littlebit too generous now,
but at least verbosecall doesn't crash anymore during eclipse startup.
It should be considered, if using a constant smaller length should be used and if necessary dynamically increased

19 years agoRemoved debug output, sync code works, checked on c4.
twisti [Fri, 29 Apr 2005 19:29:17 +0000 (19:29 +0000)]
Removed debug output, sync code works, checked on c4.

19 years agoAdded get_dummyLR.
twisti [Fri, 29 Apr 2005 19:17:55 +0000 (19:17 +0000)]
Added get_dummyLR.

19 years ago- also save temporary registers in leaf methods for -verbosecall
twisti [Fri, 29 Apr 2005 19:01:51 +0000 (19:01 +0000)]
- also save temporary registers in leaf methods for -verbosecall
- create a virtual java_objectheader in patchref stubs to synchronize
  patcher calls
- use some alpha macros

19 years agoI think we should also use some alpha macros on x86_64.
twisti [Fri, 29 Apr 2005 18:55:49 +0000 (18:55 +0000)]
I think we should also use some alpha macros on x86_64.

19 years agoAgain a libc-movaps bugfix. Arghhh!
twisti [Fri, 29 Apr 2005 18:55:09 +0000 (18:55 +0000)]
Again a libc-movaps bugfix. Arghhh!

19 years agoAdded additional {INT,FLT}_*_CNT defines.
twisti [Fri, 29 Apr 2005 18:54:31 +0000 (18:54 +0000)]
Added additional {INT,FLT}_*_CNT defines.

19 years agoSynchronize patcher functions. Unfortunately it's not possible to write a
twisti [Fri, 29 Apr 2005 15:22:08 +0000 (15:22 +0000)]
Synchronize patcher functions. Unfortunately it's not possible to write a
wrapper for all patcher functions (ra is calculated differently).

19 years agoPass java_objectheader to asm_wrapper_patcher.
twisti [Fri, 29 Apr 2005 15:18:14 +0000 (15:18 +0000)]
Pass java_objectheader to asm_wrapper_patcher.

19 years ago-sa bugfix in patcher_builtin_checkarraycast,
twisti [Thu, 28 Apr 2005 13:31:55 +0000 (13:31 +0000)]
-sa bugfix in patcher_builtin_checkarraycast,
patcher_builtin_arrayinstanceof.

19 years agotestcases for (cond) ? x:y
jowenn [Thu, 28 Apr 2005 12:52:02 +0000 (12:52 +0000)]
testcases for  (cond) ? x:y

19 years agothe real implementation doesn't work yet as I would like, so this is only to make...
jowenn [Thu, 28 Apr 2005 12:38:50 +0000 (12:38 +0000)]
the real implementation doesn't work yet as I would like, so this is only to make eclipse startup that much, that the show assembler runtime option crashes

19 years agoless debug output to make twisti happy
jowenn [Thu, 28 Apr 2005 12:34:39 +0000 (12:34 +0000)]
less debug output to make twisti happy

19 years agoless debug output
jowenn [Thu, 28 Apr 2005 12:19:06 +0000 (12:19 +0000)]
less debug output

19 years agodon't optimize too much
jowenn [Thu, 28 Apr 2005 09:12:23 +0000 (09:12 +0000)]
don't optimize too much

19 years agoForgot code patching nop's in checkcast/instanceof with -sa.
twisti [Wed, 27 Apr 2005 14:29:21 +0000 (14:29 +0000)]
Forgot code patching nop's in checkcast/instanceof with -sa.

19 years agoDo it like on alpha in patcher_get_putstatic.
twisti [Wed, 27 Apr 2005 14:28:15 +0000 (14:28 +0000)]
Do it like on alpha in patcher_get_putstatic.

19 years agogeneral: less warnings in stacktrace.c
jowenn [Wed, 27 Apr 2005 13:17:07 +0000 (13:17 +0000)]
general: less warnings in stacktrace.c

x86_64: fix for clinit within native stub

19 years agoAdded: doit's and try-catch blocks
twisti [Wed, 27 Apr 2005 12:58:29 +0000 (12:58 +0000)]
Added: doit's and try-catch blocks

19 years ago*** empty log message ***
christian [Wed, 27 Apr 2005 12:58:28 +0000 (12:58 +0000)]
*** empty log message ***

19 years ago- float register defines (couldn't find a header file at least on osf)
twisti [Wed, 27 Apr 2005 12:53:03 +0000 (12:53 +0000)]
- float register defines (couldn't find a header file at least on osf)
- added float registers to SAVE_*_REGISTERS, RESTORE_*_REGISTERS
- return zero in exception case in asm_calljavafunction2
- fixed gp bug in asm_throw_and_handle_exception: hit with hardware
  null pointer
- changes in asm_wrapper_patcher

19 years ago- use itmp3 for patchref branch and save the return address in the patchref
twisti [Wed, 27 Apr 2005 12:46:40 +0000 (12:46 +0000)]
- use itmp3 for patchref branch and save the return address in the patchref
  stub, since the ra register is not saved in leaf methods
- implemented remaining lazy loading stuff

19 years agoMoved ALIGNCODENOP from codegen.c
twisti [Wed, 27 Apr 2005 12:44:54 +0000 (12:44 +0000)]
Moved ALIGNCODENOP from codegen.c

19 years agoThe return address is now store on the stack in the patchref stub, since
twisti [Wed, 27 Apr 2005 12:44:31 +0000 (12:44 +0000)]
The return address is now store on the stack in the patchref stub, since
the ra register may not be saved in leaf methods.

19 years ago- remaining lazy loading stuff for alpha
twisti [Wed, 27 Apr 2005 12:42:39 +0000 (12:42 +0000)]
- remaining lazy loading stuff for alpha
- print `(NOT RESOLVED)' for invoke instructions

19 years agoRemaining lazy loading stuff for alpha.
twisti [Wed, 27 Apr 2005 12:42:00 +0000 (12:42 +0000)]
Remaining lazy loading stuff for alpha.

19 years agoDefine M_NOP.
twisti [Tue, 26 Apr 2005 19:50:58 +0000 (19:50 +0000)]
Define M_NOP.

19 years ago- handle monitorenter/exit inline
twisti [Tue, 26 Apr 2005 19:50:42 +0000 (19:50 +0000)]
- handle monitorenter/exit inline
- renamed ICMD_NULLCHECKPOP to ICMD_CHECKNULL
- generate 5 nop's with showdisassemble for patchrefs
- all patchrefs use the same patcher wrapper

19 years ago- all patcher use the same wrapper and thus the same passing conventions
twisti [Tue, 26 Apr 2005 19:49:15 +0000 (19:49 +0000)]
- all patcher use the same wrapper and thus the same passing conventions
- skip nop's with showdisassemble

19 years ago- removed: asm_builtin_monitorenter, asm_builtin_monitorexit (these are now
twisti [Tue, 26 Apr 2005 19:48:02 +0000 (19:48 +0000)]
- removed: asm_builtin_monitorenter, asm_builtin_monitorexit (these are now
  handled inline)
- we only need one patcher wrapper

19 years agoLazy loading for alpha and code patching stuff.
twisti [Tue, 26 Apr 2005 16:16:05 +0000 (16:16 +0000)]
Lazy loading for alpha and code patching stuff.

19 years agoLazy loading for alpha (some left).
twisti [Tue, 26 Apr 2005 16:15:17 +0000 (16:15 +0000)]
Lazy loading for alpha (some left).

19 years agoLazy loading for alpha.
twisti [Tue, 26 Apr 2005 16:14:56 +0000 (16:14 +0000)]
Lazy loading for alpha.

19 years agoAdded patcher_checkcast_instanceof_class for other architectures than i386
twisti [Tue, 26 Apr 2005 16:14:39 +0000 (16:14 +0000)]
Added patcher_checkcast_instanceof_class for other architectures than i386
and x86_64.

19 years ago- lazy loading for alpha (some left)
twisti [Tue, 26 Apr 2005 16:14:07 +0000 (16:14 +0000)]
- lazy loading for alpha (some left)
- bugfix: don't pass NULL to builtin functions, since RISC machines
  optimize that to a `clr reg' or similar
- BUILTIN_anewarray replaced with BUILTIN_newarray

19 years agoAdded asm_sync_instruction_cache for alpha.
twisti [Tue, 26 Apr 2005 16:12:27 +0000 (16:12 +0000)]
Added asm_sync_instruction_cache for alpha.

19 years agoSmall bugfix in invokevirtual.
twisti [Tue, 26 Apr 2005 16:11:58 +0000 (16:11 +0000)]
Small bugfix in invokevirtual.

19 years agoCode patching: alpha define in builtin table.
twisti [Tue, 26 Apr 2005 16:11:10 +0000 (16:11 +0000)]
Code patching: alpha define in builtin table.

19 years agoAdded java.runtime.version, java.runtime.name properties for tomcat4.
twisti [Tue, 26 Apr 2005 16:10:30 +0000 (16:10 +0000)]
Added java.runtime.version, java.runtime.name properties for tomcat4.

19 years ago- doit
twisti [Tue, 26 Apr 2005 09:11:21 +0000 (09:11 +0000)]
- doit
- try-catch blocks

19 years agoOops, sorry for that.
twisti [Mon, 25 Apr 2005 23:15:32 +0000 (23:15 +0000)]
Oops, sorry for that.

19 years ago- removed unused i386 stuff (asm_builtin_newarray,
twisti [Mon, 25 Apr 2005 14:19:52 +0000 (14:19 +0000)]
- removed unused i386 stuff (asm_builtin_newarray,
  asm_builtin_arrayinstanceof)
- changed asm_wrapper_patcher_builtin_* to patcher_builtin_*

19 years ago- monitorenter/exit are now handled inline
twisti [Mon, 25 Apr 2005 14:16:45 +0000 (14:16 +0000)]
- monitorenter/exit are now handled inline
- renamed ICMD_NULLCHECKPOP to ICMD_CHECKNULL
- generate nop's for showdisassemble (-sa)
- all lazy instructions use patchref

19 years ago- removed ALIGNCODENOP
twisti [Mon, 25 Apr 2005 14:15:14 +0000 (14:15 +0000)]
- removed ALIGNCODENOP
- added M_NOP

19 years ago- changes signatures (every patcher uses the same assembler wrapper)
twisti [Mon, 25 Apr 2005 14:14:54 +0000 (14:14 +0000)]
- changes signatures (every patcher uses the same assembler wrapper)
- handle showdisassemble (-sa)

19 years agoRemoved (a lot of stuff):
twisti [Mon, 25 Apr 2005 14:13:56 +0000 (14:13 +0000)]
Removed (a lot of stuff):
  - unrequired patcher wrapper
  - asm_builtin_monitorenter, asm_builtin_monitorexit: are now handled
    inline
  - asm_builtin_newarray, asm_builtin_multianewarray,
    asm_builtin_arrayinstanceof: not required anymore since 4-byte stack
    slots (i386 calling convention)

19 years ago- changed signatures
twisti [Mon, 25 Apr 2005 14:10:56 +0000 (14:10 +0000)]
- changed signatures
- added functionptr defines

19 years agoAdded: BUILTIN1T, BUILTIN2T which take a target argument. The normal
twisti [Mon, 25 Apr 2005 14:10:17 +0000 (14:10 +0000)]
Added: BUILTIN1T, BUILTIN2T which take a target argument. The normal
BUILTIN macros set target to NULL.

19 years agonew, newarray, multianewarray, checkarraycast, arrayinstanceof now also use
twisti [Mon, 25 Apr 2005 14:09:30 +0000 (14:09 +0000)]
new, newarray, multianewarray, checkarraycast, arrayinstanceof now also use
the patchref stuff, so we need only 1 wrapper.

19 years agoWe need only on assembler patcher wrapper, removed the others.
twisti [Mon, 25 Apr 2005 14:07:19 +0000 (14:07 +0000)]
We need only on assembler patcher wrapper, removed the others.

19 years agoReplaced asm_wrapper_patcher_BUILTIN_* with PATCHER_builtin_* macros in
twisti [Mon, 25 Apr 2005 14:06:16 +0000 (14:06 +0000)]
Replaced asm_wrapper_patcher_BUILTIN_* with PATCHER_builtin_* macros in
builtin table.

19 years agoRemoved: asm_builtin_arrayinstanceof, asm_builtin_newarray (since the i386
twisti [Mon, 25 Apr 2005 14:05:29 +0000 (14:05 +0000)]
Removed: asm_builtin_arrayinstanceof, asm_builtin_newarray (since the i386
has now 4-byte stack slots, they are not required anymore).

19 years agoReserve 0(esp) for argument of monitor enter for synchronized methods
christian [Mon, 25 Apr 2005 10:14:50 +0000 (10:14 +0000)]
Reserve 0(esp) for argument of monitor enter for synchronized methods

19 years ago- made builtin_monitorexit void
twisti [Mon, 25 Apr 2005 10:01:30 +0000 (10:01 +0000)]
- made builtin_monitorexit void
- some code reformatting

19 years agoDon't use assembler monitorenter/exit wrapper anymore.
twisti [Mon, 25 Apr 2005 10:00:09 +0000 (10:00 +0000)]
Don't use assembler monitorenter/exit wrapper anymore.

19 years agoasmpart.S for 4 Byte Stackslots
christian [Mon, 25 Apr 2005 08:50:52 +0000 (08:50 +0000)]
asmpart.S for 4 Byte Stackslots

19 years agocodegen.c for 4 Byte Stack Slots
christian [Mon, 25 Apr 2005 07:23:46 +0000 (07:23 +0000)]
codegen.c for 4 Byte Stack Slots

19 years agoDo a ICMD_CHECKNULL before monitorenter and nothing on monitorexit.
twisti [Sun, 24 Apr 2005 17:57:24 +0000 (17:57 +0000)]
Do a ICMD_CHECKNULL before monitorenter and nothing on monitorexit.

19 years agoRenamed ICMD_NULLCHECKPOP to ICMD_CHECKNULL and it does not pop an operand
twisti [Sun, 24 Apr 2005 17:55:03 +0000 (17:55 +0000)]
Renamed ICMD_NULLCHECKPOP to ICMD_CHECKNULL and it does not pop an operand
off the stack anymore.

19 years agomore stacktraces
jowenn [Sun, 24 Apr 2005 13:07:57 +0000 (13:07 +0000)]
more stacktraces

19 years agoLSRA updated to 4 Byte Stackslot (i386)
christian [Sat, 23 Apr 2005 08:06:45 +0000 (08:06 +0000)]
LSRA updated to 4 Byte Stackslot (i386)
i386/icmd_uses_reg_res.inc _conservatively_ updated to asm_wrapper, etc. changes
-> need finetuning

19 years agofirst part of stacktraces on x86_64
jowenn [Fri, 22 Apr 2005 22:01:51 +0000 (22:01 +0000)]
first part of stacktraces on x86_64

19 years ago[alpha|mips|x86_64]arch.h adopted to latest change
christian [Fri, 22 Apr 2005 17:37:57 +0000 (17:37 +0000)]
[alpha|mips|x86_64]arch.h adopted to latest change

19 years ago4 Byte Stackslots for i386 (native Calling Convention)
christian [Fri, 22 Apr 2005 17:33:35 +0000 (17:33 +0000)]
4 Byte Stackslots for i386 (native Calling Convention)
16 Byte Stack alignment for PowerPC in createnativestub
no copy of spilled arguments to spilled locals on x86_64
new define HAS_4BYTE_STACKSLOT in arch.h
SUPPORT_COMBINE_INTEGER_REGISTERS instead of USE_TWOREGS

19 years agoasmhelper.h to helper.h changes.
twisti [Fri, 22 Apr 2005 14:57:47 +0000 (14:57 +0000)]
asmhelper.h to helper.h changes.

19 years agoRenamed asmhelper.[ch] to helper.[ch]
christian [Fri, 22 Apr 2005 14:50:12 +0000 (14:50 +0000)]
Renamed asmhelper.[ch] to helper.[ch]

19 years agoAdded: patcher.c
twisti [Fri, 22 Apr 2005 13:55:56 +0000 (13:55 +0000)]
Added: patcher.c

19 years agoChanges the patchref stuff.
twisti [Fri, 22 Apr 2005 13:55:26 +0000 (13:55 +0000)]
Changes the patchref stuff.

19 years agoWe only need 3 patcher wrapper functions.
twisti [Fri, 22 Apr 2005 13:55:09 +0000 (13:55 +0000)]
We only need 3 patcher wrapper functions.

19 years agoTemporary disable SUPPORT_CONST_STORE.
twisti [Fri, 22 Apr 2005 13:54:34 +0000 (13:54 +0000)]
Temporary disable SUPPORT_CONST_STORE.

19 years agoCall it patcher_builtin_newarray instead of patcher_builtin_anewarray.
twisti [Fri, 22 Apr 2005 13:54:18 +0000 (13:54 +0000)]
Call it patcher_builtin_newarray instead of patcher_builtin_anewarray.

19 years agoUse some global variables (class_, utf_).
twisti [Fri, 22 Apr 2005 13:52:35 +0000 (13:52 +0000)]
Use some global variables (class_, utf_).

19 years agoUse global class_java_lang_ThreadGroup variable.
twisti [Fri, 22 Apr 2005 13:51:36 +0000 (13:51 +0000)]
Use global class_java_lang_ThreadGroup variable.

19 years agoUse builtin_anewarray instead of builtin_newarray.
twisti [Fri, 22 Apr 2005 13:51:12 +0000 (13:51 +0000)]
Use builtin_anewarray instead of builtin_newarray.

19 years ago- use global class_ variables
twisti [Fri, 22 Apr 2005 13:50:44 +0000 (13:50 +0000)]
- use global class_ variables
- use builtin_anewarray instead of builtin_newarray

19 years agoImplemented NewObjectArray correctly.
twisti [Fri, 22 Apr 2005 13:50:02 +0000 (13:50 +0000)]
Implemented NewObjectArray correctly.

19 years agoLazy loading changes.
twisti [Fri, 22 Apr 2005 13:34:20 +0000 (13:34 +0000)]
Lazy loading changes.

19 years agoImplemented patcher wrapper.
twisti [Fri, 22 Apr 2005 13:34:00 +0000 (13:34 +0000)]
Implemented patcher wrapper.

19 years agoAdded: patcher.c
twisti [Fri, 22 Apr 2005 13:33:39 +0000 (13:33 +0000)]
Added: patcher.c

19 years agoTemporary disabled SUPPORT_CONST_STORE.
twisti [Fri, 22 Apr 2005 13:33:21 +0000 (13:33 +0000)]
Temporary disabled SUPPORT_CONST_STORE.

19 years agoAdded: i386_emit_membase32
twisti [Fri, 22 Apr 2005 13:31:01 +0000 (13:31 +0000)]
Added: i386_emit_membase32

19 years agoAdded: i386_alu_imm32_reg
twisti [Fri, 22 Apr 2005 13:30:40 +0000 (13:30 +0000)]
Added: i386_alu_imm32_reg

19 years agoFixed 2 nasty bugs in ICMD_INSTANCEOF.
twisti [Fri, 22 Apr 2005 13:30:22 +0000 (13:30 +0000)]
Fixed 2 nasty bugs in ICMD_INSTANCEOF.

19 years agoAdded patcher.h
twisti [Fri, 22 Apr 2005 13:29:51 +0000 (13:29 +0000)]
Added patcher.h

19 years agoImplemented remaining patcher functions.
twisti [Fri, 22 Apr 2005 13:28:28 +0000 (13:28 +0000)]
Implemented remaining patcher functions.

19 years agopatcher_builtin_new gets a contant_classref.
twisti [Fri, 22 Apr 2005 13:28:10 +0000 (13:28 +0000)]
patcher_builtin_new gets a contant_classref.

19 years agoEnable lazy loading for i386.
twisti [Fri, 22 Apr 2005 13:26:36 +0000 (13:26 +0000)]
Enable lazy loading for i386.

19 years agoRemoved unused functions.
twisti [Fri, 22 Apr 2005 13:21:02 +0000 (13:21 +0000)]
Removed unused functions.

19 years agoTemporary asm_builtin_multianewarray for i386 (till 4-byte stack slots).
twisti [Fri, 22 Apr 2005 13:18:19 +0000 (13:18 +0000)]
Temporary asm_builtin_multianewarray for i386 (till 4-byte stack slots).

19 years ago- renamed patcher wrapper entries in builtin table
twisti [Thu, 21 Apr 2005 22:41:57 +0000 (22:41 +0000)]
- renamed patcher wrapper entries in builtin table
- renamed builtin_nmultianewarray to builtin_multianewarray
- some cleanup

19 years agoRenamed builtin_nmultianewarray to builtin_multianewarray.
twisti [Thu, 21 Apr 2005 22:41:19 +0000 (22:41 +0000)]
Renamed builtin_nmultianewarray to builtin_multianewarray.

19 years agoRenamed patcher wrapper function dummies.
twisti [Thu, 21 Apr 2005 22:38:17 +0000 (22:38 +0000)]
Renamed patcher wrapper function dummies.

19 years agoRenamed patcher wrapper functions.
twisti [Thu, 21 Apr 2005 22:36:46 +0000 (22:36 +0000)]
Renamed patcher wrapper functions.

19 years agoAdded more functions.
twisti [Thu, 21 Apr 2005 22:36:28 +0000 (22:36 +0000)]
Added more functions.

19 years agoUse builtin_anewarray instead of builtin_newarray.
twisti [Thu, 21 Apr 2005 22:35:54 +0000 (22:35 +0000)]
Use builtin_anewarray instead of builtin_newarray.