summaryrefslogtreecommitdiff
path: root/net-libs/webkit-gtk/files/2.42.4-wasm-assert-fix.patch
blob: da54b9b9a0e2e160f4b6968c0151e9f503d9adcc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
From 509b303bf5650710bee5e151decc1a723a54657f Mon Sep 17 00:00:00 2001
From: Conrad Kostecki <conikost@gentoo.org>
Date: Tue, 2 Jan 2024 12:25:20 -0800
Subject: [PATCH] Source/JavaScriptCore/wasm/generateWasm.py: return value in
 int for memorybits

https://bugs.webkit.org/show_bug.cgi?id=266942

Reviewed by Justin Michaud.

The assert function currently checks, if power number raised to the
number fits memorybits. This seems not always work on every system,
as it happens, that the float numbers are not correctly rounded.

This patch adds an int, so its being rounded to a full number and works
on my system, where otherwise the rounding would fail. The return method
also returns the result as an int.

Example:
import math

2 ** 3
= 8

2.0 ** 3.0
= 7.999999999999999

int(2.0) ** int(3.0)
= 8

2 ** int(3.0)
= 8

Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Canonical link: https://commits.webkit.org/272577@main
---
 Source/JavaScriptCore/wasm/generateWasm.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Source/JavaScriptCore/wasm/generateWasm.py b/Source/JavaScriptCore/wasm/generateWasm.py
index 434223d346a0..7a99210b60a2 100755
--- a/Source/JavaScriptCore/wasm/generateWasm.py
+++ b/Source/JavaScriptCore/wasm/generateWasm.py
@@ -136,5 +136,5 @@ def memoryLog2Alignment(op):
         if not match:
             print(op["name"])
         memoryBits = int(match.group(2) if match.group(2) else match.group(1))
-    assert 2 ** math.log(memoryBits, 2) == memoryBits
+    assert 2 ** int(math.log(memoryBits, 2)) == memoryBits
     return str(int(math.log(memoryBits / 8, 2)))
-- 
2.43.0