summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-11-30lib/pp.rb (PP.pp): Use io/console's winsize by defaultYusuke Endoh
[Feature #12913]
2021-11-30Cache wheather madvise declaration is needed on SolarisNobuyoshi Nakada
2021-11-30Fix conflicting declaration on SolarisNobuyoshi Nakada
SunC ``` "cont.c", line 24: identifier redeclared: madvise current : function(pointer to char, unsigned int, int) returning int previous: function(pointer to void, unsigned int, int) returning int : "/usr/include/sys/mman.h", line 232 ``` GCC ``` cont.c:24:12: error: conflicting types for 'madvise' 24 | extern int madvise(caddr_t, size_t, int); | ^~~~~~~ In file included from cont.c:16: /usr/include/sys/mman.h:232:12: note: previous declaration of 'madvise' was here 232 | extern int madvise(void *, size_t, int); | ^~~~~~~ ```
2021-11-30Fix `GC.total_time` exampleNobuyoshi Nakada
The result may increase actually or not, since GC can finish shorter than the timer granularity. Notes: Merged: https://github.com/ruby/ruby/pull/5193 Merged-By: nobu <nobu@ruby-lang.org>
2021-11-30[rubygems/rubygems] Fix escape of filenames in `bundle doctor`ooooooo-q
https://github.com/rubygems/rubygems/commit/3ede1435ea
2021-11-30* 2021-11-30 [ci skip]git
2021-11-30Revert "test/socket/test_socket.rb: skip on Solaris"Naohisa Goto
This reverts commit 27fb9d272daaae89089dfb61849ebe8e7aa6c833. The test failure on Solaris 10 is due to incomplete IPv6 configuration on the CI server, that have already been fixed. Reference for the fix: https://centrify.force.com/support/Article/KB-1179-X11-Forwarding-fails-with-Centrify-OpenSSH-5-0-Solaris/
2021-11-30Workaround for implicit declaration of function 'madvise' on SolarisNaohisa Goto
On Solaris, madvise(3C) is NOT defined for SUS (XPG4v2) or later, but MADV_* macros are defined when __EXTENSIONS__ is defined. This may cause compile error on Solaris 10 with GCC when "-Werror=implicit-function-declaration" and "-D_XOPEN_SOURCE=600" are added by configure.
2021-11-29Update to ruby/spec@7f22a0bBenoit Daloze
2021-11-29Update to ruby/mspec@098b320Benoit Daloze
2021-11-29[ci skip] Update documentation for GC.statPeter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/5189
2021-11-29[rubygems/rubygems] Deprecate typo nameNobuyoshi Nakada
https://github.com/rubygems/rubygems/commit/62d54cbf08
2021-11-29Simplify platform check for Windows-UCRTLars Kanis
RUBY_PLATFORM can be used since commit 576b2e64cdc5ea42ad345dd3c1c215e006c06fca . Notes: Merged: https://github.com/ruby/ruby/pull/5168
2021-11-29Consider environment variable case-insensitivenessNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5188
2021-11-29* 2021-11-29 [ci skip]git
2021-11-29[ruby/readline] Suppress constant redefinition warningNobuyoshi Nakada
When already set by `use_lib_reline` in test/readline/helper.rb of readline-ext. https://github.com/ruby/readline/commit/0e3ca3b217
2021-11-28Suppress address-of-packed-member warning by gccNobuyoshi Nakada
2021-11-28[ruby/ostruct] [DOC] Fix code markups [ci skip]Nobuyoshi Nakada
Backquotes are not special characters in RDoc. https://github.com/ruby/ostruct/commit/a901df26b9
2021-11-28* 2021-11-28 [ci skip]git
2021-11-27Enhanced RDoc for numeric.c (#5184)Burdette Lamar
Adds remarks about literals and Kernel methods to Float and Integer. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-27[ruby/cgi] Exclude unused files from built packageNobuyoshi Nakada
https://github.com/ruby/cgi/commit/e840b6c368
2021-11-27[ruby/cgi] Set extconf.rb to extensionsNobuyoshi Nakada
Fix https://github.com/ruby/cgi/pull/11 https://github.com/ruby/cgi/commit/60d8f5e7d9
2021-11-26YJIT: Add ability to exit to interpreter from stubsAlan Wu
Previously, YJIT assumed that it's always possible to generate a new basic block when servicing a stub in branch_stub_hit(). When YJIT is out of executable memory, for example, this assumption doesn't hold up. Add handling to branch_stub_hit() for servicing stubs without consuming more executable memory by adding a code path that exits to the interpreter at the location the branch stub represents. The new code path reconstructs interpreter state in branch_stub_hit() and then exits with a new snippet called `code_for_exit_from_stub` that returns `Qundef` from the YJIT native stack frame. As this change adds another place where we regenerate code from `branch_t`, extract the logic for it into a new function and call it regenerate_branch(). While we are at it, make the branch shrinking code path in branch_stub_hit() more explicit. This new functionality is hard to test without full support for out of memory conditions. To verify this change, I ran `RUBY_YJIT_ENABLE=1 make check -j12` with the following patch to stress test the new code path: ```diff diff --git a/yjit_core.c b/yjit_core.c index 4ab63d9806..5788b8c5ed 100644 --- a/yjit_core.c +++ b/yjit_core.c @@ -878,8 +878,12 @@ branch_stub_hit(branch_t *branch, const uint32_t target_idx, rb_execution_contex cb_set_write_ptr(cb, branch->end_addr); } +if (rand() < RAND_MAX/2) { // Compile the new block version p_block = gen_block_version(target, target_ctx, ec); +}else{ + p_block = NULL; +} if (!p_block && branch_modified) { // We couldn't generate a new block for the branch, but we modified the branch. ``` We can enable the new test along with other OOM tests once full support lands. Other small changes: * yjit_utils.c (print_str): Update to work with new native frame shape. Follow up for 8fa0ee4d404. * yjit_iface.c (rb_yjit_init): Run yjit_init_core() after yjit_init_codegen() so `cb` and `ocb` are available. Notes: Merged: https://github.com/ruby/ruby/pull/5180 Merged-By: XrXr
2021-11-27[rubygems/rubygems] Fix missing locked specs when depended on other platformDavid Rodríguez
https://github.com/rubygems/rubygems/commit/0396e899db
2021-11-27* 2021-11-27 [ci skip]git
2021-11-26Improve performance of embedded string allocationPeter Zhu
Non-VWA embedded string allocation had a performance regression. This commit improves performance of non-VWA embedded string allocation. Notes: Merged: https://github.com/ruby/ruby/pull/5183
2021-11-26mkmf: take `PKG_CONFIG_PATH` from `dir_config` library pathNobuyoshi Nakada
So that version dependent pkg-config files can override files in the default locations. Notes: Merged: https://github.com/ruby/ruby/pull/5182
2021-11-26mkmf: deal with environment variables in MakeMakefile#xpopenNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5182
2021-11-26mkmf: MakeMakefile#xpopen may be passed an option hashNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5182
2021-11-26[MSWin] Replace -Zi in DEBUGFLAGS with -Z7 to suppress warningsNobuyoshi Nakada
2021-11-26Fix a function name in an error messageKazuhiro NISHIYAMA
Notes: Merged: https://github.com/ruby/ruby/pull/5181
2021-11-26Remove unused function `size_pool_for_size`Kazuhiro NISHIYAMA
``` compiling ../gc.c ../gc.c:2444:1: warning: unused function 'size_pool_for_size' [-Wunused-function] size_pool_for_size(rb_objspace_t *objspace, size_t size) ^ 1 warning generated. ``` Notes: Merged: https://github.com/ruby/ruby/pull/5181
2021-11-26Try test_interrupt_in_other_threadNobuyoshi Nakada
Seems working now probably because of system library updates.
2021-11-26initialize allocated memory by VWA for assertionsKoichi Sasada
When `RGENGC_CHECK_MODE` is enable, `obj_memsize_of` is called in `newobj_init` and it expect the memory is zero-cleared.
2021-11-26Move win32ole.gemspec to the proper placeNobuyoshi Nakada
2021-11-26fix to choose correct callcacheKoichi Sasada
It should retun general `cc`, not for overloaded (mandatory only) method call cache. This issue is reported by @shugo and @ktou https://twitter.com/shugomaeda/status/1463699797182119936 Notes: Merged: https://github.com/ruby/ruby/pull/5173
2021-11-26[rubygems/rubygems] Fix `bundle info` sometimes claiming that bundler has ↵David Rodríguez
been deleted https://github.com/rubygems/rubygems/commit/fe1a31db31
2021-11-25YJIT: Introduce jit_putobject (#5179)John Hawthorn
* YJIT: Introduce jit_putobject This extracts the logic previously inside gen_putobject to a more reusable helper method jit_putobject. The motivation for this is that it both simplifies the implementation of other instructions, and other instructions can reuse the optimized behaviour for 32-bit special constants (most importantly opt_getinlinecache). This commit also expands the optimization to use a mov directly to memory when we encounter a 32-bit immediate constant. Previously it covered fixnums and Qtrue/Qfalse, now it will cover any SPECIAL_CONST_P value which can be represented as a 32-bit immediate. Notably, this includes static symbols, and Qnil. * Style touchups and a comment * delete empty line Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> Notes: Merged-By: jhawthorn <john@hawthorn.email>
2021-11-25YJIT: Implement new struct accessors (#5161)John Hawthorn
* YJIT: Implement optimized_method_struct_aref * YJIT: Implement struct_aref without method call Struct member reads can be compiled directly into a memory read (with either one or two levels of indirection). * YJIT: Implement optimized struct aset * YJIT: Update tests for struct access * YJIT: Add counters for remaining optimized methods * Check for INT32_MAX overflow It only takes a struct with 0x7fffffff/8+1 members. Also add some cheap compile time checks. * Add tests for non-embedded struct aref/aset Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> Notes: Merged-By: jhawthorn <john@hawthorn.email>
2021-11-25Correct indentation error in numeric.c (#5178)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-11-25Revert "Add GC.stat_size_pool to get stats for a size pool"Peter Zhu
This reverts commit 6157619bb68e4307cdf065cb73d5bfcec30d042d. We'll wait for comments in the open ticket: https://bugs.ruby-lang.org/issues/18364 Notes: Merged: https://github.com/ruby/ruby/pull/5176
2021-11-25Add GC.stat_size_pool to get stats for a size poolPeter Zhu
GC.stat_size_pool will return stats for a particular size pool. This is used for the Variable Width Allocation feature. Notes: Merged: https://github.com/ruby/ruby/pull/5169
2021-11-26* 2021-11-26 [ci skip]git
2021-11-25Add win32ole to sync_default_gems.rbNobuyoshi Nakada
2021-11-25[ruby/win32ole] Scale timeout in win32oleNobuyoshi Nakada
https://github.com/ruby/win32ole/commit/7e04d0eb3e Notes: Merged: https://github.com/ruby/ruby/pull/5175
2021-11-25[ruby/win32ole] Fix typos [ci skip]Nobuyoshi Nakada
https://github.com/ruby/win32ole/commit/8d46bd0c93 Notes: Merged: https://github.com/ruby/ruby/pull/5175
2021-11-25[ruby/win32ole] LICENSEHiroshi SHIBATA
https://github.com/ruby/win32ole/commit/62fd78078b Notes: Merged: https://github.com/ruby/ruby/pull/5175
2021-11-25Split skipped tests stepNobuyoshi Nakada
2021-11-25Keep the generated source files when clean [Bug #18363]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5174
2021-11-25Ignore pkg-config installation failure due to unmet dependenciesNobuyoshi Nakada