summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-20 04:18:49 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-20 04:18:49 +0000
commitf36315a519f8ca99c873946eb62b90417ffda260 (patch)
tree89cc5ca4fdd92a698a6ec95f89e348ef6cb3959d /include
parentfcf080151880aad6088e6c8bf148f9c0df25925d (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')
-rw-r--r--include/ruby/oniguruma.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/ruby/oniguruma.h b/include/ruby/oniguruma.h
index 10217fd..acb7365 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 */