summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2020-12-05Merge pull request #5215 from ↵Yukihiro "Matz" Matsumoto
shuujii/update-Configuration-Options-Changed-in-doc-mruby3.md Update "Configuration Options Changed" in `doc/mruby3.md` [ci skip]
2020-12-05Update "Configuration Options Changed" in `doc/mruby3.md` [ci skip]KOBAYASHI Shuji
2020-12-05Fixed a memory leak bug on `codegen_error()` when `irep->rlen>255`.Yukihiro "Matz" Matsumoto
2020-12-05Merge pull request #5212 from ↵Yukihiro "Matz" Matsumoto
shuujii/make-it-possible-that-libmruby.a-is-not-created Make it possible that `libmruby.a` is not created
2020-12-05Make it possible that `libmruby.a` is not createdKOBAYASHI Shuji
Previously, `libmruby.a` was created even if only `mruby-bin-mrbc` or` mruby-compiler` was specified for gem, but by specifying `disable_libmruby`, the creation of `libmruby.a` can be suppressed. ### Note The https://github.com/mruby/mruby/pull/5084#issuecomment-723521971 incompatibility seems to be difficult for users to avoid, so the original behavior has been restored. Therefore, if we need `mrbc` other than the `host` build, we need to explicitly specify `mruby-bin-mrbc` gem. Due to the above changes, `build_config/boxing.rb` etc. will not work, but I have added` mruby-bin-mrbc` to `default.gembox` to fix it. I don't think this change is a big deal because originally `mruby-compiler` was included.
2020-12-05Fixed a bug with modules prepended many times.Yukihiro "Matz" Matsumoto
Adjust insertion point in `fix_prepend_module()`.
2020-12-04Make `Module#include` and `Module#prepend` behave like Ruby3.0.Yukihiro "Matz" Matsumoto
Module#include and Module#prepend now affect classes and modules that have already included or prepended the receiver, mirroring the behavior if the arguments were included in the receiver before the other modules and classes included or prepended the receiver. ```ruby class C; end module M1; end module M2; end C.include M1 M1.include M2 p C.ancestors #=> [C, M1, M2, Object, Kernel, BasicObject] ```
2020-12-04Merge pull request #5211 from ↵Yukihiro "Matz" Matsumoto
shuujii/move-mrbc-test-to-mruby-bin-mrbc-gem-from-mruby-compiler-gem Move `mrbc` test to `mruby-bin-mrbc` gem from `mruby-compiler` gem
2020-12-04Move `mrbc` test to `mruby-bin-mrbc` gem from `mruby-compiler` gemKOBAYASHI Shuji
2020-12-03Merge pull request #5209 from shuujii/remove-build-presym.inc-by-rake-cleanYukihiro "Matz" Matsumoto
Remove `build/presym{,.inc}` by `rake clean` [ci skip]
2020-12-02Remove `build/presym{,.inc}` by `rake clean` [ci skip]KOBAYASHI Shuji
Currently, adding gems to build configuration and rebuilding does not regenerate `presym`, which can lead to build errors. Therefore in this case we need to remove the `presym` file and then rebuild mruby, but when the` presym` file is regenerated we will need to recompile most of the files, so it seems useful to have the `presym` file deleted by `rake clean`.
2020-12-02Merge pull request #5208 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-build-for-C++11-when-enable_cxx_exception Fix build for C++ version >= C++11 when `enable_cxx_exception`; close #5199
2020-12-02Fix build for C++ version >= C++11 when `enable_cxx_exception`; close #5199KOBAYASHI Shuji
2020-12-02Merge pull request #5198 from shuujii/remove-unused-Rake-rulesYukihiro "Matz" Matsumoto
Remove unused Rake rules
2020-12-02Use `JMPLINK_START` instead of zero for a link start marker.Yukihiro "Matz" Matsumoto
2020-12-02Remove assertions to check catch handler offset to be in 16bits.Yukihiro "Matz" Matsumoto
2020-12-02Fixed memory leaks from `codegen_error`.Yukihiro "Matz" Matsumoto
2020-12-02Print implicit operands for some instructions.Yukihiro "Matz" Matsumoto
2020-12-02Remove a newline.Yukihiro "Matz" Matsumoto
2020-12-01Fix a ``OP_JMP` bug from `0` marker and address `0`.Yukihiro "Matz" Matsumoto
2020-12-01Merge pull request #5207 from ↵Yukihiro "Matz" Matsumoto
shuujii/revert-Create-presym-files-for-each-build-target Revert "Create presym files for each build target" (58ba883e)
2020-12-01Revert "Create presym files for each build target" (58ba883e)KOBAYASHI Shuji
Due to the above changes, it may not work with the existing build configurations in cross-compilation (even if we can build without presym), therefore revert it once (ref https://github.com/mruby/mruby/pull/5202#issuecomment-735412643). Sorry for the lack of consideration.
2020-12-01Fix `OP_JMPUW` address bug.Yukihiro "Matz" Matsumoto
2020-11-30Merge pull request #5206 from dearblue/dumpirepYukihiro "Matz" Matsumoto
Improves dump irep
2020-11-30Merge pull request #5205 from dearblue/codedumpYukihiro "Matz" Matsumoto
Fixed print catch handler address in codedump; ref #5200
2020-11-30Integrate the output of the catch handler table into iseqdearblue
Alleviates confusingness. ref #5203
2020-11-30Fixed irep size measurement by dump; ref #5203dearblue
2020-11-30Fixed print catch handler address in codedump; ref #5200dearblue
It became 32 bits in #5200, but only the upper 16 bits were printed.
2020-11-29Merge pull request #5204 from shuujii/use-MRB_SYM-in-src-gc.cYukihiro "Matz" Matsumoto
Use `MRB_SYM` in `src/gc.c`
2020-11-29Use `MRB_SYM` in `src/gc.c`KOBAYASHI Shuji
2020-11-29Merge pull request #5203 from komainu8/fix-heap-buffer-overflowYukihiro "Matz" Matsumoto
Fix heap buffer overflow when dump irep
2020-11-29Fix heap buffer overflow when dump irepHorimoto Yasuhiro
Currently, the size of writing in heap by write_irep_record() is bigger than The size that is calculated by get_irep_record_size. Therefore, irep is dumped over the size of allocating memory when we execute dump_irep().
2020-11-29Merge pull request #5200 from dearblue/catchhandler32Yukihiro "Matz" Matsumoto
Change the catch handler address to 32 bits
2020-11-29Change the catch handler address to 32 bitsdearblue
Follow commit 7150c6753933f12a2ba63769fb7b3a44cfcddd3d .
2020-11-28Remove unused Rake rulesKOBAYASHI Shuji
Currently, the source file language in the core is C only, and C++, Objective-C, and Assembly are not used, so Rake rules for them are removed.
2020-11-27Merge pull request #5197 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-incorrect-regexp-creation-in-tasks-presym.rake Fix incorrect regexp creation in `tasks/presym.rake`
2020-11-27Fix incorrect regexp creation in `tasks/presym.rake`KOBAYASHI Shuji
2020-11-27Merge pull request #5196 from shuujii/fix-build-failureYukihiro "Matz" Matsumoto
Fix build failure; ref #5194
2020-11-27Fix build failure; ref #5194KOBAYASHI Shuji
Fix the following two issues: 1. Compile failure when external gem is specified. * https://github.com/mruby/mruby/pull/5194#issuecomment-734303442 2. When there are multiple build targets, presym parsing sometimes fails or output result of presym is broken. * https://github.com/mruby/mruby/pull/5194#issuecomment-734322142 The root cause of 2 is unknown, but it seems to occur when presym parsing is performed in parallel, therefore I change them so that they are not run in parallel.
2020-11-26Merge pull request #5195 from ↵Yukihiro "Matz" Matsumoto
shuujii/add-tools-to-target-directory-for-presym-parsing Add `tools/*` to target directory for presym parsing
2020-11-26Add `tools/*` to target directory for presym parsingKOBAYASHI Shuji
2020-11-26Merge pull request #5194 from shuujii/create-presym-files-for-each-build-targetYukihiro "Matz" Matsumoto
Create presym files for each build target
2020-11-26Use `__builtin_setjmp()`, `__builtin_longjmp()` on MinGW; fix #5133Yukihiro "Matz" Matsumoto
2020-11-26Avoid integer overflow in `rational_new`.Yukihiro "Matz" Matsumoto
2020-11-26Create presym files for each build targetKOBAYASHI Shuji
Previously, presym files were always created in `build/{presym,presym.inc}`. However, this constraint is inconvenient because it is common to use multiple build configurations and build targets in a single mruby tree. Therefore, change to create presym file for each build target.
2020-11-26Merge pull request #5193 from shuujii/fix-loop-condition-in-mrb_sym_all_symbolsYukihiro "Matz" Matsumoto
Fix loop condition in `mrb_sym_all_symbols`
2020-11-26Fix loop condition in `mrb_sym_all_symbols`KOBAYASHI Shuji
2020-11-26Fix a bug in `find_symbol()`; fix #5192Yukihiro "Matz" Matsumoto
2020-11-26Make `OP_JMP*` operand address to be relative.Yukihiro "Matz" Matsumoto
Jump target address is `operand (16bit)` + `address of next instruction`. In addition, `ilen` was made `uint32_t` so that `iseq` length limitation of 65536 is removed. Only jump target address should be within signed 16bit (-32768 .. 32767).
2020-11-26Fix `Symbol.all_symbols` to include preallocated symbols; ref #5116Yukihiro "Matz" Matsumoto