Alien-LibJIT

 view release on metacpan or  search on metacpan

libjit/ChangeLog  view on Meta::CPAN

	* 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>

	* configure.ac: Add checks for the rint, round and trunc c library
	functions.

	* config/jit-opcodes.ops: (ftrunc, dtrunc, nftrunc): Add opcode
	definitions for the new trunc instruction.

	* dpas/dpas-builtin.c: Add new Trunc builtin.

	* include/jit/jit-insn.c (jit_insn_trunc): Add prototype.

	* include/jit/jit-intrinsic.h (jit_float32_trunc, jit_float64_trunc,
	jit_nfloat_trunc): Add prototypes.

	* jit/jit-insn.c (jit_insn_trunc): Add new float rounding function.
	Refine comments for the rounding functions.

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

	* jit/jit-intrinsic.c: Nove float rounding intrinsics to one block
	and refine conmments.
	(jit_float32_rint): Use rintf or rint if available.
	(jit_float64_rint): Use rint if available.
	(jit_nfloat_rint): Use rintl if available.
	(jit_float32_round): Use roundf or round if available.
	(jit_float64_round): Use round if available.
	(jit_nfloat_round): Use roundl if available.
	(jit_float32_trunc, jit_float64_trunc, jit_nfloat_trunc): Add new
	rounding intrinsics for rounding float values towards zero.

	* jit/jit-symbol.c: Add the new intrinsics jit_float32_trunc,
	jit_float64_trunc and jit_nfloat_trunc to the symbol table.

	* tests/math.pas: Add tests for the new trunc insn.

	* include/jit/jit-plus.h: Add jit_function insn_trunc member.

	* jitplus/jit-plus-function.cpp (insn_trunc): Implement wrapper for
	the new trunc insn.

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

	* include/jit/Makefile.am: Don't include jit-arch.h in the
	distribution.

	* tools/gen-apply.c: Include a local copy of jit-arch.h instead of
	the one in the include dir because that one is not yet present in
	the build process.

	* tools/Makefile.am: Create a local symbolic link jit-arch.h to
	the arch specific header in the include dir.

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

	* Makefile.am: Add config to the subdirectories.

	* configure.ac: Add config/Makefile the the makefiles to generate.

	* include/jit/Makefile.am: Add jit-opcode.h to BUILT_SOURCES and
	DISTCLEANFILES. Add the rule to generate jit-opcodes.h.

	* include/jit/jit-opcode.h: Delete because it will be generated.

	* jit/Makefile.am: Add jit-opcode.c, jit-interp-opcode.c and
	jit-interp-opcode.h to BUILT_SOURCES.
	Add jit-interp-opcode.c and jit-interp-opcode.h to libjit_la_SOURCES.
	Add rules to generate jit-opcode.c, jit-interp-opcode.c and
	jit-interp-opcode.h.
	Adjust rule to generate jit-interp-labels.h. 

	* jit/jit-dump.c: Remove the extern declaration of the interpreter
	opcode table.

	* jit/jit-interp.h: Replace the opcode declaration by including
	the generated file.

	* jit/jit-opcode.c: Delete because its generated now.

	* jit/jit-interp.c: Adjust names of interpreter specific opcodes.

	* jit/jit-rules-interp.c: Likewise.

	* jit/mklabel.sh: Adjust for opcode name change of interpreter
	specific opcodes.

	* tools/.gitignore: Add new built files.

	* tools/Makefile.am: Add rules to build gen-ops.

	* tools/gen-ops-parser.y, tools/gen-ops-scanner.l: Add opcode table
	generator.

	* config/Makefile.am: Added

	* config/jit-opcodes.ops: Add definition source of the bastic
	libjit opcodes.

	* config/jit-interp-opcodes.ops: Add definition source of the
	interpreter specific libjit opcodes.

	* include/jit/.gitignore, jit/.gitignore: Add new built files to
	the ignore list.

2010-05-31  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-block.c: allow empty block branch optimization for blocks
	used both in branch insns and in address-of insns. Branch labels are
	split from address-of labels and become eligible for optimization



( run in 0.722 second using v1.01-cache-2.11-cpan-5b529ec07f3 )