diff options
author | Sam Gross <colesbury@gmail.com> | 2023-10-30 16:06:09 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-30 16:06:09 (GMT) |
commit | 6dfb8fe0236718e9afc8136ff2b58dcfbc182022 (patch) | |
tree | 1b5ad337bc68ebc2ff1325c0b695807c48640d30 /Tools/build | |
parent | 05f2f0ac92afa560315eb66fd6576683c7f69e2d (diff) | |
download | cpython-6dfb8fe0236718e9afc8136ff2b58dcfbc182022.zip cpython-6dfb8fe0236718e9afc8136ff2b58dcfbc182022.tar.gz cpython-6dfb8fe0236718e9afc8136ff2b58dcfbc182022.tar.bz2 |
gh-110481: Implement biased reference counting (gh-110764)
Diffstat (limited to 'Tools/build')
-rw-r--r-- | Tools/build/deepfreeze.py | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/Tools/build/deepfreeze.py b/Tools/build/deepfreeze.py index c3231a5..fed7cf3 100644 --- a/Tools/build/deepfreeze.py +++ b/Tools/build/deepfreeze.py @@ -115,6 +115,7 @@ class Printer: self.inits: list[str] = [] self.identifiers, self.strings = self.get_identifiers_and_strings() self.write('#include "Python.h"') + self.write('#include "internal/pycore_object.h"') self.write('#include "internal/pycore_gc.h"') self.write('#include "internal/pycore_code.h"') self.write('#include "internal/pycore_frame.h"') @@ -154,14 +155,10 @@ class Printer: self.write("}" + suffix) def object_head(self, typename: str) -> None: - with self.block(".ob_base =", ","): - self.write(f".ob_refcnt = _Py_IMMORTAL_REFCNT,") - self.write(f".ob_type = &{typename},") + self.write(f".ob_base = _PyObject_HEAD_INIT(&{typename}),") def object_var_head(self, typename: str, size: int) -> None: - with self.block(".ob_base =", ","): - self.object_head(typename) - self.write(f".ob_size = {size},") + self.write(f".ob_base = _PyVarObject_HEAD_INIT(&{typename}, {size}),") def field(self, obj: object, name: str) -> None: self.write(f".{name} = {getattr(obj, name)},") |