91c0b4fe16
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. |
||
---|---|---|
.. | ||
buildlink3.mk | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |