| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
https://github.com/rubygems/rubygems/commit/2890622479
|
| |
|
|
|
|
| |
This just introduces compaction support for backtrace objects.
|
|
|
|
|
|
|
|
|
|
| |
This patch allows global variables that have been assigned in Ruby to
move. I added a new function for the GC to call that will update
global references and introduced a new callback in the global variable
struct for updating references.
Only pure Ruby global variables are supported right now, other
references will be pinned.
|
| |
|
|
|
|
|
|
| |
Right now `SomeClass.method` is properly named, but `SomeModule.method`
is displayed as `#<Module:0x000055eb5d95adc8>.method` which makes
profiling annoying.
|
|
|
|
|
|
|
| |
No objects should ever reference a `T_MOVED` slot. If they do, it's
absolutely a bug. If we kill the process when `T_MOVED` is pushed on
the mark stack it will make it easier to identify which object holds a
reference that hasn't been updated.
|
|
|
|
| |
IRB::ReadlineInputMethod#initialize changes them via IRB.set_encoding.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It caches a path to .irbrc file, which has caused random failure:
```
1) Failure:
TestIRB::ExtendCommand#test_irb_info_multiline [/home/mame/work/ruby/test/irb/test_cmd.rb:49]:
Expected /
Ruby\sversion: .+\n
IRB\sversion:\sirb .+\n
InputMethod:\sReidlineInputMethod\swith\sReline .+ and .+\n
\.irbrc\spath: .+
/x to match "Ruby version: 2.8.0\n" +
"IRB version: irb 1.2.3 (2020-02-15)\n" +
"InputMethod: ReidlineInputMethod with Reline 0.1.4 and /tmp/test_reline_config_155659/.inputrc\n".
```
|
| |
|
| |
|
|
|
|
| |
There is parse.h apart from parse.c these days.
|
|
|
|
| |
This file is not under Ruby's license.
|
|
|
|
|
| |
IBM holds their copyrights. Whether they are free software or not is
uncler. But arguably they are, given we have copied them from glibc.
|
|
|
|
| |
The file was moved.
|
|
|
|
| |
Some files were missing.
|
|
|
|
|
| |
It is no longer obvious what were the original license of so_*
benchmarks, because the original was lost.
|
|
|
|
| |
This file includes BSD printf.
|
|
|
|
| |
FSF holds its copyright.
|
|
|
|
| |
Because ruby-mode.el already removed at f03e68edb80dca962290d1fb3a6d49dabdbb911e
|
|
|
|
|
|
|
|
|
|
| |
Even if local stack optimization is not used and values are written to
VM stack, the stack pointer itself may not be moved properly. So this
should be always moved on JIT cancellation.
By the way it's hard to write a test for this because if we try to
generate an interrupt, it will be a method call and it consumes the
interrupt by itself on popping a frame.
|
|
|
|
|
| |
Now this one is actually not in use because we override entire leave
definition for JIT.
|
| |
|
|
|
|
| |
So that `TEST_EXCLUDES` option in common.mk works.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Trying to debug errors like
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2921397
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2894526
|
|
|
|
|
| |
To get rid of calling `getaddrinfo`, which may keep FDs
internally.
|
| |
|
|
|
|
|
| |
`getaddrinfo` on macOS seems keeping FDs to query host names
internally.
|
| |
|
|
|
|
| |
It is more popular than /proc/self/fd.
|
|
|
|
|
| |
As now `Object#===` document is separated from `rb_equal`, this note
no longer makes sense.
|
|
|
|
|
| |
`rb_equal` may be inlined in `case_equal` and actually same code
is generated twice.
|
| |
|
|
|
|
|
|
|
| |
* Multiple times people have been confused and believed rb_equal()
called #=== but it does not, it calls #==.
* This optimization has a subtle side effect for Float::NAN,
which is now documented.
|
|
|
|
| |
* rb_equal() already checks using `obj1 == obj2`.
|
| |
|
|
|
|
| |
[DOC] [#16829]
|
| |
|
|
|
|
|
|
| |
https://bugs.ruby-lang.org/issues/16830
https://github.com/ruby/uri/commit/b4bf8c1217
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
We only need to loop `T_MASK` times once. Also, not every value between
0 and `T_MASK` is an actual Ruby type. Before this change, some
integers were being added to the result hash even though they aren't
actual types. This patch omits considered / moved entries that total 0,
cleaning up the result hash and eliminating these "fake types".
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Due to the change in 3893a8dd42fb3bbd71750648c3c0de118955a6ea,
there is no longer a need to put true/false.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Folding results should not be empty.
If `OnigCodePointCount(to->n)` were 0, `for` loop using `fn`
wouldn't execute and `ncs` elements are not initialized.
```
enc/unicode.c:557:21: warning: 'ncs[0]' may be used uninitialized in this function [-Wmaybe-uninitialized]
557 | for (i = 0; i < ncs[0]; i++) {
| ~~~^~~
```
* Cast to `enum yytokentype`
Additional enums for scanner events by ripper are not included
in `yytokentype`.
```
ripper.y:7274:28: warning: implicit conversion from 'enum <anonymous>' to 'enum yytokentype' [-Wenum-conversion]
```
|