Alien-LibJIT
view release on metacpan or search on metacpan
libjit/ChangeLog view on Meta::CPAN
2006-08-11 Thomas Cort <linuxgeek@gmail.com>
* jit/jit-rules-alpha.c jit/jit-rules-alpha.ins Properly handle
fixups on alpha. Implement JIT_OP_CALL_EXTERNAL for alpha.
2006-07-29 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-reg-alloc.c (use_cheapest_register): allow a register that
contains an input value to be used as a scratch register. The input
value in this case is copied to another register. This resolves the
problem with JIT_OP_IREM rule that failed to allocate a scratch reg
in a very specific case (all EBX, ESI, EDI regs are used as global,
dividend is initially in ECX and copied to EAX:EDX pair where x86
idiv expects it to be).
* jit/jit-reg-alloc.c (set_regdesc_flags): fix a bug.
2006-07-23 Thomas Cort <linuxgeek@gmail.com>
* jit/jit-apply-alpha.c jit/jit-apply-alpha.h jit/jit-apply-func.h
jit/jit-gen-alpha.h jit/jit-rules-alpha.c jit/jit-rules-alpha.h
jit/jit-rules-alpha.ins Implement the redirector for alpha.
Continue to implement more functions in jit/jit-rules-alpha.c.
2006-07-15 Thomas Cort <linuxgeek@gmail.com>
* jit/jit-apply-alpha.c jit/jit-gen-alpha.h jit/jit-rules-alpha.h
jit/jit-rules-alpha.c: Implement closure for alpha. Use jsr
instead of bsr in alpha_call. Clean up prolog and epilog
generation for alpha to be more readable.
2006-07-13 Thomas Cort <linuxgeek@gmail.com>
* jit/jit-gen-alpha.h jit/jit-rules-alpha.c jit/jit-rules-alpha.h:
Added trap barrier macro alpha_trapb. Implemented
_jit_gen_prolog and _jit_gen_epilog for alpha.
2006-07-12 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-insn.c (jit_insn_move_blocks_to_start): fix problem with
wrong order of blocks that were moved from the position just after
the init_block and with disappearance of blocks after the empty
init_block.
2006-07-12 Thomas Cort <linuxgeek@gmail.com>
* README.alpha jit/Makefile.am jit/jit-apply-alpha.c
jit/jit-apply-alpha.h jit/jit-elf-defs.h jit/jit-gen-alpha.h
jit/jit-rules-alpha.c jit/jit-rules-alpha.h
jit/jit-rules-alpha.ins /jit/jit-rules.h: Initial import of the
code for the alpha port.
2006-07-06 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-rules-x86.ins: fix division by power of two.
2006-07-05 Aleksey Demakov <ademakov@gmail.com>
* configure.in: make new register allocator the default.
* jit/jit-reg-alloc.c (is_register_alive, compute_spill_cost): fix
problem with destroying the end register of a long pair.
2006-07-03 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-rules-x86.ins: add JIT_OP_LOW_WORD, JIT_OP_EXPAND_INT,
JIT_OP_EXPAND_UINT, JIT_OP_INT_TO_NFLOAT, JIT_OP_UINT_TO_NFLOAT,
JIT_OP_LONG_TO_NFLOAT, JIT_OP_ULONG_TO_NFLOAT and rewrite
JIT_OP_TRUNC_SBYTE, JIT_OP_TRUNC_UBYTE, JIT_OP_LOAD_PC rules.
* jit/jit-rules-x86.c (_jit_opcode_is_supported): include .inc file
instead of .slc if USE_NEW_REG_ALLOC is defined.
2006-06-28 Aleksey Demakov <ademakov@gmail.com>
* tools/gen-rules-parser.y (gensel_output_code):
* jit/jit-rules-x86.ins: use $1 for dest register instead of $0
for consistency.
2006-06-27 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-insn.c (accumulate_relative_offset): add function that
accumulates JIT_OP_ADD_RELATIVE offsets.
(jit_insn_store_relative, jit_insn_load_relative)
(jit_insn_add_relative): use accumulate_relative_offset() instead
of previous_relative() to find the offset from the original address
and do not replace the accumulated instructions with JIT_OP_NOP as
it was before. The old approach is problematic because it is unknown
at this point if the values we accumulated are dead or they will be
used by instructions added later. The dead code elimination pass
removes unused values just as well but with enough knowledge to be
safe. The new code also does not move JIT_OP_ADDRESS_OF towards the
relative instructions that uses the address. Supposedly such move
may be used by the code generator as a hint. However currently the
code generator does not use such a hint. The old code is kept for
reference #ifdefed out.
2006-06-17 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-reg-alloc.h, jit/jit-reg-alloc.c: implement support of the
JIT_REGS_FREE_DEST flag for 3-argument instructions. Tweak reg alloc
API.
* tools/gen-rules-parser.y: adjust for reg alloc API changes. Use
'$0' pattern element to refer to destination register in 3-argument
instructions.
* jit/jit-rules-x86.ins: rewrite JIT_OP_IDIV, JIT_OP_IDIV_UN,
JIT_OP_IREM, JIT_OP_IREM_UN, JIT_OP_ADDRESS_OF_LABEL,
JIT_OP_LOAD_RELATIVE_FLOAT32, JIT_OP_LOAD_RELATIVE_FLOAT32,
JIT_OP_LOAD_RELATIVE_NFLOAT, JIT_OP_LOAD_ELEMENT_FLOAT32,
JIT_OP_LOAD_ELEMENT_FLOAT64, JIT_OP_LOAD_ELEMENT_NFLOAT rules.
2006-06-16 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-rules-x86.sel, jit/jit-rules-x86.ins: fix JIT_OP_IDIV and
JIT_OP_IREM rules for the divisor value of -1.
2006-06-09 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-rules-x86.ins: rewrite JIT_OP_STORE_RELATIVE_BYTE,
( run in 0.575 second using v1.01-cache-2.11-cpan-df04353d9ac )