aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a NEWSxibbar2013-05-301-0/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/cgi.rb: Add a document.xibbar2013-05-301-0/+19
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Update doc.akr2013-05-301-1/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rational.c: use existing functionsnobu2013-05-291-6/+4
| | | | | | | * rational.c (f_inspect, f_to_s): use existing functions, rb_inspect and rb_obj_as_string respectively. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-05-30svn2013-05-291-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_profile_enable): rest_sweep() to finish last GC.ko12013-05-292-2/+8
| | | | | | | | | Profiling record is allocated at first of marking phase. Enable at lazy sweeping may cause an error (SEGV). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* GC before running test_copy_stream_socket7naruse2013-05-291-0/+1
| | | | | | | it sometimes occurs NoMemoryError http://c5664.rubyci.org/~chkbuild/ruby-trunk/log/20130529T033302Z.diff.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typokazu2013-05-291-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c: fix WB bug.ko12013-05-292-5/+41
| | | | | | | | | | | | (1) Hash's key also needs WB. (2) callback parameter *key and *value of st_update() is not a storage of st_table itself (only local variable). So that OBJ_WRITE() is not suitable, especially for `!exsinting'. OBJ_WRITTEN() is used instead of OBJ_WRITE(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-05-29svn2013-05-281-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typotmm12013-05-281-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* trivial changekazu2013-05-281-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object_tracing.c: fix argument typenobu2013-05-281-1/+1
| | | | | | | * ext/objspace/object_tracing.c (make_unique_str): fix argument type. use long for string length. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/object_tracing.c: fix a bug reported atko12013-05-283-38/+119
| | | | | | | | | | | | | | | | | | "[ruby-core:55182] [ruby-trunk - Bug #8456][Open] Sugfault in Ruby Head" Care about the case TracePoint#path #=> `nil'. * ext/objspace/object_tracing.c: add two new methods: * ObjectSpace.allocation_class_path(o) * ObjectSpace.allocation_method_id(o) They are not useful for Object.new because they are always "Class" and :new. To trace more useful information, we need to maintain call-tree using call/return hooks, which is implemented by ll-prof <http://sunagae.net/wiki/doku.php?id=software:llprof> * test/objspace/test_objspace.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extmk.rb: untouch makefilesnobu2013-05-282-3/+8
| | | | | | | * ext/extmk.rb (extmake): leave makefiles untouched if the content is not changed, to get rid of unnecessary re-linking. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/objspace: unexpand Author keywordsnobu2013-05-282-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-05-271-80/+80
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/gc_hook.c, ext/objspace/objspace.c: add new methods toko12013-05-273-0/+95
| | | | | | | | | | | | | | hook GC invocation. * ObjectSpace.after_gc_start_hook=(proc) * ObjectSpace.after_gc_end_hook=(proc) Note that hooks are not kicked immediately. Procs are kicked at postponed_job. This feature is a sample of new internal event and rb_postponed_job API. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_stat): remove wrong rest_sweep().ko12013-05-272-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (garbage_collect_body): fix GC_ENABLE_LAZY_SWEEP condition.ko12013-05-272-4/+11
| | | | | | | | | * gc.c (GC_NOTIFY): move debug print location and use stderr instead of stdout. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_trace.c (rb_postponed_job_register_one): fix iteration bug.ko12013-05-274-0/+30
| | | | | | | | | * ext/-test-/postponed_job/postponed_job.c, test/-ext-/postponed_job/test_postponed_job.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_method.rb: fix for direct invocationnobu2013-05-271-1/+1
| | | | | | | * test/ruby/test_method.rb (TestMethod#test___dir__): use aboslute path for the case invoked directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* suppress warningsnobu2013-05-274-3/+6
| | | | | | | | | | | | | | | * ext/-test-/postponed_job/postponed_job.c (pjob_register), (pjob_call_direct): none void function. * ext/-test-/tracepoint/tracepoint.c (tracepoint_track_objspace_events): adjust type to get rid of implicit cast. * ext/objspace/object_tracing.c (newobj_i): ditto. * ext/tk/tkutil/tkutil.c (tk_conv_args): adjust type against RHASH_SIZE(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add a ChangeLog.ko12013-05-271-1/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h, gc.c: add new internal eventko12013-05-275-4/+38
| | | | | | | | | | | | | | | | | | | RUBY_INTERNAL_EVENT_GC_END. This event invokes at the end of after_sweep(). Time chart with lazy sweep is here: (1) Kick RUBY_INTERNAL_EVENT_GC_START (2) [gc_marks()] (3) [lazy_sweep()] (4) [... run Ruby program (mutator) with lazy_sweep() ...] (5) [after_sweep()] (6) Kick RUBY_INTERNAL_EVENT_GC_END (7) [... run Ruby program (mutator), and go to (1) ...] * ext/-test-/tracepoint/tracepoint.c, test/-ext-/tracepoint/test_tracepoint.rb: modify a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-05-28svn2013-05-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_trace.c (rb_postponed_job_flush): remove a wrong comment.ko12013-05-272-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (RHASH_SIZE): Add a cast to suppress aakr2013-05-272-1/+7
| | | | | | | | | warning, comparison between signed and unsigned integer expressions [-Wsign-compare], on ILP32. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: rename RUBY_INTERNAL_EVENT_FREE toko12013-05-276-6/+15
| | | | | | | | | | | RUBY_INTERNAL_EVENT_FREEOBJ. * ext/-test-/tracepoint/tracepoint.c, ext/objspace/object_tracing.c, gc.c, vm_trace.c: catch up this change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-05-270-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/objspace.c: support ObjectSpace.trace_object_allocations.ko12013-05-276-1/+242
| | | | | | | | | | | | | Read the following test to know HOWTO. This feature is a sample of RUBY_INTERNAL_EVENT. * test/objspace/test_objspace.rb: add a test. * ext/objspace/object_tracing.c: ditto. * gc.c (rb_gc_count): add. THis function returns GC count. * internal.h: add decl. of rb_gc_count(). Same as `GC.count'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rbinstall.rb: reject empty filesnobu2013-05-272-3/+14
| | | | | | | | * tool/rbinstall.rb (install_recursive): add maxdepth option. * tool/rbinstall.rb (bin-comm): limit depth of bindir and reject empty files. [ruby-core:55101] [Bug #8432] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c: suppress warningnobu2013-05-271-1/+1
| | | | | | | * vm_insnhelper.c (vm_callee_setup_keyword_arg): suppress -Wsign-compare warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typotmm12013-05-271-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_trace.c (rb_postponed_job_flush, rb_postponed_job_register): useko12013-05-272-2/+7
| | | | | | | | ruby_xmalloc/xfree. It is safe during GC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typoskazu2013-05-271-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-05-270-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * append newline at EOF.nobu2013-05-271-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 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