Skip to content

Commit

Permalink
Update ujit.md
Browse files Browse the repository at this point in the history
  • Loading branch information
maximecb authored and XrXr committed Oct 20, 2021
1 parent 0888d9c commit 6f437d5
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions doc/ujit.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
MicroJIT (uJIT)
===============

**DISCLAIMER: Please note that this project is in early stages of development. It is very much a work in progress, it may cause your software to crash, and current performance results are likely to leave you feeling unimpressed.**
**DISCLAIMER: Please note that this project is in early stages of development. It is very much a work in progress, it may cause your software to crash, and current performance results are likely to leave you feeling underwhelmed.**

MicroJIT is a lightweight, minimalistic Ruby JIT built inside the CRuby/MRI binary.
It lazily compiles code using a Basic Block Versioning (BBV) architecture. The target use case is that of servers running
Expand Down Expand Up @@ -49,15 +49,17 @@ by using the `chruby` tool:

```
chruby ruby-microjit
ruby <options>
ruby myscript.rb
```

You can dump statistics about compilation and execution by running uJIT with the `--ujit-stats` command-line option:

```
./miniruby --ujit-stats <options>
./miniruby --ujit-stats myscript.rb
```

The machine code generated for a given method can be printed by adding `puts UJIT.disasm(method(:method_name))` to a Ruby script. Note that no code will be generated if the method is not compiled.

## Source Code Organization

The uJIT source code is divided between:
Expand Down

0 comments on commit 6f437d5

Please sign in to comment.