| Age | Commit message (Collapse) | Author |
|
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.
|
|
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 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
|
|
Changed `Actual` to `actual` mid sentence
|
|
|
|
|
|
|
|
Fix summary typo for `mrbgems/mruby-compar-ext`
|
|
|
|
|
|
|
|
Allow void expression on some places e.g. right hand of `rescue`
modifier. In addition, checks added on some places, e.g. left hand of
logical operators.
|
|
mruby/dependabot/github_actions/github/super-linter-4.8.5
build(deps): bump github/super-linter from 4.8.4 to 4.8.5
|
|
Bumps [github/super-linter](https://github.com/github/super-linter) from 4.8.4 to 4.8.5.
- [Release notes](https://github.com/github/super-linter/releases)
- [Changelog](https://github.com/github/super-linter/blob/main/docs/release-process.md)
- [Commits](https://github.com/github/super-linter/compare/v4.8.4...v4.8.5)
---
updated-dependencies:
- dependency-name: github/super-linter
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <[email protected]>
|
|
Note that the current implantation only calls `[]=` method. No
performance improvement. Just 2 bytes less byte code per assignment.
|
|
|
|
|
|
Add `bin/mrbc --no-ext-ops` switch
|
|
Print error before cleanup in `codegen_error()`
|
|
Previously, it always pointed to the highest scope as the location of the error.
- example code `code.rb`
```ruby
huge_num = "1" + "0" * 300; eval <<CODE, nil, "test.rb", 1
class Object
module A
#{huge_num}
end
end
CODE
```
- Before this patch
```console
% bin/mruby code.rb
test.rb:1: integer too big
trace (most recent call last):
[1] code.rb:1
code.rb:1:in eval: codegen error (ScriptError)
```
- After this patch
```console
% bin/mruby code.rb
test.rb:3: integer too big
trace (most recent call last):
[1] code.rb:1
code.rb:1:in eval: codegen error (ScriptError)
```
|
|
Print an error if `OP_EXT[123]` is needed when generating mruby binary.
This may be useful for mruby/c.
Inspired by #5590.
|
|
mruby/dependabot/github_actions/actions/upload-artifact-2.3.1
build(deps): bump actions/upload-artifact from 2.2.4 to 2.3.1
|
|
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.2.4 to 2.3.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.4...v2.3.1)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <[email protected]>
|
|
|
|
Ref #5597
|
|
Avoid losing the upper digits for mruby binary
|
|
The function may invoke the garbage collection and it requires
`mrb_state` to run.
|
|
- `rlen` keeps 16 bits.
- `ilen` keeps 32 bits.
Note that this change will break mruby binary format compatibility.
|
|
With some refactoring.
* `ret` argument is always non-nil, so no check needed.
* move allocation check right after malloc().
* simplify conditions.
|
|
|