Tomasz Dąbrowski
6cde950017
fix: src\state.c(66): warning C4200: nonstandard extension used: zero-sized array in struct/union
2017-09-27 22:22:05 +02:00
Tomasz Dąbrowski
0e2976bf93
fix: src\range.c(136): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:05 +02:00
Tomasz Dąbrowski
b7e71e4cef
fix: src\proc.c(96): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:05 +02:00
Tomasz Dąbrowski
220c628210
fix: src\pool.c(33): warning C4200: nonstandard extension used: zero-sized array in struct/union
2017-09-27 22:22:05 +02:00
Tomasz Dąbrowski
f0c1074b07
fix: src\numeric.c(1215): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:05 +02:00
Tomasz Dąbrowski
4a0c9c9e31
fix: src\numeric.c(954): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
2017-09-27 22:22:05 +02:00
Tomasz Dąbrowski
332a04af73
fix: src\numeric.c(897): warning C4244: 'function': conversion from 'mrb_int' to 'mrb_float', possible loss of data
2017-09-27 22:22:05 +02:00
Tomasz Dąbrowski
971a4f9122
fix: src\kernel.c(874): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:05 +02:00
Tomasz Dąbrowski
0e0c96096d
fix: src\kernel.c(861): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:05 +02:00
Tomasz Dąbrowski
7d98055862
fix: src\hash.c(139): warning C4244: 'function': conversion from 'mrb_int' to 'khint_t', possible loss of data
2017-09-27 22:22:05 +02:00
Tomasz Dąbrowski
8cef3f946c
fix: src\hash.c(40): warning C4244: '=': conversion from 'mrb_int' to 'khint_t', possible loss of data
2017-09-27 22:22:05 +02:00
Tomasz Dąbrowski
3e1d60ae0b
fix: src\hash.c(27): warning C4244: '=': conversion from 'mrb_int' to 'khint_t', possible loss of data
2017-09-27 22:22:05 +02:00
Tomasz Dąbrowski
c7b663f2cf
fix: src\gc.c(1425): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:04 +02:00
Tomasz Dąbrowski
b406e9f795
fix: src\gc.c(1392): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:04 +02:00
Tomasz Dąbrowski
1dcf8ba488
fix: src\gc.c(559): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:04 +02:00
Tomasz Dąbrowski
7a2391b120
fix: src\error.c(76): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:04 +02:00
Tomasz Dąbrowski
4d6b8dbcb9
fix: src\dump.c(710): warning C4244: 'function': conversion from 'mrb_int' to 'uint16_t', possible loss of data
2017-09-27 22:22:04 +02:00
Tomasz Dąbrowski
f4a17dd7b5
fix: src\dump.c(657): warning C4244: 'function': conversion from 'mrb_int' to 'uint16_t', possible loss of data
2017-09-27 22:22:04 +02:00
Tomasz Dąbrowski
5ed76e381c
fix: src\class.c(949): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:04 +02:00
Tomasz Dąbrowski
9c5db48d1f
fix: src\class.c(949): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:04 +02:00
Tomasz Dąbrowski
d8b37d0381
fix: src\class.c(583): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:04 +02:00
Tomasz Dąbrowski
4146b5c2b5
fix: src\backtrace.c(83): warning C4244: '=': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:04 +02:00
Tomasz Dąbrowski
536b95eb48
fix: mrbgems\mruby-kernel-ext\src\kernel.c(114): warning C4244: 'function': conversion from 'mrb_int' to 'int', possible loss of data
2017-09-27 22:22:04 +02:00
Yukihiro "Matz" Matsumoto
7450a774a5
The first instruction was skipped mistakenly in ensure clause; fix #3811
2017-09-23 10:12:04 +09:00
Yukihiro "Matz" Matsumoto
0ceaa0960a
OP_EPOP operand may be bigger than mrb->c->eidx; fix #3810
2017-09-22 13:00:58 +09:00
Yukihiro "Matz" Matsumoto
5760226e71
Remove temporary limitation of OP_EPOP.
...
After f68f5f6 , the operand of `OP_EPOP` should have been `1`.
Now we have removed the limitation.
2017-09-12 12:41:02 +09:00
Yukihiro "Matz" Matsumoto
d6e41c3e51
The callinfo stack may be reallocated in cipush; fix rest of #3809
...
fix #3809
2017-09-11 23:13:47 +09:00
Yukihiro "Matz" Matsumoto
3d8c1a7e97
The ensure stack may be empty at OP_EPOP; fix 1st part of #3809
2017-09-11 22:46:34 +09:00
Yukihiro "Matz" Matsumoto
2a1e616e4d
Avoid calling mrb_funcall to invoke #initialize from Class.new.
...
If `#initialize` is implemented in C, we don't need stack consuming
`mrb_funcall`.
2017-09-06 14:35:24 +09:00
Yukihiro "Matz" Matsumoto
cbfa2b3588
Avoid recursion from mark_context().
2017-09-05 21:13:16 +09:00
Yukihiro "Matz" Matsumoto
f68f5f6b97
Avoid crossing C function boundary from OP_EPOP; ref #3789
2017-09-05 21:12:36 +09:00
Yukihiro "Matz" Matsumoto
3acaa44a70
Restructure irep->outer chain; fix #3804
...
Instead of `irep -> proc` chain, we use `irep -> irep` chain to
avoid GC bugs like #3804 . We added `target_class` reference to
`mrb_irep` struct. That means one more word consumption per `irep`.
2017-09-04 06:51:31 +09:00
Yukihiro "Matz" Matsumoto
8a5d783f2e
Call initialize only when it's not empty.
2017-09-04 06:49:05 +09:00
Flavio Medeiros
9f677b72db
Trying to make the source code more understandable by removing mixing of ternary if statements with attributions.
2017-09-02 13:25:09 -03:00
Yukihiro "Matz" Matsumoto
ab99e2c293
Avoid copying over initialized procs using initialize_copy; fix #3803
...
It may be better to raise exceptions, but CRuby doesn't.
2017-09-01 06:51:59 +09:00
Yukihiro "Matz" Matsumoto
57610091ce
Update method cache clearing.
2017-09-01 06:51:59 +09:00
Yukihiro "Matz" Matsumoto
fe3227cd5c
Set the ORPHAN flag in Proc.new; fix #3798
2017-08-30 16:51:40 +09:00
Yukihiro "Matz" Matsumoto
483a038d39
Fixed a critical typo; ref #3798
2017-08-30 16:51:17 +09:00
Yukihiro "Matz" Matsumoto
2c85213298
Need to mark mrb->range_class; fix #3797
2017-08-30 16:12:12 +09:00
Yukihiro "Matz" Matsumoto
8976f47e0a
Need to update ci after callinfo stack reallocation; fix #3796
2017-08-29 11:06:34 +09:00
Yukihiro "Matz" Matsumoto
c082249838
Exclude the top-level closure from each_object; fix #3793
2017-08-29 09:29:14 +09:00
Yukihiro "Matz" Matsumoto
786cbf06c3
Revert "Clear irep->outer when no Proc reference the irep; fix #3793 "
...
This reverts commit 15d48efa4b .
2017-08-29 09:27:45 +09:00
Yukihiro "Matz" Matsumoto
15d48efa4b
Clear irep->outer when no Proc reference the irep; fix #3793
2017-08-28 10:06:04 +09:00
Yukihiro "Matz" Matsumoto
85a400e43d
Reimplement Array#shift to be faster.
2017-08-26 02:03:21 +09:00
Yukihiro "Matz" Matsumoto
cec53ff77e
Array#first to treat 1 argument case specially to improve performance.
2017-08-26 02:03:21 +09:00
Yukihiro "Matz" Matsumoto
1b545a6b63
Check for ability to skip optional argument parsing.
2017-08-26 02:03:21 +09:00
Yukihiro "Matz" Matsumoto
60104ce41d
Silence compiler warning regarding float condition; fix #3790
2017-08-26 02:02:45 +09:00
Yukihiro "Matz" Matsumoto
43ec918be1
Remove unused mrb_obj_iv_ifnone() from API.
2017-08-26 02:01:50 +09:00
Yukihiro "Matz" Matsumoto
0e10a23d7a
Add checks if iv_tbl is NULL.
2017-08-26 02:01:50 +09:00
Yukihiro "Matz" Matsumoto
0c52112dd4
Keep Range class in mrb_state structure for performance.
2017-08-26 02:01:50 +09:00