cremno
ef59f553a3
invalid base shouldn't silently fail
...
Revert 44a5809224 and check range of
`base` with `mrb_assert`.
It actually can only be either 2, 8, 10 or 16 (and never 0), unless
mruby sources are modified. But I don't see a reason to impose further
limits.
2014-07-09 13:55:08 +02:00
Jose Narvaez
45b8562d8d
Using 'mrb_assert' instead of an returning 0 while checking s->irep in codegen.c.
2014-06-13 16:44:22 +01:00
Jose Narvaez
13abc9c4a1
Revert "Fixed dereference to null pointer in 'codegen.c' reported by 'clang-analyzer'"
...
This reverts commit 29f14e728d .
2014-06-13 10:54:18 +01:00
Jose Narvaez
e344d662f1
Fixed dereference to null pointer in 'codegen.c' reported by 'clang-analyzer'
2014-06-13 10:50:26 +01:00
Jose Narvaez
29f14e728d
Fixed dereference to null pointer in 'codegen.c' reported by 'clang-analyzer'
2014-06-13 10:50:15 +01:00
Jose Narvaez
44a5809224
Fixed possible division by zero in 'codegen.c' reported by 'clang-analyzer'
2014-06-13 10:09:28 +01:00
Yukihiro "Matz" Matsumoto
c2f6c33fef
reserve a register for a block parameter in a for statement body; ref #2375
2014-06-10 13:15:19 +09:00
Yukihiro "Matz" Matsumoto
6c524af646
NODE_FOR does not introduce new local variables
2014-06-10 00:03:54 +09:00
Yukihiro "Matz" Matsumoto
4c69a9d09e
codedump should display proper L(n) for OP_STRING op
2014-06-09 23:37:20 +09:00
Yukihiro "Matz" Matsumoto
41b46ca1ed
register<nlocals may not have a local variable name (e.g. a block arg); fix #2258
2014-05-16 00:04:55 +09:00
Mitchell Blank Jr
493025c3af
print_r() and print_lv() should only be compiled in for ENABLE_STDIO
2014-05-14 14:13:56 -07:00
Yukihiro "Matz" Matsumoto
2be348a0f1
mv opcode.h -> include/mruby/opcode.h and remove duplication from mruby-eval gem
2014-05-14 23:14:08 +09:00
Yukihiro "Matz" Matsumoto
9184d254e2
resize register number in LVAR section from 32bits to 16bits
2014-05-14 17:32:30 +09:00
Yukihiro "Matz" Matsumoto
10459a5eb2
Merge branch 'dump_lv' of https://github.com/take-cheeze/mruby into take-cheeze-dump_lv
2014-05-14 11:27:41 +09:00
take_cheeze
f2450928b2
Remove unnecessary newline in OP_GETGLOBAL codedump.
2014-05-13 22:47:43 +09:00
take_cheeze
5073d14e28
Remove lv_len and use nlocals - 1 instead.
...
Check that `lv`'s length is always `nlocals - 1`.
2014-04-29 22:06:59 +09:00
take_cheeze
4c7f9897c2
Support local variables information dumping.
2014-04-29 20:47:50 +09:00
Yukihiro "Matz" Matsumoto
0bdc87d239
indent codedump when file/line info is not available; ref #2147
2014-04-29 19:08:47 +09:00
take_cheeze
46d8c08a14
Use int32_t as line variable type.
2014-04-28 22:17:40 +09:00
take_cheeze
197f3cb901
Print file name and line number in codedump if available.
2014-04-28 22:12:45 +09:00
Yukihiro "Matz" Matsumoto
b1ec92f7cd
fix OP_BLKPUSH dump format
2014-04-28 11:59:46 +09:00
Yukihiro "Matz" Matsumoto
2e59cd43de
prevent printf warning
2014-04-28 08:30:57 +09:00
Yukihiro "Matz" Matsumoto
b53e69f18d
better codedump formatting
2014-04-28 08:02:47 +09:00
Yukihiro "Matz" Matsumoto
3244ddf0c3
presreve local variables names in irep->lv
2014-04-28 07:29:37 +09:00
cremno
91c22f32f4
rename mrb_str_buf_append to mrb_str_cat_str
...
The new name is better and less confusing, because:
- `mrb_str_append` calls `mrb_str_to_str` and this function doesn't
- `mrb_str_buf_append` _is_ `mrb_str_cat` for `mrb_value` strings
2014-04-27 22:33:22 +02:00
Yukihiro "Matz" Matsumoto
bbc237044d
NODE_SUPER should preserve stack region for block; ref #2136
2014-04-27 09:22:35 +09:00
Yukihiro "Matz" Matsumoto
26758d89bd
NODE_DEF should preserve stack region for lambda; ref #2136
2014-04-27 09:05:23 +09:00
mirichi
71395aba52
area of implicit nil is not enough to nregs
2014-04-26 20:20:23 +09:00
Yukihiro "Matz" Matsumoto
5bf327497f
bit more peephole optimization for NODE_LVAR
2014-04-26 17:19:52 +09:00
Yukihiro "Matz" Matsumoto
2202e412ea
Merge branch 'master' of github.com:mruby/mruby
2014-04-26 01:53:15 +09:00
Yukihiro "Matz" Matsumoto
44ec41a772
should use plain int for index, since i may be printed using %d; close #2127
2014-04-26 01:52:30 +09:00
Yukihiro "Matz" Matsumoto
c15da653b2
Merge pull request #2118 from ksss/range-bool
...
RRange excl flag use mrb_bool insteard of int
2014-04-26 01:30:04 +09:00
Yukihiro "Matz" Matsumoto
48f36d3f0e
better integer size assertion suggested by usak
2014-04-25 04:33:08 +09:00
Yukihiro "Matz" Matsumoto
83c1399af0
eliminate plain int except for a few cases like arena_index
2014-04-25 04:01:57 +09:00
Yukihiro "Matz" Matsumoto
320f0711f0
remove -Wsign-compare warnings
2014-04-25 02:33:33 +09:00
ksss
f1d85c2f97
mrb_range_new excl flag use mrb_bool insteard of int
2014-04-24 13:18:57 +00:00
take_cheeze
c0eaaf3559
Move src/re.h to include/mruby/re.h .
2014-04-16 22:39:57 +09:00
Yukihiro "Matz" Matsumoto
19c3c957fc
add assertion before casting
2014-04-03 20:23:39 +09:00
Yukihiro "Matz" Matsumoto
5be2bfb523
too much peephole optimization; close #1992
2014-04-03 10:14:38 +09:00
take_cheeze
2239350348
Add test for backquote.
...
* Implement code generation of NODE_DXSTR.
* Fix NOVAL NODE_XSTR.
2014-03-28 13:02:52 +09:00
Yukihiro "Matz" Matsumoto
2c44f96e78
reduce hash creation by using update method
2014-03-21 09:31:44 +09:00
Yukihiro "Matz" Matsumoto
45b0e1f788
should be able to create hash with 127+ entries; close #1894
2014-03-21 09:18:10 +09:00
Yukihiro "Matz" Matsumoto
3e24e06b29
add a space after C reserved words
2014-03-18 23:57:29 +09:00
Yukihiro "Matz" Matsumoto
c476c1b528
symbol length type to be mrb_int
2014-03-15 15:43:40 +09:00
Yukihiro "Matz" Matsumoto
2bd099c842
remove new_label(s) where label position can be obtained from genop()
2014-03-14 03:11:11 +09:00
Yukihiro "Matz" Matsumoto
91f2d47d34
too much optimization
2014-03-13 23:44:10 +09:00
Yukihiro "Matz" Matsumoto
8cc487c465
peephole optimization for OP_JMP{IF,NOT}
2014-03-13 19:54:50 +09:00
Masaki Muranaka
40f57f7b42
Use mrb_str_new_cstr() instead of mrb_str_new() with strlen().
2014-03-09 16:45:29 +09:00
cremno
bfc522bcd5
use mrb_str_cat_lit for literals
2014-03-08 18:38:31 +01:00
Masaki Muranaka
270d25bf2d
Make type casts safer.
2014-03-08 15:53:59 +09:00