1NEWS FROM 1.99 TO 1.99a 2 3o Lightning now builds and pass all test cases on AIX 7.1 powerpc, 4 HP-UX 11iv2 hppa, HP-UX 11iv3 ia64, Solaris 10 Sparc, Solaris 11 5 x86_64, and Irix 6.5.30 mips (using n32 abi). 6 7NEWS FROM VERSION 1.3 TO 1.99 8 9o The 1.99 version is a major lightning redesign and an 10 alpha version. 11 12o Unless for some special power users usage, the major 13 difference in the rework is that now function calls push 14 arguments from left to right, what is both, more natural for 15 programers, and also more natural to implement for architectures 16 that pass arguments in registers and have alignment constraints, 17 usually for 64 bit double arguments. 18 19o Add mips backend, implementing the o32 abi. 20 21o Added arm backend implementing all combinations of software float, 22 vfp, neon, arm and thumb instruction sets, softfp and hardp abis, 23 armv5, armv6, and armv7. 24 25o Added sse2+ code generation for the 32 bit x86 backend. 26 27o Added sse3 and sse4.x optional code generation for the 64 bit 28 x86 backend, code generation based on detected cpu. 29 30o Reworked and added full lightning instruction set to ppc 32; 31 tested on ppc64 hardware and Darwin 32 operating system. 32 33o Added ppc64 backend, built and tested on Fedora ppc. 34 35o Reworked the sparc backend, built and tested on Debian sparc. 36 37o Added an ia64 backend, built and tested on Debian ia64. 38 39o Added an hppa backend, built and tested on Debian hppa. 40 41--- 42 43NEWS FROM VERSION 1.2 TO 1.3 44 45o Initial support for x86-64 back-end (mostly untested). 46 47o lightning is more strict on casts from integer to pointer. 48 Be sure to use the _p variants when your immediates are 49 of pointer type. This was done to ease 64-bit cleanliness 50 tests. 51 52o Many bug fixes. 53 54o JIT_FPRET is used as JIT_RET to move return values. 55 jit_retval_[fd] is used to retrieve return values. 56 57o jit_pushr/jit_popr are deprecated, you need to #define 58 JIT_NEED_PUSH_POP prior to including lightning.h if you 59 want to use them. 60 61o Support for stack-allocated variables. Because of this, 62 backends defining JIT_FP should now rename it to JIT_AP. 63 JIT_FP is now a user-visible register used in ldxi/ldxr 64 to access stack-allocated variables. 65 66 67--- 68 69NEWS FROM VERSION 1.1.2 TO 1.2 70 71o Floating-point interface rewritten, uses a register file 72 architecture rather than a stack. 73 74o Many bug fixes. 75 76o jit_prepare and jit_retval are now jit_prepare_i and 77 jit_retval_i. 78 79o Support for Fedora Core 1's exec-shield feature. 80 81o PPC supports both SysV and Darwin ABIs. 82 83o More (and more complete) examples provided. 84 85--- 86 87NEWS FROM VERSION 1.1.1 TO 1.1.2 88 89o This release fixes the bugs in PowerPC cache flushing and in 90 SPARC testing. 91 92--- 93 94NEWS FROM VERSION 1.1 TO 1.1.1 95 96o Merge changes from Debian 97 98This version was released to have a distributable version of lightning 99after the recent crack of the GNU FTP machines. It does not fix 100outstanding bugs; I apologize for the inconvenience. 101 102--- 103 104NEWS FROM VERSION 1.0 TO 1.1 105 106o Several bug fixes 107 108o improved infrastructure for embedding GNU lightning (lightningize 109 script) 110 111--- 112 113NEWS FROM VERSION 0.99 TO 1.0 114 115o SPARC backend tested on GNU Smalltalk 116 117 118--- 119 120NEWS FROM VERSION 0.98 TO 0.99 121 122o Added floating point function support (thanks to Laurent Michel); 123 unfortunately this broke even more the PPC and SPARC floating point 124 stuff :-( 125 126--- 127 128NEWS FROM VERSION 0.97 to 0.98 129 130o PPC backend tested on GNU Smalltalk 131 132o switched to autoconf 2.50 133 134o new (much faster) PPC cache flushing code by John McIntosh 135 136--- 137 138NEWS FROM VERSION 0.96 to 0.97 139 140o support for cross-assembling and for disassembling the code that the tests 141 generate 142 143o PPC microtests pass (tested directly by me), SPARC was said to work 144 145--- 146 147NEWS FROM VERSION 0.95 to 0.96 148 149o fixed implementation of delay slots to be coherent with the manual 150 151--- 152 153NEWS FROM VERSION 0.94 to 0.95 154 155o adc/sbc replaced with addc/addx/subc/subx to allow for more optimization 156 (inspired by the PPC instruction set). 157 158o A few fixes and much less warnings from the compiler 159 160o Automake-ized everything 161 162o i386 backend generates smaller code for bms/bmc/or/xor by using byte 163 or word versions if possible 164 165o Moved backends to separate directories 166 167--- 168 169NEWS FROM VERSION 0.93 to 0.94 170 171o Manual builds as DVI file. 172 173--- 174 175NEWS FROM VERSION 0.92 to 0.93 176 177o Floating-point front-end (began supporting PPC & SPARC). 178 179--- 180 181NEWS FROM VERSION 0.91 to 0.92 182 183o Floating-point front-end (only x86 supported). 184 185--- 186 187NEWS FROM VERSION 0.9 to 0.91 188 189o Carrying supported in addition/subtraction. 190 191o insn type changed to jit_insn. 192 193o Misc bug fixes. 194 195o Reentrancy supported. 196 197o SPARC run-time assembler rewritten. 198 199o The run-time assembler can be disabled for debugging purposes. 200