Yukihiro "Matz" Matsumoto
3cf291f722
vm.c: create break object before clearing GC arena.
...
Otherwise it possibly cause use-after-free.
2022-04-04 12:26:52 +09:00
dearblue
87c9bd0754
Fixed bounds check for heap_p() function in src/gc.c
...
One extra element was included.
2022-04-03 22:14:42 +09:00
Yukihiro "Matz" Matsumoto
8aec568fc5
range.c: detect integer overflow.
2022-04-03 18:39:40 +09:00
Yukihiro "Matz" Matsumoto
3dabd18dcc
errno.c: resolve signedness warning.
2022-04-02 18:25:13 +09:00
Yukihiro "Matz" Matsumoto
b99c389ec3
internal.h: aggregate internal functions.
...
Internal functions can only be called from within the library.
Functions listed in `mruby/internal.h` can be called from:
* core (src/*.c)
* gems (mrbgems/**/*.c)
But not from the application linked with `libmruby`.
2022-04-02 18:25:13 +09:00
dearblue
92ef9f1a9e
Store backtrace to field of struct RException
...
Since the possible values of the backtrace are limited to `nil`, `RData`, and `RAray`, they are now stored as object pointers.
This change saves memory by eliminating the need to use instance variables for common exceptions.
ref. #2485
2022-04-01 23:27:19 +09:00
dearblue
7d85092bc4
Reorganize the struct RException::mesg member
...
There is no need to limit the type to `struct RString`.
Also, the `MRB_EXC_MESG_STRING_FLAG` flag can be eliminated by checking if `struct RException::mesg` is `NULL` or not.
ref. #2485
2022-04-01 23:25:20 +09:00
Yukihiro "Matz" Matsumoto
00acae117d
vm.c: target class may be NULL.
2022-04-01 16:40:06 +09:00
Yukihiro "Matz" Matsumoto
d1f1b4ea38
cdump.c: add const qualifier for line number arrays.
2022-04-01 15:02:39 +09:00
Yukihiro "Matz" Matsumoto
9de6065ae2
Merge pull request #5680 from jbampton/pre-commit-autoupdate
...
pre-commit autoupdate
2022-04-01 14:57:08 +09:00
John Bampton
cc380c6546
pre-commit autoupdate
...
https://pre-commit.com/#pre-commit-autoupdate
2022-04-01 08:26:40 +10:00
mimaki
7d3bc5c3d7
Update version to 3.1.0RC2.
3.1.0-rc2
2022-03-31 15:17:17 +09:00
Yukihiro "Matz" Matsumoto
f71d389649
codegen.c: fix the negative division regression; fix #5678
2022-03-31 13:05:06 +09:00
Yukihiro "Matz" Matsumoto
eaadc5e79f
parse.y: empty here-doc delimiter caused infinite loop; fix #5676
2022-03-31 13:01:27 +09:00
Yukihiro "Matz" Matsumoto
c627e3b2ab
codegen.c: fix a bug in super with keyword arguments; fix #5660
2022-03-31 13:00:34 +09:00
Yukihiro "Matz" Matsumoto
9424e4d4cf
parse.y: revert 9e064f2; fix #5647
...
Need to declare unnamed parameter when argument decomposition used.
2022-03-31 12:59:44 +09:00
Yukihiro "Matz" Matsumoto
64d3f4c730
vm.c: need to adjust argument after packing keyword args; fix #5632
...
It was caused by #5628 .
2022-03-31 12:58:48 +09:00
Yukihiro "Matz" Matsumoto
a3f2c95334
codegen.c: skip overwritten MOVE instructions.
2022-03-30 15:34:40 +09:00
Yukihiro "Matz" Matsumoto
60cf382ff9
codegen.c: peephole optimize consecutive MOVE instructions.
2022-03-29 22:36:40 +09:00
Yukihiro "Matz" Matsumoto
9593c15603
AUTHORS: update entries [ci skip]
2022-03-28 17:21:10 +09:00
Yukihiro "Matz" Matsumoto
bb5f6a8b56
Merge pull request #5679 from dearblue/expiration-code
...
Remove old compatibility code
2022-03-27 19:13:26 +09:00
dearblue
f9d72908ca
Remove old compatibility code
...
The `mrb_voidp()` related macros have been removed in mruby-1.1.0.
2022-03-27 11:26:43 +09:00
Yukihiro "Matz" Matsumoto
91255c7e9f
mrblib/array.rb: Array#<=> to handle NoMethodError exception.
...
Array element may not respond to `<=>` method.
2022-03-26 22:57:41 +09:00
Yukihiro "Matz" Matsumoto
7f5a490d09
vm.c: vm.c: stack may be reallocated in functions calls; aaa28a5
...
`mrb_range_new()` also calls VM recursively.
2022-03-26 21:06:02 +09:00
Yukihiro "Matz" Matsumoto
bf5bbf0a4b
test/integer: test negative integer divisions; ref #5678
2022-03-26 11:26:57 +09:00
Yukihiro "Matz" Matsumoto
a91b55f5ca
codegen.c: allow constant folding for multiply with zero.
2022-03-26 11:20:59 +09:00
Yukihiro "Matz" Matsumoto
90969cef4c
codegen.c: fix the negative division regression; fix #5678
2022-03-26 11:20:59 +09:00
Yukihiro "Matz" Matsumoto
8afdf78928
Merge pull request #5677 from mruby/dependabot/github_actions/github/super-linter-4.9.1
...
build(deps): bump github/super-linter from 4.9.0 to 4.9.1
2022-03-26 10:52:24 +09:00
dependabot[bot]
4b118fcb0c
build(deps): bump github/super-linter from 4.9.0 to 4.9.1
...
Bumps [github/super-linter](https://github.com/github/super-linter ) from 4.9.0 to 4.9.1.
- [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.9.0...v4.9.1 )
---
updated-dependencies:
- dependency-name: github/super-linter
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-03-25 14:08:20 +00:00
Yukihiro "Matz" Matsumoto
aaa28a5089
vm.c: stack may be reallocated in functions calls.
...
Probably due to recursive VM calls via `mrb_funcall()`.
2022-03-25 12:54:45 +09:00
Yukihiro "Matz" Matsumoto
b4168c9b68
parse.y: empty here-doc delimiter caused infinite loop; fix #5676
2022-03-25 07:45:06 +09:00
Yukihiro "Matz" Matsumoto
d53a991b07
Merge pull request #5668 from dearblue/gcred
...
No need to protect red objects
2022-03-24 10:33:40 +09:00
Yukihiro "Matz" Matsumoto
ad568ebee5
Merge pull request #5674 from jbampton/fix-markdown-tables
...
Format Markdown tables
2022-03-24 09:37:45 +09:00
John Bampton
7e4eaaa11a
Format Markdown tables
2022-03-24 01:00:24 +10:00
Yukihiro "Matz" Matsumoto
9debdf5a37
Merge pull request #5673 from mruby/dependabot/github_actions/actions/cache-3
...
build(deps): bump actions/cache from 2.1.7 to 3
2022-03-23 10:20:21 +09:00
Yukihiro "Matz" Matsumoto
a153315975
Merge pull request #5665 from dearblue/benchmark1
...
Update benchmark task
2022-03-23 10:19:46 +09:00
dependabot[bot]
be229d666f
build(deps): bump actions/cache from 2.1.7 to 3
...
Bumps [actions/cache](https://github.com/actions/cache ) from 2.1.7 to 3.
- [Release notes](https://github.com/actions/cache/releases )
- [Commits](https://github.com/actions/cache/compare/v2.1.7...v3 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-03-21 14:09:17 +00:00
Yukihiro "Matz" Matsumoto
982a4769a1
metaprog.c: add undefined_instance_methods method.
2022-03-21 11:15:23 +09:00
Yukihiro "Matz" Matsumoto
74597c6159
numeric.c: fix compile errors with MRB_NO_FLOAT; fix #5672
2022-03-20 19:04:00 +09:00
Yukihiro "Matz" Matsumoto
59d95352d6
doc/mruby3.2.md: new file to describe 3.2 changes.
2022-03-19 14:37:55 +09:00
Yukihiro "Matz" Matsumoto
4f869f3367
numeric.c: enhance float division to support Complex.
2022-03-18 14:23:17 +09:00
Yukihiro "Matz" Matsumoto
e45081d310
mrbc/stub.c: define stub functions in a separated file.
2022-03-18 12:29:47 +09:00
Yukihiro "Matz" Matsumoto
fe03e01078
numeric.c: enhance integer division to support Rational and Complex.
...
No longer need to override division methods in mrbgems.
2022-03-18 12:27:46 +09:00
Yukihiro "Matz" Matsumoto
4dcdf78f8a
numeric_ext.c: add Integer#pow() method.
...
Which takes optional second argument of modulo.
2022-03-17 23:25:50 +09:00
Yukihiro "Matz" Matsumoto
6b2f08d933
Merge pull request #5670 from dearblue/exc-message
...
Reimplement `Exception#message` in Ruby
2022-03-16 22:17:55 +09:00
Yukihiro "Matz" Matsumoto
13d014ab5e
complex.c: rename static functions to remove abbreviations.
...
- `flo_`
- `cpx_`
2022-03-15 19:14:45 +09:00
Yukihiro "Matz" Matsumoto
a869e4e540
numeric.h: remove obsolete functions.
...
- mrb_flo_to_fixnum()
- mrb_to_flo()
This commit removes weird abbreviation `_flo`.
2022-03-15 19:10:49 +09:00
Yukihiro "Matz" Matsumoto
4e1cf3293b
string.h: replace obsolete functions with macros.
...
- mrb_string_value_ptr()
- mrb_string_value_len()
2022-03-15 19:08:25 +09:00
Yukihiro "Matz" Matsumoto
6aa5d53867
numeric.c: avoid mrb_float with MRB_NO_FLOAT; fix #5671
...
`MRB_USE_COMPLEX` is exclusive with `MRB_NO_FLOAT`, so we only need to
check the former.
2022-03-15 19:07:28 +09:00
Yukihiro "Matz" Matsumoto
37d6506972
string.c: remove unused API mrb_str_strlen().
...
Compatibility macro is provided for safety.
2022-03-14 14:11:25 +09:00