Activity
From 07/03/2018 to 07/09/2018
07/09/2018
-
08:01 PM Revision d8583b13 (git): Remove redundant code in the compiler.
- During instruction translation (linked list -> iseq generation), we can
treat `TS_VALUE` and `TS_ISEQ` the same as th... -
07:20 PM Revision 162cbfe6 (git): Remove test code. ISE generation should not impact write barrier
- orz!
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:55 PM Feature #14904: Make it possible to run instance_eval with zero-arguments lambda
- I have no particular pro or con opinion on the suggestion itself.
I want to comment on one part though:
> I've ... -
11:42 AM Feature #14904: Make it possible to run instance_eval with zero-arguments lambda
- Sorry, define_method in example should be that:
```
define_method(param_name){ instance_eval(&kwargs[:default]) }
``` -
11:32 AM Feature #14904 (Open): Make it possible to run instance_eval with zero-arguments lambda
- At a moment #instance_eval always yields an object to a given block. Though if we passed lambda as a block for instan...
-
05:49 PM Revision b46ef9d6 (git): Add lldb as a debugger option
- This adds support for lldb as a debugger so that tests can be run under
lldb like this:
$ make test-all TESTS=test... -
05:47 PM Revision 7aab72f7 (git): Fix crash when loading iseq from an array
- Objects loaded during iseq deserialization using arrays need to be added
to the compile time mark array so that they ... -
04:43 PM Revision 44377383 (git): benchmark/README.md: fix -e interface for v0.14 [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
04:31 PM Revision 7bed459a (git): benchmark/driver.rb: fully obsolete this
- in favor of just using benchmark_driver.gem.
common.mk: The new `make benchmark` covers the both usages for old `mak... - 03:45 PM Revision 0b519e11 (git): * 2018-07-10
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:45 PM Revision 5b9ff710 (git): common.mk: upgrade benchmark_driver to v0.14
- benchmark/driver.rb: deal with breaking changes which are actually
introduced for this driver.
git-svn-id: svn+ssh:/... -
02:01 PM Revision 70785c1c (git): Promote irb library to default gems.
- * lib/irb/irb.gemspec: init.
* lib/irb/version.rb: Set @RELEASE_VERSION value to IRB::VERSION for gemspec.
* doc/... -
01:20 PM Revision 6c4e05d2 (git): file_rename.yml: allow running this on mswin/mingw
- Suggested by MSP-Grep:
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/87883
git-svn-id: svn+ssh://ci.ru... -
12:50 PM Revision 14153a9b (git): app_pentominio.yml: drop unnecessary prelude
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:05 PM Bug #14891: Pathname#join has different behaviour to File.join
- I think it is expected behavior.
https://github.com/ruby/ruby/blob/38e05ff3e194268fd2f38ac7c9530298e464f07b/test/p... -
08:07 AM Bug #14847 (Closed): `clone` can generate strange objects
- Applied in changeset trunk|r63912.
----------
Don't copy FL_USER* on Kernel#clone. [Bug #14847]
* object.c (mutable... -
08:07 AM Revision 38e05ff3 (git): Don't copy FL_USER* on Kernel#clone. [Bug #14847]
- * object.c (mutable_obj_clone): `Kernel#clone` should not copy
FL_USER* flags because they are copied unexpectedly.... - 03:07 AM Revision 63efc86b (git): addr2line.c (kprintf): static
- This function is not used outside of addr2line.c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63911 b2dd03c8-39... -
01:50 AM Revision bf9169d5 (git): common.mk: codesign ruby-runner too
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:23 AM Bug #14899 (Closed): Pathname#glob Matching to the directory results in lack
- Applied in changeset trunk|r63909.
----------
dir.c: fix directory glob
* dir.c (glob_helper): fix directory glob w... -
01:20 AM Revision 58f2e6bc (git): dir.c: fix directory glob
- * dir.c (glob_helper): fix directory glob which resulted in lacking
the first byte. adjust the length of basename ...
07/08/2018
- 11:43 PM Revision 0528838b (git): addr2line.c: no need to keep fd around after mmap
- POSIX mmap(3) manpage stipulates mmap bumps the reference
count of the file description. Thus keeping a file descrip... -
09:14 PM Misc #14902: Replace benchmark/driver.rb with benchmark_driver.gem
- @k0kubun
Thank you for your work on this. Somewhat off topic...
I ran the suite on ruby-loco, and the only cha... -
02:38 PM Misc #14902 (Closed): Replace benchmark/driver.rb with benchmark_driver.gem
- Applied in changeset trunk|r63888.
----------
benchmark: introduce benchmark_driver.gem
Makefile.in: Clone benchmar... -
03:05 AM Misc #14902 (Closed): Replace benchmark/driver.rb with benchmark_driver.gem
- ## What's benchmark_driver.gem?
benchmark_driver.gem is a gem created by a project accepted as Ruby Association Gran... -
07:30 PM Revision e1a8d281 (git): range.c: [DOC] small improvement
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
07:22 PM Feature #14901: [PATCH] do not block SIGCHLD in normal Ruby Threads
- [email protected] wrote:
> So these 2 issues ("OpenSSL::PKey::*.new",
> test/-ext-/gvl/test_last_thread.rb) ar... -
01:02 PM Feature #14901 (Assigned): [PATCH] do not block SIGCHLD in normal Ruby Threads
-
08:24 AM Feature #14901: [PATCH] do not block SIGCHLD in normal Ruby Threads
- > In this context, "blocking" mean disabling interrupts using pthread_sigmask/sigprocmask. As in: blocking signals fr...
-
07:04 AM Feature #14901: [PATCH] do not block SIGCHLD in normal Ruby Threads
- [email protected] wrote:
> I have not completely read your patch for [Bug #14867] yet, so
> let me ask some qu... -
03:34 AM Feature #14901: [PATCH] do not block SIGCHLD in normal Ruby Threads
- I have not completely read your patch for [Bug #14867] yet, so let me ask some questions to understand the context.
... -
02:53 AM Feature #14901 (Assigned): [PATCH] do not block SIGCHLD in normal Ruby Threads
- @k0kubun: any opinions on this? Thanks.
```
I blocked SIGCHLD in normal Ruby Threads for [Bug #14867]
because I... -
06:33 PM Revision 2a12b82d (git): benchmark/driver.rb: make this more similar
- to original benchmark-driver command.
I'm going to add some runner plugins to resurrect metrics which were
originall... -
06:10 PM Revision 2cab2fc8 (git): benchmark/README.md: [ci skip] change syntax highlight
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 06:08 PM Revision 26a95dda (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
06:08 PM Revision 8b015867 (git): benchmark/README.md: [ci skip] write documentation
- about this directory
benchmark/driver.rb: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63903 b2dd03c8-39... -
05:48 PM Revision dc8327d7 (git): benchmark/driver.rb: drop legacy Ruby script support
- Now all benchmarks are converted to YAMLs.
common.mk: Drop obsoleted bm_* pattern
git-svn-id: svn+ssh://ci.ruby-lan... -
05:47 PM Revision a7681376 (git): benchmark/app_pentomino.yml: remove original scripts after __END__
- mistakenly left by conversion script...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63901 b2dd03c8-39d4-4d8f-9... -
05:36 PM Revision 929982ec (git): benchmark/*.yml: convert from benchmark/bm_*.rb
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:31 PM Revision d933fe9b (git): benchmark/gc: prevent GC bench from depending on normal benchmark
- scripts.
This is needed to finish converting Ruby scripts to YAMLs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tru... -
05:22 PM Revision 2079fe86 (git): benchmark/vm2_struct_small_aset.yml: unwrap loop_count
- since `i` is involved in this script as well...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63898 b2dd03c8-39d... -
05:19 PM Revision 71f8406f (git): benchmark/vm2_*.yml: fix ugly conversion errors
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:03 PM Revision 12068aa4 (git): benchmark/vm2_*.yml: abstract away the while loop
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
04:46 PM Revision 1aedeaa4 (git): benchmark/vm1_ensure.yml: rollback loop_count abstraction
- for now.
When measured script is really too fast, while loop substituion may
return a negative benchmark result.
Pr... -
04:35 PM Revision 94e55bbd (git): benchmark/vm1_*.yml: manual fixes for ugly conversions
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
04:28 PM Revision 820ad9cb (git): benchmark/vm1_*.yml: abstract away the while loop
- benchmark/driver.rb had removed the cost for while loop in benchmark/bm_vm1_*.rb,
and benchmark_driver.gem can achiev... -
03:35 PM Revision 9e62c93d (git): benchmark: convert bm_vm2_*.rb to vm2_*.yml
- This YAML transformation is needed to support whileloop2 time substituion
by benchmark_driver.gem later.
This commmi... -
03:12 PM Revision 95a187e0 (git): benchmark: convert bm_vm1_*.rb to vm1_*.yml
- This YAML transformation is needed to support whileloop time substituion
by benchmark_driver.gem later.
This commmit... - 03:05 PM Revision 62e95638 (git): * 2018-07-09
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:05 PM Revision 893b2d97 (git): benchmark/driver.rb: fix wrong multiline regexp
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:38 PM Revision 3293322a (git): benchmark: introduce benchmark_driver.gem
- Makefile.in: Clone benchmark-driver repository in benchmark/benchmark-driver
`make update-benchmark-driver`, like s... -
02:08 PM Revision 1f4541cb (git): common.mk: load prelude on `make benchmark`
- because benchmark/bm_io_nonblock_noex.rb and benchmark/bm_io_nonblock_noex2.rb
are using IO#write_nonblock and it's d... -
01:03 PM Revision 9fd839c0 (git): benchmark: drop legacy benchmark drivers
- It seems like they are all benchmark drivers but "benchmark/driver.rb"
is the latest and others are no longer used.
... -
11:35 AM Bug #14900: Extra allocation in String#byteslice
- I played around with my assumptions here. By far the worst from a memory POV was `slice!`, which given a string of 5M...
-
10:45 AM Bug #14900: Extra allocation in String#byteslice
- The way I've implemented it now (as in your first example) is something like this:
```
@buffer = read_data
if @b... -
09:47 AM Bug #14900: Extra allocation in String#byteslice
- Yeah, I agree, this patch probably isn't right, but I just try to figure it out what is going on and suggest a soluti...
-
09:46 AM Bug #14900: Extra allocation in String#byteslice
- @ioquatix, your patch doesn't seems to be correct for me on first glance.
Imagine pipelined RPC server:
- we rea... -
03:31 AM Bug #14900: Extra allocation in String#byteslice
- I think there are several things to consider here:
- Even though the string appears to be two allocations, it's on... -
03:22 AM Bug #14900: Extra allocation in String#byteslice
- Okay I made an attempt to fix this: https://github.com/ruby/ruby/pull/1909
-
02:52 AM Bug #14900: Extra allocation in String#byteslice
- One thing I noticed if I freeze source string, the extra memory allocation goes away.
-
02:52 AM Bug #14900: Extra allocation in String#byteslice
- Okay, I reproduced the error. I made a test case here:
https://github.com/ioquatix/ruby/commit/9fb5cd644209efc7937... -
09:41 AM Feature #13620: Simplifying MRI's build system: always make install
- @normalperson wrote in ruby-core:87864:
> mkmf works fine with everything in ext/ without install, so I
> expect mj... - 07:27 AM Revision d41baaee (git): test/ruby (*no_hidden_garbage): disable GC and skip if multi-threaded
- Any single object allocation can reduce object count, and
object counts are global, so multi-threading leads to unpre... - 07:27 AM Revision c93adfc1 (git): mjit: get rid of memory leak in pause+resume loop
- pthread_atfork is not idempotent and repeatedly calling it
causes it to register the same hook repeatedly; leading to... -
05:52 AM Revision a1e58949 (git): tool/git-refresh: skip git fetch and checkout
- if the tag is already checked out, to optimize the execution time.
I'm going to prepare a task depending on this too... -
04:12 AM Revision c2ae11e3 (git): benchmark/driver.rb: simplify LoadError handling
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:45 AM Bug #14867: Process.wait can wait for MJIT compiler process
- Eric,
r63880 fixed it, Appveyor mswin is green. I will ask them about a 'no javascript' fallback for at least som... -
01:52 AM Bug #14867: Process.wait can wait for MJIT compiler process
- [email protected] wrote:
> Both mswin & ruby-loco failed the test `test_sigchld_ignore` in r63879.
>
> Havin... -
01:07 AM Bug #14867: Process.wait can wait for MJIT compiler process
- @normalperson
Eric,
Both mswin & ruby-loco failed the test `test_sigchld_ignore` in r63879.
Having recentl... -
12:06 AM Bug #14867: Process.wait can wait for MJIT compiler process
- Thanks! I confirmed that the patch works well on my machine as well.
-
12:01 AM Bug #14867 (Closed): Process.wait can wait for MJIT compiler process
- Applied in changeset trunk|r63877.
----------
process.c (rb_f_exec): pause MJIT before replacing process
Non-parall... -
02:25 AM Revision d081b3c6 (git): common.mk: drop obsoleted `make tbench`
- benchmark/bmx_* files haven't existed since r37263 and thus it runs
nothing.
git-svn-id: svn+ssh://ci.ruby-lang.org/... -
02:02 AM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
- I have updated the PR to use `transfer` in the scheduler, and I've added an example showing that it is composable wit...
- 01:46 AM Revision bc4ecaa6 (git): test/ruby/test_signal.rb: skip ensure if test is skipped
- Thanks to Greg for the fix. [ruby-core:87860] [Bug #14867]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63880 b... - 12:02 AM Revision b93dc848 (git): signal.c: preserve trap(:CHLD, "IGNORE") behavior with SIGCHLD
- We need to preserve "IGNORE" behavior from Ruby 2.5 and earlier.
We can't rely on SA_NOCLDWAIT any more, since we alw...
07/07/2018
- 11:59 PM Revision 4719a454 (git): * 2018-07-08
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 11:59 PM Revision ac41c2c1 (git): process.c (rb_f_exec): pause MJIT before replacing process
- Non-parallel "make test-spec" caused
spec/ruby/core/process/wait2_spec.rb failures because mspec
uses "exec" in singl... -
10:52 PM Bug #14867: Process.wait can wait for MJIT compiler process
- [email protected] wrote:
> Hi Eric. I fixed [Bug #14892] on r63875, but only the rubyspec check you added is fa... -
02:58 PM Bug #14867 (Assigned): Process.wait can wait for MJIT compiler process
- Hi Eric. I fixed [Bug #14892] on r63875, but only the rubyspec check you added is failing with -DMJIT_FORCE_ENABLE li...
-
08:48 PM Bug #14900: Extra allocation in String#byteslice
- Nice catch I will try to verify on my end too
-
09:47 AM Bug #14900 (Closed): Extra allocation in String#byteslice
- When executing `String#byteslice` with a range, I noticed that sometimes the original string is allocated again. When...
-
05:43 PM Feature #13620: Simplifying MRI's build system: always make install
- normalperson (Eric Wong) wrote:
> Of course, there will be differences not detected before
> install, but the goa... -
05:07 PM Feature #14426: [PATCH] openssl: reduce memory allocation in OpenSSL::Buffering#do_write
- The patch got outdated in the latest trunk, so I updated it again. It's a really small change with big impact on memo...
-
04:16 PM Misc #14861: DevelopersMeeting20180718Japan
- * [Bug #14878] Add command line argument to deactivate JIT (k0kubun)
* Please discuss the necessity of the flag an... -
02:55 PM Revision a854e4dd (git): wait2_spec.rb: skip leak checker for now
- This is not working with cppflags="-DMJIT_FORCE_ENABLE" on my machine.
```
$ make test-spec
$ /home/k0kubun/src/gith... -
02:41 PM Bug #14892 (Closed): r63763 breaks -DMJIT_FORCE_ENABLE=1
- Applied in changeset trunk|r63875.
----------
insns.def: stop pushing unnecessary keys for MJIT
[Bug #14892] -
02:41 PM Revision 8bec3e1f (git): insns.def: stop pushing unnecessary keys for MJIT
- [Bug #14892]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:28 PM Revision c2df63d0 (git): _mjit_compile_insn_body: rollback pc correctly
- for catch_except_p case
Partially solving Bug#14892
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63874 b2dd03c... -
08:45 AM Bug #14899 (Closed): Pathname#glob Matching to the directory results in lack
- Pathname.glob では問題ないのですが、
ruby 2.5 から追加された Pathname#glob で、スラッシュで終わる引数を渡すとディレクトリ名の最初の1文字がかけた状態で返ってきます
~~~
Pathna... -
05:52 AM Bug #14898: test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
- On 2018/07/07 14:36, Eric Wong wrote:
> Maybe r63872 can help by retrying send.
Great! Thank you.
--
// SAS... -
05:42 AM Bug #14898: test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
- Koichi Sasada <[email protected]> wrote:
> On 2018/07/06 18:47, Eric Wong wrote:
> > I would not expect it to be (but ... -
05:36 AM Bug #14898 (Closed): test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
- Applied in changeset trunk|r63872.
----------
test/socket/test_socket.rb (test_timestamp): retry send
I theorize th... -
03:42 AM Bug #14898: test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
- On 2018/07/06 18:47, Eric Wong wrote:
> I've never seen it stuck myself.
Only a few times per thousands trial. I... - 05:34 AM Revision 886cfe49 (git): * 2018-07-07
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 05:34 AM Revision eb78beda (git): test/socket/test_socket.rb (test_timestamp): retry send
- I theorize there can be UDP packet loss even over loopback if
the kernel is under memory pressure. Retry sending per...
07/06/2018
-
09:22 PM Feature #14851: [PATCH] thread_pthread.c: remove non-sleepy timer thread implementation
- > https://bugs.ruby-lang.org/issues/14851
Maybe reject this feature. Keeping non-sleepy timer thread
implementa... -
09:12 PM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- [email protected] wrote:
> It is impossible to implement Thread migration between native
> threads. All other... -
06:10 PM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- > Yes, they are great, but it's probably impossible to implement in Ruby.
It is impossible to implement Thread mig... -
09:16 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- > But we have example of Go: goroutine is a really green thread, and they do really scale.
Yes, they are great, bu... -
07:48 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- > In my experience, threads simply don't scale as as well as fibers, there is too much overhead.
Native threads d... -
01:57 PM Feature #14328 (Closed): SIMD vectorization
-
01:56 PM Revision 7387c083 (git): const_missing on private constants
- * variable.c (rb_const_search): call #const_missing method on
private constants, as well as uninitialized constants... -
09:52 AM Bug #14898: test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
- [email protected] wrote:
> With parallel tests (`make test-all TESTS=-j4` with 4 parallelism) stuck sometimes.
>
> h... -
08:31 AM Bug #14898 (Closed): test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
- With parallel tests (`make test-all TESTS=-j4` with 4 parallelism) stuck sometimes.
http://ci.rvm.jp/results/trunk... -
08:01 AM Revision 5e7167f8 (git): compile.c: remove unreachable jump only
- * compile.c (iseq_peephole_optimize): remove unreachable jump
instruction only. if it is labeled and referred from... -
06:52 AM Bug #14867: Process.wait can wait for MJIT compiler process
- [email protected] wrote:
> Well done. The build is 'green' (passing).
Thanks! Committed as r63869. -
06:50 AM Bug #14867 (Closed): Process.wait can wait for MJIT compiler process
- Applied in changeset trunk|r63869.
----------
mjit.c: fix waitpid macro return value for win32
We started checking ... -
04:38 AM Bug #14867: Process.wait can wait for MJIT compiler process
- Eric,
Well done. The build is 'green' (passing). Script generated result summary is:
```
————————————————————... -
03:04 AM Bug #14867: Process.wait can wait for MJIT compiler process
- Greg: oh, I think I finally spotted it. The waitpid() macro for
_WIN32 doesn't set a return value. The old code a... -
02:03 AM Bug #14867: Process.wait can wait for MJIT compiler process
- @normalperson
> Were there any compiler warnings building process.c or mjit.c?
No. Only warning were for `warn... -
01:22 AM Bug #14867: Process.wait can wait for MJIT compiler process
- [email protected] wrote:
> Below is the out from `ruby --jit -e exit`
>
> ```
> C:\Greg\GitHub> ruby --jit -e... -
01:21 AM Bug #14867: Process.wait can wait for MJIT compiler process
- @normalperson
Attached is the config portion of ruby-loco mingw build log.
Thanks, Greg -
01:01 AM Bug #14867: Process.wait can wait for MJIT compiler process
- @normalperson
Below is the out from `ruby --jit -e exit`
```
C:\Greg\GitHub> ruby --jit -e exit
process.c: si... -
12:50 AM Bug #14867: Process.wait can wait for MJIT compiler process
- @normalperson
I've got builds running both locally and on Appveyor, when they finish I'll have more info.
> Jus... - 06:50 AM Revision 79f01d39 (git): mjit.c: fix waitpid macro return value for win32
- We started checking return value of waitpid, so it needs
to be correct for win32 platforms for MJIT to work.
Thanks-... -
04:53 AM Bug #14897: Unexpected behavior of `if` in specific code
- Good catch. It was a bug of peephole optimization. Fixed. Thank you.
-
04:52 AM Bug #14897 (Closed): Unexpected behavior of `if` in specific code
- Applied in changeset trunk|r63868.
----------
Fix a bug of peephole optimization
```
if L1
L0:
jump L2
L1:
... -
04:03 AM Bug #14897: Unexpected behavior of `if` in specific code
- Seems `obj = obj` is (mistakenly) optimized out.
```
% ./miniruby --dump=i -v tmp.rb
ruby 2.6.0dev (2018-07-06 t... -
03:22 AM Bug #14897 (Closed): Unexpected behavior of `if` in specific code
- I found a strange behavior of `if` in the following code.
~~~ ruby
def seems_bug(obj)
if obj || obj
obj =... -
04:52 AM Revision 727ceb2a (git): Fix a bug of peephole optimization
- ```
if L1
L0:
jump L2
L1:
...
L2:
```
was wrongly optimized to:
```
unless L2
L0:
L1:
...
L2:
```
To m... - 02:15 AM Revision fcf8c622 (git): thread.c (ruby_ppoll): improve timespec to msec conversion
- Round up non-zero <1ms timeouts to 1ms and use INT_MAX instead
of infinite (-1) for extremely large timeouts. All of... - 02:15 AM Revision 24aa7a13 (git): thread.c: our fake ppoll implementation is static
- Rename it to "ruby_ppoll" so it looks more obvious in debuggers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6... -
01:53 AM Revision 043d22cb (git): Fixup r63864
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:40 AM Revision 33354d29 (git): Prefixed reset_leap_second_info
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:49 AM Bug #14892: r63763 breaks -DMJIT_FORCE_ENABLE=1
- Many cases (including `a, b = nil`) go well after r63863.
Now I found that there remain 2 issues at least.
1. `pc...
07/05/2018
-
09:54 PM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- > They have their own IO scheduler because ruby had just native threads, which are bad as IO scheduler.
Thanks so ... -
06:12 PM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- > It's also going to be more useful for existing code bases like ActionCable, Puma, Async, etc which use their own IO...
-
09:35 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- Thanks for your feedback.
> About "extendable api" vs "implicit behavior" (ie between your proposal
> for "Thread... -
08:43 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- @ioquatix About "extendable api" vs "implicit behavior" (ie between your proposal
for "Thread.scheduler=' and replac... -
07:19 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- Looks like I was not exactly right: typical iteration over Enumerator doesn't use Fiber.yield.
But usage of Enumerat... -
09:22 PM Bug #14867: Process.wait can wait for MJIT compiler process
- [email protected] wrote:
> @normalperson
>
> Thanks for the patch, I added it, and a build with r63859 locked/... -
02:02 PM Bug #14867: Process.wait can wait for MJIT compiler process
- @normalperson
Thanks for the patch, I added it, and a build with r63859 locked/froze on test-all. I’m going to se... -
05:42 AM Bug #14867: Process.wait can wait for MJIT compiler process
- [email protected] wrote:
>
> Importantly, mswin (ruby's vc12) passed r63856.
Good to know. I saw your messa... -
04:47 AM Bug #14867: Process.wait can wait for MJIT compiler process
- Importantly, mswin (ruby's vc12) passed r63856.
Unfortunately, ruby-loco locked up on test-all. So, before the re... -
03:32 AM Bug #14867: Process.wait can wait for MJIT compiler process
- [email protected] wrote:
> As it was reverted on r63852 by @naruse, assigning this back
> to Eric. I'm guessin... -
03:12 AM Bug #14867: Process.wait can wait for MJIT compiler process
- [email protected] wrote:
> I'm not sure what you look at on the web (GitHub, Appveyor), so briefly:
> 1. The m... -
01:48 AM Bug #14867: Process.wait can wait for MJIT compiler process
- @normalperson
I'm not sure what you look at on the web (GitHub, Appveyor), so briefly:
1. The mswin builds do n... -
09:10 PM Bug #14895: Inconsistent constant names when using const_set on a singleton class
- This looks like a bug to me.
Here's a simplified example:
```
s = Object.new.singleton_class
a = s.const_set... -
05:35 PM Bug #14895: Inconsistent constant names when using const_set on a singleton class
- So, what you're saying is that the singleton class is being assigned to a constant when it creates module `A`, so mod...
-
03:38 PM Bug #14895: Inconsistent constant names when using const_set on a singleton class
- silver_phoenix (Pedro Pinto) wrote:
> Yes, I understand that, but why isn't `Z` named like `B` is?
>
> `Z` is `#<... -
02:29 PM Bug #14895: Inconsistent constant names when using const_set on a singleton class
- Yes, I understand that, but why isn't `Z` named like `B` is?
`Z` is `#<Module:...>` (unnamed)
`B` is `#<...>::B` ... -
10:54 AM Bug #14895: Inconsistent constant names when using const_set on a singleton class
- The names of `A`, `B`, and `Z` are temporary names at the moments of assignment.
Once you assign `x.singleton_class`... -
06:32 PM Feature #14887: Array#delete_if does not use #delete
- marcandre (Marc-Andre Lafortune) wrote:
> You probably meant "... call #delete_at in the background".
Yes, Marc-A... -
07:28 AM Feature #14887: Array#delete_if does not use #delete
- @shevegen : the problem is that:
* `delete_if` can't call `delete` for the given reason of duplicates. the example w... -
07:05 AM Feature #14887: Array#delete_if does not use #delete
- This is actually a (to me) quite interesting discussion. I want to comment on
a very few things but of course I'll k... -
03:56 PM Revision 7a0a5854 (git): revert r62655 for r63763
- r63655 was tightly coupled to handle_frames and some assumptions seems
to have been broken by r63763.
To partially r... - 03:20 PM Revision 96f1c663 (git): * 2018-07-06
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:20 PM Revision 0860921a (git): Make a prototype
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:48 PM Revision 1d74de37 (git): ruby tool/update-deps --fix
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:22 PM Revision 61d5939c (git): Add missing prototype
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:53 AM Revision 7c87ee8a (git): Add missing file
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:43 AM Revision 6538f67d (git): Re-apply r63848 (Optimize Time.utc)
- * Both timegmw and gmtimew ignores leap second if the timezone doesn't
have leap seconds on the first call of init_... -
10:59 AM Bug #14863 (Rejected): Array#join with empty array returns empty string always in US-ASCII encoding
- duerst (Martin Dürst) wrote:
> On the other hand, if we change it to the source encoding, then the implementation ge... -
08:36 AM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
- Yes, I agree with what you say, and I agree with your conclusion, I was just giving an example where it failed with a...
-
08:33 AM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
- I've shown `to_enum(:aga).to_a` to present the place where I wasn't right.
But if you look at your own second exam... -
07:48 AM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
- For the first case, you naturally can't call Fiber.yield in that context... but this works:
```
#!/usr/bin/env ru... -
07:25 AM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
- Yes. While usually Enumerator doesn't call to Fiber.yield, it is called if Enumerator is used as external iterator:
... -
04:12 AM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
- Are you saying that calling Fiber.yield is not valid within an enumerator?
-
07:36 AM Feature #14697 (Assigned): Introducing Range#% as an alias to Range#step
-
04:13 AM Feature #14844: Future of RubyVM::AST?
- Here is what I made using RubyVM::AST. It was useful. https://github.com/ioquatix/covered
In the end I made a regu... -
03:42 AM Bug #14892: r63763 breaks -DMJIT_FORCE_ENABLE=1
- And another one.
```
ruby --jit-wait --disable-gems -e '1000.times { break if /a/ =~ "ab" && !$~[0] }'
``` -
12:02 AM Bug #14892: r63763 breaks -DMJIT_FORCE_ENABLE=1
- A mini reproductive command is here.
```
ruby --jit-wait --disable=gems -e '1000.times { a, b = nil }'
``` - 03:20 AM Revision 4c777ac9 (git): Revert "get rid of a compiler warning of VC"
- Partially revert r63820. mjit.c seems to have different idea of
"pid" type/size than the rest of Ruby on win32.
As ... - 03:02 AM Revision 44fc3d08 (git): unrevert r63852 but keep SIGCHLD path disabled for win32
- Reading win32/win32.c waitpid implementation, maybe waitpid(-1, ...)
on that platform will never conflict with mjit u...
07/04/2018
-
11:20 PM Bug #14884: msys2 mingw32 'rake' has unexpected text at top of file
- > Try changing line 4 from `};{#` to `};{ #` (add a space before #). Worked for me in a Git bash shell running `rake...
-
03:11 PM Bug #14884: msys2 mingw32 'rake' has unexpected text at top of file
- GardenTools (Garden Tools) wrote:
> Error message is
>
> /c/Ruby25/bin/rake: line 4: {#: command not found
Try... -
06:50 AM Bug #14884: msys2 mingw32 'rake' has unexpected text at top of file
- Error message is
/c/Ruby25/bin/rake: line 4: {#: command not found
-
10:54 PM Bug #14867: Process.wait can wait for MJIT compiler process
- As it was reverted on r63852 by @naruse, assigning this back to Eric. I'm guessing it was reverted since it was not p...
-
10:05 PM Feature #14896: Expose Net::HTTPResponse socket for integration with libraries expecting an IO
- I have nothing useful to add to the issue at hand as I only very
rarely use Net:: directly (my use cases usually sta... -
08:43 PM Feature #14896 (Open): Expose Net::HTTPResponse socket for integration with libraries expecting an IO
- As several stdlib libraries support reading from IO-compatible objects (e.g. Zlib::GzipReader, Gem::Package::TarReade...
-
06:25 PM Bug #14895 (Closed): Inconsistent constant names when using const_set on a singleton class
- Constants defined in the namespace of a class or a module are named on the fly:
```ruby
class X; end
X.const_set... -
04:40 PM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- @ioquatix nothing prevents from adding new method:
`Thread.create(scheduler: :current, args: [block_arg1, block_arg2... -
08:45 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- @funny_falcon I don't think it's easy to change `Thread.new(...)` because arguments are passed to the thread block.
... -
07:37 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- Considering implementation, `Fiber.transfer` should be used, not `Fiber.resume`+`Fiber.yield`,
ie exclusively use `f... -
04:39 PM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
- Just remark: make test example to use `Fiber.transfer`.
If patch will be accepted, example will be copied, and usage... -
08:17 AM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
- Some of the benefits of this PR are:
- Makes it possible to implement different models for concurrency.
- Easy to... -
08:08 AM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
- @normalperson that's awesome, great effort! I really appreciate you taking these PRs seriously and the effort you are...
-
04:10 PM Revision b3799b93 (git): signal.c: packed signals
- * signal.c (signals): pack signal names instead of references.
* signal.c (signm2signo): also reject too long signal... -
04:04 PM Bug #14890: test/ruby/test_time_tz.rb - Skip on Windows (mswin|mingw)?
- @naruse
I'm sorry, maybe I should have been clearer. This isn't the same as r63839.
For platforms that don't s... -
03:45 PM Bug #14890 (Closed): test/ruby/test_time_tz.rb - Skip on Windows (mswin|mingw)?
- Fixed by r 63839
- 03:08 PM Revision 36f3e5ec (git): * 2018-07-05
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:08 PM Revision df4a126d (git): Revert r63758 and related commits
- The change is unstable on Windows. Please re-commit it when it correctly
supports Windows.
git-svn-id: svn+ssh://ci.... -
12:45 PM Revision 0f24cdec (git): Fallback to Digest::SHA512
- `Gem::Package::TarWriter#add_file_signed` expects to fallback to
`Digest::SHA512`, and `digest.respond_to? :name` or ... -
12:45 PM Revision e4664efa (git): Skip more rubygems tests when openssl is missing
- Some tests are already skipped, but some tests are not.
So latter should be skipped too.
git-svn-id: svn+ssh://ci.ru... -
10:59 AM Revision bd9a78a0 (git): Revert "Optimize Time.utc"
- This reverts commit r63848.
It breaks tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63849 b2dd03c8-39d4-4... -
10:06 AM Revision dda04838 (git): Optimize Time.utc
- Time.utc uses timegmw() and it uses leap second information.
If the given time is larger than known_leap_seconds_limi... -
04:39 AM Bug #14863: Array#join with empty array returns empty string always in US-ASCII encoding
- nobu (Nobuyoshi Nakada) wrote:
> May I close this?
Yes, please do.
I agree that US-ASCII is the greatest commo... - 01:26 AM Revision 4b20479f (git): internal.h (rb_warning_string): use PRINTF_ARGS
- Let compilers do a little extra validation for us
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63847 b2dd03c8-3... - 01:26 AM Revision d9dac20b (git): thread_pthread.c: pass rb_vm_t to timer_thread_sleep
- I love `container_of' for generic data structures, but
in this case it's unnecessary and slightly harder-to-read.
Th...
07/03/2018
-
11:56 PM Revision aec14b33 (git): vm.c: simplified core#hash_merge_kwd
- * vm.c (core_hash_merge_kwd): simplified to merge the second hash
into the first hash.
* compile.c (compile_array)... -
11:53 PM Bug #14894 (Closed): Segfault loading iseqs
- Follow up on https://github.com/Shopify/bootsnap/issues/172
In particular:
https://gist.githubusercontent.com/... -
11:07 PM Feature #13626: Add String#byteslice!
- I support adding `String#byteslice!`. I've been using `String#byteslice` in custom IO-like objects that implement `IO...
- 09:29 PM Revision 8d004ee5 (git): mjit.h: avoid signed pointer comparisons (fix for 32-bit)
- ptrdiff_t is a signed type, use uintptr_t instead for unsigned
comparisons.
git-svn-id: svn+ssh://ci.ruby-lang.org/r... - 03:25 PM Revision 1b812422 (git): * 2018-07-04
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:25 PM Revision 60fa7d5f (git): Fix compile error
- signal.c:69:10: error: variably modified ‘signm’ at file scope
char signm[LONGEST_SIGNAME + 1];
^
git... -
01:35 PM Bug #14893 (Closed): Global buffer overflow in signm2signo of signal.c.
- Applied in changeset trunk|r63841.
----------
signal.c: packed signals
* signal.c (signals): pack signal names inst... -
12:28 PM Bug #14893 (Closed): Global buffer overflow in signm2signo of signal.c.
- Found some memory error with address sanitizer:
```
==29152==ERROR: AddressSanitizer: global-buffer-overflow on a... -
01:34 PM Revision a0e141b3 (git): signal.c: packed signals
- * signal.c (signals): pack signal names instead of references.
* signal.c (signm2signo): also reject too long signal... -
01:25 PM Revision a982952e (git): adjust indent [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:57 PM Bug #14863: Array#join with empty array returns empty string always in US-ASCII encoding
- May I close this?
-
12:37 PM Misc #14861: DevelopersMeeting20180718Japan
- * [Feature #13050] Readline: expose `rl_completion_quote_character` variable
* [Feature #14850] Add official API for... -
12:35 PM Bug #14884 (Feedback): msys2 mingw32 'rake' has unexpected text at top of file
- It's polyglot code for sh and cmd.exe.
What error do you have with it actually? -
11:44 AM Bug #14892: r63763 breaks -DMJIT_FORCE_ENABLE=1
- I recognize that. I'm currently taking time for RubyBench project but planning to take a look after that. Please igno...
-
09:51 AM Bug #14892 (Closed): r63763 breaks -DMJIT_FORCE_ENABLE=1
- r63763 ("give up insn attr handles_frame") breaks -DMJIT_FORCE_ENABLE=1
(commit 6b534134a78e3e43c344682c3585e1abab... -
11:22 AM Feature #14869: Proposal to add Hash#===
- > 空の場合は Enumerable#all? と類似の話なので、 true のほうがいいんじゃないでしょうか。
なるほど、参考になります。
> また、再帰的なハッシュに対して使用したときに無限再帰にならないようにする必要... -
11:10 AM Revision 66bda182 (git): skip test_localtime_zone if force_tz_test is false
- For example Solaris
https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10x/ruby-trunk/log/20180703T091803Z.fail.... -
11:01 AM Revision 6d57d87e (git): [DOC] Use https: instead of git: [ci skip]
- ref r63801, r61199
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 09:06 AM Revision 18c79781 (git): vm.c (rb_source_location): check for NULL cfp->iseq
- rb_vm_get_sourceline returns zero if cfp->iseq is NULL,
so rb_iseq_path should not try to follow NULL cfp->iseq,
eith... - 08:30 AM Revision 45cdc834 (git): thread_pthread.c (native_thread_destroy): clear native TSD pointer
- mwrap <https://80x24.org/mwrap/> interposes malloc functions and
checks for GVL existence to determine Ruby source lo... -
08:05 AM Bug #14891: Pathname#join has different behaviour to File.join
More examples:
~~~ ruby
Pathname.new('/a').join('c', 'b').to_s #=> "/a/c/b"
Pathname.new('/a').join('/c', 'b')...-
07:24 AM Bug #14891: Pathname#join has different behaviour to File.join
- This behaviour surprised me too. Is it expected that the information from "/a"
is lost? I have no idea but the docum... -
02:37 AM Bug #14891 (Closed): Pathname#join has different behaviour to File.join
- ~~~ ruby
Pathname.new('/a').join('/b').to_s
# => "/b"
File.join(Pathname.new('/a'), '/b').to_s
# => "/a/b"
~~~
... -
05:12 AM Revision 8fc203ba (git): cont.c: handle errors for getcontext()
- It may raise an error in a certain security configuration.
It is very likely to trigger a segmentation fault if `getc... -
04:43 AM Revision b03c1d08 (git): fake.rb.in: duplicated RUBYOPT
- * template/fake.rb.in: removed duplicated options in RUBYOPT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6383... -
04:43 AM Revision 6e65c89d (git): rubyopt_spec.rb: skip -v in RUBYOPT examples
- * spec/ruby/command_line/rubyopt_spec.rb: skip -v in RUBYOPT
examples when CROSS_COMPILING is set by fake.rb. the ... -
12:49 AM Revision ef01bbcf (git): configure.ac: [DOC] refine help messages
- cflags, cppflags, and cxxflags are additional flags to auto
configured flags, and ignored when the their respective a... - 12:29 AM Revision 54707221 (git): test/ruby/test_signal.rb: speedup some test by disabling RubyGems
- test_signame_delivered is reduced from 1.0s to 0.1s
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63831 b2dd03c8...
Also available in: Atom