Commit Graph

164 Commits

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