Commit Graph

143 Commits

Author SHA1 Message Date
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