summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2021-01-19Compile `mruby-bin-debugger` with `ci/gcc-clang.rb`.Yukihiro "Matz" Matsumoto
2021-01-18Merge pull request #5294 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-that-Hash-may-not-contain-any-empty-buckets Fix that Hash may not contain any empty buckets
2021-01-18Fix that Hash may not contain any empty bucketsKOBAYASHI Shuji
The Hash implementation assumed that there were always empty buckets, but sometimes there were only active or deleted buckets (no empty buckets). Therefore, fix it so that this situation does not occur. ### Example ```ruby # example.rb class A attr_reader :v def initialize(v) @v = v end def ==(o) @v == o.v end def hash; @v end def to_s; "#{self.class}[#{@v}]" end alias eql? == alias inspect to_s end keys = (0..31).map{A.new(_1)} h = {} (0..16).each{h[keys[_1]] = _1} (17..31).each do k = keys[_1] h[k] = _1 h.delete(k) end p h.keys ``` #### Before this patch: ```console $ bin/mruby example.rb [A[0], A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8], A[9], A[10], A[11], A[12], A[13], A[14], A[15], A[16], A[30], A[31]] ``` #### After this patch: ```console $ bin/mruby example.rb [A[0], A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8], A[9], A[10], A[11], A[12], A[13], A[14], A[15], A[16]] ```
2021-01-18Merge pull request #5293 from dearblue/fix-5272.2Yukihiro "Matz" Matsumoto
Fix build error for mruby-bin-debugger
2021-01-18Fix build error for mruby-bin-debuggerdearblue
This is a missing change in #5272. This issue was reported by @shuujii. https://github.com/mruby/mruby/pull/5272#issuecomment-761819737
2021-01-17Add tests for `Integer#quo` and `Float#quo`; #5268Yukihiro "Matz" Matsumoto
2021-01-17Fix `int_quo` to do float division; fix #5268Yukihiro "Matz" Matsumoto
2021-01-17Define `Rational#quo`; fix #5268Yukihiro "Matz" Matsumoto
2021-01-17Make `mrb_to_flo()` to convert objects, not integer, not float; #5268Yukihiro "Matz" Matsumoto
Thinking `Ratinal` and `Complex` in mind.
2021-01-16Merge pull request #5292 from dearblue/objspace-memsizeYukihiro "Matz" Matsumoto
Fix NULL pointer dereference with mruby-os-memsize and mruby-method
2021-01-16Fix NULL pointer dereference with mruby-os-memsize and mruby-methoddearblue
If it gets an insubstantial method object with `obj.method`, it will raise a `SIGSEGV` with `ObjectSpace.memsize_of(method)`.
2021-01-16Merge pull request #5291 from dearblue/fix-5272Yukihiro "Matz" Matsumoto
Fixed stack position of return value; ref #5272
2021-01-16Fixed stack position of return value; ref #5272dearblue
When I `#call` the "proc" object created by the `mrb_proc_new_cfunc()` function from Ruby space, the return value did not go into the correct stack position. This can destroy the calling variable. This issue is now caused by #5272. sorry.
2021-01-15Avoid syntax error regarding colons in the expression; fix #5290Yukihiro "Matz" Matsumoto
Reported and inspired by @hasumikin; based on CRuby's `parse.y`.
2021-01-14Merge pull request #5273 from dearblue/fiberYukihiro "Matz" Matsumoto
Capture the return value of `Fiber.yield` via C; ref #5261
2021-01-13Rational denominator should not be zero.Yukihiro "Matz" Matsumoto
2021-01-12Capture the return value of `Fiber.yield` via C; ref #5261dearblue
2021-01-12Merge pull request #5289 from dearblue/sockaddr_unYukihiro "Matz" Matsumoto
Initialize all area of `struct sockaddr_un`
2021-01-12Merge branch 'dearblue-reorganize-ci'Yukihiro "Matz" Matsumoto
2021-01-12Initialize all area of `struct sockaddr_un`dearblue
Members of `struct sockaddr_un` are requesting the definitions of `sun_family` and `sun_path`. https://pubs.opengroup.org/onlinepubs/009696699/basedefs/sys/un.h.html But the other members are optional and environment dependent. In fact, other members are defined in the BSD series. from NetBSD-9.1 <https://github.com/NetBSD/src/blob/da504f75982b244b2288bc9970bbc203bd77a9c1/sys/sys/un.h#L49-L53> ```c struct sockaddr_un { unsigned char sun_len; /* sockaddr len excluding NUL */ sa_family_t sun_family; /* AF_UNIX */ char sun_path[104]; /* path name (gag) */ }; ```
2021-01-12Merge branch 'reorganize-ci' of https://github.com/dearblue/mruby into ↵Yukihiro "Matz" Matsumoto
dearblue-reorganize-ci
2021-01-12Merge pull request #5288 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-that-sometimes-parallel-build-of-test-code-fails Fix that sometimes parallel build of test code fails; fix #5284
2021-01-12Fix a signed shift bug on 32 bit platforms; ref e1c9e7eYukihiro "Matz" Matsumoto
2021-01-12Silence Windows warnings (cast and `setmode`).Yukihiro "Matz" Matsumoto
2021-01-12Fix that sometimes parallel build of test code fails; fix #5284KOBAYASHI Shuji
The cause is that `mrbgem.rake` of` mruby-test` gem is loaded when test code is requested to be built, but when `mrbgem.rake` is loaded, `MRuby::Gem.current` is updated, which is not thread safe. Address this by not loading `mrbgem.rake` in parallel.
2021-01-12Save `NOARG` information in `struct mt_elem`; fix #5257Yukihiro "Matz" Matsumoto
2021-01-12Changed packing format of inline symbols.Yukihiro "Matz" Matsumoto
To make inline symbols packed in 30 bits.
2021-01-11Merge pull request #5285 from dearblue/io-unimpsYukihiro "Matz" Matsumoto
Remove functions for unimplemented methods
2021-01-11Merge pull request #5286 from dearblue/io-popenYukihiro "Matz" Matsumoto
Integrate the argument parsing part of `IO.popen`
2021-01-11Integrate the argument parsing part of `IO.popen`dearblue
2021-01-11Remove functions for unimplemented methodsdearblue
- Use `mrb_notimplement_m()` instead. - Hide the unused `option_to_fd()` when `TARGET_OS_IPHONE` is enabled.
2021-01-11Merge pull request #5283 from shuujii/add-missing-cast-in-ea_next_capa_forYukihiro "Matz" Matsumoto
Add missing cast in `ea_next_capa_for`
2021-01-11Merge pull request #5282 from dearblue/mruby-config-crossYukihiro "Matz" Matsumoto
Create a `mruby-config` that can be run on the host by cross-building
2021-01-11Add missing cast in `ea_next_capa_for`KOBAYASHI Shuji
2021-01-11Create a `mruby-config` that can be run on the host by cross-buildingdearblue
The output directory will be `host-bin`, so it will be output as `<build-dir>/host-bin/mruby-config`. It's still not available for target devices.
2021-01-11Merge pull request #5281 from ↵Yukihiro "Matz" Matsumoto
shuujii/remove-the-definition-of-mrb_uint-in-numeric.h-that-is-no-longer-needed Remove the definition of `mrb_uint` in `numeric.h` that is no longer needed
2021-01-11Merge pull request #5280 from ↵Yukihiro "Matz" Matsumoto
shuujii/remove-unneeded-check-to-mrbtest-in-tasks-presym.rake Remove unneeded check to `mrbtest` in `tasks/presym.rake`
2021-01-11Remove the definition of `mrb_uint` in `numeric.h` that is no longer neededKOBAYASHI Shuji
2021-01-11Remove unneeded check to `mrbtest` in `tasks/presym.rake`KOBAYASHI Shuji
With the change in #5267, `build.products` no longer contains `mrbtest` when `tasks/presym.rake` is loaded.
2021-01-11Merge pull request #5279 from ↵Yukihiro "Matz" Matsumoto
shuujii/remove-unneeded-mruby-test-gem-in-build_config-no-float.rb Remove unneeded `mruby-test` gem in `build_config/no-float.rb` [ci skip]
2021-01-11Remove unneeded `mruby-test` gem in `build_config/no-float.rb` [ci skip]KOBAYASHI Shuji
Use `enable_test` to enable the test.
2021-01-11Merge pull request #5278 from dearblue/annotationYukihiro "Matz" Matsumoto
Fix annotations [ci skip]
2021-01-11Fix annotations [ci skip]dearblue
2021-01-10Fix CI failure on Windows environment.Yukihiro "Matz" Matsumoto
`1L` on Windows means `32 bit int`.
2021-01-10Fix mixture of inline `int` declaration in `for` statement.Yukihiro "Matz" Matsumoto
2021-01-10Merge pull request #5271 from shuujii/fix-build-error-in-cross-build-with-presymYukihiro "Matz" Matsumoto
Fix build error in cross-build with presym
2021-01-10Merge pull request #5275 from dearblue/read_irepYukihiro "Matz" Matsumoto
Replace `tempirep` with `RProc`
2021-01-10Merge pull request #5274 from ↵Yukihiro "Matz" Matsumoto
shuujii/fix-the-condition-to-remove-mrbtest-when-rake-clean Fix the condition to remove `mrbtest` when `rake clean`
2021-01-10Replace `tempirep` with `RProc`dearblue
Previously I used the `RData` object to avoid a memory leak in `mrb_irep` if `src/load.c` failed. ref: https://github.com/mruby/mruby/pull/4250 commit: f1523d24042ca3416dc5b9be7b3fc220ddaed896 Considering that the `RProc` object will be created in the subsequent process, it is preferable to create the `RProc` object from the beginning. Along with this, the inside of `read_irep()` is replaced with the processing centered on the `RProc` object. The global function that returns the `mrb_irep` pointer is still provided for compatibility.
2021-01-10Revert "Revert "Simplify full-core.gembox""Yukihiro "Matz" Matsumoto
This reverts commit 37d795dec7b495d418dc2f9020cf980c158ba9ed. This reapplies e20d652 (#4202), which is reverted, but its issue was solved by 1d8456f.