diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-07-20 04:18:49 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-07-20 04:18:49 +0000 |
commit | f36315a519f8ca99c873946eb62b90417ffda260 (patch) | |
tree | 89cc5ca4fdd92a698a6ec95f89e348ef6cb3959d /include/ruby | |
parent | fcf080151880aad6088e6c8bf148f9c0df25925d (diff) |
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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include/ruby')
-rw-r--r-- | include/ruby/oniguruma.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/ruby/oniguruma.h b/include/ruby/oniguruma.h index 10217fdf0e..acb7365a88 100644 --- a/include/ruby/oniguruma.h +++ b/include/ruby/oniguruma.h @@ -674,13 +674,15 @@ typedef struct re_pattern_buffer { 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 */ |