Chromium Code Reviews| Index: src/IceDefs.h |
| diff --git a/src/IceDefs.h b/src/IceDefs.h |
| index 55e09acb8681ba438b6cf6ad214a5f101b62c0c3..2f945f82513d5d00793922dd4594e3de2964466a 100644 |
| --- a/src/IceDefs.h |
| +++ b/src/IceDefs.h |
| @@ -129,8 +129,14 @@ typedef uint32_t TimerIdT; |
| enum { MaxCacheLineSize = 64 }; |
| // Use ICE_CACHELINE_BOUNDARY to force the next field in a declaration |
| // list to be aligned to the next cache line. |
| +#define TOKENPASTE(x, y) x##y |
| +#define TOKENPASTE2(x, y) TOKENPASTE(x, y) |
| #define ICE_CACHELINE_BOUNDARY \ |
| - alignas(MaxCacheLineSize) struct {} |
| + void TOKENPASTE2(FakeUsage, __LINE__)() { \ |
| + (void) TOKENPASTE2(Boundary, __LINE__); \ |
| + } \ |
| + alignas(MaxCacheLineSize) struct TOKENPASTE2(FakeType, __LINE__) { \ |
| + } TOKENPASTE2(Boundary, __LINE__) |
|
JF
2015/01/28 01:28:45
You don't need the fake usage as long as you insta
Jim Stichnoth
2015/01/28 03:26:37
Done.
JF
2015/01/28 07:14:45
Richard makes a good point that you can wrap each
Jim Stichnoth
2015/01/28 15:39:18
Yeah, that is pretty nice and clear. Except is th
|
| // PNaCl is ILP32, so theoretically we should only need 32-bit offsets. |
| typedef int32_t RelocOffsetT; |