summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2021-02-03Update version to `3.0.0RC`.3.0.0-rcmimaki
2021-02-03Avoid Heap Overflow in `heredoc_remove_indent`; fix #5316Yukihiro "Matz" Matsumoto
2021-02-03Move `MRB_TRY` part of `mrb_close` to `src/error.c`; ref 6cc52b3Yukihiro "Matz" Matsumoto
We don't want to increase number of files that should be compiled by C++ compiler when `enable_cxx_exception` is turned on.
2021-02-02Ignore errors from `atexit` finalizers.Yukihiro "Matz" Matsumoto
2021-02-01Allow more than 256 child `irep`; fix #5310Yukihiro "Matz" Matsumoto
We have introduced following new instructions. * `OP_LAMBDA16` * `OP_BLOCK16` * `OP_METHOD16` * `OP_EXEC16` Each instruction uses 16 bits operand for `reps` index. Since new instructions are added, `mruby/c` VM should be updated. Due to new instructions, dump format compatibility is lost, we have increased `RITE_BINARY_MAJOR_VER`. In addition, we have decreased the size of `refcnt` in `mrb_irep` from `uint32_t` to `uint16_t`, which is reasonably big enough.
2021-02-01Copy `iv` table with `#prepend`; fix #5309Yukihiro "Matz" Matsumoto
In addition, stop eager allocation of `mt` table.
2021-02-01Merge pull request #5314 from dearblue/presym_initYukihiro "Matz" Matsumoto
Introduced `MRB_PRESYM_INIT_SYMBOLS()`
2021-02-01Merge pull request #5315 from ↵Yukihiro "Matz" Matsumoto
shuujii/use-mrb_open_core-instead-of-mrb_open--in-mrbc Use `mrb_open_core()` instead of `mrb_open()` in `mrbc`
2021-02-01Merge pull request #5313 from dearblue/diet-5272Yukihiro "Matz" Matsumoto
Remove unnecessary `ci0` variables; ref #5272
2021-01-31Use `mrb_open_core()` instead of `mrb_open()` in `mrbc`KOBAYASHI Shuji
2021-01-31Merge pull request #5312 from dearblue/diet-5060Yukihiro "Matz" Matsumoto
Remove unnecessary configuration macros; ref #5060
2021-01-31Introduced `MRB_PRESYM_INIT_SYMBOLS()`dearblue
The `init_SYMBOLS()` function implicitly defined in `MRB_PRESYM_DEFINE_VAR_AND_INITER()` requires some familiarity when trying to find it from the caller. By introducing `MRB_PRESYM_INIT_SYMBOLS()`, it is possible to find directly from the identifier.
2021-01-31Remove unnecessary `ci0` variables; ref #5272dearblue
2021-01-31Remove unnecessary configuration macros; ref #5060dearblue
The following macros will be removed: - `ENSURE_STACK_INIT_SIZE` - `RESCUE_STACK_INIT_SIZE` - `MRB_ECALL_DEPTH_MAX`
2021-01-31Merge pull request #5311 from ↵Yukihiro "Matz" Matsumoto
shuujii/change-.o.d-back-to-.d-because-.pi.d-is-no-longer-created Change `.o.d` back to `.d` because `.pi.d` is no longer created
2021-01-31Change `.o.d` back to `.d` because `.pi.d` is no longer createdKOBAYASHI Shuji
2021-01-30Merge pull request #5308 from dearblue/internal-mrbcYukihiro "Matz" Matsumoto
Build internal mrbc in an internal directory
2021-01-29Merge pull request #5306 from dearblue/unpackYukihiro "Matz" Matsumoto
Fixed `String#unpack` to handle the highest range of integer values
2021-01-29Build internal mrbc in an internal directorydearblue
2021-01-29Remove unnecessary range confirmationdearblue
This is a correction based on the review by @matz. https://github.com/mruby/mruby/pull/5306#pullrequestreview-578378401
2021-01-29Fixed `String#unpack` to handle the highest range of integer valuesdearblue
Previously, problems occurred when the `fixnum` was exceeded. - 32-bit cpu mode with `MRB_WORD_BOXING` and `MRB_INT32`: ```console % bin/mruby -e 'p [0x7fffffff].pack("N").unpack("N")' trace (most recent call last): -e:1: cannot unpack to Integer: 2147483647 (RangeError) ``` - 64-bit cpu mode with `MRB_WORD_BOXING` and `MRB_INT64`: ```console % bin/mruby -e 'p [0x7fffffff_ffffffff].pack("q").unpack("q")' trace (most recent call last): -e:1: cannot unpack to Integer: 9223372036854775807 (RangeError) ```
2021-01-29Replace `mrb_intern_cstr` to `mrb_intern_lit`.Yukihiro "Matz" Matsumoto
2021-01-28Merge pull request #5307 from dearblue/stackerrYukihiro "Matz" Matsumoto
Raise SystemStackError if mruby VM stack expansion fails
2021-01-28Merge pull request #5305 from dearblue/symbol0Yukihiro "Matz" Matsumoto
Check first `0` when converting symbols into strings
2021-01-28Raise SystemStackError if mruby VM stack expansion failsdearblue
2021-01-28Check first `0` when converting symbols into stringsdearblue
This was because it caused `SIGSEGV` when `mruby -v` displayed an unnamed variable. ```console % bin/mruby -ve 'call { |(a, b)| }' ...SNIP... irep 0x8007d0050 nregs=3 nlocals=1 pools=0 syms=1 reps=1 iseq=12 file: -e 1 000 OP_LOADSELF R1 1 002 OP_BLOCK R2 I(0:0x8007d00a0) 1 005 OP_SENDB R1 :call 0 1 009 OP_RETURN R1 1 011 OP_STOP irep 0x8007d00a0 nregs=6 nlocals=5 pools=0 syms=0 reps=0 iseq=29 local variable names: zsh: segmentation fault (core dumped) bin/mruby -ve 'call { |(a, b)| }' ```
2021-01-28Merge pull request #5304 from shuujii/refine-preprocess_optionsYukihiro "Matz" Matsumoto
Refine `preprocess_options`; ref d95ffb036
2021-01-28Remove duplicated `--cflags`; [ci skip]Yukihiro "Matz" Matsumoto
2021-01-28Refine `preprocess_options`; ref d95ffb036KOBAYASHI Shuji
If we modify an option that may have been specified by users, we may make unintended changes, so it is better not to modify it as much as possible, IMO.
2021-01-28Update `limitation.md` for integer division change in 3.0.Yukihiro "Matz" Matsumoto
2021-01-28Stop mentioning `MRB_NO_PRESYM` in the doc.Yukihiro "Matz" Matsumoto
It's for internal use. Please use `conf.disable_presym`.
2021-01-28Silence VC warning.Yukihiro "Matz" Matsumoto
2021-01-28Stop generating `build/<build>/src/*.pi.d`.Yukihiro "Matz" Matsumoto
2021-01-28Describe disabling preallocated symbols in the doc.Yukihiro "Matz" Matsumoto
2021-01-28Update `TODO` after mruby3.0.Yukihiro "Matz" Matsumoto
2021-01-28Remove unnecessary bit shift in `rational_new_f`.Yukihiro "Matz" Matsumoto
2021-01-27Add symbol names as comments to `presym_length_table`; ref #5303Yukihiro "Matz" Matsumoto
2021-01-27Add `static` modifiers to preallocated symbols tables; ref #5303Yukihiro "Matz" Matsumoto
2021-01-27Merge pull request #5303 from ↵Yukihiro "Matz" Matsumoto
shuujii/split-presym_table-for-reduced-program-size Split `presym_table` for reduced program size
2021-01-27Split `presym_table` for reduced program sizeKOBAYASHI Shuji
Because a structure that is an element of `presym_table` has padding, split it into individual arrays for name and length. #### Result (64-bit CPU with full-core gembox) | | mruby | libmruby.a | |--------|------------|------------| | Before | 1,087,444B | 1,476,872B | | After | 1,079,340B | 1,469,784B |
2021-01-27Merge pull request #5302 from shuujii/rename-.i-created-for-presym-scan-to-.piYukihiro "Matz" Matsumoto
Rename `.i` created for presym scan to `.pi`
2021-01-27Rename `.i` created for presym scan to `.pi`KOBAYASHI Shuji
This is because compiler's `-save-temps=obj` option creates `.i` with the same name.
2021-01-27Merge pull request #5301 from shuujii/fix-typos-in-mruby-presym-disableenable.hYukihiro "Matz" Matsumoto
Fix typos in `mruby/presym/{disable,enable}.h` [ci skip]
2021-01-27Fix typos in `mruby/presym/{disable,enable}.h` [ci skip]KOBAYASHI Shuji
2021-01-27Merge pull request #5300 from ↵Yukihiro "Matz" Matsumoto
shuujii/avoid-possible-loss-of-data-casting-in-binary-search Avoid 'possible loss of data' casting in binary search
2021-01-27Merge pull request #5299 from shuujii/fix-Use-MRB_SYM-for-error-class-retrievalYukihiro "Matz" Matsumoto
Fix "Use `MRB_SYM()` for error class retrieval"; ref 2ddfd50df
2021-01-27Avoid 'possible loss of data' casting in binary searchKOBAYASHI Shuji
Because it may not be expected result. example: https://wandbox.org/permlink/F5Mp7IEJ1VY3CFLp
2021-01-27Fix "Use `MRB_SYM()` for error class retrieval"; ref 2ddfd50dfKOBAYASHI Shuji
The new macro (`MRB_E_SYM`) was not being used, so it is being used. Also `MRB_E_SYM` is confusing with `MRB_SYM_E`, so change it to `MRB_ERROR_SYM`.
2021-01-26Adjust spaces after list markers.Yukihiro "Matz" Matsumoto
2021-01-26Revert "Fix the wrong directory `host-bin` to `host/bin`."Yukihiro "Matz" Matsumoto
This reverts commit 34f82f24e941f36edc8d947a8a9300631b3121ff. Ref #5282