Skip to content

Commit 2c2f400

Browse files
committed
all: align structures for 64-bit platforms for improve putting to cacheline
affected structs (decreased sizes): _phpdbg_breakbase_t 32 to 24 bytes lxb_css_property_float_t 40 to 32 bytes _phpdbg_breakop_t 40 to 32 bytes zend_hooked_object_iterator 160 to 152 bytes _phpdbg_breakcond_t 152 to 136 bytes lxb_css_selectors_pseudo_data_func_t 72 to 64 bytes _phpdbg_breaksymbol_t 32 to 24 bytes _zend_smm_shared_globals 80 to 72 bytes lxb_encoding_ctx_2022_jp_t 16 to 12 bytes _phpdbg_command_t 80 to 72 bytes lxb_css_syntax_token 104 to 96 bytes _phpdbg_breakopline_t 72 to 64 bytes cdf_directory_t 136 to 128 bytes _phpdbg_breakfile_t 40 to 32 bytes err_buf 32 to 24 bytes phpdbg_lexer_data 48 to 40 bytes Table 64 to 56 bytes _phpdbg_breakline_t 48 to 40 bytes glob_s_t 144 to 136 bytes _phpdbg_breakmethod_t 56 to 48 bytes _php_netstream_data_t 40 to 32 bytes
1 parent 1de16c7 commit 2c2f400

File tree

16 files changed

+52
-52
lines changed

16 files changed

+52
-52
lines changed

Zend/zend_property_hooks.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424

2525
typedef struct {
2626
zend_object_iterator it;
27+
zval declared_props;
2728
bool by_ref;
2829
bool declared_props_done;
29-
zval declared_props;
3030
bool dynamic_props_done;
3131
uint32_t dynamic_prop_offset;
3232
uint32_t dynamic_prop_it;

ext/dom/lexbor/lexbor/css/property.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,8 @@ typedef struct {
228228
lxb_css_property_float_reference_t;
229229

230230
typedef struct {
231-
lxb_css_float_type_t type;
232231
lxb_css_value_length_type_t length;
232+
lxb_css_float_type_t type;
233233
lxb_css_float_type_t snap_type;
234234
}
235235
lxb_css_property_float_t;

ext/dom/lexbor/lexbor/css/selectors/pseudo.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ typedef struct {
2020
lxb_char_t *name;
2121
size_t length;
2222
unsigned id;
23-
bool empty;
2423
lxb_css_selector_combinator_t combinator;
2524
const lxb_css_syntax_cb_function_t cb;
25+
bool empty;
2626
bool forgiving;
2727
bool comma;
2828
}

ext/dom/lexbor/lexbor/css/selectors/pseudo_res.h

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -67,61 +67,61 @@ static const lxb_css_selectors_pseudo_data_t lxb_css_selectors_pseudo_data_pseud
6767
static const lxb_css_selectors_pseudo_data_func_t lxb_css_selectors_pseudo_data_pseudo_class_function[LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION__LAST_ENTRY] =
6868
{
6969
{(lxb_char_t *) "#undef", 6, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION__UNDEF,
70-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
70+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
7171
{.state = lxb_css_selectors_state_pseudo_class_function__undef, .block = NULL,
72-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false},
72+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false, false},
7373
{(lxb_char_t *) "current", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_CURRENT,
74-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
74+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
7575
{.state = lxb_css_selectors_state_pseudo_class_function_current, .block = NULL,
76-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, true},
76+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false, true},
7777
{(lxb_char_t *) "dir", 3, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_DIR,
78-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
78+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
7979
{.state = lxb_css_selectors_state_pseudo_class_function_dir, .block = NULL,
80-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false},
80+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false, false},
8181
{(lxb_char_t *) "has", 3, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_HAS,
82-
false, LXB_CSS_SELECTOR_COMBINATOR_DESCENDANT,
82+
LXB_CSS_SELECTOR_COMBINATOR_DESCENDANT,
8383
{.state = lxb_css_selectors_state_pseudo_class_function_has, .block = NULL,
84-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_forgiving_relative}, true, true},
84+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_forgiving_relative}, false, true, true},
8585
{(lxb_char_t *) "is", 2, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_IS,
86-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
86+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
8787
{.state = lxb_css_selectors_state_pseudo_class_function_is, .block = NULL,
88-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_forgiving}, true, true},
88+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_forgiving}, false, true, true},
8989
{(lxb_char_t *) "lang", 4, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_LANG,
90-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
90+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
9191
{.state = lxb_css_selectors_state_pseudo_class_function_lang, .block = NULL,
92-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false},
92+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false, false},
9393
{(lxb_char_t *) "not", 3, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NOT,
94-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
94+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
9595
{.state = lxb_css_selectors_state_pseudo_class_function_not, .block = NULL,
96-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, true},
96+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false, true},
9797
{(lxb_char_t *) "nth-child", 9, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_CHILD,
98-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
98+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
9999
{.state = lxb_css_selectors_state_pseudo_class_function_nth_child, .block = NULL,
100-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, true},
100+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false, true},
101101
{(lxb_char_t *) "nth-col", 7, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_COL,
102-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
102+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
103103
{.state = lxb_css_selectors_state_pseudo_class_function_nth_col, .block = NULL,
104-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false},
104+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false, false},
105105
{(lxb_char_t *) "nth-last-child", 14, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_CHILD,
106-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
106+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
107107
{.state = lxb_css_selectors_state_pseudo_class_function_nth_last_child, .block = NULL,
108-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, true},
108+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false, true},
109109
{(lxb_char_t *) "nth-last-col", 12, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_COL,
110-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
110+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
111111
{.state = lxb_css_selectors_state_pseudo_class_function_nth_last_col, .block = NULL,
112-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false},
112+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false, false},
113113
{(lxb_char_t *) "nth-last-of-type", 16, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_LAST_OF_TYPE,
114-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
114+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
115115
{.state = lxb_css_selectors_state_pseudo_class_function_nth_last_of_type, .block = NULL,
116-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false},
116+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false, false},
117117
{(lxb_char_t *) "nth-of-type", 11, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_NTH_OF_TYPE,
118-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
118+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
119119
{.state = lxb_css_selectors_state_pseudo_class_function_nth_of_type, .block = NULL,
120-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false},
120+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false, false},
121121
{(lxb_char_t *) "where", 5, LXB_CSS_SELECTOR_PSEUDO_CLASS_FUNCTION_WHERE,
122-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
122+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
123123
{.state = lxb_css_selectors_state_pseudo_class_function_where, .block = NULL,
124-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_forgiving}, true, true}
124+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_forgiving}, false, true, true}
125125
};
126126

127127
static const lxb_css_selectors_pseudo_data_t lxb_css_selectors_pseudo_data_pseudo_element[LXB_CSS_SELECTOR_PSEUDO_ELEMENT__LAST_ENTRY] =
@@ -144,9 +144,9 @@ static const lxb_css_selectors_pseudo_data_t lxb_css_selectors_pseudo_data_pseud
144144
static const lxb_css_selectors_pseudo_data_func_t lxb_css_selectors_pseudo_data_pseudo_element_function[LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FUNCTION__LAST_ENTRY] =
145145
{
146146
{(lxb_char_t *) "#undef", 6, LXB_CSS_SELECTOR_PSEUDO_ELEMENT_FUNCTION__UNDEF,
147-
false, LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
147+
LXB_CSS_SELECTOR_COMBINATOR_CLOSE,
148148
{.state = lxb_css_selectors_state_pseudo_element_function__undef, .block = NULL,
149-
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false}
149+
.failed = lxb_css_state_failed, .end = lxb_css_selectors_state_function_end}, false, false, false}
150150
};
151151

152152
static const lexbor_shs_entry_t lxb_css_selectors_pseudo_class_shs[79] =

ext/dom/lexbor/lexbor/css/syntax/token.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ struct lxb_css_syntax_token {
190190
types;
191191

192192
lxb_css_syntax_token_type_t type;
193-
uintptr_t offset;
194193
bool cloned;
194+
uintptr_t offset;
195195
};
196196

197197

ext/dom/lexbor/lexbor/encoding/base.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,9 @@ lxb_encoding_ctx_euc_jp_t;
9494
typedef struct {
9595
lxb_char_t lead;
9696
lxb_char_t prepand;
97+
bool out_flag;
9798
unsigned state;
9899
unsigned out_state;
99-
bool out_flag;
100100
}
101101
lxb_encoding_ctx_2022_jp_t;
102102

ext/fileinfo/libmagic/cdf.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,10 @@ typedef struct {
105105
cdf_dirid_t d_storage;
106106
uint64_t d_storage_uuid[2];
107107
uint32_t d_flags;
108+
uint32_t d_size;
108109
cdf_timestamp_t d_created;
109110
cdf_timestamp_t d_modified;
110111
cdf_secid_t d_stream_first_sector;
111-
uint32_t d_size;
112112
uint32_t d_unused0;
113113
} cdf_directory_t;
114114

ext/opcache/jit/ir/dynasm/minilua.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,12 +357,12 @@ typedef struct Table{
357357
GCObject*next;lu_byte tt;lu_byte marked;
358358
lu_byte flags;
359359
lu_byte lsizenode;
360+
int sizearray;
360361
struct Table*metatable;
361362
TValue*array;
362363
Node*node;
363364
Node*lastfree;
364365
GCObject*gclist;
365-
int sizearray;
366366
}Table;
367367
#define lmod(s,size)(check_exp((size&(size-1))==0,(cast(int,(s)&((size)-1)))))
368368
#define twoto(x)((size_t)1<<(x))

ext/opcache/zend_shared_alloc.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,12 +104,12 @@ typedef struct _zend_smm_shared_globals {
104104
zend_shared_segment **shared_segments;
105105
/* Number of allocated shared segments */
106106
int shared_segments_count;
107+
/* No more shared memory flag */
108+
bool memory_exhausted;
107109
/* Amount of free shared memory */
108110
size_t shared_free;
109111
/* Amount of shared memory allocated by garbage */
110112
size_t wasted_shared_memory;
111-
/* No more shared memory flag */
112-
bool memory_exhausted;
113113
/* Saved Shared Allocator State */
114114
zend_shared_memory_state shared_memory_state;
115115
/* Pointer to the application's shared data structures */

main/php_network.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,8 +314,8 @@ END_EXTERN_C()
314314
struct _php_netstream_data_t {
315315
php_socket_t socket;
316316
char is_blocked;
317-
struct timeval timeout;
318317
char timeout_event;
318+
struct timeval timeout;
319319
size_t ownsize;
320320
};
321321
typedef struct _php_netstream_data_t php_netstream_data_t;

main/streams/glob_wrapper.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@
3636
typedef struct {
3737
glob_t glob;
3838
size_t index;
39-
int flags;
4039
char *path;
4140
size_t path_len;
4241
char *pattern;
4342
size_t pattern_len;
43+
int flags;
44+
bool open_basedir_used;
4445
size_t *open_basedir_indexmap;
4546
size_t open_basedir_indexmap_size;
46-
bool open_basedir_used;
4747
} glob_s_t;
4848

4949
PHPAPI char* _php_glob_stream_get_path(php_stream *stream, size_t *plen STREAMS_DC) /* {{{ */

sapi/phpdbg/phpdbg.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,8 +288,8 @@ ZEND_BEGIN_MODULE_GLOBALS(phpdbg)
288288
bool active;
289289
int type;
290290
int fd;
291-
char *msg;
292291
int msglen;
292+
char *msg;
293293
} err_buf; /* error buffer */
294294
zend_ulong req_id; /* "request id" to keep track of commands */
295295

sapi/phpdbg/phpdbg_bp.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ typedef struct _zend_op *phpdbg_opline_ptr_t; /* }}} */
3838

3939
/* {{{ breakpoint base structure */
4040
#define phpdbg_breakbase(name) \
41-
int id; \
4241
uint8_t type; \
43-
zend_ulong hits; \
4442
bool disabled; \
43+
int id; \
44+
zend_ulong hits; \
4545
const char *name /* }}} */
4646

4747
/* {{{ breakpoint base */
@@ -107,9 +107,9 @@ typedef struct _phpdbg_breakop_t {
107107
* Breakpoint condition based representation
108108
*/
109109
typedef struct _phpdbg_breakcond_t {
110+
bool paramed;
110111
phpdbg_breakbase(code);
111112
size_t code_len;
112-
bool paramed;
113113
phpdbg_param_t param;
114114
zend_ulong hash;
115115
zend_op_array *ops;

sapi/phpdbg/phpdbg_cmd.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@ struct _phpdbg_command_t {
9292
const char *tip; /* Menu tip */
9393
size_t tip_len; /* Menu tip length */
9494
char alias; /* Alias */
95+
bool flags; /* General flags */
9596
phpdbg_command_handler_t handler; /* Command handler */
9697
const phpdbg_command_t *subs; /* Sub Commands */
9798
char *args; /* Argument Spec */
9899
const phpdbg_command_t *parent; /* Parent Command */
99-
bool flags; /* General flags */
100100
};
101101
/* }}} */
102102

@@ -156,13 +156,13 @@ PHPDBG_API void phpdbg_param_debug(const phpdbg_param_t *param, const char *msg)
156156
#define PHPDBG_COMMAND_HANDLER(name) phpdbg_do_##name
157157

158158
#define PHPDBG_COMMAND_D_EXP(name, tip, alias, handler, children, args, parent, flags) \
159-
{PHPDBG_STRL(#name), tip, sizeof(tip)-1, alias, phpdbg_do_##handler, children, args, parent, flags}
159+
{PHPDBG_STRL(#name), tip, sizeof(tip)-1, flags, alias, phpdbg_do_##handler, children, args, parent}
160160

161161
#define PHPDBG_COMMAND_D_EX(name, tip, alias, handler, children, args, flags) \
162-
{PHPDBG_STRL(#name), tip, sizeof(tip)-1, alias, phpdbg_do_##handler, children, args, NULL, flags}
162+
{PHPDBG_STRL(#name), tip, sizeof(tip)-1, flags, alias, phpdbg_do_##handler, children, args, NULL}
163163

164164
#define PHPDBG_COMMAND_D(name, tip, alias, children, args, flags) \
165-
{PHPDBG_STRL(#name), tip, sizeof(tip)-1, alias, phpdbg_do_##name, children, args, NULL, flags}
165+
{PHPDBG_STRL(#name), tip, sizeof(tip)-1, flags, alias, phpdbg_do_##name, children, args, NULL}
166166

167167
#define PHPDBG_COMMAND(name) int phpdbg_do_##name(const phpdbg_param_t *param)
168168

sapi/phpdbg/phpdbg_help.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ ZEND_EXTERN_MODULE_GLOBALS(phpdbg)
2626

2727
/* {{{ Commands Table */
2828
#define PHPDBG_COMMAND_HELP_D(name, tip, alias, action) \
29-
{PHPDBG_STRL(#name), tip, sizeof(tip)-1, alias, action, &phpdbg_prompt_commands[16], 0, NULL, (bool) 0}
29+
{PHPDBG_STRL(#name), tip, sizeof(tip)-1, alias, (bool) 0, action, &phpdbg_prompt_commands[16], 0, NULL}
3030

3131
const phpdbg_command_t phpdbg_help_commands[] = {
3232
PHPDBG_COMMAND_HELP_D(aliases, "show alias list", 'a', phpdbg_do_help_aliases),

sapi/phpdbg/phpdbg_lexer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323

2424
typedef struct {
2525
unsigned int len;
26+
int state;
2627
unsigned char *text;
2728
unsigned char *cursor;
2829
unsigned char *marker;
2930
unsigned char *ctxmarker;
30-
int state;
3131
} phpdbg_lexer_data;
3232

3333
#define yyparse phpdbg_parse

0 commit comments

Comments
 (0)