Граф коммитов

61289 Коммитов

Автор SHA1 Сообщение Дата
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