Activity
From 08/11/2020 to 08/17/2020
08/17/2020
-
09:18 PM Feature #16984 (Closed): Remove write barrier exemption for T_ICLASS
- Applied in changeset commit:git|264e4cd04fbcdcb739a1ff9a84e19afe66005cb2.
----------
Remove write barrier exemption ... -
09:17 PM Revision 264e4cd0 (git): Remove write barrier exemption for T_ICLASS
- Before this commit, iclasses were "shady", or not protected by write
barriers. Because of that, the GC needs to spend... -
06:08 PM Bug #15856: Performance of redundant `Kernel.require` is slow when many gems are activated
- So we've been shipping this patch for 8 months now and not seen any bug reports.
Not sure why we haven't seen any is... -
05:37 PM Feature #17059 (Rejected): epoll as the backend of IO.select on Linux
- > Since the scheduler now have other registration control including rb_io_wait_readable and rb_io_wait_writable are i...
-
12:00 PM Feature #17059: epoll as the backend of IO.select on Linux
- The benchmark looks good. I've tested with similar code, and it's 46x slower on my machine.
It looks like `epoll` is... -
09:53 AM Feature #17059: epoll as the backend of IO.select on Linux
- I understand `epoll` will help by introducing new event handling APIs.
But not sure why `IO.select` can improve the ... -
09:49 AM Feature #17059: epoll as the backend of IO.select on Linux
- I want to know the general idea how to use `epoll` for `IO.select` backend.
```C
#include <stdlib.h>
#include <s... -
09:40 AM Feature #17059: epoll as the backend of IO.select on Linux
- I'm unclear how using `epoll` can help for the user calling `IO.select`.
With the API of select(), I'd expect `epoll`... -
07:37 AM Feature #17059: epoll as the backend of IO.select on Linux
- Thanks for advice.
To separate the process of registration and wait is a good idea for performance.
Since even ... -
05:23 PM Revision bc00e6aa (git): Disable debugging test.
- ```
1) Failure:
TestObjSpace#test_trace_object_allocations [/tmp/ruby/v3/src/trunk-gc_compact/test/objspace/test_ob... - 04:48 PM Revision 1b347534 (git): * 2020-08-18 [ci skip]
-
04:47 PM Revision 971857c3 (git): Fix method name escaping in ObjectSpace.dump
- It's possible to define methods with any name, even if the parser
doesn't support it and it can only be used with ex.... -
01:57 PM Revision b52a501c (git): Ensure the shortcut cached in the class
- As well as the other places using RCLASS_IV_INDEX_TBL.
`IO#reopen` seems the only case that the class of an object ca... -
01:36 PM Revision 27f7b047 (git): Also escape DEL code
-
01:30 PM Revision 7b4b5e08 (git): Fixed the radix for control chars
-
12:56 PM Feature #16815 (Closed): Implement Fiber#backtrace
- Okay, it was merged.
- 12:56 PM Revision 0a218a97 (git): Expose ec -> backtrace (internal) and use it to implement fiber backtrace.
- See <https://bugs.ruby-lang.org/issues/16815> for more details.
-
11:35 AM Feature #16786: Light-weight scheduler for improved concurrency.
- Proposed updated scheduler interface, including some experimental parts from Mutex proposal:
```ruby
class Scheduler... -
11:09 AM Feature #16786: Light-weight scheduler for improved concurrency.
- ## Mutex Implementation
I wanted to give a brief update on this given that the work is happening on a [separate tick... -
11:02 AM Feature #16786: Light-weight scheduler for improved concurrency.
- There has been some discussion about the interface of the Scheduler.
## C Interface Exposure
It was largely cop... - 08:57 AM Revision c45f5ff2 (git): Clarify coroutine implementation license.
- <https://bugs.ruby-lang.org/issues/16805>
-
08:48 AM Misc #16805: Coroutine's license is unclear
- I have merged the license changes as discussed, but we still need to check the license of the code contributed by @Re...
-
07:16 AM Feature #16986: Anonymous Struct literal
- nobu (Nobuyoshi Nakada) wrote in #note-31:
> Do you mean `a:` by "two characters"?
> As `{` is a punctuation, the `a`... -
06:09 AM Feature #16986: Anonymous Struct literal
- okuramasafumi (Masafumi OKURA) wrote in #note-30:
> What about `?{a: 1, b: 2}`?
> Question mark (`?`) is not be abl... -
05:27 AM Revision a90f29eb (git): procnames-start-lines [ci skip]
-
05:25 AM Revision 352e9232 (git): Revisit "Refactor to reduce "swap" instruction of pattern matching"
- Just moved "case base" after allocating cache space.
-
03:17 AM Feature #16792: Make Mutex held per Fiber instead of per Thread
- I have played around with this and I see the most basic operation is a way to tell the scheduler that a fiber can mak...
- 12:29 AM Revision 86260ee9 (git): * 2020-08-17 [ci skip]
-
12:28 AM Revision 5849309c (git): Revert "Refactor to reduce "swap" instruction of pattern matching"
- This reverts commit 3a4be429b50062122d1616256de38649464d3146.
To fix following warning:
```
compiling ../compile.c
...
08/16/2020
-
11:49 PM Feature #17059: epoll as the backend of IO.select on Linux
- This is a nice idea, and I've considered exposing `wait_select` on the scheduler interface.
I'd suggest we try to ... -
09:08 PM Feature #17059: epoll as the backend of IO.select on Linux
- Update the WIP implementation
-
10:24 AM Feature #17059: epoll as the backend of IO.select on Linux
- In general, event handling gems like nio4r could provide a similar `select` interface with multiple backends includin...
-
09:02 AM Feature #17059: epoll as the backend of IO.select on Linux
- @ko1 is not talking about efficiency of epoll in general, but questioning that of your patch.
-
01:12 AM Feature #17059: epoll as the backend of IO.select on Linux
- It should greatly improve the performance.
Advanced registration is a feature of `epoll`,
but the performance is al... -
02:41 PM Revision a73b5cc5 (git): Remove the deprecated override of Kernel#open in open-uri
- This was deprecated in 2.7 to resolve [Misc #15893].
-
09:53 AM Revision 3a4be429 (git): Refactor to reduce "swap" instruction of pattern matching
-
09:39 AM Revision 5c40c88a (git): Adjust sp for `case ... in a: 0 ... end`
-
09:39 AM Revision 691f10dd (git): Adjust sp for `case ... in *, a, * end`
-
09:39 AM Revision 6c407b36 (git): Adjust sp for `case ... in *v end`/`case ... in v1, v2 end`
-
09:39 AM Revision c866d656 (git): Adjust sp for `case ... in v1 ... in v2 end`
-
09:39 AM Revision d5940784 (git): Adjust sp for `case ... in v1, v2 ... end`
-
09:39 AM Revision 2bbb7c3d (git): Adjust sp for `case ... in pat => var ... end`
-
09:39 AM Revision 6bc0c6c1 (git): Adjust sp for `case ... in pat1 | pat2 ... end`
-
09:39 AM Revision 07598624 (git): Adjust sp for pattern matching implicit/explicit "else"
08/15/2020
- 11:43 PM Revision c1e7f0c7 (git): * 2020-08-16 [ci skip]
-
11:43 PM Revision a7bd0ec5 (git): Warn sp overwriting on compile time
-
11:43 PM Revision ac399c2c (git): Show hidden object and TS_BUILTIN for halfbaked insn data
-
04:59 PM Bug #17123 (Third Party's Issue): seg fault with nokogiri and ews
- jreidthompson (Reid Thompson) wrote in #note-2:
> Works fine with libxlm2 v 2.9.9 -
04:47 PM Bug #17123: seg fault with nokogiri and ews
- Works fine with libxlm2 v 2.9.9
-
02:30 AM Bug #17123: seg fault with nokogiri and ews
- libxml2 is 2.9.10
-
02:28 AM Bug #17123 (Third Party's Issue): seg fault with nokogiri and ews
- This is a script that utilizes Ruby-EWS to query an exchange server:
```
$ cat .git/config
[core]
repositoryf... -
03:42 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
- Eregon (Benoit Daloze) wrote in #note-18:
> I ran the measurements on both CRuby master and 2.6.6, with `sqlite3` fo... -
12:23 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
- I tried on TruffleRuby and there I can't see a significant difference (at least for the noplugin case):
https://gist.... -
10:54 AM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
- I ran the measurements on both CRuby master and 2.6.6, with `sqlite3` for convenience.
I see smaller differences, bu... -
10:20 AM Feature #15752: A dedicated module for experimental features
- mame (Yusuke Endoh) wrote in #note-21:
> FYI: [Type-profiler](https://github.com/mame/ruby-type-profiler), which I'm... -
05:17 AM Revision d75433ae (git): [DOC] fixed a missing markup
-
03:39 AM Feature #16815: Implement Fiber#backtrace
- https://github.com/ruby/ruby/pull/3422
-
03:09 AM Revision 4d7818a2 (git): tool/update-deps --fix
-
03:09 AM Revision ff30358d (git): RARRAY_AREF: convert into an inline function
- RARRAY_AREF has been a macro for reasons. We might not be able to
change that for public APIs, but why not relax the...
08/14/2020
- 11:55 PM Revision 72d0f2f0 (git): * 2020-08-15 [ci skip]
-
11:55 PM Revision c84ccf1a (git): Fix links to Dig Methods document (#3421)
- * Fix links to Dig Methods document
* Fix links to Dig Methods document -
05:54 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
- Dan0042 (Daniel DeLorme) wrote in #note-22:
> jeremyevans0 (Jeremy Evans) wrote in #note-18:
> > The behavior chang... -
04:09 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
- jeremyevans0 (Jeremy Evans) wrote in #note-18:
> The behavior change in this issue is to fix an obvious bug, which i... -
03:14 PM Feature #17115: Optimize String#casecmp? for ASCII strings
- In the benchmark you'd need to change the regexp from `/\Afoo\Z/i` to `/\Aconnection\z/i`; if you do so you'll find t...
-
07:33 AM Revision fee1b98f (git): [DOC] fixed the method name
-
07:12 AM Revision e6580402 (git): RSTRING_LEN was not used
-
05:17 AM Feature #16986: Anonymous Struct literal
- > hoge {{a: 1, b: 2}} is not syntax error. {{a: 1, b: 2}} is block argument.
> That means {{ itself is not a syntax ... -
02:39 AM Feature #17122: Add category to Warning#warn
- I guess we want to revisit #11588 .
-
01:48 AM Feature #13893: Add Fiber#[] and Fiber#[]= and restore Thread#[] and Thread#[]= to their original behavior
- Just one more potential interface:
```
class Fiber
attr_accessor :my_fiber_local
end
class Thread
att...
08/13/2020
-
11:51 PM Revision 4318aba9 (git): re.c: prevent "warning: variable 'n' set but not used"
- by adding MAYBE_UNUSED.
-
09:23 PM Feature #17122: Add category to Warning#warn
- jeremyevans0 (Jeremy Evans) wrote in #note-1:
> I don't think we should add a category keyword if the only usage is ... -
09:06 PM Feature #17122: Add category to Warning#warn
- I don't think we should add a category keyword if the only usage is for deprecation warnings. If we are going to do t...
-
08:42 PM Feature #17122 (Closed): Add category to Warning#warn
- Deprecation warnings and other warnings in Ruby have a category (:deprecated, etc) but those categories aren't expose...
-
06:16 PM Revision 22fd617a (git): Adding doc/dig_methods.rdoc and links to it (#3416)
- Adds a full discussion of #dig, along with links from Array, Hash, Struct, and OpenStruct.
CSV::Table and CSV::Row a... - 05:16 PM Revision cead77d8 (git): * 2020-08-14 [ci skip]
- 05:15 PM Revision 511b55bc (git): Enable arm64 optimizations that exist for power/x86 (#3393)
- * Enable unaligned accesses on arm64
64-bit Arm platforms support unaligned accesses.
Running the string benchmarks... -
05:10 PM Bug #17120: String#start_with? return wrong result for Regexp patterns containing /\K/
- Patch: https://github.com/ruby/ruby/pull/3417
-
08:17 AM Bug #17120 (Rejected): String#start_with? return wrong result for Regexp patterns containing /\K/
- `String#start_with?` unexpectedly reports true when the pattern Regexp contains `/\K/` (lookbehind) operator and the ...
-
11:56 AM Revision 787cb0fd (git): Replace repeated RSTRING_PTR and RSTRING_LEN with RSTRING_GETMEM
- As now RSTRING_PTR and RSTRING_LEN are functions, they very bother
stepping in/out during debugging. -
11:54 AM Bug #17118 (Closed): String#index and #rindex return wrong result for Regexp patterns containing /\K/
- Applied in changeset commit:git|014a4fda54cb6897ed54ea9c44376db3459fc46e.
----------
rb_str_{index,rindex}_m: Handle... -
07:26 AM Bug #17118: String#index and #rindex return wrong result for Regexp patterns containing /\K/
- Patch: https://github.com/ruby/ruby/pull/3414
-
07:21 AM Bug #17118 (Closed): String#index and #rindex return wrong result for Regexp patterns containing /\K/
- When the pattern Regexp given to `String#index` and `String#rindex` contain a `/\K/` (lookbehind) operator, these met...
-
11:54 AM Revision 014a4fda (git): rb_str_{index,rindex}_m: Handle /\K/ in pattern
- When the pattern Regexp given to String#index and String#rindex
contain a /\K/ (lookbehind) operator, these methods r... -
11:51 AM Bug #17119 (Closed): String#partition and #rpartition return wrong result for Regexp patterns containing /\K/
- Applied in changeset commit:git|5d71eed1a7f0a70db013de59cd7e95bdca0d5c0e.
----------
rb_str_{partition,rpartition}_m... -
07:26 AM Bug #17119: String#partition and #rpartition return wrong result for Regexp patterns containing /\K/
- Patch: https://github.com/ruby/ruby/pull/3413
-
07:23 AM Bug #17119 (Closed): String#partition and #rpartition return wrong result for Regexp patterns containing /\K/
- When the Regexp pattern given to `String#partition` and `String#rpartition` contain a `/\K/` (lookbehind) operator, t...
-
11:50 AM Revision 5d71eed1 (git): rb_str_{partition,rpartition}_m: Handle /\K/ in pattern
- When the pattern given to String#partition and String#rpartition
contain a /\K/ (lookbehind) operator, the methods re... -
09:58 AM Feature #17121: Remove ENV#index
- Sorry, `ENV#index` is will be remove this pull request(https://github.com/ruby/ruby/pull/3412)
-
09:52 AM Feature #17121 (Open): Remove ENV#index
- `ENV#index` is deprecated since `ruby-1.9.0-0`.
So, remove it.
```bash
root@8785b339158a:/all-ruby# env ALL_R... -
05:56 AM Feature #16986: Anonymous Struct literal
- okuramasafumi (Masafumi OKURA) wrote in #note-27:
> I found that
>
> ``` ruby
> {{a: 1, b: 2}}
> ```
>
> is ... -
01:14 AM Revision 69b5241c (git): ruby_debug_log: suppress warning
- Old gcc (< 5 maybe?) warns that this variable is not initialized:
debug.c: In function 'ruby_debug_log':
deb... -
01:14 AM Revision 1f9e25cd (git): MAYBE_UNUSED should just suffice
- This reverts commit c355fa72d4e356378a8b03a67432b52bafcc308b.
08/12/2020
-
09:29 PM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
- Just to be clear I am +1 on single return target, as described here: https://github.com/jruby/jruby/issues/6350#issue...
-
07:48 PM Feature #16986: Anonymous Struct literal
- okuramasafumi (Masafumi OKURA) wrote in #note-27:
> I found that
>
> ``` ruby
> {{a: 1, b: 2}}
> ```
>
> is a synta... -
05:56 PM Feature #16986: Anonymous Struct literal
- I found that
``` ruby
{{a: 1, b: 2}}
```
is a syntax error and could be a good candidate for this feature. -
06:50 PM Bug #17031 (Open): `Kernel#caller_locations(m, n)` should be optimized
- Reopening this as the commit had to be reverted as CI showed issues in `backtrace_mark`. I can't work on debugging t...
-
06:03 PM Bug #17031 (Closed): `Kernel#caller_locations(m, n)` should be optimized
- Applied in changeset commit:git|f2d7461e85053cb084e10999b0b8019b0c29e66e.
----------
Improve performance of partial ... -
07:14 AM Bug #17031: `Kernel#caller_locations(m, n)` should be optimized
- Thank you Jeremy!
Great patch! -
06:43 PM Revision 4fc6cfbe (git): Revert "Improve performance of partial backtraces"
- This reverts commit f2d7461e85053cb084e10999b0b8019b0c29e66e.
Some CI machines are reporting issues with backtrace_m... - 06:03 PM Revision 6dfd7ad4 (git): * 2020-08-13 [ci skip]
-
06:03 PM Revision f2d7461e (git): Improve performance of partial backtraces
- Previously, backtrace_each fully populated the rb_backtrace_t with all
backtrace frames, even if caller only requeste... -
12:31 PM Feature #17103: Add a :since option to ObjectSpace.dump_all
- @ko1 this parameter allow to do partial heap dumps. e.g. `dump_all(since: 42)`, means to only dump objects of the 42t...
-
07:55 AM Feature #17103: Add a :since option to ObjectSpace.dump_all
- sorry I can't understand the specification.
also https://github.com/ruby/ruby/pull/3368/files doesn't have a doc.
... -
09:47 AM Bug #17117 (Closed): Corruption in ARGF.inplace
-
08:54 AM Revision 166cacc5 (git): Fix corruption in ARGF.inplace
- Extension string stored in `ARGF.inplace` is created using an api
designed for C string constants to create a Ruby st... -
07:38 AM Feature #17059: epoll as the backend of IO.select on Linux
- does it improve the performance?
My understanding is the advantage of `epoll` is advanced registration.
However, `s... -
07:30 AM Bug #17048: Calling initialize_copy on live modules leads to crashes
- sorry I didn't check all threads, but nobu's patch can close it?
-
07:16 AM Misc #17050 (Feedback): profiler gem
- Sorry for late response.
I have a plan to remake current profile library with recent APIs. -
06:36 AM Feature #13381: [PATCH] Expose rb_fstring and its family to C extensions
- > However that terminology is already used for symbols (rb_str_intern).
Yes. This is why we didn't propose it.
-
06:28 AM Feature #16984: Remove write barrier exemption for T_ICLASS
- sorry I didn't check it.
Thank you, ~10 MB in "B's 250 MiB." is not problem I think.
Could you merge it if you do... -
02:42 AM Bug #17108 (Rejected): error: initialization of ‘long unsigned int’ from ‘void *’ makes integer from pointer without a cast
- `rb_funcall` expects a list of `VALUE`s after the number of arguments.
I think you'll want to write:
```C
MQ... -
01:02 AM Bug #17113 (Closed): /\K/ in separator for String#split behaves differently than /(?<=)/
- Applied in changeset commit:git|e79cdcf61b0665d8a9bb309a607227de43e95673.
----------
string.c(rb_str_split_m): Handl... -
01:01 AM Revision e79cdcf6 (git): string.c(rb_str_split_m): Handle /\K/ correctly
- Use BEG(0) instead of the result of rb_reg_search to handle the cases
when the separator Regexp contains /\K/ (lookbe...
08/11/2020
-
08:02 PM Bug #17117 (Closed): Corruption in ARGF.inplace
- Extension string stored in `ARGF.inplace` is created using an api designed for C string constants to create a Ruby st...
-
04:10 PM Feature #17116 (Closed): raise ArgumentError in Enumerator#new in no given blocks
- Currently, `Enumerator#new` allows this code (no block given):
```ruby
obj = Object.new
Enumerator.new(obj)
```... - 04:02 PM Revision 66efe373 (git): * 2020-08-12 [ci skip]
-
04:01 PM Revision 7930a352 (git): Test out fix for OpenSSL test flakiness
- `OpenSSL::TestX509Store#test_verify` has been failing intermittently on
CI about once a day:
- http://ci.rvm.jp/res... -
03:57 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- > another reason is avoidance of alias effects
What you've shown is not another reason for freezing.
`a = b = "... -
06:22 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- bughit (bug hit) wrote in #note-11:
> > However in my view what defines a literal, is the use of a specific syntax, ... -
03:16 PM Feature #17115 (Open): Optimize String#casecmp? for ASCII strings
- Patch: https://github.com/ruby/ruby/pull/3369
`casecmp?` is a kind of performance trap as it's much slower than us... -
03:14 PM Bug #17114: Float is not properly kept as integer when integer is added without space
- Hello,
my fault. Thank you for clarification.
Best regards,
Tammo
-
02:40 PM Bug #17114: Float is not properly kept as integer when integer is added without space
- Hi, it's not a bug. +-1 is a precision argument.
```
irb> 12.34.floor(-1)
=> 10
irb> 12.34.floor(+1)
=> 12.3
... -
02:38 PM Bug #17114 (Rejected): Float is not properly kept as integer when integer is added without space
- This is expected. `1.0.floor + 1` is parsed as `((1.0).floor).+(1)`. `1.0.floor +1` is parsed as `(1.0).floor(+1)`....
-
02:25 PM Bug #17114 (Rejected): Float is not properly kept as integer when integer is added without space
- Hello dear ruby community,
I observed the following behaviour:
``` ruby
1.0.floor +1 # => 1.0
(1.0).floor +1 # ... -
01:49 PM Revision 42725e3a (git): Enable s390x invokebuiltin JIT test again
-
10:03 AM Bug #17113: /\K/ in separator for String#split behaves differently than /(?<=)/
- Patch: https://github.com/ruby/ruby/pull/3407
-
09:59 AM Bug #17113 (Closed): /\K/ in separator for String#split behaves differently than /(?<=)/
- When a String is `#split`ted with a pattern containing /\K/ (lookbehind) operator,
the portion that matches the look... -
09:35 AM Revision 7806b2e2 (git): Use colorize.rb for non-capable terminals
-
09:35 AM Revision 2e7fe3b6 (git): Add default color for each instance
-
08:34 AM Bug #17112: Resolv.getaddress fails with IPv6 link-local addresses
- After some experiments I noticed that changing `use_ipv6?` isn't the whole story.
In `Resolv#each_address` there see... -
07:51 AM Revision 5af983af (git): template/prelude.c.tmpl: suppress clang-12 warning
- Clang 12 warns "suspicious concatenation of string literals in an array
initialization", which is rather annoying tha... -
07:51 AM Revision ef2b785b (git): .github/workflows/compilers.yml: clang-12
- LLVM made release/11.x branch. Its master is now version 12.
-
07:51 AM Revision acd8ee8d (git): tool/prelude.c.tmpl: use RubyVM::CEscape
- Do not repeat yourself.
-
07:51 AM Revision b0eb5aa3 (git): RubyVM::CEscape#rstring2cstr: do not escape '
- A single quote "is representable either by itself or by the escape
sequence", according to ISO/IEC 9899 (checked all ... -
02:43 AM Feature #15281: Speed up Set#intersect with size check.
- Apparently the linked PR has been merged last december 31st.
I note there's no NEWS entry. -
12:23 AM Feature #17000: 2.7.2 turns off deprecation warnings by default
- I think deprecation warnings are necessary if, and only if, a feature or behaviour is going away in the lifespan of t...
-
12:16 AM Bug #17106: Build ruby 2.6.6 from git source
- 47720e2255f34ecad49763c66a7ea02a55a3f60a will fix the error.
But I don't know if it won't cause a regression.
`ruby...
Also available in: Atom