Tomoyuki Sahara
0b41066e83
Merge pull request #84 from ksss/pos
...
To accurate `pos`
2017-06-12 15:43:44 +09:00
ksss
051d7bc8db
Reseek when write
2017-06-12 09:57:18 +09:00
ksss
1ebe1c8b1f
Support outbuf argument for IO#read
2017-06-12 09:43:02 +09:00
ksss
27f422880f
To accurate pos
...
pos shouldn't cache because it's not controllable
2017-06-11 23:22:04 +09:00
Yukihiro "Matz" Matsumoto
b9f771dc50
Handles exceptions from code generation phase; fix #3695
2017-06-07 13:29:08 +09:00
Tomoyuki Sahara
3a73a58493
mruby 1.2.0 assumes test blocks return their results. master does not.
2017-06-07 11:36:37 +09:00
Tomoyuki Sahara
383a9c79e1
Merge pull request #13 from ksss/unpack-utf8
...
Support unpack template "U"
2017-06-07 11:09:43 +09:00
Tomoyuki Sahara
dab87cf960
Merge pull request #80 from ksss/sysread
...
IO#sysread Check for readable
2017-06-05 16:21:30 +09:00
Yukihiro "Matz" Matsumoto
fc7096f18a
Limit recursion level of codegen(); fix #3690
2017-06-05 13:18:31 +09:00
Yukihiro "Matz" Matsumoto
788cea2b43
Revert "Simplify rescue stack management; ref #3683 "
...
This reverts commit eb5a606fe2 and
079f310fbc .
The rescue stack works differently from ensure stack, so the change
caused #3686 and #3688 . It might take long to solve the problems,
so that I would revert the changes for now. Fix #3688
2017-06-03 23:32:15 +09:00
Yukihiro "Matz" Matsumoto
c9a4f8a63b
Prohibit changing generational mode during GC disabled; fix #3689
2017-06-03 16:35:20 +09:00
Yukihiro "Matz" Matsumoto
935649b844
Check if a block is a lambda before marking it orphan; ref #3640
2017-06-03 13:48:09 +09:00
Yukihiro "Matz" Matsumoto
c041206ad1
Add checks for break from proc-closure; fix #3640
2017-06-03 12:44:29 +09:00
Yukihiro "Matz" Matsumoto
ab85d3c814
Make break in lambdas work as return according to CRuby behavior.
2017-06-02 14:22:18 +09:00
Yukihiro "Matz" Matsumoto
7f417ade42
Revert "Update NODE_BLOCK check logic in void_expr_error."
...
This reverts commit 31e30686b0 .
2017-06-02 13:31:03 +09:00
Yukihiro "Matz" Matsumoto
a8bf3742c6
Fixed a bug that make a loop in singleton_class clone; fix #3687
2017-06-02 13:25:15 +09:00
Yukihiro "Matz" Matsumoto
31e30686b0
Update NODE_BLOCK check logic in void_expr_error.
2017-06-02 13:01:29 +09:00
Yukihiro "Matz" Matsumoto
563036eaba
Restore test/t/codegen.rb
2017-06-02 12:19:36 +09:00
Yukihiro "Matz" Matsumoto
0f2f021330
Fixed a bug in void_expr_error.
2017-06-02 12:06:40 +09:00
Yukihiro "Matz" Matsumoto
b59d244c0d
Add more precise void expression checks; ref #3686
2017-06-02 11:53:26 +09:00
Yukihiro "Matz" Matsumoto
e0fbf25f90
Remove tests which can not be compiled on CRuby.
2017-06-02 11:51:59 +09:00
Yukihiro "Matz" Matsumoto
079f310fbc
Adjust ridx if mrb_yield terminated by break; fix #3686
...
This issue is related to #3640 .
2017-06-02 11:26:32 +09:00
Yukihiro "Matz" Matsumoto
51e0e690c2
Avoid invoking GC when disabled or iterating; fix #3681
2017-06-01 19:47:33 +09:00
Yukihiro "Matz" Matsumoto
87cc0344cd
Call stack_clear() after stack_extend(); fix #3682
2017-06-01 19:35:15 +09:00
Yukihiro "Matz" Matsumoto
eb5a606fe2
Simplify rescue stack management; ref #3683
2017-06-01 19:18:24 +09:00
Yukihiro "Matz" Matsumoto
7ff90b52d8
Simplify ensure stack management; fix #3683
2017-06-01 19:17:48 +09:00
Yukihiro "Matz" Matsumoto
72b635f7d2
Hide OP_EXEC lambda body from ObjectSpace#each_object; fix #3680
2017-06-01 15:40:07 +09:00
Yukihiro "Matz" Matsumoto
90fb4dd5b3
Print most recent call last as CPython does.
2017-06-01 09:48:04 +09:00
Yukihiro "Matz" Matsumoto
a893877b0d
Check for super using OP_ARGARY; fix #3678
...
It generates a wasted empty array for each `super` call though.
It should be fixed in the future, if possible.
2017-06-01 09:38:42 +09:00
Yukihiro "Matz" Matsumoto
b0f2bc39db
Clear VM stack in OP_EXEC; ref #3678
2017-06-01 08:45:56 +09:00
Yukihiro "Matz" Matsumoto
eb69eebfd7
Simplify code since OP_EXEC never takes CFUNC Proc; #3678
2017-06-01 08:28:38 +09:00
Yukihiro "Matz" Matsumoto
ff7df939ba
Restore MRB_API function mrb_exc_backtrace(mrb, exc); ref 9644ad5
2017-05-31 23:15:17 +09:00
Yukihiro "Matz" Matsumoto
2837de95fe
Prevent splicing big recursive arrrays; ref #3679
...
We know this is not perfect, but this change makes hack like #3679
bit harder. Harmless for useful cases.
2017-05-31 23:03:39 +09:00
Yukihiro "Matz" Matsumoto
b4a4e3c09a
Simplify the logic in mrb_realloc; ref #3679
2017-05-31 23:02:59 +09:00
Yukihiro "Matz" Matsumoto
7dbbd77407
Revert 4566c80; fix #3679
...
The patch deallocate the memory in `mrb_default_allocf` but that
hinders GC in `mrb_realloc`.
2017-05-31 23:01:04 +09:00
Yukihiro "Matz" Matsumoto
877f9d02e6
Avoid infinite loop on negative exponent; fix #3677
2017-05-31 09:53:19 +09:00
Yukihiro "Matz" Matsumoto
acd3ac62a8
Reduce the size of VM stack clear window; ref #3676
2017-05-31 06:39:12 +09:00
Yukihiro "Matz" Matsumoto
2599c1932e
Clear VM stack for top level; fix #3676
...
Top-level local variables contained junk after ab25eaea2
2017-05-31 00:18:32 +09:00
Yukihiro "Matz" Matsumoto
ef1158485b
Check env context before jump from OP_RETURN; fix #3673
2017-05-30 15:42:10 +09:00
Yukihiro "Matz" Matsumoto
27a5e10454
Avoid using C++ style comments (//).
2017-05-30 11:47:59 +09:00
Yukihiro "Matz" Matsumoto
4b15d5d1e3
Initialize String before Exception; fix #3672
...
The old order generated some strings with their class set to NULL.
2017-05-30 11:38:54 +09:00
Yukihiro "Matz" Matsumoto
650cfb9e4c
Exceptions in fibers must be re-raised via #resume; fix #3675
2017-05-30 11:06:00 +09:00
Yukihiro "Matz" Matsumoto
cbd4aae41c
Mark the proc object representing top-level as an internal object; #3621
2017-05-29 14:13:17 +09:00
Yukihiro "Matz" Matsumoto
abed375ea6
Mark proc objects representing methods as internal objects; fix #3621
2017-05-29 14:12:23 +09:00
Yukihiro "Matz" Matsumoto
02670ffa8d
Protect the returning value in OP_RETURN; fix #3669
...
Even though the returning value is retrieved from the stack,
it may be freed if GC is caused during stack rewinding
(e.g. ensure calls).
2017-05-29 10:33:43 +09:00
Yukihiro "Matz" Matsumoto
9f634a6f8b
Mark the current context (not root) in final marking.
2017-05-29 10:32:42 +09:00
Yukihiro "Matz" Matsumoto
8e390cccae
Fixed rounding functions (round,ceil,floor,truncate) in MRB_INT64.
...
They didn't work well with inexact numbers (inf,nan). Fix #3671
2017-05-27 23:51:22 +09:00
Yukihiro "Matz" Matsumoto
34dd258c63
Unwind callinfo (mrb->c->ci) when a fiber termitates with error.
...
Fix #3668
2017-05-27 18:42:08 +09:00
Yukihiro "Matz" Matsumoto
57ffa1c150
Avoid unsharing env when context (mrb->c) differs; ref #3668
2017-05-27 18:40:15 +09:00
ksss
a3a4f4d061
IO#sysread Check for readable
2017-05-27 13:34:11 +09:00