Commit Graph

115 Commits

Author SHA1 Message Date
Yukihiro "Matz" Matsumoto 3e24e06b29 add a space after C reserved words 2014-03-18 23:57:29 +09:00
Masaki Muranaka 1df355e300 Reduce implicit type casts. 2014-03-18 17:36:47 +09:00
Yukihiro "Matz" Matsumoto 5fb8fa5a81 add _FLAG to SET_SHARED macros; ref #1750 2014-03-01 10:26:21 +09:00
Yukihiro "Matz" Matsumoto fca90a43c7 Merge branch 'array-shared-macro' of https://github.com/ksss/mruby into ksss-array-shared-macro 2014-03-01 10:19:55 +09:00
ksss 88f3e5b294 move check condition to outside in while block 2014-02-27 23:54:36 +09:00
ksss f1043ab85c add macro ARY_UNSET_SHARED 2014-02-27 00:11:40 +09:00
ksss 2f090879a5 add macro ARY_SET_SHARED 2014-02-27 00:10:42 +09:00
ksss 3e4e90a708 add macro ARY_SHARED_P 2014-02-26 21:40:36 +09:00
cremno 7691b64963 array implementation: several small changes
src/array.c:
 - make various functions without declaration in the mruby headers static
 - removed all uncessary int casts and two useless comments
 mrb_ary_new_from_values: move to similar functions
 mrb_check_array_type: fix indentation

include/mruby/array.h:
 mrb_shared_array: padding (default "mrbconf.h" on an usual 64-bit system)
                   sizeof(mrb_int)==sizeof(int)==4 && sizeof(mrb_value*)==8

both:
 mrb_ary_aget:  remove declaration in header and make static
                nobody uses it which is not surprising since it has 1 req arg!
 mrb_assoc_new: small optimization and move to similar functions
 mrb_ary_len:   re-implement as static inline function (it is used by mrbgems)
                programmers should directly use RARRAY_LEN instead
2014-02-12 00:37:47 +01:00
Yukihiro "Matz" Matsumoto 4a2c37df93 made mrb_define_class to return existing class, with heavy refactoring 2014-02-08 13:44:31 +09:00
Yukihiro "Matz" Matsumoto 7ba4612956 use mrb_str_new_lit() more widely 2014-02-06 08:54:47 +09:00
h2so5 b53d91e6e2 fix NODE_SPLAT codegen 2014-02-01 12:22:28 +09:00
Yukihiro "Matz" Matsumoto aa08158f67 Array#[]= is now range aware 2014-01-30 10:50:56 +09:00
Yukihiro "Matz" Matsumoto 5346bdd76b move range aware aget to array.c from mruby-array-ext gem 2014-01-29 14:53:38 +09:00
cremno aa655b9ee1 remove superfluous includes
- reduce compile time by a little bit (full-core: ~0.7s for me)
- thanks to 'include-what-you-use' for some help
- include Standard C header files before any other (coding style)
2014-01-07 17:56:30 +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 6d7b3a7bc9 mrb_ary_splat() to call #to_a 2014-01-03 23:57:20 +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 18433731ed remove various preprocessor conditionals
- HAVE_IEEEFP_H is nowhere defined or needed at all
- FreeBSD < 4 is unsupported since years
- MSVC workaround (around what exactly?)
2014-01-02 07:33:33 +01:00
cremno 09bb30870b tiny word boxing optimization 2014-01-02 06:36:29 +01:00
Jun Hiroe 853e26e16a Fix ISO no in Array#* and Array#+ 2013-12-07 12:22:25 +09: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 92825660ea changed argument type of mrb_ary_modify(); ref #1554 2013-11-01 09:57:20 +09:00
Yukihiro "Matz" Matsumoto af03812877 add mrb_ary_modify(mrb,a); you have to ensure mrb_value a to be an array; ref #1554 2013-10-31 23:34:08 +09:00
Yukihiro "Matz" Matsumoto 2daf39ddc8 change else formatting 2013-07-22 09:52:06 +09:00
Carson McDonald b9a32e434a Changed use of MRB_INT_MAX to MRB_INT_MAX-1 2013-07-18 09:47:48 -04:00
Jun Hiroe 72892cb14a Refactor mrb_ary_eql() func in array.c. 2013-07-01 23:53:48 +09:00
Jun Hiroe 2f8e9b474f Refactor mrb_ary_equal() func in array.c. 2013-07-01 23:53:03 +09:00
Yukihiro "Matz" Matsumoto f3c1048756 fix indent 2013-06-13 09:51:09 +09:00
Julien Ammous 8057eb935c removed unused variables / assigns never used 2013-05-18 14:13:04 +02:00
Yukihiro "Matz" Matsumoto 30d580ecbc rename every ARGS_XXX to MRB_ARGS_XXX; ref #1206 2013-04-25 09:47:36 +09:00
Yukihiro "Matz" Matsumoto c79172dfd5 put spaces after if/while 2013-04-20 23:11:43 +09:00
Masaki Muranaka 06b4b1cc33 Fix typos. 2013-04-01 09:03:42 +09:00
Masaki Muranaka 74f04849c4 Rearrange SIZE_MAX. It is supported also VC++ since its version10. And there seems SIZE_MAX is defined in stdint.h. And it possibly (depends on the version of VC++) conflicts with SIZE_MAX in limits.h. This patch is no need if I did not support VC++. 2013-03-29 11:02:35 +09:00
Masaki Muranaka 2b5b161f8b Sort include files. Some redundant includes are removed. 2013-03-29 10:22:31 +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
Masaki Muranaka 6848ad6f30 Remove #if 0 ... #endif code. 2013-03-26 15:12:50 +09:00
MATSUMOTO Ryosuke 7328b68b9f Adjusted indent, space and tab 2013-03-24 11:35:42 +09:00
Yukihiro Matz Matsumoto e69a13a20e resolve conflict 2013-03-24 00:44:28 +09:00
Masaki Muranaka 2a341753f8 Make array.c and vm.c share value_move(). 2013-03-23 12:30:53 +09: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
Yukihiro Matz Matsumoto d0d920e909 rename mrb_true_or_false_value() to mrb_bool_value() 2013-03-19 12:03:54 +09:00
Masaki Muranaka 488fc7f7c0 Use mrb_true_or_false_value() / in mrb_ary_eql(). 2013-03-19 11:04:20 +09:00
Masaki Muranaka 162f373ccb Use mrb_true_or_false_value() / in mrb_ary_equal(). 2013-03-19 11:04:20 +09:00
Masaki Muranaka 3ebcb9c1a3 Use mrb_true_or_false_value() / in mrb_ary_empty_p(). 2013-03-19 11:04:20 +09:00
kano4 60df77788b Add break to default case in switch statement 2013-03-14 23:18:12 +09:00
Yukihiro Matz Matsumoto 34fe9d0156 return value from mrb_gc_arena_save() is int 2013-03-11 23:55:41 +09:00
Cremno f719b0e7ff define and use print format macros for mrb_int
For portability: %ld can't be used to print a 64-bit mrb_int on
WIN(32|64) because long is 32-bit wide.
2013-03-08 18:20:54 +01: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