Use Markdown section marker `#`; ref #5084 [ci skip]

The fix was proposed by @dearblue
parent 762556b6
User visible changes in `mruby3` User visible changes in `mruby3`
=== ===
= Build System # Build System
You can specify `TARGET` option to `rake` via a command line You can specify `TARGET` option to `rake` via a command line
option, or via an environment variable, e.g. option, or via an environment variable, e.g.
...@@ -15,13 +15,13 @@ or ...@@ -15,13 +15,13 @@ or
It's much easier to switch multiple targets than the It's much easier to switch multiple targets than the
previous `build_config.rb` system. previous `build_config.rb` system.
== `presym` target ## `presym` target
The first compilation of `mruby` may require generation of a The first compilation of `mruby` may require generation of a
static symbol table named `build/presym`. You can generate static symbol table named `build/presym`. You can generate
the table by `rake gensym`. the table by `rake gensym`.
== `target` directory ## `target` directory
Build target specification files are loaded from `target` Build target specification files are loaded from `target`
directory. The default `TARGET` is `host` which is described directory. The default `TARGET` is `host` which is described
...@@ -39,15 +39,15 @@ If you want to have your target description out of the ...@@ -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 source tree, you can specify the path to the description
file in `MRUBY_CONFIG`. file in `MRUBY_CONFIG`.
= Build Target Contribution # Build Target Contribution
When you write a new target description, please When you write a new target description, please
contribute. We welcome your contribution as a GitHub contribute. We welcome your contribution as a GitHub
pull-request. pull-request.
= Languge Changes # Languge Changes
== New Syntax ## New Syntax
We have ported some new syntax from CRuby. We have ported some new syntax from CRuby.
...@@ -55,54 +55,54 @@ 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}`) * Numbered block parameter (`x.map{_1 * 2}`)
* End-less `def` (`def double(x) = x*2`) * End-less `def` (`def double(x) = x*2`)
= Configuration Options Changed # Configuration Options Changed
Some configuration macro names are changed for consistency Some configuration macro names are changed for consistency
== `MRB_NO_FLOAT` ## `MRB_NO_FLOAT`
Changed from `MRB_WITHOUT_FLOAT` to conform `USE_XXX` naming Changed from `MRB_WITHOUT_FLOAT` to conform `USE_XXX` naming
convention. convention.
== `MRB_USE_FLOAT32` ## `MRB_USE_FLOAT32`
Changed from `MRB_USE_FLOAT` to make sure `float` here means Changed from `MRB_USE_FLOAT` to make sure `float` here means
using single precision float, and not the opposite of using single precision float, and not the opposite of
`MRB_NO_FLOAT`. `MRB_NO_FLOAT`.
== `MRB_USE_METHOD_T_STRUCT` ## `MRB_USE_METHOD_T_STRUCT`
Changed from `MRB_METHOD_T_STRUCT`. Changed from `MRB_METHOD_T_STRUCT`.
To use `struct` version of `mrb_method_t`. More portable but consumes more memory. To use `struct` version of `mrb_method_t`. More portable but consumes more memory.
Turned on by default on 32bit platforms. Turned on by default on 32bit platforms.
== `MRB_NO_BOXING` ## `MRB_NO_BOXING`
Uses `struct` to represent `mrb_value`. Consumes more memory Uses `struct` to represent `mrb_value`. Consumes more memory
but easier to inveticate the internal and to debug. It used but easier to inveticate the internal and to debug. It used
to be default `mrb_value` representation. Now the default is to be default `mrb_value` representation. Now the default is
`MRB_WORD_BOXING`. `MRB_WORD_BOXING`.
== `MRB_WORD_BOXING` ## `MRB_WORD_BOXING`
Pack `mrb_value` in an `intptr_t` integer. Consumes less Pack `mrb_value` in an `intptr_t` integer. Consumes less
memory compared to `MRB_NO_BOXING` especially on 32 bit memory compared to `MRB_NO_BOXING` especially on 32 bit
platforms. `Fixnum` size is 31 bits so some integer values platforms. `Fixnum` size is 31 bits so some integer values
does not fit in `Fixnum` integers. does not fit in `Fixnum` integers.
== `MRB_NAN_BOXING` ## `MRB_NAN_BOXING`
Pack `mrb_value` in a floating pointer number. Nothing Pack `mrb_value` in a floating pointer number. Nothing
changed from previous versions. 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. 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. 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. For better and faster random number generation.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment