diff --git a/src/node_http2.cc b/src/node_http2.cc index a8eb0a37bf8062..610c8e8f2351ba 100755 --- a/src/node_http2.cc +++ b/src/node_http2.cc @@ -67,11 +67,12 @@ enum Http2PaddingBufferFields { }; struct http2_state { + // doubles first so that they are always sizeof(double)-aligned + double session_state_buffer[IDX_SESSION_STATE_COUNT]; + double stream_state_buffer[IDX_STREAM_STATE_COUNT]; uint32_t padding_buffer[PADDING_BUF_FIELD_COUNT]; uint32_t options_buffer[IDX_OPTIONS_FLAGS + 1]; uint32_t settings_buffer[IDX_SETTINGS_COUNT + 1]; - double session_state_buffer[IDX_SESSION_STATE_COUNT]; - double stream_state_buffer[IDX_STREAM_STATE_COUNT]; }; Freelist<nghttp2_data_chunk_t, FREELIST_MAX> diff --git a/src/node_perf_common.h b/src/node_perf_common.h index 30efcb6134b741..dc884cac97ce88 100644 --- a/src/node_perf_common.h +++ b/src/node_perf_common.h @@ -61,8 +61,9 @@ enum PerformanceEntryType { } while (0); struct performance_state { - uint32_t observers[NODE_PERFORMANCE_ENTRY_TYPE_INVALID]; + // doubles first so that they are always sizeof(double)-aligned double milestones[NODE_PERFORMANCE_MILESTONE_INVALID]; + uint32_t observers[NODE_PERFORMANCE_ENTRY_TYPE_INVALID]; }; } // namespace performance