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

210 Коммитов

Автор SHA1 Сообщение Дата
Takashi Kokubun 57225dc07a
Show `make checkout-github/merge-github` in help 2019-04-25 19:25:03 +09:00
Takashi Kokubun b2e92bfd9f
Resurrect `make xxx-github PR=1234` interface
`call xxx, yyy` seems to pass " yyy" instead of "yyy".
2019-04-25 18:54:44 +09:00
Nobuyoshi Nakada 70adfdcd8d
Added pr-%
May merge multiple github pull requests at once. e.g.,

    $ make pr-123456789 pr-987654321
2019-04-25 18:29:58 +09:00
Nobuyoshi Nakada 44bb429bb1
Cache git config values 2019-04-25 18:27:16 +09:00
Takashi Kokubun 6de9128fe9
Add `make checkout-github` too
You can use this like `make checkout-github PR=1234`
2019-04-25 18:05:52 +09:00
Nobuyoshi Nakada 116f91ab50
Make working tree under the source directory 2019-04-25 15:33:05 +09:00
Nobuyoshi Nakada 09ce223b0b
Rebase the pull request in a worktree
A pull request based on an old commit may rewind too many files,
even if unnecessary.  As rewinding some files, e.g., common header
files, configure.ac, will result in full-rebuild, rebase in a
separate directory to get rid of such rewind.
2019-04-25 15:03:54 +09:00
Takashi Kokubun 6061aa0ac1
Automatically gpg-sign rebase when commit.gpgsign
is true

Closes: https://github.com/ruby/ruby/pull/2148
2019-04-25 00:12:13 +09:00
Takashi Kokubun daff4cbd6c Add `make fetch-github` and `make merge-github`
Closes: https://github.com/ruby/ruby/pull/2147
2019-04-24 22:48:21 +09:00
Koichi Sasada 2ef6673708 force 10 chars SHA1 display.
`make update-src` shows latest commit hash for convinience.
However, `rev-parse --short` option shows different length
(maybe) between git versions. This fix force 10 chars
with `--short=10`.
2019-04-24 09:30:07 +09:00
nobu 0db89a38f2 Show the latest commit hash after update
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 03:30:38 +00:00
ktsj 9738f96fcf Introduce pattern matching [EXPERIMENTAL]
[ruby-core:87945] [Feature #14912]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-17 06:48:03 +00:00
nobu 54b93ef1ac compile.c: name a hidden local variable as a predefined ID
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-10 12:43:34 +00:00
kazu 25c1fd3b90 Reverting all commits from r67479 to r67496 because of CI failures
Because hard to specify commits related to r67479 only.
So please commit again.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-10 09:15:21 +00:00
nobu 91db3b6c6b compile.c: name a hidden local variable as a predefined ID
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-10 07:18:25 +00:00
nobu 59a37c0283 gmake.mk: get rid of unicode normalization table timestamp
* common.mk, defs/gmake.mk: rid of unicode normalization tables
  timestamp.  update the target tables file only when only it
  exists.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-04 12:11:53 +00:00
nobu 6faf266893 gmake.mk: update normalization table
* defs/gmake.mk: try to update Unicode normalization tables file
  if Unicode data files exist.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-04 05:10:26 +00:00
mame 95f7992b89 Introduce beginless range [Feature#14799]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-03 08:11:41 +00:00
nobu cb57336e86 GNU make does not need srcs_vpath
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-14 14:21:14 +00:00
nobu 67c5747369 Method reference operator
Introduce the new operator for method reference, `.:`.
[Feature #12125] [Feature #13581]
[EXPERIMENTAL]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-31 15:00:37 +00:00
nobu 278648b599 CHDIR to follow symlink [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-18 16:01:58 +00:00
nobu 8a52020f95 Add separator for test/-ext-
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 05:29:04 +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
nobu 5a9066f22a Executable scripts have been moved to libexec [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-28 14:56:19 +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 259173ccc0 run single test [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 06:13:42 +00:00
nobu 312fc605c1 rdoc query
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 03:07:46 +00:00
nobu cb592b3713 defs/known_errors.def: update on macOS Mojave Xcode 10.1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-14 02:27:17 +00:00
nobu 2c989a6ff4 Makefile.in: update-known-errors
* Makefile.in (update-known-errors): update defs/known_errors.def
  by using errno(1).

* defs/known_errors.def: sort alphabetically for merger.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-14 02:27:16 +00:00
nobu c878cf5030 Moved REVISION_FORCE before uncommon.mk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-13 06:16:56 +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
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
ko1 f3c5239b16 introduce new YARV insn newhashfromarray.
* insns.def (newhashfromarray): added to replace `core_hash_from_ary`
  method to eliminate method call overhead.

  On my environment, I got the following benchmark results:

  x = {x: 1}

                    modified:   7864988.6 i/s
                       trunk:   6004098.1 i/s - 1.31x  slower


  x = {x: 1, y: 2}

                       trunk:   6127338.4 i/s
                    modified:   5232380.0 i/s - 1.17x  slower


  x = {x: 1, y: 2, z: 3}

                    modified:   6089553.1 i/s
                       trunk:   5249333.5 i/s - 1.16x  slower

  This trivial improvement should be reconsider because of usage of
  this instruction.

* compile.c: ditto.

* defs/id.def, vm.c: remove unused functions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-24 01:57:27 +00:00
nobu 3757515501 revert r64925
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-06 15:14:19 +00:00
nobu 96eff9ed71 order-only-prerequisites
* defs/gmake.mk: use order-only-prerequisites to run build and test
  targets sequentially.
  https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-06 03:11:46 +00:00
k0kubun 6e62e59eec revert r64847, r64846 and r64839
because r64849 seems to fix issues which we were confused about.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-26 02:38:45 +00:00
k0kubun e08f418230 revert r64838 and r64839
because some build failures persisted

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-26 01:11:20 +00:00
k0kubun 08c9f030f6 Revert "Revert r64824 to fix build failure on AppVeyor"
This reverts commit r64829. I'll prepare another temporary fix, but I'll
separately commit that to make it easier to revert that later.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-25 17:19:51 +00:00
k0kubun f00bf24272 Revert r64824 to fix build failure on AppVeyor
AppVeyor msys2/MinGW build started to fail like:
https://ci.appveyor.com/project/ruby/ruby/build/9722/job/b94kixi004klmye3

Until I can investigate that, I revert this for now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-25 04:03:35 +00:00
k0kubun fb80f6c7ba insns.def: optimize & and | of Integer [experimental]
not optimizing Array#& and Array#| because vm_insnhelper.c can't easily
inline it (large amount of array.c code would be needed in vm_insnhelper.c)
and the method body is a little complicated compared to Integer's ones.
So I thought only Integer#& and Integer#| have a significant impact,
and eliminating unnecessary branches would contribute to JIT's performance.

vm_insnhelper.c: ditto

tool/transform_mjit_header.rb: make sure these instructions are inlined
on JIT.

compile.c: compile vm_opt_and and vm_opt_or.
id.def: define id for them to be used in compile.c and vm*.c
vm.c: track redefinition of Integer#& and Integer#|
vm_core.h: allow detecting redefinition of & and |

test/ruby/test_jit.rb: test new insns
test/ruby/test_optimization.rb: ditto

* Optcarrot benchmark

This is a kind of experimental thing but I'm committing this since the
performance impact is significant especially on Optcarrot with JIT.

$ benchmark-driver benchmark.yml --rbenv 'before::before --disable-gems;before+JIT::before --disable-gems --jit;after::after --disable-gems;after+JIT::after --disable-gems --jit' -v --repeat-count 24
before: ruby 2.6.0dev (2018-09-24 trunk 64821) [x86_64-linux]
before+JIT: ruby 2.6.0dev (2018-09-24 trunk 64821) +JIT [x86_64-linux]
after: ruby 2.6.0dev (2018-09-24 opt_and 64821) [x86_64-linux]
last_commit=opt_or
after+JIT: ruby 2.6.0dev (2018-09-24 opt_and 64821) +JIT [x86_64-linux]
last_commit=opt_or
Calculating -------------------------------------
                             before  before+JIT       after   after+JIT
Optcarrot Lan_Master.nes     51.460      66.315      53.023      71.173 fps

Comparison:
             Optcarrot Lan_Master.nes
               after+JIT:        71.2 fps
              before+JIT:        66.3 fps - 1.07x  slower
                   after:        53.0 fps - 1.34x  slower
                  before:        51.5 fps - 1.38x  slower

[close https://github.com/ruby/ruby/pull/1963]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-24 12:40:28 +00:00
nobu d370a3d44c fixup r64270
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-10 11:55:19 +00:00
nobu ff57f6f69a gmake.mk: fix commit dependency
* defs/gmake.mk (commit): pass CONFIGURE and fix dependency of
  `reconfig` target, not to try to make config.status newer than
  the source directory.  and remove configure_args in common.mk,
  which is a garbage argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-09 13:32:49 +00:00
nobu 8a4656c9be gmake.mk: update in the source directory properly
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-06-02 12:17:16 +00:00
nobu d3c5746bbb gmake.mk: expand MJIT header rules
* defs/gmake.mk: expand MJIT header file rules for each
  architectures.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-16 02:07:43 +00:00
nobu 86d9071e0b defs/id.def: predefine to_f ID
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-27 08:15:27 +00:00
nobu 9a63e76b81 select each files for architectures
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-10 06:38:18 +00:00
nobu a124f33d6b gmake.mk: tool/ifchange needs miniruby
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-08 14:59:31 +00:00
nobu ec993c1efb defs/gmake.mk: make universal mjit_min_header link
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-07 13:45:14 +00:00
nobu 88035b9979 mjit headers for universal binary
* common.mk (MJIT_HEADER, MJIT_MIN_HEADER): added hook to separate
  intermediate headers per archs.

* defs/gmake.mk: build mjit headers per -arch options, and then
  merge the headers with `#ifdef`s.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-06 03:19:42 +00:00
nobu 415c334092 keywords: shrink struct kwtable
* defs/keywords (struct kwtable): shrink since members do not
  exceed 16bit.  lex_state needs to be int (or enum lex_state_e)
  when EXPR_MAX_STATE reaches it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-21 09:59:45 +00:00
nobu 56c7dd9fca common.mk (srcs_vpath): renamed for nmake
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09 03:37:36 +00:00
nobu e635807251 gmake.mk: update srcdir files
* defs/gmake.mk (commit): update source files under the sources
  directory after commit.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-09 02:10:58 +00:00
hsbt 7825e8363d Postponing the Bundler merge.
I faced a big issue about Bundler with ruby core.
  I have no time to resolve it issue before 2.5 final release.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-22 23:08:05 +00:00
nobu 7c4306e6e9 gperf.sed: static declarations
* tool/gperf.sed: comment out arguments part only, to keep the
  following declarations static.  [Feature #13883]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-15 14:42:43 +00:00
nobu a4804fbdf5 support gperf 3.1
* tool/gperf.sed: extracted sed commands to a script.  ANSI-C code
  produced by gperf 3.1 declares length arguments as `size_t`.  it
  causes conflict with existing declarations, and needs casts for
  a local variable and return statements.
  [Feature #13883]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-08 05:51:19 +00:00
nobu e3bb5c4ba3 gmake.mk: order test-bundler
* defs/gmake.mk (ORDERED_TEST_TARGETS): order test-bundler too to
  get rid of mixing outputs.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-21 12:26:16 +00:00
nobu 11f69dccf3 vcs.rb: commit
* tool/vcs.rb (commit): do commit, reset svn revision to sync git
  mirror.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-07-26 12:44:12 +00:00
nobu 23e9a4ec16 gmake.mk: extract after update gems
* defs/gmake.mk (extract-gems): should wait for update-gems to
  finish when doing both.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-07-17 01:16:07 +00:00
nobu a540cec984 gmake.mk: test dependency
* defs/gmake.mk (TEST_DEPENDS): check and more tests targets need
  all to be built.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-16 23:09:34 +00:00
nobu 00f76201b3 run tests without exts
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-16 15:47:44 +00:00
nobu f2b00e2ff0 follow test-spec
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-16 13:15:12 +00:00
mrkn 8561baf340 Improve performance of type conversion using to_r
* object.c: Add to_r in conv_method_tbl.

* defs/id.def: add to_r.

* benchmark/bm_int_quo.rb: added.

* benchmark/bm_time_subsec.rb: added.

[Bug #13426]
[ruby-core:80665]
[Fix GH-1582]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-14 05:19:12 +00:00
nobu 07e4aa67e1 gmake.mk: multi mspec
* defs/gmake.mk (MSPECOPT): enable multi exec if parallel make.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-26 01:21:57 +00:00
nobu 5242bca205 defs/gmake.mk: update again after comit [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-11 13:24:08 +00:00
nobu 2ebc44656f make commit [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-09 01:06:09 +00:00
nobu 2a20b491f0 great love
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-08 13:52:32 +00:00
nobu 6e0967ec6d fix for cross-compiling
* common.mk (test-rubyspec): add dependency for cross-compiling.

* defs/gmake.mk: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-02 04:54:18 +00:00
nobu 532bbd4ebf fix circular dependencies
* defs/gmake.mk (TEST_DEPENDS): remove targets expanded as
  TEST_TARGETS, to get rid of circular dependencies.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-23 04:10:41 +00:00
nobu 2251051177 gmake.mk: mflags without -jN
* defs/gmake.mk (mflags): override the definition in common.mk
  without -jN option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-15 10:51:58 +00:00
nobu c59f2b0382 gmake.mk: test-ruby
* defs/gmake.mk (ORDERED_TEST_TARGETS): add test-ruby target, test
  for ruby core without bundled libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-13 15:28:25 +00:00
nobu 44e36c79d2 gmake.mk: tests step
* defs/gmake.mk (TEST_TARGETS): run tests step by step.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-13 05:11:14 +00:00
nobu be92fcabf9 gmake.mk: -n for tests
* defs/gmake.mk (gnumake_recursive): do not invoke tests if -n
  option is given.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-12 23:37:28 +00:00
nobu 2c51dc5053 parse.y: logop
* defs/id.def (predefined): add keywords `and` and `or`.

* parse.y (log_op): unify parser and ripper, and use tokens
  instead of node types and symbols.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-12 08:33:33 +00:00
nobu a062d030eb parse.y: call_uni_op
* defs/id.def (predefined): add keyword `not`.

* parse.y (call_uni_op): unify parser and ripper, and use IDs
  instead of tokens.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-12 04:20:35 +00:00
nobu 92b710e64b MFLAGS for nmake
* common.mk (mflags): pass make flags to sub-makes, for nmake
  which cannot pass them by the environment variable.

* defs/gmake.mk (mflags): filter out -j option for sub-makes.

* template/exts.mk.tmpl (MFLAGS): extract MFLAGS from sub extmk
  files for nmake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-10 06:12:22 +00:00
nobu 715094c2de parse.y: fix idCOLON2
* defs/id.def: remove idDSTAR and idCOLON3.

* parse.y (tCOLON2): make same as id.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-09 07:53:52 +00:00
nobu 0fe47fad55 test/unit.rb: share job slots
* test/lib/test/unit.rb (Test::Unit::Parallel#_run_parallel):
  share job slots with GNU 'make'.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 12:52:09 +00:00
nobu 5f69a2e5a4 separated_version.mk: option for linux [ci skip]
* defs/separated_version.mk (RUBY_VERSION_DLDFLAGS): move linux
  specific option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-18 06:55:15 +00:00
nobu 3ee370ae9c separated_version.mk [ci skip]
* defs/separated_version.mk: FOR DEVELEPERS ONLY.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-18 06:35:38 +00:00
nobu 9b454bfaf3 rubystub
* rubystub.c: generalize win32/stub.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-20 02:20:34 +00:00
nobu 9273ab42c0 gmake.mk: test-framework by love
* defs/gmake.mk (sudo-precheck): test the test-framework before
  installation by love.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-26 16:03:51 +00:00
nobu 63e9325781 gmake.mk: love dependency
* defs/gmake.mk (test-almost): depends on install when making
  love.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-26 13:02:34 +00:00
nobu ed6ab036d9 gmake.mk: update timestamp of des_tables.c
* defs/gmake.mk (missing/des_tables.c): always update the
  timestamp unless make_des_table failed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-04 10:58:14 +00:00
nobu a41206a110 gmake.mk: des_tables.c condition
* defs/gmake.mk (missing/des_tables.c): fix cross compiling
  condition.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-04 03:46:06 +00:00
nobu b1b1f3ded2 des_tables.c: generation rule
* defs/gmake.mk (missing/des_tables.c): move the recipe from
  common.mk.  this is less common.

* missing/crypt.c (init_des): if des_tables.c is empty, initialize
  DES tables at runtime.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-04 02:40:04 +00:00
naruse 5d2d4c936d setdynamic is obsoleted
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-27 07:11:06 +00:00
mame 3c7c983300 * compile.c (NODE_CALL): add optimization shortcut for Array#max/min.
Now `[x, y].max` is optimized so that a temporal array object is not
  created in some condition.

* insns.def (opt_newarray_max, opt_newarray_min): added.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-17 12:47:31 +00:00
nobu cb65717b45 parse.y: symbol literals for alias/undef
* defs/keywords (alias, undef): symbol literals are allowed.
* parse.y (parse_percent): should parse symbol literals for alias
  and undef.  [ruby-dev:47681] [Bug #8851]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-16 14:10:27 +00:00
nobu 0201900d76 id.def: $~ and $_
* defs/id.def (predefined): add idLASTLINE and idBACKREF for $~
  and $_ respectively.
* parse.y: use idLASTLINE and idBACKREF instead of rb_intern.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-17 12:42:00 +00:00
hsbt 203e604f46 * common.mk: test-sample was changed to test-basic.
[Feature #11982][ruby-core:72823]
* basictest/runner.rb: ditto. rename from tool/rubytest.rb.
* basictest/test.rb: ditto. rename from sample/test.rb.
* defs/gmake.mk: picked from r53540
* sample/test.rb: backword compatibility for chkbuild.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-16 01:37:47 +00:00
nobu 78d4bc9294 Revert r53539 and r53540
* basictest/test.rb: revert r53539 because it depends on r53537.

* gmake.mk: ditto, revert r53540.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-15 13:08:45 +00:00
nobu 1b19168934 gmake.mk: update order
* defs/gmake.mk (yes-test-basic): update the target name and the
  order of tests.  [Feature #11982]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-15 04:39:35 +00:00
ko1 ba772af0a6 * compile.c (iseq_compile_each): add debug information to NODE_STR
strings as default.
  [Feature #11725]

* insns.def (freezestring): add new instruction to support adding
  debug information for dynamically constracted strings.

* compile.c (iseq_compile_each): support adding debug information
  for NODE_DSTR with freezestring instruction.

* error.c (rb_error_frozen): change the debug information ID name
  id_debug_created_info and this field should have a 2 element array
  containing path and line information.

* defs/id.def: ditto.

* test/ruby/test_rubyoptions.rb: catch up this fix.

* test/ruby/test_iseq.rb: now frozen strings are not same.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-20 23:49:31 +00:00
nobu a01b6453eb Rename DOTQ to ANDDOT
* defs/id.def, parse.y: Switch internal token name to reflect
  current form of safe-call operator.  [Fix GH-1090]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-10 09:42:27 +00:00
nobu 837babd564 change DOTQ
* defs/id.def (token_ops), parse.y (parser_yylex): change DOTQ
  from ".?" to "&.".  [ruby-core:71363] [Feature #11537]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-06 03:39:23 +00:00
nobu 72b785e072 id.def: token_ops
* defs/id.def (token_ops): gather associations between IDs,
  operators, and parser tokens.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-05 04:04:00 +00:00
nobu b907c6e925 keywords: make name singed
* defs/keywords (kwtable::name): turn into singed int, as gperf
  fills invalid slots with -1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-02 23:08:26 +00:00
nobu 6964c0635f id.def: anonymous IDs
* defs/id.def: enable anonymous IDs not to expose internal IDs for
  frozen-string-literal-debug by Marshal.dump.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-27 14:14:18 +00:00
nobu 2ce7328dea id.def: internal IDs
* defs/id.def: move internal IDs for frozen-string-literal-debug.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-27 08:06:58 +00:00