2012-12-02 Paulo Andrade <pcpa@gnu.org>
* tests/Makefile.am, tests/3to2.c, tests/3to2.ok, tests/add.c,
tests/add.ok, tests/allocai.c, tests/allocai.ok, tests/bp.c,
tests/bp.ok, tests/divi.c, tests/divi.ok, tests/fib.c, tests/fib.ok,
tests/fibdelay.c, tests/fibdelay.ok, tests/fibit.c, tests/fibit.ok,
tests/funcfp.c, tests/funcfp.ok, tests/incr.c, tests/incr.ok,
tests/ldst.c, tests/ldst.ok, tests/ldxi.c, tests/ldxi.ok,
tests/modi.c, tests/modi.ok, tests/movi.c, tests/movi.ok,
tests/printf.c, tests/printf.ok, tests/printf2.c, tests/printf2.ok,
tests/ret.c, tests/ret.ok, tests/rpn.c, tests/rpn.ok, tests/rpnfp.c,
tests/rpnfp.ok, tests/sete.c, tests/sete.ok, tests/testfp.c,
tests/testfp.ok, tests-run-test: Removed previous test suite, in
favor of a newer one in the check subdirectory.
* check/3to2.ok, check/3to2.tst, check/add.ok, check/add.tst,
check/allocai.ok, check/allocai.tst, check/bp.ok, check/bp.tst,
check/divi.ok, check/divi.tst, check/fib.ok, check/fib.tst:
New sample input for the new test program, loosely matching
several of the previous test cases.
* check/Makefile.am: New test suite makefile.
* check/check.sh, check/run-test: New wrapper files for the
new test suite.
* check/lightning.c: New file. The main driver of the new test
suite, that compiles to a parser of a very simple assembly like
language, generates jit and executes it.
* check/all.tst: New file. A generic debug and sample test file
with a directive to prevent it from being executed, and useful to
read disassembly of all possible instructions, using a fixed set
of registers.
* include/Makefile.am, include/lightning.h,
include/lightning/Makefile.am, include/lightning/jit_arm.h,
include/lightning/jit_mips.h, include/lightning/jit_ppc.h,
include/lightning/jit_private.h, include/lightning/jit_x86.h,
lib/Makefile.am, lib/jit_disasm.c, lib/jit_print.c,
lib/jit_x86-cpu.c, lib/jit_x86-sse.c, lib/jit_x86-x87.c,
lib/jit_x86.c, lib/lightning.c: New files. These files are
written from scratch, only by <pcpa@gnu.org>, and have now
copyright assignment to the FSF. This is the core of the new
lightning rework. Previously it was integrated in code with
a garbage collector and several custom types like vectors and
hash tables, so this first code merge with lightning converts
that code into a library extracting only the jit bits, and at
first only for x86_64 GNU/Linux.
* lightning.h, m4/lightning.m4: Removed. These are no longer
required in the new lightning code.
.gitignore, Makefile.am, configure.ac: Update for the new
lightning code.
2012-12-01 Paulo Andrade <pcpa@gnu.org>
* opcode/Makefile.am, opcode/Makefile.in, opcode/ansidecl.h,
opcode/bfd.h, opcode/dis-asm.h, opcode/dis-buf.c, opcode/disass.c,
opcode/i386-dis.c, opcode/i386.h, opcode/ppc-dis.c, opcode/ppc-opc.c,
opcode/ppc.h, opcode/sparc-dis.c, opcode/sparc-opc.c, opcode/sparc.h,
opcode/sysdep.h: Removed. Do not bundle GNU binutils files.
* aclocal.m4, configure, Makefile.in, config.h.in, doc/Makefile.in,
lightning/Makefile.in, tests/Makefile.in: Removed. Do not maintain
autogenerated files that also generate too much diff noise when
regenerated in git.
* build-aux/help2man, build-aux/texinfo.tex, build-aux/texi2dvi:
Removed. Buildenvironment must have an up to date version from
upstream installed.
* build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
build-aux/install-sh build-aux/mdate-sh build-aux/missing: Removed.
Do not maintain a copy of automake files in git. Release tarballs
must use an up to date version.
* lightningize.in, doc/lightningize.1: Removed. Do not encourage
bundling lightning in other packages. It should use a system package
or a proper thirdy part subdirectory.
* INSTALL: Removed. Autoreconf removes it and creates a symlink
when regenerating files, so, avoid conflicts in git and let
automake create the symlink.
* .gitignore: Add INSTALL and autogenerated files.
* configure.ac, Makefile.am: Update for removal of opcode subdir,
auto generated files and lightningize.
* tests/Makefile.am, tests/3to2.c, tests/add.c, tests/bp.c,
tests/fib.c, tests/fibdelay.c, tests/fibit.c, tests/funcfp.c,
tests/incr.c, tests/printf.c, tests/rpn.c, tests/rpnfp.c,
tests/sete.c, tests/testfp.c: Update for removal of opcode subdir.
* doc/Makefile.am: Update for removal of lightningize.
* configure.ac, lightning/ppc/funcs.h, lightning/sparc/funcs.h,
lightning/i386/fp.h, lightning/i386/core.h, lightning/i386/asm.h,
tests/3to2.c, tests/add.c, tests/bp.c, tests/fib.c, tests/fibdelay.c,
tests/fibit.c, tests/funcfp.c, tests/incr.c, tests/printf.c,
tests/rpn.c, tests/rpnfp.c, tests/sete.c, tests/testfp.c:
Remove LIGHTNING_CROSS, it is half supported and incomplete.
* tests/3to2.c, tests/funcfp.c, tests/rpnfp.c: Remove preprocessor
check on JIT_FPR. If no hardware registers are available, the backend
must provide an alternative for software float.
* lightning/ppc/core.h, lightning/sparc/core.h, tests/Makefile.am:
Remove JIT_NEED_PUSH_POP. It is absolutely not trivial to implement
properly on some backends due to stack alignment constraints, and
whenever it is required, using jit_allocai and using a properly
aligned stack vector, or a heap buffer, is better.
* tests/push-pop.c, tests/push-pop.ok: Removed due to
JIT_NEED_PUSH_POP no longer available.
2008-03-15 Paolo Bonzini <bonzini@gnu.org>
* lightning/ppc/core.h: Avoid some "value computed is not used"
warnings.
* lightning/ppc/funcs.h: Remove unused variables.
* lightnings/tests/allocai.c: Silence other warnings.
2006-11-20 Paolo Bonzini <bonzini@gnu.org>
Ludovic Courtes <ludo@chbouib.org>
* lightning/i386/core-32.h: Disable jit_push and jit_pop if stack not needed.
* lightning/i386/core-64.h: Disable jit_push and jit_pop if stack not needed.
* lightning/sparc/core.h: Merge final implementation of jit_pushr and jit_popr.
* lightning/ppc/core.h: Fix implementation of jit_pushr and jit_popr to
work (more or less) across function calls.
* tests/push-pop.c, tests/push-pop.ok: New test.
* tests/Makefile.am: Run it.
Patches applied:
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-32
Added missing SPARC changes from lightning@sv.gnu.org/lightning--stable--1.2--patch-10.
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-33
SPARC: Fixed pushr/popr using %l7 to hold the pushed register offset.
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-34
tests/push-pop.c: define `JIT_NEED_PUSH_POP'.
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-40
2006-11-04 Paolo Bonzini <bonzini@gnu.org>
* lightning/ppc/core.h: Implement jit_allocai, define JIT_FP to be R1.
* lightning/ppc/funcs.h: Store frame size into _jitl. Store R1 before
the STMW, so that the offset is unchanged when we patch the STMW.
* lightning/i386/core.h: Define JIT_FP to be EBP.
* lightning/i386/core-32.h: Implement jit_allocai, put LEAVE in the
epilog if jit_allocai was used.
* lightning/i386/core-64.h: Implement jit_allocai, put LEAVE in the
epilog if jit_allocai was used.
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-36
Patches applied:
* lcourtes@laas.fr--2005-libre/lightning--sparc-fixes--1.2--base-0
tag of lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-18
* lcourtes@laas.fr--2005-libre/lightning--sparc-fixes--1.2--patch-1
tests/push-pop.c: Use more `pushr's.
* lcourtes@laas.fr--2005-libre/lightning--sparc-fixes--1.2--patch-3
Added a test for `JIT_RET' (fails on SPARC).
* lcourtes@laas.fr--2005-libre/lightning--sparc-fixes--1.2--patch-4
Fixed use of `JIT_RET': Move %o0 into %i0 after `calli' and `callr'.
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-19
Merge from `sparc-fixes': Fixed `pushr' and `popr', fixed `JIT_RET'.
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-20
Undoed `lightning--sparc-fixes--1.2--patch-4' (about `JIT_RET') which was wrong.
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-21
tests/ret.c: Use `jit_retval_i' to copy the function's return value.
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-22
Doc: Clarified the use of `JIT_RET' and documented `jit_retval'.
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-32
2006-10-31 Paolo Bonzini <bonzini@gnu.org>
Ludovic Courtes <ludo@chbouib.org>
* tests/divi.c, tests/divi.ok, tests/movi.c, tests/movi.ok: New.
* tests/ldxi.c: Ensure large pointer is generated.
* tests/Makefile.am: Point to new tests.
* lightning.h: Include funcs-common.h before funcs.h.
* lightning/sparc/core.h: Fix bugs in modi/divi.
Patches applied:
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-11
Fixed a typo in `lightning/sparc/core.h'.
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-12
SPARC: Fixed `jit_immsize' (untested!).
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-13
Added a `divi' test case (does not catch the bug fixed by the previous patch).
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-14
`divi' test case: Return non-zero on failure.
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-15
`ldxi.c' (test case): Make sure we use a large pointer operand.
* lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-16
Added a `movi' test case (for `jit_movi_p' with large operands).
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-31