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 |
|
Yukihiro "Matz" Matsumoto
|
5c114c91d4
|
Clear unused stack region that may refer freed objects; fix #3596
|
2017-04-10 09:46:09 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
491d68bb30
|
Skip stack marking at all if c->stack is NULL.
|
2017-04-10 09:28:36 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
0cb501545c
|
Fill omitted arguments by nil for non-strict Proc.
|
2017-04-10 09:24:42 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
c063641ab0
|
Clear local (but non-argument) variables in OP_ENTER.
Otherwise, the following script prints an uninitialized value.
def f(*a)
if false
b = 15
end
p b
end
f(1,2,3)
|
2017-04-10 08:25:44 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
47f181519f
|
Avoid updating regs[] from function calls; ref #3588
|
2017-04-08 17:47:35 +09:00 |
|
Kouichi Nakanishi
|
15b55c32e9
|
Attach a name to embbeded value of rescue/ensure stack size
|
2017-04-08 11:22:41 +09:00 |
|
Kouichi Nakanishi
|
fd0f79ca67
|
Get constant of parent class even if child class is defined in signleton class; fix #3575
|
2017-04-06 23:31:34 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
e5b61d34f6
|
Fixed possible SEGV in Kernel#block_given?; ref #3593
|
2017-04-06 10:07:53 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
5e79bc9377
|
Make String#replace to check equality before modifying flags.
ref #3588
|
2017-04-06 08:25:25 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
a7b0ab3769
|
Save block argument position in e->cioff; fix #3593
|
2017-04-05 22:30:39 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
d9fb8b69b0
|
Fixed a bug in OP_SUPER block conversion; fix #3590
|
2017-04-05 18:22:26 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
2daebfb6a7
|
Fixed a bug when method_missing take 126 args; fix #3592
|
2017-04-05 14:41:34 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
7f37c2fc57
|
Use stderr for debug prints in DEBUG(); fix #3584
|
2017-04-05 12:38:38 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
ab63ee61ca
|
Fixed out-of-bounds access of ensure[]; ref #3491
|
2017-04-03 18:47:38 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
b8461c8681
|
Protect ensure clause lambdas from GC; fix #3491
|
2017-04-03 18:38:49 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
0a1f15e57c
|
Insert mrb_field_write_barrier() for GC; fix #3534
|
2017-04-03 18:01:43 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
246db71139
|
Add struct REnv to union RVALUE; ref #3534
|
2017-04-03 18:01:17 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
77331d127b
|
Unify else clause style
|
2017-04-03 16:56:27 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
fbf4089d2f
|
Remove spaces around parens
|
2017-04-03 16:49:18 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
f5632f2f12
|
Restrict recursion levels in method_missing(); fix #3556
Note this is a temporary fix. Error message generation
(including `inspect`) should be deferred until its use.
|
2017-04-03 10:50:31 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
d27a3d47cd
|
String#initialize to make a string empty; ref #3574
|
2017-04-03 10:22:38 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
a49c9f86e7
|
Update callinfo->target_class in mrb_exec_irep(); fix #3543
|
2017-04-03 00:05:16 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
5a445f012e
|
Add alias "append" to Array#push, and "prepend" to Array#unshift.
According to CRuby [Feature#12746]
|
2017-04-01 21:27:23 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
93d802987e
|
Extend VM stack just in case; ref #3551
|
2017-04-01 21:21:57 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
071164b799
|
Should not shrink VM stack; fix #3551
|
2017-04-01 18:54:37 +09:00 |
|
Yukihiro "Matz" Matsumoto
|
56322cd5dd
|
Pacify signed warning; ref #3565
|
2017-04-01 18:41:55 +09:00 |
|