aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* ChangeLog: document size changes [ci skip]normal2014-07-141-1/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_core.h (struct rb_iseq_struct): reduce to 288 bytes on 64-bitnormal2014-07-142-1/+5
| | | | | | | * 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
* iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes on 64-bitnormal2014-07-142-4/+8
| | | | | | | | | | | | * 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-14svn2014-07-141-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_core.h (struct rb_iseq_struct): reduce to 296 bytes on 64-bitnormal2014-07-147-27/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* * ext/openssl/ossl_cipher.c: Fix call to ciphers class method andhsbt2014-07-132-2/+7
| | | | | | 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
* * ext/gdbm/gdbm.c: remove needless tabs.hsbt2014-07-132-2/+2
| | | | | | * ext/sdbm/init.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/gdbm/gdbm.c: fix wrong arguments in GetDBM2 macro.hsbt2014-07-133-6/+11
| | | | | | * ext/sdbm/init.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/dbm/dbm.c: fix wrong arguments in GetDBM2 macro by @v2e4lisp.hsbt2014-07-132-3/+8
| | | | | | [fix GH-655] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_core.h (struct rb_call_info_struct): improve packingnormal2014-07-132-2/+7
| | | | | | | | * 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
* * README.md: fix slight grammatical error by @abwinkler999.hsbt2014-07-131-1/+1
| | | | | | [fix GH-659] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_core.h (struct rb_iseq_struct): stack_max is uint32_tnormal2014-07-132-2/+5
| | | | | | | | | | * 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-13svn2014-07-131-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: exit with failurenobu2014-07-132-7/+12
| | | | | | | * 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
* win32/configure.bat: check directorynobu2014-07-121-0/+5
| | | | | | | * 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
* * ext/win32ole/win32ole.c (fole_record_method_missing): correctsuke2014-07-122-2/+7
| | | | | | | fields Hash key. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/smtp.rb (Net::SMTP#data): enable buffering whilekosaki2014-07-112-4/+18
| | | | | | | | '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-12svn2014-07-111-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/envutil.rb (assert_no_memory_leak): On Solaris 9 or later,ngoto2014-07-112-0/+36
| | | | | | | | | | 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
* symbol.c: remove dependency on parse.hnobu2014-07-114-7/+23
| | | | | | | | | | | * 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
* fix plural form [ci skip]kazu2014-07-111-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: rename Init_parsernobu2014-07-111-1/+2
| | | | | | | * parse.y (rb_init_parse): rename to get rid of name clash with json/parser at statically linking. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2014-07-111-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c: add WIN32OLE_RECORD class to supportsuke2014-07-112-1/+107
| | | | | | | VT_RECORD OLE variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/abbrev.rb: remove executable.hsbt2014-07-112-11/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/fileutils.rb: handle ENOENT error with symlink targeted tohsbt2014-07-113-3/+20
| | | | | | non-exists file. [ruby-dev:45933] [Bug #6716] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c: Clarify documentation for Array#insert.hsbt2014-07-112-1/+8
| | | | | | [ruby-core:62934] [Bug #9901] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c: Improve Documentation by @dapplebeforedawn.hsbt2014-07-112-14/+22
| | | | | | [fix GH-658] [ruby-core:63579] [Bug #10012] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/matrix.rb: Fix sign for cross_product [#9499]marcandre2014-07-113-3/+12
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * benchmark/prepare_so_k_nucleotide.rb: use require_relative.ko12014-07-113-2/+8
| | | | | | | | * benchmark/prepare_so_reverse_complement.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* pack.c: fix buffer overrunnobu2014-07-113-3/+18
| | | | | | | * pack.c (encodes): fix buffer overrun by tail_lf. Thanks to Mamoru Tasaka and Tomas Hoger. [ruby-core:63604] [Bug #10019] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-07-11svn2014-07-101-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (ruby_setenv): Fix TestEnv#test_aset failure on Solaris 9.ngoto2014-07-102-5/+28
| | | | | | | | | When name contains '=', ruby_setenv raises Errno::EINVAL. That is the same behavior as Solaris 10. NULL check for malloc return value is also added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c: fix implicit splat keyword argumentnobu2014-07-103-3/+28
| | | | | | | | * vm_insnhelper.c (vm_callee_setup_keyword_arg): adjust VM stack pointer to get rid of overwriting splat arguments by arguments for `to_hash` conversion. [ruby-core:63593] [Bug #10016] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos [ci skip]kazu2014-07-101-5/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: fix typonobu2014-07-101-8/+8
| | | | | | * gc.c (global_list): fix typo, capital 'L'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * symbol.c: remove rb_gc_mark_symbols().ko12014-07-094-22/+33
| | | | | | | | | | | | | | | | | | fstrings refered by static symbols and pinned dynamic symbols are registerd by rb_gc_register_mark_object(). frstring refered by dynamic symbols (not pinned symbols) are refered from global_symbols.dsymbol_fstr_hash (Hash object). Note that fstrings refered from dynamic symbols must live loger than symbol objects themselves because rb_gc_free_dsymbol() uses fstring to remove from symbol tables. This is why we can not mark fstrings from dynamic symbols. This technique reduces root objects for GC marking. * gc.c (gc_mark_roots): ditto. * internal.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-07-10svn2014-07-091-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk (DTRACE_DEPENDENT_OBJS): fix build failure on Solarisngoto2014-07-092-0/+7
| | | | | | | | introduced in r46768. Object files containing dtrace probes should be listed in DTRACE_DEPENDENT_OBJS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* random.c: fix castsnobu2014-07-091-4/+4
| | | | | | | * random.c (fill_random_seed): fix type to cast. this may or may not suppress warnings by icc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* symbol.c, symbol.h: split from parse.ynobu2014-07-095-1149/+1198
| | | | | | | * symbol.c, symbol.h: Symbol class implementation and internals, split from parse.y. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: adjust argument typesnobu2014-07-091-2/+3
| | | | | | | * parse.y (symbols_i): adjust argument types for st_foreach() using st_data_t. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: refine error messagenobu2014-07-091-1/+13
| | | | | | * io.c (do_io_advise): more precise error message, with arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_io.rb: fix assertionnobu2014-07-091-1/+1
| | | | | | | * test/ruby/test_io.rb (test_advise): fix inverted arguments order by assert_nil. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: change Symbol <-> ID relationship to avoidko12014-07-0911-136/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | exposing IDs from collectable symbols. [Bug #10014] Now, rb_check_id() returns 0 if corresponding symbol is pinned dynamic symbol. There is remaining intern_cstr_without_pindown(), it can return IDs from collectable symbols. We must be careful to use it (only used in parse.y). I think it should be removed if it does not have impact for performance. * parse.y: add: * STATIC_SYM2ID() * STATIC_ID2SYM() rename: * rb_pin_dynamic_symbol() -> dsymbol_pindown() * internal.h: remove: * rb_check_id_without_pindown() * rb_sym2id_without_pindown() add: * rb_check_symbol() * rb_check_symbol_cstr() * load.c: use rb_check_id() or rb_check_id_cstr(). * object.c: ditto. * struct.c: ditto. * thread.c: ditto. * vm_method.c: ditto. * string.c (sym_find): use only rb_check_symbol(). * sprintf.c (rb_str_format): use rb_check_symbol_cstr(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (symbols_i): delete garbage symbols for Symbol.all_symbols.ko12014-07-092-5/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* require "rbconfig" to use RbConfignaruse2014-07-091-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.h: do not expose pthread type for locknormal2014-07-082-1/+6
| | | | | | | * thread_pthread.h (struct rb_global_vm_lock_struct): do not expose pthread type for lock git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.h: remove unneeded semaphore.h includenormal2014-07-082-2/+4
| | | | | | | * thread_pthread.h: remove unneeded semaphore.h include We currently do not use POSIX semaphores. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-07-09svn2014-07-081-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e