summaryrefslogtreecommitdiff
path: root/devel/libjit
AgeCommit message (Collapse)AuthorFilesLines
2006-01-09Fix GCC 3.4+: Don't clobber %ebx on IA32.joerg2-1/+24
2005-10-22Updated libjit to 0.0.4.rillig4-22/+10
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.
2005-05-23Removed trailing white-space.rillig1-7/+7
2005-05-22Remove USE_GNU_TOOLS and replace with the correct USE_TOOLS definitions:jlam1-2/+2
USE_GNU_TOOLS -> USE_TOOLS awk -> gawk m4 -> gm4 make -> gmake sed -> gsed yacc -> bison
2005-04-11Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used.tv1-2/+1
2005-02-23Add RMD160 digests.agc1-1/+2
2004-10-03Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10tv2-2/+4
in the process. (More information on tech-pkg.) Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and installing .la files. Bump PKGREVISION (only) of all packages depending directly on the above via a buildlink3 include.
2004-09-22Mechanical changes to package PLISTs to make use of LIBTOOLIZE_PLIST.jlam1-13/+1
All library names listed by *.la files no longer need to be listed in the PLIST, e.g., instead of: lib/libfoo.a lib/libfoo.la lib/libfoo.so lib/libfoo.so.0 lib/libfoo.so.0.1 one simply needs: lib/libfoo.la and bsd.pkg.mk will automatically ensure that the additional library names are listed in the installed package +CONTENTS file. Also make LIBTOOLIZE_PLIST default to "yes".
2004-05-16Initial import of libjit-0.0.2.xtraeme6-0/+104
The libjit library implements Just-In-Time compilation functionality. Unlike other JIT's, this one is designed to be independent of any particular virtual machine bytecode format or language. The hope is that Free Software projects can get a leg-up on proprietry VM vendors by using this library rather than spending large amounts of time writing their own JIT from scratch. This JIT is also designed to be portable to multiple archictures. If you run libjit on a machine for which a native code generator is not yet available, then libjit will fall back to interpreting the code. This way, you don't need to write your own interpreter for your bytecode format if you don't want to.