Commit Graph

193 Commits

Author SHA1 Message Date
Yukihiro "Matz" Matsumoto 0be572df62 change return value from mrb_generate_code() 2013-11-02 23:20:04 +09:00
fleuria c647dff1b2 fix #1544
We have already reserved that register in codegen()'s case NODE_DEF, but
what we care about is actually the previous register. So what we need is
get that register by cursp() after pop(), then recover the reservation
by push().
2013-10-25 02:48:25 +08:00
fleuria af5bec1fbc fix #1519
the 128th element in an array literal would trigger a corner case on
splat mode checking, in which mruby will splat an that value into its
parent array. the issue was masked by the fact of ary_concat() also
accept non-array value:

1.9.3p286 :002> a = 1
1.9.3p286 :003> [*a]
 => [1]

the expected behaviour should be OP_ARYPUSH the 128th element, instead of
splat it by OP_ARYCAT.
2013-10-01 21:32:16 +08:00
Yukihiro "Matz" Matsumoto 4c1c7166bf remove unreferenced local variables caused by mrb_assert() 2013-09-20 06:11:07 +09:00
Yukihiro "Matz" Matsumoto 12183fa250 rename node->filename to node->filename_index 2013-09-20 06:09:41 +09:00
Yukihiro "Matz" Matsumoto 58b1c0883b refactor genop_peep(); ref #1505 2013-09-20 06:08:01 +09:00
Keita Obo c4e5a8b167 Fix self value in a block is changed with return value for Fixnum, nil, instance variable.
Fix #1504
2013-09-18 00:57:23 +09:00
Keita Obo 0bce3a36d2 Fixed self value in a block is changed with return value
fix #1504
2013-09-18 00:20:13 +09:00
take_cheeze af73a740cd check file debug info is appended correctly 2013-09-07 20:25:53 +09:00
take_cheeze 8c738e348f remove unnecessary scope filename update 2013-09-07 20:23:18 +09:00
take_cheeze 4308932231 update filename before appending file debug info 2013-09-07 20:22:16 +09:00
take_cheeze 0b806ca17b reduce node size 2013-09-02 00:48:07 +09:00
take_cheeze 8082a37748 use uint16_t for line type 2013-09-02 00:48:06 +09:00
take_cheeze 3d1fffbd6b support multiple filename in irep 2013-09-02 00:48:06 +09:00
fleuria 6dcf2ffb08 fix #1459
gen_vmassignment() missed a pop() in a conditional branch, but we have
to keep each conditional branch 's stack depth the same all the time
when it left execution.
2013-08-12 14:18:09 +08:00
Yukihiro "Matz" Matsumoto 53f750dbed def statement and define_method now return symbol a la Ruby2.1 2013-08-09 22:25:45 +09:00
Yukihiro "Matz" Matsumoto 4229b41c68 Merge pull request #1421 from carsonmcdonald/fixfor1419
Remove pop that was done when not a return val
2013-07-29 09:16:29 -07:00
Carson McDonald ff40793fc7 Remove pop that was done when not a return val 2013-07-28 13:15:22 -04:00
Yukihiro "Matz" Matsumoto 63e5a3cfb1 refactor out longjmp() to a function 2013-07-25 14:54:17 +09:00
Jun Hiroe 8e42868600 Repalace int with mrb_bool because a return value is boolean. 2013-07-15 23:17:12 +09:00
Jun Hiroe 87ec819a2c Refactor codes using REGEXP_CLASS define. 2013-07-12 01:12:25 +09:00
Carson McDonald c7f9ac79b7 Fix signed/unsigned warning. 2013-07-03 07:07:44 -04:00
Carson McDonald 2afae56c8e Fix signed/unsigned warning, make pcapa a size_t 2013-07-03 06:52:19 -04:00
Carson McDonald 56b63f5b45 Change int to size_t 2013-06-30 15:12:34 -04:00
Carson McDonald b36f690655 Change int to size_t. 2013-06-30 15:10:39 -04:00
Carson McDonald 73f4ed5f0e Fix some signed unsigned warnings, int to size_t. 2013-06-30 15:07:45 -04:00
kimu_shu e720782f81 Add MRB_WORD_BOXING mode (represent mrb_value as a word) 2013-05-26 10:09:17 +09:00
Julien Ammous 8057eb935c removed unused variables / assigns never used 2013-05-18 14:13:04 +02:00
Carson McDonald 87eb57b663 Fix off by one issue 2013-05-13 11:34:41 -04:00
Carson McDonald 546d1626e3 Fix early free of irep->filename 2013-05-13 10:15:37 -04:00
Masaki Muranaka ec4892c7ea Use mrb_aspec instead of int32_t. As it will clarify what is doing. 2013-04-21 02:06:16 +09:00
Yukihiro "Matz" Matsumoto 84acf4e3f3 preparation for tail call optimization (still has bugs) 2013-04-09 15:31:17 +09:00
mattn 1541a61f5d Fix exit 2013-04-05 18:04:22 +09:00
Masaki Muranaka c260ef894e Rename mrb_fix2str() to mrb_fixnum_to_str(). This is for naming consistency. 2013-03-29 22:19:26 +09:00
Masaki Muranaka 2b6e9ee556 Modify the type of line-number to uint16_t. Type short is not portable. And it cannot be more than UINT16_MAX because of the mrbc binary format. 2013-03-29 16:26:00 +09:00
Masaki Muranaka 2b5b161f8b Sort include files. Some redundant includes are removed. 2013-03-29 10:22:31 +09:00
Yukihiro Matz Matsumoto a0f6e4d58e resolve conflict from #964 2013-03-27 00:52:24 +09:00
Masaki Muranaka 3401ed7bab Reduce using snprintf(). They can replace by mruby API. 2013-03-24 13:49:19 +09:00
Masaki Muranaka 33ee4903eb Remove unused marco CODEGEN_DUMP. 2013-03-23 23:59:29 +09:00
Yukihiro "Matz" Matsumoto acab35a2a5 Merge pull request #1039 from crimsonwoods/fix_the_type_of_opcode
Fix the type of value that is returned by bit shift expression.
2013-03-22 19:11:51 -07:00
Yukihiro Matz Matsumoto 04d9c5ea6b resolve conflict regarding backtick 2013-03-23 11:08:18 +09:00
Masaki Muranaka f8fa56d8c3 Use mrb_intern2() instead of mrb_intern(). This is for avoiding overhead by strlen(). 2013-03-22 14:22:45 +09:00
mattn 4be161c43c Use mrb_intern2 2013-03-22 12:15:04 +09:00
mattn 603302c74c Use ` 2013-03-22 09:08:12 +09:00
crimsonwoods 0292940e55 fix the type of value that is returned by bit-shift expression. 2013-03-21 22:55:35 +09:00
mattn 1ab4dbcbf3 Backtick operation 2013-03-21 19:45:47 +09:00
FUKUZAWA-Tadashi cdf8114e27 %I %i literal 2013-03-19 00:41:15 +09:00
FUKUZAWA-Tadashi 41698100ad remove disused check code 2013-03-17 21:27:38 +09:00
FUKUZAWA-Tadashi 44fbfc5184 implement literal %W %w %s
refactor string parsing
2013-03-17 21:27:37 +09:00
Kurebayashi, Takahiro 83ddef6880 remove bit-shift operation. 2013-03-17 17:44:18 +09:00