mattn
8ea0e9d523
Call compile method to override to memolize instances
2013-02-22 19:15:26 +09:00
mattn
2838fcf2aa
Fix indent
2013-02-22 16:19:00 +09:00
Yukihiro Matz Matsumoto
c15af5d562
compile /a/ as ::Regexp.new("a")
2013-02-21 16:01:09 +09:00
Cremno
2942ad8eeb
vars must be declared at the start of a block
2013-02-18 11:40:53 +01:00
mattn
e0f25b1fda
ready to pass second argument of Regexp.new
2013-02-15 13:55:41 +09:00
mattn
6aee0485fc
Should be OP_LOADL
2013-02-15 09:22:59 +09:00
mattn
b1a5146ea8
Pluggable Regexp
2013-02-15 04:38:27 +09:00
Masamitsu MURASE
2087526342
Modify handling of integer literal.
...
Do not assume that significand of `double` is larger than `mrb_int`.
2013-02-03 16:29:46 +09:00
Yukihiro "Matz" Matsumoto
60788672f2
Merge pull request #786 from carsonmcdonald/unsignedfixes
...
Fixes a number of "comparison between signed and unsigned" warnings.
2013-01-27 07:40:13 -08:00
Carson McDonald
86eadb9637
Removed tests that look outdated. The mrb_compile_string they use is gone now.
2013-01-27 10:19:01 -05:00
Carson McDonald
8f83f6674c
Fixes a number of "comparison between signed and unsigned" warnings.
2013-01-27 09:44:47 -05:00
Masamitsu MURASE
7195fb8716
Modify handling of NODE_UNDEF to accept multiple arguments.
2013-01-20 17:44:28 +09:00
Yukihiro Matz Matsumoto
81e55d9805
wrong condiiton in too many symbols check; #close #731
2013-01-16 08:00:32 +09:00
Yukihiro Matz Matsumoto
9614f13487
more aggressive code elimination for NODE_DOT{2,3}
2013-01-13 01:07:40 +09:00
Yukihiro Matz Matsumoto
a180460635
eliminate unused hash expression more aggresively
2013-01-13 00:51:44 +09:00
Yukihiro Matz Matsumoto
1bab7bc511
eliminate unused array expression more aggresively
2013-01-13 00:49:33 +09:00
Yukihiro Matz Matsumoto
f134e8e1bf
jump address error when value taken from if statement without else clause; close #712
2013-01-10 01:06:51 +09:00
Masamitsu MURASE
d48bb813d8
unless without else should return nil if the condition is true.
2013-01-06 06:23:10 +09:00
Masamitsu MURASE
749404051c
Modify NODE_IF handling.
...
When "unless" is used without "else", tree->cdr->car of NODE_IF is NULL.
In this case, pop() should not be called because codegen generates no code.
2013-01-06 05:08:04 +09:00
Yukihiro Matz Matsumoto
c836187cf2
minor cosmetic change after #676
2012-12-28 18:10:26 +09:00
skandhas
320a931965
fix correct stack postion for headless case
2012-12-28 16:48:33 +08:00
Yukihiro Matz Matsumoto
9d56acb709
wrong stack position for headless case; close #675
2012-12-28 17:12:22 +09:00
Yukihiro Matz Matsumoto
141d0d841c
should copy lineno info to child scope
2012-12-22 00:11:19 +09:00
Yukihiro Matz Matsumoto
24feb401c1
codedump should print relative offset for irep in OP_LAMBDA
2012-12-18 03:09:44 +09:00
Lian Cheng
2fa0be2a30
Call mrb_gc_arena_save/mrb_gc_arena_restore instead of manipulating arena index directly
2012-12-12 21:05:02 +08:00
Yukihiro Matz Matsumoto
f1ed143624
mange arena_idx smarter for smaller ARENA_SIZE; now default to 100 from 1024
2012-12-07 16:58:50 +09:00
Yukihiro Matz Matsumoto
f486774352
refactor and move irep malloc away to mrb_add_irep()
2012-12-07 15:57:40 +09:00
Yukihiro "Matz" Matsumoto
9754512716
Merge pull request #568 from mauceri/master
...
Potential memory management bug (issue #553 )
2012-12-02 19:17:13 -08:00
skandhas
9704ceefce
remove incorrect pop() in codegen
2012-11-30 22:11:41 +08:00
skandhas
7bae52fc56
remove redundant LOOP_NORMAL checkups in function:codegen. and fix #561
2012-11-23 16:10:14 +08:00
Christian Mauceri
186fd9a303
pull request issue 553 - try to fix brken link
2012-11-22 15:26:23 +01:00
Christian Mauceri
06ca237bab
pull request issue 553
2012-11-22 12:55:03 +01:00
Yukihiro Matz Matsumoto
0ab7ff81d6
should initialize irep->flags
2012-11-09 05:51:18 +09:00
Takashi Sogabe
c0c1c4da32
Fix stack underflow in scope_body()
...
Commit #18dd60c causes side effects.
This patch fixes stack underflow in scope_body().
2012-11-02 17:49:56 +09:00
Kouki Ooyatsu
35699424a9
fix: broken variable reference, use 'next' statement
...
Because the tree is gone pop() even if it is empty.
2012-10-31 20:20:36 +09:00
Yukihiro "Matz" Matsumoto
c6c4da8c48
Merge pull request #510 from masuidrive/master
...
define convert method mrb_int/mrb_float with C string
2012-10-28 10:45:43 -07:00
Yuichiro MASUI
15f46a1feb
define convert method mrb_int/mrb_float with C string
2012-10-27 14:26:50 +09:00
Masaki Muranaka
1933e2660c
Use substitution instead of memset in structure initialization.
2012-10-25 15:47:45 +09:00
Yukihiro Matsumoto
32f9cdc97d
adjust regsiter stack for NODE_OP_ASGN that use OP_SEND
2012-10-23 14:15:29 +09:00
Yukihiro Matsumoto
09376f9b2a
skip useless OP_MOVE in peephole optimization
2012-10-23 14:14:26 +09:00
Yukihiro Matsumoto
413528ce80
adjust regsiter stack for NODE_OP_ASGN; close #499
2012-10-23 11:35:26 +09:00
Yukihiro Matsumoto
7fe6d00ff5
avoid duplicated OP_RETURN
2012-10-20 09:48:04 +09:00
Yukihiro Matsumoto
750b7c209c
pop register stack before rescue
2012-10-20 08:44:25 +09:00
Yukihiro Matsumoto
89a18e4f22
unexpect break/next/redo/retry should raise LocalJumpError
2012-10-20 03:59:13 +09:00
Yukihiro Matsumoto
da637cac4a
should handle break in rescue
2012-10-20 03:30:58 +09:00
Yukihiro Matsumoto
651e8b7e9c
empty NODE_BEGIN should push nil; close #496
2012-10-19 23:04:20 +09:00
Takashi Sogabe
8d6f1b04a1
Fix disappearance of a local variable when return statement is called
...
Commit of #18dd60c causes disappearance of a local variable
if return statement is called without arguments.
This patch fixes incorrect value of stack pointer.
test program:
def test_return_cond
return if nil
obj = 123
p obj
p obj.class
end
test_return_cond
output(commit #18dd60c):
main
Object
output(includes this patch):
123
Fixnum
2012-10-17 12:55:50 +09:00
Yukihiro Matsumoto
18dd60c162
remove wasting stack space
2012-10-16 23:47:16 +09:00
Yukihiro Matsumoto
f2da76b6ef
register number adjustment for case statement was wrong; close #487
2012-10-16 22:24:40 +09:00
Yukihiro Matsumoto
540066c9e2
mrb_sym can be short integer; reduced 10KB
2012-09-12 16:20:32 +09:00