]>
git.unchartedbackwaters.co.uk Git - francis/libjit.git/log
Aleksey Demakov [Fri, 15 Sep 2006 16:17:20 +0000 (16:17 +0000)]
add jit_insn_mark_breakpoint_variable() function.
Aleksey Demakov [Thu, 14 Sep 2006 17:16:36 +0000 (17:16 +0000)]
remove jit-rules-x86.sel
Aleksey Demakov [Thu, 14 Sep 2006 15:13:57 +0000 (15:13 +0000)]
remove --enable-new-reg-alloc option
Aleksey Demakov [Thu, 14 Sep 2006 06:27:08 +0000 (06:27 +0000)]
remove "old" register allocator;
Aleksey Demakov [Sat, 9 Sep 2006 05:21:03 +0000 (05:21 +0000)]
add _JIT_REGS_CLOBBER_STACK flag to be used for "only" rules
Aleksey Demakov [Sat, 2 Sep 2006 13:46:28 +0000 (13:46 +0000)]
remove last traces of register allocation from the interpreter
Klaus Treichel [Thu, 31 Aug 2006 18:24:05 +0000 (18:24 +0000)]
Commit configure.in which i missed the last time ;)
Klaus Treichel [Wed, 30 Aug 2006 19:43:13 +0000 (19:43 +0000)]
2006-08-31 Klaus Treichel <ktreichel@web.de>
* configure.in: Replace the deprecated AM_PROG_LIBTOOL with the current
AC_PROG_LIBTOOL.
* jitdynamic/Makefile.am, jitplus/Makefile.am: Add -no-undefined to the
LDFLAGS to enable building cygwin/mingw dlls.
Aleksey Demakov [Wed, 30 Aug 2006 19:23:26 +0000 (19:23 +0000)]
do not use jit-rules-x86.sel anymore
Aleksey Demakov [Wed, 30 Aug 2006 18:35:10 +0000 (18:35 +0000)]
add "frame" keyword to .ins file syntax
Aleksey Demakov [Wed, 30 Aug 2006 13:31:58 +0000 (13:31 +0000)]
replace interpreter stack with 3 dedicated pseudo-registers
Aleksey Demakov [Tue, 29 Aug 2006 13:29:35 +0000 (13:29 +0000)]
delete extra popping of setjmp context for interpreter
Aleksey Demakov [Tue, 29 Aug 2006 11:57:12 +0000 (11:57 +0000)]
add _jit_gen_move_top() to take part of the _jit_gen_exch_top() functionality
thus making the interface cleaner
Aleksey Demakov [Mon, 28 Aug 2006 19:52:48 +0000 (19:52 +0000)]
dump jump tables
Klaus Treichel [Mon, 28 Aug 2006 17:19:06 +0000 (17:19 +0000)]
2006-08-28 Klaus Treichel <ktreichel@web.de>
* dpas/Makefile.am, jit/Makefile.am, tests/Makefile.am: Add missing
sources to fix creation of tarballs (make dist).
Aleksey Demakov [Mon, 28 Aug 2006 14:21:54 +0000 (14:21 +0000)]
fix is_unsigned usage typo
Thomas Cort [Tue, 22 Aug 2006 23:41:32 +0000 (23:41 +0000)]
* jit/jit-apply-alpha.c jit/jit-apply-alpha.h: Fix jit_redirector_size.
alpha_call is 6 instructions, not 1. 5 to load the addr, 1 to call.
* jit/jit-gen-alpha.h: add macros for fp sign copy and arithmetic.
* jit/jit-rules-alpha.c: remove TODO() from unused functions.
Aleksey Demakov [Tue, 22 Aug 2006 21:41:57 +0000 (21:41 +0000)]
add kudos to krokas
Aleksey Demakov [Tue, 22 Aug 2006 20:55:25 +0000 (20:55 +0000)]
allocate redirector and indirector buffers in the executable code cache
Klaus Treichel [Tue, 22 Aug 2006 18:02:55 +0000 (18:02 +0000)]
2006-08-22 Klaus treichel <ktreichel@web.de>
* jit/jit-alloc.c: Use mmap and munmap to allocate executable memory
where available because memory allocated with malloc is not executable
on some archs/distros.
Aleksey Demakov [Tue, 22 Aug 2006 17:30:09 +0000 (17:30 +0000)]
improve handling of three-address instructions
Thomas Cort [Mon, 21 Aug 2006 14:23:44 +0000 (14:23 +0000)]
Add macros for int to fp and fp to int conversions. Use _jit_pad_bufer.
Thomas Cort [Sun, 20 Aug 2006 15:47:54 +0000 (15:47 +0000)]
Remove unnecessary code from the prolog, epilog, redirector, and
closure. Implement > and >= opcodes for signed and unsigned values.
Aleksey Demakov [Fri, 18 Aug 2006 18:14:27 +0000 (18:14 +0000)]
fix a problem with the clobber flag being ignored
Thomas Cort [Tue, 15 Aug 2006 01:08:59 +0000 (01:08 +0000)]
Add a TODO() macro to print unimplemented warnings. Fix some
casting warnings. Implement _jit_gen_redirector(...). Fix
JIT_CDECL_WORD_REG_PARAMS to use the correct parameter
registers. Add some stack push and pop instructions.
Aleksey Demakov [Mon, 14 Aug 2006 19:21:19 +0000 (19:21 +0000)]
add --enable-signals option and some support for signals
Thomas Cort [Sat, 12 Aug 2006 01:36:59 +0000 (01:36 +0000)]
Properly handle fixups on alpha. Implement JIT_OP_CALL_EXTERNAL.
Aleksey Demakov [Sat, 29 Jul 2006 15:11:47 +0000 (15:11 +0000)]
Fix bugs revealed by Heiko's test.
Thomas Cort [Sun, 23 Jul 2006 04:45:36 +0000 (04:45 +0000)]
Implement the redirector for alpha. Continue to implement more functions
in jit/jit-rules-alpha.c.
There is enough done on the alpha port to compile the following function
"void func(void) { return; }" and call it 1,000,000 times without anything
crashing. jit_dump_function shows a properly generated prolog and epilog.
Thomas Cort [Sun, 16 Jul 2006 03:18:15 +0000 (03:18 +0000)]
Fix a typo in jit/jit-apply-alpha.c
Thomas Cort [Sun, 16 Jul 2006 03:15:35 +0000 (03:15 +0000)]
Implement closure for alpha. Use jsr instead of bsr in alpha_call. Clean up
prolog and epilog generation for alpha to be more readable. Add missing
ChangeLog entries.
Thomas Cort [Thu, 13 Jul 2006 03:11:57 +0000 (03:11 +0000)]
Added trap barrier macro alpha_trapb. Implemented _jit_gen_prolog and
_jit_gen_epilog for alpha.
Aleksey Demakov [Wed, 12 Jul 2006 16:43:03 +0000 (16:43 +0000)]
fix problem with moving blocks that go just after init_block
Thomas Cort [Wed, 12 Jul 2006 03:06:49 +0000 (03:06 +0000)]
Initial commit of the alpha port.
Aleksey Demakov [Thu, 6 Jul 2006 12:04:07 +0000 (12:04 +0000)]
fix division by power of two
Aleksey Demakov [Tue, 4 Jul 2006 17:28:07 +0000 (17:28 +0000)]
fix problem with destroying the end register of a long pair;
make new register allocator the default.
Aleksey Demakov [Sun, 2 Jul 2006 23:01:24 +0000 (23:01 +0000)]
more native x86 instruction selection rules
Aleksey Demakov [Thu, 29 Jun 2006 13:59:27 +0000 (13:59 +0000)]
use $1 instead of $0 for dest register
Aleksey Demakov [Wed, 28 Jun 2006 13:45:36 +0000 (13:45 +0000)]
use $1 instead of $0 for dest register
Aleksey Demakov [Tue, 27 Jun 2006 15:03:11 +0000 (15:03 +0000)]
fix problem with relative instructions
Aleksey Demakov [Fri, 16 Jun 2006 18:13:32 +0000 (18:13 +0000)]
missed from the previous commit
Aleksey Demakov [Fri, 16 Jun 2006 17:53:51 +0000 (17:53 +0000)]
Extend register allocator to allow separate specification of the destination
register. Take advantage of this for some x86 rules. Tweak the allocator's
API.
Aleksey Demakov [Fri, 16 Jun 2006 02:35:16 +0000 (02:35 +0000)]
Fix JIT_OP_IDIV and JIT_OP_IREM rules for the divisor value of -1.
Aleksey Demakov [Thu, 8 Jun 2006 18:32:12 +0000 (18:32 +0000)]
fix problem with long constants introduced by previous commit
Aleksey Demakov [Thu, 8 Jun 2006 17:11:26 +0000 (17:11 +0000)]
rewrite some manual rules to use regular pattern syntax
Aleksey Demakov [Wed, 7 Jun 2006 16:29:05 +0000 (16:29 +0000)]
add *.inc files to cvsignore
Aleksey Demakov [Sat, 3 Jun 2006 13:39:53 +0000 (13:39 +0000)]
fix problem with push float freeing wrong register;
fix problem with restarted compilation getting constants as already loaded.
allow long pairs to use EBX even if it is used as a global register.
Aleksey Demakov [Sun, 28 May 2006 11:11:57 +0000 (11:11 +0000)]
At the end of initialize setjmp block add a label that is moved along with
the block code and use it as the jump target.
Aleksey Demakov [Sat, 27 May 2006 10:18:59 +0000 (10:18 +0000)]
free global values from local registers; tune spill cost calculation;
Aleksey Demakov [Thu, 25 May 2006 16:01:02 +0000 (16:01 +0000)]
fix spill cost calcualtion for global registers
Aleksey Demakov [Wed, 24 May 2006 18:56:32 +0000 (18:56 +0000)]
fix spill cost calculation problem
Aleksey Demakov [Sun, 21 May 2006 13:17:19 +0000 (13:17 +0000)]
extend instruction selector syntax to allow independent destination register
Aleksey Demakov [Sat, 20 May 2006 10:43:17 +0000 (10:43 +0000)]
fix computation of stack register index
Aleksey Demakov [Fri, 19 May 2006 17:38:31 +0000 (17:38 +0000)]
Save input values beforehand. Clean up and refactor spill code.
Aleksey Demakov [Wed, 10 May 2006 16:39:33 +0000 (16:39 +0000)]
a few fixes for new register allocator
Aleksey Demakov [Mon, 8 May 2006 10:55:46 +0000 (10:55 +0000)]
remove extra spills and add missing jit_cache_end_output()
Aleksey Demakov [Fri, 5 May 2006 10:13:07 +0000 (10:13 +0000)]
fix spilling and many problems with stack registers
Aleksey Demakov [Thu, 4 May 2006 06:35:45 +0000 (06:35 +0000)]
make dump work for any stream not just stdout and stderr
Aleksey Demakov [Mon, 1 May 2006 11:11:32 +0000 (11:11 +0000)]
Fix JIT_OP_ADDRESS_OF rule
Aleksey Demakov [Mon, 1 May 2006 10:47:37 +0000 (10:47 +0000)]
fix JIT_OP_ADDRESS_OF rule
Aleksey Demakov [Sun, 23 Apr 2006 11:18:54 +0000 (11:18 +0000)]
rewrite block ops using new register allocator
Aleksey Demakov [Sun, 23 Apr 2006 07:56:59 +0000 (07:56 +0000)]
register allocator now supports register set constraints
Aleksey Demakov [Thu, 20 Apr 2006 12:22:33 +0000 (12:22 +0000)]
fix generation of `if' pattern code
Aleksey Demakov [Wed, 19 Apr 2006 14:33:21 +0000 (14:33 +0000)]
fix warning in jit/jit-rules-x86.c;
fix generation of scratch and clobber code;
add `any' keyword.
Aleksey Demakov [Tue, 18 Apr 2006 09:53:23 +0000 (09:53 +0000)]
add instruction selection rules for new register allocator;
add --enable-new-reg-alloc configure option.
Aleksey Demakov [Fri, 14 Apr 2006 14:44:29 +0000 (14:44 +0000)]
add _jit_gen_exch_top and _jit_gen_spill_top functions; add some tracing
Aleksey Demakov [Fri, 14 Apr 2006 11:46:05 +0000 (11:46 +0000)]
new register allocator is improved and extended to support stack registers
Aleksey Demakov [Mon, 10 Apr 2006 19:42:40 +0000 (19:42 +0000)]
initialize thrown_exception value
Aleksey Demakov [Sat, 8 Apr 2006 09:26:05 +0000 (09:26 +0000)]
add jump table into jit_opcodes array
Aleksey Demakov [Sat, 8 Apr 2006 07:02:57 +0000 (07:02 +0000)]
Extended selection rules syntax.
Aleksey Demakov [Thu, 6 Apr 2006 23:42:31 +0000 (23:42 +0000)]
Added function entry point indirector. Fixed tail call bug.
Aleksey Demakov [Mon, 3 Apr 2006 05:10:35 +0000 (05:10 +0000)]
Add `reversible', `x87arith', `copy' keywords and fix bugs.
Klaus Treichel [Thu, 23 Mar 2006 18:56:52 +0000 (18:56 +0000)]
2006-03-23 Klaus Treichel <ktreichel@web.de>
* jit/jitc-except.c: Walk the stack to build the stack trace in
jit_exception_get_stack_trace when the frame is not broken.
Aleksey Demakov [Wed, 22 Mar 2006 18:48:02 +0000 (18:48 +0000)]
added gen-rules tool
Klaus Treichel [Sun, 12 Mar 2006 20:04:39 +0000 (20:04 +0000)]
2006-03-12 Klaus Treichel <ktreichel@web.de>
* jit/jit-insn.c: Pop the setjump context on return from functions with
a catcher.
2006-03-11 Kirill Kononenko <Kirill.Kononenko@gmail.com>
* jit/jit-insn.c (create_call_setup_insn): fix tail calls, work
if the called function is not the callee function
(thanks klausT for finding the bug).
Aleksey Demakov [Mon, 27 Feb 2006 13:23:44 +0000 (13:23 +0000)]
fixed int to uint and uint to int conversion
Aleksey Demakov [Sun, 26 Feb 2006 17:08:02 +0000 (17:08 +0000)]
fixed JIT_OP_STORE_RELATIVE_LONG
Aleksey Demakov [Sun, 26 Feb 2006 07:59:09 +0000 (07:59 +0000)]
corrected opcode in x86_pop_mem and x86_pop_membase
Aleksey Demakov [Thu, 23 Feb 2006 23:58:24 +0000 (23:58 +0000)]
fixed jit_insn_address_of_label()
Aleksey Demakov [Mon, 20 Feb 2006 14:05:03 +0000 (14:05 +0000)]
_jit_create_call_return_insns returns 1 (success) if there is no
return value or the return value is a struct returned via pointer.
Aleksey Demakov [Sat, 18 Feb 2006 19:58:10 +0000 (19:58 +0000)]
New local register allocator.
Aleksey Demakov [Mon, 13 Feb 2006 09:26:18 +0000 (09:26 +0000)]
Added index field to jit_value struct. Included CFG code into build.
Aleksey Demakov [Sun, 12 Feb 2006 13:55:09 +0000 (13:55 +0000)]
Fixed JIT_OP_CALL_FINALLY
Aleksey Demakov [Fri, 10 Feb 2006 14:00:39 +0000 (14:00 +0000)]
build control flow graph and do liveness analyses on it
Aleksey Demakov [Fri, 3 Feb 2006 18:50:14 +0000 (18:50 +0000)]
fixed typo in JIT_OP_JUMP_TABLE
Aleksey Demakov [Mon, 30 Jan 2006 11:35:01 +0000 (11:35 +0000)]
optimize _jit_gen_load_value and allow to move a value from one register to another
Aleksey Demakov [Tue, 17 Jan 2006 08:49:46 +0000 (08:49 +0000)]
Named proper dpas arrays author.
Rhys Weatherley [Sun, 15 Jan 2006 06:53:05 +0000 (06:53 +0000)]
Updating working version to "0.0.7".
Rhys Weatherley [Sun, 15 Jan 2006 06:50:40 +0000 (06:50 +0000)]
Update version for the "0.0.6" release.
Aleksey Demakov [Fri, 13 Jan 2006 20:26:19 +0000 (20:26 +0000)]
fix register allocation for long values
Aleksey Demakov [Fri, 13 Jan 2006 15:39:26 +0000 (15:39 +0000)]
fixed object file name
Aleksey Demakov [Fri, 13 Jan 2006 11:10:06 +0000 (11:10 +0000)]
Fixed return type of inrinsic function that return exception code.
Aleksey Demakov [Wed, 11 Jan 2006 00:24:42 +0000 (00:24 +0000)]
implement JIT_OP_JUMP_TABLE in interpreter
Aleksey Demakov [Tue, 10 Jan 2006 21:24:42 +0000 (21:24 +0000)]
added jit_insn_jump_table
Aleksey Demakov [Tue, 10 Jan 2006 21:03:44 +0000 (21:03 +0000)]
added fixup_absolute_list field to _jit_block struct
Aleksey Demakov [Tue, 10 Jan 2006 20:48:35 +0000 (20:48 +0000)]
added x86_jump_memindex
Aleksey Demakov [Sun, 8 Jan 2006 04:25:24 +0000 (04:25 +0000)]
change jit_builtin_return_int to use leal instead of movl
Aleksey Demakov [Wed, 28 Dec 2005 14:11:38 +0000 (14:11 +0000)]
implement JIT_OP_MEMMOVE
Aleksey Demakov [Sat, 24 Dec 2005 09:48:42 +0000 (09:48 +0000)]
remove cache_start
Aleksey Demakov [Sat, 24 Dec 2005 06:55:13 +0000 (06:55 +0000)]
add jit_cache_get_start_method() and remove jit_function.start_address field