mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Use Markdown section marker #; ref #5084 [ci skip]
The fix was proposed by @dearblue
This commit is contained in:
+16
-16
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user