jowenn [Sat, 30 Apr 2005 13:45:06 +0000 (13:45 +0000)]
more statistics, less crashing
twisti [Sat, 30 Apr 2005 13:29:57 +0000 (13:29 +0000)]
We need an extra patcher_putfieldconst fro x86_64.
twisti [Sat, 30 Apr 2005 13:29:34 +0000 (13:29 +0000)]
- use new patcher for putfieldconst
- warning fixes
twisti [Sat, 30 Apr 2005 13:28:35 +0000 (13:28 +0000)]
- sync stuff must be done before builtin_monitorexit
- implemented patcher_putfieldconst
twisti [Sat, 30 Apr 2005 13:27:50 +0000 (13:27 +0000)]
Enabled SUPPORT_CONST_STORE again.
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
twisti [Fri, 29 Apr 2005 19:29:17 +0000 (19:29 +0000)]
Removed debug output, sync code works, checked on c4.
twisti [Fri, 29 Apr 2005 19:17:55 +0000 (19:17 +0000)]
Added get_dummyLR.
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
twisti [Fri, 29 Apr 2005 18:55:49 +0000 (18:55 +0000)]
I think we should also use some alpha macros on x86_64.
twisti [Fri, 29 Apr 2005 18:55:09 +0000 (18:55 +0000)]
Again a libc-movaps bugfix. Arghhh!
twisti [Fri, 29 Apr 2005 18:54:31 +0000 (18:54 +0000)]
Added additional {INT,FLT}_*_CNT defines.
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).
twisti [Fri, 29 Apr 2005 15:18:14 +0000 (15:18 +0000)]
Pass java_objectheader to asm_wrapper_patcher.
twisti [Thu, 28 Apr 2005 13:31:55 +0000 (13:31 +0000)]
-sa bugfix in patcher_builtin_checkarraycast,
patcher_builtin_arrayinstanceof.
jowenn [Thu, 28 Apr 2005 12:52:02 +0000 (12:52 +0000)]
testcases for (cond) ? x:y
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
jowenn [Thu, 28 Apr 2005 12:34:39 +0000 (12:34 +0000)]
less debug output to make twisti happy
jowenn [Thu, 28 Apr 2005 12:19:06 +0000 (12:19 +0000)]
less debug output
jowenn [Thu, 28 Apr 2005 09:12:23 +0000 (09:12 +0000)]
don't optimize too much
twisti [Wed, 27 Apr 2005 14:29:21 +0000 (14:29 +0000)]
Forgot code patching nop's in checkcast/instanceof with -sa.
twisti [Wed, 27 Apr 2005 14:28:15 +0000 (14:28 +0000)]
Do it like on alpha in patcher_get_putstatic.
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
twisti [Wed, 27 Apr 2005 12:58:29 +0000 (12:58 +0000)]
Added: doit's and try-catch blocks
christian [Wed, 27 Apr 2005 12:58:28 +0000 (12:58 +0000)]
*** empty log message ***
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
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
twisti [Wed, 27 Apr 2005 12:44:54 +0000 (12:44 +0000)]
Moved ALIGNCODENOP from codegen.c
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.
twisti [Wed, 27 Apr 2005 12:42:39 +0000 (12:42 +0000)]
- remaining lazy loading stuff for alpha
- print `(NOT RESOLVED)' for invoke instructions
twisti [Wed, 27 Apr 2005 12:42:00 +0000 (12:42 +0000)]
Remaining lazy loading stuff for alpha.
twisti [Tue, 26 Apr 2005 19:50:58 +0000 (19:50 +0000)]
Define M_NOP.
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
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
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
twisti [Tue, 26 Apr 2005 16:16:05 +0000 (16:16 +0000)]
Lazy loading for alpha and code patching stuff.
twisti [Tue, 26 Apr 2005 16:15:17 +0000 (16:15 +0000)]
Lazy loading for alpha (some left).
twisti [Tue, 26 Apr 2005 16:14:56 +0000 (16:14 +0000)]
Lazy loading for alpha.
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.
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
twisti [Tue, 26 Apr 2005 16:12:27 +0000 (16:12 +0000)]
Added asm_sync_instruction_cache for alpha.
twisti [Tue, 26 Apr 2005 16:11:58 +0000 (16:11 +0000)]
Small bugfix in invokevirtual.
twisti [Tue, 26 Apr 2005 16:11:10 +0000 (16:11 +0000)]
Code patching: alpha define in builtin table.
twisti [Tue, 26 Apr 2005 16:10:30 +0000 (16:10 +0000)]
Added java.runtime.version, java.runtime.name properties for tomcat4.
twisti [Tue, 26 Apr 2005 09:11:21 +0000 (09:11 +0000)]
- doit
- try-catch blocks
twisti [Mon, 25 Apr 2005 23:15:32 +0000 (23:15 +0000)]
Oops, sorry for that.
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_*
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
twisti [Mon, 25 Apr 2005 14:15:14 +0000 (14:15 +0000)]
- removed ALIGNCODENOP
- added M_NOP
twisti [Mon, 25 Apr 2005 14:14:54 +0000 (14:14 +0000)]
- changes signatures (every patcher uses the same assembler wrapper)
- handle showdisassemble (-sa)
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)
twisti [Mon, 25 Apr 2005 14:10:56 +0000 (14:10 +0000)]
- changed signatures
- added functionptr defines
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.
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.
twisti [Mon, 25 Apr 2005 14:07:19 +0000 (14:07 +0000)]
We need only on assembler patcher wrapper, removed the others.
twisti [Mon, 25 Apr 2005 14:06:16 +0000 (14:06 +0000)]
Replaced asm_wrapper_patcher_BUILTIN_* with PATCHER_builtin_* macros in
builtin table.
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).
christian [Mon, 25 Apr 2005 10:14:50 +0000 (10:14 +0000)]
Reserve 0(esp) for argument of monitor enter for synchronized methods
twisti [Mon, 25 Apr 2005 10:01:30 +0000 (10:01 +0000)]
- made builtin_monitorexit void
- some code reformatting
twisti [Mon, 25 Apr 2005 10:00:09 +0000 (10:00 +0000)]
Don't use assembler monitorenter/exit wrapper anymore.
christian [Mon, 25 Apr 2005 08:50:52 +0000 (08:50 +0000)]
asmpart.S for 4 Byte Stackslots
christian [Mon, 25 Apr 2005 07:23:46 +0000 (07:23 +0000)]
codegen.c for 4 Byte Stack Slots
twisti [Sun, 24 Apr 2005 17:57:24 +0000 (17:57 +0000)]
Do a ICMD_CHECKNULL before monitorenter and nothing on monitorexit.
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.
jowenn [Sun, 24 Apr 2005 13:07:57 +0000 (13:07 +0000)]
more stacktraces
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
jowenn [Fri, 22 Apr 2005 22:01:51 +0000 (22:01 +0000)]
first part of stacktraces on x86_64
christian [Fri, 22 Apr 2005 17:37:57 +0000 (17:37 +0000)]
[alpha|mips|x86_64]arch.h adopted to latest change
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
twisti [Fri, 22 Apr 2005 14:57:47 +0000 (14:57 +0000)]
asmhelper.h to helper.h changes.
christian [Fri, 22 Apr 2005 14:50:12 +0000 (14:50 +0000)]
Renamed asmhelper.[ch] to helper.[ch]
twisti [Fri, 22 Apr 2005 13:55:56 +0000 (13:55 +0000)]
Added: patcher.c
twisti [Fri, 22 Apr 2005 13:55:26 +0000 (13:55 +0000)]
Changes the patchref stuff.
twisti [Fri, 22 Apr 2005 13:55:09 +0000 (13:55 +0000)]
We only need 3 patcher wrapper functions.
twisti [Fri, 22 Apr 2005 13:54:34 +0000 (13:54 +0000)]
Temporary disable SUPPORT_CONST_STORE.
twisti [Fri, 22 Apr 2005 13:54:18 +0000 (13:54 +0000)]
Call it patcher_builtin_newarray instead of patcher_builtin_anewarray.
twisti [Fri, 22 Apr 2005 13:52:35 +0000 (13:52 +0000)]
Use some global variables (class_, utf_).
twisti [Fri, 22 Apr 2005 13:51:36 +0000 (13:51 +0000)]
Use global class_java_lang_ThreadGroup variable.
twisti [Fri, 22 Apr 2005 13:51:12 +0000 (13:51 +0000)]
Use builtin_anewarray instead of builtin_newarray.
twisti [Fri, 22 Apr 2005 13:50:44 +0000 (13:50 +0000)]
- use global class_ variables
- use builtin_anewarray instead of builtin_newarray
twisti [Fri, 22 Apr 2005 13:50:02 +0000 (13:50 +0000)]
Implemented NewObjectArray correctly.
twisti [Fri, 22 Apr 2005 13:34:20 +0000 (13:34 +0000)]
Lazy loading changes.
twisti [Fri, 22 Apr 2005 13:34:00 +0000 (13:34 +0000)]
Implemented patcher wrapper.
twisti [Fri, 22 Apr 2005 13:33:39 +0000 (13:33 +0000)]
Added: patcher.c
twisti [Fri, 22 Apr 2005 13:33:21 +0000 (13:33 +0000)]
Temporary disabled SUPPORT_CONST_STORE.
twisti [Fri, 22 Apr 2005 13:31:01 +0000 (13:31 +0000)]
Added: i386_emit_membase32
twisti [Fri, 22 Apr 2005 13:30:40 +0000 (13:30 +0000)]
Added: i386_alu_imm32_reg
twisti [Fri, 22 Apr 2005 13:30:22 +0000 (13:30 +0000)]
Fixed 2 nasty bugs in ICMD_INSTANCEOF.
twisti [Fri, 22 Apr 2005 13:29:51 +0000 (13:29 +0000)]
Added patcher.h
twisti [Fri, 22 Apr 2005 13:28:28 +0000 (13:28 +0000)]
Implemented remaining patcher functions.
twisti [Fri, 22 Apr 2005 13:28:10 +0000 (13:28 +0000)]
patcher_builtin_new gets a contant_classref.
twisti [Fri, 22 Apr 2005 13:26:36 +0000 (13:26 +0000)]
Enable lazy loading for i386.
twisti [Fri, 22 Apr 2005 13:21:02 +0000 (13:21 +0000)]
Removed unused functions.
twisti [Fri, 22 Apr 2005 13:18:19 +0000 (13:18 +0000)]
Temporary asm_builtin_multianewarray for i386 (till 4-byte stack slots).
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
twisti [Thu, 21 Apr 2005 22:41:19 +0000 (22:41 +0000)]
Renamed builtin_nmultianewarray to builtin_multianewarray.
twisti [Thu, 21 Apr 2005 22:38:17 +0000 (22:38 +0000)]
Renamed patcher wrapper function dummies.
twisti [Thu, 21 Apr 2005 22:36:46 +0000 (22:36 +0000)]
Renamed patcher wrapper functions.
twisti [Thu, 21 Apr 2005 22:36:28 +0000 (22:36 +0000)]
Added more functions.
twisti [Thu, 21 Apr 2005 22:35:54 +0000 (22:35 +0000)]
Use builtin_anewarray instead of builtin_newarray.