Title: [234975] trunk/Source/_javascript_Core
Revision
234975
Author
yusukesuz...@slowstart.org
Date
2018-08-16 20:06:40 -0700 (Thu, 16 Aug 2018)

Log Message

[JSC] alignas for RegisterState should respect alignof(RegisterState) too
https://bugs.webkit.org/show_bug.cgi?id=188686

Reviewed by Saam Barati.

RegisterState would have larger alignment than `alignof(void*)`. We use the larger alignment value
for `alignof` for RegisterState.

* heap/RegisterState.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (234974 => 234975)


--- trunk/Source/_javascript_Core/ChangeLog	2018-08-17 02:37:46 UTC (rev 234974)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-08-17 03:06:40 UTC (rev 234975)
@@ -1,3 +1,15 @@
+2018-08-16  Yusuke Suzuki  <yusukesuz...@slowstart.org>
+
+        [JSC] alignas for RegisterState should respect alignof(RegisterState) too
+        https://bugs.webkit.org/show_bug.cgi?id=188686
+
+        Reviewed by Saam Barati.
+
+        RegisterState would have larger alignment than `alignof(void*)`. We use the larger alignment value
+        for `alignof` for RegisterState.
+
+        * heap/RegisterState.h:
+
 2018-08-14  Yusuke Suzuki  <yusukesuz...@slowstart.org>
 
         [YARR] Align allocation size in BumpPointerAllocator with sizeof(void*)

Modified: trunk/Source/_javascript_Core/heap/RegisterState.h (234974 => 234975)


--- trunk/Source/_javascript_Core/heap/RegisterState.h	2018-08-17 02:37:46 UTC (rev 234974)
+++ trunk/Source/_javascript_Core/heap/RegisterState.h	2018-08-17 03:06:40 UTC (rev 234975)
@@ -164,14 +164,13 @@
 #if COMPILER(MSVC)
 #pragma warning(push)
 #pragma warning(disable: 4611)
+#endif
 #define ALLOCATE_AND_GET_REGISTER_STATE(registers) \
-    alignas(void*) RegisterState registers; \
+    alignas(std::max(alignof(void*), alignof(RegisterState))) RegisterState registers; \
     setjmp(registers)
+
+#if COMPILER(MSVC)
 #pragma warning(pop)
-#else
-#define ALLOCATE_AND_GET_REGISTER_STATE(registers) \
-    alignas(void*) RegisterState registers; \
-    setjmp(registers)
 #endif
 #endif // ALLOCATE_AND_GET_REGISTER_STATE
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to