summaryrefslogtreecommitdiff
path: root/Tools/scripts/deepfreeze.py
diff options
context:
space:
mode:
authorKumar Aditya <59607654+kumaraditya303@users.noreply.github.com>2022-09-03 12:13:08 +0530
committerGitHub <noreply@github.com>2022-09-02 23:43:08 -0700
commit6dab8c95bd8db18e09619d804a938ab3e46042fc (patch)
tree5e4ade21c974782385aa48f945a66701b895e3c3 /Tools/scripts/deepfreeze.py
parent16c6759b3748f9b787b2fa4d5e652a8e08a17dee (diff)
downloadcpython-git-6dab8c95bd8db18e09619d804a938ab3e46042fc.tar.gz
GH-96458: Statically initialize utf8 representation of static strings (#96481)
Diffstat (limited to 'Tools/scripts/deepfreeze.py')
-rw-r--r--Tools/scripts/deepfreeze.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/Tools/scripts/deepfreeze.py b/Tools/scripts/deepfreeze.py
index 62eeafab08..d9c6030fc1 100644
--- a/Tools/scripts/deepfreeze.py
+++ b/Tools/scripts/deepfreeze.py
@@ -195,7 +195,6 @@ class Printer:
else:
self.write("PyCompactUnicodeObject _compact;")
self.write(f"{datatype} _data[{len(s)+1}];")
- self.deallocs.append(f"_PyStaticUnicode_Dealloc((PyObject *)&{name});")
with self.block(f"{name} =", ";"):
if ascii:
with self.block("._ascii =", ","):
@@ -218,6 +217,9 @@ class Printer:
self.write(f".kind = {kind},")
self.write(".compact = 1,")
self.write(".ascii = 0,")
+ utf8 = s.encode('utf-8')
+ self.write(f'.utf8 = {make_string_literal(utf8)},')
+ self.write(f'.utf8_length = {len(utf8)},')
with self.block(f"._data =", ","):
for i in range(0, len(s), 16):
data = s[i:i+16]