]> git.unchartedbackwaters.co.uk Git - francis/libjit.git/log
francis/libjit.git
19 years agoadd jit_insn_mark_breakpoint_variable() function.
Aleksey Demakov [Fri, 15 Sep 2006 16:17:20 +0000 (16:17 +0000)]
add jit_insn_mark_breakpoint_variable() function.

19 years agoremove jit-rules-x86.sel
Aleksey Demakov [Thu, 14 Sep 2006 17:16:36 +0000 (17:16 +0000)]
remove jit-rules-x86.sel

19 years agoremove --enable-new-reg-alloc option
Aleksey Demakov [Thu, 14 Sep 2006 15:13:57 +0000 (15:13 +0000)]
remove --enable-new-reg-alloc option

19 years agoremove "old" register allocator;
Aleksey Demakov [Thu, 14 Sep 2006 06:27:08 +0000 (06:27 +0000)]
remove "old" register allocator;

19 years agoadd _JIT_REGS_CLOBBER_STACK flag to be used for "only" rules
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

19 years agoremove last traces of register allocation from the interpreter
Aleksey Demakov [Sat, 2 Sep 2006 13:46:28 +0000 (13:46 +0000)]
remove last traces of register allocation from the interpreter

19 years agoCommit configure.in which i missed the last time ;)
Klaus Treichel [Thu, 31 Aug 2006 18:24:05 +0000 (18:24 +0000)]
Commit configure.in which i missed the last time ;)

19 years ago2006-08-31 Klaus Treichel <ktreichel@web.de>
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.

19 years agodo not use jit-rules-x86.sel anymore
Aleksey Demakov [Wed, 30 Aug 2006 19:23:26 +0000 (19:23 +0000)]
do not use jit-rules-x86.sel anymore

19 years agoadd "frame" keyword to .ins file syntax
Aleksey Demakov [Wed, 30 Aug 2006 18:35:10 +0000 (18:35 +0000)]
add "frame" keyword to .ins file syntax

19 years agoreplace interpreter stack with 3 dedicated pseudo-registers
Aleksey Demakov [Wed, 30 Aug 2006 13:31:58 +0000 (13:31 +0000)]
replace interpreter stack with 3 dedicated pseudo-registers

19 years agodelete extra popping of setjmp context for interpreter
Aleksey Demakov [Tue, 29 Aug 2006 13:29:35 +0000 (13:29 +0000)]
delete extra popping of setjmp context for interpreter

19 years agoadd _jit_gen_move_top() to take part of the _jit_gen_exch_top() functionality
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

19 years agodump jump tables
Aleksey Demakov [Mon, 28 Aug 2006 19:52:48 +0000 (19:52 +0000)]
dump jump tables

19 years ago2006-08-28 Klaus Treichel <ktreichel@web.de>
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).

19 years agofix is_unsigned usage typo
Aleksey Demakov [Mon, 28 Aug 2006 14:21:54 +0000 (14:21 +0000)]
fix is_unsigned usage typo

19 years ago* jit/jit-apply-alpha.c jit/jit-apply-alpha.h: Fix jit_redirector_size.
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.

19 years agoadd kudos to krokas
Aleksey Demakov [Tue, 22 Aug 2006 21:41:57 +0000 (21:41 +0000)]
add kudos to krokas

19 years agoallocate redirector and indirector buffers in the executable code cache
Aleksey Demakov [Tue, 22 Aug 2006 20:55:25 +0000 (20:55 +0000)]
allocate redirector and indirector buffers in the executable code cache

19 years ago2006-08-22 Klaus treichel <ktreichel@web.de>
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.

19 years agoimprove handling of three-address instructions
Aleksey Demakov [Tue, 22 Aug 2006 17:30:09 +0000 (17:30 +0000)]
improve handling of three-address instructions

19 years agoAdd macros for int to fp and fp to int conversions. Use _jit_pad_bufer.
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.

19 years agoRemove unnecessary code from the prolog, epilog, redirector, and
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.

19 years agofix a problem with the clobber flag being ignored
Aleksey Demakov [Fri, 18 Aug 2006 18:14:27 +0000 (18:14 +0000)]
fix a problem with the clobber flag being ignored

19 years agoAdd a TODO() macro to print unimplemented warnings. Fix some
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.

19 years agoadd --enable-signals option and some support for signals
Aleksey Demakov [Mon, 14 Aug 2006 19:21:19 +0000 (19:21 +0000)]
add --enable-signals option and some support for signals

19 years agoProperly handle fixups on alpha. Implement JIT_OP_CALL_EXTERNAL.
Thomas Cort [Sat, 12 Aug 2006 01:36:59 +0000 (01:36 +0000)]
Properly handle fixups on alpha. Implement JIT_OP_CALL_EXTERNAL.

19 years agoFix bugs revealed by Heiko's test.
Aleksey Demakov [Sat, 29 Jul 2006 15:11:47 +0000 (15:11 +0000)]
Fix bugs revealed by Heiko's test.

19 years agoImplement the redirector for alpha. Continue to implement more functions
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.

19 years agoFix a typo in jit/jit-apply-alpha.c
Thomas Cort [Sun, 16 Jul 2006 03:18:15 +0000 (03:18 +0000)]
Fix a typo in jit/jit-apply-alpha.c

19 years agoImplement closure for alpha. Use jsr instead of bsr in alpha_call. Clean up
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.

19 years agoAdded trap barrier macro alpha_trapb. Implemented _jit_gen_prolog and
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.

19 years agofix problem with moving blocks that go just after init_block
Aleksey Demakov [Wed, 12 Jul 2006 16:43:03 +0000 (16:43 +0000)]
fix problem with moving blocks that go just after init_block

19 years agoInitial commit of the alpha port.
Thomas Cort [Wed, 12 Jul 2006 03:06:49 +0000 (03:06 +0000)]
Initial commit of the alpha port.

19 years agofix division by power of two
Aleksey Demakov [Thu, 6 Jul 2006 12:04:07 +0000 (12:04 +0000)]
fix division by power of two

19 years agofix problem with destroying the end register of a long pair;
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.

19 years agomore native x86 instruction selection rules
Aleksey Demakov [Sun, 2 Jul 2006 23:01:24 +0000 (23:01 +0000)]
more native x86 instruction selection rules

19 years agouse $1 instead of $0 for dest register
Aleksey Demakov [Thu, 29 Jun 2006 13:59:27 +0000 (13:59 +0000)]
use $1 instead of $0 for dest register

19 years agouse $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

19 years agofix problem with relative instructions
Aleksey Demakov [Tue, 27 Jun 2006 15:03:11 +0000 (15:03 +0000)]
fix problem with relative instructions

19 years agomissed from the previous commit
Aleksey Demakov [Fri, 16 Jun 2006 18:13:32 +0000 (18:13 +0000)]
missed from the previous commit

19 years agoExtend register allocator to allow separate specification of the destination
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.

19 years agoFix JIT_OP_IDIV and JIT_OP_IREM rules for the divisor value of -1.
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.

19 years agofix problem with long constants introduced by previous commit
Aleksey Demakov [Thu, 8 Jun 2006 18:32:12 +0000 (18:32 +0000)]
fix problem with long constants introduced by previous commit

19 years agorewrite some manual rules to use regular pattern syntax
Aleksey Demakov [Thu, 8 Jun 2006 17:11:26 +0000 (17:11 +0000)]
rewrite some manual rules to use regular pattern syntax

19 years agoadd *.inc files to cvsignore
Aleksey Demakov [Wed, 7 Jun 2006 16:29:05 +0000 (16:29 +0000)]
add *.inc files to cvsignore

19 years agofix problem with push float freeing wrong register;
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.

19 years agoAt the end of initialize setjmp block add a label that is moved along with
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.

19 years agofree global values from local registers; tune spill cost calculation;
Aleksey Demakov [Sat, 27 May 2006 10:18:59 +0000 (10:18 +0000)]
free global values from local registers; tune spill cost calculation;

19 years agofix spill cost calcualtion for global registers
Aleksey Demakov [Thu, 25 May 2006 16:01:02 +0000 (16:01 +0000)]
fix spill cost calcualtion for global registers

19 years agofix spill cost calculation problem
Aleksey Demakov [Wed, 24 May 2006 18:56:32 +0000 (18:56 +0000)]
fix spill cost calculation problem

19 years agoextend instruction selector syntax to allow independent destination register
Aleksey Demakov [Sun, 21 May 2006 13:17:19 +0000 (13:17 +0000)]
extend instruction selector syntax to allow independent destination register

19 years agofix computation of stack register index
Aleksey Demakov [Sat, 20 May 2006 10:43:17 +0000 (10:43 +0000)]
fix computation of stack register index

19 years agoSave input values beforehand. Clean up and refactor spill code.
Aleksey Demakov [Fri, 19 May 2006 17:38:31 +0000 (17:38 +0000)]
Save input values beforehand. Clean up and refactor spill code.

19 years agoa few fixes for new register allocator
Aleksey Demakov [Wed, 10 May 2006 16:39:33 +0000 (16:39 +0000)]
a few fixes for new register allocator

19 years agoremove extra spills and add missing jit_cache_end_output()
Aleksey Demakov [Mon, 8 May 2006 10:55:46 +0000 (10:55 +0000)]
remove extra spills and add missing jit_cache_end_output()

19 years agofix spilling and many problems with stack registers
Aleksey Demakov [Fri, 5 May 2006 10:13:07 +0000 (10:13 +0000)]
fix spilling and many problems with stack registers

19 years agomake dump work for any stream not just stdout and stderr
Aleksey Demakov [Thu, 4 May 2006 06:35:45 +0000 (06:35 +0000)]
make dump work for any stream not just stdout and stderr

19 years agoFix JIT_OP_ADDRESS_OF rule
Aleksey Demakov [Mon, 1 May 2006 11:11:32 +0000 (11:11 +0000)]
Fix JIT_OP_ADDRESS_OF rule

19 years agofix JIT_OP_ADDRESS_OF rule
Aleksey Demakov [Mon, 1 May 2006 10:47:37 +0000 (10:47 +0000)]
fix JIT_OP_ADDRESS_OF rule

19 years agorewrite block ops using new register allocator
Aleksey Demakov [Sun, 23 Apr 2006 11:18:54 +0000 (11:18 +0000)]
rewrite block ops using new register allocator

19 years agoregister allocator now supports register set constraints
Aleksey Demakov [Sun, 23 Apr 2006 07:56:59 +0000 (07:56 +0000)]
register allocator now supports register set constraints

19 years agofix generation of `if' pattern code
Aleksey Demakov [Thu, 20 Apr 2006 12:22:33 +0000 (12:22 +0000)]
fix generation of `if' pattern code

19 years agofix warning in jit/jit-rules-x86.c;
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.

19 years agoadd instruction selection rules for new register allocator;
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.

19 years agoadd _jit_gen_exch_top and _jit_gen_spill_top functions; add some tracing
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

19 years agonew register allocator is improved and extended to support stack registers
Aleksey Demakov [Fri, 14 Apr 2006 11:46:05 +0000 (11:46 +0000)]
new register allocator is improved and extended to support stack registers

19 years agoinitialize thrown_exception value
Aleksey Demakov [Mon, 10 Apr 2006 19:42:40 +0000 (19:42 +0000)]
initialize thrown_exception value

19 years agoadd jump table into jit_opcodes array
Aleksey Demakov [Sat, 8 Apr 2006 09:26:05 +0000 (09:26 +0000)]
add jump table into jit_opcodes array

19 years agoExtended selection rules syntax.
Aleksey Demakov [Sat, 8 Apr 2006 07:02:57 +0000 (07:02 +0000)]
Extended selection rules syntax.

19 years agoAdded function entry point indirector. Fixed tail call bug.
Aleksey Demakov [Thu, 6 Apr 2006 23:42:31 +0000 (23:42 +0000)]
Added function entry point indirector. Fixed tail call bug.

19 years agoAdd `reversible', `x87arith', `copy' keywords and fix bugs.
Aleksey Demakov [Mon, 3 Apr 2006 05:10:35 +0000 (05:10 +0000)]
Add `reversible', `x87arith', `copy' keywords and fix bugs.

19 years ago2006-03-23 Klaus Treichel <ktreichel@web.de>
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.

19 years agoadded gen-rules tool
Aleksey Demakov [Wed, 22 Mar 2006 18:48:02 +0000 (18:48 +0000)]
added gen-rules tool

19 years ago2006-03-12 Klaus Treichel <ktreichel@web.de>
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).

19 years agofixed int to uint and uint to int conversion
Aleksey Demakov [Mon, 27 Feb 2006 13:23:44 +0000 (13:23 +0000)]
fixed int to uint and uint to int conversion

19 years agofixed JIT_OP_STORE_RELATIVE_LONG
Aleksey Demakov [Sun, 26 Feb 2006 17:08:02 +0000 (17:08 +0000)]
fixed JIT_OP_STORE_RELATIVE_LONG

19 years agocorrected opcode in x86_pop_mem and x86_pop_membase
Aleksey Demakov [Sun, 26 Feb 2006 07:59:09 +0000 (07:59 +0000)]
corrected opcode in x86_pop_mem and x86_pop_membase

19 years agofixed jit_insn_address_of_label()
Aleksey Demakov [Thu, 23 Feb 2006 23:58:24 +0000 (23:58 +0000)]
fixed jit_insn_address_of_label()

19 years ago_jit_create_call_return_insns returns 1 (success) if there is no
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.

19 years agoNew local register allocator.
Aleksey Demakov [Sat, 18 Feb 2006 19:58:10 +0000 (19:58 +0000)]
New local register allocator.

19 years agoAdded index field to jit_value struct. Included CFG code into build.
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.

19 years agoFixed JIT_OP_CALL_FINALLY
Aleksey Demakov [Sun, 12 Feb 2006 13:55:09 +0000 (13:55 +0000)]
Fixed JIT_OP_CALL_FINALLY

19 years agobuild control flow graph and do liveness analyses on it
Aleksey Demakov [Fri, 10 Feb 2006 14:00:39 +0000 (14:00 +0000)]
build control flow graph and do liveness analyses on it

19 years agofixed typo in JIT_OP_JUMP_TABLE
Aleksey Demakov [Fri, 3 Feb 2006 18:50:14 +0000 (18:50 +0000)]
fixed typo in JIT_OP_JUMP_TABLE

19 years agooptimize _jit_gen_load_value and allow to move a value from one register to another
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

19 years agoNamed proper dpas arrays author.
Aleksey Demakov [Tue, 17 Jan 2006 08:49:46 +0000 (08:49 +0000)]
Named proper dpas arrays author.

19 years agoUpdating working version to "0.0.7".
Rhys Weatherley [Sun, 15 Jan 2006 06:53:05 +0000 (06:53 +0000)]
Updating working version to "0.0.7".

19 years agoUpdate version for the "0.0.6" release. r.0.0.6
Rhys Weatherley [Sun, 15 Jan 2006 06:50:40 +0000 (06:50 +0000)]
Update version for the "0.0.6" release.

19 years agofix register allocation for long values
Aleksey Demakov [Fri, 13 Jan 2006 20:26:19 +0000 (20:26 +0000)]
fix register allocation for long values

19 years agofixed object file name
Aleksey Demakov [Fri, 13 Jan 2006 15:39:26 +0000 (15:39 +0000)]
fixed object file name

19 years agoFixed return type of inrinsic function that return exception code.
Aleksey Demakov [Fri, 13 Jan 2006 11:10:06 +0000 (11:10 +0000)]
Fixed return type of inrinsic function that return exception code.

19 years agoimplement JIT_OP_JUMP_TABLE in interpreter
Aleksey Demakov [Wed, 11 Jan 2006 00:24:42 +0000 (00:24 +0000)]
implement JIT_OP_JUMP_TABLE in interpreter

19 years agoadded jit_insn_jump_table
Aleksey Demakov [Tue, 10 Jan 2006 21:24:42 +0000 (21:24 +0000)]
added jit_insn_jump_table

19 years agoadded fixup_absolute_list field to _jit_block struct
Aleksey Demakov [Tue, 10 Jan 2006 21:03:44 +0000 (21:03 +0000)]
added fixup_absolute_list field to _jit_block struct

19 years agoadded x86_jump_memindex
Aleksey Demakov [Tue, 10 Jan 2006 20:48:35 +0000 (20:48 +0000)]
added x86_jump_memindex

19 years agochange jit_builtin_return_int to use leal instead of movl
Aleksey Demakov [Sun, 8 Jan 2006 04:25:24 +0000 (04:25 +0000)]
change jit_builtin_return_int to use leal instead of movl

19 years agoimplement JIT_OP_MEMMOVE
Aleksey Demakov [Wed, 28 Dec 2005 14:11:38 +0000 (14:11 +0000)]
implement JIT_OP_MEMMOVE

19 years agoremove cache_start
Aleksey Demakov [Sat, 24 Dec 2005 09:48:42 +0000 (09:48 +0000)]
remove cache_start

19 years agoadd jit_cache_get_start_method() and remove jit_function.start_address field
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