Build fix for GCC 4.2. Cast via a union to avoid strict-aliasing issues.
authormrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 5 Dec 2007 22:29:05 +0000 (22:29 +0000)
committermrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 5 Dec 2007 22:29:05 +0000 (22:29 +0000)
Reviewed by Oliver.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28455 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/wtf/FastMalloc.cpp

index 9e44520..d029413 100644 (file)
@@ -1,5 +1,15 @@
 2007-12-05  Mark Rowe  <mrowe@apple.com>
 
+        Reviewed by Oliver.
+
+        Build fix for GCC 4.2. Cast via a union to avoid strict-aliasing issues.
+
+        * wtf/FastMalloc.cpp:
+        (WTF::):
+        (WTF::getPageHeap):
+
+2007-12-05  Mark Rowe  <mrowe@apple.com>
+
         Reviewed by Darin.
 
         Fix testkjs in 64-bit.
index af2e760..ed81943 100644 (file)
@@ -1835,7 +1835,18 @@ static bool phinited = false;
 
 // Avoid extra level of indirection by making "pageheap" be just an alias
 // of pageheap_memory.
-#define pageheap ((TCMalloc_PageHeap*) pageheap_memory)
+typedef union {
+    void* m_memory;
+    TCMalloc_PageHeap* m_pageHeap;
+} PageHeapUnion;
+
+static inline TCMalloc_PageHeap* getPageHeap()
+{
+    PageHeapUnion u = { &pageheap_memory[0] };
+    return u.m_pageHeap;
+}
+
+#define pageheap getPageHeap()
 
 // If TLS is available, we also store a copy
 // of the per-thread object in a __thread variable