2. Features of libjit
-
The primary interface is in C, for maximal reusability. Class
interfaces are available for programmers who prefer C++.
-
Designed for portability to all major 32-bit and 64-bit platforms.
-
Simple three-address API for library users, but opaque enough that other
representations can be used inside the library in future without
affecting existing users.
-
Up-front or on-demand compilation of any function.
-
In-built support to re-compile functions with greater optimization,
automatically redirecting previous callers to the new version.
-
Fallback interpreter for running code on platforms that don't
have a native code generator yet. This reduces the need for
programmers to write their own interpreters for such platforms.
-
Arithmetic, bitwise, conversion, and comparison operators for 8-bit,
16-bit, 32-bit, or 64-bit integer types; and 32-bit, 64-bit, or longer
floating point types. Includes overflow detecting arithmetic for
integer types.
-
Large set of mathematical and trigonometric operations
(sqrt, sin, cos, min, abs, etc) for inlining floating-point library functions.
-
Simplified type layout and exception handling mechanisms, upon which a
variety of different object models can be built.
-
Support for nested functions, able to access their parent's local variables
(for implementing Pascal-style languages).
This document was generated by Klaus Treichel on May, 11 2008 using texi2html 1.78.