Commit graph

36133 commits

Author SHA1 Message Date
nobu
9e09b370c1 parse.y: parse_rational
* parse.y (parse_rational): extract from parse_numeric().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-17 04:30:21 +00:00
svn
f180814e9d * 2014-07-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-17 04:30:16 +00:00
nobu
5000ed38f4 parse.y: parse_numeric
* parse.y (parse_numeric): extract from parser_yylex().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-17 04:30:13 +00:00
nobu
88d4f46f5e parse.y: negate_lit
* parse.y (negate_lit): alter only literal object itself, not NODE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-17 04:30:04 +00:00
suke
686bd6b3ae * ext/win32ole/win32ole.c (ole_variant2val): support array of
VT_RECORD variant.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-16 14:05:52 +00:00
ngoto
e54e53f355 * vm_core.h (struct rb_iseq_struct): stack_max is changed to int
because all calculations related to stack_max in compile.c
  (iseq_set_sequence) and vm_insnhelper.c (vm_push_frame) are
  conducted by using int. This partly reverts r23945.
* vm_insnhelper.c (vm_push_frame): ditto. This reverts r42401.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-16 11:46:06 +00:00
ngoto
e49a7bed21 * vm_core.h (struct rb_iseq_struct): temporal workaround of [Bug 10037].
Add padding on big-endian 64-bit architecture (e.g. sparc64).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-16 11:04:01 +00:00
svn
25ece76ec8 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-16 10:35:00 +00:00
suke
eccc9886ea * ext/win32ole/win32ole.c (fole_record_method_missing): call
rb_hash_fetch instead of rb_hash_aref.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-16 10:34:57 +00:00
ko1
239c98553d revert r46834 because it does not pass tests
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-16 10:16:34 +00:00
ko1
01dc0a7104 * vm_core.h: remove rb_vm_t::trap_list[RUBY_NSIG], but add
rb_vm_t::trap_list_cmds (an array) and
  rb_vm_t::trap_list_safes[RUBY_NSIG]
  (separate to two different array).
  This modification reduce root objects.
* signal.c: ditto.
* vm.c (rb_vm_mark): remove marking code for rb_vm_t::trap_list.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-16 09:39:09 +00:00
ko1
20a9bd6763 * iseq.c (rb_iseq_defined_string): use rb_gc_mark_object() instead of
marking from vm_mark().
* vm.c (rb_vm_mark): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-16 09:09:40 +00:00
ko1
88722e6a5d * gc.c (gc_mark_roots): call rb_vm_mark directly.
* vm.c: remove mark function for RubyVM object because
  RubyVM object marked manually.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-16 09:06:52 +00:00
naruse
64c81e40d4 * regcomp.c: Merge Onigmo 5.14.1 25a8a69fc05ae3b56a09.
this includes Support for Unicode 7.0 [Bug #9092].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-16 03:27:25 +00:00
svn
bb51e69af0 * 2014-07-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 15:43:07 +00:00
nobu
5dbe603f09 Revert r46828
r46828 "md5ossl.c: indicate the result" caused segfaults.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 15:43:03 +00:00
nobu
2d33fc97a3 md5ossl.c: indicate the result
* ext/digest/md5/md5ossl.c: use OpenSSL EVP API instead of MD5 API
  to perform MD5 hashes using OpenSSL in ext/digest.
  [ruby-core:61614] [Bug #9659]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 14:59:32 +00:00
nobu
aadebb29da ext/digest: return values of init and final
* ext/digest: make built-in digest function implementations
  indicate success or failure of init and final functions.
  [ruby-core:61614] [Bug #9659]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 14:59:20 +00:00
nobu
6046b9f149 digest.c: raise exception on init failure
* ext/digest/digest.c: expect digest init and finish functions to
  indicate success or failure; raise exception on failure.
  [ruby-core:61614] [Bug #9659]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 14:58:53 +00:00
suke
a3f50234bc * ext/win32ole/win32ole.c: modify document for WIN32OLE_RECORD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 11:33:21 +00:00
nobu
ee5edc5950 rbinstall.rb: fix directory permissions
* tool/rbinstall.rb (gem): fix permissions of bundle gems
  directories.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 08:42:49 +00:00
nobu
a7f03a4659 rbinstall.rb: respect DESTDIR
* lib/rubygems.rb (Gem.install): pass optinos to
  Gem::DependencyInstaller.

* tool/rbinstall.rb (gem): respect DESTDIR.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 08:24:39 +00:00
nobu
163c299420 test/ruby/test_env.rb: test memory leaks only on Windows
* test/ruby/test_env.rb (test_memory_leak_{aset,select,shift}):
  test for Windows platform specific code.
  (test_memory_crash_select): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 08:04:59 +00:00
hsbt
83edc945fa * defs/default_gems: change version definition file of rake.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 03:43:04 +00:00
svn
bf0e6f0aa6 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 03:07:56 +00:00
svn
6be1627d2e * 2014-07-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 03:07:49 +00:00
hsbt
6361928083 * lib/rake.rb, lib/rake/*.rb: Upgrade to rake-10.3.2
[fix GH-668]
* test/rake/*.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-15 03:07:37 +00:00
nobu
031e1570b9 Makefile.sub: no oldnames.lib
* win32/Makefile.sub (LIBS): oldnames.lib is not used already.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-14 11:50:43 +00:00
suke
c3000ed8f4 * ext/win32ole/win32ole.c: modify WIN32OLE class document and
add comment for constants of WIN32OLE.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-14 10:17:40 +00:00
normal
f747a231cf ChangeLog: document size changes [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-14 09:48:49 +00:00
normal
ff9046ad0b vm_core.h (struct rb_iseq_struct): reduce to 288 bytes on 64-bit
* vm_core.h (struct rb_iseq_struct): reduce to 288 bytes on 64-bit
  (found with pahole, from the dwarves package)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-14 07:42:13 +00:00
normal
34f7e9086f iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes on 64-bit
* iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes on 64-bit

This drops a few minor page faults on my system at startup.
Using 64-bit start, end, cont, and sp fields are unnecessary as
label_get_position and label_get_sp only return int values.
label_get_position and label_get_sp should probably return
unsigned, but that is a future change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-14 07:08:55 +00:00
svn
b811194e57 * 2014-07-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-14 07:06:44 +00:00
normal
e91ae784bc vm_core.h (struct rb_iseq_struct): reduce to 296 bytes on 64-bit
Most iseq do not have a catch_table, so avoid needlessly adding
4-8 bytes to the struct for the common case.

Changes from v2:
- iseq_catch_table_size removed, use if (...) for (;...;)

Changes from v1:
- renamed iseq->_catch_table to iseq->catch_table
- iseq_catch_table_bytes: made a static inline function
- iseq_catch_table_size: new function replaces the
  iseq_catch_table_each iterator macro

* iseq.h (struct iseq_catch_table): new flexible array struct
         (iseq_catch_table_bytes): allocated size function
* vm_core.h (struct rb_iseq_struct): uupdate catch_table member
* compile.c (iseq_set_exception_table): update for struct changes
* iseq.c (iseq_free): ditto
* iseq.c (iseq_memsize): ditto
* iseq.c (rb_iseq_disasm): ditto
* iseq.c (iseq_data_to_ary): ditto
* iseq.c (rb_iseq_build_for_ruby2cext): ditto (untested)
* vm.c (vm_exec): ditto
* vm_core.h (struct rb_iseq_struct): ditto
* vm_insnhelper.c (vm_throw): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-14 07:06:26 +00:00
hsbt
944afa18a1 * ext/openssl/ossl_cipher.c: Fix call to ciphers class method and
spell out `encryption` by @vipulnsward [fix GH-664]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-13 08:51:23 +00:00
hsbt
e442383bc7 * ext/gdbm/gdbm.c: remove needless tabs.
* ext/sdbm/init.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-13 08:48:42 +00:00
hsbt
faa9a862ef * ext/gdbm/gdbm.c: fix wrong arguments in GetDBM2 macro.
* ext/sdbm/init.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-13 08:32:32 +00:00
hsbt
3caee48434 * ext/dbm/dbm.c: fix wrong arguments in GetDBM2 macro by @v2e4lisp.
[fix GH-655]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-13 08:29:09 +00:00
normal
c7fbc29605 vm_core.h (struct rb_call_info_struct): improve packing
* vm_core.h (struct rb_call_info_struct): improve packing
  On x86-64, it goes from 112 to 104 bytes.  This results in
  ~20K of savings from just "./ruby -e exit"

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-13 07:46:46 +00:00
hsbt
f0a698300a * README.md: fix slight grammatical error by @abwinkler999.
[fix GH-659]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-13 07:38:47 +00:00
normal
499f6d62c7 vm_core.h (struct rb_iseq_struct): stack_max is uint32_t
* vm_core.h (struct rb_iseq_struct): stack_max is uint32_t
  No program will ever need more than a few megabytes of stack,
  so there's no sense in using a 64-bit counter for stack
  accounting.  Packing this with the 32-bit type enum reduces
  rb_iseq_struct from 312 to 304 bytes on 64-bit systems.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-13 07:01:09 +00:00
svn
da16701b45 * 2014-07-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-13 01:56:39 +00:00
nobu
5e14a4c4b3 configure.in: exit with failure
* configure.in (rb_cv_broken_backtrace): exit with failure
  normally, no needs to abort.  [ruby-core:63678] [Bug #10008]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-13 01:56:27 +00:00
nobu
8a29da3b76 win32/configure.bat: check directory
* win32/configure.bat: bail out if run in win32 directory.
  [ruby-core:63648] [Bug #10027]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-12 14:49:46 +00:00
suke
2822bd29e2 * ext/win32ole/win32ole.c (fole_record_method_missing): correct
fields Hash key.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-12 06:17:16 +00:00
kosaki
00eb720394 * lib/net/smtp.rb (Net::SMTP#data): enable buffering while
'data' send for optimizing Net::SMTP#send_message.
  [ruby-dev:48329] [misc #9981]
  patch by Masahiro Tomita.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-11 19:22:19 +00:00
svn
f11c30e801 * 2014-07-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-11 16:32:20 +00:00
ngoto
ca1c23e2a7 * test/ruby/envutil.rb (assert_no_memory_leak): On Solaris 9 or later,
if possible, execute child ruby with environment variables
  LD_PRELOAD=libumem.so UMEM_OPTIONS="backend=mmap". With these
  variables, freed memory is immediately returned to the OS.
  [Bug #10020] [ruby-dev:48391]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-11 16:32:07 +00:00
nobu
47adf5709a symbol.c: remove dependency on parse.h
* symbol.c (op_tbl): remove non-regular symbols.

* symbol.c (global_symbols): start from the next of the preserved
  ID.

* symbol.c: (rb_id2str): op_tbl does not exceed tLAST_OP_ID.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-11 14:10:50 +00:00
kazu
f063a0b535 fix plural form [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-11 13:58:02 +00:00