From e1f55e0441330c4ab0dc3cbb1bdc46e7816d3fa2 Mon Sep 17 00:00:00 2001 From: James Zern Date: Mon, 24 Nov 2014 19:27:07 -0800 Subject: [PATCH] vp9_reader: reorder struct members improves locality of reference Change-Id: Ia4d55bb8c98e479528d88303fa35e8c74fbf939d --- vp9/decoder/vp9_reader.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/vp9/decoder/vp9_reader.h b/vp9/decoder/vp9_reader.h index 2d9eccfbf..a68a1d592 100644 --- a/vp9/decoder/vp9_reader.h +++ b/vp9/decoder/vp9_reader.h @@ -30,14 +30,15 @@ typedef size_t BD_VALUE; #define BD_VALUE_SIZE ((int)sizeof(BD_VALUE) * CHAR_BIT) typedef struct { + // Be careful when reordering this struct, it may impact the cache negatively. + BD_VALUE value; + unsigned int range; + int count; const uint8_t *buffer_end; const uint8_t *buffer; - uint8_t clear_buffer[sizeof(BD_VALUE) + 1]; - BD_VALUE value; - int count; - unsigned int range; vpx_decrypt_cb decrypt_cb; void *decrypt_state; + uint8_t clear_buffer[sizeof(BD_VALUE) + 1]; } vp9_reader; int vp9_reader_init(vp9_reader *r,