| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Thinking `Ratinal` and `Complex` in mind.
|
|
Fix NULL pointer dereference with mruby-os-memsize and mruby-method
|
|
If it gets an insubstantial method object with `obj.method`, it will raise a `SIGSEGV` with `ObjectSpace.memsize_of(method)`.
|
|
Fixed stack position of return value; ref #5272
|
|
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.
|
|
Reported and inspired by @hasumikin; based on CRuby's `parse.y`.
|
|
Capture the return value of `Fiber.yield` via C; ref #5261
|
|
|
|
|
|
Initialize all area of `struct sockaddr_un`
|
|
|
|
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) */
};
```
|
|
dearblue-reorganize-ci
|
|
shuujii/fix-that-sometimes-parallel-build-of-test-code-fails
Fix that sometimes parallel build of test code fails; fix #5284
|
|
|
|
|
|
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.
|
|
|
|
To make inline symbols packed in 30 bits.
|
|
Remove functions for unimplemented methods
|
|
Integrate the argument parsing part of `IO.popen`
|
|
|
|
- Use `mrb_notimplement_m()` instead.
- Hide the unused `option_to_fd()` when `TARGET_OS_IPHONE` is enabled.
|
|
Add missing cast in `ea_next_capa_for`
|
|
Create a `mruby-config` that can be run on the host by cross-building
|
|
|
|
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.
|
|
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
|
|
shuujii/remove-unneeded-check-to-mrbtest-in-tasks-presym.rake
Remove unneeded check to `mrbtest` in `tasks/presym.rake`
|
|
|
|
With the change in #5267, `build.products` no longer contains `mrbtest` when
`tasks/presym.rake` is loaded.
|
|
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]
|
|
Use `enable_test` to enable the test.
|
|
Fix annotations [ci skip]
|
|
|
|
`1L` on Windows means `32 bit int`.
|
|
|
|
Fix build error in cross-build with presym
|
|
Replace `tempirep` with `RProc`
|
|
shuujii/fix-the-condition-to-remove-mrbtest-when-rake-clean
Fix the condition to remove `mrbtest` when `rake clean`
|
|
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.
|
|
This reverts commit 37d795dec7b495d418dc2f9020cf980c158ba9ed.
This reapplies e20d652 (#4202), which is reverted, but its issue was solved
by 1d8456f.
|
|
|
|
This reverts commit a0c1e075e35c358d21934c28ff1bec4153502409.
This is because the `mrb_callinfo::pc` has been reorganized, resulting in over-correction.
|
|
This enhances self-containment.
- Changed the `mrb_callinfo::pc` field to point to itself.
Previously it indicated the return destination of the previous call level.
`mrb_callinfo::pc` will now hold the address to its own `proc->body.irep->iseq`.
- Removed `mrb_callinfo::err` field.
This is because `mrb_callinfo::pc - 1` is semantically the same as the previous `err`.
- The `pc0` and `pc_save` variables in `mrb_vm_exec()` are no longer needed and have been deleted.
- It removes the argument because `cipush()` doesn't need to save the previous `pc`.
|
|
This enhances self-containment.
Previously `mrb_context::stack` had the current call level stack, but now it owns it.
The `mrb_context::stack` field, which is no longer needed, will be removed.
|
|
If there is `env`, `env->c` means `target_class`.
|