# gojit **Repository Path**: xh1500/gojit ## Basic Information - **Project Name**: gojit - **Description**: No description available - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-01-05 - **Last Updated**: 2022-01-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # `gojit` -- pure-golang runtime code-generation This is the result of my spending the hack day at [Gophercon 2014](http://gophercon.com) playing with doing JIT from golang code. This repository contains several packages: - `gojit` Contains the basic JIT support -- allocate executable chunks of memory, and convert them into callable golang functions. - `amd64` Contains a simplistic amd64 assembler designed for use with `gojit` - `bf` Contains a just-in-time compiler for [Brainfuck](http://esolangs.org/wiki/Brainfuck) that demos the above packages - `gobf` Contains a binary that provides a command-line interface to `bf` ## Using `gobf` can be fetched using go get github.com/nelhage/gojit/gobf And then run as `gobf file.bf`. For some built-in examples: $ gobf $GOPATH/src/github.com/nelhage/gojit/bf/test/hello.bf Hello World! $ gobf $GOPATH/src/github.com/nelhage/gojit/bf/test/hello.bf | gobf $GOPATH/src/github.com/nelhage/gojit/bf/test/rot13.bf Uryyb Jbeyq! ## Portability This code has been tested on `darwin/amd64` and `linux/amd64`. It is extremely unlikely to work anywhere else.