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

688 Коммитов

Автор SHA1 Сообщение Дата
nobu 1cede1dab2 reaply r48278
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-06 10:53:04 +00:00
naruse 8d00496911 Revert r48278 "common.mk: update unicode data only if BASERUBY is available"
Moreover its error "make[1]: *** No rule to make target
`lib/unicode_normalize/tables.rb', needed by `srcs-lib'.  Stop." is not
a good error message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-06 05:46:43 +00:00
nobu ef8139db13 common.mk: update unicode data only if BASERUBY is available
* common.mk (lib/unicode_normalize/tables.rb): do nothing unless
  BASERUBY is available.  MINIRUBY cannot load extension libraries,
  so cannot update Unicode data.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-05 05:11:33 +00:00
ko1 fbebd502f9 * rewrite method/block parameter fitting logic to optimize
keyword arguments/parameters and a splat argument.
  [Feature #10440] (Details are described in this ticket)
  Most of complex part is moved to vm_args.c.
  Now, ISeq#to_a does not catch up new instruction format.
* vm_core.h: change iseq data structures.
  * introduce rb_call_info_kw_arg_t to represent keyword arguments.
  * add rb_call_info_t::kw_arg.
  * rename rb_iseq_t::arg_post_len to rb_iseq_t::arg_post_num.
  * rename rb_iseq_t::arg_keywords to arg_keyword_num.
  * rename rb_iseq_t::arg_keyword to rb_iseq_t::arg_keyword_bits.
    to represent keyword bitmap parameter index.
    This bitmap parameter shows that which keyword parameters are given
    or not given (0 for given).
    It is refered by `checkkeyword' instruction described bellow.
  * rename rb_iseq_t::arg_keyword_check to rb_iseq_t::arg_keyword_rest
    to represent keyword rest parameter index.
  * add rb_iseq_t::arg_keyword_default_values to represent default
    keyword values.
  * rename VM_CALL_ARGS_SKIP_SETUP to VM_CALL_ARGS_SIMPLE
    to represent
      (ci->flag & (SPLAT|BLOCKARG)) &&
      ci->blockiseq == NULL &&
      ci->kw_arg == NULL.
* vm_insnhelper.c, vm_args.c: rewrite with refactoring.
  * rewrite splat argument code.
  * rewrite keyword arguments/parameters code.
  * merge method and block parameter fitting code into one code base.
* vm.c, vm_eval.c: catch up these changes.
* compile.c (new_callinfo): callinfo requires kw_arg parameter.
* compile.c (compile_array_): check the last argument Hash object or
  not. If Hash object and all keys are Symbol literals, they are
  compiled to keyword arguments.
* insns.def (checkkeyword): add new instruction.
  This instruction check the availability of corresponding keyword.
  For example, a method "def foo k1: 'v1'; end" is cimpiled to the
  following instructions.
    0000 checkkeyword     2, 0  # check k1 is given.
    0003 branchif         9     # if given, jump to address #9
    0005 putstring        "v1"
    0007 setlocal_OP__WC__0 3   # k1 = 'v1'
    0009 trace            8
    0011 putnil
    0012 trace            16
    0014 leave
* insns.def (opt_send_simple): removed and add new instruction
  "opt_send_without_block".
* parse.y (new_args_tail_gen): reorder variables.
  Before this patch, a method "def foo(k1: 1, kr1:, k2: 2, **krest, &b)"
  has parameter variables "k1, kr1, k2, &b, internal_id, krest",
  but this patch reorders to "kr1, k1, k2, internal_id, krest, &b".
  (locate a block variable at last)
* parse.y (vtable_pop): added.
  This function remove latest `n' variables from vtable.
* iseq.c: catch up iseq data changes.
* proc.c: ditto.
* class.c (keyword_error): export as rb_keyword_error().
* common.mk: depend vm_args.c for vm.o.
* hash.c (rb_hash_has_key): export.
* internal.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-02 18:02:55 +00:00
nobu 3dce236bf5 common.mk: remove dl from EXT_SRCS
* common.mk (EXT_SRCS): remove dl/callback which has been removed
  at r48217.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-31 22:23:43 +00:00
nobu aa631f9a7e common.mk: fix Unicode table dependency
* common.mk (.unicode-tables.time): needs Unicode files always,
  and should update after downloading these files.
  [ruby-core:66026] [Bug #10461]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-31 03:54:45 +00:00
nobu 708eed2090 common.mk: separate updates
* common.mk (UPDATE_LIBRARIES): separate autogenerated library
  script from downloaded data files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-30 14:58:57 +00:00
naruse 7c1480ecbc * common.mk: fix for the case ALWAYS_UPDATE_UNICODE=no
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-30 09:48:59 +00:00
nobu 39713bd927 common.mk: separate Unicode files directory
* common.mk: download Unicode files into separate directory for the
  version.

* tool/downloader.rb (Downloader::Unicode.download): strip version
  directory.

* tool/downloader.rb (Downloader.download): strip directory name
  if download directory is given.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-30 07:39:51 +00:00
nobu 9b581e0d0b template/unicode_norm_gen.tmpl: from tool/unicode_norm_gen.rb
* template/unicode_norm_gen.tmpl: use generic_erb.rb to update if
  changed and manage timestamp, so that source tree on read-only
  filesystem works.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-25 07:20:15 +00:00
nobu f72c0b5c78 common.mk: timestamp for update-unicode
* common.mk (.update-unicode.time): timestamp not to download same
  files twice at one build.  [Bug #10415]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 14:58:29 +00:00
nobu 052c85da96 common.mk: update unicode files every times
* common.mk (update-unicode): invert dependency to run every times.
  [ruby-core:65842] [Bug #10415]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 17:33:02 +00:00
nobu 6cf85c1bd2 common.mk: update source tree
* common.mk (after-update): update files under source tree.
  [ruby-core:65840] [Bug #10414]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 17:25:35 +00:00
usa 35215a8503 * common.mk (prelude.c): add dependency to LIB_SRCS because
enc/prelude.rb requires lib/unicode_normalize.rb, and it's also
  requires lib/unicode_normalize/tables.rb (=LIB_SRCS).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 12:33:36 +00:00
yugui a49be8a8e3 * common.mk (build-ext): avoid trying to build dynamic libraries
if configured --with-static-linked-ext.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 12:19:16 +00:00
duerst 0263002e2f common.mk: Fixed grammar in comment [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 11:33:36 +00:00
nobu 2767d9a8cf common.mk: comment on ALWAYS_UPDATE_UNICODE [ci skip]
* common.mk (ALWAYS_UPDATE_UNICODE): comment to how to force
  always update Unicode data files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 09:55:41 +00:00
nobu 42ca978656 common.mk: UNICODE_FILES
* common.mk (UNICODE_FILES): revert the rule that Unicode data
  files depend on downloader target, and add missing dependency of
  lib/unicode_normalize/tables.rb

* common.mk (after-configure): removed as srcdir should be
  read-only after update.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 13:48:16 +00:00
duerst 69488371e4 common.mk: Adding explicit creation of directory
enc/unicode/data because git doesn't handle empty
directories.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 08:32:34 +00:00
usa f15279b23b * common.mk: *.txt are also in $(srcdir). see r48059.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 06:16:39 +00:00
nobu 4ae67d876a common.mk: after-configure
* common.mk (after-configure): update Unicode files after
  configure run.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 05:17:32 +00:00
nobu cde7ae1c15 common.mk: split after-update
* common.mk (after-update): move platform independent targets from
  Makefile.in.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 03:55:08 +00:00
nobu 622f31be31 Makefile.in: update unicode files only after update source tree
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 15:14:56 +00:00
usa 345c1408a9 * common.mk (lib/unicode_normlize/table.rb): enable running (n)make
in non-srcdir.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 14:59:33 +00:00
nobu a1cd284033 common.mk: disable force download of unicode files by default
* tool/downloader.rb: add -a option to always download regardless
  existing files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 14:58:06 +00:00
nobu c7e1545cea common.mk: update unicode files every times
* common.mk (update-unicode): remove -e option to force update
  every builds.

* tool/downloader.rb (Downloader.download): return if ims is nil
  and target file is existing.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 13:43:45 +00:00
duerst 27cbf1f50d config.mk: Added missing data files as targets for prerequisite update_unicode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 10:54:55 +00:00
nobu 8b99ce9656 unicode_norm_gen.rb: get rid of hard coded paths
* common.mk (lib/unicode_normalize/tables.rb): run at top srcdir.

* tool/unicode_norm_gen.rb: add -input and -output options to set
  InputDataDir and OuputDataDir respectively.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 03:42:44 +00:00
nobu 11d36a49c7 common.mk: use existing files
* common.mk (update-unicode): use downloaded files if existing,
  not to require network connection always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-19 17:18:41 +00:00
naruse 0c31f66276 add dependency
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-19 16:06:57 +00:00
nobu 2435904da7 common.mk (srcs-enc): generate unicode_normalize/tables.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-19 15:30:10 +00:00
nobu 795cb77701 common.mk: fix missing quote
* common.mk (lib/unicode_normalize/tables.rb): fix missing quote
  and script path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-19 11:27:00 +00:00
usa 1c047683da * common.mk: nmake doesn't recognize ${} form. use $() instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-19 11:08:27 +00:00
duerst 25f3baf7b6 common.mk: Added a rule to generate lib/unicode_normalize/tables.rb.
This rule still needs to be integrated into the overall make process.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-19 09:13:20 +00:00
nobu f77d22d1fe common.mk: update-gems for older BASERUBY
* common.mk (update-gems): chdir to the target directory and then
  add the tool directory to load paths, for older BASERUBY.
  [Bug #10372][ruby-core:65630]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-13 11:44:50 +00:00
nobu caa54c1715 Revert r47899
* common.mk: $(srcdir)/../tool is an invalid path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-13 11:27:00 +00:00
hsbt 89322aafb5 * common.mk: use relative load path for bundled_gems directory.
[Bug #10372][ruby-core:65630]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-13 06:42:33 +00:00
nobu cf5450bb7c common.mk: mark PHONY targets
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 01:17:05 +00:00
nobu d2be02974c common.mk: update only non-existing files
* common.mk (update-config_files): update only non-existing files,
  and get rid of trying to download existing files every time.
  gitweb does not send Last-Modified header.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 01:17:01 +00:00
hsbt d3a405b973 * common.mk: fixed broken reference of update-config_files task
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 00:51:47 +00:00
nobu 1c01280d17 downloader.rb
* configure.in: use tool/downloader.rb directly.

* tool/get-config_files: no longer used.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 11:27:22 +00:00
nobu 3bbea8ed37 tool/downloader.rb: split particular sites
* tool/downloader.rb (Downloader): split particular sites from the
  main class.

* tool/downloader.rb (Downloader.download): show messages if
  verbose mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 02:54:59 +00:00
duerst 69cbd810fa common.mk: Created new target update-unicode to download
some Unicode data files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 02:14:16 +00:00
nobu 4f123ebd39 common.mk: update-gems
* common.mk (update-gems): update bundled gem files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-23 12:09:30 +00:00
usa e564a82a93 * common.mk (encs enc trans libencs libenc libtrans): force to run
enk.mk because common.mk does not know the dependency, but enk.mk
  knows. [ruby-dev:48530] [Bug #10220]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-10 05:16:21 +00:00
hsbt 355c032fcf * test/runner.rb: reporting test coverage for test-all with COVERAGE env.
[Feature #10189][ruby-core:64681]
* Makefile.in: added task for coverage report.
* common.mk: added definition of forked simplecov url.
* .gitignore: ignored coverage directory.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-02 07:59:18 +00:00
normal 343f8b02a1 string.c: remove vm_core.h dependency [ruby-core:64627]
* string.c: revert part of r47311, add rb_vm_fstring_table(),
  remove vm_core.h dependency. [ruby-core:64627]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-29 07:22:23 +00:00
normal a1e95636ac string.c: move frozen_strings table to rb_vm_t
Cleanup in case MVM development proceeds.

* string.c: remove static frozen_strings
* string.c (Init_frozen_strings): new function
* string.c (rb_fstring): remove check for frozen strings,
  use per-VM table
* string.c (rb_str_free): use per-VM table
* string.c (Init_String): use per-VM table
* vm_core.h (rb_vm_t): add frozen_strings table
* internal.h (Init_frozen_strings): new function prototype
* eval.c (ruby_setup): call Init_frozen_strings
  [Feature #10182]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-29 06:30:03 +00:00
nobu f024d46f11 tool/vcs.rb: no time.rb
* common.mk (Doxyfile): revert r43888, not to require preinstalled
  ruby.  [ruby-core:64488] [Bug #10161]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-22 06:36:46 +00:00
nobu 1d196e0d2b sprintf.c: rational 'f' format
* sprintf.c (rb_str_format): support rational 'f' format.
  [ruby-core:64382] [Bug #10136]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-18 08:06:48 +00:00