aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* vm_core.h (struct rb_iseq_struct): reduce to 296 bytes on 64-bitnormal2014-07-141-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-131-0/+5
| | | | | | 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: fix wrong arguments in GetDBM2 macro.hsbt2014-07-131-0/+5
| | | | | | * 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-131-0/+5
| | | | | | [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-131-0/+4
| | | | | | | | * 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
* vm_core.h (struct rb_iseq_struct): stack_max is uint32_tnormal2014-07-131-0/+4
| | | | | | | | | | * 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
* configure.in: exit with failurenobu2014-07-131-0/+5
| | | | | | | * 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
* * ext/win32ole/win32ole.c (fole_record_method_missing): correctsuke2014-07-121-0/+5
| | | | | | | 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-111-0/+7
| | | | | | | | '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
* * test/ruby/envutil.rb (assert_no_memory_leak): On Solaris 9 or later,ngoto2014-07-111-0/+8
| | | | | | | | | | 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
* 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
* * ext/win32ole/win32ole.c: add WIN32OLE_RECORD class to supportsuke2014-07-111-0/+5
| | | | | | | 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-111-0/+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-111-0/+5
| | | | | | 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-111-0/+5
| | | | | | [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-111-0/+5
| | | | | | [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-111-0/+4
| | | | 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-111-0/+6
| | | | | | | | * 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-111-0/+5
| | | | | | | * 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
* * hash.c (ruby_setenv): Fix TestEnv#test_aset failure on Solaris 9.ngoto2014-07-101-0/+7
| | | | | | | | | 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-101-0/+6
| | | | | | | | * 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
* * symbol.c: remove rb_gc_mark_symbols().ko12014-07-091-0/+21
| | | | | | | | | | | | | | | | | | 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
* * common.mk (DTRACE_DEPENDENT_OBJS): fix build failure on Solarisngoto2014-07-091-0/+6
| | | | | | | | 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
* symbol.c, symbol.h: split from parse.ynobu2014-07-091-0/+5
| | | | | | | * 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: change Symbol <-> ID relationship to avoidko12014-07-091-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-091-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.h: do not expose pthread type for locknormal2014-07-081-0/+5
| | | | | | | * 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-081-0/+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
* * lib/irb/ruby-lex.rb: fix counting indent in identify_string_dvar.keiju2014-07-081-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2014-07-081-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* memory_status.rb: find proper psnobu2014-07-081-0/+5
| | | | | | | * test/ruby/memory_status.rb (Memory::PSCMD): use ps command which outputs expected result. [ruby-dev:48370] [Bug #10010] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (dsymbol_alloc): set global_symbols.minor_marked to 0.ko12014-07-081-0/+10
| | | | | | | | | | | * parse.y (dsymbol_check): set RSYMBOL(sym)->fstr to 0 because we should not touch fstr after that. * parse.y (rb_gc_free_dsymbol): skip deleting str and sym from tables if fstr == 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: remove global_symbols::pinned_dsymko12014-07-071-0/+10
| | | | | | | | | | | (and ::pinned_dsym_minor_marked). Mark pinned dsymbols by rb_gc_register_mark_object() because they are immortal. * prase.y (rb_gc_free_dsymbol): rename parameter name `ptr' to `sym'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: revert miss-commit.ko12014-07-071-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: need to use updated (re-created) symbols.ko12014-07-071-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/mkconfig.rb: remove not to require rbconfig/obsolete.rb.naruse2014-07-071-0/+6
| | | | | | * lib/rbconfig/obsolete.rb: removed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: do not use rb_gc_resurrect(), but create a new dynamicko12014-07-071-0/+7
| | | | | | | | | symbol for garbage dynamic symbol. * common.mk: use gc.h by parse.y. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (fstr_update_callback): do not use rb_gc_resurrect()ko12014-07-061-0/+9
| | | | | | | | | | any more. Make new frozen string and replace with garbage frozen string. * common.mk: use gc.h from string.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: rename is_dying_object() to is_garbage_object().ko12014-07-061-0/+6
| | | | | | | | * gc.h: rb_objspace_garbage_object_p() as an exported function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (is_dying_object): fix missed condition.ko12014-07-061-0/+6
| | | | | | | | * gc.c (is_live_object): move frequent path first. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: rename is_dead_object() to is_dying_object().ko12014-07-061-0/+12
| | | | | | | | | | | | This function is not opposite against is_live_object() because is_dying_object() does *not* check object type. * gc.c (is_dying_object): change condition. * gc.c (is_live_object): use T_NONE instead of 0. * gc.c (rb_objspace_dying_object_p): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (rb_gc_register_mark_object): change data structure.ko12014-07-061-0/+8
| | | | | | | | | | From single array, to array of arrays. Each array only has 1024 entries. * vm.c (Init_vm_objects): change default capa from 1 to 128. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2014-07-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/irb/locale.rb: fix typonobu2014-07-041-0/+5
| | | | | | | * lib/irb/locale.rb (IRB::Locale#modifier): fix wrong attr_reader `modifieer` => `modifier` from irb locale. [fix GH-656] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y: rename symbols::sym_id to symbols::str_id.ko12014-07-041-0/+9
| | | | | | | | | | | This table is not {Symbol => ID} table, but {String => ID} table. * parse.y (lookup_sym_id): also rename lookup_sym_id() to lookup_str_id() because key is not Symbol, but String. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (must_be_dynamic_symbol): fix missed-condition.ko12014-07-041-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (rb_pin_dynamic_symbol): should be `static' function.ko12014-07-041-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (must_be_dynamic_symbol): refactoring.ko12014-07-041-0/+8
| | | | | | | | | | | * add `inline'. * use UNLIKELY(). * check only DYNAMIC_SYM_P(), otherwise it is a bug. * lookup_id_str() is not needed in second condition. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: fix typo [ci skip]nobu2014-07-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e