Currently, we only assert that allocations are pointer aligned. Since we don't want JSValues to potentially span cache lines, we need to make sure that all backing stores for storing JSValues are always 8-byte aligned.
Created attachment 128282 [details] Patch
Comment on attachment 128282 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=128282&action=review r=me > Source/JavaScriptCore/wtf/StdLibExtras.h:120 > + ASSERT(sizeof(unsigned long long) == 8); > + return !((unsigned long long)(p) & (sizeof(unsigned long long) - 1)); The best data type for the cast is uintptr_t. There's no reason to use sizeof(unsigned long long). You should just use 7 and 8, which is what your function guarantees, or sizeof(JSValue), since that's what you're worried about, or sizeof(double), which you should also be worried about.
Committed r108553: <http://trac.webkit.org/changeset/108553>