Aleksey Demakov
|
8d1f04f894
|
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 ago |
Aleksey Demakov
|
18f20bf523
|
Fix JIT_OP_IDIV and JIT_OP_IREM rules for the divisor value of -1.
|
19 years ago |
Aleksey Demakov
|
54747d29c3
|
fix problem with long constants introduced by previous commit
|
19 years ago |
Aleksey Demakov
|
90cc7c3553
|
rewrite some manual rules to use regular pattern syntax
|
19 years ago |
Aleksey Demakov
|
23c2933e5a
|
add *.inc files to cvsignore
|
19 years ago |
Aleksey Demakov
|
b2282e6f8e
|
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 ago |
Aleksey Demakov
|
8a8482e496
|
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 ago |
Aleksey Demakov
|
91a53d22e7
|
free global values from local registers; tune spill cost calculation;
|
19 years ago |
Aleksey Demakov
|
4afe9af964
|
fix spill cost calcualtion for global registers
|
19 years ago |
Aleksey Demakov
|
abd8f6c4e5
|
fix spill cost calculation problem
|
19 years ago |
Aleksey Demakov
|
4fe29ff197
|
extend instruction selector syntax to allow independent destination register
|
19 years ago |
Aleksey Demakov
|
450b0ae1c3
|
fix computation of stack register index
|
19 years ago |
Aleksey Demakov
|
7090cf19fc
|
Save input values beforehand. Clean up and refactor spill code.
|
19 years ago |
Aleksey Demakov
|
a2c6df4d88
|
a few fixes for new register allocator
|
19 years ago |
Aleksey Demakov
|
0378d87ccc
|
remove extra spills and add missing jit_cache_end_output()
|
19 years ago |
Aleksey Demakov
|
9291f97087
|
fix spilling and many problems with stack registers
|
19 years ago |
Aleksey Demakov
|
62d643164f
|
make dump work for any stream not just stdout and stderr
|
19 years ago |
Aleksey Demakov
|
93300b9241
|
Fix JIT_OP_ADDRESS_OF rule
|
19 years ago |
Aleksey Demakov
|
422829cb61
|
fix JIT_OP_ADDRESS_OF rule
|
19 years ago |
Aleksey Demakov
|
8c9385fc25
|
rewrite block ops using new register allocator
|
19 years ago |
Aleksey Demakov
|
3d40ef5372
|
register allocator now supports register set constraints
|
19 years ago |
Aleksey Demakov
|
3618e62861
|
fix generation of `if' pattern code
|
19 years ago |
Aleksey Demakov
|
5c91a071b0
|
fix warning in jit/jit-rules-x86.c;
fix generation of scratch and clobber code;
add `any' keyword.
|
19 years ago |
Aleksey Demakov
|
4e64c61c4c
|
add instruction selection rules for new register allocator;
add --enable-new-reg-alloc configure option.
|
19 years ago |
Aleksey Demakov
|
3a0f454739
|
add _jit_gen_exch_top and _jit_gen_spill_top functions; add some tracing
|
19 years ago |
Aleksey Demakov
|
07a42b4091
|
new register allocator is improved and extended to support stack registers
|
19 years ago |
Aleksey Demakov
|
a5b46d2b50
|
initialize thrown_exception value
|
19 years ago |
Aleksey Demakov
|
4fba42edf2
|
add jump table into jit_opcodes array
|
19 years ago |
Aleksey Demakov
|
503fc36e5c
|
Extended selection rules syntax.
|
19 years ago |
Aleksey Demakov
|
a7192313ef
|
Added function entry point indirector. Fixed tail call bug.
|
19 years ago |
Aleksey Demakov
|
5b9056511d
|
Add `reversible', `x87arith', `copy' keywords and fix bugs.
|
19 years ago |
Klaus Treichel
|
fcdd7cb1b0
|
2006-03-23 Klaus Treichel <ktreichel@web.de>
|
19 years ago |
Aleksey Demakov
|
b18b0e6cd3
|
added gen-rules tool
|
19 years ago |
Klaus Treichel
|
b2ac404a2e
|
2006-03-12 Klaus Treichel <ktreichel@web.de>
|
19 years ago |
Aleksey Demakov
|
5413a1ade9
|
fixed int to uint and uint to int conversion
|
19 years ago |
Aleksey Demakov
|
e60b31edc2
|
fixed JIT_OP_STORE_RELATIVE_LONG
|
19 years ago |
Aleksey Demakov
|
bae1a6f1cb
|
corrected opcode in x86_pop_mem and x86_pop_membase
|
19 years ago |
Aleksey Demakov
|
673865190e
|
fixed jit_insn_address_of_label()
|
19 years ago |
Aleksey Demakov
|
6f9d5f4bd0
|
_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 ago |
Aleksey Demakov
|
7c54ae5478
|
New local register allocator.
|
19 years ago |
Aleksey Demakov
|
3c830819e2
|
Added index field to jit_value struct. Included CFG code into build.
|
19 years ago |
Aleksey Demakov
|
43444ac2d8
|
Fixed JIT_OP_CALL_FINALLY
|
19 years ago |
Aleksey Demakov
|
db3a7eb02c
|
build control flow graph and do liveness analyses on it
|
19 years ago |
Aleksey Demakov
|
6d7eeb9240
|
fixed typo in JIT_OP_JUMP_TABLE
|
19 years ago |
Aleksey Demakov
|
fe35ba59b4
|
optimize _jit_gen_load_value and allow to move a value from one register to another
|
19 years ago |
Aleksey Demakov
|
24a399d282
|
Named proper dpas arrays author.
|
19 years ago |
Rhys Weatherley
|
4f10a37ccd
|
Updating working version to "0.0.7".
|
19 years ago |
Rhys Weatherley
|
c4faeadf27
|
Update version for the "0.0.6" release.
|
19 years ago |
Aleksey Demakov
|
60bf89d827
|
fix register allocation for long values
|
19 years ago |
Aleksey Demakov
|
d82bbc0001
|
fixed object file name
|
19 years ago |