[前][次][番号順一覧][スレッド一覧]

ruby-changes:68819

From: Maxime <ko1@a...>
Date: Thu, 21 Oct 2021 08:14:04 +0900 (JST)
Subject: [ruby-changes:68819] 0888d9c9d5 (master): Update ujit.md

https://git.ruby-lang.org/ruby.git/commit/?id=0888d9c9d5

From 0888d9c9d52c7021ac39f712b0111fe43dce81b0 Mon Sep 17 00:00:00 2001
From: Maxime Chevalier-Boisvert <maximechevalierb@g...>
Date: Fri, 26 Feb 2021 11:54:47 -0500
Subject: Update ujit.md

---
 doc/ujit.md | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/doc/ujit.md b/doc/ujit.md
index dd8ffd5c46..554b433fa4 100644
--- a/doc/ujit.md
+++ b/doc/ujit.md
@@ -24,7 +24,7 @@ cd microjit https://github.com/ruby/ruby/blob/trunk/doc/ujit.md#L24
 git checkout microjit
 ```
 
-The uJIT `ruby` binary can be built with either GCC or Clang. We recommend enabling debug symbols so that assertions are enabled:
+The uJIT `ruby` binary can be built with either GCC or Clang. We recommend enabling debug symbols so that assertions are enabled during development as this makes debugging easier. More detailed build instructions are provided in the [Ruby README](https://github.com/ruby/ruby#how-to-compile-and-install).
 
 ```
 autoconf
@@ -42,21 +42,32 @@ make btest https://github.com/ruby/ruby/blob/trunk/doc/ujit.md#L42
 make -j16 test-all
 ```
 
+## Usage
+
 Once uJIT is built, you can either use `./miniruby` from within your build directory, or switch to the uJIT version of `ruby`
 by using the `chruby` tool:
 
 ```
 chruby ruby-microjit
+ruby <options>
+```
+
+You can dump statistics about compilation and execution by running uJIT with the `--ujit-stats` command-line option:
+
+```
+./miniruby --ujit-stats <options>
 ```
 
 ## Source Code Organization
 
 The uJIT source code is divided between:
 - `ujit_asm.c`: x86 in-memory assembler we use to generate machine code
+- `ujit_asm_tests.c`: tests for the in-memory assembler
 - `ujit_codegen.c`: logic for translating Ruby bytecode to machine code
 - `ujit_core.c`: basic block versioning logic, core structure of uJIT
 - `ujit_iface.c`: code uJIT uses to interface with the rest of CRuby
 - `ujit.rb`: `UJIT` module that is exposed to Ruby code
+- `test_asm.sh`: script to compile and run the in-memory assembler tests
 
 The core of CRuby's interpreter logic is found in:
 - `insns.def`: defines Ruby's bytecode instructions
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]