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

1194 Коммитов

Автор SHA1 Сообщение Дата
nobu 92c6072ef4 rbinstall.rb: add --exclude option for install-nodoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-17 23:23:14 +00:00
nobu 6feee125b9 common.mk: common rdoc variables
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-13 13:16:55 +00:00
nobu 9e3ffd41f5 Select ruby to run benchmarks with BENCH_RUBY
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-07 01:58:05 +00:00
duerst 89e3d2f8d3 separate downloading of Unicode property files and auxiliary files
Separate downloading of Unicode property files in ucd and in ucd/auxiliary.
This is needed because we need information from separate index.html files
to discover the exact file names of property files during a beta period.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-05 09:47:55 +00:00
k0kubun 1922e6ad65 common.mk: pass CFLAGS to transform_mjit_header.rb
so that flags like -msse4.1 are passed when checking compilation status
in transform_mjit_header.rb. It matters for checking __builtin_xxx things.

[Fix GH-2059] [Bug #14964]

From: pavel <pavel.rosicky@easy.cz>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-27 14:32:29 +00:00
duerst eb2e931f6f add option to deal with Unicode beta data files
Unicode uses file names with explicit versions for beta publication.
This commit introduces a variable on the makefile level to distinguish
between beta and regular versions of file names.
 
common.mk: Define new variable UNICODE_BETA, usually set to NO,
but would be YES during tests with beta data files. Pass the value
of this variable to tool/downloader.rb with option --unicode-beta.

tool/downloader.rb: Receive and store value of --unicode-beta.
Raise an exception if value is YES, because we don't yet actually
deal with this case. Continue as usual if value is not YES.

This completes the changes needed in the makefile. Upcomming changes
will only affect tool/downloader.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-19 00:26:31 +00:00
nobu 6da6492d19 Workaround for OpenBSD make
* common.mk: read from node.h in the source directly, without
  VPATH.  [ruby-core:89151] [Bug #15154]

From: kernigh (George Koehler) <xkernigh@netscape.net>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-17 01:36:34 +00:00
nobu 2301054a99 Use BUILDDIR in ruby-runner.h from config.status
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-08 01:49:02 +00:00
nobu a830793914 Add UNICODE_EMOJI_VERSION to RbConfig [Feature #15341]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-07 08:51:26 +00:00
duerst 66a6073859 update to Unicode 11.0.0 (main step, not complete yet)
- common.mk: Change Unicode version to 11.0.0, and Emoji version to 11.0
- test/ruby/enc/test_emoji_breaks.rb: update hard-coded Emoji version
- enc/unicode/11.0.0, enc/unicode/11.0.0/casefold.h, enc/unicode/name2ctype.h:
  Add generated files. Files for Unicode 10.0.0 will be removed once we are
  sure 11.0.0 works.
- lib/unicode_normalize/tables.rb: Updated table.
- regparse.c: Almost completely reimplement grapheme cluster detection in
  function node_extended_grapheme_cluster().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 08:10:24 +00:00
nobu fddf7a0518 update-deps: support coroutine dependencies
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-03 13:12:34 +00:00
nobu 157b1090c1 Update source code URI in bundled_gems [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-30 07:04:00 +00:00
nobu 2fc56c986a Create empty revision.h when srcdir is write-only [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-29 07:45:54 +00:00
nobu 1a6ae0a99f Always try to update revision.h with GNU make
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-29 07:07:40 +00:00
shyouhei 493955c692 .travis.yml: cache unicode.org files
Before this changeset (since r58071) we did not download files
from unicode.org but just touch some files.  This is a kind of
hack that people normally don't do at home.

We are caching other files between builds now.  Why not also save
those files downloaded from elsewhere.  This covers more
realistic workload, I guess.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-29 05:26:05 +00:00
nobu b1ad07bd1a common.mk: simplify for ruby.imp
* common.mk (ruby.imp): extract the first word on the next lines
  of MJIT_FUNC_EXPORTED, regardless the prefix.  duplicate symbols
  will be removed by `sort -u`.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26 03:47:47 +00:00
duerst 0889346de5 add several emoji data files to UNICODE_EMOJI_DOWNLOAD for download
In common.mk, add the files emoji-sequences.txt, emoji-test.txt,
emoji-variation-sequences.txt, and emoji-zwj-sequences.txt to
UNICODE_EMOJI_DOWNLOAD for download with `make update-unicode-property-files`.
These files will be used for automated tests for /\X/.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-25 23:16:18 +00:00
hsbt a943328194 Use stub executables generated by RubyGems istead of original executables.
It resolved the conflict issues when invoking `gem i rdoc` and the binstub
issues with Bundler and Rails.

  [Bug #5060][ruby-core:38257][Fix GH-2023]

  * https://github.com/rubygems/rubygems/pull/2338
  * https://github.com/heroku/heroku-buildpack-ruby/issues/829

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-25 01:20:00 +00:00
odaira a5e9182230 * common.mk: revise r65767 because AIX's grep does not support -A
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-24 19:54:32 +00:00
nobu 8c8e72fb8b Add clean-srcs
Add `clean-srcs` target to clean sources in the build directory,
and `realclean-srcs` target to clean autogenerated sources in the
source directory.  Also `realclean-srcs-extra` target to clean
sources which are generatable but need to install extra commands,
in addition.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-24 04:34:00 +00:00
nobu 65cec46e40 Make ext/etc/constdefs.h by srcs-ext
Make platform independent header, ext/etc/constdefs.h, by `make
srcs-ext`.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-24 04:33:59 +00:00
duerst b5a1a3aa7c add GraphemeBreakeTests.txt file to UNICODE_PROPERTY_FILES for download
In common.mk, add the file GraphemeBreakeTests.txt to UNICODE_PROPERTY_FILES
to be downloaded. This will be used for automatic tests for /\X/ and
String#each_grapheme_cluster.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-23 23:18:47 +00:00
nobu 2f023c5dba Get rid of variable modifiers of BSD make
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-21 10:09:21 +00:00
nobu f1ed4b713b configure.ac: add --disable-fiber-coroutine option
* configure.ac: add --disable-fiber-coroutine option, and disable
  it on x86-mingw32 for now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-21 03:26:59 +00:00
nobu 91e6ac3d96 Make coroutine object directory for each arch
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 12:02:29 +00:00
nobu 6f59255747 Change ASMEXT to s
By the default of GNU make, .S is used to be compiled with CC, but
we have already used .s as ia64.s, and now coroutine/*/Context.s.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 11:45:13 +00:00
nobu 973bcc5953 Fix typo and make directory
* common.mk (coroutine/amd64/Context.$(OBJEXT)): fix a typo,
  $(OBJECT).

* common.mk (coroutine/amd64): recipe to make object directory.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:29:03 +00:00
samuel 07a324a0f6 Native implementation of coroutines to improve performance of fibers
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 09:59:10 +00:00
nobu 27665e5134 common.mk: BTESTS to direct tests by btest
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 09:29:37 +00:00
nobu 9cbfb17754 Also clean ruby-runner.o and ruby.imp [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-18 23:29:41 +00:00
nobu 5c334727f1 common.mk: dependency of io.c for r65779
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-18 04:21:52 +00:00
nobu 3c7852f801 common.mk: hack to export symbols for MJIT in ruby.imp
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-16 07:08:58 +00:00
nobu fe7773b933 common.mk: fix the pattern to be hidden
* common.mk (ruby.imp): consider symbol prefix, remove InitVM, and
  fix internal symbols start with a dot.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-16 06:52:01 +00:00
nobu 45295303ac gmake.mk: force updating revision.h
Since `.revision.time` recipe needs `$(BASERUBY)`, it should not
try to get updated unconditionally, or tarballs fail to build on
environments where BASERUBY is not available.

All developers who build frequently use GNU make anyway, don't
you?

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-13 03:24:18 +00:00
k0kubun ceab9f363c common.mk: force updating revision.h on each commit
by making .revision.time PHONY. Prior to this commit, RUBY_DESCRIPTION
has been updated only when version.h (or tool/file2lastrev.rb) is updated.

.revision.time (REVISION_H) target internally has IFCHANGE to update
revision.h. So it doesn't touch revision.h when it's not updated,
and thus it's safe to run every time.

defs/gmake.mk: drop obsoleted reference to REVISION_FORCE

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-13 02:06:51 +00:00
nobu 803dcea481 Revert r65681 which had a race condition issue
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-12 10:19:04 +00:00
nobu 767ab942bc srcs-ext should update ext/ripper/eventids2table.c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-12 06:56:52 +00:00
nobu 76566bfd58 ruby-runner.c: enable MJIT_SEARCH_BUILD_DIR only if no relative loading
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-07 07:21:00 +00:00
hsbt 59c8d50653 Added bundler as default gems. Revisit [Feature #12733]
* bin/*, lib/bundler/*, lib/bundler.rb, spec/bundler, man/*:
    Merge from latest stable branch of bundler/bundler repository and
    added workaround patches. I will backport them into upstream.
  * common.mk, defs/gmake.mk: Added `test-bundler` task for test suite
    of bundler.
  * tool/sync_default_gems.rb: Added sync task for bundler.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-02 23:07:56 +00:00
ktsj 7deb37777a common.mk: --no-ri and --no-rdoc options were removed
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-02 22:28:21 +00:00
ko1 dcd0346265 add dependencies to transient_heap.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-01 08:15:42 +00:00
ko1 312b105d0e introduce TransientHeap. [Bug #14858]
* transient_heap.c, transient_heap.h: implement TransientHeap (theap).
  theap is designed for Ruby's object system. theap is like Eden heap
  on generational GC terminology. theap allocation is very fast because
  it only needs to bump up pointer and deallocation is also fast because
  we don't do anything. However we need to evacuate (Copy GC terminology)
  if theap memory is long-lived. Evacuation logic is needed for each type.

  See [Bug #14858] for details.

* array.c: Now, theap for T_ARRAY is supported.

  ary_heap_alloc() tries to allocate memory area from theap. If this trial
  sccesses, this array has theap ptr and RARRAY_TRANSIENT_FLAG is turned on.
  We don't need to free theap ptr.

* ruby.h: RARRAY_CONST_PTR() returns malloc'ed memory area. It menas that
  if ary is allocated at theap, force evacuation to malloc'ed memory.
  It makes programs slow, but very compatible with current code because
  theap memory can be evacuated (theap memory will be recycled).

  If you want to get transient heap ptr, use RARRAY_CONST_PTR_TRANSIENT()
  instead of RARRAY_CONST_PTR(). If you can't understand when evacuation
  will occur, use RARRAY_CONST_PTR().

(re-commit of r65444)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-30 21:53:56 +00:00
ko1 7d359f9b69 revert r65444 and r65446 because of commit miss
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-30 21:01:55 +00:00
ko1 90ac549fa6 introduce TransientHeap. [Bug #14858]
* transient_heap.c, transient_heap.h: implement TransientHeap (theap).
  theap is designed for Ruby's object system. theap is like Eden heap
  on generational GC terminology. theap allocation is very fast because
  it only needs to bump up pointer and deallocation is also fast because
  we don't do anything. However we need to evacuate (Copy GC terminology)
  if theap memory is long-lived. Evacuation logic is needed for each type.

  See [Bug #14858] for details.

* array.c: Now, theap for T_ARRAY is supported.

  ary_heap_alloc() tries to allocate memory area from theap. If this trial
  sccesses, this array has theap ptr and RARRAY_TRANSIENT_FLAG is turned on.
  We don't need to free theap ptr.

* ruby.h: RARRAY_CONST_PTR() returns malloc'ed memory area. It menas that
  if ary is allocated at theap, force evacuation to malloc'ed memory.
  It makes programs slow, but very compatible with current code because
  theap memory can be evacuated (theap memory will be recycled).

  If you want to get transient heap ptr, use RARRAY_CONST_PTR_TRANSIENT()
  instead of RARRAY_CONST_PTR(). If you can't understand when evacuation
  will occur, use RARRAY_CONST_PTR().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-30 20:46:24 +00:00
k0kubun 480eccbb35 _mjit_compile_send.erb: don't split send_guard
to another file, because it's no longer shared. It was created when
attr_reader was inlined but it's no longer included.

common.mk: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-21 13:37:13 +00:00
ko1 0b19e15a12 rename configure option `--disable-mjit` to `--disable-mjit-support`
* configure.ac: rename configure option `--disable-mjit` to
  `--disable-mjit-support` because `--disable-mjit` is ambiguous that
  runtime MJIT default enable option or supporting MJIT features.
  `ENABLE_MJIT` is also renamed to `MJIT_SUPPORT`

* Makefile.in: catch up this fix.

* common.mk: ditto.

* test/ruby/test_jit.rb: ditto.

* win32/Makefile.sub: catch up this fix on mswin.

* tool/mkconfig.rb: fix to pass `MJIT_SUPPORT` key.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-20 08:00:42 +00:00
ko1 b710785f1a add disabling MJIT features option.
* configure.ac: introduce new configure option `--enable-mjit` and
  `--disable-mjit`. Default is "enable".
  `--disable-mjit` disables all of MJIT features so that `ruby --jit`
  can't enable MJIT.
  This option affect a macro `USE_MJIT`.
  This change remove `--enable/disable-install-mjit-header` option.

* Makefile.in: introduce the `ENABLE_MJIT` variable.

* common.mk: use `ENABLE_MJIT` option.

* internal.h: respect `USE_MJIT`. Same as other *.c, *.h.

* test/ruby/test_jit.rb: check `ENABLE_MJIT` key of rbconfg.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-20 06:53:00 +00:00
k0kubun 6e11415b9c configure.ac: add --disable-install-mjit-header
and substitute INSTALL_MJIT_HEADER. This would be convenient as a workaround
for user if we found a platform that can't compile Ruby after Ruby 2.6.0 release.

common.mk: Install MJIT header only when INSTALL_MJIT_HEADER
Makefile.in: ditto
win32/Makefile.sub: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-19 12:31:02 +00:00
duerst a5818630f8 revert r65091, r65090 because ci fails
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-16 07:53:37 +00:00
duerst 33b5c610a6 update to Unicode 11.0.0 (basic step, not complete yet)
- common.mk: Change Unicode version to 11.0.0
- enc/unicode/case-folding.rb, enc/unicode.c: Initial changes to deal with
  Gregorian Mtavruli. This should bring us up to the same level as e.g.
  Python 3.7, by following the Unicode tables exactly. But it will
  produce undesirable (mixed-case) results for String#capitalize.
  This will be addressed in a later commit.
- enc/unicode/11.0.0, enc/unicode/11.0.0/casefold.h, enc/unicode/name2ctype.h:
  Add generated files.
- lib/unicode_normalize/tables.rb: Updated table.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-16 07:01:55 +00:00