Takashi Kokubun
4aca078bda
Support cc_added_args again
...
This support was accidentally removed in 818d6d3336
.
2020-05-03 00:45:19 -07:00
Takashi Kokubun
a218cbdf31
Skip pdb corruption on Visual Studio 2015 as well
...
It turned out that the pdb corruption happens on Visual Studio 2015 as
well.
https://ci.appveyor.com/project/ruby/ruby/builds/32602953/job/3gj43q18wqeiy729
2020-05-03 00:41:28 -07:00
Takashi Kokubun
e0c023d1c8
Skip only .dSYM cleanup on macOS
...
Fix https://github.com/ruby/ruby/runs/636020145 without skipping too
many tests.
It seems that .c -> .o with debug flags and .o -> .so without debug
flags did not generate .dSYM but now .c -> .so with debug flags seems to
generate a .dSYM directory. As --jit-debug should not be used by normal
users, let me skip implementing the removal for now.
2020-05-03 00:34:03 -07:00
Nobuyoshi Nakada
e49ecaed57
Optimize sin/cos
...
GCC/Clang can optimize to calculate `sin(x)` and `cos(x)` at once,
when the both are closely called on the same argument.
Similar optimization is possible for `__sinpi(x)` and `__cospi(x)`
if available, which calculate arguments in radian, i.e.
`sin(x*M_PI)` and `cos(x*M_PI)` respectively.
2020-05-03 15:29:51 +09:00
Nobuyoshi Nakada
8af098b40e
Show unreserved bits only
...
`RUBY_FL_SEEN_OBJ_ID` can be set by #object_id.
2020-05-03 14:36:56 +09:00
Takashi Kokubun
cc6afff006
Avoid infinite times of JIT compaction
...
It's to avoid memory leak for actual usage (because they don't get
unloaded properly), but also for fixing CI timed out due to JIT
compaction taking too long time on --jit-wait (which runs every time)
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2911601
2020-05-02 21:43:28 -07:00
Yusuke Endoh
224f29c8e9
spec/ruby/core/process/clock_getres_spec.rb: lax the resolution limit
...
Android is Linux, but the clock resolution is 10 milliseconds.
I think that 1 microsecond is too strict for embedded environment.
This change laxes the limit to 10 milliseconds.
2020-05-03 00:23:18 +09:00
git
fe2a832ace
* 2020-05-03 [ci skip]
2020-05-03 00:16:23 +09:00
Nobuyoshi Nakada
cfe0e660f4
Disable -Wswitch warning when VM_CHECK_MODE
2020-05-03 00:15:56 +09:00
Nobuyoshi Nakada
717680f197
DO NOT CORRUPT TYPE FLAGS
2020-05-03 00:11:47 +09:00
Nobuyoshi Nakada
9998161b10
Fixed missing `should`
2020-05-03 00:05:19 +09:00
Benoit Daloze
c2dc52e18b
Rename arguments for ObjectSpace::WeakMap#[]= for clarity
2020-05-02 16:16:56 +02:00
Nobuyoshi Nakada
e964f67b89
append newline at EOF [ci skip]
2020-05-02 23:15:00 +09:00
Nobuyoshi Nakada
de8b8b609a
Command failed to run just fails
...
The exact exit status value of command failed to run is not a
spec, but a platform dependent implementation detail. Just it is
not "success".
2020-05-02 23:11:42 +09:00
Benoit Daloze
a2be428c5f
Fix ObjectSpace::WeakMap#key? to work if the value is nil
...
* Fixes [Bug #16826 ]
2020-05-02 16:08:36 +02:00
Benoit Daloze
c9213aa864
Update to ruby/spec@d394dfd
2020-05-02 16:03:14 +02:00
Benoit Daloze
a68ddf4287
Update to ruby/mspec@ee29a34
2020-05-02 16:03:12 +02:00
Yusuke Endoh
b78fba447a
internal/process.h: forgot to guard "#ifdef HAVE_WORKING_FORK"
2020-05-02 22:17:03 +09:00
Yusuke Endoh
91e4e2403e
internal/process.h: add a no-warning simple wrapper for fork(2)
...
As fork(2) is deprecated, its calls must be guarded by
`COMPILER_WARNING_IGNORED(-Wdeprecated-declarations)`.
All usages of fork(2) in process have been alread guarded. A new call
to fork(2) was added in ruby.c with f22c4ff359
.
This caused a build failure on Solaris 11.
It may hide a bug to guard big code unnecessarily, so this change
introduces a simple wrapper "rb_fork" whose definition is guarded, and
replaces all calls to fork(2) with the wrapper function.
2020-05-02 21:34:10 +09:00
git
bb2ca76237
* 2020-05-02 [ci skip]
2020-05-02 02:41:15 +09:00
Takashi Kokubun
72c0612c40
Skip Solaris RubyCI TestJIT for now
...
to be investigated later
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200501T160004Z.fail.html.gz
2020-05-01 10:40:44 -07:00
Nobuyoshi Nakada
28aa5f7fa6
Fixed a message and version guard then moved to the existing block
2020-05-01 19:52:29 +09:00
Nobuyoshi Nakada
dc3bc425bb
Get rid of -Wgnu-folding-constant errors
...
Also renamed as like as a constant.
2020-05-01 19:28:23 +09:00
Takashi Kokubun
41bbdd7806
Skip MinGW TestJIT* and macOS TestJITDebug failures
...
caused by 818d6d3336
, for now.
I'll take a look at them tomorrow.
2020-05-01 03:08:51 -07:00
Takashi Kokubun
e4d3d5ceab
Stop generating MJIT_PCH include guard
...
to fix
https://ci.appveyor.com/project/ruby/ruby/builds/32577700/job/yh61rom35wt2uv39
It was for JIT compaction, and we don't support it on mswin.
2020-05-01 02:54:50 -07:00
Nobuyoshi Nakada
76d9be9ce9
Get rid of -Wgnu-zero-variadic-macro-arguments errors
...
As zero variadic macro argument, `rb_scan_args(argc, argv, "")`
(or `"0"`), means 0-arity method and should be defined so, that
case doesn't need to consider.
2020-05-01 18:39:08 +09:00
Takashi Kokubun
e19f4b3ac0
Fix MJIT compiler warnings in clang
2020-05-01 02:35:18 -07:00
Takashi Kokubun
90969edf9b
Fix a wrong argument of vm_exec on JIT cancel
2020-05-01 02:12:42 -07:00
Takashi Kokubun
72aa4dd183
c_file_access_mode should be defined for Windows
...
as well. And also unit->c_file doesn't exist in mswin.
https://github.com/ruby/ruby/runs/635915704
2020-05-01 01:58:19 -07:00
Takashi Kokubun
818d6d3336
Deduplicate functions in compacted JIT code
...
to improve code locality.
Using benchmark-driver/sinatra with 100 methods JIT-ed,
[Before] 12149.97 rps
1.3M /tmp/_ruby_mjit_p31171u145.so
[After] 12818.83 rps
260K /tmp/_ruby_mjit_p32155u145.so
(VM is 13714.89 rps)
2020-05-01 01:38:16 -07:00
Takashi Kokubun
773afeb73d
Fix a typo
2020-05-01 00:46:01 -07:00
Takashi Kokubun
76507bfc3d
Fix matrix spec for 7d360efe92
2020-05-01 00:45:17 -07:00
Takashi Kokubun
5c8bfad078
Make sure unit->id is inherited
...
to child compile_status
2020-05-01 00:40:21 -07:00
Marc-Andre Lafortune
6eed4d1b74
[ruby/matrix] v0.3.0
2020-05-01 03:25:17 -04:00
Marc-Andre Lafortune
9b5675b325
[ruby/matrix] Add Matrix#adjoint [ #14 ]
...
Patch adapted from Alessandro Minali
2020-05-01 03:25:15 -04:00
Marc-Andre Lafortune
07fd6dc49b
[ruby/matrix] Optimize Matrix#*
2020-05-01 03:25:13 -04:00
Marc-Andre Lafortune
3cb038cc7a
[ruby/matrix] Fix Matrix#orthogonal?
2020-05-01 03:25:11 -04:00
Marc-Andre Lafortune
7d360efe92
[ruby/matrix] Fix Matrix#unitary? [ #14 ]
2020-05-01 03:25:05 -04:00
zverok
c925cc01c5
[ruby-matrix] Update docs (nicer rendering, undocumented method)
2020-05-01 03:13:24 -04:00
Takashi Kokubun
f5ddbba9a2
Include unit id in a function name of an inlined method
...
I'm trying to make it possible to include all JIT-ed code in a single C
file. This is needed to guarantee uniqueness of all function names
2020-04-30 23:08:13 -07:00
Takashi Kokubun
96837dc9e0
Switch test_unload_units_and_compaction on mswin
...
because we support JIT compaction on it
2020-04-30 22:21:46 -07:00
Takashi Kokubun
e8a78d7df8
Do not stop the world during JIT compaction
...
Running C compiler for JIT compaction inside a critical section may lock
main thread for a long time when it triggers GC. As I'm planning to
increase this duration a bit, I'd like to make sure this doesn't stop
the world.
For now, I chose to give up unloading units when it's during JIT
compaction, assuming other calls may unload them later.
2020-04-30 21:38:50 -07:00
Nobuyoshi Nakada
520ac5da22
[pty] do not check openpty twice if found in util library
2020-05-01 10:58:27 +09:00
git
9014c900b6
* 2020-05-01 [ci skip]
2020-05-01 02:32:56 +09:00
Jeremy Evans
5a9d2da76e
Remove deprecated rb_require_safe
2020-04-30 10:32:27 -07:00
Nobuyoshi Nakada
4a8acf4625
[ruby/irb] Restore the default encodings
...
IRB::ReadlineInputMethod#initialize sets via IRB.set_encoding.
2020-04-30 22:54:42 +09:00
Nobuyoshi Nakada
9d1b272b01
[ruby/irb] Suppress messages switching inspect mode
2020-04-30 11:57:08 +09:00
git
14b5a3b414
* 2020-04-30 [ci skip]
2020-04-30 11:48:24 +09:00
Nobuyoshi Nakada
b3ce6fa099
[ruby/irb] Relaxed regexp for readline
...
Readline::VERSION may not be a single word, e.g EditLine wrapper
when linked with editline.
2020-04-30 11:44:22 +09:00
aycabta
7e5253d15e
[ruby/irb] Suppress "method redefined" warning
...
https://github.com/ruby/irb/commit/5f0aee56fa
2020-04-29 19:13:14 +09:00