]> git.unchartedbackwaters.co.uk Git - francis/libjit.git/log
francis/libjit.git
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

19 years agoimplement array expressions
Aleksey Demakov [Fri, 23 Dec 2005 21:26:50 +0000 (21:26 +0000)]
implement array expressions

19 years agoimplemented JIT_OP_MEMCPY for x86
Aleksey Demakov [Thu, 22 Dec 2005 08:24:28 +0000 (08:24 +0000)]
implemented JIT_OP_MEMCPY for x86

19 years agoimplemented JIT_OP_MEMSET for x86
Aleksey Demakov [Wed, 21 Dec 2005 21:13:46 +0000 (21:13 +0000)]
implemented JIT_OP_MEMSET for x86

19 years agoFloating point element load and store optimization. Register allocation fixes.
Aleksey Demakov [Mon, 19 Dec 2005 20:36:40 +0000 (20:36 +0000)]
Floating point element load and store optimization. Register allocation fixes.

19 years agoImplemented jit_stack_trace_get_offset()
Aleksey Demakov [Sun, 18 Dec 2005 17:44:54 +0000 (17:44 +0000)]
Implemented jit_stack_trace_get_offset()

19 years agojit_insn_address_of() returns 0 for constant values
Aleksey Demakov [Thu, 15 Dec 2005 18:10:09 +0000 (18:10 +0000)]
jit_insn_address_of() returns 0 for constant values

19 years agoadd reviewer for constant patch
Gopal V [Thu, 15 Dec 2005 10:14:31 +0000 (10:14 +0000)]
add reviewer for constant patch

19 years agoUse temporaries for address_of constants
Gopal V [Thu, 15 Dec 2005 10:12:26 +0000 (10:12 +0000)]
Use temporaries for address_of constants

19 years agofloating point changes
Aleksey Demakov [Tue, 13 Dec 2005 16:43:51 +0000 (16:43 +0000)]
floating point changes

19 years agoMake dump_object_code() work on cygwin.
Aleksey Demakov [Tue, 13 Dec 2005 08:32:02 +0000 (08:32 +0000)]
Make dump_object_code() work on cygwin.
Make jit_assert() break only if its argument is zero.

19 years agoMore selection rules for x86.
Aleksey Demakov [Sat, 10 Dec 2005 12:37:51 +0000 (12:37 +0000)]
More selection rules for x86.

19 years agoMerged with the latest version of x86-codegen.h from the Mono project
Aleksey Demakov [Sat, 10 Dec 2005 11:40:39 +0000 (11:40 +0000)]
Merged with the latest version of x86-codegen.h from the Mono project

19 years ago2005-11-19 Klaus Treichel <ktreichel@web.de>
Klaus Treichel [Sat, 19 Nov 2005 17:21:05 +0000 (17:21 +0000)]
2005-11-19  Klaus Treichel  <ktreichel@web.de>

* jit/apply-x86-64.h: Change definition of JIT_MEMCPY from "jit_memcpy" to
"jit_memcpy@PLT" to fix the build of a shared library for x86_64.

20 years agoImplement tail calls properly.
Rhys Weatherley [Thu, 18 Nov 2004 01:41:54 +0000 (01:41 +0000)]
Implement tail calls properly.

21 years agojit_insn_store: use the destination type to determine the store opcode,
Rhys Weatherley [Fri, 5 Nov 2004 04:00:59 +0000 (04:00 +0000)]
jit_insn_store: use the destination type to determine the store opcode,
not the source value type.

21 years agoReturn 0 when a sub-function throws an exception, not 1.
Rhys Weatherley [Tue, 2 Nov 2004 06:22:07 +0000 (06:22 +0000)]
Return 0 when a sub-function throws an exception, not 1.

21 years agojit_function_compile: clear block addresses and fixup lists if we need
Rhys Weatherley [Tue, 2 Nov 2004 06:18:07 +0000 (06:18 +0000)]
jit_function_compile: clear block addresses and fixup lists if we need
to restart on a new cache page (minor alterations by Rhys).

21 years agoHandle the special case of constant destination pointers in
Rhys Weatherley [Sun, 31 Oct 2004 01:53:21 +0000 (01:53 +0000)]
Handle the special case of constant destination pointers in
"store_relative" instructions, because otherwise the register
allocator gets confused.

21 years agofix ChangeLog entry
Gopal V [Fri, 29 Oct 2004 16:14:02 +0000 (16:14 +0000)]
fix ChangeLog entry

21 years agofix manpage formatting - patch to bug #10779
Gopal V [Fri, 29 Oct 2004 16:10:44 +0000 (16:10 +0000)]
fix manpage formatting - patch to bug #10779

21 years agoImplement some of the locking code for the debugging API.
Rhys Weatherley [Thu, 28 Oct 2004 01:23:08 +0000 (01:23 +0000)]
Implement some of the locking code for the debugging API.

21 years agoTest case for the long-form backward branch bug.
Rhys Weatherley [Wed, 13 Oct 2004 00:03:25 +0000 (00:03 +0000)]
Test case for the long-form backward branch bug.

21 years agooutput_branch: correct the offset when outputting a long-form backward branch.
Rhys Weatherley [Tue, 12 Oct 2004 01:19:24 +0000 (01:19 +0000)]
output_branch: correct the offset when outputting a long-form backward branch.

21 years agoRedesign the debugger API so that it contains functions
Rhys Weatherley [Wed, 6 Oct 2004 05:43:15 +0000 (05:43 +0000)]
Redesign the debugger API so that it contains functions
like "add breakpoint", "run", "step", etc that more closely resemble
what a front end debugger will want to have, shifting the
implementation burden off the front end.

21 years agoUse a common helper function for performing debug hook tests on
Rhys Weatherley [Mon, 4 Oct 2004 04:22:23 +0000 (04:22 +0000)]
Use a common helper function for performing debug hook tests on
native platforms, to avoid the need to implement breakpoint testing
individually in every native back end.

21 years agoClean up the breakpoint API and implement debug hooks for the interpreter.
Rhys Weatherley [Mon, 4 Oct 2004 02:26:41 +0000 (02:26 +0000)]
Clean up the breakpoint API and implement debug hooks for the interpreter.

21 years agoAdd instructions and function API's for supporting debug line
Rhys Weatherley [Mon, 4 Oct 2004 00:51:45 +0000 (00:51 +0000)]
Add instructions and function API's for supporting debug line
numbers and breakpoints.

21 years agoPointer-relative loads and stores for structures in the x86 back end.
Rhys Weatherley [Fri, 10 Sep 2004 03:01:24 +0000 (03:01 +0000)]
Pointer-relative loads and stores for structures in the x86 back end.

21 years agoAdd some support for structure copying to the x86 back end.
Rhys Weatherley [Thu, 9 Sep 2004 03:07:11 +0000 (03:07 +0000)]
Add some support for structure copying to the x86 back end.

21 years agoThe pointer value for indirect and vtable calls was being pushed onto the stack twice.
Rhys Weatherley [Mon, 6 Sep 2004 07:29:20 +0000 (07:29 +0000)]
The pointer value for indirect and vtable calls was being pushed onto the stack twice.

21 years agoAdd a sample program that demonstrates a simple VM based
Rhys Weatherley [Sun, 5 Sep 2004 09:50:57 +0000 (09:50 +0000)]
Add a sample program that demonstrates a simple VM based
on libjit (committed by Rhys).

21 years agoFix x86 code generation for floating-point return instructions.
Rhys Weatherley [Mon, 30 Aug 2004 02:01:22 +0000 (02:01 +0000)]
Fix x86 code generation for floating-point return instructions.

21 years agocpuid_query: use %ebx in a way that doesn't confuse PIC mode in some
Rhys Weatherley [Mon, 16 Aug 2004 06:45:03 +0000 (06:45 +0000)]
cpuid_query: use %ebx in a way that doesn't confuse PIC mode in some
versions of gcc (bug #10022).

21 years agoRe-implement the "push_return_area_ptr" patch so as to avoid wasting
Rhys Weatherley [Fri, 13 Aug 2004 04:06:33 +0000 (04:06 +0000)]
Re-implement the "push_return_area_ptr" patch so as to avoid wasting
stack space in functions with more than one native function call.

21 years agoAccount for the extra value that is added to the stack by the
Rhys Weatherley [Thu, 12 Aug 2004 00:53:50 +0000 (00:53 +0000)]
Account for the extra value that is added to the stack by the
"push_return_area_ptr" instruction.

21 years agoMinor fix to previous checkin.
Rhys Weatherley [Sun, 8 Aug 2004 01:29:57 +0000 (01:29 +0000)]
Minor fix to previous checkin.

21 years agoUpdating working version to "0.0.3".
Rhys Weatherley [Sun, 8 Aug 2004 01:14:18 +0000 (01:14 +0000)]
Updating working version to "0.0.3".

21 years agoUpdate version for the "0.0.4" release. r.0.0.4
Rhys Weatherley [Sun, 8 Aug 2004 01:11:36 +0000 (01:11 +0000)]
Update version for the "0.0.4" release.

21 years agoSupport for parallel builds.
Rhys Weatherley [Thu, 5 Aug 2004 00:11:27 +0000 (00:11 +0000)]
Support for parallel builds.

21 years agoDocumentation updates.
Rhys Weatherley [Thu, 5 Aug 2004 00:07:25 +0000 (00:07 +0000)]
Documentation updates.

21 years agoFix the operand types for "call_vtable_ptr".
Rhys Weatherley [Wed, 4 Aug 2004 06:59:22 +0000 (06:59 +0000)]
Fix the operand types for "call_vtable_ptr".

21 years agoWrite an x86-64 assembly version of "__builtin_apply", because
Rhys Weatherley [Fri, 25 Jun 2004 06:24:40 +0000 (06:24 +0000)]
Write an x86-64 assembly version of "__builtin_apply", because
the version inside gcc has an unusable register ordering.

21 years agoFix a crash in gen-apply under x86-64.
Rhys Weatherley [Fri, 25 Jun 2004 00:17:59 +0000 (00:17 +0000)]
Fix a crash in gen-apply under x86-64.