[M120 Migration][VD][V8] Increase page size bits and min semi space size for performance. 72/306272/8
authorchiragmaheshwari <c.maheshwari@samsung.com>
Mon, 19 Feb 2024 08:55:15 +0000 (14:25 +0530)
committerBot Blink <blinkbot@samsung.com>
Tue, 5 Mar 2024 13:30:57 +0000 (13:30 +0000)
This change updates kPageSizeBits and kMinSemiSpaceSizeInKB values for product tv profile for performance.

VD-CanvasMark-Pixelblur scores.
BaseCode: 28.7 kPageSizeBits = 20, kMinSemiSpaceSizeInKB = 1024K: 33.3

References:
1. https://review.tizen.org/gerrit/290956
2. https://chromium-review.googlesource.com/c/v8/v8/+/1496367
3. https://chromium-review.googlesource.com/c/v8/v8/+/1529006

[2], [3] reduces heap/page size parameters in upstream.
Though performance is improved with page size as 512K, it is increased
to 1024K to keep performance in par with earlier versions.

Change-Id: Id9cccbd678f4aa08eff4862bec12916a7ecdc86f
Signed-off-by: chiragmaheshwari <c.maheshwari@samsung.com>
v8/src/base/build_config.h
v8/src/heap/heap.cc

index 6733302..0ee2072 100644 (file)
@@ -50,7 +50,11 @@ constexpr int kReturnAddressStackSlotCount =
     V8_TARGET_ARCH_STORES_RETURN_ADDRESS_ON_STACK ? 1 : 0;
 
 // Number of bits to represent the page size for paged spaces.
-#if (defined(V8_HOST_ARCH_PPC) || defined(V8_HOST_ARCH_PPC64)) && !defined(_AIX)
+
+#if defined(OS_TIZEN_TV_PRODUCT)
+const int kPageSizeBits = 20;
+#elif (defined(V8_HOST_ARCH_PPC) || defined(V8_HOST_ARCH_PPC64)) && \
+    !defined(_AIX)
 // Native PPC linux has large (64KB) physical pages.
 // Simulator (and Aix) need to use the same value as x64.
 constexpr int kPageSizeBits = 19;
index a871dc5..ce11b27 100644 (file)
@@ -4852,8 +4852,12 @@ size_t Heap::DefaultMinSemiSpaceSize() {
   static constexpr size_t kMinSemiSpaceSize =
       kHugePageSize * kPointerMultiplier;
 #else
+#if defined(OS_TIZEN_TV_PRODUCT)
+  static constexpr size_t kMinSemiSpaceSize = 1024 * KB * kPointerMultiplier;
+#else
   static constexpr size_t kMinSemiSpaceSize = 512 * KB * kPointerMultiplier;
 #endif
+#endif
   static_assert(kMinSemiSpaceSize % (1 << kPageSizeBits) == 0);
 
   return kMinSemiSpaceSize;