Age | Commit message (Collapse) | Author |
|
Define `Fiddle::TYPE_VARIADIC` only when `ffi_prep_cif_var` is
available, otherwise skip the test for it.
|
|
https://github.com/ruby/fiddle/commit/f16e7ff6e0
Notes:
Merged: https://github.com/ruby/ruby/pull/3265
|
|
https://github.com/ruby/fiddle/commit/aa261bdb9f
Notes:
Merged: https://github.com/ruby/ruby/pull/3265
|
|
GitHub: fix GH-39
Reported by kojix2. Thanks!!!
https://github.com/ruby/fiddle/commit/6c4cb904dc
Notes:
Merged: https://github.com/ruby/ruby/pull/3265
|
|
This reverts commit 5c03e4680e724faeedb2c5fc1581d5fcb66aaff2.
I gave up stabilizing Rinda::TupleSpaceProxyTest#test_cancel_02. As the
test uses sleep, it's probably not gonna be stable with --jit-wait.
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3028276
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3028065
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3027857
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3027441
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3104
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3104
|
|
https://github.com/ruby/fiddle/commit/a09e66adf4
https://github.com/ruby/fiddle/commit/6cab9b45d6
https://github.com/ruby/fiddle/commit/ab72b19bed
|
|
to make sure :opt_invokebuiltin_delegate_leave doesn't become
:(trace_)opt_invokebuiltin_delegate.
This is to prevent a warning like
> /tmp/ruby/v3/src/trunk-test/test/ruby/test_jit.rb:618: warning:
'opt_invokebuiltin_delegate_leave' insn is not included in the script.
Actual insns are: opt_invokebuiltin_delegate leave
|
|
http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200626T033003Z.log.html.gz
```
/home/chkbuild/chkbuild/tmp/build/20200626T033003Z/ruby/test/ruby/test_settracefunc.rb:2299: warning: ambiguous first argument; put parentheses or a space even after `/' operator
```
|
|
To prevent random failure with --jit-wait like
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3026615
|
|
If :return event is specified for a opt_invokebuiltin_delegate_leave
and leave combination, the instructions should be
opt_invokebuiltin_delegate
trace_return
instructions. To make it, opt_invokebuiltin_delegate_leave
instruction will be changed to opt_invokebuiltin_delegate even if
it is not an event target instruction.
Notes:
Merged-By: ko1 <ko1@atdot.net>
|
|
It's probably not worth it because there's nothing we can optimize in
such builtin methods. It's worth JIT only when inlined.
|
|
to prevent a random failure like
http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3024287
|
|
Because it does not have closing `end`.
|
|
|
|
The scanner location has to be set from `lex.ptok` before it is
flushed by dispatching the scanner event.
|
|
|
|
A test worker process may already be enabling TracePoint, which results
in changing the insn name in this test.
http://ci.rvm.jp/results/trunk-random0@phosphorus-docker/3022750
|
|
using opt_invokebuiltin_delegate_leave insn.
Since Ruby 2.7, :return of methods using builtin have not been traced properly.
|
|
https://github.com/ruby/psych/commit/ef74fc01e2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It failed again
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3018488
|
|
This tries to fix a random failure like
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3017837
|
|
|
|
Trying to eliminate some newer random failures
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3016543
|
|
Either 95b0fed371 or 7561db8c00 started to cause
https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20200621T053303Z.fail.html.gz
But so far no idea why it's happening. Until I get direct ssh access to
debug the details, let me skip this as it's essentially not ruby's fault.
|
|
|
|
A prerequisite to fix https://bugs.ruby-lang.org/issues/15589 with JIT.
This commit alone doesn't make a significant difference yet, but I thought
this commit should be committed independently.
This method override was discussed in [Misc #16961].
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
dump (Fixes #20)
This problem exists because Marshal.load calls Date.allocate, which
uses a SimpleDateData. There doesn't seem to be any support for
taking an existing Date instance and converting it from SimpleDateData
to ComplexDateData. Work around this issue by making Date.allocate
use a ComplexDateData. This causes problems in Date#initialize,
so remove the Date#initialize method (keeping the date_initialize
function, used internally for Date.civil). Alias Date.new to
Date.civil, since they do the same thing.
https://github.com/ruby/date/commit/6bb8d8fa0f
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3240
|
|
Previously, these were not implemented, and Object#== and #eql?
were used. This tries to check the proc internals to make sure
that procs created from separate blocks are treated as not equal,
but procs created from the same block are treated as equal, even
when the lazy proc allocation optimization is used.
Implements [Feature #14267]
Notes:
Merged: https://github.com/ruby/ruby/pull/3174
|
|
It can convert to Windows-1252and Windows-31J.
```
"\u00a7".encode("Windows-1252") #=> "\xA7"
"\u00a7".encode("Windows-31J") #=> "\x{8198}"
```
https://github.com/ruby/ruby/runs/788357527?check_suite_focus=true#step:14:959
```
1) Failure:
WEBrick::TestFileHandler#test_cjk_in_path [D:/a/ruby/ruby/src/test/webrick/utils.rb:72]:
exceptions on 2 threads:
webrick log start:
[2020-06-19 14:49:38] ERROR Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and Windows-1252
D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:341:in `+'
D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:341:in `set_filename'
D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:310:in `exec_handler'
D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:245:in `do_GET'
D:/a/ruby/ruby/src/lib/webrick/httpservlet/abstract.rb:105:in `service'
D:/a/ruby/ruby/src/lib/webrick/httpservlet/filehandler.rb:241:in `service'
D:/a/ruby/ruby/src/lib/webrick/httpserver.rb:140:in `service'
D:/a/ruby/ruby/src/lib/webrick/httpserver.rb:96:in `run'
D:/a/ruby/ruby/src/lib/webrick/server.rb:307:in `block in start_thread'
```
|
|
instead of `@root.encoding`.
And fallback to ASCII-8BIT when filesystem encoding is US-ASCII.
When `@root.encoding` is not compatible filesystem encoding,
`Encoding::CompatibilityError` raised at `webrick/httpservlet/filehandler.rb:341`.
So `DocumentRoot` must be compatible with filesystem encoding.
|
|
https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20200619T054159Z.fail.html.gz
```
1) Failure:
WEBrick::TestFileHandler#test_cjk_in_path [D:/tmp/mswin-build20200619-14304-utgij/ruby/test/webrick/utils.rb:72]:
exceptions on 2 threads:
webrick log start:
[2020-06-19 16:28:42] ERROR `/あ.txt' not found.
webrick log end
Filesystem encoding is Windows-31J.
<"200"> expected but was
<"404">.
---
<[]> expected but was
<["[2020-06-19 16:28:42] ERROR `/\xE3\x81\x82.txt' not found.\n"]>.
```
`prevent_directory_traversal` treats `path_info` as filesystem encoding.
So path_info should be filesystem encoding in request URL.
On some environments, fallback to ASCII-8BIT when EncodingError.
|
|
http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200619T003004Z.log.html.gz
```
/home/chkbuild/chkbuild/tmp/build/20200619T003004Z/ruby/test/ruby/test_refinement.rb:2428: warning: method redefined; discarding old foo
/home/chkbuild/chkbuild/tmp/build/20200619T003004Z/ruby/test/ruby/test_refinement.rb:2418: warning: previous definition of foo was here
```
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3234
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3234
|
|
Ref: 5429deb075beb9a2b67adae269bbac16325876d1
The previous change totally borke `popen2e` in this usage:
```ruby
require 'open3'
stdin, stdout, process = Open3.popen2e("cat")
puts stdout.read
```
Notes:
Merged: https://github.com/ruby/ruby/pull/3236
|
|
"hack" was too short. The tests checks the error html, which includes
hostname. GitHub Actions hostname seems randomly generated, and it may
include the indicator string.
https://github.com/ruby/ruby/runs/784896235
```
1) Failure:
WEBrick::TestHTTPResponse#test_prevent_response_splitting_cookie_headers_cr [/home/runner/work/ruby/ruby/src/test/webrick/test_httpresponse.rb:71]:
Expected /hack/ to not match "HTTP/1.1 500 Internal Server Error\r\nContent-Type: text/html; charset=ISO-8859-1\r\n\r\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">\n<HTML>\n <HEAD><TITLE>Internal Server Error</TITLE></HEAD>\n <BODY>\n <H1>Internal Server Error</H1>\n WEBrick::HTTPResponse::InvalidHeader\n <HR>\n <ADDRESS>\n WEBrick/1.6.0 (Ruby/2.8.0/2020-06-18) at\n fv-az89.dddawhu1s14uzpjkiz5fhackre.cx.internal.cloudapp.net:80\n </ADDRESS>\n </BODY>\n</HTML>\n".
```
This change uses longer indicator "cracked_indicator_for_test" instead.
|
|
Doing so modifies the class's method table, but not in a way that should
be detectable from Ruby, so it may be safe to avoid checking if the
class is frozen.
Fixes [Bug #11669]
Notes:
Merged: https://github.com/ruby/ruby/pull/3175
|
|
900e83b50115afda3f79712310e4cb95e4508972 changed from a warning
to an error in this case, but the warning was only issued in
verbose mode, and therefore the error was only raised in verbose
mode. That was not intentional, verbose mode should only change
whether warnings are emitted, not other behavior. This issues
the RuntimeError in all cases.
This change broke a couple tests, as the tests actually issued
the warning and therefore now raise an error. This wasn't caught
earlier as test_variable suppressed the warning in this case,
effectively setting $VERBOSE = false around the code that warned.
basictest isn't run in verbose mode and therefore didn't expose
the issue previously. Fix these tests.
Fixes [Bug #14541]
Notes:
Merged: https://github.com/ruby/ruby/pull/3210
|
|
This makes:
```ruby
args = [1, 2, -> {}]; foo(*args, &args.pop)
```
call `foo` with 1, 2, and the lambda, in addition to passing the
lambda as a block. This is different from the previous behavior,
which passed the lambda as a block but not as a regular argument,
which goes against the expected left-to-right evaluation order.
This is how Ruby already compiled arguments if using leading
arguments, trailing arguments, or keywords in the same call.
This works by disabling the optimization that skipped duplicating
the array during the splat (splatarray instruction argument
switches from false to true). In the above example, the splat
call duplicates the array. I've tested and cases where a
local variable or symbol are used do not duplicate the array,
so I don't expect this to decrease the performance of most Ruby
programs. However, programs such as:
```ruby
foo(*args, &bar)
```
could see a decrease in performance, if `bar` is a method call
and not a local variable.
This is not a perfect solution, there are ways to get around
this:
```ruby
args = Struct.new(:a).new([:x, :y])
def args.to_a; a; end
def args.to_proc; a.pop; ->{}; end
foo(*args, &args)
# calls foo with 1 argument (:x)
# not 2 arguments (:x and :y)
```
A perfect solution would require completely disabling the
optimization.
Fixes [Bug #16504]
Fixes [Bug #16500]
Notes:
Merged: https://github.com/ruby/ruby/pull/3157
|