Yukihiro "Matz" Matsumoto
fa76bbeb07
mruby-random: add reporting URL since we modified the source
2016-08-30 09:03:14 +09:00
Nobuyoshi Nakada
73dd82e30a
parse.y: lparen_arg statement
...
allow parenthesised statement as a method argument.
reported [Feature:12686] in bugs.ruby-lang.org fixed in CRuby 2.4.
2016-08-19 11:11:54 +09:00
Hiroshi Mimaki
861b0eed7b
Fix String#ord failure which return a negative value
2016-08-17 15:29:59 +09:00
Nobuyoshi Nakada
bdd7e2bc8c
parse.y: fix chained assignments
...
fix syntax errors with chained assignment with op assign.
reported [Bug:12669] in bugs.ruby-lang.org fixed in CRuby 2.4.
2016-08-13 13:56:14 +09:00
Nobuyoshi Nakada
a06940daa9
parse.y: simplify 90e8ce5
...
simplify tOP_ASGN rules by command_rhs and arg_rhs rules with
%prec.
2016-08-12 10:14:35 +09:00
Yukihiro "Matz" Matsumoto
90e8ce5c30
parse.y: rescue modifiers for OP_ASGN should protect rhs only
...
reported in [Bug:12402] in bugs.ruby-lang.org fixed in CRuby 2.4
2016-08-11 16:27:14 +09:00
Yukihiro "Matz" Matsumoto
af4567bb41
update copyright notice and license description for mt19937ar.[ch]
...
despite the fact original authors agreed to distribute their work
under MIT license, it does not mean mt19937ar.[ch] became the work
of mruby developers. To clarify, we updated copyright and license
notice of the source files.
2016-08-08 12:38:21 +09:00
Guo Xiao
339005e1d5
intptr_t should be used instead of uint32_t to hold a pointer.
...
Fix warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
2016-07-31 12:53:39 +08:00
Malizia R
1c7572bc6a
Update mirb.c
2016-07-27 16:51:10 -03:00
Kouhei Sutou
6bb0775d76
Reduce needless Array generation in some String methods
...
Here are some benchmarks:
each_char:
# /tmp/each_char.rb
a = "a" * 1000000
a.each_char do |x|
end
Without this change:
% time bin/mruby /tmp/each_char.rb
bin/mruby /tmp/each_char.rb 1.07s user 0.02s system 99% cpu 1.088 total
With this change:
% time bin/mruby /tmp/each_char.rb
bin/mruby /tmp/each_char.rb 0.52s user 0.01s system 99% cpu 0.530 total
2 times faster with this change.
codepoints:
# /tmp/codepoints.rb
a = "a" * 1000000
a.codepoints do |x|
end
Without this change:
% time bin/mruby /tmp/codepoints.rb
bin/mruby /tmp/codepoints.rb 1.16s user 0.05s system 99% cpu 1.216 total
With this change:
% time bin/mruby /tmp/codepoints.rb
bin/mruby /tmp/codepoints.rb 0.56s user 0.02s system 99% cpu 0.589 total
2016-07-27 13:58:07 +09:00
ksss
bef63a4f91
Support to call without block to String#each_char
2016-07-26 18:46:23 +09:00
Yukihiro "Matz" Matsumoto
e635dc2a47
Merge pull request #3181 from sdottaka/fix-crash-on-mrb_parser_free
...
Fix crash in mrb_parser_free() due to freed memory access
2016-07-26 00:12:54 +09:00
Yukihiro "Matz" Matsumoto
a66a1e92e7
Merge pull request #3179 from ksss/struct
...
Should not define to `Struct` class
2016-07-25 14:19:10 +09:00
Yukihiro "Matz" Matsumoto
34ac707ea3
OP_ASGN vsp may be negative
...
reported by https://gist.github.com/miura1729/53fbd8af889c289a79108e38635b2378
fix proposed by @miura1729 in
https://github.com/miura1729/mruby/commit/b1b7933f7aa950cfb747b06327a0d0340f3e4ff8
2016-07-25 11:34:55 +09:00
Yukihiro "Matz" Matsumoto
417092360d
Fixed crash error when #initialize is redefined for Struct; fix #3177
...
refactored redundant functions; removed optimized accessors for safety
this fix also close #3178
2016-07-25 10:32:10 +09:00
Takashi Sawanaka
2eefbfed9d
Fix crash in mrb_parser_free() due to freed memory access
2016-07-23 11:34:04 +09:00
ksss
bf21063a72
Add regression test
2016-07-22 15:26:17 +09:00
ksss
1a8074accf
Should not define to Struct class
2016-07-22 15:26:11 +09:00
ksss
d83d9cd164
String#insert should be destructive
2016-07-14 21:33:15 +09:00
Yukihiro "Matz" Matsumoto
d4d807b774
relax string length limitation to 64KB; fix #2725
2016-07-13 03:22:15 +09:00
ksss
e3bc81e75e
Fix warning shift-negative-value
2016-07-01 22:00:55 +09:00
Yukihiro "Matz" Matsumoto
44de80f76d
fix a compiler warning for uninitialized variable
2016-06-10 10:11:58 +09:00
Yukihiro "Matz" Matsumoto
6b0299f72b
fixed remaining bugs in OP_ASGN stack adjustment; close #3159
2016-05-16 15:36:36 +09:00
Yukihiro "Matz" Matsumoto
29d3a40418
stack adjustment after NODE_OP_ASGN with NODE_CALL was wrong; fix #3159
2016-05-16 01:49:24 +09:00
Yukihiro "Matz" Matsumoto
2e81fee731
parser_dump() to show symbol number for NODE_SYM
2016-05-16 01:49:24 +09:00
cremno
309791b3ae
raise the error at runtime; fix #3152
2016-05-09 16:57:56 +02:00
Yukihiro "Matz" Matsumoto
8f0c1c7d3c
mruby-sprintf:fix double negative signs in printf; fix #3148
...
MRB_INT_MAX does not have corresponding positive integer
2016-04-23 23:50:01 +09:00
Yukihiro "Matz" Matsumoto
c5229074bb
mruby-sprintf: format specifiers o,u,x,b ignore sign(+); ref #3148
2016-04-23 22:20:11 +09:00
Yukihiro "Matz" Matsumoto
8c67e915b4
mruby-eval: instance_eval should keep target_class; close #3141
2016-04-11 14:28:44 +09:00
Yukihiro "Matz" Matsumoto
d97a37eb7b
fix possible memory leak in mruby-time gem
2016-04-04 21:58:46 +09:00
Yukihiro "Matz" Matsumoto
e1e888e354
fix too much optimization for ||=
2016-04-01 01:22:16 +09:00
Yukihiro "Matz" Matsumoto
d098d823de
fix duplicated eval in op_asgn
...
`a` in `a.m += c` or `a[b] += c` should be evaluated only once.
2016-03-30 20:43:57 +09:00
Yukihiro "Matz" Matsumoto
4979b52d61
reduce OP_ARRAY in argument splat
2016-03-30 01:35:11 +09:00
Yukihiro "Matz" Matsumoto
0e03a7f2a3
mruby-enum-ext: refine minmax
2016-03-30 01:12:18 +09:00
Yukihiro "Matz" Matsumoto
3886becec5
better code generation for ||=; #3138
2016-03-24 16:03:58 +09:00
Yukihiro "Matz" Matsumoto
1ce471c1cc
||= with cvars and constants should work with false values; #3138
2016-03-24 07:59:58 +09:00
Yukihiro "Matz" Matsumoto
4fcff34747
||= reference error can happen with constants as well; #3138
2016-03-23 23:51:23 +09:00
Yukihiro "Matz" Matsumoto
817b884343
add #dig tests
2016-03-23 12:34:32 +09:00
Yukihiro "Matz" Matsumoto
daf83946bb
add #dig to Array,Hash and Struct
2016-03-23 11:49:28 +09:00
Yukihiro "Matz" Matsumoto
21a3ae08f7
add safe-navigation (aka lonely) operator &.
2016-03-23 08:51:25 +09:00
Yukihiro "Matz" Matsumoto
2b0baec32a
fixed silly class variable/constant confusion; #3138
2016-03-22 00:06:32 +09:00
Yukihiro "Matz" Matsumoto
a02acf2635
rescue NameError from class variable access like @@foo ||= 42; fix #3138
2016-03-21 03:49:08 +09:00
Yukihiro "Matz" Matsumoto
41d6ba23b5
fix dump_prefix() with wrong type argument; fix #3128
2016-03-07 10:59:34 +09:00
Kouhei Sutou
e5cce388ff
Suppress a warning
...
mrbgems/mruby-eval/src/eval.c: In function ‘create_proc_from_string’:
mrbgems/mruby-eval/src/eval.c:152:10: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
file = "(eval)";
^
2016-03-06 10:05:14 +09:00
Yukihiro "Matz" Matsumoto
b8479b62d8
too many register push for else-less condtions; fix #3117
2016-02-22 09:55:51 +09:00
Yukihiro "Matz" Matsumoto
cf5ca03676
mruby-struct: copied Struct length is not initialized; fix #3114
2016-02-19 11:46:18 +09:00
Yukihiro "Matz" Matsumoto
819c9da8d2
peephole optimization for LOADNIL before STRCAT; ref #3110
2016-02-17 11:03:27 +09:00
Yukihiro "Matz" Matsumoto
d8fc09cf92
push value for NULL AST when value is required; fix #3110
2016-02-17 11:02:29 +09:00
Yukihiro "Matz" Matsumoto
da96c335fe
syntax error in interpolated symbol; fixed #3108
2016-02-16 11:33:58 +09:00
Yusuke Endoh
668cc1b435
Fix segfault when eval("__FILE__") is executed
2016-02-15 23:57:18 +09:00