Alien-LibJIT

 view release on metacpan or  search on metacpan

libjit/ChangeLog  view on Meta::CPAN


	* jit/jit-dump.c, jit/jit-function.c, jit/jit-rules-interp.c
	* jit/jit-except.c, jit/jit-unwind.c: adjust where appropriate for
	cache API change.

2011-12-18  Aleksey Demakov  <ademakov@gmail.com>

	* jit/Makefile.am:
	* jit/jit-varint.h, jit/jit-varint.c: add new files for varaible
	length int encoding with algorithm similar but not identical to one
	currently used in jit-cache.c.  The new algorithm in certain cases
	better compresses unsigned ints.

2011-09-30  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-cache.h, jit/jit-cache.c (_jit_cache_new_region):
	function removed.

2011-09-03  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-cache.h, jit/jit-cache.c (_jit_cache_get_method_list):
	function removed.

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

	* jit/jit-config.h: added new file as central location for all
	platform config macros deduced from ./configure and cpp.
	* jit/Makefile.am: add jit-config.h.

	* include/jit/jit-context.h, jit/jit-context.c
	(jit_context_supports_threads): removed.
	* include/jit/jit-init.h, jit/jit-init.c (jit_supports_threads):
	added function to replace jit_context_supports_threads.

	* include/jit/jit-init.h, jit/jit-init.c
	(jit_supports_virtual_memory): added new function to check if
	the jit supports virtual memory routines.

	* include/jit/jit-vmem.h, jit/jit-vmem.c (jit_vmem_init)
	(jit_vmem_page_size, jit_vmem_round_up, jit_vmem_round_down)
	(jit_vmem_reserve, jit_vmem_reserve_committed, jit_vmem_release)
	(jit_vmem_commit, jit_vmem_decommit, jit_vmem_protect): added new
	files with virtual memory routines.
	* include/jit/Makefile.am, include/jit/jit.h: add jit-vmem.h
	* jit/Makefile.am: add jit-vmem.c

	* jit/jit-init.c (jit_init): call jit_vmem_init().

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

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

libjit/ChangeLog  view on Meta::CPAN

	rules were broken for local byte or short values. Fixed by removing
	the local pattern altogether as the reg pattern produces the same
	code but without the bug.

2006-10-18  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-reg-alloc.c (clobbers_register, bind_value): enable
	coalescing of the destination value of a copy operation with the
	source value in a single register.

	* jit/jit-rules-x86.ins: tag COPY rules with the "copy" keyword
	and change patterns of TRUNC rules to have a separate destination
	register.

2006-10-16  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-interp.h, jit/jit-interp.c (_jit_run_function): 
	* jit/jit-opcode.c, jit/jit-rules-interp.c (_jit_gen_insn): Repair
	struct handling broken since the last interpreter reorganization,
	remove unused interpreter opcodes.

	* jit/jit-rules-interp.c (_jit_gen_start_block): check if the fixup
	position is before the cache end. This prevents segmentation fault
	when the end of cache block is reached and jit_function_compile()
	attempts to generate more code (it checks for the cache end way too
	late).

2006-10-14  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-rules-interp.c (_jit_create_call_return_insns): fix return
	code in case of no return value or struct returned via pointer (this
	is just like 2006-02-20 fix for x86).

	* jit/jit-cfg.c (create_value_entry): an uninitialized value was
	used (thanks Klaus for spotting).

2006-10-02  Klaus Treichel  <ktreichel@web.de>

	* jit/jit-intrinsic.c: Fix a copy bug in jit_ulong_mul (replace - by *).

2006-09-25  Aleksey Demakov  <ademakov@gmail.com>

	* include/jit/jit-arch-x86.h, include/jit/jit-arch-generic.h: add
	headers for architecture-specific definitions.
	(_JIT_ARCH_GET_CURRENT_FRAME): add macro to find the stack frame
	pointer.

	* include/jit/Makefile.am: create jit-arch.h as a symlink to one of
	the jit-arch-*.h files depending on the JIT_ARCH value.
	* configure.in: set JIT_ARCH according to the system architecture.

	* include/jit/jit-walk.h (jit_get_current_frame):
	* jit/jit-walk.c (jit_get_starting_frame):
	* tools/gen-apply.c (find_return_offset, detect_frame_offsets): use
	_JIT_ARCH_GET_CURRENT_FRAME macro if available. This resolves the
	problem	with gcc 4.1.* where __builtin_frame_address() function is
	broken (thanks Klaus for identifing the problem).

2006-09-15  Radek Polak <psonek2@seznam.cz>

        * include/jit/jit-insn.h, jit/jit-insn.c, jit/jit-debugger.c: new
        instruction jit_insn_mark_breakpoint_variable.

2006-09-14  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-reg-alloc.h, jit/jit-reg-alloc.c: remove "old" register
	allocation code.

	* configure.in: remove --enable-new-reg-alloc option.

	* jit/jit-rules-x86.ins: simplify JIT_OP_RETURN_LONG rule, lift code
	from load_small_struct() function to JIT_OP_RETURN_SMALL_STRUCT rule.
	* jit/jit-rules-x86.c: remove load_small_struct() function.

2006-09-09  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-reg-alloc.h, jit/jit-reg-alloc.c:
	* tools/gen-rules-parser.y: add _JIT_REGS_CLOBBER_STACK flag and use
	it in the code generated for "only" rules instead of the explicit
	stack top check followed by the _jit_regs_spill_all() call.

2006-09-02  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-interp.c (_jit_run_function):
	* jit/jit-rules-interp.c (_jit_gen_insn): remove last traces of
	register allocation from the interpreter.

2006-08-31  Klaus Treichel  <ktreichel@web.de>

	* configure.in: Replace the deprecated AM_PROG_LIBTOOL with the current
	AC_PROG_LIBTOOL.

	* jitdynamic/Makefile.am, jitplus/Makefile.am: Add -no-undefined to the
	LDFLAGS to enable building cygwin/mingw dlls.

2006-08-31  Aleksey Demakov  <ademakov@gmail.com>

	* tools/gen-rules-scanner.l, tools/gen-rules-parser.y: add "frame"
	keyword that is just like "local" but forces the value out from the
	register into the stack frame.

	* jit/jit-rules-x86.ins: rewrite JIT_OP_COPY_STORE_BYTE,
	JIT_OP_ADDRESS_OF, and JIT_OP_COPY_STORE_SHORT rules using the
	"frame" keyword.

	* jit/Makefile.am, jit/jit-rules-x86.c: remove all references to
	jit-rules-x86.sel and jit-rules-x86.slc.

	* jit/jit-rules-x86.c: remove mov_memindex_reg_byte() and
	widen_byte() functions.

2006-08-30  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-interp.h, jit/jit-interp.c, jit/jit-opcode.c,
	jit/jit-rules-interp.h, jit/jit-rules-interp.c: major change in the
	internal interpreter instruction set. Now the stack is used only for
	function arguments. There are three pseudo-registers used instead of
	the stack for operands. One is used for the destination value, two
	others are used for the source values. The destination register is
	spilled after each instruction. This scheme obviates the need for
	register allocation for the interpreter backend.

libjit/ChangeLog  view on Meta::CPAN

2005-12-12  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-dump.c (dump_object_code): in order to make dump work on
	cygwin call "as" and "objdump" in two separate system() calls because
	it looks like the ';' separator between commands does not work there.
	Also on Win32 use TMP and TEMP environment variables as the tmp
	directory names and fallback to "c:/tmp".

	* jit/jit-gen-x86.h (jit_assert): change the macro definition to
	resolve	problems introduced at 2005-12-10.

2005-12-10  Aleksey Demakov  <ademakov@gmail.com>

	* jit/jit-gen-x86.h: Merged changes from the latest Mono project's
	version	of this file.

	* jit/jit-rules-x86.sel: Done the following rules:
	JIT_OP_LOAD_ELEMENT_FLOAT32, JIT_OP_LOAD_ELEMENT_FLOAT64,
	JIT_OP_LOAD_ELEMENT_NFLOAT, JIT_OP_STORE_ELEMENT_LONG,
	JIT_OP_STORE_ELEMENT_FLOAT32, JIT_OP_STORE_ELEMENT_FLOAT64,
	JIT_OP_STORE_ELEMENT_NFLOAT.

2005-11-19  Klaus Treichel  <ktreichel@web.de>

	* jit/apply-x86-64.h: Change definition of JIT_MEMCPY from "jit_memcpy" to
	"jit_memcpy@PLT" to fix the build of a shared library for x86_64.

2004-11-18  Rhys Weatherley  <rweather@southern-storm.com.au>

	* include/jit/jit-opcode.h, jit/jit-dump.c, jit/jit-insn.c,
	jit/jit-interp.c, jit/jit-opcode.c, jit/jit-rules-interp.c,
	jit/jit-rules-x86.sel: implement tail calls properly.

2004-11-05  Evin Robertson  <evin@users.sourceforge.net>

	* jit/jit-insn.c (jit_insn_store): use the destination type
	to determine the store opcode, not the source value type.

2004-11-02  Evin Robertson  <evin@users.sourceforge.net>

	* jit/jit-function.c (jit_function_compile): clear block addresses
	and fixup lists if we need to restart on a new cache page (minor
	alterations by Rhys).

	* jit/jit-function.c (jit_function_apply_vararg): return 0 when a
	sub-function throws an exception, not 1.

2004-10-31  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-rules-x86.sel: handle the special case of constant
	destination pointers in "store_relative" instructions, because
	otherwise the register allocator gets confused.

2004-10-29  Peter Lund <firefly@diku.dk>

	* doc/libjit.3: fix manpage formatting issues. (patch attached
	to bug #10779, Gopal).

2004-10-28  Rhys Weatherley  <rweather@southern-storm.com.au>

	* configure.in, jit/jit-debugger.c, jit/jit-thread.c,
	jit/jit-thread.h: implement some of the locking code
	for the debugging API.

2004-10-12  Evin Robertson  <evin@users.sourceforge.net>

	* jit/jit-rules-x86.c (output_branch): correct the offset
	when outputting a long-form backward branch.

	* tests/Makefile.am, tests/loop.pas: test case for the
	long-form backward branch bug.

2004-10-06  Rhys Weatherley  <rweather@southern-storm.com.au>

	* doc/Makefile.am, doc/libjit.texi, include/jit/Makefile.am,
	include/jit/jit-common.h, include/jit/jit-context.h,
	include/jit/jit-debugger.h, include/jit/jit-except.h,
	include/jit/jit-function.h, include/jit/jit.h, jit/Makefile.am,
	jit/jit-context.c, jit/jit-debug.c, jit/jit-debugger.c,
	jit/jit-insn.c, jit/jit-internal.h, jit/jit-interp.c:
	redesign the debugger API so that it contains functions
	like "add breakpoint", "run", "step", etc that more closely resemble
	what a front end debugger will want to have, shifting the
	implementation burden off the front end.

2004-10-04  Rhys Weatherley  <rweather@southern-storm.com.au>

	* include/jit/jit-function.h, include/jit/jit-insn.h,
	include/jit/jit-opcode.h, include/jit/jit-plus.h, jit/jit-function.c,
	jit/jit-insn.c, jit/jit-internal.h, jit/jit-interp.c,
	jit/jit-opcode.c, jit/jit-rules-interp.c, jit/jit-rules-arm.sel,
	jit/jit-rules-x86.sel, jitplus/jit-plus-function.cpp:
	add instructions and function API's for supporting debug line
	numbers and breakpoints.

	* doc/Makefile.am, doc/libjit.texi, include/jit/jit-context.h,
	include/jit/jit-insn.h, include/jit/jit-opcode.h,
	include/jit/jit-plus.h, jit/Makefile.am, jit/jit-context.c,
	jit/jit-debug.c, jit/jit-function.c, jit/jit-insn.c,
	jit/jit-internal.h, jit/jit-interp.c, jit/jit-opcode.c,
	jit/jit-rules-arm.sel, jit/jit-rules-interp.c, jit/jit-rules-x86.sel,
	jitplus/jit-plus-function.cpp: clean up the breakpoint API and
	implement debug hooks for the interpreter.

	* jit/jit-insn.c, jit/jit-rules-arm.sel, jit/jit-rules-x86.sel:
	use a common helper function for performing debug hook tests on
	native platforms, to avoid the need to implement breakpoint testing
	individually in every native back end.

2004-09-10  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-rules-x86.sel: pointer-relative loads and stores
	for structures in the x86 back end.

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

	* jit/jit-rules-x86.c, jit/jit-rules-x86.sel: add some support
	for structure copying to the x86 back end.

2004-09-06  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-rules-interp.c: the pointer value for indirect and vtable
	calls was being pushed onto the stack twice.

2004-09-05  Norbert Bollow  <nb@SoftwareEconomics.biz>

	* samples/hellovm.c: add a sample program that demonstrates a
	simple VM based on libjit (committed by Rhys).

2004-08-30  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit-rules-x86.sel: fix x86 code generation for floating-point
	return instructions.

2004-08-16  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-cpuid-x86.c (cpuid_query): use %ebx in a way that doesn't
	confuse PIC mode in some versions of gcc (bug #10022).

2004-08-13  Rhys Weatherley  <rweather@southern-storm.com.au>

	* include/jit/jit-insn.h, include/jit/jit-opcode.h,
	include/jit/jit-plus.h, jit/jit-insn.c, jit/jit-internal.h,
	jit/jit-interp.h, jit/jit-opcode.c, jit/jit-rules-interp.c,
	jitplus/jit-plus-function.cpp: re-implement the "push_return_area_ptr"
	patch so as to avoid wasting stack space in functions with more
	than one native function call.

2004-08-12  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-rules-interp.c: account for the extra value that is
	added to the stack by the "push_return_area_ptr" instruction.

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

	* configure.in, NEWS: update version for the "0.0.4" release.

	* configure.in: updating working version to "0.0.5".

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

	* doc/Makefile.am, doc/README, doc/libjit.texi,
	jit/jit-dump.c, jit/jit-insn.c: documentation updates.

	* dpas/Makefile.am, tools/Makefile.am: support for parallel builds.

libjit/ChangeLog  view on Meta::CPAN

	* tools/gen-apply.c: allow floating-point values to be passed
	in "fastcall" registers.

2004-06-16  Rhys Weatherley  <rweather@southern-storm.com.au>

	* tools/gen-sel-parser.y: add a missing semi-colon.

2004-06-14  Rhys Weatherley  <rweather@southern-storm.com.au>

	* dpas/dpas-internal.h, dpas/dpas-parser.y, dpas/dpas-scanner.l,
	jit/jit-rules-x86.c, jit/jit-rules-x86.sel, tests/Makefile.am,
	tests/param.pas, tools/gen-apply.c: add some test cases for
	parameter passing; fix fastcall/stdcall conventions for x86.

	* jit/jit-rules-arm.h, jit/jit-rules-arm.sel, jit/jit-rules-x86.h,
	jit/jit-rules-x86.sel, tools/gen-sel-parser.y: enable register
	allocation for 64-bit values under x86 and ARM; expand some
	64-bit opcodes in the instruction selectors.

2004-06-12  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-insn.c, jit/jit-rules-x86.c, jit/jit-rules-x86.sel:
	implement or stub missing x86 instruction selection rules.

	* include/jit/jit-insn.h, include/jit/jit-opcode.h,
	include/jit/jit-plus.h, jit/jit-function.c, jit/jit-insn.c,
	jit/jit-interp.c, jit/jit-opcode.c, jit/jit-rules-interp.c,
	jitplus/jit-plus-function.cpp: add the "outgoing_frame_posn"
	instruction, to support tail calls.

2004-06-11  Rhys Weatherley  <rweather@southern-storm.com.au>

	* doc/libjit.texi, jit/jit-insn.c, jit/jit-internal.h,
	jit/jit-reg-alloc.c, jit/jit-rules-arm.c, jit/jit-rules-arm.sel,
	jit/jit-rules-interp.c, jit/jit-rules-x86.c, jit/jit-rules-x86.sel,
	jit/jit-rules.h, jit/jit-value.c, tutorial/Makefile.am,
	tutorial/t2.c, tutorial/t5.c: implement tail calls from a
	function to itself.

	* jit/jit-function.c, jit/jit-reg-alloc.c, jit/jit-rules-arm.c,
	jit/jit-rules-interp.c, jit/jit-rules-x86.c, jit/jit-rules.h:
	implement global register allocation for parameters in stack slots.

	* jit/jit-rules-x86.c, jit/jit-rules-x86.sel, jit/jit-rules.h:
	optimize the x86 function epilog when we are certain that the
	stack height doesn't change between entry and exit (i.e. the
	function is a leaf and there are no alloca's).

2004-06-10  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-apply-arm.c, jit/jit-gen-arm.c, jit/jit-gen-arm.h,
	jit/jit-rules-arm.c, jit/jit-rules-arm.h, jit/jit-rules-arm.sel,
	tools/gen-sel-parser.y: redesign the ARM code generation macros
	so that they have stronger protection against buffer overruns.

	* jit/jit-rules-arm.sel: flush the constant pool after unconditional
	branches, to try to minimize the probability that the pool will
	be flushed in the middle of a loop body.

	* jit/jit-dump.c: dump the hex address of external functions,
	to aid with debugging native disassembly dumps.

	* include/jit/jit-insn.h, include/jit/jit-opcode.h,
	include/jit/jit-plus.h, jit/jit-insn.c, jit/jit-internal.h,
	jit/jit-interp.c, jit/jit-opcode.c, jit/jit-rules-arm.c,
	jit/jit-rules-arm.sel, jitplus/jit-plus-function.cpp:
	add support for outgoing parameter areas, which should reduce
	the overhead of function calls that involve stacked arguments
	on non-x86 platforms; use parameter areas in the ARM back end.

	* include/jit/jit-plus.h, include/jit/jit-value.h, jit/jit-insn.c,
	jit/jit-internal.h, jit/jit-reg-alloc.c, jit/jit-rules-x86.c,
	jit/jit-value.c: don't over-allocate x86 stack frames if
	EBX, ESI, and EDI don't need to be saved; don't perform global
	register allocation on stacked parameters because it confuses
	the register spill logic.

	* jit/jit-reg-alloc.c (_jit_regs_load_value): avoid unnecessary
	spills if a temporary value won't be used again in the current block.

2004-06-09  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-rules-arm.c (flush_constants): update the instruction
	location after flushing the constant table.

	* jit/jit-gen-arm.h: fix some bugs in the encoding of floating-point
	load and store instructions.

	* jit/jit-gen-arm.c (_arm_alu_reg_imm): forgot to update the
	instruction pointer when loading the immediate value.

	* jit/jit-gen-arm.c: optimize the use of rotated immediate values.

	* jit/jit-rules-arm.c (_jit_gen_load_value): use ARM register pairs
	properly for "long" and "float64" values.

2004-06-08  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/Makefile.am, jit/jit-cpuid-x86.c, jit/jit-cpuid-x86.h:
	add an API for querying the x86 "cpuid" information.

	* include/jit/jit-opcode.h, jit/jit-interp.c, jit/jit-opcode.c:
	remove obsolete opcodes which violate "_jit_load_opcode"'s rules.

	* jit/jit-reg-alloc.c, jit/jit-rules-x86.c, jit/jit-rules-x86.sel:
	more x86 instruction selection rules.

	* jit/jit-reg-alloc.c (_jit_regs_set_outgoing): implement
	missing function.

	* jit/jit-gen-arm.h (arm_call): use a more efficient form of
	call for offsets beyond the simple target range.

	* jit/jit-rules-arm.sel, tools/gen-sel-parser.y,
	tools/gen-sel-scanner.l: introduce conditional rules into "gen-sel"
	so that we can disable certain rules on ARM platforms that lack
	floating-point support.

	* jit/jit-rules-arm.c (_jit_gen_spill_reg): spill properly to
	global registers for ARM.

libjit/ChangeLog  view on Meta::CPAN


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

	* tools/gen-apply.c: improve the maintainability of the apply macros.

	* include/jit/jit-block.h, include/jit/jit-context.h,
	include/jit/jit-dump.h, include/jit/jit-elf.h, include/jit/jit-init.h,
	include/jit/jit-meta.h, include/jit/jit-type.h, include/jit/jit-util.h,
	jit/jit-type.c, jit/jit-value.c: add more instances of JIT_NOTHROW
	to the headers; add some special meta tags for types.

	* include/jit/jit-type.h, jit/jit-type.c: tag the system-dependent
	types so that they can be distinguished from the fixed-sized types
	when it is necessary to do so.

	* jit/Makefile.am, jit/jit-mangle.c: add the beginnings of a C++
	name mangler, to help with extracting C++ symbols from dynamic
	shared libraries.

	* doc/Makefile.am, doc/libjit.texi, doc/mangling_rules.txt,
	include/jit/jit-type.h, include/jit/jit-util.h, jit/jit-mangle.c,
	jit/jit-type.c: continue the implementation of the C++ name
	mangling routines.

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

	* jit/jit-apply-x86.c, jit/jit-rules-x86.c, tools/gen-apply.c:
	fix function prolog and epilog handling for structure returns
	under x86/cdecl.

	* configure.in: set the initial working version to 0.0.1.

	* jit/jit-rules-x86.c: implement x86 code generation for some of
	the basic operators.

	* include/jit/jit-insn.h, include/jit/jit-opcode.h,
	include/jit/jit-plus.h, jit/jit-insn.c, jit/jit-interp.cpp,
	jit/jit-opcode.c, jit/jit-reg-alloc.c, jit/jit-reg-alloc.h,
	jit/jit-rules-interp.c, jitplus/jit-plus-function.cpp:
	add array access instructions.

	* tools/gen-apply.c: clean up the builder/parser macros and
	detect padding of the floating-point registers.

2004-04-30  Rhys Weatherley  <rweather@southern-storm.com.au>

	* include/jit/jit-function.h, include/jit/jit-insn.h,
	include/jit/jit-opcode.h, include/jit/jit-plus.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-opcode.c,
	jit/jit-rules-arm.c, jit/jit-rules-interp.c, jit/jit-rules-x86.c,
	jit/jit-rules.h, jitplus/jit-plus-function.cpp: put some
	infrastructure in place to support "try"-related instructions.

	* dpas/dpas-parser.y, dpas/dpas-scope.h, dpas/dpas-semantics.h:
	introduce effective address based l-values into dpas.

2004-04-27  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-dump.c, jit/jit-reg-alloc.c: fix a register stack bug
	in "_jit_regs_set_value"; add some more debug code.

	* include/jit/jit-opcode.h, jit/jit-insn.c, jit/jit-internal.h,
	jit/jit-interp.cpp, jit/jit-opcode.c: wrap function calls
	with code to set up and remove exception frame information.

	* jit/jit-function.c, jit/jit-insn.c, jit/jit-internal.h:
	intuit "nothrow" and "noreturn" flags for compiled functions.

	* include/jit/jit-insn.h, include/jit/jit-plus.h, jit/jit-insn.c,
	jitplus/jit-plus-function.cpp: add "jit_insn_throw",
	"jit_insn_rethrow", and "jit_insn_get_call_stack" to assist
	with throwing exceptions.

	* include/jit/jit-insn.h, jit/jit-block.c, jit/jit-insn.c,
	jit/jit-internal.h: add some instructions for managing "try" blocks.

	* include/jit/jit-opcode.h, jit/jit-block.c, jit/jit-insn.c,
	jit/jit-internal.h, jit/jit-opcode.c: more work on "try" blocks.

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

	* jit/jit-reg-alloc.c, jit/jit-reg-alloc.h: add functions to
	assist with register allocation on stack-based architectures.

	* jit/jit-rules-interp.c: implement "_jit_gen_load_value" for
	the interpreter backend.

	* jit/jit-interp.cpp, jit/jit-interp.h: fix some opcode names that
	should be prefixed with "JIT_OP".

	* jit/jit-function.c, jit/jit-internal.h, jit/jit-reg-alloc.c,
	jit/jit-reg-alloc.h, jit/jit-rules-arm.c, jit/jit-rules-interp.c,
	jit/jit-rules-interp.h, jit/jit-rules-x86.c, jit/jit-rules.h:
	interpreter back end code generation for binary, unary, and
	branch opcodes.

	* doc/libjit.texi, jit/jit-rules-interp.c: fix the Texinfo section
	markers in the "Porting" chapter.

	* jit/jit-rules-interp.c: code generation for interpreter return's.

	* include/jit/jit-except.h, include/jit/jit-function.h,
	include/jit/jit-plus.h, jit/jit-except.cpp, jit/jit-function.c,
	jit/jit-interp.cpp, jit/jit-interp.h, jit/jit-rules-interp.c,
	jitplus/jit-plus-function.cpp: implement "jit_function_apply"
	and "jit_function_apply_vararg" for the interpreter back end.

	* jitplus/jit-plus-function.cpp: initialization errors in
	the C++ binding.

	* jit/jit-function.c, jit/jit-insn.c, jit/jit-interp.cpp,
	jit/jit-rules-interp.c: work on code generation for function calls.

	* doc/libjit.texi, include/jit/jit-insn.h, include/jit/jit-plus.h,
	jit/jit-insn.c, jitplus/jit-plus-function.cpp, tutorial/t2.c:
	add a "flags" parmeter to "jit_insn_call" and friends, so that
	"nothrow", "noreturn", and "tail" options can be supplied.

	* jit/jit-dump.c, jit/jit-interp.cpp, jit/jit-interp.h,
	jit/jit-opcode.c, jit/jit-rules-interp.c: dump the translated



( run in 0.520 second using v1.01-cache-2.11-cpan-02777c243ea )