diff options
author | rillig <rillig@pkgsrc.org> | 2005-10-22 15:51:02 +0000 |
---|---|---|
committer | rillig <rillig@pkgsrc.org> | 2005-10-22 15:51:02 +0000 |
commit | 91c0b4fe168b295610bf188abeac661b68bfb464 (patch) | |
tree | c52c8d7404199f3294bcdd81ca1a479d4b8a9866 /mail | |
parent | 746f23fbd22b34957af96410f20612a747817496 (diff) | |
download | pkgsrc-91c0b4fe168b295610bf188abeac661b68bfb464.tar.gz |
Updated libjit to 0.0.4.
Changes:
* Pluggable object models.
* Problems with "gen-apply" on Win32 systems.
* Optimize "if true goto" into "goto".
* Peephole optimization on branches.
* Adjust ARM codegen macros to support branch elimination instructions.
* Redesign exception handling to use "setjmp" everywhere.
* Remove C++ code from "libjit.so" so that it is a pure C library.
* Use computed goto's in the interpreter if the compiler supports them.
* Don't allow conditional branches to jump out of exception contexts.
* Block movement to allow initialization code to be moved to the start
of a function, or loop condition code to be moved to the end.
* Rewrite the exception region routines to make them easier to use.
* Add the "gen-sel" program, for creating instruction selectors.
* Write instruction selectors for x86 and ARM (only x86 is enabled).
* Portability fixes for ARM, PPC, Alpha, IA64, and amd64.
* Clarify the description of LLVM, at the request of LLVM's author.
* Deferred argument popping after function calls.
* Add "--enable-interpreter" to force the interpreter to be used.
* Implement a simple global register allocator based on usage counts.
* Recognise increment and decrement idioms.
* Align cache flushes properly (Miroslaw Dobrzanski-Neumann).
* Querying of x86 cpuid where necessary.
* Add a constant pool for ARM, to make constant loads more efficient.
* Handle register pairs for 64-bit values properly.
* Support for parameter areas on the stack, to reduce push/pop overhead.
* Avoid unnecessary register spills if a value won't be used again.
* Implement tail calls from a function to itself.
* Optimize x86 prologs and epilogs to avoid doing unnecessry work.
* Centralise the code that handles parameter passing.
* Support for parallel builds.
Diffstat (limited to 'mail')
0 files changed, 0 insertions, 0 deletions