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

354 Коммитов

Автор SHA1 Сообщение Дата
ko1 7ea3edc409 * vm_core.h (rb_call_info_t): add new type `rb_call_inf_t'.
This data structure contains information including inline method
  cache. After that, `struct iseq_inline_cache_entry' does not
  need to contain inline cache for method invocation.
  Other information will be added to this data structure.
* vm_core.h (rb_iseq_t): add `callinfo_entries' and `callinfo_size'
  members to `rb_iseq_t'.
* insns.def, compile.c: Use CALL_INFO instead of IC.
* tool/instruction.rb: support CALL_INFO as operand type.
* vm_insnhelper.c, vm_insnhelper.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-09 05:33:54 +00:00
ko1 08c8605de9 * insns.def (getlocal, setlocal): remove old getlocal/setlocal
instructions and rename getdaynmic/setdynamic instructions
  to getlocal/setlocal.
* compile.c: ditto.
* iseq.c: remove TS_DINDEX.
* vm_exec.h (dindex_t): remove type definition of `dindex_t'.
* tool/instruction.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-04 13:52:20 +00:00
ko1 23dc0dbc4a * vm.c (VM_COLLECT_USAGE_DETAILS): make new VM usage analysis
hooks (old macro name is COLLECT_USAGE_ANALYSIS).
  This feature is only for VM developers.  (I'm not sure I can use
  `VM developers' (the plural form) in this sentence).
  If VM_COLLECT_USAGE_DETAILS is not 0, VM enables the following
  usage collection features:
  (1) insntruction: collect intruction usages.
  (2) operand: collect operand usages.
  (3) register: collect register usages.
  The results are stored in
  RubyVM::USAGE_ANALYSIS_INSN for (1, 2),
  RubyVM::USAGE_ANALYSIS_INSN_BIGRAM for (1) and
  RubyVM::USAGE_ANALYSIS_REGS for (3).
  You can stop collecting usages with
  RubyVM::USAGE_ANALYSIS_INSN_STOP(),
  RubyVM::USAGE_ANALYSIS_OPERAND_STOP(),
  RubyVM::USAGE_ANALYSIS_REGISTER_STOP()
  for (1), (2), (3) respectively.
  You can also change the hook functions by setting
  C level global variables
  `ruby_vm_collect_usage_func_(insn|operand|register)'
  for (1), (2), (3) respectively.
  See codes for more details.
* tool/instruction.rb: fix macro names.
* iseq.c (insn_operand_intern): make it export (used in vm.c).
  fix to skip several processes if not needed (pointer is 0).
* vm_dump.c: move codes for collection features to vm.c.
* vm_exec.h: rename macro and function names.
* vm_insnhelper.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-04 12:31:05 +00:00
naruse 8ac52a95d5 * tool/merger.rb: add --ticket option to add ticket number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-24 02:23:48 +00:00
drbrain 32d416db0d * tool/change_maker.rb: Update svn detection for subversion 1.7's
single .svn directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-16 08:47:53 +00:00
nobu 7d79f355fc rbinstall.rb: skip symlinks
* tool/rbinstall.rb (install_recursive): skip symlinks, which are made
  by `make runnable'.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-04 01:40:11 +00:00
nobu 470c941ce5 id.h: independent from parse.h
* template/id.h.tmpl, tool/id2token.rb: make id.h independent from
  parse.h, and make parse.c dependent on it instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-31 05:31:20 +00:00
nobu 06d98b4d4d mkrunnable.rb: config directory names
* tool/mkrunnable.rb: collect directory names from config.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-29 05:59:07 +00:00
nobu bcbc1f722c generic_erb.rb: --vpath option
* tool/generic_erb.rb (vpath.open): move --vpath option from
  template/id.h.tmpl.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-25 07:20:29 +00:00
nobu 402edc568a mkrunnable.rb: build_os
* tool/mkrunnable.rb: see build_os instead of target arch for
  cross-compiling.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-09 14:46:53 +00:00
nobu 681c1b9f1b mkrunnable.rb: mswin
* tool/mkrunnable.rb (ln_safe, ln_dir_safe): separate for mklink
  command on Windows.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-25 08:17:46 +00:00
naruse 131f694330 Suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-25 06:49:35 +00:00
nobu c558195999 * tool/ytab.sed: fix for Bison 2.6.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-25 04:12:44 +00:00
nobu 1474cfa846 obsolete Config
* lib/rbconfig/obsolete.rb (Config): remove obsolete Config.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-06 03:27:10 +00:00
nobu 3fceaf10ab make runnable
* common.mk (runnable): make symbolic links to run in build directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-03 02:16:08 +00:00
ko1 c4bc9b5758 * iseq.c, vm_eval.c: set th->base_block properly.
th->base_block is information for (a) parsing, (b) compiling
  and (c) setting up the frame to execute the program passed by
  `eval' method.  For example, (1) parser need to know up-level
  variables to detect it is variable or method without paren.
  Befor (a), (b) and (c), VM set th->base_block by passed bindng
  (or previous frame information).  After execute (a), (b) and (c),
  VM should clear th->base_block.  However, if (a), (b) or (c)
  raises an exception, then th->base_block is not cleared.
  Problem is that the uncleared value th->balo_block is used for
  irrelevant iseq compilation.  It causes SEGV or critical error.
  I tried to solve this problem: to clear them before exception,
  but finally I found out that it is difficult to do it (Ruby
  program can be run in many places).
  Because of this background, I set th->base_block before
  compiling iseq and restore it after compiling.
  Basically, th->base_block is dirty hack (similar to global
  variable) and this patch is also dirty.
* bootstraptest/test_eval.rb: add a test for above.
* internal.h: remove unused decl.
* iseq.c (rb_iseq_compile_with_option): add base_block parameter.
  set th->base_block before compation and restore it after
  compilation.
* ruby.c (require_libraries): pass 0 as base_block instead of
  setting th->base_block
* tool/compile_prelude.rb (prelude_eval): apply above changes.
* vm.c, vm_eval.c: ditto.
* vm_core.h: add comments.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-22 09:32:56 +00:00
nobu 3f6e8aef37 [Bug #6598]
* tool/runruby.rb (File.realpath): return real path of expanded path.
  [Bug #6598]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-15 22:12:58 +00:00
nobu 7931bbf1b3 tool/make-snapshot MKDIR_P
* tool/make-snapshot (package): MKDIR_P is needed as direct macro to
  build enc/unicode/name2ctype.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-14 15:14:05 +00:00
nobu a73d6eb0e4 tool/make-snapshot MKDIR_P
* tool/make-snapshot (package): MKDIR_P is needed to build
  enc/unicode/name2ctype.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-14 15:07:13 +00:00
naruse 06d483006c * Makefile.in: don't remove macros. now name2ctype uses macros.
* tool/enc-unicode.rb: add comment why it uses Hash#index.

* enc/unicode/{name2ctype.kwd,name2ctype.src,name2ctype.h.blt}:
  update to follow the current name2ctype.h.
  FYI current Unicode version is 6.1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13 17:54:14 +00:00
nobu 2696fb9503 test: realpath
* test/runner.rb (src_testdir): expand real path so that
  TestGem#test_self_find_files does not fail by aliased load path when
  srcdir contains a symbolic link.
* tool/runruby.rb (srcdir): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-08 07:19:38 +00:00
nobu a8f87d6d8d common test options
* common.mk (btest, test-sample, test-knownbugs, test-all, test-ruby):
  pass common options by TESTOPTS.

* tool/rubytest.rb: pass ARGV from make to sample/test.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-30 01:24:05 +00:00
nobu 3f6349a1bf * tool/rbinstall.rb (capi): install to capi directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-03 14:56:39 +00:00
usa 756ffef448 * enc/euc_jp.c: added EUC-JP-2004 and its alias EUC-JISX0213.
[ruby-dev:45571] [Feature #6349]
  Requested by Kyouhei Yanagita <yanagi@shakenbu.org>.

* enc/trans/japanese_euc.trans: ditto.

* enc/trans/JIS/JISX0213-[12]%UCS@{BMP,SIP}.src: JIS X 0213:2004 ->
  Unicode mapping table from NetBSD.

* enc/trans/JIS/UCS@{BMP,SIP}%JISX0213-[12].src: Unicode -> JIX X
  0213:2004 mapping table from NetBSD.

* tool/transcode-tblgen.rb: added SIP support.

* test/ruby/test_transcode.rb: tests of above changes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-24 11:14:18 +00:00
nobu 8354d2f700 * enc/unicode/name2ctype.h, tool/transcode-tblgen.rb: revert
unlogged changes which committed by accident probably.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-06 18:17:01 +00:00
duerst 6111599230 struct.c (documentation for rb_struct_members_m):
fix 'array of strings' to 'array of symbols'
  [ruby-core:44152][Bug #6264]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-06 07:23:40 +00:00
nobu 9052a8cd94 * tool/make-snapshot (package): EXEEXT is now used in mkmf.rb.
[ruby-core:43685]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-27 03:11:51 +00:00
nobu be42c35424 * tool/make-snapshot (package): suppress constant overwritting warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-27 03:11:48 +00:00
nobu 06fba52338 * tool/merger.rb (interactive): allow editing commit message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-26 03:57:07 +00:00
nobu 1b2a60759b * tool/merger.rb (default_merge_branch): use IO.popen to invoke pager.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-26 03:57:03 +00:00
nobu 7e82db2e1e * tool/rbinstall.rb (prepare): skip if basedir is not defined.
[ruby-core:39135][Bug #5238]
* tool/rbinstall.rb (CONFIG.[]): check for mandatory
  configurations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 01:59:54 +00:00
nobu 8e6dfeecc9 * tool/rubytest.rb: separate errors from dots.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-20 15:59:15 +00:00
naruse 6227690604 * tool/enc-unicode.rb: don't use 1.9 feature on tools.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-18 02:47:41 +00:00
naruse 0424e152c6 * Merge Onigmo-5.13.1. [ruby-dev:45057] [Feature #5820]
https://github.com/k-takata/Onigmo
  cp reg{comp,enc,error,exec,parse,syntax}.c reg{enc,int,parse}.h
  cp oniguruma.h
  cp tool/enc-unicode.rb
  cp -r enc/

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-17 07:42:23 +00:00
naruse 3b243514ff * tool/merger.rb: remove borders from the commit message which is used
when the commit doesn't change ChangeLog.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-17 03:37:44 +00:00
naruse 375fd3152f * tool/transcode-tblgen.rb (import_ucm): don't use \h because the
script should work with ruby 1.8.

* tool/enc-unicode.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-17 00:53:13 +00:00
knu 24dbd19791 * tool/merger.rb (#default_merge_branch): Add support for
Subversion 1.7 which adopted a whole new working directory
  structure.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-12 07:33:09 +00:00
naruse 1a991ffebc * tool/merger.rb: don't abort, update first.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 01:04:07 +00:00
naruse b33dc193c8 * tool/merger.rb: abort if the working directory is dirty.
* tool/merger.rb: update the working directory after commit.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-06 12:55:56 +00:00
kanemoto b80154157a Updated these files to detect AIX 7.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-29 13:50:18 +00:00
kosaki c38dec6d3b * tool/merger.rb: allow r0123 style revision number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-03 04:45:08 +00:00
kosaki b60a01db6a * tool/merger.rb (#version_up): version.h date should be Japanese
locale date.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-03 02:39:15 +00:00
knu c093401b0e * tool/file2lastrev.rb (VCS::detect): Add support for Subversion
1.7 which adopted a whole new working directory structure.

* tool/file2lastrev.rb (VCS::detect): Simply use .each instead of
  .sort.reverse_each which looks too arbitrary.	 If you want SVN
  to be tried first, then you just have to register it first as it
  is right now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-02 13:14:24 +00:00
drbrain 8010126721 * README.ja: Update redmine.ruby-lang.org to bugs.ruby-lang.org
* README:  ditto
* common.mk:  ditto
* ext/bigdecimal/README:  ditto
* man/erb.1:  ditto
* man/irb.1:  ditto
* man/ri.1:  ditto
* man/ruby.1:  ditto
* man/ruby.1:  ditto
* sparc.c:  ditto
* tool/install-sh:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-19 21:07:09 +00:00
nobu d67ac15c86 * tool/rbinstall.rb (install_recursive, bin-comm): split mere
string not path name.  [ruby-core:40462] [Bug #5492]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-30 01:50:38 +00:00
nobu 31e1fce2a3 * tool/mkconfig.rb: do not make the entries related to sitedir and
verdordir if disabled by --without options.  [ruby-core:38922]
  [Bug #5187]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-13 13:17:30 +00:00
nobu 5f3a8912f7 * tool/rbinstall.rb (gem): install all gemspecs under lib and ext.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-04 07:08:48 +00:00
nobu f555a533d0 * tool/rbinstall.rb (Gem::Specification): may not be defined when
cross-compiling and BASERUBY is 1.8.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-04 06:44:13 +00:00
tenderlove e9ddb1a1f9 * tool/rbinstall.rb: use rubygems to load gemspecs, copy actual
gemspecs on install rather than generate fake ones for all gems.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-03 18:08:57 +00:00
nobu 6466df87a6 * defs/default_gems: separate from tool/rbinstall.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-30 14:19:11 +00:00