| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
Toplevel includes the top of the method/class/module definitions.
|
|
|
|
|
|
|
|
Fixes file header in src/{cdump,dump}.c [ci skip]
|
|
The file headers were pointing to each other's files.
|
|
Fixing keyword arguments with `super`
|
|
Allows handling of unaligned cptrs for `MRB_NAN_BOXING`
|
|
This reverts commit d3b7601af96c9e0eeba4c89359289661c755a74a.
|
|
|
|
|
|
It seems to be preferable to be able to handle pointers of type `char` as well.
For this purpose, `mrb_nanbox_tt_inline` has been reorganized.
- `MRB_NANBOX_TT_POINTER` has been split into `MRB_NANBOX_TT_OBJECT` and `MRB_NANBOX_TT_CPTR`
- `MRB_NANBOX_TT_SYMBOL` has been merged into `MRB_NANBOX_TT_MISC`
|
|
fix #5627
|
|
Improves presym scanning
|
|
Assert that `MRB_METHOD_CACHE_SIZE` is a power of 2
|
|
Assign after `mrb_irep_incref()` in `mrb_proc_new()`
|
|
Call functions directly from `mrb_ensure_float_type()`
|
|
Adjusting the stack for after it enters the virtual machine
|
|
ref. 28ccc664e5dcd3f9d55173e9afde77c4705a9ab6
|
|
The `mrb_static_assert_powerof2()` macro has been introduced for this purpose.
|
|
The main purpose is to increase the chances of finding presym and to prevent errors due to C++11 lambda expressions.
- The argument to receive the class may be written, for example, `mrb_class_get()`.
- The argument that receives the implementation function of the method may be a C++ lambda expression.
In this case, if multiple variable declarations are separated by colons, the preprocessor will recognize them as argument delimiters and report an error.
This patch prevents it from happening.
```c++
// When preprocessing...
func([] { int x, y, z; })
// ^^^^^^^^^^ 1st argument?
// ^ 2nd argument?
// ^^^^ 3rd argument?
```
|
|
It may cause broken reference count numbers.
|
|
ref. commit 7f40b645d2773c8f50c48ae4adf90488e164da55
Currently, the build configurations `MRB_USE_COMPLEX` and `MRB_USE_RATIONAL` are not listed in the documentation.
In other words, they are hidden settings.
They are defined in `mrbgems/mruby-{complex,rational}/mrbgem.rake`.
So this patch assumes that it is safe to refer to these functions in core-gems directly from core functions.
However, applications that link with `libmruby_core.a` will have compatibility issues.
In fact, `mrbgems/mruby-bin-mrbc` links with `libmruby_core.a`, so I had to prepare a dummy function.
|
|
Remove code duplication.
|
|
Extend the Cygwin CI time limit to 15 minutes.
|
|
Get object properties after `mrb_get_args()`
|
|
Since they are basically duplicated functionality. `mrb_as_float` is now
a macro defined using `mrb_ensure_float_type`; #5620
|
|
|
|
It should only call `to_f` for Rational and Complex numbers.
Ref #5540 #5613 #5620
|
|
That reduce memory consumption by iv/mt tables.
|
|
The main reason for failure is to exceed the time limit, and even when it succeeds, there is less than a minute left.
The 10-minute time limit seems to be too short.
|
|
ref. #5613.
I mentioned in #5540 that there was no reentrant to the virtual machine, but in fact it was still a possibility at that point.
Also, the variable `ci` needs to be recalculated at the same time.
|
|
ref. #5613
I checked with Valgrind, and the methods that can cause use-after-free are `Array#rotate`, `Array#rotate!`, and `String#byteslice`.
Since `String#rindex` uses `RSTRING_LEN()` indirectly inside the function, no reference to the out-of-bounds range is generated.
|
|
|
|
|
|
|
|
Since `mrb_to_integer` and `mrb_to_float` does not convert the object
but checks types, they are named so by historical reason. We introduced
properly named functions.
This commit obsoletes the following functions:
* mrb_to_integer()
* mrb_to_int()
* mrb_to_float()
Use `mrb_ensure_int_type()` instead for the first 2 functions. Use
`mrb_ensure_float_type()` for the last.
|
|
mruby have removed `to_int` implicit conversion, so `mrb_to_integer`
should not call `to_i` for conversion.
|
|
|
|
The `ARY_PTR` and `ARY_LEN` may be modified in `mrb_get_args`.
|
|
Fix build error and refine definition of `ssize_t` on MSVC.
|
|
|
|
Fix word casing in the README
|
|
pre-commit autoupdate
|
|
https://pre-commit.com/#pre-commit-autoupdate
|