Nuitka-winsvc 2.2.3__cp311-cp311-win_amd64.whl → 2.3__cp311-cp311-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. {Nuitka_winsvc-2.2.3.dist-info → Nuitka_winsvc-2.3.dist-info}/METADATA +1 -1
  2. {Nuitka_winsvc-2.2.3.dist-info → Nuitka_winsvc-2.3.dist-info}/RECORD +198 -197
  3. nuitka/Bytecodes.py +4 -2
  4. nuitka/HardImportRegistry.py +1 -0
  5. nuitka/MainControl.py +16 -10
  6. nuitka/ModuleRegistry.py +15 -0
  7. nuitka/OptionParsing.py +30 -8
  8. nuitka/Options.py +104 -44
  9. nuitka/PostProcessing.py +9 -8
  10. nuitka/PythonVersions.py +2 -1
  11. nuitka/Serialization.py +47 -30
  12. nuitka/Version.py +1 -1
  13. nuitka/build/Backend.scons +46 -19
  14. nuitka/build/CCompilerVersion.scons +3 -3
  15. nuitka/build/Onefile.scons +4 -4
  16. nuitka/build/SconsCaching.py +3 -2
  17. nuitka/build/SconsCompilerSettings.py +11 -5
  18. nuitka/build/SconsInterface.py +22 -6
  19. nuitka/build/SconsUtils.py +9 -1
  20. nuitka/build/include/nuitka/allocator.h +58 -2
  21. nuitka/build/include/nuitka/compiled_frame.h +48 -13
  22. nuitka/build/include/nuitka/compiled_function.h +4 -0
  23. nuitka/build/include/nuitka/constants.h +6 -0
  24. nuitka/build/include/nuitka/exception_groups.h +6 -6
  25. nuitka/build/include/nuitka/exceptions.h +3 -3
  26. nuitka/build/include/nuitka/freelists.h +11 -0
  27. nuitka/build/include/nuitka/helper/dictionaries.h +5 -4
  28. nuitka/build/include/nuitka/helper/lists.h +5 -5
  29. nuitka/build/include/nuitka/helper/lists_generated.h +12 -12
  30. nuitka/build/include/nuitka/helper/sequences.h +6 -0
  31. nuitka/build/include/nuitka/helper/slices.h +14 -8
  32. nuitka/build/include/nuitka/helper/subscripts.h +1 -184
  33. nuitka/build/include/nuitka/helper/tuples.h +42 -33
  34. nuitka/build/include/nuitka/importing.h +5 -0
  35. nuitka/build/include/nuitka/prelude.h +35 -2
  36. nuitka/build/include/nuitka/safe_string_ops.h +1 -0
  37. nuitka/build/include/nuitka/threading.h +13 -10
  38. nuitka/build/static_src/CompiledAsyncgenType.c +19 -8
  39. nuitka/build/static_src/CompiledCellType.c +1 -1
  40. nuitka/build/static_src/CompiledCodeHelpers.c +18 -16
  41. nuitka/build/static_src/CompiledCoroutineType.c +23 -19
  42. nuitka/build/static_src/CompiledFrameType.c +46 -34
  43. nuitka/build/static_src/CompiledFunctionType.c +55 -34
  44. nuitka/build/static_src/CompiledGeneratorType.c +21 -19
  45. nuitka/build/static_src/CompiledGeneratorTypeUncompiledIntegration.c +127 -130
  46. nuitka/build/static_src/CompiledMethodType.c +15 -17
  47. nuitka/build/static_src/HelpersAllocator.c +71 -0
  48. nuitka/build/static_src/HelpersAttributes.c +1 -1
  49. nuitka/build/static_src/HelpersBuiltin.c +5 -5
  50. nuitka/build/static_src/HelpersBytes.c +2 -2
  51. nuitka/build/static_src/HelpersCalling.c +3 -0
  52. nuitka/build/static_src/HelpersCallingGenerated.c +131 -131
  53. nuitka/build/static_src/HelpersComparisonEq.c +329 -329
  54. nuitka/build/static_src/HelpersComparisonEqUtils.c +3 -1
  55. nuitka/build/static_src/HelpersComparisonGe.c +322 -322
  56. nuitka/build/static_src/HelpersComparisonGt.c +321 -321
  57. nuitka/build/static_src/HelpersComparisonLe.c +322 -322
  58. nuitka/build/static_src/HelpersComparisonLt.c +321 -321
  59. nuitka/build/static_src/HelpersComparisonNe.c +329 -329
  60. nuitka/build/static_src/HelpersConsole.c +96 -0
  61. nuitka/build/static_src/HelpersConstantsBlob.c +10 -6
  62. nuitka/build/static_src/HelpersDeepcopy.c +10 -8
  63. nuitka/build/static_src/HelpersDictionaries.c +17 -11
  64. nuitka/build/static_src/HelpersDictionariesGenerated.c +65 -29
  65. nuitka/build/static_src/HelpersExceptions.c +107 -9
  66. nuitka/build/static_src/HelpersFilesystemPaths.c +64 -4
  67. nuitka/build/static_src/HelpersFloats.c +20 -14
  68. nuitka/build/static_src/HelpersImport.c +1 -1
  69. nuitka/build/static_src/HelpersJitSources.c +1 -1
  70. nuitka/build/static_src/HelpersLists.c +29 -19
  71. nuitka/build/static_src/HelpersListsGenerated.c +24 -24
  72. nuitka/build/static_src/HelpersMatching.c +32 -5
  73. nuitka/build/static_src/HelpersOperationBinaryAdd.c +90 -63
  74. nuitka/build/static_src/HelpersOperationBinaryAddUtils.c +4 -4
  75. nuitka/build/static_src/HelpersOperationBinaryBitand.c +33 -33
  76. nuitka/build/static_src/HelpersOperationBinaryBitor.c +33 -33
  77. nuitka/build/static_src/HelpersOperationBinaryBitxor.c +33 -33
  78. nuitka/build/static_src/HelpersOperationBinaryDivmod.c +24 -24
  79. nuitka/build/static_src/HelpersOperationBinaryFloordiv.c +24 -24
  80. nuitka/build/static_src/HelpersOperationBinaryLshift.c +30 -30
  81. nuitka/build/static_src/HelpersOperationBinaryMatmult.c +7 -7
  82. nuitka/build/static_src/HelpersOperationBinaryMod.c +90 -90
  83. nuitka/build/static_src/HelpersOperationBinaryMult.c +64 -58
  84. nuitka/build/static_src/HelpersOperationBinaryOlddiv.c +24 -24
  85. nuitka/build/static_src/HelpersOperationBinaryPow.c +27 -27
  86. nuitka/build/static_src/HelpersOperationBinaryRshift.c +30 -30
  87. nuitka/build/static_src/HelpersOperationBinarySub.c +24 -24
  88. nuitka/build/static_src/HelpersOperationBinaryTruediv.c +24 -24
  89. nuitka/build/static_src/HelpersOperationInplaceAdd.c +67 -49
  90. nuitka/build/static_src/HelpersOperationInplaceBitand.c +25 -25
  91. nuitka/build/static_src/HelpersOperationInplaceBitor.c +25 -25
  92. nuitka/build/static_src/HelpersOperationInplaceBitxor.c +25 -25
  93. nuitka/build/static_src/HelpersOperationInplaceFloordiv.c +28 -28
  94. nuitka/build/static_src/HelpersOperationInplaceLshift.c +18 -18
  95. nuitka/build/static_src/HelpersOperationInplaceMatmult.c +10 -10
  96. nuitka/build/static_src/HelpersOperationInplaceMod.c +70 -70
  97. nuitka/build/static_src/HelpersOperationInplaceMult.c +33 -33
  98. nuitka/build/static_src/HelpersOperationInplaceOlddiv.c +28 -28
  99. nuitka/build/static_src/HelpersOperationInplacePow.c +28 -28
  100. nuitka/build/static_src/HelpersOperationInplaceRshift.c +18 -18
  101. nuitka/build/static_src/HelpersOperationInplaceSub.c +28 -28
  102. nuitka/build/static_src/HelpersOperationInplaceTruediv.c +28 -28
  103. nuitka/build/static_src/HelpersRaising.c +10 -3
  104. nuitka/build/static_src/HelpersSafeStrings.c +14 -4
  105. nuitka/build/static_src/HelpersSlices.c +12 -5
  106. nuitka/build/static_src/HelpersStrings.c +1 -1
  107. nuitka/build/static_src/HelpersTuples.c +20 -15
  108. nuitka/build/static_src/InspectPatcher.c +74 -6
  109. nuitka/build/static_src/MainProgram.c +90 -25
  110. nuitka/build/static_src/MetaPathBasedLoader.c +81 -45
  111. nuitka/build/static_src/MetaPathBasedLoaderResourceReaderFiles.c +2 -2
  112. nuitka/build/static_src/OnefileBootstrap.c +16 -17
  113. nuitka/code_generation/CodeGeneration.py +5 -2
  114. nuitka/code_generation/ConstantCodes.py +2 -2
  115. nuitka/code_generation/DictCodes.py +2 -2
  116. nuitka/code_generation/GlobalConstants.py +5 -0
  117. nuitka/code_generation/GlobalsLocalsCodes.py +2 -2
  118. nuitka/code_generation/ListCodes.py +2 -2
  119. nuitka/code_generation/LocalsDictCodes.py +1 -1
  120. nuitka/code_generation/ModuleCodes.py +19 -0
  121. nuitka/code_generation/PackageResourceCodes.py +14 -0
  122. nuitka/code_generation/SliceCodes.py +3 -3
  123. nuitka/code_generation/SubscriptCodes.py +5 -13
  124. nuitka/code_generation/TupleCodes.py +1 -1
  125. nuitka/code_generation/c_types/CTypePyObjectPointers.py +7 -7
  126. nuitka/code_generation/templates/CodeTemplatesConstants.py +7 -5
  127. nuitka/code_generation/templates/CodeTemplatesLoader.py +2 -0
  128. nuitka/code_generation/templates/CodeTemplatesModules.py +78 -54
  129. nuitka/code_generation/templates_c/CodeTemplateCallsMixed.c.j2 +1 -1
  130. nuitka/code_generation/templates_c/CodeTemplateCallsPositional.c.j2 +8 -8
  131. nuitka/code_generation/templates_c/CodeTemplateCallsPositionalMethodDescr.c.j2 +5 -5
  132. nuitka/code_generation/templates_c/CodeTemplateMakeListHinted.c.j2 +2 -2
  133. nuitka/code_generation/templates_c/CodeTemplateMakeListSmall.c.j2 +2 -2
  134. nuitka/code_generation/templates_c/HelperDictionaryCopy.c.j2 +57 -21
  135. nuitka/code_generation/templates_c/HelperImportHard.c.j2 +1 -1
  136. nuitka/code_generation/templates_c/HelperOperationBinary.c.j2 +5 -5
  137. nuitka/code_generation/templates_c/HelperOperationComparison.c.j2 +18 -18
  138. nuitka/code_generation/templates_c/HelperOperationComparisonBytes.c.j2 +11 -11
  139. nuitka/code_generation/templates_c/HelperOperationComparisonFloat.c.j2 +3 -3
  140. nuitka/code_generation/templates_c/HelperOperationComparisonInt.c.j2 +3 -3
  141. nuitka/code_generation/templates_c/HelperOperationComparisonList.c.j2 +7 -7
  142. nuitka/code_generation/templates_c/HelperOperationComparisonLong.c.j2 +3 -3
  143. nuitka/code_generation/templates_c/HelperOperationComparisonStr.c.j2 +11 -11
  144. nuitka/code_generation/templates_c/HelperOperationComparisonTuple.c.j2 +7 -7
  145. nuitka/code_generation/templates_c/HelperOperationComparisonUnicode.c.j2 +10 -10
  146. nuitka/code_generation/templates_c/HelperOperationInplace.c.j2 +1 -1
  147. nuitka/code_generation/templates_c/HelperSlotsBinary.c.j2 +3 -3
  148. nuitka/code_generation/templates_c/HelperSlotsList.c.j2 +4 -1
  149. nuitka/code_generation/templates_c/HelperSlotsTuple.c.j2 +4 -1
  150. nuitka/finalizations/FinalizeMarkups.py +0 -18
  151. nuitka/freezer/DependsExe.py +9 -4
  152. nuitka/freezer/DllDependenciesMacOS.py +1 -1
  153. nuitka/freezer/DllDependenciesWin32.py +1 -1
  154. nuitka/freezer/ImportDetection.py +1 -0
  155. nuitka/freezer/IncludedDataFiles.py +13 -4
  156. nuitka/freezer/Onefile.py +0 -1
  157. nuitka/freezer/Standalone.py +3 -1
  158. nuitka/importing/ImportCache.py +3 -2
  159. nuitka/importing/Importing.py +16 -3
  160. nuitka/importing/StandardLibrary.py +4 -0
  161. nuitka/nodes/ChildrenHavingMixins.py +2 -0
  162. nuitka/nodes/ExpressionBasesGenerated.py +4 -0
  163. nuitka/nodes/HardImportNodesGenerated.py +83 -0
  164. nuitka/nodes/ModuleNodes.py +10 -2
  165. nuitka/nodes/OsSysNodes.py +16 -0
  166. nuitka/nodes/SubscriptNodes.py +3 -3
  167. nuitka/plugins/PluginBase.py +2 -0
  168. nuitka/plugins/standard/DataFilesPlugin.py +22 -1
  169. nuitka/plugins/standard/DillPlugin/DillPlugin.c +3 -3
  170. nuitka/plugins/standard/OptionsNannyPlugin.py +9 -41
  171. nuitka/plugins/standard/PkgResourcesPlugin.py +8 -2
  172. nuitka/plugins/standard/PySidePyQtPlugin.py +3 -0
  173. nuitka/plugins/standard/standard.nuitka-package.config.yml +18 -12
  174. nuitka/plugins/standard/stdlib2.nuitka-package.config.yml +2 -2
  175. nuitka/plugins/standard/stdlib3.nuitka-package.config.yml +2 -2
  176. nuitka/specs/HardImportSpecs.py +3 -0
  177. nuitka/specs/ParameterSpecs.py +26 -15
  178. nuitka/tools/general/find_module/FindModuleCode.py +3 -2
  179. nuitka/tools/specialize/CTypeDescriptions.py +11 -9
  180. nuitka/tools/testing/Common.py +12 -5
  181. nuitka/tools/testing/SearchModes.py +5 -1
  182. nuitka/tools/watch/GitHub.py +1 -7
  183. nuitka/tree/Building.py +9 -6
  184. nuitka/tree/ReformulationMatchStatements.py +39 -3
  185. nuitka/tree/TreeHelpers.py +8 -0
  186. nuitka/utils/CStrings.py +7 -0
  187. nuitka/utils/Execution.py +10 -1
  188. nuitka/utils/FileOperations.py +21 -13
  189. nuitka/utils/Importing.py +24 -0
  190. nuitka/utils/ReExecute.py +7 -3
  191. nuitka/utils/SharedLibraries.py +17 -0
  192. nuitka/utils/Yaml.py +9 -1
  193. {Nuitka_winsvc-2.2.3.data → Nuitka_winsvc-2.3.data}/scripts/nuitka-run.bat +0 -0
  194. {Nuitka_winsvc-2.2.3.data → Nuitka_winsvc-2.3.data}/scripts/nuitka.bat +0 -0
  195. {Nuitka_winsvc-2.2.3.dist-info → Nuitka_winsvc-2.3.dist-info}/LICENSE.txt +0 -0
  196. {Nuitka_winsvc-2.2.3.dist-info → Nuitka_winsvc-2.3.dist-info}/WHEEL +0 -0
  197. {Nuitka_winsvc-2.2.3.dist-info → Nuitka_winsvc-2.3.dist-info}/entry_points.txt +0 -0
  198. {Nuitka_winsvc-2.2.3.dist-info → Nuitka_winsvc-2.3.dist-info}/top_level.txt +0 -0
@@ -90,7 +90,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_LON
90
90
  goto exit_binary_result_object;
91
91
  }
92
92
 
93
- Py_DECREF(x);
93
+ Py_DECREF_IMMORTAL(x);
94
94
  }
95
95
 
96
96
  if (slot2 != NULL) {
@@ -101,7 +101,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_LON
101
101
  goto exit_binary_result_object;
102
102
  }
103
103
 
104
- Py_DECREF(x);
104
+ Py_DECREF_IMMORTAL(x);
105
105
  }
106
106
 
107
107
  #if PYTHON_VERSION < 0x300
@@ -279,7 +279,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_LONG_OBJEC
279
279
  goto exit_binary_result_object;
280
280
  }
281
281
 
282
- Py_DECREF(x);
282
+ Py_DECREF_IMMORTAL(x);
283
283
  slot2 = NULL;
284
284
  }
285
285
  }
@@ -291,7 +291,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_LONG_OBJEC
291
291
  goto exit_binary_result_object;
292
292
  }
293
293
 
294
- Py_DECREF(x);
294
+ Py_DECREF_IMMORTAL(x);
295
295
  }
296
296
 
297
297
  if (slot2 != NULL) {
@@ -302,7 +302,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_LONG_OBJEC
302
302
  goto exit_binary_result_object;
303
303
  }
304
304
 
305
- Py_DECREF(x);
305
+ Py_DECREF_IMMORTAL(x);
306
306
  }
307
307
 
308
308
  #if PYTHON_VERSION < 0x300
@@ -524,7 +524,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_LO
524
524
  goto exit_binary_result_object;
525
525
  }
526
526
 
527
- Py_DECREF(x);
527
+ Py_DECREF_IMMORTAL(x);
528
528
  }
529
529
 
530
530
  if (slot2 != NULL) {
@@ -535,7 +535,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_LO
535
535
  goto exit_binary_result_object;
536
536
  }
537
537
 
538
- Py_DECREF(x);
538
+ Py_DECREF_IMMORTAL(x);
539
539
  }
540
540
 
541
541
  #if PYTHON_VERSION < 0x300
@@ -722,7 +722,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_LONG_OBJE
722
722
  goto exit_binary_result_object;
723
723
  }
724
724
 
725
- Py_DECREF(x);
725
+ Py_DECREF_IMMORTAL(x);
726
726
  slot2 = NULL;
727
727
  }
728
728
  }
@@ -734,7 +734,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_LONG_OBJE
734
734
  goto exit_binary_result_object;
735
735
  }
736
736
 
737
- Py_DECREF(x);
737
+ Py_DECREF_IMMORTAL(x);
738
738
  }
739
739
 
740
740
  if (slot2 != NULL) {
@@ -745,7 +745,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_LONG_OBJE
745
745
  goto exit_binary_result_object;
746
746
  }
747
747
 
748
- Py_DECREF(x);
748
+ Py_DECREF_IMMORTAL(x);
749
749
  }
750
750
 
751
751
  #if PYTHON_VERSION < 0x300
@@ -1033,7 +1033,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_INT
1033
1033
  goto exit_binary_result_object;
1034
1034
  }
1035
1035
 
1036
- Py_DECREF(x);
1036
+ Py_DECREF_IMMORTAL(x);
1037
1037
  }
1038
1038
 
1039
1039
  if (slot2 != NULL) {
@@ -1044,7 +1044,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_INT
1044
1044
  goto exit_binary_result_object;
1045
1045
  }
1046
1046
 
1047
- Py_DECREF(x);
1047
+ Py_DECREF_IMMORTAL(x);
1048
1048
  }
1049
1049
 
1050
1050
  #if PYTHON_VERSION < 0x300
@@ -1275,7 +1275,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_INT_OBJECT
1275
1275
  goto exit_binary_result_object;
1276
1276
  }
1277
1277
 
1278
- Py_DECREF(x);
1278
+ Py_DECREF_IMMORTAL(x);
1279
1279
  slot2 = NULL;
1280
1280
  }
1281
1281
  }
@@ -1287,7 +1287,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_INT_OBJECT
1287
1287
  goto exit_binary_result_object;
1288
1288
  }
1289
1289
 
1290
- Py_DECREF(x);
1290
+ Py_DECREF_IMMORTAL(x);
1291
1291
  }
1292
1292
 
1293
1293
  if (slot2 != NULL) {
@@ -1298,7 +1298,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_LSHIFT_OBJECT_INT_OBJECT
1298
1298
  goto exit_binary_result_object;
1299
1299
  }
1300
1300
 
1301
- Py_DECREF(x);
1301
+ Py_DECREF_IMMORTAL(x);
1302
1302
  }
1303
1303
 
1304
1304
  #if PYTHON_VERSION < 0x300
@@ -1629,7 +1629,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_IN
1629
1629
  goto exit_binary_result_object;
1630
1630
  }
1631
1631
 
1632
- Py_DECREF(x);
1632
+ Py_DECREF_IMMORTAL(x);
1633
1633
  }
1634
1634
 
1635
1635
  if (slot2 != NULL) {
@@ -1640,7 +1640,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_IN
1640
1640
  goto exit_binary_result_object;
1641
1641
  }
1642
1642
 
1643
- Py_DECREF(x);
1643
+ Py_DECREF_IMMORTAL(x);
1644
1644
  }
1645
1645
 
1646
1646
  #if PYTHON_VERSION < 0x300
@@ -1879,7 +1879,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_INT_OBJEC
1879
1879
  goto exit_binary_result_object;
1880
1880
  }
1881
1881
 
1882
- Py_DECREF(x);
1882
+ Py_DECREF_IMMORTAL(x);
1883
1883
  slot2 = NULL;
1884
1884
  }
1885
1885
  }
@@ -1891,7 +1891,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_INT_OBJEC
1891
1891
  goto exit_binary_result_object;
1892
1892
  }
1893
1893
 
1894
- Py_DECREF(x);
1894
+ Py_DECREF_IMMORTAL(x);
1895
1895
  }
1896
1896
 
1897
1897
  if (slot2 != NULL) {
@@ -1902,7 +1902,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_LSHIFT_NBOOL_INT_OBJEC
1902
1902
  goto exit_binary_result_object;
1903
1903
  }
1904
1904
 
1905
- Py_DECREF(x);
1905
+ Py_DECREF_IMMORTAL(x);
1906
1906
  }
1907
1907
 
1908
1908
  #if PYTHON_VERSION < 0x300
@@ -2131,7 +2131,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_LONG_INT(PyObject *operand1, Py
2131
2131
  goto exit_binary_result_object;
2132
2132
  }
2133
2133
 
2134
- Py_DECREF(x);
2134
+ Py_DECREF_IMMORTAL(x);
2135
2135
  }
2136
2136
 
2137
2137
  // Statically recognized that coercion is not possible with these types
@@ -2186,7 +2186,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_INT_LONG(PyObject *operand1, Py
2186
2186
  goto exit_binary_result_object;
2187
2187
  }
2188
2188
 
2189
- Py_DECREF(x);
2189
+ Py_DECREF_IMMORTAL(x);
2190
2190
  }
2191
2191
 
2192
2192
  // Statically recognized that coercion is not possible with these types
@@ -2235,7 +2235,7 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_LONG_INT(PyObject *operand1, P
2235
2235
  goto exit_binary_result_object;
2236
2236
  }
2237
2237
 
2238
- Py_DECREF(x);
2238
+ Py_DECREF_IMMORTAL(x);
2239
2239
  }
2240
2240
 
2241
2241
  // Statically recognized that coercion is not possible with these types
@@ -2298,7 +2298,7 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_INT_LONG(PyObject *operand1, P
2298
2298
  goto exit_binary_result_object;
2299
2299
  }
2300
2300
 
2301
- Py_DECREF(x);
2301
+ Py_DECREF_IMMORTAL(x);
2302
2302
  }
2303
2303
 
2304
2304
  // Statically recognized that coercion is not possible with these types
@@ -2459,7 +2459,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_OBJECT(PyObject *operand
2459
2459
  goto exit_binary_result_object;
2460
2460
  }
2461
2461
 
2462
- Py_DECREF(x);
2462
+ Py_DECREF_IMMORTAL(x);
2463
2463
  slot2 = NULL;
2464
2464
  }
2465
2465
  }
@@ -2471,7 +2471,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_OBJECT(PyObject *operand
2471
2471
  goto exit_binary_result_object;
2472
2472
  }
2473
2473
 
2474
- Py_DECREF(x);
2474
+ Py_DECREF_IMMORTAL(x);
2475
2475
  }
2476
2476
 
2477
2477
  if (slot2 != NULL) {
@@ -2482,7 +2482,7 @@ static PyObject *_BINARY_OPERATION_LSHIFT_OBJECT_OBJECT_OBJECT(PyObject *operand
2482
2482
  goto exit_binary_result_object;
2483
2483
  }
2484
2484
 
2485
- Py_DECREF(x);
2485
+ Py_DECREF_IMMORTAL(x);
2486
2486
  }
2487
2487
 
2488
2488
  #if PYTHON_VERSION < 0x300
@@ -2707,7 +2707,7 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_OBJECT(PyObject *operan
2707
2707
  goto exit_binary_result_object;
2708
2708
  }
2709
2709
 
2710
- Py_DECREF(x);
2710
+ Py_DECREF_IMMORTAL(x);
2711
2711
  slot2 = NULL;
2712
2712
  }
2713
2713
  }
@@ -2719,7 +2719,7 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_OBJECT(PyObject *operan
2719
2719
  goto exit_binary_result_object;
2720
2720
  }
2721
2721
 
2722
- Py_DECREF(x);
2722
+ Py_DECREF_IMMORTAL(x);
2723
2723
  }
2724
2724
 
2725
2725
  if (slot2 != NULL) {
@@ -2730,7 +2730,7 @@ static nuitka_bool _BINARY_OPERATION_LSHIFT_NBOOL_OBJECT_OBJECT(PyObject *operan
2730
2730
  goto exit_binary_result_object;
2731
2731
  }
2732
2732
 
2733
- Py_DECREF(x);
2733
+ Py_DECREF_IMMORTAL(x);
2734
2734
  }
2735
2735
 
2736
2736
  #if PYTHON_VERSION < 0x300
@@ -75,7 +75,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_OBJECT_LONG(PyObject *operand1
75
75
  goto exit_binary_result_object;
76
76
  }
77
77
 
78
- Py_DECREF(x);
78
+ Py_DECREF_IMMORTAL(x);
79
79
  }
80
80
 
81
81
  // Statically recognized that coercion is not possible with Python3 only operator '@'
@@ -135,7 +135,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_LONG_OBJECT(PyObject *operand1
135
135
  goto exit_binary_result_object;
136
136
  }
137
137
 
138
- Py_DECREF(x);
138
+ Py_DECREF_IMMORTAL(x);
139
139
  }
140
140
 
141
141
  // Statically recognized that coercion is not possible with Python3 only operator '@'
@@ -221,7 +221,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_OBJECT_FLOAT(PyObject *operand
221
221
  goto exit_binary_result_object;
222
222
  }
223
223
 
224
- Py_DECREF(x);
224
+ Py_DECREF_IMMORTAL(x);
225
225
  }
226
226
 
227
227
  // Statically recognized that coercion is not possible with Python3 only operator '@'
@@ -277,7 +277,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_FLOAT_OBJECT(PyObject *operand
277
277
  goto exit_binary_result_object;
278
278
  }
279
279
 
280
- Py_DECREF(x);
280
+ Py_DECREF_IMMORTAL(x);
281
281
  }
282
282
 
283
283
  // Statically recognized that coercion is not possible with Python3 only operator '@'
@@ -393,7 +393,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_OBJECT_OBJECT(PyObject *operan
393
393
  goto exit_binary_result_object;
394
394
  }
395
395
 
396
- Py_DECREF(x);
396
+ Py_DECREF_IMMORTAL(x);
397
397
  slot2 = NULL;
398
398
  }
399
399
  }
@@ -405,7 +405,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_OBJECT_OBJECT(PyObject *operan
405
405
  goto exit_binary_result_object;
406
406
  }
407
407
 
408
- Py_DECREF(x);
408
+ Py_DECREF_IMMORTAL(x);
409
409
  }
410
410
 
411
411
  if (slot2 != NULL) {
@@ -416,7 +416,7 @@ static PyObject *_BINARY_OPERATION_MATMULT_OBJECT_OBJECT_OBJECT(PyObject *operan
416
416
  goto exit_binary_result_object;
417
417
  }
418
418
 
419
- Py_DECREF(x);
419
+ Py_DECREF_IMMORTAL(x);
420
420
  }
421
421
 
422
422
  // Statically recognized that coercion is not possible with Python3 only operator '@'