Yukihiro "Matz" Matsumoto
fabc460880
Invoke full GC when too many objects allocated during GC; fix #3998
...
When object allocation rate during incremental GC is too high, the
`gc->majorgc_old_threshold` becomes too big. This means major GC
start slower and old objects stay longer (and consume too much memory).
2018-04-14 06:18:49 +09:00
Yukihiro "Matz" Matsumoto
3b273243e6
Change MAJOR_GC_INC_RATIO to 120; ref #3998
...
Because 200% is consumes too much memory for some cases.
2018-04-14 06:13:00 +09:00
Yukihiro "Matz" Matsumoto
fc85016a32
Remove DEFAULT_ from DEFAULT_MAJOR_GC_INC_RATIO; ref #3998
...
Because unlike other GC ratio constants, it's not a default value.
2018-04-14 06:12:12 +09:00
Yukihiro "Matz" Matsumoto
c6736357a7
No longer need to insert write barriers for fibers.
...
Those barriers are inserted to fix #3699 but all living fibers are
marked from `mark_context()` anyway now.
2018-04-13 23:46:40 +09:00
Yukihiro "Matz" Matsumoto
e3e87ee26a
The #3871 fix caused wrong break from proc-closure error; fix #3996
2018-04-13 21:56:45 +09:00
Yukihiro "Matz" Matsumoto
4df0380f1e
Add fallthrough comment to silence gcc warning.
2018-04-13 11:23:27 +09:00
Yukihiro "Matz" Matsumoto
4b09c7364e
Silence gcc initializer warning.
2018-04-13 11:22:54 +09:00
Yukihiro "Matz" Matsumoto
1905091634
Check length of env stack before accessing upvar; fix #3995
2018-04-11 10:24:44 +09:00
Yukihiro "Matz" Matsumoto
e340b17252
Merge pull request #3994 from kou/fix-windows-build-error-on-dll-build
...
Fix build error on Windows with MRB_BUILD_AS_DLL
2018-04-10 16:35:48 +09:00
Kouhei Sutou
0bc6c17490
Fix build error on Windows with MRB_BUILD_AS_DLL
...
Error message:
C:\projects\groonga\vendor\mruby-source\include\mruby.h(1098): error C2375: 'mrb_gc_arena_save' : redefinition; different linkage [C:\projects\groonga\vendor\mruby\mruby.vcxproj]
C:\projects\groonga\vendor\mruby-source\include\mruby.h(1083) : see declaration of 'mrb_gc_arena_save'
C:\projects\groonga\vendor\mruby-source\include\mruby.h(1099): error C2375: 'mrb_gc_arena_restore' : redefinition; different linkage [C:\projects\groonga\vendor\mruby\mruby.vcxproj]
C:\projects\groonga\vendor\mruby-source\include\mruby.h(1084) : see declaration of 'mrb_gc_arena_restore'
2018-04-10 15:24:41 +09:00
Yukihiro "Matz" Matsumoto
e9ddb593f3
Merge pull request #3991 from take-cheeze/fix_eval_env_gc
...
Fix possible heap use after free in `mrb_exec_irep` and stack expanding.
2018-04-05 15:44:24 +09:00
Takeshi Watanabe
26e436e247
Adjust environment when mrb_exec_irep happened.
2018-04-05 11:53:30 +09:00
Yukihiro "Matz" Matsumoto
f23c3cddc8
Merge pull request #3990 from mimaki/fix-mrdb-illegal-free
...
Fixed memory failure on mruby debugger.
2018-04-04 15:44:49 +09:00
mimaki
e57d9e6047
Fixed test case for mruby ddebugger.
2018-04-04 14:07:59 +09:00
mimaki
c1b9ec0c30
Fixed illegal memory operation on mruby debugger.
2018-04-04 13:20:40 +09:00
Yukihiro "Matz" Matsumoto
951ebbafdc
Merge pull request #3988 from ksss/each_with_object
...
Refactoring for `Enumerable#each_with_object`
2018-03-28 14:50:41 +09:00
ksss
e683c95e90
Refactoring for Enumerable#each_with_object
...
`each_with_object` arity should be 1
2018-03-27 23:09:10 +09:00
Yukihiro "Matz" Matsumoto
a072015c4e
Merge pull request #3987 from ksss/enum-lazy-zip
...
Reimplement `Enumerable#zip` with Enumerator
2018-03-27 13:53:37 +09:00
Yukihiro "Matz" Matsumoto
211d417b02
Merge pull request #3986 from ksss/enum-zip
...
Support block yielding for Enumerable#zip
2018-03-27 13:52:13 +09:00
ksss
3a22d113ee
Reimplement Enumerable#zip with Enumerator
...
for fix some specs
- [passes each element of the result array to a block and return nil if a block is given](https://github.com/ruby/spec/blob/a585ec35d185435e5c11f371ba4ed2a29d8817bd/core/enumerable/zip_spec.rb#L11-L17 )
- [converts arguments to arrays using #to_ary](https://github.com/ruby/spec/blob/a585ec35d185435e5c11f371ba4ed2a29d8817bd/core/enumerable/zip_spec.rb#L23-L27 )
- [converts arguments to enums using #to_enum](https://github.com/ruby/spec/blob/a585ec35d185435e5c11f371ba4ed2a29d8817bd/core/enumerable/zip_spec.rb#L29-L34 )
- [gathers whole arrays as elements when each yields multiple](https://github.com/ruby/spec/blob/a585ec35d185435e5c11f371ba4ed2a29d8817bd/core/enumerable/zip_spec.rb#L36-L39 )
2018-03-27 10:53:33 +09:00
ksss
b1c8fad94a
Should raise TypeError instead of NoMethodError
2018-03-27 10:52:32 +09:00
ksss
5a7ce01f12
Support block yielding for Enumerable#zip
2018-03-27 10:51:59 +09:00
Yukihiro "Matz" Matsumoto
203b071ca2
Merge pull request #3985 from take-cheeze/revert_ai_protocol
...
Revert #3984 .
2018-03-26 11:07:50 +09:00
Takeshi Watanabe
baff7c63ee
Revert #3984 .
2018-03-26 11:02:05 +09:00
Yukihiro "Matz" Matsumoto
0da7b4454f
Merge pull request #3984 from take-cheeze/merge_socket
...
Catch up with latest mruby-socket.
2018-03-25 22:25:15 +09:00
Takeshi Watanabe
306cb99b10
Merge commit '36d016afd663d34607c843d03371bedb71efa34e'
2018-03-25 21:10:11 +09:00
Yukihiro "Matz" Matsumoto
4b5c21cf3b
Merge pull request #3982 from take-cheeze/fix_str_cmp
...
Return nil if type differ in `String#<=>`.
2018-03-24 16:27:22 +09:00
Takeshi Watanabe
77a3863a3d
Return nil if type differ in String#<=>.
2018-03-24 16:18:44 +09:00
Yukihiro "Matz" Matsumoto
8e8bc9e40b
Merge pull request #3974 from take-cheeze/repo_path
...
Add `:path` option for git repository.
2018-03-22 17:06:31 +09:00
Takeshi Watanabe
4940ddb9fc
Add :path option for git repository.
2018-03-22 12:42:41 +09:00
Yukihiro "Matz" Matsumoto
fb78f10893
Need to keep block argument in mrb_exec_irep; fix #3973
2018-03-22 01:01:18 +09:00
Yukihiro "Matz" Matsumoto
c8538be471
Needed to set ci->proc in OP_SUPER; fix #3966
2018-03-20 23:16:38 +09:00
Yukihiro "Matz" Matsumoto
a85bc19f35
Merge pull request #3972 from take-cheeze/fix_ary_set_len_assert
...
Set array length after expanding capacity.
2018-03-20 23:15:37 +09:00
Takeshi Watanabe
1218ff5d47
Set array length after expanding capacity.
2018-03-19 21:40:17 +09:00
Tomoyuki Sahara
36d016afd6
Set protocol of AddrInfo
...
backport https://github.com/mruby/mruby/pull/3891
2018-03-16 17:05:37 +09:00
Yukihiro "Matz" Matsumoto
1a8483f17e
__sort_sub__ is a method defined in Array; fix #3970
...
Reorganize `__sort_sub__` arguments.
2018-03-16 14:49:51 +09:00
Yukihiro "Matz" Matsumoto
1abff3f2ab
Merge pull request #3957 from take-cheeze/fix_io_read
...
Pass same mode parameter to `IO.sysopen` and `IO.open` in `IO.read`.
2018-03-16 14:34:44 +09:00
Yukihiro "Matz" Matsumoto
ceeb8c05df
Needed to pass sort block.
2018-03-16 08:20:43 +09:00
Yukihiro "Matz" Matsumoto
ec390e8f1b
Update mrb_get_args reference comment; ref #3963
2018-03-16 08:18:52 +09:00
Yukihiro "Matz" Matsumoto
6c84e6e4a5
Merge pull request #3969 from hfm/patch-1
...
Fix tinytypo
2018-03-16 08:18:38 +09:00
Okumura Takahiro
0664c452ee
Fix tinytypo
2018-03-16 00:19:09 +09:00
Yukihiro "Matz" Matsumoto
59dabb38ab
Merge pull request #3963 from dearblue/forced-block-arguments
...
Give me block by mrb_get_args() (forced block arguments)
2018-03-12 22:14:08 +09:00
Yukihiro "Matz" Matsumoto
843053c97c
Merge pull request #3965 from take-cheeze/patch-1
...
Add same fix as #3964 to lib/mruby/gem.rb .
2018-03-05 10:51:32 +09:00
Takeshi Watanabe
e8cea2accf
Add same fix as #3964 to lib/mruby/gem.rb .
2018-03-05 10:38:44 +09:00
Yukihiro "Matz" Matsumoto
e924501693
Merge pull request #3964 from take-cheeze/patch-1
...
Close `mrb_state` before error exit.
2018-03-05 10:26:02 +09:00
Takeshi Watanabe
0f5cf385b8
Close mrb_state before exit.
2018-03-05 10:13:55 +09:00
Takeshi Watanabe
94aebe3137
Close on exception too.
2018-03-05 10:12:33 +09:00
dearblue
a5ac49de30
fix && to &! in mrb_get_args()
2018-03-04 23:48:45 +09:00
dearblue
2ce6d23db6
add forced block arguments feature to mrb_get_args
2018-03-04 22:23:47 +09:00
Yukihiro "Matz" Matsumoto
10f28fc82d
Add mrb_fiber_alive_p to C API.
2018-03-02 10:14:36 +09:00