aboutsummaryrefslogtreecommitdiffstats
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
...
* objspace_dump.c: extract output option utilitiesnobu2013-11-091-45/+44
| | | | | | | | * ext/objspace/objspace_dump.c (dump_output, dump_result): extract output option utility functions from objspace_dump() and objspace_dump_all(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* objspace_dump.c: suppress warningsnobu2013-11-091-3/+1
| | | | | | | * ext/objspace/objspace_dump.c (dump_object): remove unused variables, and cast size_t to long. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* objspace_dump.c: indentnobu2013-11-091-91/+91
| | | | | | * ext/objspace/objspace_dump.c: adjust indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/dl/cfunc.c: [DOC] fix typo in example [Bug #8944]zzak2013-11-091-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/object_tracing.c: Add experimental methods to dumptmm12013-11-085-14/+447
| | | | | | | | objectspace as json: ObjectSpace.dump_all and ObjectSpace.dump(obj). These methods are useful for debugging reference leaks and memory growth in large ruby applications. [Bug #9026] [ruby-core:57893] [Fixes GH-423] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/object_tracing.c: [DOC] trace_object_allocations_stopzzak2013-11-071-2/+2
| | | | | | | By @srawlins [Fixes GH-421] https://github.com/ruby/ruby/pull/421 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/psych/lib/psych/visitors/to_ruby.rb: process merge keys beforetenderlove2013-11-051-9/+5
| | | | | | | | reviving objects. Fixes GH psych #168 * test/psych/test_merge_keys.rb: test for change https://github.com/tenderlove/psych/issues/168 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* pty.c: check error of seteuidnobu2013-11-051-1/+1
| | | | | | | * ext/pty/pty.c (chfunc): check error of seteuid and return error message, to suppress unused-value warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: add support to estimate increase of oldspace memory usage.ko12013-11-051-127/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is another approach to solve an issue discussed at r43530. This feature is diabled as default. This feature measures an increment of memory consuption by oldgen objects. It measures memory consumption for each objects when the object is promoted. However, measurement of memory consumption is not accurate now. So that this measurement is `estimation'. To implement this feature, move memsize_of() function from ext/objspace/objspace.c and expose rb_obj_memsize_of(). Some memsize() functions for T_DATA (T_TYPEDDATA) have problem to measure memory size, so that we ignores T_DATA objects now. For example, some functions skip NULL check for pointer. The macro RGENGC_ESTIMATE_OLDSPACE enables/disables this feature, and turned off as default. We need to compare 3gen GC and this feature carefully. (it is possible to enable both feature) We need a help to compare them. * internal.h: expose rb_obj_memsize_of(). * ext/objspace/objspace.c: use rb_obj_memsize_of() function. * cont.c (fiber_memsize): fix to check NULL. * variable.c (autoload_memsize): ditto. * vm.c (vm_memsize): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/psych/lib/psych/visitors/yaml_tree.rb: make less garbage whentenderlove2013-10-291-7/+11
| | | | | | testing if a string is binary. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/psych/lib/psych/visitors/yaml_tree.rb: string subclasses shouldtenderlove2013-10-291-2/+3
| | | | | | | | | not be considered to be binary. Fixes Psych / GH 166 https://github.com/tenderlove/psych/issues/166 * test/psych/test_string.rb: test for fix git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * add RUBY_TYPED_FREE_IMMEDIATELY to data types which only useko12013-10-294-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | safe functions during garbage collection such as xfree(). On default, T_DATA objects are freed at same points as fianlizers. This approach protects issues such as reported by [ruby-dev:35578]. However, freeing T_DATA objects immediately helps heap usage. Most of T_DATA (in other words, most of dfree functions) are safe. However, we turned off RUBY_TYPED_FREE_IMMEDIATELY by default for safety. * cont.c: ditto. * dir.c: ditto. * encoding.c: ditto. * enumerator.c: ditto. * error.c: ditto. * file.c: ditto. * gc.c: ditto. * io.c: ditto. * iseq.c: ditto. * marshal.c: ditto. * parse.y: ditto. * proc.c: ditto. * process.c: ditto. * random.c: ditto. * thread.c: ditto. * time.c: ditto. * transcode.c: ditto. * variable.c: ditto. * vm.c: ditto. * vm_backtrace.c: ditto. * vm_trace.c: ditto. * ext/bigdecimal/bigdecimal.c: ditto. * ext/objspace/objspace.c: ditto. * ext/stringio/stringio.c: ditto. * ext/strscan/strscan.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/readline/readline.c (readline_getc): Considerakr2013-10-291-0/+2
| | | | | | | | NULL as input. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/-test-/file/depend, ext/-test-/postponed_job/depend,akr2013-10-283-0/+4
| | | | | | | | ext/-test-/tracepoint/depend: New files for dependencies. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: work around of dependencynobu2013-10-282-2/+4
| | | | | | | | | * ext/openssl/depend (ossl.o): work around of dependency of thread_native.h, which depends on headers by THREAD_MODEL. [ruby-dev:47777] * ext/openssl/extconf.rb: need THREAD_MODEL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk, ext/objspace/depend, ext/coverage/depend,akr2013-10-286-3/+14
| | | | | | | ext/-test-/debug/depend, ext/date/depend: Update dependencies. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/readline/readline.c: Include ruby/thread.h forakr2013-10-271-77/+103
| | | | | | | | | | | | | | | | | | | | | | | | rb_thread_call_without_gvl2. (readline_rl_instream, readline_rl_outstream): Record FILE structures allocated by this extension. (getc_body): New function extracted from readline_getc. (getc_func): New function. (readline_getc): Use rb_thread_call_without_gvl2 to invoke getc_func. [ruby-dev:47033] [Bug #8749] (clear_rl_instream, clear_rl_outstream): Close FILE structure allocated by this extention reliably. [ruby-core:57951] [Bug #9040] (readline_readline): Use clear_rl_instream and clear_rl_outstream. (readline_s_set_input): Set readline_rl_instream. (readline_s_set_output): Set readline_rl_outstream. (Init_readline): Don't call readline_s_set_input because readline_getc doesn't block other threads for any FILE structure now. [ruby-dev:47033] [Bug #8749] reported by Nobuhiro IMAI. [ruby-core:57951] [Bug #9040] reporeted by Eamonn Webster. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* variable.c: real class namenobu2013-10-193-0/+32
| | | | | | | | * variable.c (rb_class2name): should return real class name, not singleton class or iclass. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bug_reporter.c: suppress warningsnobu2013-10-171-2/+2
| | | | | | | | | | | * ext/-test-/bug_reporter/bug_reporter.c (sample_bug_reporter): cast via uintptr_t to suppress warning cast between pointer and different size integer by gcc 4.8. * ext/-test-/bug_reporter/bug_reporter.c (register_sample_bug_reporter): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/object_tracing.c (newobj_i): fix memory leak.ko12013-10-171-2/+7
| | | | | | | | | | There is possibility to remain info due to missing FREEOBJ event. FREEOBJ events are skipped while suppress_tracing state, for example, during trace events are invoking. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bug_reporter.c: suppress warningsnobu2013-10-171-1/+1
| | | | | | | * ext/-test-/bug_reporter/bug_reporter.c (register_sample_bug_reporter): cast to suppress warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.nobu2013-10-172-25/+25
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/object_tracing.c (newobj_i): add workaround.ko12013-10-161-2/+2
| | | | | | | | | some bugs hits this check. * ext/objspace/object_tracing.c (object_allocations_reporter_i): cast as pointer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/curses/curses.c: [DOC] Cleaned up formatting consistency of rdoczzak2013-10-161-26/+34
| | | | | | | | | | comments for Curses, including period spacing and column width. This patch also fixed some typos. Thanks to @postmodern for the patch! [Fixes GH-420] https://github.com/ruby/ruby/pull/420 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/date/date_core.c: [DOC] plural grammar fixed by @scott113341zzak2013-10-161-4/+4
| | | | | | | | Contributed via documenting-ruby.org: documenting-ruby/ruby#16 https://github.com/documenting-ruby/ruby/pull/16 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/io/nonblock/nonblock.c: [DOC] Document io/nonblock by reprahzzak2013-10-161-0/+23
| | | | | | | | [Fixes GH-418] https://github.com/ruby/ruby/pull/418 based on the original discussion from documenting-ruby/ruby#18 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/object_tracing.c: add new methodko12013-10-161-6/+76
| | | | | | | | | | ObjectSpace.trace_object_allocations_debug_start for GC debugging. If you encounter the BUG "... is T_NONE" (and so on) on your application, please try this method at the beggining of your app. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/io/nonblock/nonblock.c: use rb_cIO instead of VALUEzzak2013-10-161-5/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * error.c, internal.h (rb_bug_reporter_add): add a new C-API.ko12013-10-162-0/+25
| | | | | | | | | | | | rb_bug_reporter_add() allows to register a function which is called at rb_bug() called. * ext/-test-/bug_reporter/bug_reporter.c: add a test for this C-API. * ext/-test-/bug_reporter/extconf.rb: ditto. * test/-ext-/bug_reporter/test_bug_reporter.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/objspace.c: add a new method `reachable_objects_from_root'.ko12013-10-161-0/+65
| | | | | | | | | | | ObjectSpace.reachable_objects_from_root returns all objects refered from root (called "root objects"). This feature is for deep object analysis. * test/objspace/test_objspace.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkmf.rb: fix framework optionnobu2013-10-141-2/+2
| | | | | | | | * lib/mkmf.rb (have_framework): should append framework options to $LIBS, not $LDFLAGS. the former is propagated to exts.mk when enable-static-linked-ext. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/gc_hook.c: prohibit reentrant.ko12013-10-111-5/+28
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/debug.h,ko12013-10-091-0/+1
| | | | | | | | | | | | | | vm_backtrace.c (rb_profile_frame_full_label): add new C API rb_profile_frame_full_label() which returns label with qualified method name. Note that in future version of Ruby label() may return same return value of full_label(). * ext/-test-/debug/profile_frames.c, test/-ext-/debug/test_profile_frames.rb: fix a test for this change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_backtrace.c, include/ruby/debug.h: add new APIsko12013-10-081-0/+2
| | | | | | | | | | | | | * VALUE rb_profile_frame_method_name(VALUE frame) * VALUE rb_profile_frame_qualified_method_name(VALUE frame) * iseq.c (rb_iseq_klass), internal.h: add new internal function rb_iseq_method_name(). * ext/-test-/debug/profile_frames.c (profile_frames), test/-ext-/debug/test_profile_frames.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/-test-/debug/profile_frames.c:ko12013-10-071-0/+40
| | | | | | | | test/-ext-/debug/test_profile_frames.rb: add a test for new C-APIs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/dbm/dbm.c: [DOC] Fix wrong constant name in DBM by @edwardzzak2013-10-041-1/+1
| | | | | | | [Fixes GH-409] https://github.com/ruby/ruby/pull/409 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/thread/thread.c (ALIAS_GLOBAL_CONST): fix typo, GLOBCAL.nobu2013-10-021-5/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/thread/thread.c (Init_thread): move outer module condition.nobu2013-10-021-3/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/ifaddr.c (rsock_getifaddrs): fix possible memory leak.mame2013-10-021-0/+4
| | | | | | | | | When a system had no interface, this function used xmalloc for root but did not return any reference to it. This patch fixes it by immediately returning an empty array if no interface is found. Coverity Scan found this bug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file/stat.c: fix commit missnobu2013-10-013-0/+45
| | | | | | * ext/-test-/file/stat.c: extension library to test [Feature #8050]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/objspace.c: [DOC] Cleaned up many rdoc formattingzzak2013-09-301-55/+57
| | | | | | | issues and several duplicate grammar bugs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/object_tracing.c: [DOC] Adjust rdoc formatting and fixzzak2013-09-301-6/+5
| | | | | | | small grammar typo git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/object_tracing.c: [DOC] add some nots forko12013-09-301-1/+4
| | | | | | | | ObjectSpace::trace_object_allocations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/objspace/object_tracing.c: add new 3 methods to control tracing.ko12013-09-301-37/+109
| | | | | | | | | | | | | * ObjectSpace::trace_object_allocations_start * ObjectSpace::trace_object_allocations_stop * ObjectSpace::trace_object_allocations_clear And some refactoring. * test/objspace/test_objspace.rb: add a test for new methods. * NEWS: add a description for new methods. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: fix inconsistency with literalsnobu2013-09-291-1/+10
| | | | | | | | * parse.y (rb_id_attrset): fix inconsistency with literals, allow ID_ATTRSET and return it itself, but ID_JUNK cannot make ID_ATTRSET. and raise a NameError instead of rb_bug() for invalid argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/curses/extconf.rb: check the size of chtype.shugo2013-09-272-5/+23
| | | | | | | | | * ext/curses/curses.c (NUM2CH, CH2NUM): use proper macros for the size of chtype. [ruby-core:56090] [Bug #8659] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c: [DOC] several fixes by @chastellzzak2013-09-261-14/+14
| | | | | | | | | This includes fixing the capitalization of Infinity, return value of example "BigDecimal.new('NaN') == 0.0", and code style in example. [Fixes GH-398] https://github.com/ruby/ruby/pull/398 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/digest/digest.c: [DOC] typo in overview by @chastellzzak2013-09-261-2/+1
| | | | | | | [Fixes GH-399] https://github.com/ruby/ruby/pull/399 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/ossl.c: [DOC] typo in example by @zoranzariczzak2013-09-261-1/+1
| | | | | | | [Fixes GH-401] https://github.com/ruby/ruby/pull/401 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/registry.rb: size in bytesnobu2013-09-241-3/+6
| | | | | | | * ext/win32/lib/win32/registry.rb (Win32::Registry#write): data size is in bytes, not chars. terminators should be placed automatically. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e