aboutsummaryrefslogtreecommitdiffstats
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* strip trailing spaces [ci skip]Nobuyoshi Nakada2020-09-301-1/+1
|
* Fix up dependencies on internal/sanitizers.hNobuyoshi Nakada2020-09-292-13/+16
|
* Refactor common heap iteration codeAaron Patterson2020-09-281-125/+94
| | | | | We have code common to all heap iteration paths in this file. Refactor such that we keep ASAN checks and flags checks in one place
* Fix ASAN support when invalidating CCsAaron Patterson2020-09-281-2/+2
| | | | | Again, this code is walking the heap. Empty slots can be poisoned, so we need to unpoison before checking the type
* make ext/coverage ASAN friendlyAaron Patterson2020-09-281-0/+8
|
* Make ext/objspace ASAN friendlyAaron Patterson2020-09-282-0/+44
| | | | | ext/objspace iterates over the heap, but some slots in the heap are poisoned, so we need to take care of that when running with ASAN
* ext/socket/ipsocket.c: prevent "warning: unused variable 'resolv_timeout'"Yusuke Endoh2020-09-271-2/+1
|
* update-depsNARUSE, Yui2020-09-261-0/+100
| | | | https://github.com/ruby/ruby/runs/1169621878
* Return nil when argument to ObjectSpace.internal_class_of is T_IMEMOAlan Wu2020-09-251-2/+7
| | | | | | | The added test case crashes the interpreter because it makes ObjectSpace.internal_class_of return the second VALUE slot of an AST imemo object. The second VALUE slot of `struct rb_ast_struct` is not a VALUE and not a pointer to a Ruby object.
* ext/readline/depend: update-deps --fixKenta Murata2020-09-261-0/+50
|
* [ruby/readline-ext] Remove unnecessary header files from dependaycabta2020-09-251-150/+0
| | | | https://github.com/ruby/readline-ext/commit/f9783c0739
* Buffer protocol proposal (#3261)Kenta Murata2020-09-253-0/+567
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add buffer protocol * Modify for some review comments * Per-object buffer availability * Rename to MemoryView from Buffer and make compilable * Support integral repeat count in memory view format * Support 'x' for padding bytes * Add rb_memory_view_parse_item_format * Check type in rb_memory_view_register * Update dependencies in common.mk * Add test of MemoryView * Add test of rb_memory_view_init_as_byte_array * Add native size format test * Add MemoryView test utilities * Add test of rb_memory_view_fill_contiguous_strides * Skip spaces in format string * Support endianness specifiers * Update documentation * Support alignment * Use RUBY_ALIGNOF * Fix format parser to follow the pack format * Support the _ modifier * Parse count specifiers in get_format_size function. * Use STRUCT_ALIGNOF * Fix test * Fix test * Fix total size for the case with tail padding * Fix rb_memory_view_get_item_pointer * Fix rb_memory_view_parse_item_format again
* [flori/json] Fix JSON.load_file docJean Boussier2020-09-251-3/+3
| | | | https://github.com/flori/json/commit/cb61a00ba8
* [flori/json] Partial compliance with doc/method_documentation.rdocBurdetteLamar2020-09-251-17/+7
| | | | https://github.com/flori/json/commit/6dfa885134
* [flori/json] Enhanced RDoc for JSON.dump (#443)Burdette Lamar2020-09-251-11/+23
| | | | | * Enhanced RDoc for JSON.dump https://github.com/flori/json/commit/03f1699ec4
* bundle the LICENSE file in the gemJulien Feltesse2020-09-251-0/+1
|
* [flori/json] Nodoc for recurse_procBurdetteLamar2020-09-251-1/+1
| | | | https://github.com/flori/json/commit/f8c0fe2408
* [flori/json] RDoc for JSON.load with procBurdetteLamar2020-09-251-18/+58
| | | | https://github.com/flori/json/commit/a55c91934e
* unify json-java gemspec with the baselineKarol Bucek2020-09-251-6/+6
|
* [flori/json] RDoc example for JSON.loadBurdetteLamar2020-09-252-14/+88
| | | | https://github.com/flori/json/commit/e4eead665c
* [flori/json] Enhance RDoc for JSON.parseBurdetteLamar2020-09-251-9/+40
| | | | https://github.com/flori/json/commit/33e64ef255
* [flori/json] Move options from #generate and #parse to common areaBurdetteLamar2020-09-252-177/+181
| | | | https://github.com/flori/json/commit/20d7be605a
* [flori/json] Add `load_file` and `load_file!` methods, with tests. Fixes ↵Keith Bennett2020-09-251-0/+10
| | | | | | issue #386. https://github.com/flori/json/commit/0be363c99b
* Add an option to escape forward slash characterJean Boussier2020-09-253-8/+55
| | | | | | | | | | | | | | | | Squashed commit of the following: commit 26d181059989279a79c433cedcd893b4f52e42ee Author: Francois Chagnon <francois.chagnon@jadedpixel.com> Date: Tue Sep 15 21:17:34 2015 +0000 add config options for escape_slash commit fa282334051b16df91ca097dd7304b46f3bc7719 Author: Francois Chagnon <francois.chagnon@jadedpixel.com> Date: Mon Feb 9 21:09:33 2015 +0000 add forward slash to escape character
* Add comments for resolv_timeoutMasaki Matsushita2020-09-251-1/+3
|
* Add resolve_timeout to TCPSocket [Feature #17134]Masaki Matsushita2020-09-256-8/+52
|
* [ruby/psych] Forward keyword arguments in load_file and load_streamJean Boussier2020-09-251-5/+5
| | | | https://github.com/ruby/psych/commit/4e1dd37f09
* [ruby/psych] Bump version to 3.2.0Hiroshi SHIBATA2020-09-251-1/+1
| | | | https://github.com/ruby/psych/commit/181a727c90
* [ruby/psych] Revert psych versionSzymonKowalczyk2020-09-251-1/+1
| | | | https://github.com/ruby/psych/commit/55a294fcd0
* [ruby/psych] Update SNAKEYAML CVE-2017-18640SzymonKowalczyk2020-09-251-2/+2
| | | | | to version 1.26 https://github.com/ruby/psych/commit/b2802135e7
* Remove private_iv_getCharles Oliver Nutter2020-09-252-13/+1
| | | | | | | | | | | | | | | | | | | | | The only remaining use of this function was to get the internal message object from an exception's hidden `mesg` instance variable to allow it to be dumped wiithout converting to a string. As discussed in #103, this exposes internal implementation details of CRuby, and ultimately does not provide any real utility to the user since they can't directly inspect this hidden variable. The test change here is to reflect CRuby behavior that denies equality if the internal message objects do not match, as is the case after the exception has been loaded and now has a simple String value. The impact to users is that exceptions with special hidden message objects will convert those objects to String during marshaling through YAML. I believe this only affects NameError and its descendants, since users can't set this field directly on their own exception types. Fixes #103.
* ext/-test-/RUBY_ALIGNOF: skip C++ when no compiler卜部昌平2020-09-253-6/+10
| | | | C++ compilers are optional. Skip C++ tests when they are absent.
* ext/-test-/RUBY_ALIGNOF: add minimalistic test卜部昌平2020-09-254-0/+189
| | | | | Check if RUBY_ALIGNOF(double) is the alignment to store a double inside of a struct.
* [ruby/io-wait] update required_ruby_versionNobuyoshi Nakada2020-09-191-1/+1
| | | | | | | As d387029f39d976565c955377117103499d47ff09 made io/wait unbuildable with older versions, drop older versions tentatively. Also the change seems to instroduce behavioral incompatibilities, may address them or bump up the version later.
* strip trailing spaces [ci skip]Nobuyoshi Nakada2020-09-191-1/+1
|
* Parse ObjectSpace.dump_all / dump arguments in Ruby to avoid allocation noiseJean Boussier2020-09-152-118/+115
| | | | | | | | | | | | [Feature #17045] ObjectSpace.dump_all should allocate as little as possible in the GC heap Up until this commit ObjectSpace.dump_all allocates two Hash because of `rb_scan_args`. It also can allocate a `File` because of `rb_io_get_write_io`. These allocations are problematic because `dump_all` dumps the Ruby heap, so it should try modify as little as possible what it is observing.
* Optimize Pathname#relative? / absolute?Marc-Andre Lafortune2020-09-141-6/+9
|
* [ruby/zlib] Add Zlib::GzipReader.zcat for handling multiple gzip streams in ↵Jeremy Evans2020-09-141-0/+55
| | | | | | | | | | | | | gz file Most gzip tools support concatenated gz streams in a gz file. This offers a way to handle such gz files in Ruby. Fixes [Bug #9790] Fixes [Bug #11180] Fixes [Bug #14804] https://github.com/ruby/zlib/commit/e2ce56de7d
* Rework console to use `rb_io_wait`.Samuel Williams2020-09-141-29/+29
|
* Standardised scheduler interface.Samuel Williams2020-09-141-90/+119
|
* Add missing breakKazuhiro NISHIYAMA2020-09-111-0/+1
| | | | pointed out by Coverity Scan
* Promote syslog to default gemsHiroshi SHIBATA2020-09-101-0/+23
|
* Optimize ObjectSpace.dump_allJean Boussier2020-09-092-210/+388
| | | | | | | | | | | | | | | | | | The two main optimization are: - buffer writes for improved performance - avoid formatting functions when possible ``` | |compare-ruby|built-ruby| |:------------------|-----------:|---------:| |dump_all_string | 1.038| 195.925| | | -| 188.77x| |dump_all_file | 33.453| 139.645| | | -| 4.17x| |dump_all_dev_null | 44.030| 278.552| | | -| 6.33x| ```
* Add a :since option to dump_allJean Boussier2020-09-091-6/+37
| | | | | | | | | | | | | | | | | This is useful to see what a block of code allocated, e.g. ``` GC.start GC.disable ObjectSpace.trace_object_allocations do # run some code end gc_gen = GC.count allocations = ObjectSpace.dump_all(output: :file, since: gc_gen) GC.enable GC.start retentions = ObjectSpace.dump_all(output: :file, since: gc_gen) ```
* Add FALLTHROUGHKazuhiro NISHIYAMA2020-09-081-0/+3
| | | | | | | | | Pointed out by Coverity Scan ``` ** CID 1466646: Control flow issues (MISSING_BREAK) /ext/-test-/random/loop.c: 63 in loop_get_bytes() ```
* Added `rb_random_base_init`Nobuyoshi Nakada2020-09-071-1/+1
| | | | To enclose the initialization of Random::Base part.
* Added WITH_REAL macrosNobuyoshi Nakada2020-09-071-5/+2
| | | | | | Added `WITH_REAL` versions to `RB_RANDOM_INTERFACE` macros. Also these macros including "without real" versions no longer contain the terminator (semicolon and comma).
* Added `get_real` interfaceNobuyoshi Nakada2020-09-071-0/+10
|
* separate rb_random_tNobuyoshi Nakada2020-09-074-0/+442
| | | | | | | | | | | | * random.c: separate abstract rb_random_t and rb_random_mt_t for Mersenne Twister implementation. * include/ruby/random.h: the interface for extensions of Random class. * DLL imported symbol reference is not constant on Windows. * check if properly initialized.
* Introduce Ractor mechanism for parallel executionKoichi Sasada2020-09-031-14/+15
| | | | | | | | | | | | | | | | This commit introduces Ractor mechanism to run Ruby program in parallel. See doc/ractor.md for more details about Ractor. See ticket [Feature #17100] to see the implementation details and discussions. [Feature #17100] This commit does not complete the implementation. You can find many bugs on using Ractor. Also the specification will be changed so that this feature is experimental. You will see a warning when you make the first Ractor with `Ractor.new`. I hope this feature can help programmers from thread-safety issues.