Title: [288518] branches/safari-613-branch/Source/bmalloc
Revision
288518
Author
[email protected]
Date
2022-01-24 17:56:10 -0800 (Mon, 24 Jan 2022)

Log Message

Cherry-pick r288265. rdar://problem/87842725

    [libpas] Disable PAS_ASSERT on Darwin ARM64 (not in ARM64E)
    https://bugs.webkit.org/show_bug.cgi?id=235349

    Reviewed by Saam Barati.

    We have several weak devices which only have ARM64 (not ARM64E).
    And in such a weak device, PAS_ASSERT affects on performance.
    By disabling PAS_ASSERT, we got 0.5% improvement in PLT in iPhone 6S.

    * libpas/src/libpas/pas_config.h:
    * libpas/src/libpas/pas_config_prefix.h:
    * libpas/src/libpas/pas_internal_config.h:
    * libpas/src/libpas/pas_platform.h:
    * libpas/src/libpas/pas_utils.h:

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

Modified Paths

Diff

Modified: branches/safari-613-branch/Source/bmalloc/ChangeLog (288517 => 288518)


--- branches/safari-613-branch/Source/bmalloc/ChangeLog	2022-01-25 01:56:06 UTC (rev 288517)
+++ branches/safari-613-branch/Source/bmalloc/ChangeLog	2022-01-25 01:56:10 UTC (rev 288518)
@@ -1,3 +1,42 @@
+2022-01-24  Alan Coon  <[email protected]>
+
+        Cherry-pick r288265. rdar://problem/87842725
+
+    [libpas] Disable PAS_ASSERT on Darwin ARM64 (not in ARM64E)
+    https://bugs.webkit.org/show_bug.cgi?id=235349
+    
+    Reviewed by Saam Barati.
+    
+    We have several weak devices which only have ARM64 (not ARM64E).
+    And in such a weak device, PAS_ASSERT affects on performance.
+    By disabling PAS_ASSERT, we got 0.5% improvement in PLT in iPhone 6S.
+    
+    * libpas/src/libpas/pas_config.h:
+    * libpas/src/libpas/pas_config_prefix.h:
+    * libpas/src/libpas/pas_internal_config.h:
+    * libpas/src/libpas/pas_platform.h:
+    * libpas/src/libpas/pas_utils.h:
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288265 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2022-01-19  Yusuke Suzuki  <[email protected]>
+
+            [libpas] Disable PAS_ASSERT on Darwin ARM64 (not in ARM64E)
+            https://bugs.webkit.org/show_bug.cgi?id=235349
+
+            Reviewed by Saam Barati.
+
+            We have several weak devices which only have ARM64 (not ARM64E).
+            And in such a weak device, PAS_ASSERT affects on performance.
+            By disabling PAS_ASSERT, we got 0.5% improvement in PLT in iPhone 6S.
+
+            * libpas/src/libpas/pas_config.h:
+            * libpas/src/libpas/pas_config_prefix.h:
+            * libpas/src/libpas/pas_internal_config.h:
+            * libpas/src/libpas/pas_platform.h:
+            * libpas/src/libpas/pas_utils.h:
+
 2022-01-07  Alex Christensen  <[email protected]>
 
         Unreviewed, reverting r287698.

Modified: branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_config.h (288517 => 288518)


--- branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_config.h	2022-01-25 01:56:06 UTC (rev 288517)
+++ branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_config.h	2022-01-25 01:56:10 UTC (rev 288518)
@@ -38,6 +38,11 @@
 #endif
 #endif
 
+#if PAS_OS(DARWIN) && __PAS_ARM64 && !__PAS_ARM64E && defined(NDEBUG)
+#define PAS_ENABLE_ASSERT 0
+#else
+#define PAS_ENABLE_ASSERT 1
+#endif
 #define PAS_ENABLE_TESTING __PAS_ENABLE_TESTING
 
 #define PAS_ARM64 __PAS_ARM64

Modified: branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_config_prefix.h (288517 => 288518)


--- branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_config_prefix.h	2022-01-25 01:56:06 UTC (rev 288517)
+++ branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_config_prefix.h	2022-01-25 01:56:10 UTC (rev 288518)
@@ -23,6 +23,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
+#ifndef PAS_CONFIG_PREFIX_H
+#define PAS_CONFIG_PREFIX_H
+
+#include "pas_platform.h"
+
 #if defined(ENABLE_PAS_TESTING)
 #define __PAS_ENABLE_TESTING 1
 #else
@@ -54,3 +59,5 @@
 #else
 #define __PAS_RISCV 0
 #endif
+
+#endif /* PAS_CONFIG_PREFIX_H */

Modified: branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_internal_config.h (288517 => 288518)


--- branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_internal_config.h	2022-01-25 01:56:06 UTC (rev 288517)
+++ branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_internal_config.h	2022-01-25 01:56:10 UTC (rev 288518)
@@ -27,7 +27,6 @@
 #define PAS_INTERNAL_CONFIG_H
 
 #include "pas_config.h"
-#include "pas_platform.h"
 
 #define PAS_SUBPAGE_SIZE                 4096
 

Modified: branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_platform.h (288517 => 288518)


--- branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_platform.h	2022-01-25 01:56:06 UTC (rev 288517)
+++ branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_platform.h	2022-01-25 01:56:10 UTC (rev 288518)
@@ -32,6 +32,7 @@
 #include <TargetConditionals.h>
 #endif
 
+/* PAS_COMPILER() - the target compiler */
 #define PAS_COMPILER(FEATURE) (defined PAS_COMPILER_##FEATURE  && PAS_COMPILER_##FEATURE)
 
 #if defined(__clang__)

Modified: branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_utils.h (288517 => 288518)


--- branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_utils.h	2022-01-25 01:56:06 UTC (rev 288517)
+++ branches/safari-613-branch/Source/bmalloc/libpas/src/libpas/pas_utils.h	2022-01-25 01:56:10 UTC (rev 288518)
@@ -200,6 +200,8 @@
 
 #define PAS_ASSERT(exp) \
     do { \
+        if (!PAS_ENABLE_ASSERT) \
+            break; \
         if (PAS_LIKELY(exp)) \
             break; \
         pas_assertion_failed_noreturn_silencer(__FILE__, __LINE__, __PRETTY_FUNCTION__, #exp); \
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to