Commit Graph

55 Commits

Author SHA1 Message Date
go.kikuta 96c948d812 Remove non-need tmp value 2015-08-11 18:02:12 +09:00
cremno ef0fc90cd0 remove unnecessary mrb_immediate_p()
`!mrb_array_p(ary2)` and `mrb_type(obj) != MRB_TT_DATA` are  sufficient.
2015-06-02 08:56:41 +02:00
kkkkkt d94469ac23 changed to call check_cv_name_str in check_cv_name_sym and adjust indent 2014-08-21 13:56:43 +09:00
bggd d95f77c1cb Fix a typo in etc.c 2014-08-06 21:36:36 +09:00
Yukihiro "Matz" Matsumoto ea80e82852 Merge branch 'master' of github.com:mruby/mruby 2014-08-04 16:28:02 +09:00
cremno b6e27218ad MSVC: add simple (v)snprintf implementation
_snprintf is not C99's snprintf!

This simple implementation, unlike _snprintf,
always null-terminates and returns the expected
return value (in most cases).
Other C99 behaviors (like format specifiers) require
adding a complete snprintf implementation.
Do we want or need that?

The same applies to vsnprintf (aka _vsnprintf).
2014-08-03 21:15:48 +02:00
Yukihiro "Matz" Matsumoto 6aa6e75f75 rename obsolete mrb_special_const_p to mrb_immediate_p 2014-08-04 00:50:03 +09:00
Yukihiro "Matz" Matsumoto 206f89e209 add MRB_API modifiers to mruby API functions 2014-08-04 00:47:08 +09:00
Yukihiro "Matz" Matsumoto 61bba9accf rename word boxing functions 2014-07-09 06:40:56 +09:00
David Turnbull 249f05e7d7 Clean up value.h and mrb_value boxing 2014-07-09 06:32:11 +09:00
Yukihiro "Matz" Matsumoto f0b86f36c3 move mrb_irep_remove_lv from etc.c to mruby-bin-strip gem 2014-05-15 17:13:16 +09:00
take_cheeze 30e0dc7956 Support LVAR section removing. 2014-05-15 15:08:30 +09:00
Yukihiro "Matz" Matsumoto 48e82d7c77 cast intptr_t to mrb_int to pacify compiler warning; close #2148 2014-04-29 12:21:49 +09:00
take_cheeze d4a510f751 Add mrb_regexp_p to check whether mrb_value is Regexp. 2014-04-17 14:32:45 +09:00
Yukihiro "Matz" Matsumoto 62505d51cc calc hash value directly for strings, symbols and numbers 2014-03-15 15:53:12 +09:00
cremno d90f52f552 etc.c: small cleanup (delete unused functions)
mrb_data_object_alloc: unnecessary cast
mrb_lastline_get: mruby doesn't support $_, weird and unused code
mrb_exec_recursive: see 4e46abb869
mrb_block_proc: unused, doesn't really do anything (or needs to be
rewritten)
mrb_obj_to_sym: actually use id (and MSVC detected unreachable code)
2014-01-30 23:16:46 +01: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 9ac386923d float objects in pool are objects when MRB_WORD_BOXING is set 2013-11-27 17:29:28 +09:00
Yukihiro "Matz" Matsumoto 3995e7ff8f rename voidp to cptr 2013-09-21 17:28:47 +09:00
Yukihiro "Matz" Matsumoto b225e4cc82 redesign mruby/data.h API; use DATA_PTR() for raw data pointer, DATA_GET_PTR() to type safe retrieval (TypeError will be raised), DATA_CHECK_GET_PTR() to get nil if type mismatched 2013-08-15 01:33:36 +09:00
Yukihiro "Matz" Matsumoto 40e6cdcb5c rename mrb_value_p() to mrb_ptr() since _p means predicate in mruby source 2013-08-07 17:39:28 +09:00
Yuichi Nishiwaki 8dc2fa3bc8 add read barrier to value.p
API changes:
- value.p must be accessed via mrb_value_p macro
- value.p must be mutated via MRB_SET_VALUE_P macro
2013-08-03 14:03:44 -07:00
kimu_shu e720782f81 Add MRB_WORD_BOXING mode (represent mrb_value as a word) 2013-05-26 10:09:17 +09:00
Yukihiro "Matz" Matsumoto 02f843d8dc rename mrb_to_id to mrb_obj_to_sym since symbol is nothing to do with identifier in mruby 2013-04-29 15:35:30 +09:00
Yukihiro "Matz" Matsumoto 75f5535c4f rename DATA API: mrb_get_datatype -> mrb_data_get_ptr; mrb_check_datatype -> mrb_data_check_and_get 2013-04-04 04:30:39 +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
Yukihiro Matz Matsumoto 8d2880bbfe Merge branch 'pluggable_struct' of https://github.com/mattn/mruby into mattn-pluggable_struct 2013-03-01 21:38:02 +09:00
Masaki Muranaka e4231a0a33 Add typedef to structures that have mrb_ prefix. Use typedef-ed type instead of struct directly. 2013-03-01 14:28:22 +09:00
mattn 138ecf4723 Pluggable Struct 2013-03-01 13:37:46 +09:00
Masaki Muranaka b833df3d37 Remove commented out code. Remove redundant function calls. 2013-02-24 00:11:48 +09:00
Yukihiro Matz Matsumoto 59a6d1b514 remove TT_REGEX and TT_MATCH 2013-02-18 16:18:19 +09:00
mattn b1a5146ea8 Pluggable Regexp 2013-02-15 04:38:27 +09:00
Yukihiro Matz Matsumoto 902dd63803 remove FL_XXX macros 2012-11-04 05:15:22 +09:00
Yukihiro Matz Matsumoto e429905597 replace SYM2ID() by mrb_symbol() 2012-11-04 05:11:39 +09:00
Masaki Muranaka 6069a33089 mrb_raisef(): new function. Same as previou version of mrb_raise().
mrb_raise(): API modified. It cannot treat variable arguments.
2012-10-23 09:42:22 +09:00
Yukihiro Matsumoto 7d02df3016 NaN boxing 2012-08-14 13:16:34 +09:00
Masaki Muranaka b2fc62f3a9 Remove commented out code. 2012-07-29 15:25:14 +09:00
Yukihiro Matsumoto 48c73ac630 less <stdio.h> 2012-07-13 10:13:47 +09:00
Yukihiro Matsumoto 8268ba2755 remove MRB_TT_THREAD,MRB_TT_THREADGRP 2012-07-06 19:52:50 +09:00
Yukihiro Matsumoto 5b3cc4a068 better object_id calculation 2012-07-05 23:19:09 +09:00
Yukihiro Matsumoto ff42f8f485 move RDoc comments 2012-07-05 22:56:51 +09:00
Yukihiro Matsumoto 4aad9e88d6 remove unused mrb_rescue() 2012-06-19 15:40:54 +09:00
Masaki Muranaka f564ec7e82 Remove some redundant code. 2012-06-15 00:56:00 +09:00
Yukihiro Matsumoto 4e46abb869 remove unused mrb_exec_recursive 2012-06-03 17:52:04 +09:00
Yukihiro Matsumoto ad9e841c53 made mrb_get_args() better (optinal args, type checks); close #173 #176 2012-05-24 01:09:36 +09:00
Yukihiro Matsumoto 4523bee953 cast style consistency 2012-05-23 03:31:55 +09:00
Mitchell Blank Jr 9e336b00e5 More C++ compilability work: mrb_obj_alloc void* conversions
One of the biggest set of changes needed to make C++ compile, is that you
can't autoconvert "void*" to a different pointer type without a cast (you
can of course, convert pointers *to* "void*"!)

For the first part, convert the users of "mrb_obj_alloc".  Since it has
to return something, make it RBasic* (that's what mrb_obj_alloc() is
operating on anyway).  This way, even in C you'll get a warning if you
don't cast it.

For places where there are a lot of similar calls to mrb_obj_alloc(),
this can be easily hidden through a macro.  I did this in string.c:
    #define mrb_obj_alloc_string(mrb) ((struct RString *) mrb_obj_alloc((mrb), MRB_TT_STRING, (mrb)->string_class))

I also updated the mrb_object() macro to also return a RBasic* -- my
previous commit changed that from "void*" -> "RObject*", but I figure
it should be consistent with mrb_obj_alloc()
2012-05-20 09:43:14 -07:00
Yukihiro Matsumoto e0460c1157 hash refactored 2012-05-05 08:55:58 +09:00
Yukihiro Matsumoto 0248ea5ddb remove unused ruby_xfree 2012-05-04 23:18:02 +09:00
takahashim 514e2717c5 add header "mruby/data.h"
etc.c use DATA_TYPE()
2012-05-02 21:12:05 +09:00