Yukihiro "Matz" Matsumoto
116e128b1a
Remove positive check for unsigned integer; close #5218
2020-12-12 18:25:47 +09:00
Yukihiro "Matz" Matsumoto
092dd4a667
Argument forwarding with ... now supports leading arguments.
...
```ruby
def method_missing(meth, ...)
send(:"do_#{meth}", ...)
end
```
2020-12-09 11:56:54 +09:00
Yukihiro "Matz" Matsumoto
2e9b8f0d9b
Fix a bug caused by tBDOT3 (argument forwarding).
2020-12-08 22:01:47 +09:00
Yukihiro "Matz" Matsumoto
ed29d74bfd
Make type of pc arguments in debug.c consistent; close #5218
...
They used to be `size_t`, `uint32_t` and `ptrdiff_t`. Now all of them
made to be `uint32_t`.
2020-12-07 13:59:00 +09:00
Yukihiro "Matz" Matsumoto
8b52c67be9
Merge pull request #5217 from shuujii/call-super-before-creating-host-build-in-MRubyCrossBuild-initialize
...
Call `super` before creating `host` build in `MRuby::CrossBuild#initialize`
2020-12-06 17:30:34 +09:00
KOBAYASHI Shuji
de03e97a50
Call super before creating host build in MRuby::CrossBuild#initialize
...
Call `super` (`block`) ahead so that creation of the `host` build can be
skipped if pre-built `mrbc` can be specified in the future.
close #5213 .
2020-12-06 15:14:09 +09:00
Yukihiro "Matz" Matsumoto
9e41ae4909
Merge pull request #5214 from shuujii/allow-obsoluted-MRB_METHOD_T_STRUCT
...
Allow obsoluted `MRB_METHOD_T_STRUCT`
2020-12-05 22:22:18 +09:00
Yukihiro "Matz" Matsumoto
9cffacdf0d
Merge pull request #5216 from shuujii/remove-unused-@endian-in-MRubyCrossBuild-initialize
...
Remove unused `@endian` in `MRuby::CrossBuild#initialize`
2020-12-05 22:20:11 +09:00
Yukihiro "Matz" Matsumoto
1b6efeef57
Merge pull request #5215 from shuujii/update-Configuration-Options-Changed-in-doc-mruby3.md
...
Update "Configuration Options Changed" in `doc/mruby3.md` [ci skip]
2020-12-05 22:19:41 +09:00
KOBAYASHI Shuji
07668b067b
Remove unused @endian in MRuby::CrossBuild#initialize
2020-12-05 19:52:07 +09:00
KOBAYASHI Shuji
f84668f8d5
Update "Configuration Options Changed" in doc/mruby3.md [ci skip]
2020-12-05 19:26:38 +09:00
KOBAYASHI Shuji
58ef897696
Allow obsoluted MRB_METHOD_T_STRUCT
2020-12-05 17:37:39 +09:00
Yukihiro "Matz" Matsumoto
6e5a0f623f
Fixed a memory leak bug on codegen_error() when irep->rlen>255.
2020-12-05 15:28:58 +09:00
Yukihiro "Matz" Matsumoto
63d82142a8
Merge pull request #5212 from shuujii/make-it-possible-that-libmruby.a-is-not-created
...
Make it possible that `libmruby.a` is not created
2020-12-05 14:08:29 +09:00
KOBAYASHI Shuji
73b4152574
Make it possible that libmruby.a is not created
...
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-05 09:16:08 +09:00
Yukihiro "Matz" Matsumoto
00d1fd0e6f
Fixed a bug with modules prepended many times.
...
Adjust insertion point in `fix_prepend_module()`.
2020-12-05 08:01:05 +09:00
Yukihiro "Matz" Matsumoto
3972df57fe
Make Module#include and Module#prepend behave like Ruby3.0.
...
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-04 22:02:37 +09:00
Yukihiro "Matz" Matsumoto
4cd3493737
Merge pull request #5211 from 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-04 12:50:48 +09:00
KOBAYASHI Shuji
4452041ebb
Move mrbc test to mruby-bin-mrbc gem from mruby-compiler gem
2020-12-04 09:22:13 +09:00
Yukihiro "Matz" Matsumoto
f6ad163841
Merge pull request #5209 from shuujii/remove-build-presym.inc-by-rake-clean
...
Remove `build/presym{,.inc}` by `rake clean` [ci skip]
2020-12-03 07:17:37 +09:00
KOBAYASHI Shuji
e1fa01b9c8
Remove build/presym{,.inc} by rake clean [ci skip]
...
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-02 23:15:29 +09:00
Yukihiro "Matz" Matsumoto
42f33fd51a
Merge pull request #5208 from 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-02 21:35:21 +09:00
KOBAYASHI Shuji
00df809609
Fix build for C++ version >= C++11 when enable_cxx_exception; close #5199
2020-12-02 19:15:42 +09:00
Yukihiro "Matz" Matsumoto
661081a072
Merge pull request #5198 from shuujii/remove-unused-Rake-rules
...
Remove unused Rake rules
2020-12-02 11:07:37 +09:00
Yukihiro "Matz" Matsumoto
504b731af6
Use JMPLINK_START instead of zero for a link start marker.
2020-12-02 09:48:08 +09:00
Yukihiro "Matz" Matsumoto
affb18b85b
Remove assertions to check catch handler offset to be in 16bits.
2020-12-02 09:47:13 +09:00
Yukihiro "Matz" Matsumoto
826fe1bc36
Fixed memory leaks from codegen_error.
2020-12-02 09:46:08 +09:00
Yukihiro "Matz" Matsumoto
dd0715fd58
Print implicit operands for some instructions.
2020-12-02 09:44:34 +09:00
Yukihiro "Matz" Matsumoto
25985876b8
Remove a newline.
2020-12-02 09:44:07 +09:00
Yukihiro "Matz" Matsumoto
9ba0ebec0e
Fix a `OP_JMP bug from 0 marker and address 0.
2020-12-01 16:48:24 +09:00
Yukihiro "Matz" Matsumoto
a7d84382f8
Merge pull request #5207 from shuujii/revert-Create-presym-files-for-each-build-target
...
Revert "Create presym files for each build target" (58ba883e )
2020-12-01 16:46:19 +09:00
KOBAYASHI Shuji
5c205e6ea1
Revert "Create presym files for each build target" ( 58ba883e)
...
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-01 12:16:55 +09:00
Yukihiro "Matz" Matsumoto
98d5aa8d74
Fix OP_JMPUW address bug.
2020-12-01 00:25:09 +09:00
Yukihiro "Matz" Matsumoto
1c361f8a22
Merge pull request #5206 from dearblue/dumpirep
...
Improves dump irep
2020-11-30 23:21:19 +09:00
Yukihiro "Matz" Matsumoto
d56db2296d
Merge pull request #5205 from dearblue/codedump
...
Fixed print catch handler address in codedump; ref #5200
2020-11-30 23:19:59 +09:00
dearblue
3bc9453c9a
Integrate the output of the catch handler table into iseq
...
Alleviates confusingness.
ref #5203
2020-11-30 22:56:59 +09:00
dearblue
a56b601f56
Fixed irep size measurement by dump; ref #5203
2020-11-30 22:56:41 +09:00
dearblue
0ecb0fd97b
Fixed print catch handler address in codedump; ref #5200
...
It became 32 bits in #5200 , but only the upper 16 bits were printed.
2020-11-30 22:36:26 +09:00
Yukihiro "Matz" Matsumoto
9f5c0777f1
Merge pull request #5204 from shuujii/use-MRB_SYM-in-src-gc.c
...
Use `MRB_SYM` in `src/gc.c`
2020-11-29 20:15:48 +09:00
KOBAYASHI Shuji
82f3e4d31b
Use MRB_SYM in src/gc.c
2020-11-29 19:01:48 +09:00
Yukihiro "Matz" Matsumoto
d4439479cf
Merge pull request #5203 from komainu8/fix-heap-buffer-overflow
...
Fix heap buffer overflow when dump irep
2020-11-29 16:24:30 +09:00
Horimoto Yasuhiro
df13d418c3
Fix heap buffer overflow when dump irep
...
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-29 15:57:44 +09:00
Yukihiro "Matz" Matsumoto
c6071335a1
Merge pull request #5200 from dearblue/catchhandler32
...
Change the catch handler address to 32 bits
2020-11-29 14:50:22 +09:00
dearblue
b0cea30f32
Change the catch handler address to 32 bits
...
Follow commit 7150c67539 .
2020-11-29 13:48:45 +09:00
KOBAYASHI Shuji
8da2c11243
Remove unused Rake rules
...
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-28 12:38:46 +09:00
Yukihiro "Matz" Matsumoto
6d07d9b3d7
Merge pull request #5197 from shuujii/fix-incorrect-regexp-creation-in-tasks-presym.rake
...
Fix incorrect regexp creation in `tasks/presym.rake`
2020-11-27 22:08:25 +09:00
KOBAYASHI Shuji
cb7eb202ce
Fix incorrect regexp creation in tasks/presym.rake
2020-11-27 20:07:16 +09:00
Yukihiro "Matz" Matsumoto
6059834244
Merge pull request #5196 from shuujii/fix-build-failure
...
Fix build failure; ref #5194
2020-11-27 08:57:03 +09:00
KOBAYASHI Shuji
fdce0e712b
Fix build failure; ref #5194
...
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-27 07:59:57 +09:00
Yukihiro "Matz" Matsumoto
13fc503434
Merge pull request #5195 from shuujii/add-tools-to-target-directory-for-presym-parsing
...
Add `tools/*` to target directory for presym parsing
2020-11-26 22:47:22 +09:00