Alien-LibJIT

 view release on metacpan or  search on metacpan

libjit/ChangeLog  view on Meta::CPAN


	* jit/jit-reg-alloc.c (choose_output_register, _jit_regs_assign):
	fix handling of explicitely assigned registers.

	* jit/jit-rules-x86.c (shift_reg): remove function.
	* jit/jit-rules-x86.ins (JIT_OP_ISHL, JIT_OP_ISHR, JIT_OP_ISHR_UN):
	rewrite rules with explicit assignment to "ecx" register, don't use
	shift_reg() function.

2011-07-02  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-compile.c (compile_block): amend debug info

2010-11-28  Klaus Treichel  <ktreichel@web.de>

	* config/jit-opcodes.ops: Set the destination value type for the
	address_of_label opcode.

	* jit/jit-dump.c (jit_dump_insn): Print the destination value for
	the address_of_label opcode.

2010-11-07  Klaus Treichel  <ktreichel@web.de>

	* jit/jit-cache.h: Fix comment for _jit_cache_get_end_method.

2010-10-24  Klaus Treichel  <ktreichel@web.de>

	* jit/jit-reg-alloc.c (_jit_regs_alloc_global): Set in_global_register
	on global register assignment.

2010-10-04  Klaus Treichel  <ktreichel@web.de>

	* jit/jit-internal.h: Add missing typedef in the declaration of the
	_jit_intrinsic_signature enumaeration. (Really Noah Lavine)

2010-09-21  Klaus Treichel  <ktreichel@web.de>

	* config/jit-opcodes.ops: Add definitions for the opcode's
	intrinsics.

	* jit/Makefile.am: Add jit-opcode-apply.c to the sources.

	* jit/jit-internal.h (enum _jit_intrinsic_signature): Declare the
	various intrinsic signatures.
	(struct _jit_intrinsic_info): Declare structure to hold the intrinsic
	information for an opcode.

	* jit/jit-opcode-apply.c: Add support for constant folding.

	* tools/gen-ops-parset.y, tools/gen-ops-scanner.l: Add support for
	generating the opcode intrinsic table.

2010-09-12  Klaus Treichel  <ktreichel@web.de>

	* config/jit-opcodes.ops: Remove the *eq_inv and *ne_inv float
	compare a branch opcodes because they behave exactly the same as
	the corresponding opcodes without the _INV suffix.
	Add macros to map the removed opcodes to their counterparts without
	the _INV suffix.

	* jit/jit-insn.c (jit_insn_to_not_bool): Replace the mappings
	to *EQ_INV and *NE_INV by mappings to *EQ and *NE.
	Remove the mappings for *EQ_INV and *NE_INV.
	(jit_insn_branch_if): likwise
	(jit_insn_branch_if_not): likewise

	* jit/jit-interp.c (_jit_run_function): Remove handling of
	the *EQ_INV and *NE_INV opcodes.

	* jt/jit-rules-interp.c (_jit_gen_insn): Remove the *EQ_INV
	and *NE_INV cases.

	* jit/jit-rules-x86-64.ins.c: Remove handling of the *EQ_INV and *NE_INV
	opcodes.

2010-08-10  Klaus Treichel  <ktreichel@web.de>

	* config/jit-opcodes.ops: Fix arg1 for the address_of opcode.

2010-08-09  Klaus Treichel  <ktreichel@web.de>

	* jit/jit-gen-x86-64.h: Add macros for the cvttss2si and cvttsd2si
	instructions.

	* jit-rules-x86-64.ins  (JIT_OP_FLOAT32_TO_INT,
	JIT_OP_FLOAT32_TO_UINT, JIT_OP_FLOAT32_TO_LONG,
	JIT_OP_INT_TO_FLOAT32, JIT_OP_UINT_TO_FLOAT32,
	JIT_OP_LONG_TO_FLOAT32, JIT_OP_FLOAT64_TO_FLOAT32,
	JIT_OP_FLOAT64_TO_INT, JIT_OP_FLOAT64_TO_UINT,
	JIT_OP_FLOAT64_TO_LONG, JIT_OP_INT_TO_FLOAT64,
	JIT_OP_UINT_TO_FLOAT64, JIT_OP_LONG_TO_FLOAT64,
	JIT_OP_FLOAT32_TO_FLOAT64: Add support for these new opcodes.

2010-08-08  Klaus Treichel  <ktreichel@web.de>

	* jit/jit-rules-x86.ins (JIT_OP_FLOAT32_TO_INT,
	JIT_OP_FLOAT64_TO_INT, JIT_OP_FLOAT32_TO_LONG,
	JIT_OP_FLOAT64_TO_LONG, JIT_OP_INT_TO_FLOAT32,
	JIT_OP_INT_TO_FLOAT64, JIT_OP_UINT_TO_FLOAT32,
	JIT_OP_UINT_TO_FLOAT64, JIT_OP_LONG_TO_FLOAT32,
	JIT_OP_LONG_TO_FLOAT64, JIT_OP_ULONG_TO_FLOAT32,
	JIT_OP_ULONG_TO_FLOAT64, JIT_OP_FLOAT64_TO_FLOAT32,
	JIT_OP_FLOAT32_TO_FLOAT64: Add support for these new opcodes.

	* tests/math.pas: Add tests for integer/float conversions.

2010-08-07  Klaus Treichel  <ktreichel@web.de>

	* config/jit-opcodes.ops: Add opcodes for direct conversions from
	and to 32-bit and 64-bit floatingpoint values.

	* jit/jit-interp.c (_jit_run_function): Add support for the new
	opcodes.

	* jit/jit-insn.c: Add the new opcodes to the convert_intrinsics
	table.
	(jit_insn_convert): Use the new opcodes for conversions from and to
	32-bit and 64-bit floatingpoint values.

2010-08-06  Klaus Treichel  <ktreichel@web.de>



( run in 0.451 second using v1.01-cache-2.11-cpan-63c85eba8c4 )