Alien-LibJIT

 view release on metacpan or  search on metacpan

libjit/ChangeLog  view on Meta::CPAN

	* tools/gen-apply.c: split "detect_struct_conventions" up a bit
	more to (hopefully) prevent problems under MacOSX; fix a bug in
	the generation of "jit_apply_builder_align_regs" that affected
	ARM and PPC systems.

	* dpas/dpas-types.c (dpas_type_identical): treat "float64" and
	"nfloat" as identical on platforms whose "long double" type is
	the same as "double".

	* jit/jit-rules-x86.c, jit/jit-rules-x86.sel, tools/gen-sel-parser.y,
	tools/gen-sel-scanner.l: relative loads and stores for x86.

2004-05-26  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-insn.c, jit/jit-rules-x86.c, jit/jit-rules-x86.sel,
	jit/jit-rules.h, tools/gen-sel-parser.y: fix some compile issues
	in the x86 native back end.

	* jit/jit-function.c, jit/jit-rules-x86.c, jit/jit-rules-x86.sel,
	tools/gen-sel-parser.y: more bug fixes for the x86 back end.

	* include/jit/jit-insn.h, include/jit/jit-plus.h, jit/jit-insn.c,
	jitplus/jit-plus-function.cpp: add "jit_insn_new_block" to simplify
	creating a new block that doesn't have an explicit label.

	* dpas/dpas-parser.y, include/jit/jit-block.h, jit/jit-block.c,
	jit/jit-insn.c: add "jit_block_current_is_dead" to simplify
	testing if the last block is reachable or not, taking empty
	trailing blocks into account.

	* jit/jit-rules-x86.c, jit/jit-rules-x86.sel, tools/gen-sel-parser.y,
	tools/gen-sel-scanner.l: more selection cases for the x86 back end.

	* jit/Makefile.am, jit/jit-gen-arm.h, jit/jit-rules-arm.c,
	jit/jit-rules-arm.sel: add the beginnings of the instruction
	selector for ARM.

2004-05-25  Rhys Weatherley  <rweather@southern-storm.com.au>

	* tools/.cvsignore, tools/Makefile.am, tools/gen-sel-parser.y,
	tools/gen-sel-scanner.l: add the "gen-sel" program to the tree,
	to assist with building native instruction selectors.

	* jit/.cvsignore, jit/Makefile.am, jit/jit-rules-x86.c,
	jit/jit-rules-x86.sel, tools/gen-sel-parser.y: check in the
	initial instruction selector for x86 (incomplete).

	* jit/jit-rules-x86.sel, tools/gen-sel-parser.y,
	tools/gen-sel-scanner.l: selectors for branch instructions.

	* jit/jit-rules-x86.sel: selectors for call instructions.

2004-05-24  Rhys Weatherley  <rweather@southern-storm.com.au>

	* include/jit/jit-insn.h, include/jit/jit-opcode.h, jit/jit-block.c,
	jit/jit-dump.c, jit/jit-except.c, jit/jit-function.c, jit/jit-insn.c,
	jit/jit-internal.h, jit/jit-interp.c, jit/jit-interp.h,
	jit/jit-opcode.c, jit/jit-rules-arm.c, jit/jit-rules-interp.c,
	jit/jit-rules-x86.c, jit/jit-rules.h, jit/jit-setjmp.h:
	rewrite the exception region routines to make them easier
	to use from CLI and JVM style systems.

	* jit/jit-rules-interp.c (_jit_gen_start_block): set the address
	of the exception handler for interpreted code.

	* include/jit/jit-plus.h, jitplus/jit-plus-function.cpp:
	add missing functions to the C++ API.

2004-05-22  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-block.c (_jit_block_peephole_branch): don't allow
	conditional branches to cross an exception context boundary,
	because doing so will violate "finally" semantics.

	* dpas/dpas-parser.y, include/jit/jit-insn.h, jit/jit-function.c,
	jit/jit-insn.c, jit/jit-internal.h: rename "jit_insn_move_blocks"
	to "jit_insn_move_blocks_to_end" and add a new function
	"jit_insn_move_blocks_to_start" for creating initialization code.

	* include/jit/jit-opcode.h, jit/jit-except.c, jit/jit-function.c,
	jit/jit-insn.c, jit/jit-internal.h, jit/jit-interp.c, jit/jit-opcode.c,
	jit/jit-setjmp.h: modify the function call logic to use "setjmp"
	with native back ends.

2004-05-21  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-gen-arm.c, jit/jit-gen-arm.h: modify the ARM codegen
	macros so that they can be used for branch elimination.

	* include/jit/jit-except.h, jit/jit-except.cpp, jit/jit-function.c,
	jit/jit-insn.c, jit/jit-internal.h, jit/jit-interp.cpp,
	jit/jit-interp.h, jit/jit-setjmp.h: redesign the exception handling
	mechanism to use "setjmp" rather than C++ exceptions.

	* configure.in, doc/Makefile.am, doc/libjit.texi, dpas/Makefile.am,
	jit/Makefile.am, jit/jit-except.c, jit/jit-except.cpp,
	jit/jit-interp.c, jit/jit-interp.cpp, jitdynamic/Makefile.am:
	remove the last remaining C++ code from libjit.so so that
	it is now a pure C library.

	* include/jit/jit-insn.h, include/jit/jit-opcode.h,
	include/jit/jit-plus.h, jit/jit-insn.c, jit/jit-interp.c,
	jit/jit-opcode.c, jitplus/jit-plus-function.cpp:
	add the "jit_insn_alloca" instruction.

	* configure.in, jit/.cvsignore, jit/Makefile.am, jit/jit-interp.c,
	jit/mklabel.sh: use computed goto's in the interpreter if supported
	by the underlying compiler.

2004-05-20  Rhys Weatherley  <rweather@southern-storm.com.au>

	* include/jit/jit-value.h, jit/jit-insn.c, jit/jit-value.c:
	convert constant conditional branches such as "if true goto L" into
	unconditional branches.

	* jit/jit-block.c, jit/jit-internal.h, jit/jit-live.c,
	jit/jit-rules-interp.c: perform peephole optimization of
	branches to branches before live variable analysis, so that
	the back ends don't need to worry about jump threading.

	* jit/jit-block.c, jit/jit-live.c: treat dead blocks as empty



( run in 0.426 second using v1.01-cache-2.11-cpan-e93a5daba3e )