| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
* Add String#byteindex, String#byterindex, and MatchData#byteoffset [Feature #13110]
Co-authored-by: NARUSE, Yui <naruse@airemix.jp>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Links to options doc added/improved; in particular, new links to new section "Encoding Options" in encoding.rdoc. Minor inconsistencies ironed out.
|
| |
|
|
|
|
|
|
|
|
| |
This is the beginning of an extended explication of Ruby encoding.
One of its more important jobs is to provide link targets for encoding documentation in other classes (String, File, IO, etc.). In particular, they can link to the "Encoding Options" section.
I'll have much to add to this document going forward, along with suitable adjustments in the class documentation.
|
|
|
|
| |
getenv is no longer used in dln.c.
|
|
|
|
| |
https://github.com/ruby/ruby/pull/5518#discussion_r809645406
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clarifies security vulnerabilities for commands.
Treats:
Kernel.system
Kernel.` (backtick)
IO.popen
IO.read
IO.write
IO.binread
IO.binwrite
IO.readlines
IO.foreach
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the original rb_wasm_setjmp implementation always unwinds to the root
call frame to have setjmp compatible interface, and simulate sjlj's
undefined behavior. Therefore, every vm_exec call unwinds to main, and
a deep call stack makes setjmp call very expensive. The following
snippet from optcarrot takes 5s even though it takes less than 0.3s on
native.
```
[0x0, 0x4, 0x8, 0xc].map do |attr|
(0..7).map do |j|
(0...0x10000).map do |i|
clr = i[15 - j] * 2 + i[7 - j]
clr != 0 ? attr | clr : 0
end
end
end
```
This patch adds a WASI specialized vm_exec which uses lightweight
try-catch API without unwinding to the root frame. After this patch, the
above snippet takes only 0.5s.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This method takes a block and yields Thread::Backtrace::Location
objects to the block. It does not take arguments, and always
starts at the default frame that caller_locations would start at.
Implements [Feature #16663]
|
|
|
|
|
|
| |
The `CC` found by `AC_CHECK_TOOL` is prefixed by the host triplet
when cross compiling. To search for commands with `AC_CHECK_TOOL`
based on that `CC` means to search also doubly prefixed names.
|
|
|
|
|
| |
Show the linked ruby library name when failed to load extension
built against different ruby library.
|
| |
|
|
|
|
|
|
| |
Backticks method invokes `/bin/sh` when the command contains
quotes, and `sh` clears some environment variables set in
runruby.rb to search the built shared library.
|
|
|
|
| |
https://github.com/ruby/ruby/blob/fdf0f8d81487560f5837dc7e3888a96f7c2b4ec9/tool/lib/test/unit.rb#L1273-L1290
|
|
|
|
|
| |
`make btest-ruby` is run with -q (quiet) option and -v should
remove -q option.
|
| |
|
|
|
|
|
|
|
|
|
| |
The code attempts to read `C_ARG_REGS[leaf_builtin->argc + 1]`, and the
size of `C_ARG_REGS` is `NUM_C_ARG_REGS`. So, the guard condition must
be `leaf_builtin->argc + 1 + 1 <= NUM_C_ARG_REGS`.
This change fixes the off-by-one error. This issue was found by Coverity
Scan.
|
| |
|
|
|
| |
Sizes for darray are size_t now. CC @peterzhu2118
|
|
|
|
|
|
|
|
| |
Using a fake (malloc) RArray is not friendly for the garbage
collector. Fake RArray does not have a heap page, so it causes Variable
Width Allocation to crash when we try to implement it on Arrays.
This commit changes feature_index from a RArray to a darray.
|
|
|
|
|
|
|
| |
Changes size and capacity of darray to size_t to support more
elements.
Adds functions to darray that use GC allocation functions.
|
|
|
|
| |
The modulo in `rb_yjit_code_page_alloc` seems interpreted wrongly.
|
|
|
|
|
|
|
|
|
| |
On the parallel test, workers can be killed because of timeout
and the information for the retrying can be inconsistent.
This patch will skip if the inconsistency is found and report
as an error.
http://ci.rvm.jp/results/trunk-asserts@phosphorus-docker/3834082
|
|
|
|
|
| |
Random.urandom raises a RuntimeError if it is unavailable.
[Bug #13885]
|
| |
|
|
|
|
|
| |
`ObjectSpace::WeakMap#each*` should check key's liveness.
fix [Bug #18586]
|
|
|
|
|
| |
RARRAY_SHARED_ROOT_FLAG is defined as FL_USER5, but we should use
RARRAY_SHARED_ROOT_FLAG instead of depending on that they're equal.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(1) gc_verify_internal_consistency() use barrier locking
for consistency while `during_gc == true` at the end
of the sweep on `RGENGC_CHECK_MODE >= 2`.
(2) `rb_objspace_reachable_objects_from()` is called without
VM synchronization and it checks `during_gc != true`.
So (1) and (2) causes BUG because of `during_gc == true`.
To prevent this error, wait for VM barrier on `during_gc == false`
and introduce VM locking on `rb_objspace_reachable_objects_from()`.
http://ci.rvm.jp/results/trunk-asserts@phosphorus-docker/3830088
|
| |
|
|
|
|
|
| |
1 seconeds is not enough on an specific (busy) machine w/ mjit.
http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/3830178
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current example raises the following error.
```ruby
0..chr # => undefined local variable or method `chr' for main:Object (NameError)
```
This PR updates the example to produce the expected behavior.
```ruby
0.chr # => "\x00"
```
|
|
|
|
| |
PSAPI library has not been used since d66c5768caaee16a0c2c2c641185.
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/a93e1bcd68
|
|
|
|
|
|
| |
So that the generated `.rdoc_options` file is loadable.
https://github.com/ruby/rdoc/commit/6cf6e1647b
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/8166b84cf3
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://github.com/ruby/rdoc/pull/821)
This patch makes sure we only load relative code. Hence when coding or
testing rdoc, we'll be sure to always be using the correct code.
Discussion started at https://github.com/ruby/rdoc/pull/817.
Signed-off-by: Ulysse Buonomo <buonomo.ulysse@gmail.com>
https://github.com/ruby/rdoc/commit/aa41bd48eb
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
|