summaryrefslogtreecommitdiff
path: root/include/ruby/ruby.h
AgeCommit message (Collapse)Author
2010-07-26* configure.in: define BROKEN_CLOSE on FreeBSD.naruse
This fixes build failure on MSVC. [ruby-core:31481] * include/ruby/ruby.h, include/ruby/missing.h: use BROKEN_CLOSE for replacing close(2). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-21* configure.in (XCFLAGS): use -fvisibility=hidden if possible.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-20* include/ruby/ruby.h (RSTRING_GETMEM): new macro to get ptr andnobu
len at once. * string.c (rb_str_cmp, str_eql, rb_str_eql): trivial improvements. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-18* include/ruby/ruby.h (rb_data_type_t): add new feature macros.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-18* include/ruby/ruby.h (rb_data_type_t): restructured. [ruby-dev:41862]nobu
add parent member. * error.c (rb_typeddata_inherited_p): new function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-11* include/ruby/ruby.h (rb_cRandom): added.mrkn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-07* missing/close.c: ignore ECONNRESET.naruse
FreeBSD wrongly sets ECONNRESET on close(2) and it causes false-negative exceptions. [ruby-dev:41778] * configure.in: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-24 * include/ruby/ruby.h (static inline rb_gc_guarded_ptr): preventtarui
RB_GC_GUARD_PTR being removed by optimization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-23* include/ruby/ruby.h (CONST_ID_CACHE, rb_intern_const): suppressnobu
warnings with -Wconversion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-21* configure.in (warnflags): add -pedantic if gcc.nobu
* include/ruby/ruby.h (rb_intern): C90 needs nonempty macro arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-09* include/ruby/ruby.h (RB_GC_GUARD_PTR): get rid of removal bynobu
optimization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-28* include/ruby/ruby.h ({RSTRING,RSTRUCT,RBIGNUM}_LENINT): check longnobu
to cast to int. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-04* include/ruby/ruby.h: replace snprintf and vsnprintf bynaruse
ruby_snprintf and ruby_vsnprintf. [ruby-dev:40909] * configure.in: don't check snprintf(3) and vsnprintf(3). * include/ruby/missing.h: don't delare snprintf and vsnprintf. * include/ruby/ruby.h: include stdarg.h. * sprintf.c: include vsnprintf.c * vsnprintf.c: renamed from missing/vsnprintf.c. * vsnprintf.c: remove useless ifdefs. * win32/mkexports.rb: use ruby_snprintf and ruby_vsnprintf. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-01* include/ruby/ruby.h (InitVM): calls per-VM initialization innobu
single VM, but does nothing in MVM. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-01 * include/ruby/ruby.h (PRE_TIMET_PREFIX): define if configure doesn'tusa
defines it. [ruby-core:29190] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-01* include/ruby/ruby.h (RUBY_{DEFAULT,NEVER}_FREE): added.nobu
[ruby-dev:40889] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-16* ruby.h (rb_warning, rb_sys_warning): fixed typo in rdoc.nobu
[ruby-core:28696] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-28* math.c (rb_eMathDomainError): new exception class for representing ↵muraken
mathematical domain error instead of Errno::EDOM. * math.c (domain_check, infinity_check): removed, no longer needed. * math.c (math_atan2, math_acos, math_asin, math_acosh, math_atanh, math_log, math_log2, math_log10, math_sqrt, math_gamma, math_lgamma): mathematical domain errors are checked and raised before calling libm's functions. * test/ruby/test_math.rb: updated for changes of maht.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-25* version.c (RUBY_LIB, RUBY_*_LIB): moved from configures.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-05removes the dtrace support. reverts r26239, r26238 and r26235.yugui
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-03* trace.h: new file. wraps tracing mechanisms.yugui
* defs/dtrace.d: new file. defined a dtrace provider "ruby". * include/ruby/ruby.h (LIKELY): moved from vm.c. (UNLIKELY): ditto. (OBJSETUP): probe "object-create". (RUBY_EVENT_RESCUE): new event. * vm_exec.c (DEBUG_ENTER_INSN): embeded a probe insn-entry into it. (DEBUG_END_INSN): insn-return. * vm.c (LIKELY): moved into ruby.h. (UNLIKELY): ditto. (Init_BareVM): embeded a probe "raise" into it. * variable.c (rb_class2name_without_alloc): new utility function. * tool/rbinstall.rb (install?(:ext, :arch, :'ext-arch')): installs dtrace.d if necessary. * thread_pthread.c (add_signal_thread_list): probe "raise". (rb_thread_create_timer_thread): ditto. * thread.c (rb_thread_schedule_rec): probes "thread-enter" and "thread-leave", (thread_start_func_2): ditto. (thread_cleanup_func): probe "thread-term" * lib/mkmf.rb: supports dtrace postprocessor on making an extension. * iseq.c (rb_vm_insn_name): new utility function. (rb_vm_insn_len): ditto. * insns.def (hook): probes "method-etnry", "method-return", "line", and "rescue". * compile.c (iseq_compile_each): adds a trace op for "rescue" probe. * gc.c (garbage_collect): probes "gc-begin" and "gc-end". (obj_free): probe "object-free" (garbage_collect_with_gvl): probe "raise" (negative_size_allocation_error): ditto. (rb_memerror): ditto. * eval.c (rb_rescue2): probe "rescue" (rb_longjmp): probe "raise" * ext/probe/probe.c: new extension for application defined probes. * ext/probe/extconf.rb: ditto. * configure.in (--with-tracing-model): new option to choose a tracing mechanism. (DTRACE): new substitution. name of dtrace(1). (RUBY_TRACING_MODEL): new substitution. (DTRACE_OBJ): ditto. (MINIDTRACE_OBJ): ditto. (GOLFDTRACE_OBJ): ditto. (LIBRUBY_DTRACE_OBJ): ditto. (RUBY_DTRACE_POSTPROCESS): new macro. checks whether the dtrace on the system needs postprocessing. (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether the dtrace supports USDT. * Makefile.in: (DTRACE): new variable. name of dtrace(1). (TRACING_MODEL): new variable. name of the chosen tracing mechanism. (DTRACE_OBJ): same as the one in configure.in. (MINIDTRACE_OBJ): ditto. (GOLFDTRACE_OBJ): ditto. (LIBRUBY_DTRACE_OBJ): ditto. (CPPOUTFILE): new substitution. necessary for generating dtrace.d (trace_none.h): new target for TRACING_MODEL=none (RUBY_H_INCLUDES): appended a header for tracing. (distclean-local): also removes preprocessed version of dtrace.d ($(LIBRUBY_A)): needs $(LIBRUBY_DTRACE_OBJ) if dtrace needs postprocessing. ($(PROGRAM)): ditto. (golf): ditto. (miniruby): ditto. ($(arch_hdrdir)/ruby/dtrace.d): new target. preprocessed verson of defs/dtrace.d. generated if necessary. ($(arch_hdrdir)/ruby/trace_dtrace.h): new target. definition of probes. ($(LIBRUBY_DTRACE_OBJ)): new target. generated if dtrace needs postprocessing. ($(DTRACE_OBJ)): ditto. ($(MINIDTRACE_OBJ)): ditto. ($(GOLFDTRACE_OBJ)): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-30* include/ruby/ruby.h (RREGEXP_SRC_END): added.naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-24* include/ruby/ruby.h (rb_bug_errno): declared.akr
* include/ruby/intern.h (rb_strerrno): declaration removed. * error.c (rb_strerrno): make it static. return NULL for unknown errors. (rb_bug_errno): defined. * thread_pthread.c: use rb_bug_errno. * signal.c (ruby_signal): use rb_bug_errno. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-15* include/ruby/ruby.h (rb_classext_t): annotate @internal.mame
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-04 * include/ruby/ruby.h (NUM2CHR): prefix __extension__ forshyouhei
braced-groups within expressions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-29* include/ruby/ruby.h (RSTRING_END): trivial optimization.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-11* include/ruby/ruby.h (RB_GC_GUARD_PTR): workaround for gccnobu
optimization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-10* include/ruby/ruby.h (ruby_exec_node): declared.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-07* include/ruby/ruby.h (rb_long2int): evalates the argument onlynobu
once. * struct.c (rb_struct_alloc): check array length overflow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-18* include/ruby/ruby.h (rb_type): forward declaration to suppress anobu
warning. a patch from Naohisa Goto at [ruby-dev:39350] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-14* include/ruby/ruby.h (RB_TYPE_P): should not use BUILTIN_TYPE fornobu
special constants. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-14* include/ruby/ruby.h (NUM2INT, NUM2LL, INT2NUM, UINT2NUM),usa
(LONG2NUM, ULONG2NUM, NUM2CHR): get rid of backward references of macros. the code couldn't compile by VC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-13* configure.in (XLDFLAGS): link startup code with ObjC support.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-13* include/ruby/ruby.h (rb_special_const_p): fixed typo.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-13* include/ruby/ruby.h (SYM2ID): needs parens.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-13* include/ruby/ruby.h (NUM2INT, NUM2LL, INT2NUM, UINT2NUM),nobu
(LONG2NUM, ULONG2NUM, NUM2CHR, rb_type_p, rb_special_const_p): GCC specific optimization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-10* include/ruby/ruby.h (rb_data_type_t): Add comments.ko1
And add a member variable "data", a multi-purpose storage area for rb_data_type. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-09* include/ruby/ruby.h (rb_data_type_struct): constified dsize.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-14* include/ruby/ruby.h (rb_check_safe_str): deprecated.nobu
* ext/openssl/ossl_x509store.c (ossl_x509store_add_{file,path}): replaced deprecated funtion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-10* gc.c: reject unused longlife gc.nari
* debug.c: ditto. * include/ruby/intern.h: ditto. * include/ruby/ruby.h: ditto. * iseq.c: ditto. * node.h: ditto. * vm_insnhelper.c: ditto. * vm_insnhelper.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-07* include/ruby/ruby.h:ko1
rename "...TypeStruct" and "typed_struct" to "TypedData..." and "typeddata", respectively. rename rb_data_type_t#name to rb_data_type_t#wrap_struct_name. * error.c, gc.c, iseq.c, vm.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-07* error.c (rb_typed_struct_is_kind_of): new function to see if thenobu
given typed struct. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-07* error.c (rb_check_typed_struct): new function to check typednobu
struct. * include/ruby/ruby.h (Check_TypedStruct, Data_Get_TypedStruct): new macro to check typed struct. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-23* file.c (rb_get_path_check): check with given safe level.nobu
* file.c (rb_find_file_ext_safe, rb_find_file_safe): ditto. * safe.c (rb_insecure_operation): function to raise security error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-16* include/ruby/ruby.h: New structure RTypedData, added.ko1
This structure incldues more explicit type information for T_DATA objects. If RData(obj)->dfree is immediate value `1' on T_DATA object obj, obj is needed to be accessed with RTYPEDDATA(obj) instead of RDATA(obj). A RTypedData structure points the structure rb_typed_data_t. rb_typed_data_t includes information such as the type name of this data, mark and free function what RData includes, and memsize function show how data consuming the memory size. Note that you do not need any change existing T_DATA objects. If you use RDataType instead of RData on T_DATA object, you can specify explicit type information. * gc.c (rb_data_typed_object_alloc, rb_objspace_data_type_memsize, rb_objspace_data_type_name): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-25* include/ruby/ruby.h (FilePathValue): prevent from GC.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-25* include/ruby/ruby.h (NUM2LONG): added GCC specific optimization.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-21* include/ruby/ruby.h (RB_EVENT_HOOKS_HAVE_CALLBACK_DATA):nobu
new macro for compatibility check. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-20* include/ruby/ruby.h (rb_long2int, RARRAY_LENINT): check long tonobu
cast to int. [ruby-dev:38508] * struct.c, vm_eval.c, vm_insnhelper.c: use RARRAY_LENINT. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-13* gc.c: add longlife garbage collection. [ruby-dev:38423]nari
(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: svn+ssh://ci.ruby-lang.org/ruby/trunk@23421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e