All Projects → ademakov → libjit

ademakov / libjit

Licence: LGPL-2.1, GPL-2.0 licenses found Licenses found LGPL-2.1 COPYING.LESSER GPL-2.0 COPYING
Unofficial libjit mirror.

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
TeX
3793 projects
Yacc
648 projects
pascal
1382 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to libjit

kcs
Scripting in C with JIT(x64)/VM.
Stars: ✭ 25 (-45.65%)
Mutual labels:  virtual-machine, jit, jit-compiler
Minijit
A basic x86-64 JIT compiler written from scratch in stock Python
Stars: ✭ 185 (+302.17%)
Mutual labels:  jit, jit-compiler
Fake
嵌入式脚本语言 Lightweight embedded scripting language
Stars: ✭ 172 (+273.91%)
Mutual labels:  jit, jit-compiler
RSqueak
A Squeak/Smalltalk VM written in RPython.
Stars: ✭ 78 (+69.57%)
Mutual labels:  virtual-machine, jit
jitm
JITM is an automated tool to bypass the JIT Hooking protection on a .NET sample.
Stars: ✭ 27 (-41.3%)
Mutual labels:  jit, jit-compiler
Zetavm
Multi-Language Platform for Dynamic Programming Languages
Stars: ✭ 592 (+1186.96%)
Mutual labels:  jit, jit-compiler
openj9
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Stars: ✭ 2,973 (+6363.04%)
Mutual labels:  virtual-machine, jit
Jitboy
A Game Boy emulator with dynamic recompilation (JIT)
Stars: ✭ 190 (+313.04%)
Mutual labels:  jit, jit-compiler
vein
🔮⚡️Vein is an open source high-level strictly-typed programming language with a standalone OS, arm and quantum computing support.
Stars: ✭ 31 (-32.61%)
Mutual labels:  virtual-machine, jit
Corium
Corium is a modern scripting language which combines simple, safe and efficient programming.
Stars: ✭ 18 (-60.87%)
Mutual labels:  virtual-machine, jit-compiler
basil
Fast and flexible language exploring partial evaluation, context-sensitive parsing, and metaprogramming. Compiles JIT or AOT to native code.
Stars: ✭ 93 (+102.17%)
Mutual labels:  jit, jit-compiler
Llvm
Project moved to: https://github.com/llvm/llvm-project
Stars: ✭ 4,461 (+9597.83%)
Mutual labels:  virtual-machine, code-generation
Batch-First
A JIT compiled chess engine which traverses the search tree in batches in a best-first manner, allowing for neural network batching, asynchronous GPU use, and vectorized CPU computations.
Stars: ✭ 27 (-41.3%)
Mutual labels:  jit, jit-compiler
Jit Compiler
JIT compiler in Go
Stars: ✭ 70 (+52.17%)
Mutual labels:  jit, jit-compiler
neos
Language agnostic scripting engine with a custom bytecode JIT
Stars: ✭ 36 (-21.74%)
Mutual labels:  jit, jit-compiler
jingle
🔔 Jingle is a dynamically-typed, multi-paradigm programming language designed for humans and machines.
Stars: ✭ 34 (-26.09%)
Mutual labels:  virtual-machine, jit-compiler
b9
An educational JS virtual machine based on Eclipse OMR
Stars: ✭ 40 (-13.04%)
Mutual labels:  virtual-machine, jit
Openj9
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Stars: ✭ 2,802 (+5991.3%)
Mutual labels:  virtual-machine, jit
eosio.evm
EOSIO Ethereum Virtual Machine (EVM)
Stars: ✭ 91 (+97.83%)
Mutual labels:  virtual-machine
scancode.io
ScanCode.io is a server to script and automate software composition analysis pipelines with ScanPipe pipelines. This project is sponsored by NLnet project https://nlnet.nl/project/vulnerabilitydatabase/ Google Summer of Code, nexB and others generous sponsors!
Stars: ✭ 66 (+43.48%)
Mutual labels:  virtual-machine
libjit
------

This library in this distribution 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 proprietary 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.

The library is distributed under the terms of the GNU Lesser General
Public License.  See the COPYING.LESSER file for details.

The documentation for libjit is in Texinfo format.  A general overview
is in "doc/libjit.texi" with the remainder of the function documentation
in the source files themselves.

Building libjit
---------------

To build libjit from a release tarball you will need GNU make, Bison, and
Flex, and it is also highly recommended that you use gcc.  To configure,
build, and install, you would do the following:

        ./configure
        make
        make install

To build libjit from the repository tree you will also need autotools:
autoconf, automake, and libtool.  These tools let you create ./configure
script which is missing in the repository.  To run autotools you would
just do the following:

	./bootstrap


Compiler notes
--------------

It is highly recommended that you build libjit with gcc and not
some other C compiler, even if you plan to use some other C
compiler to access the library.  We make use of a number of gcc
builtins to assist with stack walking, dynamic function calls,
and closures.

It is also recommended that you don't use the "-fomit-frame-pointer"
option when compiling programs that use libjit.  Otherwise stack walking
may not work correctly, leading to problems when throwing exceptions.
The configure script for libjit will detect the presence of this
option in CFLAGS and remove it when building libjit itself.

Contacting the authors
----------------------

The primary author is Rhys Weatherley at Southern Storm Software, Pty Ltd.
He can be reached via e-mail at "[email protected]".  [ This
address is probably not valid anymore. ]

A number of other authors have also contributed to libjit.  The current
libjit maintainer is Aleksey Demakov <[email protected]>.

Currently it is recommended to obtain libjit source tree from its Savannah
git repository:

git clone git://git.savannah.gnu.org/libjit.git

The latest released version of libjit is severely out of date and its use
is discuraged.  Still it can be downloaded from here:

http://ftp.gnu.org/old-gnu/dotgnu/libjit/

Discussions about libjit can be carried out on the libjit mailing list,
"[email protected]".  For details on how to subscribe to the list visit libjit
home page:

http://www.gnu.org/software/libjit/
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].