Commit Graph

48 Commits

Author SHA1 Message Date
Yukihiro Matsumoto b7cc7fffe7 symbol can contain non printable characters 2012-06-05 08:34:09 +09:00
Yukihiro Matsumoto 3be1c88907 str_modify() revives string buffer kept in shared structure if refcnt == 1 2012-06-03 22:59:40 +09:00
Yukihiro Matsumoto dece49750d string.subseq should update shared refcnt 2012-06-03 21:06:04 +09:00
Yukihiro Matsumoto 361d0ca75d strig.c should properly decref shared entities 2012-06-03 20:59:33 +09:00
Yukihiro Matsumoto 28b9619bb4 should decref shared string body on gc_free 2012-06-03 15:45:06 +09:00
Yukihiro Matsumoto 6c2c5540e2 should initialize shared->buf as well as s->buf 2012-06-03 09:09:40 +09:00
Yukihiro Matsumoto 52fdeb0225 str_make_shared not to return new string 2012-06-03 09:05:09 +09:00
Yukihiro Matsumoto 12d75223d6 make shared string to reference-counted C structure to reduce GC pressure 2012-06-03 07:55:39 +09:00
Yukihiro Matsumoto b2d0f22dee ensure str_modify is called at the beginning of modifying methods 2012-06-02 04:12:23 +09:00
Yukihiro Matsumoto cd48737e11 mrb_str_concat was broken for shared strings; close #214 2012-06-02 00:07:05 +09:00
Yukihiro Matsumoto f56abcbb5a reorder mrb_ary_new_from_values() args to (argc, argv) 2012-06-01 02:18:30 +09:00
Yukihiro Matsumoto ae9d9a0781 correctly share string bodies 2012-05-31 22:49:38 +09:00
Yukihiro Matsumoto 16b0a1a0e8 remove unused str_new_frozen 2012-05-31 19:52:46 +09:00
Yukihiro Matsumoto 21c1e2fdad shared strings should not chain 2012-05-31 19:52:37 +09:00
Yukihiro Matsumoto 326fc888e4 allow string shared body 2012-05-31 19:16:48 +09:00
Yukihiro Matsumoto 3055a3bc8c reimplement String#* 2012-05-31 16:34:57 +09:00
Yukihiro Matsumoto 5450f925da reimplement String#<=> 2012-05-31 16:33:03 +09:00
Yukihiro Matsumoto b05014f6a9 reimplement String#capitalize 2012-05-31 16:31:33 +09:00
Yukihiro Matsumoto 0009239f29 reimplement String#chomp 2012-05-31 16:29:47 +09:00
Yukihiro Matsumoto c7f540ed67 reimplement String#upcase 2012-05-31 16:14:50 +09:00
Yukihiro Matsumoto 86697ca7b4 reimplement String#downcase 2012-05-31 16:14:11 +09:00
Yukihiro Matsumoto 1df00298f9 reimplement String#replace 2012-05-31 16:10:28 +09:00
Yukihiro Matsumoto 1f1ab75d75 resolve conflict 2012-05-31 15:33:20 +09:00
Yukihiro Matsumoto 64fc4ac332 resolve conflict 2012-05-31 15:32:38 +09:00
Yukihiro Matsumoto 0d8adaaaa1 wrong String#index behavior on udef INCLUDE_ENCODING 2012-05-31 14:54:52 +09:00
Yukihiro Matsumoto 708c455833 wrong String#inspect behavior on udef INCLUDE_ENCODING 2012-05-31 14:50:16 +09:00
Yukihiro Matsumoto 0e5958d404 rename ruby_digitmap to mrb_digitmap 2012-05-30 21:19:04 +09:00
Masaki Muranaka 34dddc58e1 Use default case in switch statement. 2012-05-29 16:15:43 +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 b68e69aa32 remove unused assignments 2012-05-17 12:57:08 +09:00
Masaki Muranaka c6f0e296bd Remove some redundant function declarations. 2012-05-16 14:31:48 +09:00
Yukihiro Matsumoto f4cf8ea423 partial VC support 2012-05-09 08:49:38 +09:00
Yukihiro Matsumoto 8b1a10ce4b allow compilation without INCLUDE_ENCODING; close #105; encoding support should be removed altogether in the future 2012-05-08 01:23:31 +09:00
Yukihiro Matsumoto d0e63a3a03 RMatch.src should not be mrb_value 2012-05-07 17:31:07 +09:00
roco 4ec6d41f16 rm whitespace 2012-04-30 14:29:19 -07:00
Yukihiro "Matz" Matsumoto 2b6be16308 Merge pull request #61 from pbhogan/fix-warnings
Fix various warnings
2012-04-27 08:56:39 -07:00
Yukihiro Matsumoto fdd4920ffd accessing out of region; fix #68 2012-04-28 00:45:33 +09:00
Yukihiro Matsumoto 32db0e5d8c struct RString member should not be mrb_value 2012-04-28 00:32:34 +09:00
Patrick Hogan 27cfbbe43a size_t is unsigned and can never be < 0
Removed to silence warning.

Signed-off-by: Patrick Hogan <pbhogan@gmail.com>
2012-04-26 08:36:32 -05:00
Yukihiro Matsumoto 2fc1b8af2d mv variable.h to mruby/variable.h 2012-04-24 15:59:50 +09:00
Yukihiro Matsumoto d4ef3baca8 remove code for unsupported taint-mode 2012-04-23 18:30:49 +09:00
mimaki c80487561f Merge branch 'master' of github.com:mruby/mruby
Conflicts:
	src/variable.c
2012-04-23 11:51:47 +09:00
mimaki 835443614d add file header 2012-04-23 11:46:16 +09:00
Yukihiro Matsumoto 41bf311cd1 remove dependency to SIZEOF_INT 2012-04-20 22:31:58 +09:00
Yukihiro Matsumoto 5622c977f4 remove dependency to SIZEOF_VOIDP 2012-04-20 22:25:04 +09:00
mimaki e0d6430f63 add mruby sources 2012-04-20 09:39:03 +09:00