diff --git a/AUTHORS b/AUTHORS index af6bc2c23..2097c635c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,3 +1,5 @@ +Paulo Cesar Pereira de Andrade + Paolo Bonzini PPC assembler by Ian Piumarta diff --git a/Makefile.am b/Makefile.am index 3c3f31d44..2aa385b4b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2000, 2001, 2002, 2012 Free Software Foundation, Inc. +# Copyright 2000, 2001, 2002, 2012, 2013 Free Software Foundation, Inc. # # This is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/NEWS b/NEWS index be756755d..e80d05ec6 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,39 @@ +NEWS FROM VERSION 1.3 TO 1.99 + +o The 1.99 version is a major lightning redesign and an + alpha version. + +o Unless for some special power users usage, the major + difference in the rework is that now function calls push + arguments from left to right, what is both, more natural for + programers, and also more natural to implement for architectures + that pass arguments in registers and have alignment constraints, + usually for 64 bit double arguments. + +o Add mips backend, implementing the o32 abi. + +o Added arm backend implementing all combinations of software float, + vfp, neon, arm and thumb instruction sets, softfp and hardp abis, + armv5, armv6, and armv7. + +o Added sse2+ code generation for the 32 bit x86 backend. + +o Added sse3 and sse4.x optional code generation for the 64 bit + x86 backend, code generation based on detected cpu. + +o Reworked and added full lightning instruction set to ppc 32; + tested on ppc64 hardware and Darwin 32 operating system. + +o Added ppc64 backend, built and tested on Fedora ppc. + +o Reworked the sparc backend, built and tested on Debian sparc. + +o Added an ia64 backend, built and tested on Debian ia64. + +o Added an hppa backend, built and tested on Debian hppa. + +--- + NEWS FROM VERSION 1.2 TO 1.3 o Initial support for x86-64 back-end (mostly untested). diff --git a/THANKS b/THANKS index a86f8646e..b61f1f04d 100644 --- a/THANKS +++ b/THANKS @@ -5,7 +5,7 @@ Eli Barzilay Ludovic Courtes Matthew Flatt Laurent Michel -Paulo Cesar Pereira de Andrade +Paulo Cesar Pereira de Andrade Mike Spivey Basile Starynkevitch Sam Steingold diff --git a/TODO b/TODO index a2d9a25b2..109d1572b 100644 --- a/TODO +++ b/TODO @@ -1,20 +1,10 @@ - * Update documentation to match new implementation. - - * Make an sparc port to not remove previous functionality. - - * Add two new base instructions to help dynamically typed - languages, that use two result registers and two argument - registers, implementing multiplication and quotient+remainder - return from division. Alternatively, can add branch codes - for multiplication that overflows (and reverse for no - overflow) and division with zero remainder or non zero - remainder. - Suggested names for now are "qmul" and "qdiv", with "r" - and "i" variants, and possibly unsigned version. Branches - would use "bo" and "bx" prefix. - * Validate that divrem in jit_x86-cpu.c is not modifying the non result arguments. This is not verified by clobber.tst, as it only checks registers not involved in the operation (because it does not know about values being set as input for the the operation). + + * Write a bytecode backend for unsupported architectures. + + * Write a simple higher level language implementation generating + jit with lightning, that could be some lisp or C like language. diff --git a/configure.ac b/configure.ac index 8d606151c..4c78588c3 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl -dnl Copyright 2000, 2001, 2002, 2012 Free Software Foundation, Inc. +dnl Copyright 2000, 2001, 2002, 2012, 2013 Free Software Foundation, Inc. dnl dnl This is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -13,7 +13,7 @@ dnl GNU General Public License for more details. dnl AC_PREREQ(2.57) -AC_INIT([GNU lightning], 2.0, pcpa@gnu.org, lightning) +AC_INIT([GNU lightning], 1.99, pcpa@gnu.org, lightning) AC_CANONICAL_TARGET AC_CONFIG_SRCDIR([Makefile.am]) AM_INIT_AUTOMAKE([dist-bzip2]) diff --git a/doc/body.texi b/doc/body.texi index c9c3b29d7..fe6159699 100644 --- a/doc/body.texi +++ b/doc/body.texi @@ -824,7 +824,7 @@ marker in the code. with double arguments, but it is a good practice to properly describe the @r{@dots{}} in the call sequence. -@itemx jit_pushargi((jit_word_t)"generated %d bytes\n"); +@item jit_pushargi((jit_word_t)"generated %d bytes\n"); Note the use of the @code{(jit_word_t)} cast, that is used only to avoid a compiler warning, due to using a pointer where a wordsize integer type was expected. diff --git a/doc/version.texi b/doc/version.texi index b7b6751ff..75c34d9b6 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,4 +1,4 @@ @set UPDATED 24 January 2013 @set UPDATED-MONTH January 2013 -@set EDITION 2.0 -@set VERSION 2.0 +@set EDITION 1.99 +@set VERSION 1.99 diff --git a/include/Makefile.am b/include/Makefile.am index 1405eb177..ad820f694 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2000, 2001, 2002, 2012 Free Software Foundation, Inc. +# Copyright 2000, 2001, 2002, 2012, 2013 Free Software Foundation, Inc. # # This is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/include/lightning.h b/include/lightning.h index e836aaf9e..3ff474827 100644 --- a/include/lightning.h +++ b/include/lightning.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/include/lightning/Makefile.am b/include/lightning/Makefile.am index 7c77c4971..8cb47695f 100644 --- a/include/lightning/Makefile.am +++ b/include/lightning/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2000, 2001, 2002, 2012 Free Software Foundation, Inc. +# Copyright 2000, 2001, 2002, 2012, 2013 Free Software Foundation, Inc. # # This is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/include/lightning/jit_arm.h b/include/lightning/jit_arm.h index f981a85cd..adcb99fba 100644 --- a/include/lightning/jit_arm.h +++ b/include/lightning/jit_arm.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/include/lightning/jit_mips.h b/include/lightning/jit_mips.h index fc2ab565e..f367f4dc4 100644 --- a/include/lightning/jit_mips.h +++ b/include/lightning/jit_mips.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/include/lightning/jit_ppc.h b/include/lightning/jit_ppc.h index 727f2a2d5..c4380e23c 100644 --- a/include/lightning/jit_ppc.h +++ b/include/lightning/jit_ppc.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/include/lightning/jit_private.h b/include/lightning/jit_private.h index 9c7eecfe1..75dc1b77d 100644 --- a/include/lightning/jit_private.h +++ b/include/lightning/jit_private.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/include/lightning/jit_x86.h b/include/lightning/jit_x86.h index 1cd3137e8..32a739188 100644 --- a/include/lightning/jit_x86.h +++ b/include/lightning/jit_x86.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/Makefile.am b/lib/Makefile.am index 2cbe04732..acd46ade3 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2000, 2001, 2002, 2012 Free Software Foundation, Inc. +# Copyright 2000, 2001, 2002, 2012, 2013 Free Software Foundation, Inc. # # This is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/lib/jit_arm-cpu.c b/lib/jit_arm-cpu.c index d5776792e..550055b3c 100644 --- a/lib/jit_arm-cpu.c +++ b/lib/jit_arm-cpu.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_arm-swf.c b/lib/jit_arm-swf.c index 7c37ef2da..65824b446 100644 --- a/lib/jit_arm-swf.c +++ b/lib/jit_arm-swf.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_arm-vfp.c b/lib/jit_arm-vfp.c index 77dffb751..fb8186774 100644 --- a/lib/jit_arm-vfp.c +++ b/lib/jit_arm-vfp.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_arm.c b/lib/jit_arm.c index 020142371..07f98f4a0 100644 --- a/lib/jit_arm.c +++ b/lib/jit_arm.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_disasm.c b/lib/jit_disasm.c index 829220c8b..3708886b7 100644 --- a/lib/jit_disasm.c +++ b/lib/jit_disasm.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_mips-cpu.c b/lib/jit_mips-cpu.c index b804f5056..372505eb3 100644 --- a/lib/jit_mips-cpu.c +++ b/lib/jit_mips-cpu.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_mips-fpu.c b/lib/jit_mips-fpu.c index 1501febc2..9b83804b7 100644 --- a/lib/jit_mips-fpu.c +++ b/lib/jit_mips-fpu.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_mips.c b/lib/jit_mips.c index 881bef439..815d8bf96 100644 --- a/lib/jit_mips.c +++ b/lib/jit_mips.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_ppc-cpu.c b/lib/jit_ppc-cpu.c index 25b3328d2..5abbf5836 100644 --- a/lib/jit_ppc-cpu.c +++ b/lib/jit_ppc-cpu.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_ppc-fpu.c b/lib/jit_ppc-fpu.c index 7c01b2be0..5dd93f52f 100644 --- a/lib/jit_ppc-fpu.c +++ b/lib/jit_ppc-fpu.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_ppc.c b/lib/jit_ppc.c index 5dc22d7f2..89782f9e6 100644 --- a/lib/jit_ppc.c +++ b/lib/jit_ppc.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_print.c b/lib/jit_print.c index fa3cee805..978fc437b 100644 --- a/lib/jit_print.c +++ b/lib/jit_print.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_x86-cpu.c b/lib/jit_x86-cpu.c index 0a0b9db4f..d518f716b 100644 --- a/lib/jit_x86-cpu.c +++ b/lib/jit_x86-cpu.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_x86-sse.c b/lib/jit_x86-sse.c index afc7c9a7a..d77bda346 100644 --- a/lib/jit_x86-sse.c +++ b/lib/jit_x86-sse.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_x86-x87.c b/lib/jit_x86-x87.c index 7df115496..f3e91f9f5 100644 --- a/lib/jit_x86-x87.c +++ b/lib/jit_x86-x87.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/jit_x86.c b/lib/jit_x86.c index 3908f581f..15bac54e4 100644 --- a/lib/jit_x86.c +++ b/lib/jit_x86.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/lib/lightning.c b/lib/lightning.c index 7242e9d12..06ee0f5a6 100644 --- a/lib/lightning.c +++ b/lib/lightning.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012 Free Software Foundation, Inc. + * Copyright (C) 2012, 2013 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by