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 )