| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
| |
new macro for compatibility check.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
| |
cast to int. [ruby-dev:38508]
* struct.c, vm_eval.c, vm_insnhelper.c: use RARRAY_LENINT.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(NORMAL_HEAPS_USED): new macro.
(LONGLIFE_ALLOCATE_HEAPS_MIN): ditto.
(add_longlife_heaps_slot): new function.
(rb_newobj_from_longlife_heap): ditto.
(rb_newobj_longlife): ditto.
(rb_node_newnode_longlife): ditto.
(rb_gc_write_barrier): ditto.
(remembered_set_recycle): ditto.
(rb_gc_mark_remembered_set): ditto.
(clear_mark_longlife_heaps): ditto.
(gc_sweep_for_longlife): ditto.
(assign_heap_slot): new argumnent to longlife heaps slot.
(add_freelist): ditto.
(gc_sweep): avoid lonlife heap slot. set longlife_collection
flag at add heap.
(rb_gc_force_recycle): avoid mark object and remembered_set
object.
(garbage_collect): add longlife collection.
(rb_gc_start): invoke longlife collection.
(gc_profile_record_get): for longlife collction profile.
(gc_profile_result): ditto.
* include/ruby/intern.h (rb_gc_write_barrier): declared.
* include/ruby/ruby.h (FL_REMEMBERED_SET): renamed from FL_RESERVED.
* debug.c (FL_REMEMBERED_SET): ditto.
* insns.def (setinlinecache): insert write barrier.
* vm_insnhelper.c (vm_method_search): ditto.
* set_relation (set_relation): use longlife object.
* vm.c (vm_define_method): ditto.
* vm_core.h (NEW_INLINE_CACHE_ENTRY): ditto.
* vm_method.c (rb_add_method): ditto.
* class.c (rb_add_method): ditto.
* node.h (NEW_NODE_LONGLIFE): new macro.
(rb_node_newnode_longlife): declared.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
| |
undefined. should use outermost VALUE for ruby_init_stack.
* gc.c (ruby_get_stack_grow_direction, Init_stack): allows volatile
pointer.
* thread_*.c (ruby_init_stack): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(rb_mWaitWritable): defined.
(io_getpartial): extend IO::WaitReadable on EWOULDBLOCK and EAGAIN.
(rb_io_write_nonblock): extend IO::WaitWritable on EWOULDBLOCK and
EAGAIN.
* error.c (make_errno_exc): extracted from rb_sys_fail.
(rb_mod_sys_fail): new function.
* include/ruby/ruby.h (rb_mod_sys_fail): declared.
(rb_mWaitReadable): declared.
(rb_mWaitWritable): declared.
* ext/socket/init.c (rsock_s_recvfrom_nonblock): extend
IO::WaitReadable on EWOULDBLOCK and EAGAIN.
(rsock_s_accept_nonblock): extend IO::WaitReadable on EWOULDBLOCK,
EAGAIN, ECONNABORTED and EPROTO.
* ext/socket/socket.c (sock_connect_nonblock): extend IO::WaitWritable
on EINPROGRESS.
* ext/socket/ancdata.c (bsock_sendmsg_internal): extend
IO::WaitWritable on EWOULDBLOCK and EAGAIN.
(bsock_recvmsg_internal): extend IO::WaitReadable on EWOULDBLOCK and
EAGAIN.
* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): raise SSLError
extended by IO::WaitReadable/IO::WaitWritable on
SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE.
* ext/openssl/ossl.c (ossl_make_error): extracted from ossl_raise.
(ossl_exc_new): new function.
* ext/openssl/ossl.h (ossl_exc_new): declared.
* lib/net/protocol.rb (rbuf_fill): rescue IO::WaitReadable and
IO::WaitWritable.
[ruby-core:22539], [ruby-dev:38140]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
| |
* include/ruby/ruby.h (OBJ_{TAINTED,UNTRUSTED,FROZEN}): return int.
* include/ruby/encoding.h (ENC_CODERANGE): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
| |
against curses.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* include/ruby/ruby.h (NUM2INT, rb_special_const_p): returns true
and false instead of Qtrue and Qfalse for platforms where VALUE
is bigger than int.
* gc.c (gc_stress_set), ext/openssl/ossl_asn1.c (decode_bool): got
rid of variables named `bool'.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
| |
#singleton_methods and so on return Symbols. [ruby-talk:328775]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
| |
(rb_str2cstr): removed.
* object.c (rb_str2cstr): removed.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
| |
instead of uintptr_t, since many %lx and so on are still used.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
| |
if not, cause compile error in using PRI?VALUE.
* win32/Makefile.sub (config.h): add SIZEOF_INTPTR_T and
SIZEOF_UINTPTR_T for SIZEOF_VALUE.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
name if no default type is given.
* configure.in (RUBY_DEFINT): checks size.
* include/ruby/ruby.h (VALUE): use uintptr_t if available.
* include/ruby/ruby.h (PRI_PTRDIFF_PREFIX, PRI_SIZE_PREFIX):
assumes usable if PRIdPTR is defined.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
| |
* ext/curses/curses.c (curses_getch): 1.9 getch should return one
character string for single byte string. wchar_t support may
follow in the future.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
string in internal encoding to external to export.
* string.c (rb_str_export): new function to do conversion to
external encoding.
* ext/sdbm/init.c: encoding conversion support.
* ext/dbm/dbm.c: ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
| |
* variable.c (*_getter, *_setter, *_marker): made public.
* include/ruby/ruby.h (rb_gvar_*_{getter,setter,marker}): declared.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
struct RArray for # of elements <= 3.
* array.c: ditto.
* gc.c (gc_mark_children): following the change of struct RArray.
* ext/tk/tcltklib.c (ip_ruby_cmp): ditto.
* parse.y (coverage): ditto.
* proc.c (curry): ditto.
* .gdbinit: ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* error.c: ditto.
* eval.c: ditto.
* eval_intern.h: ditto.
* include/ruby/defines.h: ditto.
* include/ruby/ruby.h: ditto.
* io.c: ditto.
* process.c: ditto.
* ruby.c: ditto.
* vms/config.h: removed.
* vms/vms.h: ditto.
* vms/vmsruby_private.c: ditto.
* vms/vmsruby_private.h: ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
| |
Precision module was temporarily removed at r19430.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
| |
superclass for all encoding related exception classes,
e.g. Encoding::CompatibilityError. [ruby-dev:36371]
* transcode.c (Init_transcode): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
uses "imag" instead of "image".
* complex.c: two instance method re and im are removed.
* rational.c: follows the above changes.
* include/ruby/ruby.h: ditto.
* gc.c: ditto.
* lib/cmath.rb: ditto.
* lib/mathn.rb: ditto.
* lib/complex.rb: ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
| |
a patch from Tadashi Saito <shiba at mail2.accsnet.ne.jp> in
[ruby-dev:36346].
* encoding.c (Init_Encoding): rename EncodingCompatibilityError to
Encoding::CompatibilityError. [ruby-dev:36366]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
to rb_gc_register_mark_object().
* eval.c, vm.c: initialize vm->mark_object_ary at
Init_top_self().
* bignum.c, complex.c, encoding.c, ext/win32ole/win32ole.c,
io.c, load.c, marshal.c, rational.c, ruby.c, vm.c:
use rb_gc_register_mark_object() instead of
rb_global_variable() or rb_gc_register_address().
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
| |
a patch from Tadashi Saito <shiba at mail2.accsnet.ne.jp>
in [ruby-dev:36102].
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
| |
(UINT2NUM): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the argument only once.
`t = Object.new; def t.*(x) p x; 0 end; p Time.at(0, t)' did print x
twice.
(NUM2INT): ditto.
(NUM2LL): ditto.
(INT2NUM): make it inline function.
(LONG2NUM): ditto.
(UINT2NUM): ditto.
(ULONG2NUM): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
| |
macros for ssize_t.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(rb_obj_untrust): new method Object#untrust.
(rb_obj_trust): new method Object#trust.
* array.c, debug.c, time.c, include/ruby/ruby.h, re.c, variable.c,
string.c, io.c, dir.c, vm_method.c, struct.c, class.c, hash.c,
ruby.c, marshal.c: fixes for Object#untrusted?.
* test/ruby/test_module.rb, test/ruby/test_array.rb,
test/ruby/test_object.rb, test/ruby/test_string.rb,
test/ruby/test_marshal.rb, test/ruby/test_hash.rb: added tests for
Object#untrusted?.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* include/ruby/ruby.h: ditto.
* encoding.c (rb_enc_check): use rb_eEncCompatError.
* string.c (rb_enc_cr_str_buf_cat): ditto.
* string.c (rb_str_sub_bang): ditto.
* string.c (rb_str_hex): ditto.
* string.c (rb_str_oct): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
| |
RSTRING_EMBED_LEN_MAX + 1.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gc.c: fix deferred finalizer system. finalize processes of
T_DATA and T_FILE are executed after gc process.
And fix to use BUILTIN_TYPE() instead of seeing flag.
* thread.c, vm_core.h: add RUBY_VM_SET_FINALIZER_INTERRUPT()
and check intterupt_flag at rb_thread_execute_interrupts().
* thread.c (mutex_mark): fix to mark next_mutex.
* vm.c (rb_thread_mark): fix to mark keeping_mutexes.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
| |
* {bcc32,win32}/Makefile.sub: (SIZEOF_SIZE_T, SIZEOF_PTRDIFF_T): added.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
| |
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* include/ruby/ruby.h (PRI?PTRDIFF, PRI?SIZE): printf conversion
specifiers for ptrdiff_t and size_t/ssize_t.
* insns.def (leave), marshal.c (long_toobig), transcode.c
(str_transcode), vm_dump.c (control_frame_dump, stack_dump_each),
(debug_print_register, debug_print_pre): t and z length modifiers
are C99.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
| |
routines are called before initializing ruby on some platforms (ex.
windows).
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
| |
* include/ruby/ruby.h: related changes.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
| |
(FIX2INT): ditto.
(NUM2UINT): cast to unsigned int.
(FIX2UINT): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
| |
* include/ruby/ruby.h: add RUBY_EVENT_COVERAGE event.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
comma at end of enumerator list
* include/ruby/ruby.h (enum ruby_value_type): ditto.
* eval_intern.h (enum): ditto.
* vm_core.h (enum rb_thread_status): ditto.
* parse.y (enum lex_state_e): ditto.
* parse.y (enum string_type): ditto.
* process.c (enum): ditto.
* ruby.c (enum dump_flag_bits): ditto.
* ruby.c (enum disable_flag_bits): ditto.
* compile.c (iseq_link_element): ditto
* debug.c (union): ditto.
* cont.c (enum context_type): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
braced-groups within expressions.
* include/ruby/intern.h (rb_usascii_str_new2): ditto.
* include/ruby/intern.h (rb_tainted_str_new2): ditto.
* include/ruby/intern.h (rb_str_new2): ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
| |
VM -> RubyVM, and rename rb_cVM -> rb_cRubyVM.
"VM" is too short name for class.
* test/ruby/test_method.rb, test/ruby/test_settracefunc.rb: ditto.
* include/ruby/ruby.h: rb_cRubyVM, rb_cEnv, rb_cISeq should not be
exposed.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
str and len by src.
* gc.c (gc_mark_children): mark src field of regexp.
(obj_free): don't free str field.
* re.c (REG_BUSY): removed.
(rb_reg_initialize): prohibit re-initialize regexp.
(rb_reg_search): use usecnt to prevent freeing regexp currently
using. this prevents SEGV by:
r = /\A((a.)*(a.)*)*b/
r =~ "ab" + "\xc2\xa1".force_encoding("euc-jp")
t = Thread.new { r =~ "ab"*8 + "\xc2\xa1".force_encoding("utf-8")}
sleep 0.2
r =~ "ab"*8 + "\xc2\xa1".force_encoding("euc-jp")
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|