Commit Graph

242 Commits

Author SHA1 Message Date
Yukihiro "Matz" Matsumoto c476c1b528 symbol length type to be mrb_int 2014-03-15 15:43:40 +09:00
Yukihiro "Matz" Matsumoto 2bd099c842 remove new_label(s) where label position can be obtained from genop() 2014-03-14 03:11:11 +09:00
Yukihiro "Matz" Matsumoto 91f2d47d34 too much optimization 2014-03-13 23:44:10 +09:00
Yukihiro "Matz" Matsumoto 8cc487c465 peephole optimization for OP_JMP{IF,NOT} 2014-03-13 19:54:50 +09:00
Masaki Muranaka 40f57f7b42 Use mrb_str_new_cstr() instead of mrb_str_new() with strlen(). 2014-03-09 16:45:29 +09:00
cremno bfc522bcd5 use mrb_str_cat_lit for literals 2014-03-08 18:38:31 +01:00
Masaki Muranaka 270d25bf2d Make type casts safer. 2014-03-08 15:53:59 +09:00
cubicdaiya 016d3b9394 fix off-by-one error in attrsym
The allocation size for null-terminated character is lacking.
In actual, it is no problem in most case
because codegen_palloc allocates more a memory size than required size.
2014-03-05 11:20:39 +09:00
Yukihiro "Matz" Matsumoto 9a92b40aaf rescue clause should understand splats; close #1786 2014-03-03 13:25:13 +09:00
take_cheeze 78915f9601 support c++ exception 2014-03-01 20:05:29 +09:00
cubicdaiya 67de10bfcb use C style comments instead of C++ style comments
According to CONTRIBUTING.md,

Don't use C++ style comments

 /* This is the prefered comment style */

Use C++ style comments only for temporary comment e.g. commenting out some code lines.
2014-03-01 03:31:45 +09:00
Yukihiro "Matz" Matsumoto 19a08b8455 Merge pull request #1674 from cremno/mrb_bool-FALSE-TRUE
use mrb_bool, FALSE and TRUE more
2014-02-09 18:35:20 +09:00
Yukihiro "Matz" Matsumoto be0cc4f90e better codedump format 2014-02-04 23:04:34 +09:00
h2so5 b53d91e6e2 fix NODE_SPLAT codegen 2014-02-01 12:22:28 +09:00
cremno 4507985c3e use mrb_bool, FALSE and TRUE more
It doesn't matter to me if one is using FALSE/TRUE instead of 1/0
but I prefer a type (alias) which emphasizes boolean vars to int.
I changed 1/0 to FALSE/TRUE anyway.
2014-01-31 18:00:36 +01:00
cremno f2a62a74ed clean up external symbols
remove unused and unneeded:
- sysexit_status
- type (a global variable)

add mrb_ prefix to:
- codedump_all
- class_instance_method_list
- parser_dump

make various functions static, incl.:
- yyparse
- make_exception
2014-01-31 01:30:18 +01:00
Yukihiro "Matz" Matsumoto 925137475c should splat and iterate elements when "*ary" speficied in the case-when clause; close #1627 2014-01-04 11:25:53 +09:00
Yukihiro "Matz" Matsumoto dc27c2be46 Merge pull request #1634 from cremno/use-mrb_fixnum_p
tiny word boxing optimization
2014-01-02 15:46:00 -08:00
cremno 09bb30870b tiny word boxing optimization 2014-01-02 06:36:29 +01:00
cremno d69deadfc8 codegen.c: remove superfluous return 2014-01-02 01:34:32 +01:00
cubicdaiya 325c3bcfa4 return-value of mrb_run is invalid in top-level-scope
The return-value of mrb_run in top-level-scope
should be the evaluated value at last.
2013-12-27 15:11:20 +09:00
Yukihiro "Matz" Matsumoto 14bff248c3 adjust register position for return value; fix #1620 2013-12-26 17:47:26 +09:00
Yukihiro "Matz" Matsumoto efbaa53c53 revert fix in #1620 2013-12-26 17:43:53 +09:00
Carson McDonald a89cba9fa4 Fix return when value expected 2013-12-25 12:17:33 -05:00
Yukihiro "Matz" Matsumoto ee9e5fa6da Merge branch 'master' of github.com:mruby/mruby 2013-12-25 10:06:24 +09:00
h2so5 6c6633843c fix #1617 2013-12-24 13:33:26 +09:00
Yukihiro "Matz" Matsumoto c209fa9514 class/module body to honor whether value is required or not; reduce a few instructions for normal cases 2013-12-24 12:29:06 +09:00
h2so5 61ac9ff2ea fix codegen bug in NODE_CASE 2013-12-19 21:30:51 +09:00
Yukihiro "Matz" Matsumoto 415ec6aca2 avoid top-level pool release at codegen_error() and fixed some memory leaks 2013-12-03 01:47:50 +09:00
Yukihiro "Matz" Matsumoto 56a93a3357 should not access scope after releasing memory pool 2013-12-03 00:55:19 +09:00
Yukihiro "Matz" Matsumoto 155f3909f0 Merge pull request #1601 from carsonmcdonald/srcaptosizet
Change scapa and rcapa to size_t, use scapa.
2013-12-02 05:19:45 -08:00
Carson McDonald ba67427872 Change scapa and rcapa to size_t, use scapa. 2013-12-02 06:51:07 -05:00
take_cheeze df780ae5e9 add mrb_intern_lit for creating symbol from string literal 2013-12-01 10:38:59 +09:00
Yukihiro "Matz" Matsumoto 9c6398a444 rename mrb_intern2() to mrb_intern(); huge API incompatibility; close #1513 2013-11-29 08:47:28 +09:00
Yukihiro "Matz" Matsumoto 9ac386923d float objects in pool are objects when MRB_WORD_BOXING is set 2013-11-27 17:29:28 +09:00
kyab 1a6244d99d Fix build error for MRB_WORD_BOXING 2013-11-26 20:28:24 +09:00
Yukihiro "Matz" Matsumoto fb386011df rename API mrb_str_dup_static() -> mrb_str_pool() 2013-11-20 08:37:16 +09:00
Yukihiro "Matz" Matsumoto d73dfa8708 resolve conflict 2013-11-20 07:29:55 +09:00
Miura Hideki 54c5b12fb7 irep->pool struct pool -> mrb_value 2013-11-19 20:38:02 +09:00
cremno ec9b5e7fed codegen_malloc/realloc: static + simple mem alloc
- there's no reason for both to have external linkage
- use simple versions of memory allocation functions
which are returning NULL instead of longjmp-ing,
so codegen_error will be called to cleanup.
2013-11-18 20:47:20 +01:00
Yukihiro "Matz" Matsumoto 71354b91cb enum mrb_vtype varies on compile time configuration, namely MRB_NAN_BOXING 2013-11-15 02:45:52 +09:00
bggd 0cbdbd81cb Changed a variable declaration to top of block 2013-11-13 22:53:20 +09:00
Yukihiro "Matz" Matsumoto 7aabc657f1 protect returning irep (in proc) from GC 2013-11-09 04:08:24 +09:00
Yukihiro "Matz" Matsumoto cba07b0275 type check before pool scan 2013-11-07 09:14:44 +09:00
Yukihiro "Matz" Matsumoto 465f633446 create Proc object before releasing memory pool 2013-11-07 08:16:41 +09:00
Yukihiro "Matz" Matsumoto 677a2ac226 irep->pool not to be GCed 2013-11-07 04:20:46 +09:00
Yukihiro "Matz" Matsumoto e92d4e2680 modified to use irep->reps to reference child ireps. preparation for
removing irep array from mrb_state.  note that instructions OP_LAMBDA,
OP_EXEC and OP_EPUSH are incompatible, and dumped mrb format has changed.
2013-11-07 03:54:22 +09:00
Yukihiro "Matz" Matsumoto 8af26752db remove scope->idx 2013-11-02 23:40:36 +09:00
Yukihiro "Matz" Matsumoto 22f90d9f70 codedump() to take irep structure 2013-11-02 23:26:19 +09:00
Yukihiro "Matz" Matsumoto 0be572df62 change return value from mrb_generate_code() 2013-11-02 23:20:04 +09:00