ruby-changes:34798
From: normal <ko1@a...>
Date: Sun, 20 Jul 2014 13:18:56 +0900 (JST)
Subject: [ruby-changes:34798] normal:r46881 (trunk): re_pattern_buffer: shrink from 464 to 448 bytes on 64-bit
normal 2014-07-20 13:18:49 +0900 (Sun, 20 Jul 2014) New Revision: 46881 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=46881 Log: re_pattern_buffer: shrink from 464 to 448 bytes on 64-bit * 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. Modified files: trunk/ChangeLog trunk/include/ruby/oniguruma.h Index: include/ruby/oniguruma.h =================================================================== --- include/ruby/oniguruma.h (revision 46880) +++ include/ruby/oniguruma.h (revision 46881) @@ -674,13 +674,15 @@ typedef struct re_pattern_buffer { https://github.com/ruby/ruby/blob/trunk/include/ruby/oniguruma.h#L674 unsigned int bt_mem_end; /* need backtrack flag */ int stack_pop_level; int repeat_range_alloc; + + OnigOptionType options; + OnigRepeatRange* repeat_range; OnigEncoding enc; - OnigOptionType options; const OnigSyntaxType* syntax; - OnigCaseFoldType case_fold_flag; void* name_table; + OnigCaseFoldType case_fold_flag; /* optimization info (string search, char-map and anchors) */ int optimize; /* optimize flag */ Index: ChangeLog =================================================================== --- ChangeLog (revision 46880) +++ ChangeLog (revision 46881) @@ -1,3 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Sun Jul 20 12:36:46 2014 Eric Wong <e@8...> + + * include/ruby/oniguruma.h (struct re_pattern_buffer): shrink to 448 + bytes from 464 bytes on 64-bit. This breaks the ABI. + [Feature #10034] + Sun Jul 20 01:06:06 2014 SHIBATA Hiroshi <shibata.hiroshi@g...> * ext/openssl/ossl.c: use encryptor instead of encrypter in doc. -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/