| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Fixes [Bug #19343]
|
| |
|
|
|
|
|
| |
* Add spec for eval and line coverage.
* Add test for main file coverage.
|
|
|
| |
* Extract common code for coverage setup.
|
|
|
| |
Windows build instructions.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I want to get the offset of fields inside structs, but I don't want to
instantiate the struct. I need to embed the offsets inside machine
code, and I can't get the offsets without calling `new` on the struct.
This commit adds an `offset` method so you can get the offset of a
member without instantiating anything. You can do:
```ruby
C.rb_control_frame_t.offsetof(:sp) #=> 8
```
I don't think this implementation is perfect, you can only get immediate
fields. But it is better than nothing!
|
| |
|
|
|
|
| |
We should be setting as.st and not as.ar.
|
|
|
|
| |
Fixes [Bug #19237]
|
| |
|
| |
|
|
|
|
|
| |
Suppress warnings shown even with `-Waddress-of-packed-member`
disabled in gcc 11.
|
| |
|
| |
|
|
|
|
| |
https://github.com/ruby/reline/commit/3f3da7d0e2
|
|
|
|
| |
https://github.com/ruby/reline/commit/61cc580da4
|
|
|
|
| |
`with_clean_env` has been deprecated in `with_unbundled_env`. It already generates a deprecation warning when it uses, but this man page was still referring to it.
|
| |
|
|
|
|
|
|
|
|
| |
The output from the command is mixed in this test, even when
successful.
Use the output as a part of the message on failure instead.
https://github.com/rubygems/rubygems/commit/960509a133
|
|
|
|
|
|
|
| |
bytesplice(index, length, str, str_index, str_length) -> string
bytesplice(range, str, str_range) -> string
In these forms, the content of +self+ is replaced by str.byteslice(str_index, str_length) or str.byteslice(str_range); however the substring of +str+ is not allocated as a new string.
|
| |
|
| |
|
|
|
|
| |
[Misc #16671]
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Note: On the new code of yjit/src/core.rs:2178, we no longer leave the state `.block=None` but `.address=Some...`, which might be important.
We assume it's actually not needed and take a risk here to minimize heap allocations, but in case it turns out to be necessary, we could signal/resurrect that state by introducing a new BranchTarget (or BranchShape) variant dedicated to it.
|
|
|
|
|
|
| |
(https://github.com/ruby/net-http/pull/104)
https://github.com/ruby/net-http/commit/3308362d9b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
are exiting (#6929)
YJIT: Implement splat for cfuncs. Split exit cases
This also implements a new check for ruby2keywords as the last
argument of a splat. This does mean that we generate more code, but in
actual benchmarks where we gained speed from this (binarytrees) I
don't see any significant slow down. I did have to struggle here with
the register allocator to find code that didn't allocate too many
registers. It's a bit hard when everything is implicit. But I think I
got to the minimal amount of copying and stuff given our current
allocation strategy.
|
|
|
|
|
|
|
|
| |
Fixes the following compilation warnings:
thread_sync.c:908:48: warning: taking address of packed member of `struct rb_queue` may result in an unaligned pointer value [-Waddress-of-packed-member]
thread_sync.c:1181:48: warning: taking address of packed member of `struct rb_queue` may result in an unaligned pointer value [-Waddress-of-packed-member]
|
|
|
|
|
| |
This commit avoids a separate code path for marking and moving the
callcache of the iseq.
|
|
|
|
|
|
|
|
|
|
| |
This commit adds rb_gc_mark_and_move which takes a pointer to an object
and marks it during marking phase and updates references during compaction.
This allows for marking and reference updating to be combined into a
single function, which reduces code duplication and prevents bugs if
marking and reference updating goes out of sync.
This commit also implements rb_gc_mark_and_move on iseq as an example.
|
|
|
|
|
|
|
|
| |
A few extension libraries, to hide all symbols except for necessary to
load, hardcode the symbols to be exported in symbol list files for
linker without even checking by `have_func`. As a workaround for such
libraries, retain `ruby_abi_version` symbol always even in released
versions for now.
|
| |
|
| |
|
|
|
|
|
| |
It looks like rb_callinfo in iseq can only be either a Ruby object or
null, since it cannot be allocated on the stack.
|
|
|
|
|
|
|
|
| |
In Feature #19314, we concluded that the return value of String#bytesplice
should be changed from the source string to the receiver, because the source
string is useless and confusing when extra arguments are added.
This change should be included in Ruby 3.2.1.
|
|
|
|
|
| |
Fewer cycles running nops when these jumps are not taken. Fixing all
these so when they get copy pasted in the future we save on padding.
|
| |
|
| |
|
|
|
|
|
|
| |
(https://github.com/ruby/net-http/pull/103)
https://github.com/ruby/net-http/commit/f6506ff889
|
|
|
| |
YJIT: implement codegen for String#empty?
|
|
|
|
| |
The function rb_hash_iter_lev doesn't exist as it was removed.
|