From b452fa061d2f4e88466f9dbadc8f52425dcd2d19 Mon Sep 17 00:00:00 2001 From: Andree Buschmann Date: Sun, 8 May 2011 19:50:39 +0000 Subject: Use CACHEALIGN_SIZE in codec_malloc for optimal alignment. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29838 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/lib/codeclib.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'apps') diff --git a/apps/codecs/lib/codeclib.c b/apps/codecs/lib/codeclib.c index e672a78cc2..bb736ad887 100644 --- a/apps/codecs/lib/codeclib.c +++ b/apps/codecs/lib/codeclib.c @@ -35,6 +35,7 @@ static unsigned char* mallocbuf; int codec_init(void) { + /* codec_get_buffer() aligns the resulting point to CACHEALIGN_SIZE. */ mem_ptr = 0; mallocbuf = (unsigned char *)ci->codec_get_buffer((size_t *)&bufsize); @@ -60,7 +61,9 @@ void* codec_malloc(size_t size) return NULL; x=&mallocbuf[mem_ptr]; - mem_ptr+=(size+3)&~3; /* Keep memory 32-bit aligned */ + + /* Keep memory aligned to CACHEALIGN_SIZE. */ + mem_ptr += (size + (CACHEALIGN_SIZE-1)) & ~(CACHEALIGN_SIZE-1); return(x); } -- cgit v1.2.3