Commit Graph

124 Commits

Author SHA1 Message Date
Masamitsu MURASE 1324d4e250 Modify stack position of NODE_DEF and NODE_SDEF. 2013-02-27 03:48:50 +09:00
Yukihiro "Matz" Matsumoto 8a9026426e Merge pull request #881 from masamitsu-murase/make_op_assign_faster
Make OP_ASGN faster.
2013-02-24 19:33:25 -08:00
Masamitsu MURASE c6d2cde148 Adjust stack position of NODE_RESCUE. 2013-02-25 00:20:10 +09:00
Masamitsu MURASE b55c6c55d2 Make OP_ASGN faster.
I think that `*=` and `/=` can be compiled to `OP_MUL` and `OP_DIV`.
2013-02-24 16:20:31 +09:00
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