Age | Commit message (Collapse) | Author |
|
|
|
Isn't setting `in_compact = true` enough to avoid a race condition
between JIT compaction and unload_units? Now I think it is.
This change will make it easier to spend more time on compile_compact_jit_code.
For now it seems to take only 0.0723ms though.
|
|
since 58325daae3beefda13ed100782cd19a89cc68771.
../string.c:1339:1: warning: ‘str_new_empty’ defined but not used [-Wunused-function]
1339 | str_new_empty(VALUE str)
| ^~~~~~~~~~~~~
|
|
Thanks to Ractor (https://github.com/ruby/ruby/pull/2888 and https://github.com/ruby/ruby/pull/3662),
inline caches support parallel access now.
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
|
|
This modifies the following String methods to return String instances
instead of subclass instances:
* String#*
* String#capitalize
* String#center
* String#chomp
* String#chop
* String#delete
* String#delete_prefix
* String#delete_suffix
* String#downcase
* String#dump
* String#each/#each_line
* String#gsub
* String#ljust
* String#lstrip
* String#partition
* String#reverse
* String#rjust
* String#rpartition
* String#rstrip
* String#scrub
* String#slice!
* String#slice/#[]
* String#split
* String#squeeze
* String#strip
* String#sub
* String#succ/#next
* String#swapcase
* String#tr
* String#tr_s
* String#upcase
This also fixes a bug in String#swapcase where it would return the
receiver instead of a copy of the receiver if the receiver was the
empty string.
Some string methods were left to return subclass instances:
* String#+@
* String#-@
Both of these methods will return the receiver (subclass instance)
in some cases, so it is best to keep the returned class consistent.
Fixes [#10845]
Notes:
Merged: https://github.com/ruby/ruby/pull/3701
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3797
|
|
|
|
lookup chain
Module#include should only be able to insert modules after the origin,
otherwise it ends up working like Module#prepend.
This fixes the case where one of the modules in the included module
chain is included in a module that is already prepended to the receiver.
Fixes [Bug #7844]
Notes:
Merged: https://github.com/ruby/ruby/pull/3796
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3777
|
|
https://github.com/ruby/ruby/runs/1428320660?check_suite_focus=true#step:9:10
```
tool/downloader.rb:243:in `rescue in download': failed to download config.guess (RuntimeError)
OpenURI::HTTPError: 403 Forbidden: https://cdn.jsdelivr.net/gh/gcc-mirror/gcc@master/config.guess
```
Notes:
Merged: https://github.com/ruby/ruby/pull/3794
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3769
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3769
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3769
|
|
yet another implements [Feature #17276]
|
|
|
|
This commits adds in documentation to illustrate the different modes you
can start coverage with. Examples are provided to show how to start each
of these modes, along with an explanation of the mode and a description
of the output.
Notes:
Merged: https://github.com/ruby/ruby/pull/3792
|
|
|
|
|
|
This switches the internal function from rb_parser_compile_file_path
to rb_parser_load_file, which is the same internal method that
Kernel#load uses.
Fixes [Bug #17308]
Notes:
Merged: https://github.com/ruby/ruby/pull/3788
|
|
|
|
Additionally fix some typos in transient heap.
Notes:
Merged: https://github.com/ruby/ruby/pull/3787
|
|
https://github.com/ruby/net-smtp/commit/6e5c09dcc4
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3784
|
|
|
|
Implements [Feature #17276]
Notes:
Merged: https://github.com/ruby/ruby/pull/3774
Merged-By: jeremyevans <code@jeremyevans.net>
|
|
instead of 'do not call it directly.' comment.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
https://github.com/ruby/fiddle/commit/50e02f9445
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
https://github.com/ruby/fiddle/commit/74b65cb858
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
https://github.com/ruby/fiddle/commit/cf168680a2
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
It's fixed in upstream.
https://github.com/MSP-Greg/ruby-loco/issues/4
https://github.com/ruby/fiddle/commit/2ae0ff4934
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
https://github.com/ruby/fiddle/commit/bb227c206d
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
https://github.com/ruby/fiddle/commit/fee175a8ff
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
https://github.com/ruby/fiddle/commit/6d24fb5438
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
GitHub: fix GH-15
Reported by Eneroth3. Thanks!!!
https://github.com/ruby/fiddle/commit/f3d70b81ec
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
See comment for details.
https://github.com/ruby/fiddle/commit/0c76f03dc4
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
* Add a "pinning" reference
A `Fiddle::Pinned` objects will prevent the objects they point to from
moving. This is useful in the case where you need to pass a reference
to a C extension that keeps the address in a global and needs the
address to be stable.
For example:
```ruby
class Foo
A = "hi" # this is an embedded string
some_c_function A # A might move!
end
```
If `A` moves, then the underlying string buffer may also move.
`Fiddle::Pinned` will prevent the object from moving:
```ruby
class Foo
A = "hi" # this is an embedded string
A_pinner = Fiddle::Pinned.new(A) # :nodoc:
some_c_function A # A can't move because of `Fiddle::Pinned`
end
```
This is a similar strategy to what Graal uses:
https://www.graalvm.org/sdk/javadoc/org/graalvm/nativeimage/PinnedObject.html#getObject--
* rename global to match exception name
* Introduce generic Fiddle::Error and rearrange error classes
Fiddle::Error is the generic exception base class for Fiddle exceptions.
This commit introduces the class and rearranges Fiddle exceptions to
inherit from it.
https://github.com/ruby/fiddle/commit/ac52d00223
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
For example, :voidp equals to Fiddle::TYPE_VOID_P.
https://github.com/ruby/fiddle/commit/3b4de54899
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
Add rb_fiddle_ prefix to conversion functions.h to keep backward
compatibility but value_to_generic() isn't safe for TYPE_CONST_STRING
and not String src. Use rb_fiddle_value_to_generic() instead.
https://github.com/ruby/fiddle/commit/0ffcaa39e5
Notes:
Merged: https://github.com/ruby/ruby/pull/3780
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3778
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3782
|
|
JunichiIto on GitHub correctly pointed out this is no longer
accurate due to the change to not display deprecation warnings by
default.
|
|
|
|
To make some kind of Ractor related extensions, some functions
should be exposed.
* include/ruby/thread_native.h
* rb_native_mutex_*
* rb_native_cond_*
* include/ruby/ractor.h
* RB_OBJ_SHAREABLE_P(obj)
* rb_ractor_shareable_p(obj)
* rb_ractor_std*()
* rb_cRactor
and rm ractor_pub.h
and rename srcdir/ractor.h to srcdir/ractor_core.h
(to avoid conflict with include/ruby/ractor.h)
Notes:
Merged: https://github.com/ruby/ruby/pull/3775
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3776
|
|
|