Commit Graph

738 Commits

Author SHA1 Message Date
Yukihiro Matsumoto 91318da3bc wrong return value from empty block/lambda 2012-08-02 12:57:57 +09:00
Yukihiro Matsumoto 90323f545f keep minimal stack space (recv and blk) 2012-08-02 07:56:23 +09:00
Yukihiro Matsumoto 29d4eb6e20 stack pos should be adjusted for CFUNC OP_EXEC 2012-08-02 04:00:42 +09:00
Yukihiro Matsumoto 1549502079 mrb_check_convert_type should always return nil on error 2012-08-02 01:58:20 +09:00
Yukihiro Matsumoto bce9198732 reduce invoking mrb_intern from convert_type 2012-08-02 01:53:35 +09:00
Yukihiro Matsumoto b00529e672 reduce invoking const_missing 2012-08-02 01:53:01 +09:00
Yukihiro Matsumoto 9ccf9767e1 protect return value from mrb_funcall 2012-08-02 01:13:45 +09:00
Yukihiro Matsumoto dcfff971ff remove OP_LOADNIL from NODE_OP_ASGN 2012-08-02 00:48:50 +09:00
Yukihiro Matsumoto 47ff5a0643 move OP_LOADNIL just before OP_SEND to improve performance on some platforms 2012-08-02 00:43:38 +09:00
Yukihiro Matsumoto d271bf0aa6 make mrb_funcall_argv and mrb_funcall_with_block to take mrb_sym as a method name 2012-08-01 13:15:02 +09:00
Yukihiro Matsumoto 7511508a64 restore arena index after funcall 2012-08-01 12:54:57 +09:00
Yukihiro Matsumoto 0220953efe no OP_LOADNIL for operators (OP_ADD, etc) 2012-08-01 02:33:55 +09:00
Yukihiro Matsumoto 1a54120869 add cast to pacify optimizer 2012-08-01 01:56:37 +09:00
Yukihiro Matsumoto 883b97ab05 some test requires double precision 2012-08-01 01:23:34 +09:00
Yukihiro Matsumoto 34cf05679c add Math::TOLERANCE 2012-08-01 01:12:09 +09:00
Yukihiro Matsumoto cde3c35666 too much peephole optimization 2012-08-01 01:11:16 +09:00
Yukihiro Matsumoto d6bd191cc4 remove stupid debug print 2012-08-01 00:46:27 +09:00
Yukihiro Matsumoto 0270d11c81 float do not have enough precision to round if MRB_USE_FLOAT is set 2012-08-01 00:45:12 +09:00
Yukihiro Matsumoto 1563cdfcce float do not have enough precision to represent Fixnum if MRB_USE_FLOAT is set 2012-08-01 00:06:50 +09:00
Yukihiro Matsumoto 1d64ecf0fa float do not have enough precision if MRB_USE_FLOAT is set 2012-07-31 23:56:35 +09:00
Yukihiro Matsumoto e87c95eba7 codegen optimization based on http://d.hatena.ne.jp/mirichi/20120730/p1 [Japanese]. 2012-07-31 22:21:42 +09:00
Yukihiro "Matz" Matsumoto 954c33a854 Merge pull request #412 from monaka/pr-add-parameter-for-pool
POOL_ALIGNMENT POOL_PAGE_SIZE : Configurable parameters.
2012-07-31 02:38:58 -07:00
Masaki Muranaka 0cee3bb531 POOL_ALIGNMENT POOL_PAGE_SIZE : Configurable parameters. 2012-07-31 16:50:09 +09:00
Masaki Muranaka cc1fc5332a Remove redundant code in mrb_array_aget(). 2012-07-31 14:52:44 +09:00
Yukihiro Matsumoto bc7dc06c51 mark mrb->exc object 2012-07-31 10:57:14 +09:00
Yukihiro Matsumoto 998830e1bc reduce restoration of arena_idx in vm loop 2012-07-31 10:55:30 +09:00
Yukihiro Matsumoto 857370c2b7 use const MRB_IV_INITIAL_SIZE 2012-07-30 17:33:54 +09:00
Yukihiro Matsumoto e75c76ecee iv khash initial size to 8 2012-07-30 17:16:05 +09:00
Yukihiro Matsumoto 14410d1391 configurable MRB_HEAP_PAGE_SIZE 2012-07-30 13:18:24 +09:00
Yukihiro "Matz" Matsumoto ff707384c3 Merge pull request #407 from silverhammermba/cpp
C++ compatibility
2012-07-29 17:42:17 -07:00
Yukihiro Matsumoto d0c1b7b4a8 Merge branch 'master' of github.com:mruby/mruby 2012-07-30 09:40:53 +09:00
Yukihiro Matsumoto bd035bcbb6 do not use INT32_MAX; close #407 2012-07-30 09:40:41 +09:00
Max Anselm 50b9f54a65 Make void casts explicit.
(Forgot a couple files)
2012-07-29 20:11:08 -04:00
Max Anselm dacae7fda9 Remove unnecessary mrb_assoc_new prototype
Include array.h instead.
2012-07-29 19:51:14 -04:00
Max Anselm 5a4beeed2d Make all(?) void casts explicit for C++ 2012-07-29 19:48:48 -04:00
Masaki Muranaka 22b032fcdf mrb_hash_delete_key(), mrb_hash_keys() : Declare as static.
mrb_check_hash_type(): Remove as no implementation.
2012-07-29 20:11:43 +09:00
Yukihiro "Matz" Matsumoto 0584874e59 Merge pull request #402 from monaka/pr-remove-commented-out-code
Remove commented out code.
2012-07-29 01:57:39 -07:00
Masaki Muranaka b2fc62f3a9 Remove commented out code. 2012-07-29 15:25:14 +09:00
Masamitsu MURASE 99e2035f42 Modify mrb_vm_define_class.
* Check mismatch of superclass.
* Check constant value whose name is specified as a class's name.
2012-07-29 14:21:12 +09:00
Akira Kuroda a2aa7e7f52 fix segmentation fault in Array#first 2012-07-29 00:21:40 +09:00
Yukihiro "Matz" Matsumoto 919a84771b Merge pull request #398 from masamitsu-murase/modify_hash_shift
Protect deleted key and value from GC.
2012-07-28 06:44:55 -07:00
Masamitsu MURASE b48cfea736 Protect deleted key and value from GC. 2012-07-28 21:10:57 +09:00
Masamitsu MURASE a985cf7945 Modify ci->nregs. 2012-07-28 19:16:54 +09:00
Yukihiro Matsumoto 7f8076ef90 more peephole optimization on OP_MOVE 2012-07-28 11:23:29 +09:00
Yukihiro Matsumoto 88043c5ccd remove <stdio.h> that added for debugging 2012-07-27 12:54:19 +09:00
Yukihiro Matsumoto 638a66fd78 adjust ci->nregs for C implemented methods 2012-07-27 10:05:47 +09:00
Yukihiro Matsumoto 92d37403f1 temporary protection not to access out of stack 2012-07-27 05:57:22 +09:00
Max Anselm ea25912999 Undefine new for class rather than instance.
Applies to NilClass, TrueClass, FalseClass, Fixnum, and Float. Add
mrb_undef_class_method for DRYness.
2012-07-25 18:22:26 -04:00
Yukihiro "Matz" Matsumoto ec309c6fd7 Merge pull request #393 from akuroda/array_last_fix
fix segmentation fault in Array#last
2012-07-24 16:55:12 -07:00
Yukihiro Matsumoto 08213e32e8 const reference from instance_eval should not cause SEGV 2012-07-25 08:53:49 +09:00