aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * 2018-07-13svn2018-07-121-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* timer_thread: do not close pipes around forknormal2018-07-122-54/+51
| | | | | | | | | | | | | | | | | | | There's actually no need to close the pipes used by the sleepy timer thread before forking, only to stop the timer thread itself. Instead, we only close the parent pipes in the child process, either via close-on-exec flag or when reinitializing the timer thread. This change will be necessary when we allow rb_wait_for_single_fd and rb_thread_fd_select to wait on the timer_thread_pipe.normal[0] directly and eliminate timer thread. I don't anticipate compatibility problems with this change alone. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Improve branch missesnobu2018-07-121-1/+1
| | | | | | | | | | | Improve branch misses on frozen object predicate checks negatively affecting performance of most setters as most objects are not frozen. [Fix GH-1913] From: Lourens Naudé <lourens@bearmetal.eu> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix compile error on debian8 and gentookazu2018-07-121-1/+4
| | | | | | | | | | | | https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian8/ruby-trunk/log/20180711T213004Z.log.html.gz#miniruby https://rubyci.org/logs/rubyci.s3.amazonaws.com/gentoo/ruby-trunk/log/20180711T213003Z.log.html.gz#miniruby ``` ./include/ruby/ruby.h:2213:49: error: missing binary operator before token "(" # if defined(__has_attribute) && __has_attribute(diagnose_if) ^ ``` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* removed unusecd constantsnobu2018-07-122-8/+0
| | | | | | | | | | * ruby-runner.c (ruby_libm_func): removed as the following test actually doesn't need the path of libm. * test/fiddle/test_pointer.rb (Fiddle::TestPointer#test_free=): removed never used constants and instance variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* exe/ruby: link libm for fiddle testnobu2018-07-122-1/+5
| | | | | | | | | | * common.mk (exe/ruby): $(LIBS) should come after the source file due to the ld spec. * ruby-runner.c (ruby_libm_func): force to link libm for fiddle test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-07-12svn2018-07-111-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: skip showing --timeout option [ci skip]k0kubun2018-07-111-1/+0
| | | | | | | because it's only available for limited platforms for now. I'll make it portable and show it later. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Failed to unlink before close on mswinkazu2018-07-111-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_io.rb (test_copy_stream_to_duplex_io): join threadnormal2018-07-111-1/+2
| | | | | | Don't leave runaway threads as it could affect other tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Make block spacing consistentnobu2018-07-111-77/+77
| | | | | | [Fix GH-1910] [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_io.rb: skip garbage and CPU tests if multi-threadednormal2018-07-111-0/+2
| | | | | | | | | Threads should not be active during these tests, but maybe they are... ref: https://bugs.ruby-lang.org/issues/14906 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread: avoid redundant error message on pipe2() failnormal2018-07-111-6/+2
| | | | | | Seeing one error for pipe creation is enough. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.c: use mask for timer implementationnormal2018-07-111-22/+33
| | | | | | | timer-thread will continue to be supported, but future "timer" implementation may not be a thread. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/test_{tempfile,tmpdir}: get rid of leftover filesnormal2018-07-112-7/+12
| | | | | | I ran out of inodes in $TMPDIR git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* spec/ruby/security/cve_2018_6914_spec.rb: get rid of leftover filesnormal2018-07-111-9/+12
| | | | | | I ran out of inodes in $TMPDIR :< git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: upgrade benchmark_driverk0kubun2018-07-112-11/+11
| | | | | | | | benchmark/README.md: fix help output, which is changed on v0.14.6. Especially `e1::path1,arg1,...; e2::path2,arg2` part was wrong since `,` can't be used to split arguments anymore. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: some are defined with YAML [ci skip]k0kubun2018-07-101-4/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use "diagnose_if" attribute for clangnaruse2018-07-101-11/+24
| | | | | | | Before this patch, clang shows many "division by zero is undefined" errors if a files has syntax error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: fix typo [ci skip]k0kubun2018-07-101-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark: revise ERB benchmarks using YAML syntaxk0kubun2018-07-105-52/+50
| | | | | | | | | | | to improve the accuracy of measurement by stop using block. benchmark/app_erb.rb -> benchmark/app_erb.yml: renamed and revised benchmark/erb_render.rb -> benchmark/erb_render.yml: ditto benchmark/README.md: follow renames git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: erb_render is no longer yml but rb [ci skip]k0kubun2018-07-101-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: wording consistency in one sentence [ci skip]k0kubun2018-07-101-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2018-07-100-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* output/driver.rb: add output plugin to reproducek0kubun2018-07-101-0/+36
| | | | | | | | | | the original behavior of benchmark/driver.rb. Probably I won't use this but this is requested by ko1. Use this with: make benchmark OPTS="-o driver" git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r63899k0kubun2018-07-103-612/+3
| | | | | | this is no longer needed due to r63926 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2018-07-100-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-07-11svn2018-07-101-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark_driver/runner: add runners for metricsk0kubun2018-07-107-2/+230
| | | | | | | | | | | supported by legacy benchmark/driver.rb. benchmark/README.md: document them common.mk: update benchmark_driver to correct 0.0 output and to fix spacing format of `-o simple` and `-o markdown`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* runner/size.rb: fix metric passed to outputk0kubun2018-07-102-1/+11
| | | | | | | | | runner/peak.rb: ditto This is needed to make commands like `make -C .ruby-svn benchmark ITEM=erb OPTS="-r size -o simple"` succeed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: add help output [ci skip]k0kubun2018-07-101-0/+17
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: don't recommend alias installation [ci skip]k0kubun2018-07-101-2/+2
| | | | | | | benchmark_driver is the official way to install benchmark_driver. benchmark-driver is just an alias for it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: execute benchmark alphabeticallyk0kubun2018-07-101-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark: drop all bm_ prefix for legacy driver.rbk0kubun2018-07-10127-0/+0
| | | | | | benchmark/*.rb is only benchmarks now. We don't need prefixes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2018-07-100-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "benchmark/*.yml: convert from benchmark/bm_*.rb"k0kubun2018-07-10256-3467/+3075
| | | | | | | | | | | | | | | This reverts r63900. Having single-execution benchmark as a normal Ruby script is preferred by ko1. I'm not a big fan of having inconsistent benchmark formats, but I can understand some benefits of it. common.mk: remove obsolsted benchmark-each PHONY declaration, support running Ruby scripts added by this commit. README.md: follow ARGS change git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2018-07-100-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark: resurrect peak / size metricsk0kubun2018-07-105-18/+172
| | | | | | | | | | | | | | by adding runner plugins for them. benchmark/lib/benchmark_driver/runner/peak.rb: added peak runner plugin benchmark/lib/benchmark_driver/runner/size.rb: added size runner plugin common.mk: allow using them benchmark/memory_wrapper.rb: deleted in favor of those runner plugins benchmark/README.md: document them git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove redundant code in the compiler.tenderlove2018-07-091-21/+4
| | | | | | | | | | | During instruction translation (linked list -> iseq generation), we can treat `TS_VALUE` and `TS_ISEQ` the same as they are just embedded in the generated sequences. The only difference between `TS_ISE` and `TS_IC` is that an inline storage entry may contain a markable `VALUE` pointer at some point, so we need to flag the iseq as containing markable objects. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove test code. ISE generation should not impact write barriertenderlove2018-07-091-1/+0
| | | | | | orz! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add lldb as a debugger optiontenderlove2018-07-091-0/+6
| | | | | | | | | This adds support for lldb as a debugger so that tests can be run under lldb like this: $ make test-all TESTS=test/some_test.rb RUNRUBYOPT=--debugger=lldb git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix crash when loading iseq from an arraytenderlove2018-07-092-4/+17
| | | | | | | | Objects loaded during iseq deserialization using arrays need to be added to the compile time mark array so that they stay alive until iseqs finish loading. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/README.md: fix -e interface for v0.14 [ci skip]k0kubun2018-07-091-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* benchmark/driver.rb: fully obsolete thisk0kubun2018-07-093-126/+13
| | | | | | | | | | | | in favor of just using benchmark_driver.gem. common.mk: The new `make benchmark` covers the both usages for old `make benchmark` and old `make benchmark-each`. So `make benchmark-each` is dropped now. benchmark/README.md: Explain its details git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-07-10svn2018-07-091-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: upgrade benchmark_driver to v0.14k0kubun2018-07-092-7/+7
| | | | | | | benchmark/driver.rb: deal with breaking changes which are actually introduced for this driver. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Promote irb library to default gems.hsbt2018-07-095-4/+33
| | | | | | | | | * lib/irb/irb.gemspec: init. * lib/irb/version.rb: Set @RELEASE_VERSION value to IRB::VERSION for gemspec. * doc/*.rdoc: Move IRB entry to default gems category. * tool/sync_default_gems.rb: Add irb support. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file_rename.yml: allow running this on mswin/mingwk0kubun2018-07-091-1/+1
| | | | | | | Suggested by MSP-Grep: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/87883 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* app_pentominio.yml: drop unnecessary preludek0kubun2018-07-091-1/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Don't copy FL_USER* on Kernel#clone. [Bug #14847]ko12018-07-092-2/+35
| | | | | | | | | * object.c (mutable_obj_clone): `Kernel#clone` should not copy FL_USER* flags because they are copied unexpectedly. Unexpected copy will break internal data consistency. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e