Yukihiro "Matz" Matsumoto
|
aa8e490fd5
|
Prevent GC during each_object; fix #3616
|
2017-04-25 17:25:48 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
88cd807379
|
Avoid use of snprintf() when DISABLE_STDIO is set; fix #3632
ref #3492 #3515 #3517
|
2017-04-25 10:41:50 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
03cdb8e9dd
|
Should terminate nested iterations in each_object; ref #3359
|
2017-04-25 10:41:50 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
058da1fed2
|
Revert "Disable GC during gc_each_objects(); fix #3616"
This reverts commit d2cad9ac5b.
|
2017-04-25 10:41:50 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
01f7825852
|
Use fiber marking instead of mark_context.
To avoid redundant `mark_context()`.
|
2017-04-25 10:41:50 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
a4dfaaf1e8
|
Small cosmetic changes.
|
2017-04-22 15:09:41 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
e26e118604
|
Use env preserved in Proc structure in ecall(); fix #3612
|
2017-04-22 15:08:18 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
5513fcee22
|
Keep reference to mrb_context from env; fix #3619
|
2017-04-22 14:35:36 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
a1d32af916
|
Simplify pointer calculation in envadjust.
|
2017-04-21 22:29:28 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
ad3b61f47b
|
Revert e8dca6b03; fix #3550
Reopens #3612.
|
2017-04-21 22:29:28 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
5d67d9b10d
|
Fixed a possible memory leak.
|
2017-04-21 22:29:28 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
15fba69710
|
Revert ae4217e81; fix #3619
Reopens #3550. Those 2 issues are exclusive.
|
2017-04-21 22:29:28 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
00770e2d3d
|
Merge pull request #3625 from take-cheeze/pool_64bit
Align pool allocator with 8 byte in 64-bit environment.
|
2017-04-21 22:27:33 +09:00 |
|
take_cheeze
|
3ce42a04e3
|
Add missing arg_i++ to fix bug of s! in mrb_get_args.
|
2017-04-21 17:52:29 +09:00 |
|
take_cheeze
|
b2dc04393a
|
Align pool allocator with 8 byte in 64-bit environment.
To avoid warnings from undefined sanitizer.
( https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html )
|
2017-04-21 17:34:31 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
94bcdca64f
|
VM stack may be reallocated in mrb_convert_type(); fix #3622
|
2017-04-21 09:11:28 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
262fbaf566
|
mrb_int may overflow in bit-shifting; fix #3620
|
2017-04-21 08:55:19 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
3567b26222
|
Bit-shifting zero should be zero; ref #3620
|
2017-04-21 08:36:29 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
d2cad9ac5b
|
Disable GC during gc_each_objects(); fix #3616
|
2017-04-20 15:50:52 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
62dae09bf6
|
Allow mrb_objspace_each_objects() to break iteration; ref #3359
|
2017-04-20 15:44:56 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
edd9fc6e75
|
Do not raise an exception for living closure; ref #3359
|
2017-04-20 13:14:01 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
6a0b68f8b8
|
Use trampoline technique for instance_exec; ref #3359
A new function `mrb_yield_cont()` is provided. You have to call it
at the end of a C defined method, e.g. `return mrb_yield_cont()`.
|
2017-04-19 19:54:55 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
77c2aa7b8a
|
Need to raise "break from proc-closure" error; fix #3359 fix #3495
Some examples in #3359 still behave differently from CRuby.
|
2017-04-19 19:38:57 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
283d145d3e
|
Fixed a bug caused by last minute change; fix #3610
Omitted `goto L_RAISE` to raise an exception.
|
2017-04-19 09:28:58 +09:00 |
|
Clayton Smith
|
de96994233
|
Check if sc->mt is initialized before copying it.
|
2017-04-18 11:18:58 -04:00 |
|
Yukihiro "Matz" Matsumoto
|
79e0314337
|
Call envadjust() before updating VM stack.
|
2017-04-18 16:49:43 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
ae4217e813
|
Fixed a wrong condition; fix #3550
Shared TT_ENV should be unshared. Reversed condition.
|
2017-04-18 16:49:14 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
e8dca6b034
|
Revert 6dd1a57; fix #3612; ref #3550
The fix was wrong. It causes a new problem #3612.
|
2017-04-18 16:48:50 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
a0143e148d
|
Make mrb_codedump_all() to print type of Proc.
|
2017-04-18 12:40:36 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
f6c70bc6e8
|
super may call context switching method like send; fix #3611
|
2017-04-18 11:52:16 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
05fceb5992
|
Call exc_debug_info() in mrb_exc_set(); ref #3610
Otherwise line number information is lacked from exceptions
raised in VM, e.g. "super called outside of method".
|
2017-04-18 10:28:49 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
82ab46139e
|
Add "no super" check to OP_ARGARY; fix #3610
|
2017-04-18 10:28:49 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
c3961847cf
|
Hash#dup didn't check if internal khash is initialized; fix #3609
|
2017-04-18 09:55:32 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
761493934e
|
Mark whole root objects in final_marking_phase(); fix #3603
ref #1359 #1362
|
2017-04-17 16:06:18 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
045e78c844
|
Proc#call needs to reserve at least 2 registers; fix #3606
One for the receiver, the other for the block.
|
2017-04-13 11:02:02 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
c0a4b1a0c6
|
Merge pull request #3604 from keizo042/fix_issue3598
Find Class/Module in nested singleton class; fix #3598
|
2017-04-13 00:42:26 +09:00 |
|
Kouichi Nakanishi
|
d4205c9b20
|
Use while statement instead of for statement
|
2017-04-12 23:27:09 +09:00 |
|
Kouichi Nakanishi
|
4fca570a74
|
Find Class/Module in nested singleton class; fix #3598
|
2017-04-12 22:41:36 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
4e84bdb507
|
Let 'mrb_vm_run()` to restore the calling fiber; ref #3537
|
2017-04-12 11:01:23 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
0fb05eb55f
|
Should not unshare env stack repeatedly; fix #3601
|
2017-04-12 10:41:06 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
2a4db1a4be
|
method_missing might have updated stack beyond boundary; fix #3599
|
2017-04-12 10:28:57 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
326e043a64
|
Exceptions may be raised in yyparse(); fix #3600
|
2017-04-12 10:23:34 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
918e7bb187
|
Refactor check before mrb_class_ptr(); ref #3602
|
2017-04-12 09:20:57 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
a25404c305
|
The attached object may not be a class; fix #3602
|
2017-04-12 09:18:44 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
6dd1a570c2
|
Shared TT_ENV may need to be marked; fix #3550
|
2017-04-11 12:40:26 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
db47ae5de5
|
Fixed a bug in mrb_convert_to_integer(); fix #3581
Did not update the result from `mrb_check_string_type()` before
string-to-integer conversion.
|
2017-04-11 02:00:02 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
9094415acf
|
An object attached to a singleton class may not be a class; fix #3587
The fix for #3539 was incomplete.
|
2017-04-10 22:02:51 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
0048dd118a
|
Protect arguments from GC; fix #3597
GC may be called with OP_ENTER (especially when GC_STRESS is set).
|
2017-04-10 21:12:41 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
a55b237d89
|
Callinfo may be changed in ecall(); fix #3589
|
2017-04-10 20:39:49 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
ab25eaea23
|
Avoid clearing VM stack every time to gain performance.
VM stack is cleared by 5c114c9, 0cb501 and c063641.
|
2017-04-10 09:59:36 +09:00 |
|