Yukihiro "Matz" Matsumoto
0bb4d10ca7
Define Array#to_a to avoid unnecessary loops.
2020-07-22 14:56:56 +09:00
Yukihiro "Matz" Matsumoto
914da3d712
Small comment fix in mrblib/array.c.
2020-07-22 14:56:36 +09:00
Yukihiro "Matz" Matsumoto
670622f45d
Skip unnecessary mark_context if mrb->c == mrb->root_c.
2020-07-22 14:56:03 +09:00
Yukihiro "Matz" Matsumoto
6334949ba6
Fix the VM stack handling bug in 'mrb_yield_with_class()`; fix #5042
2020-07-21 12:47:35 +09:00
Yukihiro "Matz" Matsumoto
b1847721e8
Implement Kernel#print and Kernel#puts in C.
2020-07-20 23:35:17 +09:00
Yukihiro "Matz" Matsumoto
f0afdf7496
Merge pull request #5041 from RoryO/extract-memsize-to-gem
...
Extract memsize to gem
2020-07-20 08:23:46 +09:00
Rory OConnell
0685784119
Adding to authors
2020-07-19 15:40:29 -07:00
Rory OConnell
5f4a27217e
Separate memsize_of and memsize_of_all to a separate gem; #5040
...
Those methods are originally CRuby specific.
Co-authored-by: Yukihiro "Matz" Matsumoto <matz@ruby.or.jp >
2020-07-19 15:36:08 -07:00
Yukihiro "Matz" Matsumoto
c9ea39843b
Remove some tests from mruby-objectspace gem; #5040
...
Those tests succeeds only on some configuration.
2020-07-20 06:05:06 +09:00
Yukihiro "Matz" Matsumoto
a6f31ad6ce
Avoid accessing obj.tt of mrb_value; #5040
...
The old code compiles only on `MRB_NO_BOXING`.
2020-07-20 06:05:06 +09:00
Yukihiro "Matz" Matsumoto
07b75d927e
Replace 0 by MRB_EACH_OBJ_OK; #5040
2020-07-20 06:04:54 +09:00
Yukihiro "Matz" Matsumoto
71254be076
Skip MRB_TT_FREE and MRB_TT_BREAK in each_object.
2020-07-19 13:11:53 +09:00
Yukihiro "Matz" Matsumoto
1d2c5c12d3
Reorder members of struct os_each_object_data to stop warnings.
...
`mrb_value` may or may not be struct according to configuration.
2020-07-19 13:10:08 +09:00
Yukihiro "Matz" Matsumoto
00337543a5
Should have updated the arg spec for memsize_of&memsize_of_all; #5040
2020-07-19 09:11:16 +09:00
Yukihiro "Matz" Matsumoto
f76defd310
Use c specifier for mrb_get_args.
2020-07-19 07:47:07 +09:00
Yukihiro "Matz" Matsumoto
d023adcb12
Add new specifier c to mrb_get_args.
...
`C` retrieves a `mrb_value` that refers a class/module.
`c` retrieves a `struct RClass*` pointer to a class/module.
2020-07-19 07:45:16 +09:00
Yukihiro "Matz" Matsumoto
5b2763821e
Fix memsize_of_all to count all objects if no argument given; #5040
2020-07-19 07:42:35 +09:00
Yukihiro "Matz" Matsumoto
6d073f8d99
Fix memsize_of_all to count memory of subclass instances; #5040
...
`ObjectSpace.memsize_of_all` takes a class and count memory size of all
instances of the class and its subclasses (if any).
2020-07-19 06:57:34 +09:00
Yukihiro "Matz" Matsumoto
667ace2bfe
Merge pull request #5040 from RoryO/add-memsize-of-all
...
Add ObjectSpace.memsize_of_all
2020-07-19 06:43:13 +09:00
Rory O'Connell
ffe8bf6323
Avoid singleton classes with mrb_class_real
2020-07-18 13:55:45 -07:00
Rory OConnell
a79d1ba9ff
Adding memsize_of_all doc
2020-07-17 20:21:23 -07:00
Rory OConnell
fe1ec9afdd
Add ObjectSpace.memsize_of_all
2020-07-17 20:09:44 -07:00
Yukihiro "Matz" Matsumoto
1952004d5a
Use proc->env to check block_given? if possible; fix #5039
...
This bug has been there since mruby 1.4.0 (2018-04).
2020-07-17 16:15:47 +09:00
Yukihiro "Matz" Matsumoto
e41f1f5139
Fix indent of compiler conditions; #5032
2020-07-17 12:32:54 +09:00
Yukihiro "Matz" Matsumoto
495c1a377a
Fix memsize_of to count method table size; #5032
...
Also avoid `mrb_funcall` to minimize VM recursion.
2020-07-17 12:31:00 +09:00
Yukihiro "Matz" Matsumoto
9f52bcfca9
Fix memsize_of Fibers; #5032
...
Memory size of a Fiber is calculated by stack size only in CRuby.
2020-07-17 11:50:12 +09:00
Yukihiro "Matz" Matsumoto
a2b8c08a52
Add const to irep pointer in os_memsize_of_irep; #5032
2020-07-17 11:43:55 +09:00
Yukihiro "Matz" Matsumoto
f00657ead7
Remove recursive memsize_of; #5032
...
This is enhancement from CRuby's `memsize_of`. We need to change the
CRuby first for the enhancement.
2020-07-17 11:15:07 +09:00
Yukihiro "Matz" Matsumoto
2e56da5a78
Remove MRB_TT_DATA calculation of memsize_of; #5032
2020-07-17 10:59:43 +09:00
Yukihiro "Matz" Matsumoto
60279b2a8e
Use mrb_test instead of mrb_obj_eq; #5032
2020-07-17 10:53:24 +09:00
Yukihiro "Matz" Matsumoto
c6b8b58e0e
Fix memsize_of for fiber objects; #5032
2020-07-17 10:53:04 +09:00
Yukihiro "Matz" Matsumoto
7f66cf7d66
Fix memsize_of for string objects; #5032
2020-07-17 10:52:59 +09:00
Yukihiro "Matz" Matsumoto
9840d6a2e7
Merge pull request #5038 from dearblue/bidx
...
Fixed shift width for `MRB_ENV_SET_BIDX()`
2020-07-17 07:12:31 +09:00
Yukihiro "Matz" Matsumoto
b5bf9510ee
Merge pull request #5032 from RoryO/add-objspace-memsize-of
...
Add ObjectSpace.memsize_of
2020-07-17 07:10:58 +09:00
dearblue
5dc87f77d4
Fixed shift width for MRB_ENV_SET_BIDX()
...
ref c07f24cd1 and close #5035
2020-07-16 23:11:30 +09:00
Rory O'Connell
f74d370c15
mrb_ prefix convention
2020-07-15 19:57:22 -07:00
Rory O'Connell
38b0759108
Clarify memsize_of documentation
2020-07-14 23:43:10 -07:00
Rory O'Connell
4d32c671a7
Finishing out memsize_of recursion
2020-07-14 23:30:35 -07:00
Yukihiro "Matz" Matsumoto
bfd58a3fb3
Merge pull request #5036 from shuujii/fix-build_dir-mrbgems-gem_init.c-generation-condition
...
Fix `${build_dir}/mrbgems/gem_init.c` generation condition; ref #5010
2020-07-15 14:03:09 +09:00
Yukihiro "Matz" Matsumoto
1a4089803d
Merge pull request #5037 from shuujii/set-STDOUT.sync=true-when-testing-on-AppVeyor
...
Set `STDOUT.sync=true` when testing on AppVeyor [skip travis]
2020-07-15 09:57:49 +09:00
KOBAYASHI Shuji
4bf050a192
Set STDOUT.sync=true when testing on AppVeyor [skip travis]
...
This issue is a correction error at 5a682bfc .
2020-07-14 21:30:36 +09:00
KOBAYASHI Shuji
49896a4d28
Fix ${build_dir}/mrbgems/gem_init.c generation condition; ref #5010
...
The `${build_dir}/mrbgems/gem_init.c` generation condition has been changed
at #5010 , but it is somewhat insufficient, for example, there was a problem
with `rake && rake test`, which was also regenerated in `rake test`.
2020-07-14 19:55:23 +09:00
Rory OConnell
0e5394638b
Validate ensure stack presense before calculating
2020-07-13 17:05:03 -07:00
Rory OConnell
ad44021591
C89 compiler mode fixes
2020-07-13 16:43:59 -07:00
Rory OConnell
5759256ff8
Update tests for new calculations
2020-07-13 16:00:49 -07:00
Rory OConnell
5184263bdc
Calculating sizes of VM components for a Fiber
2020-07-13 16:00:14 -07:00
Rory OConnell
6f945a09b4
Use object iv table size in calculation
2020-07-13 15:59:24 -07:00
Rory OConnell
e7bd7d0eaf
Use size of hash's table in calculation
2020-07-13 15:58:50 -07:00
Rory OConnell
41e3220539
All values use page slot size in calculation
2020-07-13 15:56:27 -07:00
Yukihiro "Matz" Matsumoto
e3bb95bb6d
Merge pull request #5034 from dearblue/ssize_t
...
Fix `ssize_t` for mingw; ref #5030
2020-07-13 08:47:02 +09:00