aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* * properties.nobu2013-05-270-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/-ext-/postponed_job/test_postponed_job.rb: fix typo and class name.ko12013-05-272-2/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-05-270-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h, gc.c, vm_trace.c: add internal events.ko12013-05-2710-11/+207
| | | | | | | | | | | | | | | | | | | | | | | | | * RUBY_INTERNAL_EVENT_NEWOBJ: object created. * RUBY_INTERNAL_EVENT_FREE: object freeed. * RUBY_INTERNAL_EVENT_GC_START: GC started. And rename `RUBY_EVENT_SWITCH' to `RUBY_INTERNAL_EVENT_SWITCH'. Internal events can not invoke any Ruby program because the tracing timing may be critical (under huge restriction). These events can be hooked only by C-extensions. We recommend to use rb_potponed_job_register() API to call Ruby program safely. This change is mostly written by Aman Gupta (tmm1). https://bugs.ruby-lang.org/issues/8107#note-12 [Feature #8107] * include/ruby/debug.h, vm_trace.c: added two new APIs. * rb_tracearg_event_flag() returns rb_event_flag_t of this event. * rb_tracearg_object() returns created/freeed object. * ext/-test-/tracepoint/extconf.rb, ext/-test-/tracepoint/tracepoint.c, test/-ext-/tracepoint/test_tracepoint.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-05-260-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-05-260-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/-test-/postponed_job/postponed_job.c: fix `init' function name.ko12013-05-262-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-05-260-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.nobu2013-05-261-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/debug.h, vm_trace.c: add rb_postponed_job API.ko12013-05-2610-13/+179
| | | | | | | | | | | | | | | | | | | | | | | | | Postponed jobs are registered with this API. Registered jobs are invoked at `ruby-running-safe-point' as soon as possible. This timing is completely same as finalizer timing. There are two APIs: * rb_postponed_job_register(flags, func, data): register a postponed job with data. flags are reserved. * rb_postponed_job_register_one(flags, func, data): same as `rb_postponed_job_register', but only one `func' job is registered (skip if `func' is already registered). This change is mostly written by Aman Gupta (tmm1). https://bugs.ruby-lang.org/issues/8107#note-15 [Feature #8107] * gc.c: use postponed job API for finalizer. * common.mk: add dependency from vm_trace.c to debug.h. * ext/-test-/postponed_job/extconf.rb, postponed_job.c, test/-ext-/postponed_job/test_postponed_job.rb: add a test. * thread.c: implement postponed API. * vm_core.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_stat): collect promote_operation_count andko12013-05-262-4/+27
| | | | | | | | types (RGENGC_PROFILE >= 2). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_stat): collect shade_operation_count,ko12013-05-262-9/+43
| | | | | | | | | | remembered_sunny_object_count and remembered_shady_object_count for each types when RGENGC_PROFILE >= 2. They are informative for optimization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (rb_hash_tbl_raw), internal.h: added.ko12013-05-2610-19/+48
| | | | | | | | | | | | | | | Returns st_table without shading hash. * array.c: use rb_hash_tbl_raw() for read-only purpose. * compile.c (iseq_compile_each): ditto. * gc.c (count_objects): ditto. * insns.def: ditto. * process.c: ditto. * thread.c (clear_coverage): ditto. * vm_insnhelper.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-05-27svn2013-05-261-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/make-snapshot: use ENV["AUTOCONF"] instead of directly usingnaruse2013-05-262-1/+7
| | | | | | literal "autoconf". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-05-26svn2013-05-261-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c, include/ruby/ruby.h: support WB protected hash.ko12013-05-266-43/+101
| | | | | | | | | | | | * constify RHash::ifnone and make new macro RHASH_SET_IFNONE(). * insert write barrier for st_update(). * include/ruby/intern.h: declare rb_hash_set_ifnone(hash, ifnone). * marshal.c (r_object0): use RHASH_SET_IFNONE(). * ext/openssl/ossl_x509name.c (Init_ossl_x509name): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* internal.h: adjust indentnobu2013-05-251-4/+5
| | | | | | * internal.h (RCLASS_SUPER, RCLASS_SET_SUPER): adjust indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/fiddle/test_handle.rb (Fiddle::TestHandle#test_static_sym): adjust ↵ktsj2013-05-251-4/+4
| | | | | | indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/fiddle/test_c_struct_entry.rb,ktsj2013-05-258-21/+49
| | | | | | | | | | test/fiddle/test_c_union_entity.rb, test/fiddle/test_cparser.rb, test/fiddle/test_func.rb, test/fiddle/test_handle.rb, test/fiddle/test_import.rb, test/fiddle/test_pointer.rb: don't run test if the system don't support fiddle. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.nobu2013-05-251-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/pty/pty.c (get_device_once): FreeBSD 10-current and 9-stablenaruse2013-05-252-2/+13
| | | | | | | | added O_CLOEXEC support to posix_openpt, so assume FreeBSD 9.2 or later supports it. http://www.freebsd.org/cgi/query-pr.cgi?pr=162374 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove unused variablenaruse2013-05-251-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * proc.c (rb_method_entry_min_max_arity): fix missing break in switch.mame2013-05-252-0/+9
| | | | | | | | | This was introduced in r38236, which is not intentional apparently. This has caused no actual harm because VM_METHOD_TYPE_OPTIMIZED is not used except for OPTIMIZED_METHOD_TYPE_SEND, but may do in future. Coverity Scan found this inadequacy. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (bracket): fix copy-paste error. When the first and lastmame2013-05-253-1/+13
| | | | | | | | characters of fnmatch range have different length, fnmatch may have wrongly matched a path that does not really match. Coverity Scan found this bug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (after_gc_sweep): reduce full GC timing.ko12013-05-252-4/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* no clearing method cachenobu2013-05-253-0/+9
| | | | | | | | * variable.c (set_const_visibility): return without clearing method cache if no arguments. * vm_method.c (set_method_visibility): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_method.c: quote method namenobu2013-05-252-1/+6
| | | | | | * vm_method.c (set_method_visibility): quote unprintable method name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval.c: rb_frame_callee returns current namenobu2013-05-253-8/+33
| | | | | | | | | | * eval.c (rb_frame_callee): returns the called name of the current frame, not the previous frame. * eval.c (prev_frame_callee, prev_frame_func): rename and make static, as these are used by rb_f_method_name() and rb_f_callee_name() only. * variable.c (set_const_visibility): use the called name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: check argument typenobu2013-05-242-1/+7
| | | | | | * string.c (rb_str_quote_unprintable): check if argument is a string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-05-25svn2013-05-241-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* call rb_frame_callee() only oncenobu2013-05-242-6/+9
| | | | | | | | * eval_error.c (error_pos): no needs to call rb_frame_callee() twice. * safe.c (rb_secure, rb_insecure_operation): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typokazu2013-05-241-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiddle/fiddle.c: fix typo in fiddle doc [Bug #8412]charliesome2013-05-241-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * variable.c (set_const_visibility): use rb_frame_this_func() insteadcharliesome2013-05-243-1/+17
| | | | | | | | of rb_frame_callee() for getting the name of the called method * test/ruby/test_module.rb: add test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: do major/full GC when:ko12013-05-242-29/+58
| | | | | | | | | | | | | | * number of oldgen object is biggger than twice of number of oldgen object at last full GC. * number of remembered shady object is bigger than twice of number of remembered shady object at last full GC. * number of oldgen object and remembered shady object is bigger than half of total object space. (please fix my English!) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * intern.h: remove dangling rb_class_init_copy declarationcharliesome2013-05-242-1/+5
| | | | | | [ruby-core:55120] [Bug #8434] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/strscan/strscan.c (strscan_aref): raise error if givennaruse2013-05-243-7/+32
| | | | | | name reference is not found. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io/console: rdocnobu2013-05-242-0/+8
| | | | | | | | * ext/io/console/console.c (io_getch): add rdoc. * ext/io/console/lib/console/size.rb (IO.console_size): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rename generic io modulesnobu2013-05-242-3/+3
| | | | | | | * ext/io/console/console.c, ext/stringio/stringio.c: rename internally used modules as generic_readable and generic_writable. [Fix GH-315] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (after_gc_sweep, garbage_collect_body): do major GC (full GC)ko12013-05-242-8/+32
| | | | | | | | | | before extending heaps. TODO: do major GC when there are many old (promoted) objects. * gc.c (after_gc_sweep): remove TODO comments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Disable clang on travis because it causes many false negativenaruse2013-05-241-1/+1
| | | | | | https://travis-ci.org/ruby/ruby/builds/7448421 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: no runtime path to -Lnobu2013-05-242-1/+9
| | | | | | | | | * configure.in (LIBRUBY_RPATHFLAGS): do not append -L option with runtime library directory if cross compiling, but only -R option. runtime path makes no sense on the host system. [ruby-dev:47363] [Bug #8443] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* reapply r40839 [Fixes GH-316]zzak2013-05-231-14/+24
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_obj_clone): should not propagate OLDGEN status.ko12013-05-232-2/+9
| | | | | | | | This propagation had caused WB miss for class. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typokazu2013-05-231-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-05-24svn2013-05-231-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extmk.rb: don't duplicatenobu2013-05-231-1/+3
| | | | | | * ext/extmk.rb (extract_makefile): do not add dldflags if duplicated. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add a comment.akr2013-05-231-0/+16
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* load.c: fix invalid readnobu2013-05-232-5/+11
| | | | | | | | * load.c (loaded_feature_path): fix invalid read by index underflow. the beginning of name is also a boundary as well as just after '/'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e