Commit graph

42445 commits

Author SHA1 Message Date
normal
1282a4a895 fstring early for internal iseq
All of the strings created here eventually get converted to
fstrings when they are frozen into the iseq.  Prepare the
fstring early so we may reduce a one or two objects.

This is a very minor change, mainly for the '<main>' dedupe.

* compile.c (caller_location): use rb_fstring_cstr for "<compiled>"
  (it is converted to fstring anyways inside rb_iseq_new_with_opt)
* iseq.c (iseqw_s_compile): ditto
* iseq.c (rb_iseq_new_main): use rb_fstring_cstr for "<main>"
* vm.c (Init_VM): ditto, share with with above
* iseq.c (iseqw_s_compile_file): rb_fstring before rb_io_t->pathv
  share "<main>" with above
* vm.c (rb_binding_add_dynavars): fstring "<temp>" immediately

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-26 06:23:47 +00:00
nobu
f4ca0739ec compile.c: fix tailcall optimization
* compile.c (iseq_peephole_optimize): don't apply tailcall
  optimization to send/invokesuper instructions with blockiseq.
  This is a follow-up to the changes in r51903; blockiseq is now
  the third operand of send/invokesuper instructions.
  [ruby-core:73413] [Bug #12018]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-26 06:14:59 +00:00
normal
667c0a3a8c Signal.list deduplicates keys
This allows us to reuse string objects used in symbols as well
as any string representations of signal names in source code.

* signal.c (sig_list): use fstring for hash key
* test/ruby/test_signal.rb (test_signal_list_dedupe_keys): added

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-26 05:33:28 +00:00
nobu
a52be8fb8f signal.c: reserved signals
* signal.c (rb_f_kill): should immediately deliver reserved
  signals SIGILL and SIGFPE, ont only SIGSEGV and SIGBUS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-26 04:09:31 +00:00
svn
dac394e39d * 2016-01-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 22:58:26 +00:00
nobu
4378bd6628 Macro typo
* gc.c (RVALUE_PAGE_WB_UNPROTECTED): fix a typo of argument name.
  [Fix GH-1221]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 22:58:25 +00:00
normal
afa7c15d6e fix build with VM_CHECK_MODE > 0
* ruby_assert.h (RUBY_ASSERT_WHEN): fix reference to macro name
* vm_core.h: include ruby_assert.h before using
  [ruby-core:73371]

This does not fix the test failure documented in [ruby-core:73371],
that is for later.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 08:34:00 +00:00
nobu
e56b9b4383 common.mk: dependency of ripper.c
* common.mk (ext/ripper/ripper.c): explicit parse.y for nmake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 07:49:26 +00:00
nobu
07e2cc3adb revert r53618 partially
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 07:45:54 +00:00
nobu
dfca38eaa2 symbol.c: more informative error message
* symbol.c (sym_check_asciionly): more informative error message
  with the encoding name and the inspected content.
  [ruby-core:73398] [Feature #12016]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 06:56:26 +00:00
hsbt
390f087d87 * test/ruby/test_string.rb: added testcase for next!, succ and succ!
[fix GH-1213] Patch by @K0mAtoru

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 00:39:26 +00:00
hsbt
65793c9c17 * lib/webrick/httpservlet/filehandler.rb: fix documentation for namespace.
[fix GH-1219][ci skip] Patch by @leafac

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 00:33:17 +00:00
svn
1a690ada1a * 2016-01-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-24 15:00:58 +00:00
nobu
c0a7c89303 test_class.rb: fix encoding
* test/ruby/test_class.rb (test_namescope_error_message): fix
  encoding to UTF-8.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-24 15:00:57 +00:00
nobu
63cd3e2b3a test_class.rb: test_namescope_error_message
* test/ruby/test_class.rb (test_namescope_error_message): test for
  r53644.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-24 14:59:16 +00:00
normal
0feaa041e7 vm_insnhelper.c (vm_check_if_namespace): tiny size reduction
Take advantage of "%+" modifier in the format string instead of
explicitly calling rb_inspect to reduce object size.

On x86 32-bit:

           text    data     bss     dec     hex filename
before: 2949572   12448   30680 2992700  2daa3c miniruby
after:  2949464   12448   30680 2992592  2da9d0 miniruby

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-24 10:36:16 +00:00
duerst
615d99b7e7 * common.mk: Simplifying Unicode data file download logic to make
it more reliable (including additional fix not in r53633) [Bug #12007]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-24 09:13:30 +00:00
nobu
b58fac9a97 wait readable/writable
* ext/io/wait/wait.c (io_wait_readwrite): [EXPERIMENTAL] allow to
  wait for multiple modes, readable and writable, at once.  the
  arguments may change in the future.  [Feature #12013]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-24 07:55:05 +00:00
svn
57752a2503 * 2016-01-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-24 05:30:55 +00:00
nobu
5320f8846b test_io_wait.rb: wait_readable
* test/io/wait/test_io_wait.rb: add tests for IO#wait_readable,
  same as IO#wait.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-24 05:30:54 +00:00
nobu
be8b517f52 Add test for Array#keep_if
* test/ruby/test_array.rb (test_keep_if): Add test for
  Array#keep_if separate from Array#select!  [Fix GH-1218]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 13:31:51 +00:00
nobu
dd4374c3a4 appveyor.yml: simplify
* appveyor.yml (install, build_script): simplify by using same opt
  dir for libressl and zlib.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 13:27:13 +00:00
hsbt
4bfda5d951 * common.mk: revert r53633. It broke rubyci and travis.
104259623

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 11:55:32 +00:00
shugo
a0019b27e6 fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 11:19:22 +00:00
shugo
62b750bb55 * range.c (range_eqq): revert r11113 because rb_call_super() is
called in range_include() and thus r11113 doesn't work when the
  receiver Range object consists of non linear objects such as Date
  objects.
  [ruby-core:72908] [Bug #12003]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 11:16:09 +00:00
duerst
387e838c02 ChangeLog: Fixing wrong time on previous commit, and adding
previous commit message to svn [ci skip]

The message on the previous commit should have read:
common.mk: Simplifying Unicode data file download logic to make
it more reliable [Bug #12007]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 09:38:50 +00:00
duerst
0d3d8a8cda git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e 2016-01-23 09:32:44 +00:00
nobu
90f05d9b85 appveyor.yml: exclude unavailable extensions
* appveyor.yml (build_script): exclude unavailable extensions,
  gdb, gdbm, readline, and tk/tkutil.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 08:18:17 +00:00
duerst
39988ff0ac * tool/downloader.rb: Fixed a logical error, improved documentation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 07:30:32 +00:00
kazu
9608176fad fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 05:19:42 +00:00
nobu
a3f4fcb45c Use SVG Travis badge over PNG
* README.md: Use SVG Travis badge over PNG for better quality and
  devise support.  [Fix GH-1214] [Fix GH-1216]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 02:43:34 +00:00
nobu
ba5a40fe7d Update documentation of CSV header converter
* lib/csv.rb: Update documentation of CSV header converter for
  r45498, [GH-575].  [Fix GH-1215]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 02:30:07 +00:00
nobu
ac55501368 configure.bat: put a space
* win32/configure.bat: put a space after replaced string to get
  rid of something weird sometimes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 02:15:56 +00:00
shugo
d735054a07 * win32/configure.bat: set svn:eol-style to CRLF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 15:49:49 +00:00
svn
7ecd001ee2 * 2016-01-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 15:13:17 +00:00
svn
7ceffa0259 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 15:13:17 +00:00
nobu
cf8e95cc6e configure.bat: fix strange goto
* win32/configure.bat: get rid of wrong goto destination by
  putting something before LF.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 15:13:16 +00:00
svn
bd4930686b * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 14:40:48 +00:00
nobu
1d9cb2191f configure.bat: set eol-style
* win32/configure.bat: should be CRLF eol-style.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 14:40:47 +00:00
svn
ba7f85f833 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 14:28:33 +00:00
nobu
98eae5d71e configure.bat: --with-libdir
* win32/configure.bat: add --with-libdir option for basename of
  libdir.  on Windows it must be placed under exec_prefix always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 14:28:31 +00:00
nobu
655b18e914 common.mk: source dependency for nmake
* common.mk (ext/rbconfig/sizeof/sizes.c): separate the dependency
  with VPATH and the command, get rid of weird VPATH behavior of
  nmake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 12:30:31 +00:00
nobu
184c7e660d common.mk: probes.dmyh for nmake
* common.mk (probes.dmyh): separate the dependency and the
  command, get rid of weird VPATH behavior of nmake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 11:22:27 +00:00
nobu
4a01021002 vm_core.h: use RUBY_ASSERT
* vm_core.h (VM_ASSERT): use RUBY_ASSERT instead of rb_bug.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 08:37:36 +00:00
nobu
439224a590 RUBY_ASSERT
* error.c (rb_assert_failure): assertion with stack dump.
* ruby_assert.h (RUBY_ASSERT): new header for the assertion.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 08:33:55 +00:00
naruse
e5850a80d6 Add badges
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 07:02:37 +00:00
naruse
8a85d618ee remove to allow trunk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 06:26:57 +00:00
naruse
c072fc56c8 Add appveyor.yml
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 06:09:19 +00:00
svn
fc6eb6937f * 2016-01-22
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-21 16:09:10 +00:00
naruse
782fd488d7 * regparse.c (fetch_name_with_level): allow non word characters
at the first character.  [Feature #11949]

* regparse.c (fetch_name): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-21 16:09:09 +00:00