* tool/rbinstall.rb (without_destdir): just strip a drive letter
which is prepended by with_destdir.
pointed out by @DavidEGrayson.
https://github.com/ruby/ruby/commit/0e5f9ae#commitcomment-16101763
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rbinstall.rb (without_destdir): compare with the destdir
after stripping a drive letter, on dosish platforms.
pointed out by @DavidEGrayson.
https://github.com/ruby/ruby/commit/d0cf23b#commitcomment-16100407
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/mkrunnable.rb: File.symlink is supported on Windows now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/mkrunnable.rb (clean_link): clean link before symlink not
to make a symlink in the linked directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/downloader.rb (Downloader.https): define class variable
setter for 1.8, class_variable_set was private.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/vcs.rb (VCS.detect, VCS::GIT): support working directory
created by `git worktree`.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* make-snapshot: remove Unicode data files, which are not
necessary once all source have been generated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (download-unicode-data): strip directory paths from
the target names, to get rid of repeating same file names.
* tool/downloader.rb: add -p option for prefix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/mkconfig.rb: extract version numbers from version.h but not
from API version in include/ruby/version.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Revert "* tool/make-snapshot: fix for the changes of version.h in r53314."
Revert "* version.h (RUBY_BUILD_VERSION_STR_3): Workaround for old version of"
Revert "program version from API version"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/mkconfig.rb (RbConfig): prefix SDKROOT to oldincludedir
not includedir, the latter is outside the ruby installation.
[ruby-core:72496] [Bug #11881]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
supported on IO.popen
* tool/vcs.rb (IO.popen): Fix NoMethodError. I guess r49705 was not
tested... :/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enc/trans/ebcdic.trans: transcodings between EBCDIC-US
and iso-8859-1 [with code from Andrea Ribuoli]
* test/ruby/test_transcode.rb: tests for above
* tool/transcode_tablegen.rb: additional argument for
method transcode_tblgen
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/ytab.sed: substitute `fprintf`s used directory in
yy_reduce_print by bison 2.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/ytab.sed: substitute the first argument of YYFPRINTF, instead
of substitution by preprocessor, not to redefine stderr.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/ytab.sed: work around for platforms where vairadic macro is
not available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y (trace_lex_state): trace lex_state changes if yydebug is
set, and send the messages to rb_stdout.
* parse.y (rb_parser_printf): store YYPRINTF messages per lines
so that lex_state traces do not mix.
* tool/ytab.sed: add parser argument to yy_stack_print too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/mkconfig.rb: rbconfig must not be fronzen-string-literal to
expand CONFIG hash. [ruby-core:72006] [Bug #11798]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/fake.rb: Fix cross build when srcdir is an absolute path.
* Makefile.in: PREP dependency is needed when cross build too, not
"-r$(arch)-fake" to be used before created. [Fix GH-1125]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/downloader.rb (Downloader.https): extract a method instead
of a global variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rbinstall.rb (man): get rid of prompt from compress
program.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/fake.rb (prehook): consider the case building under the
source directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/mdoc2man.rb (parse_macro): colon should not pop quotes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/generic_erb.rb, tool/ifchange: no colorization if tput
returned nothing or dump terminal.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm_call_iseq_setup_normal_0start() is simple, however it has
some loops/conditions depends on ISeq::param.size and
ISeq::local_size (in vm_push_frame(), inlined into this function).
There are many simple methods which has a few parameters and local
variables. So that this patch introduces several special functions
generated in vm_call_iseq_optimized.inc by
tool/mk_call_iseq_optimized.rb.
This script makes
vm_call_iseq_setup_normal_0start_Xparams_Ylocals()
where X is 0 to 3 and Y is 1 to 6 (as current setting).
In this case, X * Y = 24 functions are created.
These functions creates fast method dispatch by inlining
vm_push_frame() with immediate params/locals sizes.
On my laptop, we can have the following results.
vm2_method* 1.083 (8.3% faster)
vm2_poly_method* 0.961 (3.4% slower)
It shows 8.3% faster for inner loop method dispatch (hit inline
cache), but 3.4% slower when inline cache miss because we need
to find a suitable call handler.
* common.mk: add a rule for vm_call_iseq_optimized.inc.
* tool/mk_call_iseq_optimized.rb: added.
* vm.c: include vm_call_iseq_optimized.inc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e