51439 Commits

Author SHA1 Message Date
nobu
7c5a79efba exe/ruby: link libm for fiddle test
* 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-12 02:14:00 +00:00
svn
727e90172b * 2018-07-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-11 22:49:50 +00:00
k0kubun
706d266496 benchmark/README.md: skip showing --timeout option [ci skip]
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
2018-07-11 22:49:48 +00:00
kazu
f2dec4ab96 Failed to unlink before close on mswin
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-11 13:00:56 +00:00
normal
304b544651 test/ruby/test_io.rb (test_copy_stream_to_duplex_io): join thread
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
2018-07-11 10:28:02 +00:00
nobu
dae0f4388e Make block spacing consistent
[Fix GH-1910] [ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-11 09:56:49 +00:00
normal
44d1929d0d test/ruby/test_io.rb: skip garbage and CPU tests if multi-threaded
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
2018-07-11 09:47:36 +00:00
normal
b205642518 thread_pthread: avoid redundant error message on pipe2() fail
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
2018-07-11 08:49:23 +00:00
normal
23f4ba46de thread_pthread.c: use mask for timer implementation
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
2018-07-11 08:49:18 +00:00
normal
e22f3bf91f test/test_{tempfile,tmpdir}: get rid of leftover files
I ran out of inodes in $TMPDIR

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-11 08:33:37 +00:00
normal
9366d7092f spec/ruby/security/cve_2018_6914_spec.rb: get rid of leftover files
I ran out of inodes in $TMPDIR :<

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-11 08:33:32 +00:00
k0kubun
3e93bf3b46 common.mk: upgrade benchmark_driver
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
2018-07-11 00:34:32 +00:00
k0kubun
1053c3d4bf benchmark/README.md: some are defined with YAML [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-10 23:56:57 +00:00
naruse
4b2f2225e4 Use "diagnose_if" attribute for clang
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
2018-07-10 16:10:57 +00:00
k0kubun
fdd7f57b97 benchmark/README.md: fix typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-10 16:03:51 +00:00
k0kubun
3efcb74036 benchmark: revise ERB benchmarks using YAML syntax
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
2018-07-10 15:58:52 +00:00
k0kubun
498487ec2a benchmark/README.md: erb_render is no longer yml but rb [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-10 15:51:29 +00:00
k0kubun
301cb9ea7c benchmark/README.md: wording consistency in one sentence [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-10 15:49:42 +00:00
svn
cf438cae24 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-10 15:44:46 +00:00
k0kubun
5d35664ad6 output/driver.rb: add output plugin to reproduce
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
2018-07-10 15:44:45 +00:00
k0kubun
020bb75808 revert r63899
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
2018-07-10 15:06:59 +00:00
svn
eaf312d087 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-10 15:01:29 +00:00
svn
2d47a1eb44 * 2018-07-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-10 15:01:28 +00:00
k0kubun
f328fe40b3 benchmark_driver/runner: add runners for metrics
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
2018-07-10 15:01:27 +00:00
k0kubun
79a8c10b0b runner/size.rb: fix metric passed to output
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
2018-07-10 14:16:57 +00:00
k0kubun
34eed0cd47 benchmark/README.md: add help output [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-10 13:41:13 +00:00
k0kubun
59ec265e33 benchmark/README.md: don't recommend alias installation [ci skip]
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
2018-07-10 13:36:44 +00:00
k0kubun
83c5389439 common.mk: execute benchmark alphabetically
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-10 13:16:55 +00:00
k0kubun
433af16167 benchmark: drop all bm_ prefix for legacy driver.rb
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
2018-07-10 13:08:40 +00:00
svn
f992f42518 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-10 13:05:31 +00:00
k0kubun
8068d34cfe Revert "benchmark/*.yml: convert from benchmark/bm_*.rb"
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
2018-07-10 13:05:29 +00:00
svn
bd12037e50 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-10 12:14:05 +00:00
k0kubun
12a38cbac0 benchmark: resurrect peak / size metrics
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
2018-07-10 12:14:04 +00:00
tenderlove
d8583b132c Remove redundant code in the compiler.
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
2018-07-09 20:01:54 +00:00
tenderlove
162cbfe631 Remove test code. ISE generation should not impact write barrier
orz!

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-09 19:20:27 +00:00
tenderlove
b46ef9d634 Add lldb as a debugger option
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
2018-07-09 17:49:21 +00:00
tenderlove
7aab72f736 Fix crash when loading iseq from an array
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
2018-07-09 17:47:37 +00:00
k0kubun
443773836e benchmark/README.md: fix -e interface for v0.14 [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-09 16:43:42 +00:00
k0kubun
7bed459a26 benchmark/driver.rb: fully obsolete this
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-09 16:31:35 +00:00
svn
0b519e110f * 2018-07-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-09 15:45:03 +00:00
k0kubun
5b9ff71077 common.mk: upgrade benchmark_driver to v0.14
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
2018-07-09 15:45:02 +00:00
hsbt
70785c1c5a Promote irb library to default gems.
* 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
2018-07-09 14:01:05 +00:00
k0kubun
6c4e05d2d8 file_rename.yml: allow running this on mswin/mingw
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
2018-07-09 13:20:25 +00:00
k0kubun
14153a9bab app_pentominio.yml: drop unnecessary prelude
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-09 12:50:50 +00:00
ko1
38e05ff3e1 Don't copy FL_USER* on Kernel#clone. [Bug #14847]
* 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
2018-07-09 08:07:26 +00:00
normal
63efc86bf7 addr2line.c (kprintf): static
This function is not used outside of addr2line.c

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-09 03:07:59 +00:00
nobu
bf9169d555 common.mk: codesign ruby-runner too
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-09 01:50:12 +00:00
nobu
58f2e6bc94 dir.c: fix directory glob
* dir.c (glob_helper): fix directory glob which resulted in lacking
  the first byte.  adjust the length of basename to be appended as
  well as removing the heading path, not the length of the joined
  path.  [ruby-dev:50588] [Bug #14899]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-09 01:20:20 +00:00
normal
0528838b37 addr2line.c: no need to keep fd around after mmap
POSIX mmap(3) manpage stipulates mmap bumps the reference
count of the file description.  Thus keeping a file descriptor
to maintain the reference is not necessary.

If this didn't work, every extension .so would require a
permanent FD, which is obviously not the case.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-08 23:43:14 +00:00
stomar
e1a8d281eb range.c: [DOC] small improvement
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-08 19:30:19 +00:00