Yukihiro "Matz" Matsumoto
eb7422af58
Merge pull request #3188 from guoxiao/warning
...
intptr_t should be used instead of uint32_t to hold a pointer.
2016-07-31 14:37:39 +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
Yukihiro "Matz" Matsumoto
42fefef916
Merge pull request #3186 from rmalizia44/patch-2
...
Update mirb.c
2016-07-28 10:59:32 +09:00
Malizia R
1c7572bc6a
Update mirb.c
2016-07-27 16:51:10 -03:00
Yukihiro "Matz" Matsumoto
2b4ed40fc9
Merge pull request #3185 from kou/string-reduce-needless-array
...
Reduce needless Array generation in some String methods
2016-07-27 14:03:52 +09: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
Yukihiro "Matz" Matsumoto
3757b16dab
Merge pull request #3184 from ksss/each_char
...
Support to call without block to String#each_char
2016-07-27 02:32:04 +09:00
ksss
bef63a4f91
Support to call without block to String#each_char
2016-07-26 18:46:23 +09:00
Yukihiro "Matz" Matsumoto
32ad74f4d1
Merge pull request #3182 from sdottaka/fix-broken-msvc-build
...
Fix broken msvc build
2016-07-26 00:13:53 +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
62a16673a6
Merge pull request #3183 from Mav7/mav7/docs
...
yard docs for string.h
2016-07-25 15:07:30 +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
Ralph Desir(Mav7)
189ad47346
yard docs for string.h
2016-07-23 02:47:32 -04:00
Takashi Sawanaka
fb1c4b3ba7
Fix broken msvc build
2016-07-23 11:57:36 +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
Yukihiro "Matz" Matsumoto
97283faa16
Merge pull request #3176 from ksss/string-insert
...
String#insert should be destructive
2016-07-15 01:22:02 +09:00
ksss
d83d9cd164
String#insert should be destructive
2016-07-14 21:33:15 +09:00
Yukihiro "Matz" Matsumoto
72b28f1ed6
Merge pull request #3174 from ksss/local-jump-error
...
Should raise LocalJumpError when no block given
2016-07-14 17:10:54 +09:00
ksss
9dc820590f
Should raise LocalJumpError when no block given
2016-07-14 13:03:25 +09:00
Yukihiro "Matz" Matsumoto
d4d807b774
relax string length limitation to 64KB; fix #2725
2016-07-13 03:22:15 +09:00
Yukihiro "Matz" Matsumoto
2e74a93112
Merge pull request #3171 from kjunichi/c-has-no-try
...
C doesn't have try-catch
2016-07-08 12:14:46 +09:00
Junichi Kajiwara
f67631afb4
C doesn't have try-catch
2016-07-08 06:30:45 +09:00
Yukihiro "Matz" Matsumoto
0d9aa830aa
Merge pull request #3169 from ksss/Wshift-negative-value
...
Fix warning shift-negative-value
2016-07-02 00:55:00 +09:00
ksss
e3bc81e75e
Fix warning shift-negative-value
2016-07-01 22:00:55 +09:00
Yukihiro "Matz" Matsumoto
3c406d54be
Merge pull request #3166 from yyamano/fix-gc-profile
...
Fix compilation error with GC_PROFILE.
2016-06-30 14:32:53 +09:00
Yuji Yamano
00faf3d317
Fix compilation error with GC_PROFILE.
2016-06-29 03:57:02 -04:00
Yukihiro "Matz" Matsumoto
fa1c1ab487
Merge pull request #3163 from mattn/fix-public_methods
...
Fix public methods
2016-06-18 11:40:32 +09:00
Yasuhiro Matsumoto
8a15ab0c0c
add test for public_methods(false)
2016-06-18 01:21:21 +09:00
Yasuhiro Matsumoto
8764bd282c
fix public_methods(false)
2016-06-18 01:18:24 +09:00
Yukihiro "Matz" Matsumoto
a8af43f61e
Merge pull request #3162 from udzura/patch-1
...
Update doc, write about add_test_dependency
2016-06-14 19:10:04 +09:00
Uchio KONDO
481aa31f93
Update doc, write about add_test_dependency
2016-06-14 16:37:06 +09:00
Yukihiro "Matz" Matsumoto
09b11850a5
mrb_gc_unregister() to remove one registration; close #3160
...
when multiple mrb_gc_register() were called for the same object
2016-06-10 10:12:48 +09:00
Yukihiro "Matz" Matsumoto
44de80f76d
fix a compiler warning for uninitialized variable
2016-06-10 10:11:58 +09:00
Yukihiro "Matz" Matsumoto
8dde647a51
add temporary workaround for irep memory corruption
...
need to find out real memory bug that appears in full-debug/mrbtest
2016-06-10 10:04:52 +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
Yukihiro "Matz" Matsumoto
5933651ac7
Merge pull request #3157 from cremno/add-mrb_int_mul_overflow
...
add function for checked mrb_int multiplication
2016-05-11 09:41:19 +09:00
cremno
7453a5dfea
use mrb_int_mul_overflow()
2016-05-10 19:12:02 +02:00
cremno
6369374f79
add mrb_int_mul_overflow(); close #3149
...
- call __builtin_mul_overflow() if it's available
- perform a 64-bit multiplication for 32-bit mrb_int (default)
- otherwise a much slower method is used
2016-05-10 19:10:49 +02:00
Yukihiro "Matz" Matsumoto
0be4b8960e
Merge pull request #3156 from cremno/fix-mruby_version-value
...
fix MRUBY_VERSION value
2016-05-10 10:04:31 +09:00
Yukihiro "Matz" Matsumoto
4fd0cb61d7
Merge pull request #3154 from cremno/improve-checked-mrb_int-arithmetic-implementation
...
improve checked mrb int arithmetic implementation
2016-05-10 10:04:04 +09:00
Yukihiro "Matz" Matsumoto
bc715f9938
Merge pull request #3155 from cremno/fix-3152
...
fix #3152
2016-05-10 09:18:25 +09:00
cremno
bf63cff46e
fix MRUBY_VERSION value
...
RUBY_ENGINE_VERSION and MRUBY_VERSION should refer to the same string.
2016-05-09 17:19:47 +02:00
cremno
309791b3ae
raise the error at runtime; fix #3152
2016-05-09 16:57:56 +02:00
cremno
7276e84637
use type-generic checked arithmetic builtins
...
Version checking is not reliable - especially with Clang.
E.g. Apple's Clang (Xcode) uses different version numbers.
A feature check (__has_builtin) is the recommened way.
Add the MRB_HAVE_TYPE_GENERIC_CHECKED_ARITHMETIC_BUILTINS
macro which may be used in other files.
2016-05-09 16:52:57 +02:00