aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* struct parse_params: trivial packingnormal2014-07-251-0/+4
| | | | | | | | | * parse.y (struct parse_params): shrink to 320 to 304 bytes on 64-bit Some elements may be removed/resized as well, but not as important as reducing more-frequently allocated structures. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: add references [ci skip]normal2014-07-251-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* introduce ZALLOC{,_N} to replace ALLOC{,_N}+MEMZERO usenormal2014-07-251-0/+16
| | | | | | | | | | | | | | | | | | | | Using calloc where possible reduces code and binary sizes. * include/ruby/ruby.h (ZALLOC, ZALLOC_N): implement (Data_Make_Struct, TypedData_Make_Struct): ZALLOC replaces ALLOC+memset * compile.c (iseq_seq_sequence): ZALLOC_N replaces ALLOC_N+MEMZERO * cont.c (fiber_t_alloc): ZALLOC replaces ALLOC+MEMZERO * io.c (rb_io_reopen): ditto * iseq.c (prepare_iseq_build): ditto * parse.y (new_args_tail_gen, parser_new, ripper_s_allocate): ditto * re.c (match_alloc): ditto * variable.c (rb_const_set): ditto * ext/socket/raddrinfo.c (get_addrinfo): ditto * ext/strscan/strscan.c (strscan_s_allocate): ditto * gc.c (rb_objspace_alloc): calloc replaces malloc+MEMZERO git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* symbol.c (dsymbol_check): remove unneeded semi-colonnormal2014-07-251-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: change objspace::rgengc::parent_object_is_old (boolean)ko12014-07-251-0/+10
| | | | | | | | | | | | to objspace::rgengc::parent_object (VALUE). Use Qfalse or RVALUE pointer instead of FALSE and TRUE. * gc.c (gc_marks_body): should clear parent_object just before gc_mark_roots() because there are no parents objects for root objects. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (rb_gc_writebarrier_remember_promoted): should remember onlyko12014-07-251-0/+5
| | | | | | | | OLD objects on RGENGC_AGE2_PROMOTION. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_mark_stacked_objects): fix error message.ko12014-07-251-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: reference GitHub pull requestcharliesome2014-07-251-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (sock_gethostname): Use NI_MAXHOST to supportcharliesome2014-07-251-0/+5
| | | | | | hostnames longer than 64 characters if the system supports it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: make the receiver condition cleanernobu2014-07-251-0/+5
| | | | | | | * compile.c (defined_expr): make the condition if the receiver is explicit or implicit cleaner. [fix GH-681] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/keywords.rdoc: [DOC] Describe each keyword.drbrain2014-07-241-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (Init_win32ole): add WIN32OLE_RECORD#initializesuke2014-07-241-0/+8
| | | | | | | | | | | method. * ext/win32ole/win32ole.c (ole_val2variant): convert WIN32OLE_RECORD object to VT_RECORD variant. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: fix major GC flags.ko12014-07-241-0/+10
| | | | | | | | | | | | * add GPR_FLAG_MAJOR_BY_FORCE, which indicates major GC by METHOD, CAPI and so on (see GC_BY). * remove GPR_FLAG_MAJOR_BY_RESCAN because not used. * remove GPR_FLAG_MAJOR_BY_STRESS, use FORCE instead. * test/ruby/test_gc.rb: catch up. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/io.h (struct rb_io_buffer_t): PACKED_STRUCT should notngoto2014-07-241-0/+6
| | | | | | | | be used for platform-specific optimization. PACKED_STRUCT_UNALIGNED should be used. [ruby-core:63988] [Bug #10088] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/benchmark.rb: split executable code into sample directory.hsbt2014-07-231-0/+5
| | | | | | * sample/benchmark.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/tempfile.rb: split executable code into sample directory.hsbt2014-07-231-0/+5
| | | | | | * sample/tempfile.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/pstore.rb: split executable code into sample directory.hsbt2014-07-231-0/+5
| | | | | | * sample/pstore.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* UNALIGNED_WORD_ACCESS on ppc64nobu2014-07-231-0/+9
| | | | | | | | | | * include/ruby/defines.h, siphash.c, st.c (UNALIGNED_WORD_ACCESS): add PowerPC64 too, which is capable to access unaligned words. patched by Gustavo Frederico Temple Pedrosa in [ruby-core:63937]. [Feature #10081] * regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2014-07-221-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/drb/extserv.rb: remove duplicate code with sample direcotry.hsbt2014-07-221-0/+5
| | | | | | contributed from @vipulnsward. [fix GH-679] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: fix wrong single-byte optimizationnobu2014-07-221-0/+6
| | | | | | | | * string.c (rb_str_count): fix wrong single-byte optimization. 7bit ascii can be a trailing byte in Shift_JIS. [ruby-dev:48442] [Bug #10078] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rb_io_buffer_t: fix packing on gccnormal2014-07-211-0/+6
| | | | | | | | * include/ruby/io.h (rb_io_buffer_t): fix packing on gcc r46892 caused packing to be a no-op on gcc (4.7.2-5, Debian) [Bug #10079][ruby-core:63912] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* optparse.rb: getopts message improvementnobu2014-07-211-0/+5
| | | | | | | * lib/optparse.rb (getopts): print default values and descriptions in the help message. [fix GH-676] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rb_proc_t: reduce to 64 bytes from 72 on 64-bitnormal2014-07-201-0/+4
| | | | | | | | * vm_core.h (rb_proc_t): reduce to 64 bytes from 72 on 64-bit This allows rb_proc_t to fit inside a single cache line on x86-64 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rb_econv_t: reduce to 184 bytes from 200 on 64-bitnormal2014-07-201-0/+4
| | | | | | | | * transcode.c (rb_econv_t): reduce to 184 bytes from 200 on 64-bit This allows rb_econv_t to fit inside of three cache lines on x86-64. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rb_io_buffer_t: pack structurenormal2014-07-201-0/+7
| | | | | | | | | | | | * include/ruby/io.h (rb_io_buffer_t): pack structure Reduces rb_io_t from 200 to 192 bytes, allowing rb_io_t to occupy one less cache line. [Feature #10050] n.b. this leaves a 4-byte hole after the `cbuf' field which may be used for future expansion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rb_io_t: shrink from 216 to 200 bytes on 64-bitnormal2014-07-201-0/+7
| | | | | | | | | * include/ruby/io.h (rb_io_t): shrink to 200 bytes from 216 on 64-bit This puts us within 8 bytes of being three cache lines instead of four lines on x86-64. This breaks the ABI. [Feature #10050] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2014-07-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* re_pattern_buffer: shrink from 464 to 448 bytes on 64-bitnormal2014-07-201-0/+6
| | | | | | | | | | | * include/ruby/oniguruma.h (struct re_pattern_buffer): shrink to 448 bytes from 464 bytes on 64-bit. This breaks the ABI. [Feature #10034] Reducing struct re_pattern_buffer from 464 to 448 bytes allows it to fit into neatly into seven 64-byte cache lines on x86-64 systems. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/ossl.c: use encryptor instead of encrypter in doc.hsbt2014-07-191-0/+5
| | | | | | contributed from @vipulnsward. [fix GH-663] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: fix rdoc of append modenobu2014-07-191-0/+5
| | | | | | | * io.c (rb_io_initialize): [DOC] fix rdoc of append mode. it does not move the pointer at open. [ruby-core:63747] [Bug #10039] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: private reader in op_assignnobu2014-07-191-0/+5
| | | | | | | * compile.c (iseq_compile_each): allow to access private attribute reader in op_assign. [ruby-core:63817] [Bug #10060] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix `Time.parse` for out of range arguments with an offsetnobu2014-07-191-0/+12
| | | | | | | | | | | | * lib/time.rb (Time#apply_offset): Guards against a `nil` return value from `Time.month_days` when offsetting date. Out of range values are then caught when `Time.utc` is called (as usual). Previously a `nil` return value from `Time.month_days` would have the `<` operator called on it, and raise `NoMethodError`. [fix GH-667] * lib/rdoc/parser/changelog.rb (RDoc#parse_entries): fix dirty hack. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * refactoringsuke2014-07-181-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (folevariant_initialize): WIN32OLE_VARIANTsuke2014-07-181-0/+9
| | | | | | | | | | | does not support VT_RECORD. VT_RECORD should be supported in WIN32OLE_RECORD. * test/win32ole/test_win32ole_variant.rb (test_s_new_vt_record_exc): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r46859 and r46860nobu2014-07-181-6/+0
| | | | | | revert "enum.c: optimize any? object allocations for Array and Hash" git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (folevariant_initialize): remove unnecessarysuke2014-07-181-0/+5
| | | | | | | | code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/matrix/eigenvalue_decomposition: Style fixmarcandre2014-07-181-0/+5
| | | | | | Patch by Gogo Tanaka [#10058] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/matrix.rb: Avoid using `and`.marcandre2014-07-181-0/+5
| | | | | | Patch by gogo tanaka [#10058] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/matrix/test_matrix.rb: Add tests for Matrix class.hsbt2014-07-181-0/+5
| | | | | | [Feature #10057][ruby-core:63809] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: fix GH referencenobu2014-07-181-1/+1
| | | | | | * ChangeLog: fix Github reference in r46859. [fix GH-671] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enum.c: optimize any? object allocations for Array and Hashnobu2014-07-181-0/+6
| | | | | | | | * enum.c (enum_any): optimize object allocations for Array and Hash when `each` is not redefined, always false if empty and the case without a block. [fix GH-617] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/fileutils.rb: added missing options of FileUtils.touch by @Domon.hsbt2014-07-181-0/+5
| | | | | | [fix GH-669] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread/thread.c: non-blocking push on SizedQueuenobu2014-07-171-0/+5
| | | | | | | * ext/thread/thread.c (rb_szqueue_push): add optional parameter, non_block defaulted to false. [ruby-core:63794] [Feature #10052] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (ole_variant2val): support array ofsuke2014-07-161-0/+5
| | | | | | | | VT_RECORD variant. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h (struct rb_iseq_struct): stack_max is changed to intngoto2014-07-161-0/+8
| | | | | | | | | | 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
* * vm_core.h (struct rb_iseq_struct): temporal workaround of [Bug 10037].ngoto2014-07-161-0/+5
| | | | | | | 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
* * ext/win32ole/win32ole.c (fole_record_method_missing): callsuke2014-07-161-0/+5
| | | | | | | | 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
* revert r46834 because it does not pass testsko12014-07-161-13/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h: remove rb_vm_t::trap_list[RUBY_NSIG], but addko12014-07-161-0/+13
| | | | | | | | | | | | | 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