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
Yukihiro Matz Matsumoto
75ae568236
should adjust stack size when irep->nregs is larger than allocate size; close #835
2013-02-10 23:54:57 +09:00
Carson McDonald
92eb282b7a
Don't overwrite ciidx if it is already set.
2013-02-08 06:57:15 -05:00
Masamitsu MURASE
8ce1ea8437
Protect irep of ensure.
2013-01-30 20:46:37 +09:00
Carson McDonald
8f83f6674c
Fixes a number of "comparison between signed and unsigned" warnings.
2013-01-27 09:44:47 -05:00
Masamitsu MURASE
0dd9a0fd6a
Modify handling of OP_ENTER.
...
If `argc` is `-1`, `block` parameter is sometimes overwritten.
2013-01-19 23:16:03 +09:00
Masaki Muranaka
0f99322f27
gc.c: Enable DEBUG(x) if GC_DEBUG is defined.
...
vm.c: Enable DEBUG(x) if VM_DEBUG is defined.
2013-01-07 15:28:05 +09:00
Yukihiro Matz Matsumoto
6a16cad1bf
should save ciidx in exception raised from VM
2012-12-21 23:55:17 +09:00
Yukihiro Matz Matsumoto
40ea525d1e
should raise error on return in block in top-level; close #664
2012-12-21 23:52:40 +09:00
Yukihiro Matz Matsumoto
9de76a71e1
should not ignore exception on top-level; close #635
2012-12-17 17:53:33 +09:00
skandhas
6dede4edf9
fix incorrect integer-overflow checkups in OP_SUB/OP_SUBI case.
2012-12-13 14:42:07 +08:00
Yukihiro "Matz" Matsumoto
f2d3c4d2f7
Merge pull request #623 from liancheng/master
...
Call mrb_gc_arena_save/mrb_gc_arena_restore when proper
2012-12-12 06:11:04 -08:00
Lian Cheng
2fa0be2a30
Call mrb_gc_arena_save/mrb_gc_arena_restore instead of manipulating arena index directly
2012-12-12 21:05:02 +08:00
Yukihiro Matz Matsumoto
fd12f87712
save lastpc on exception and use it in mruby stack trace
2012-12-12 18:23:20 +09:00
Yukihiro Matz Matsumoto
1b716b93c6
add comment to clarify nregs=2 in cipush; close #610
2012-12-10 16:53:54 +09:00
Jan Berdajs
036b78dfba
refactor OP_RETURN switch to remove a redundant label and avoid goto
2012-12-10 07:03:49 +01:00
Beoran
039679f1af
Keep stack depth and allocation better under control and fix crash on infinite recursion.
2012-11-22 11:02:17 +01:00
Yukihiro Matz Matsumoto
76f0e755e9
handle return from blocks, especially from lambda blocks; close #561
2012-11-21 17:00:06 +09:00
Yukihiro Matz Matsumoto
470bb14dc8
should look for outermost scope to return; close #547
2012-11-16 11:51:51 +09:00
Yukihiro Matz Matsumoto
d2d2e9f5f9
add new predicates mrb_string_p(),mrb_array_p(),mrb_hash_p()
2012-11-04 05:02:39 +09:00
Yukihiro Matsumoto
9b85ffa5a7
OP_ADDI/OP_SUBI should handle integer overflow; close #518
2012-11-01 05:54:53 +09:00
Masaki Muranaka
1933e2660c
Use substitution instead of memset in structure initialization.
2012-10-25 15:47:45 +09:00