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
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 Aleksey Demakov on October 17, 2013 using texi2html 1.82.