Giter Club home page Giter Club logo

codebreaker's Introduction

CodeBreaker

CodeBreaker is a simple tool for writing JIT-compilers for other platforms. It is compiled with Clang (x86 and x64) and CMake.

Reliability

This project tries to improve and maintain code quality and functionality with

  • unit tests
  • code checking utilities (planned)
  • a continous build and test server (planned)

Infrastructure

There are several alternatives for the infrastructure to implement an effective JIT-compiler:

  1. Make a dynamic runtime frontend for LLVM (if LLVM supports this) that eats instructions and translates them to LLVM intermediate code. Let the virtual machine of LLVM do the rest. The problem: I didn't see that such dynamic frontends are supported, so this option is for now not possible.

  2. Make own JIT-compiler (with presumely less good optimizations). Eat instructions, dispatch them to native functions (for now). Do some optimization with this (Invoke compiler to concat native functions together etc).

What both options share are the 'instruction-eater', to translate instructions into target platform code. This mechanism is implemented in either way.

So for now this project chooses approach 2.

Code Style

Code style guidelines can be found at CODESTYLE.md. They may change frequently because the project is in beginning phase.

Documentation

Documentation is generated with doxygen. It lays in doc/.

codebreaker's People

Watchers

 avatar  avatar

codebreaker's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.