Changeset 2159 for trunk/lib/buffer.hpp
- Timestamp:
- 05/24/12 20:02:28 (12 months ago)
- Files:
-
- 1 modified
-
trunk/lib/buffer.hpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/buffer.hpp
r2157 r2159 40 40 base_ptr = &aligned_##base_ptr[0];\ 41 41 42 #define ALLOC_STATIC_ALIGNED_BYTE_BUFFER_WITH_COPYBACK(copyback_ptr, base_ptr , copyback_size, buffer_size) \43 ATTRIBUTE_SIMD_ALIGN BitBlock aligned_##base_ptr[ buffer_size/sizeof(BitBlock)]; \42 #define ALLOC_STATIC_ALIGNED_BYTE_BUFFER_WITH_COPYBACK(copyback_ptr, base_ptr) \ 43 ATTRIBUTE_SIMD_ALIGN BitBlock aligned_##base_ptr[BUFFER_SIZE/sizeof(BitBlock)]; \ 44 44 assert_bitblock_align((void*)aligned_##base_ptr);\ 45 45 copyback_ptr = (uint8_t *)aligned_##base_ptr; \ 46 memset(copyback_ptr,0, copyback_size); \47 base_ptr = (uint8_t *)©back_ptr[copyback_size/BLOCK_SIZE]; \46 memset(copyback_ptr,0,COPYBACK_SIZE); \ 47 base_ptr = ©back_ptr[COPYBACK_SIZE]; \ 48 48 49 #define ALLOC_STATIC_ALIGNED_BITBLOCK_BUFFER_WITH_COPYBACK(copyback_ptr, base_ptr , copyback_size, buffer_size) \50 ATTRIBUTE_SIMD_ALIGN BitBlock aligned_##base_ptr[ buffer_size/sizeof(BitBlock)/8]; \49 #define ALLOC_STATIC_ALIGNED_BITBLOCK_BUFFER_WITH_COPYBACK(copyback_ptr, base_ptr) \ 50 ATTRIBUTE_SIMD_ALIGN BitBlock aligned_##base_ptr[BUFFER_SIZE/sizeof(BitBlock)/8]; \ 51 51 assert_bitblock_align((void*)aligned_##base_ptr);\ 52 52 copyback_ptr = (BitBlock *) aligned_##base_ptr; \ 53 memset(copyback_ptr,0, copyback_size/8); \54 base_ptr = ©back_ptr[ copyback_size/BLOCK_SIZE]; \53 memset(copyback_ptr,0,COPYBACK_SIZE/8); \ 54 base_ptr = ©back_ptr[COPYBACK_BLOCKS]; \ 55 55 56 #define COPY_BACK_BYTE_BUFFER(copyback_ptr, base_ptr , copyback_size, segment_size) \56 #define COPY_BACK_BYTE_BUFFER(copyback_ptr, base_ptr) \ 57 57 do { void * dest = copyback_ptr;\ 58 void * src = (uint8_t *)base_ptr + ( segment_size - copyback_size);\59 assert_bitblock_align(src);\60 assert_bitblock_align(dest);\61 memmove(dest, src, copyback_size);\58 void * src = (uint8_t *)base_ptr + (SEGMENT_SIZE - COPYBACK_SIZE);\ 59 assert_bitblock_align(src);\ 60 assert_bitblock_align(dest);\ 61 memmove(dest, src, COPYBACK_SIZE);\ 62 62 } while(0) 63 63 64 #define COPY_BACK_BITBLOCK_BUFFER(copyback_ptr, base_ptr , copyback_size, segment_size) \64 #define COPY_BACK_BITBLOCK_BUFFER(copyback_ptr, base_ptr) \ 65 65 do { void * dest = copyback_ptr;\ 66 void * src = (uint8_t *)base_ptr + (( segment_size - copyback_size)/8);\67 assert_bitblock_align(src);\68 assert_bitblock_align(dest);\69 memmove(dest, src, copyback_size/8);\66 void * src = (uint8_t *)base_ptr + ((SEGMENT_SIZE - COPYBACK_SIZE)/8);\ 67 assert_bitblock_align(src);\ 68 assert_bitblock_align(dest);\ 69 memmove(dest, src, COPYBACK_SIZE/8);\ 70 70 } while(0) 71 71
