diff options
| -rw-r--r-- | doc/mruby3.md | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/doc/mruby3.md b/doc/mruby3.md index ae6e674e5..4e4f94d07 100644 --- a/doc/mruby3.md +++ b/doc/mruby3.md @@ -1,7 +1,7 @@ User visible changes in `mruby3` === -= Build System +# Build System You can specify `TARGET` option to `rake` via a command line option, or via an environment variable, e.g. @@ -15,13 +15,13 @@ or It's much easier to switch multiple targets than the previous `build_config.rb` system. -== `presym` target +## `presym` target The first compilation of `mruby` may require generation of a static symbol table named `build/presym`. You can generate the table by `rake gensym`. -== `target` directory +## `target` directory Build target specification files are loaded from `target` directory. The default `TARGET` is `host` which is described @@ -39,15 +39,15 @@ If you want to have your target description out of the source tree, you can specify the path to the description file in `MRUBY_CONFIG`. -= Build Target Contribution +# Build Target Contribution When you write a new target description, please contribute. We welcome your contribution as a GitHub pull-request. -= Languge Changes +# Languge Changes -== New Syntax +## New Syntax We have ported some new syntax from CRuby. @@ -55,54 +55,54 @@ We have ported some new syntax from CRuby. * Numbered block parameter (`x.map{_1 * 2}`) * End-less `def` (`def double(x) = x*2`) -= Configuration Options Changed +# Configuration Options Changed Some configuration macro names are changed for consistency -== `MRB_NO_FLOAT` +## `MRB_NO_FLOAT` Changed from `MRB_WITHOUT_FLOAT` to conform `USE_XXX` naming convention. -== `MRB_USE_FLOAT32` +## `MRB_USE_FLOAT32` Changed from `MRB_USE_FLOAT` to make sure `float` here means using single precision float, and not the opposite of `MRB_NO_FLOAT`. -== `MRB_USE_METHOD_T_STRUCT` +## `MRB_USE_METHOD_T_STRUCT` Changed from `MRB_METHOD_T_STRUCT`. To use `struct` version of `mrb_method_t`. More portable but consumes more memory. Turned on by default on 32bit platforms. -== `MRB_NO_BOXING` +## `MRB_NO_BOXING` Uses `struct` to represent `mrb_value`. Consumes more memory but easier to inveticate the internal and to debug. It used to be default `mrb_value` representation. Now the default is `MRB_WORD_BOXING`. -== `MRB_WORD_BOXING` +## `MRB_WORD_BOXING` Pack `mrb_value` in an `intptr_t` integer. Consumes less memory compared to `MRB_NO_BOXING` especially on 32 bit platforms. `Fixnum` size is 31 bits so some integer values does not fit in `Fixnum` integers. -== `MRB_NAN_BOXING` +## `MRB_NAN_BOXING` Pack `mrb_value` in a floating pointer number. Nothing changed from previous versions. -== `MRB_USE_MALLOC_TRIM` +## `MRB_USE_MALLOC_TRIM` Call `malloc_trim(0)` from mrb_full_gc() if this macro is defined. If you are using glibc malloc, this macro could reduce memory consumption. -= Internal Changes +# Internal Changes -== `Random` now use `xoshiro128++`. +## `Random` now use `xoshiro128++`. For better and faster random number generation. |
