Nuitka-winsvc 2.2.2__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 (199) hide show
  1. {Nuitka_winsvc-2.2.2.dist-info → Nuitka_winsvc-2.3.dist-info}/METADATA +1 -1
  2. {Nuitka_winsvc-2.2.2.dist-info → Nuitka_winsvc-2.3.dist-info}/RECORD +199 -198
  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 +17 -20
  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 +4 -0
  173. nuitka/plugins/standard/standard.nuitka-package.config.yml +29 -13
  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/Images.py +1 -1
  190. nuitka/utils/Importing.py +24 -0
  191. nuitka/utils/ReExecute.py +7 -3
  192. nuitka/utils/SharedLibraries.py +17 -0
  193. nuitka/utils/Yaml.py +9 -1
  194. {Nuitka_winsvc-2.2.2.data → Nuitka_winsvc-2.3.data}/scripts/nuitka-run.bat +0 -0
  195. {Nuitka_winsvc-2.2.2.data → Nuitka_winsvc-2.3.data}/scripts/nuitka.bat +0 -0
  196. {Nuitka_winsvc-2.2.2.dist-info → Nuitka_winsvc-2.3.dist-info}/LICENSE.txt +0 -0
  197. {Nuitka_winsvc-2.2.2.dist-info → Nuitka_winsvc-2.3.dist-info}/WHEEL +0 -0
  198. {Nuitka_winsvc-2.2.2.dist-info → Nuitka_winsvc-2.3.dist-info}/entry_points.txt +0 -0
  199. {Nuitka_winsvc-2.2.2.dist-info → Nuitka_winsvc-2.3.dist-info}/top_level.txt +0 -0
@@ -117,7 +117,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_OBJECT_INT(Py
117
117
  goto exit_binary_result_object;
118
118
  }
119
119
 
120
- Py_DECREF(x);
120
+ Py_DECREF_IMMORTAL(x);
121
121
  }
122
122
 
123
123
  if (slot2 != NULL) {
@@ -128,7 +128,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_OBJECT_INT(Py
128
128
  goto exit_binary_result_object;
129
129
  }
130
130
 
131
- Py_DECREF(x);
131
+ Py_DECREF_IMMORTAL(x);
132
132
  }
133
133
 
134
134
  #if PYTHON_VERSION < 0x300
@@ -328,7 +328,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_INT_OBJECT(Py
328
328
  goto exit_binary_result_object;
329
329
  }
330
330
 
331
- Py_DECREF(x);
331
+ Py_DECREF_IMMORTAL(x);
332
332
  slot2 = NULL;
333
333
  }
334
334
  }
@@ -340,7 +340,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_INT_OBJECT(Py
340
340
  goto exit_binary_result_object;
341
341
  }
342
342
 
343
- Py_DECREF(x);
343
+ Py_DECREF_IMMORTAL(x);
344
344
  }
345
345
 
346
346
  if (slot2 != NULL) {
@@ -351,7 +351,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_INT_OBJECT(Py
351
351
  goto exit_binary_result_object;
352
352
  }
353
353
 
354
- Py_DECREF(x);
354
+ Py_DECREF_IMMORTAL(x);
355
355
  }
356
356
 
357
357
  #if PYTHON_VERSION < 0x300
@@ -632,7 +632,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_OBJECT_LONG(P
632
632
  goto exit_binary_result_object;
633
633
  }
634
634
 
635
- Py_DECREF(x);
635
+ Py_DECREF_IMMORTAL(x);
636
636
  }
637
637
 
638
638
  if (slot2 != NULL) {
@@ -643,7 +643,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_OBJECT_LONG(P
643
643
  goto exit_binary_result_object;
644
644
  }
645
645
 
646
- Py_DECREF(x);
646
+ Py_DECREF_IMMORTAL(x);
647
647
  }
648
648
 
649
649
  #if PYTHON_VERSION < 0x300
@@ -859,7 +859,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_LONG_OBJECT(P
859
859
  goto exit_binary_result_object;
860
860
  }
861
861
 
862
- Py_DECREF(x);
862
+ Py_DECREF_IMMORTAL(x);
863
863
  slot2 = NULL;
864
864
  }
865
865
  }
@@ -871,7 +871,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_LONG_OBJECT(P
871
871
  goto exit_binary_result_object;
872
872
  }
873
873
 
874
- Py_DECREF(x);
874
+ Py_DECREF_IMMORTAL(x);
875
875
  }
876
876
 
877
877
  if (slot2 != NULL) {
@@ -882,7 +882,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_LONG_OBJECT(P
882
882
  goto exit_binary_result_object;
883
883
  }
884
884
 
885
- Py_DECREF(x);
885
+ Py_DECREF_IMMORTAL(x);
886
886
  }
887
887
 
888
888
  #if PYTHON_VERSION < 0x300
@@ -1144,7 +1144,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_OBJECT_FLOAT(
1144
1144
  goto exit_binary_result_object;
1145
1145
  }
1146
1146
 
1147
- Py_DECREF(x);
1147
+ Py_DECREF_IMMORTAL(x);
1148
1148
  }
1149
1149
 
1150
1150
  if (slot2 != NULL) {
@@ -1155,7 +1155,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_OBJECT_FLOAT(
1155
1155
  goto exit_binary_result_object;
1156
1156
  }
1157
1157
 
1158
- Py_DECREF(x);
1158
+ Py_DECREF_IMMORTAL(x);
1159
1159
  }
1160
1160
 
1161
1161
  #if PYTHON_VERSION < 0x300
@@ -1331,7 +1331,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_FLOAT_OBJECT(
1331
1331
  goto exit_binary_result_object;
1332
1332
  }
1333
1333
 
1334
- Py_DECREF(x);
1334
+ Py_DECREF_IMMORTAL(x);
1335
1335
  slot2 = NULL;
1336
1336
  }
1337
1337
  }
@@ -1343,7 +1343,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_FLOAT_OBJECT(
1343
1343
  goto exit_binary_result_object;
1344
1344
  }
1345
1345
 
1346
- Py_DECREF(x);
1346
+ Py_DECREF_IMMORTAL(x);
1347
1347
  }
1348
1348
 
1349
1349
  if (slot2 != NULL) {
@@ -1354,7 +1354,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_SUB_OBJECT_FLOAT_OBJECT(
1354
1354
  goto exit_binary_result_object;
1355
1355
  }
1356
1356
 
1357
- Py_DECREF(x);
1357
+ Py_DECREF_IMMORTAL(x);
1358
1358
  }
1359
1359
 
1360
1360
  #if PYTHON_VERSION < 0x300
@@ -1520,7 +1520,7 @@ static PyObject *_BINARY_OPERATION_SUB_OBJECT_FLOAT_LONG(PyObject *operand1, PyO
1520
1520
  goto exit_binary_result_object;
1521
1521
  }
1522
1522
 
1523
- Py_DECREF(x);
1523
+ Py_DECREF_IMMORTAL(x);
1524
1524
  }
1525
1525
 
1526
1526
  // Statically recognized that coercion is not possible with these types
@@ -1577,7 +1577,7 @@ static PyObject *_BINARY_OPERATION_SUB_OBJECT_LONG_FLOAT(PyObject *operand1, PyO
1577
1577
  goto exit_binary_result_object;
1578
1578
  }
1579
1579
 
1580
- Py_DECREF(x);
1580
+ Py_DECREF_IMMORTAL(x);
1581
1581
  }
1582
1582
 
1583
1583
  // Statically recognized that coercion is not possible with these types
@@ -1629,7 +1629,7 @@ static PyObject *_BINARY_OPERATION_SUB_OBJECT_FLOAT_INT(PyObject *operand1, PyOb
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
  // Statically recognized that coercion is not possible with these types
@@ -1684,7 +1684,7 @@ static PyObject *_BINARY_OPERATION_SUB_OBJECT_INT_FLOAT(PyObject *operand1, PyOb
1684
1684
  goto exit_binary_result_object;
1685
1685
  }
1686
1686
 
1687
- Py_DECREF(x);
1687
+ Py_DECREF_IMMORTAL(x);
1688
1688
  }
1689
1689
 
1690
1690
  // Statically recognized that coercion is not possible with these types
@@ -1733,7 +1733,7 @@ static PyObject *_BINARY_OPERATION_SUB_OBJECT_LONG_INT(PyObject *operand1, PyObj
1733
1733
  goto exit_binary_result_object;
1734
1734
  }
1735
1735
 
1736
- Py_DECREF(x);
1736
+ Py_DECREF_IMMORTAL(x);
1737
1737
  }
1738
1738
 
1739
1739
  // Statically recognized that coercion is not possible with these types
@@ -1788,7 +1788,7 @@ static PyObject *_BINARY_OPERATION_SUB_OBJECT_INT_LONG(PyObject *operand1, PyObj
1788
1788
  goto exit_binary_result_object;
1789
1789
  }
1790
1790
 
1791
- Py_DECREF(x);
1791
+ Py_DECREF_IMMORTAL(x);
1792
1792
  }
1793
1793
 
1794
1794
  // Statically recognized that coercion is not possible with these types
@@ -2297,7 +2297,7 @@ static PyObject *_BINARY_OPERATION_SUB_OBJECT_OBJECT_OBJECT(PyObject *operand1,
2297
2297
  goto exit_binary_result_object;
2298
2298
  }
2299
2299
 
2300
- Py_DECREF(x);
2300
+ Py_DECREF_IMMORTAL(x);
2301
2301
  slot2 = NULL;
2302
2302
  }
2303
2303
  }
@@ -2309,7 +2309,7 @@ static PyObject *_BINARY_OPERATION_SUB_OBJECT_OBJECT_OBJECT(PyObject *operand1,
2309
2309
  goto exit_binary_result_object;
2310
2310
  }
2311
2311
 
2312
- Py_DECREF(x);
2312
+ Py_DECREF_IMMORTAL(x);
2313
2313
  }
2314
2314
 
2315
2315
  if (slot2 != NULL) {
@@ -2320,7 +2320,7 @@ static PyObject *_BINARY_OPERATION_SUB_OBJECT_OBJECT_OBJECT(PyObject *operand1,
2320
2320
  goto exit_binary_result_object;
2321
2321
  }
2322
2322
 
2323
- Py_DECREF(x);
2323
+ Py_DECREF_IMMORTAL(x);
2324
2324
  }
2325
2325
 
2326
2326
  #if PYTHON_VERSION < 0x300
@@ -150,7 +150,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_OBJECT_IN
150
150
  goto exit_binary_result_object;
151
151
  }
152
152
 
153
- Py_DECREF(x);
153
+ Py_DECREF_IMMORTAL(x);
154
154
  }
155
155
 
156
156
  if (slot2 != NULL) {
@@ -161,7 +161,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_OBJECT_IN
161
161
  goto exit_binary_result_object;
162
162
  }
163
163
 
164
- Py_DECREF(x);
164
+ Py_DECREF_IMMORTAL(x);
165
165
  }
166
166
 
167
167
  #if PYTHON_VERSION < 0x300
@@ -395,7 +395,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_INT_OBJEC
395
395
  goto exit_binary_result_object;
396
396
  }
397
397
 
398
- Py_DECREF(x);
398
+ Py_DECREF_IMMORTAL(x);
399
399
  slot2 = NULL;
400
400
  }
401
401
  }
@@ -407,7 +407,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_INT_OBJEC
407
407
  goto exit_binary_result_object;
408
408
  }
409
409
 
410
- Py_DECREF(x);
410
+ Py_DECREF_IMMORTAL(x);
411
411
  }
412
412
 
413
413
  if (slot2 != NULL) {
@@ -418,7 +418,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_INT_OBJEC
418
418
  goto exit_binary_result_object;
419
419
  }
420
420
 
421
- Py_DECREF(x);
421
+ Py_DECREF_IMMORTAL(x);
422
422
  }
423
423
 
424
424
  #if PYTHON_VERSION < 0x300
@@ -693,7 +693,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_OBJECT_LO
693
693
  goto exit_binary_result_object;
694
694
  }
695
695
 
696
- Py_DECREF(x);
696
+ Py_DECREF_IMMORTAL(x);
697
697
  }
698
698
 
699
699
  if (slot2 != NULL) {
@@ -704,7 +704,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_OBJECT_LO
704
704
  goto exit_binary_result_object;
705
705
  }
706
706
 
707
- Py_DECREF(x);
707
+ Py_DECREF_IMMORTAL(x);
708
708
  }
709
709
 
710
710
  #if PYTHON_VERSION < 0x300
@@ -883,7 +883,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_LONG_OBJE
883
883
  goto exit_binary_result_object;
884
884
  }
885
885
 
886
- Py_DECREF(x);
886
+ Py_DECREF_IMMORTAL(x);
887
887
  slot2 = NULL;
888
888
  }
889
889
  }
@@ -895,7 +895,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_LONG_OBJE
895
895
  goto exit_binary_result_object;
896
896
  }
897
897
 
898
- Py_DECREF(x);
898
+ Py_DECREF_IMMORTAL(x);
899
899
  }
900
900
 
901
901
  if (slot2 != NULL) {
@@ -906,7 +906,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_LONG_OBJE
906
906
  goto exit_binary_result_object;
907
907
  }
908
908
 
909
- Py_DECREF(x);
909
+ Py_DECREF_IMMORTAL(x);
910
910
  }
911
911
 
912
912
  #if PYTHON_VERSION < 0x300
@@ -1141,7 +1141,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_OBJECT_FL
1141
1141
  goto exit_binary_result_object;
1142
1142
  }
1143
1143
 
1144
- Py_DECREF(x);
1144
+ Py_DECREF_IMMORTAL(x);
1145
1145
  }
1146
1146
 
1147
1147
  if (slot2 != NULL) {
@@ -1152,7 +1152,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_OBJECT_FL
1152
1152
  goto exit_binary_result_object;
1153
1153
  }
1154
1154
 
1155
- Py_DECREF(x);
1155
+ Py_DECREF_IMMORTAL(x);
1156
1156
  }
1157
1157
 
1158
1158
  #if PYTHON_VERSION < 0x300
@@ -1341,7 +1341,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_FLOAT_OBJ
1341
1341
  goto exit_binary_result_object;
1342
1342
  }
1343
1343
 
1344
- Py_DECREF(x);
1344
+ Py_DECREF_IMMORTAL(x);
1345
1345
  slot2 = NULL;
1346
1346
  }
1347
1347
  }
@@ -1353,7 +1353,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_FLOAT_OBJ
1353
1353
  goto exit_binary_result_object;
1354
1354
  }
1355
1355
 
1356
- Py_DECREF(x);
1356
+ Py_DECREF_IMMORTAL(x);
1357
1357
  }
1358
1358
 
1359
1359
  if (slot2 != NULL) {
@@ -1364,7 +1364,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_TRUEDIV_OBJECT_FLOAT_OBJ
1364
1364
  goto exit_binary_result_object;
1365
1365
  }
1366
1366
 
1367
- Py_DECREF(x);
1367
+ Py_DECREF_IMMORTAL(x);
1368
1368
  }
1369
1369
 
1370
1370
  #if PYTHON_VERSION < 0x300
@@ -1542,7 +1542,7 @@ static PyObject *_BINARY_OPERATION_TRUEDIV_OBJECT_FLOAT_LONG(PyObject *operand1,
1542
1542
  goto exit_binary_result_object;
1543
1543
  }
1544
1544
 
1545
- Py_DECREF(x);
1545
+ Py_DECREF_IMMORTAL(x);
1546
1546
  }
1547
1547
 
1548
1548
  // Statically recognized that coercion is not possible with these types
@@ -1599,7 +1599,7 @@ static PyObject *_BINARY_OPERATION_TRUEDIV_OBJECT_LONG_FLOAT(PyObject *operand1,
1599
1599
  goto exit_binary_result_object;
1600
1600
  }
1601
1601
 
1602
- Py_DECREF(x);
1602
+ Py_DECREF_IMMORTAL(x);
1603
1603
  }
1604
1604
 
1605
1605
  // Statically recognized that coercion is not possible with these types
@@ -1651,7 +1651,7 @@ static PyObject *_BINARY_OPERATION_TRUEDIV_OBJECT_FLOAT_INT(PyObject *operand1,
1651
1651
  goto exit_binary_result_object;
1652
1652
  }
1653
1653
 
1654
- Py_DECREF(x);
1654
+ Py_DECREF_IMMORTAL(x);
1655
1655
  }
1656
1656
 
1657
1657
  // Statically recognized that coercion is not possible with these types
@@ -1706,7 +1706,7 @@ static PyObject *_BINARY_OPERATION_TRUEDIV_OBJECT_INT_FLOAT(PyObject *operand1,
1706
1706
  goto exit_binary_result_object;
1707
1707
  }
1708
1708
 
1709
- Py_DECREF(x);
1709
+ Py_DECREF_IMMORTAL(x);
1710
1710
  }
1711
1711
 
1712
1712
  // Statically recognized that coercion is not possible with these types
@@ -1755,7 +1755,7 @@ static PyObject *_BINARY_OPERATION_TRUEDIV_OBJECT_LONG_INT(PyObject *operand1, P
1755
1755
  goto exit_binary_result_object;
1756
1756
  }
1757
1757
 
1758
- Py_DECREF(x);
1758
+ Py_DECREF_IMMORTAL(x);
1759
1759
  }
1760
1760
 
1761
1761
  // Statically recognized that coercion is not possible with these types
@@ -1810,7 +1810,7 @@ static PyObject *_BINARY_OPERATION_TRUEDIV_OBJECT_INT_LONG(PyObject *operand1, P
1810
1810
  goto exit_binary_result_object;
1811
1811
  }
1812
1812
 
1813
- Py_DECREF(x);
1813
+ Py_DECREF_IMMORTAL(x);
1814
1814
  }
1815
1815
 
1816
1816
  // Statically recognized that coercion is not possible with these types
@@ -2278,7 +2278,7 @@ static PyObject *_BINARY_OPERATION_TRUEDIV_OBJECT_OBJECT_OBJECT(PyObject *operan
2278
2278
  goto exit_binary_result_object;
2279
2279
  }
2280
2280
 
2281
- Py_DECREF(x);
2281
+ Py_DECREF_IMMORTAL(x);
2282
2282
  slot2 = NULL;
2283
2283
  }
2284
2284
  }
@@ -2290,7 +2290,7 @@ static PyObject *_BINARY_OPERATION_TRUEDIV_OBJECT_OBJECT_OBJECT(PyObject *operan
2290
2290
  goto exit_binary_result_object;
2291
2291
  }
2292
2292
 
2293
- Py_DECREF(x);
2293
+ Py_DECREF_IMMORTAL(x);
2294
2294
  }
2295
2295
 
2296
2296
  if (slot2 != NULL) {
@@ -2301,7 +2301,7 @@ static PyObject *_BINARY_OPERATION_TRUEDIV_OBJECT_OBJECT_OBJECT(PyObject *operan
2301
2301
  goto exit_binary_result_object;
2302
2302
  }
2303
2303
 
2304
- Py_DECREF(x);
2304
+ Py_DECREF_IMMORTAL(x);
2305
2305
  }
2306
2306
 
2307
2307
  #if PYTHON_VERSION < 0x300