Yukihiro "Matz" Matsumoto
c2f3a494ea
ensure clause should be executed only once; close #1185
2013-04-22 16:32:46 +09:00
Yukihiro "Matz" Matsumoto
c633f32b41
should call ensure before popping callinfo; cancel 8ce1ea84
2013-04-22 11:49:10 +09: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
c79172dfd5
put spaces after if/while
2013-04-20 23:11:43 +09:00
Tomoyuki Sahara
0f8969041a
rollback stack before executing ensure clause.
2013-04-17 13:08:54 +09:00
Yukihiro "Matz" Matsumoto
09eae5ceb2
move no block check to mrb_yield_internal
2013-04-13 10:03:34 +09:00
Yukihiro "Matz" Matsumoto
84acf4e3f3
preparation for tail call optimization (still has bugs)
2013-04-09 15:31:17 +09:00
Yukihiro "Matz" Matsumoto
03367c19ed
target_class should not be TT_ICLASS; close #1152
2013-04-09 10:52:15 +09:00
Yukihiro "Matz" Matsumoto
9fbd66cb9a
nregs size was too big (off by one); close #1137
2013-04-09 09:19:18 +09:00
Yukihiro "Matz" Matsumoto
dfb4755729
Merge pull request #1131 from takkaw/mrb_funcall_return_exc
...
Change to return the exception object when an exception occurred in mrb_funcall
2013-04-03 06:58:49 -07:00
Gilad Zohari
73d7a72102
Adjust ci->nregs to prevent heap corruption
2013-04-02 18:28:38 +03:00
Masaki Muranaka
029e3c9f50
Use mrb_raise() as possible instead of mrb_raisef().
2013-04-01 09:08:02 +09:00
Yukihiro "Matz" Matsumoto
dd56b93639
should have rewinded stack on exceptions; close #1113
2013-03-31 00:44:56 +09:00
takkaw
f36c133909
Change to return the exception object when an exception occurred in mrb_funcall
2013-03-30 01:41:16 +09:00
Masaki Muranaka
2b5b161f8b
Sort include files. Some redundant includes are removed.
2013-03-29 10:22:31 +09:00
Masaki Muranaka
fa23cb1021
Fix argunum_error() to use mrb_format().
2013-03-28 17:43:24 +09:00
Yukihiro Matz Matsumoto
18b2683b97
use new mrb_format API from mrb_raisef; its only format specifier is "%S" (stringify) and takes mrb_value; close #1062
2013-03-27 23:41:23 +09:00
Xuejie "Rafael" Xiao
c4fb08ac86
Make topenv() static inlined
2013-03-24 22:21:18 -04:00
MATSUMOTO Ryosuke
7328b68b9f
Adjusted indent, space and tab
2013-03-24 11:35:42 +09:00
Yukihiro Matz Matsumoto
f0ac204f21
Use size_t instead of int. This is for portability.
2013-03-24 00:20:35 +09:00
Masaki Muranaka
f5748e28c6
Use ptrdiff_t instead of int. This is for portability.
2013-03-24 00:09:17 +09:00
Masaki Muranaka
2a341753f8
Make array.c and vm.c share value_move().
2013-03-23 12:30:53 +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
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
crimsonwoods
e06648a88d
"Ax" is larger than 16-bit.
2013-03-21 22:57:29 +09:00
Masaki Muranaka
3f3568a2c8
Simplify conditional expressions. This is for speed tuning.
2013-03-18 23:29:11 +09:00
Masaki Muranaka
632875a618
Lazy variable declarations. They are for speed tune.
2013-03-18 23:29:11 +09:00
Masaki Muranaka
f3db337814
Clean some redundant code up.
2013-03-18 23:29:11 +09:00
Masaki Muranaka
d7c6ebfc91
Make topenv() inlined.
2013-03-18 23:29:11 +09:00
Masaki Muranaka
1272d5fe0c
Extract uvget/uvset to OP_GETUPVAR/OP_SETUPVAR. This is for speed tuning.
2013-03-18 23:29:11 +09:00
Masaki Muranaka
4a17b3d908
Make some tiny functions inlined. This is for supeed tuning.
2013-03-18 23:29:11 +09:00
Masaki Muranaka
37263e50e5
Remove mrb_checkstack() as unused.
2013-03-18 23:29:11 +09:00
Masaki Muranaka
b8982c442f
Optimize OP_SUBI.
2013-03-18 23:29:11 +09:00
Masaki Muranaka
7a78ecb14c
Optimize OP_ADD instruction.
2013-03-18 23:29:11 +09:00
Yukihiro "Matz" Matsumoto
59fbb16d4b
Merge pull request #1023 from monaka/pr-remove-memmove-from-vm.c
...
Remove memmove() in src/vm.c.
2013-03-17 15:52:28 -07:00
Kurebayashi, Takahiro
83ddef6880
remove bit-shift operation.
2013-03-17 17:44:18 +09:00
Masaki Muranaka
ca3fd5d0d4
Remove memmove(). Use value_move() instead.
...
value_move() is type-safer than memmove().
And may be faster on some targets.
(If it makes slow on your target,
rewrite to call memset(s1, s2, sizeof(mrb_value)*n)
in value_move().)
2013-03-17 17:25:44 +09:00
Yukihiro Matz Matsumoto
243669308d
obsolete mrb_object; opposite of bc870ce
2013-03-15 23:16:20 +09:00
Masaki Muranaka
68468dabfa
Extract stack zero filling to stack_clear(). Porting evelopers can optimize by replacing to memset() on their own risk.
2013-03-13 18:26:59 +09:00
Masaki Muranaka
e70f9b351d
Simplify. Temporary variable "i" is removed.
2013-03-13 18:24:20 +09:00
Yukihiro Matz Matsumoto
cdd41a33de
unify mrb_ary_new{,_elts,_from_values}; mrb_ary_from_values() is a winner
2013-03-08 05:18:33 +09:00
kano4
fbbe6309fc
Replace tabs with spaces
2013-03-05 23:06:44 +09:00
Yukihiro "Matz" Matsumoto
5a153851c3
Merge pull request #947 from monaka/pr-cleanup-stdio-calls-20130304
...
Cleanup stdio related.
2013-03-04 15:49:08 -08:00
Yukihiro Matz Matsumoto
21847865b1
use mrb_str_buf_new to create a buffer to be used by mrb_str_buf_cat
2013-03-05 01:45:13 +09:00
Masaki Muranaka
5a025813b5
Include stdio.h in mrbconf.h instead of C extension sources.
2013-03-05 01:38:51 +09:00
Masaki Muranaka
15ac0e03c2
Reduce a snprintf() call in localjump_error().
2013-03-03 18:39:52 +09:00
skandhas
40268d2284
format some source code (vm.c)
2013-03-01 15:57:35 +08:00
Cremno
5de62ac23d
mrb_funcall_with_block: adj. ci & sp after error
...
see #894 / [ruby-talk:404969]
2013-02-26 10:04:29 +01:00
Yukihiro Matz Matsumoto
eb14c15e99
rename hook and macro
2013-02-18 16:15:32 +09:00
Yuichiro MASUI
bc44d06c73
Created hook at VM code fetch. It's for debugger
2013-02-17 00:13:42 +09:00