summaryrefslogtreecommitdiff
path: root/defs
Commit message (Collapse)AuthorAgeFilesLines
* Add clean-srcsnobu2018-11-241-0/+6
| | | | | | | | | | 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
* run single test [ci skip]nobu2018-11-201-0/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rdoc querynobu2018-11-201-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* defs/known_errors.def: update on macOS Mojave Xcode 10.1nobu2018-11-141-0/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in: update-known-errorsnobu2018-11-141-121/+121
| | | | | | | | | * 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
* Moved REVISION_FORCE before uncommon.mknobu2018-11-131-4/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gmake.mk: force updating revision.hnobu2018-11-131-1/+5
| | | | | | | | | | | 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
* common.mk: force updating revision.h on each commitk0kubun2018-11-131-1/+1
| | | | | | | | | | | | | 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
* Added bundler as default gems. Revisit [Feature #12733]hsbt2018-11-021-1/+1
| | | | | | | | | | | * 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
* introduce new YARV insn newhashfromarray.ko12018-10-241-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* revert r64925nobu2018-10-061-16/+19
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* order-only-prerequisitesnobu2018-10-061-19/+16
| | | | | | | | * 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
* revert r64847, r64846 and r64839k0kubun2018-09-261-0/+2
| | | | | | 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
* revert r64838 and r64839k0kubun2018-09-261-2/+0
| | | | | | because some build failures persisted git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "Revert r64824 to fix build failure on AppVeyor"k0kubun2018-09-251-0/+2
| | | | | | | 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
* Revert r64824 to fix build failure on AppVeyork0kubun2018-09-251-2/+0
| | | | | | | | | 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
* insns.def: optimize & and | of Integer [experimental]k0kubun2018-09-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fixup r64270nobu2018-08-101-5/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gmake.mk: fix commit dependencynobu2018-08-091-2/+2
| | | | | | | | | * 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
* gmake.mk: update in the source directory properlynobu2018-06-021-1/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gmake.mk: expand MJIT header rulesnobu2018-03-161-0/+5
| | | | | | | * 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
* defs/id.def: predefine to_f IDnobu2018-02-271-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* select each files for architecturesnobu2018-02-101-7/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gmake.mk: tool/ifchange needs minirubynobu2018-02-081-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* defs/gmake.mk: make universal mjit_min_header linknobu2018-02-071-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit headers for universal binarynobu2018-02-062-1/+26
| | | | | | | | | | * 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
* keywords: shrink struct kwtablenobu2018-01-212-2/+2
| | | | | | | | * 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
* common.mk (srcs_vpath): renamed for nmakenobu2018-01-091-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gmake.mk: update srcdir filesnobu2018-01-091-1/+1
| | | | | | | * 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
* Postponing the Bundler merge.hsbt2017-12-221-1/+1
| | | | | | | 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
* gperf.sed: static declarationsnobu2017-12-152-2/+2
| | | | | | | * 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
* support gperf 3.1nobu2017-12-082-2/+2
| | | | | | | | | | * 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
* gmake.mk: order test-bundlernobu2017-09-211-1/+1
| | | | | | | * 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
* vcs.rb: commitnobu2017-07-261-13/+1
| | | | | | | * 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
* gmake.mk: extract after update gemsnobu2017-07-171-0/+4
| | | | | | | * 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
* gmake.mk: test dependencynobu2017-05-161-1/+1
| | | | | | | * 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
* run tests without extsnobu2017-05-161-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* follow test-specnobu2017-05-161-2/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Improve performance of type conversion using to_rmrkn2017-04-141-0/+1
| | | | | | | | | | | | | | | | * 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
* gmake.mk: multi mspecnobu2017-03-261-0/+1
| | | | | | * 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
* defs/gmake.mk: update again after comit [ci skip]nobu2017-03-111-0/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* make commit [ci skip]nobu2017-03-091-1/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* great lovenobu2017-03-081-1/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix for cross-compilingnobu2017-03-021-9/+4
| | | | | | | | * 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
* fix circular dependenciesnobu2017-02-231-4/+4
| | | | | | | * 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
* gmake.mk: mflags without -jNnobu2017-02-151-1/+1
| | | | | | | * 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
* gmake.mk: test-rubynobu2017-02-131-1/+1
| | | | | | | * 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
* gmake.mk: tests stepnobu2017-02-131-19/+25
| | | | | | * 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
* gmake.mk: -n for testsnobu2017-02-121-1/+1
| | | | | | | * 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
* parse.y: logopnobu2017-02-121-0/+2
| | | | | | | | | * 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