Age | Commit message (Collapse) | Author |
|
Previously, the result was incorrect:
4.remainder(-Float::INFINITY)
Before: => NaN
After: => 4
4.2.remainder(-Float::INFINITY)
Before: => NaN
After: => 4.2
Fixes [Bug #6120]
Notes:
Merged: https://github.com/ruby/ruby/pull/4257
|
|
Notes:
Merged-By: k0kubun <[email protected]>
|
|
Notes:
Merged-By: k0kubun <[email protected]>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4135
|
|
forgotten in https://github.com/ruby/ruby/pull/4018
|
|
Notes:
Merged-By: k0kubun <[email protected]>
|
|
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_integer.yml --filter '(comp|uminus)'
before --jit: ruby 3.0.0dev (2020-12-23T05:41:44Z master 0dd4896175) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-23T06:25:41Z master 8887d78992) +JIT [x86_64-linux]
last_commit=Allow inlining Integer#-@ and #~
Calculating -------------------------------------
before --jit after --jit
mjit_comp(1) 44.006M 70.417M i/s - 40.000M times in 0.908967s 0.568042s
mjit_uminus(1) 44.333M 68.422M i/s - 40.000M times in 0.902255s 0.584603s
Comparison:
mjit_comp(1)
after --jit: 70417331.4 i/s
before --jit: 44005980.4 i/s - 1.60x slower
mjit_uminus(1)
after --jit: 68422468.8 i/s
before --jit: 44333371.0 i/s - 1.54x slower
```
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3886
|
|
sequences (#3870)
[Bug #17218]
[ruby-core:100312]
Notes:
Merged-By: mrkn <[email protected]>
|
|
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
|
|
* numeric.c: prohibit zero step in Numeric#step
* range.c: prohibit zero step in Range#step
* Fix ruby-spec
[Feature #15573]
Notes:
Merged: https://github.com/ruby/ruby/pull/3689
Merged-By: mrkn <[email protected]>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3589
|
|
|
|
|
|
The error message has an integer overflow because it treats an unsigned int as a signed int.
Before:
```
> 3_000_000_000.chr
-1294967296 out of char range (RangeError)
```
After:
```
> 3_000_000_000.chr
3000000000 out of char range (RangeError)
```
Redmine ticket: https://bugs.ruby-lang.org/issues/17186
Notes:
Merged: https://github.com/ruby/ruby/pull/3602
|
|
[ci skip]
Notes:
Merged: https://github.com/ruby/ruby/pull/3389
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3305
|
|
We can obtain the verbatim source code of Primitive.cexpr!. Why not
paste that content into the JITed program.
Notes:
Merged: https://github.com/ruby/ruby/pull/3305
|
|
Not every compilers understand that rb_raise does not return. When a
function does not end with a return statement, such compilers can issue
warnings. We would better tell them about reachabilities.
Notes:
Merged: https://github.com/ruby/ruby/pull/3247
|
|
I'm not necessarily against every goto in general, but jumping into a
branch is definitely a bad idea. Better refactor.
Notes:
Merged: https://github.com/ruby/ruby/pull/3247
|
|
I'm not necessarily against every goto in general, but jumping into a
branch is definitely a bad idea. Better refactor.
Notes:
Merged: https://github.com/ruby/ruby/pull/3247
|
|
I'm not necessarily against every goto in general, but jumping into a
branch is definitely a bad idea. Better refactor.
Notes:
Merged: https://github.com/ruby/ruby/pull/3247
|
|
Notes:
Merged-By: k0kubun <[email protected]>
|
|
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 <[email protected]>
|
|
* remove else if & rb_funcall
* fix int_even_p impl
* fix rb_int_odd_p implementation
Notes:
Merged-By: k0kubun <[email protected]>
|
|
Notes:
Merged-By: ko1 <[email protected]>
|
|
It would be a relatively frequent case. It is still slower than
`float * float` because `*` has a dedicated VM instruction (opt_mult),
though.
|
|
To fix build failures.
Notes:
Merged: https://github.com/ruby/ruby/pull/3079
|
|
This shall fix compile errors.
Notes:
Merged: https://github.com/ruby/ruby/pull/3079
|
|
|
|
b cannot be <= 0 here. Found by Coverity Scan
|
|
|
|
|
|
Split ruby.h
Notes:
Merged-By: shyouhei <[email protected]>
|
|
|
|
Fixes [Bug #16044]
Notes:
Merged: https://github.com/ruby/ruby/pull/2953
|
|
|
|
Saves comitters' daily life by avoid #include-ing everything from
internal.h to make each file do so instead. This would significantly
speed up incremental builds.
We take the following inclusion order in this changeset:
1. "ruby/config.h", where _GNU_SOURCE is defined (must be the very
first thing among everything).
2. RUBY_EXTCONF_H if any.
3. Standard C headers, sorted alphabetically.
4. Other system headers, maybe guarded by #ifdef
5. Everything else, sorted alphabetically.
Exceptions are those win32-related headers, which tend not be self-
containing (headers have inclusion order dependencies).
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
With these macros implemented we can write codes just like we can assume
the compiler being clang. MSC_VERSION_SINCE is defined to implement
those macros, but turned out to be handy for other places. The -fdeclspec
compiler flag is necessary for clang to properly handle __has_declspec().
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
These functions are used from within a compilation unit so we can
make them static, for better binary size. This changeset reduces
the size of generated ruby binary from 26,590,128 bytes to
26,584,472 bytes on my macihne.
Notes:
Merged: https://github.com/ruby/ruby/pull/2682
|
|
|
|
Though it won't happen in the real world in this context, FIX2INT may
raise an exception and it cause to generate extra code.
|
|
* numeric.c (num_step): pass the extracted argument from keyword
argument, not the last argument itself which should have been
warned already.
|
|
|
|
|
|
[Bug #16044]
|