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
@@ -80,7 +80,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_OBJECT_LONG(PyObject *
80
80
  goto exit_inplace_result_object;
81
81
  }
82
82
 
83
- Py_DECREF(x);
83
+ Py_DECREF_IMMORTAL(x);
84
84
  }
85
85
 
86
86
  {
@@ -106,7 +106,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_OBJECT_LONG(PyObject *
106
106
  goto exit_inplace_result_object;
107
107
  }
108
108
 
109
- Py_DECREF(x);
109
+ Py_DECREF_IMMORTAL(x);
110
110
  }
111
111
 
112
112
  if (slot2 != NULL) {
@@ -117,7 +117,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_OBJECT_LONG(PyObject *
117
117
  goto exit_inplace_result_object;
118
118
  }
119
119
 
120
- Py_DECREF(x);
120
+ Py_DECREF_IMMORTAL(x);
121
121
  }
122
122
 
123
123
  #if PYTHON_VERSION < 0x300
@@ -311,7 +311,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_LONG_OBJECT(PyObject *
311
311
  goto exit_inplace_result_object;
312
312
  }
313
313
 
314
- Py_DECREF(x);
314
+ Py_DECREF_IMMORTAL(x);
315
315
  slot2 = NULL;
316
316
  }
317
317
  }
@@ -323,7 +323,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_LONG_OBJECT(PyObject *
323
323
  goto exit_inplace_result_object;
324
324
  }
325
325
 
326
- Py_DECREF(x);
326
+ Py_DECREF_IMMORTAL(x);
327
327
  }
328
328
 
329
329
  if (slot2 != NULL) {
@@ -334,7 +334,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_LONG_OBJECT(PyObject *
334
334
  goto exit_inplace_result_object;
335
335
  }
336
336
 
337
- Py_DECREF(x);
337
+ Py_DECREF_IMMORTAL(x);
338
338
  }
339
339
 
340
340
  #if PYTHON_VERSION < 0x300
@@ -569,7 +569,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_OBJECT_INT(PyObject **
569
569
  goto exit_inplace_result_object;
570
570
  }
571
571
 
572
- Py_DECREF(x);
572
+ Py_DECREF_IMMORTAL(x);
573
573
  }
574
574
 
575
575
  {
@@ -595,7 +595,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_OBJECT_INT(PyObject **
595
595
  goto exit_inplace_result_object;
596
596
  }
597
597
 
598
- Py_DECREF(x);
598
+ Py_DECREF_IMMORTAL(x);
599
599
  }
600
600
 
601
601
  if (slot2 != NULL) {
@@ -606,7 +606,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_OBJECT_INT(PyObject **
606
606
  goto exit_inplace_result_object;
607
607
  }
608
608
 
609
- Py_DECREF(x);
609
+ Py_DECREF_IMMORTAL(x);
610
610
  }
611
611
 
612
612
  #if PYTHON_VERSION < 0x300
@@ -805,7 +805,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_INT_OBJECT(PyObject **
805
805
  goto exit_inplace_result_object;
806
806
  }
807
807
 
808
- Py_DECREF(x);
808
+ Py_DECREF_IMMORTAL(x);
809
809
  slot2 = NULL;
810
810
  }
811
811
  }
@@ -817,7 +817,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_INT_OBJECT(PyObject **
817
817
  goto exit_inplace_result_object;
818
818
  }
819
819
 
820
- Py_DECREF(x);
820
+ Py_DECREF_IMMORTAL(x);
821
821
  }
822
822
 
823
823
  if (slot2 != NULL) {
@@ -828,7 +828,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_INT_OBJECT(PyObject **
828
828
  goto exit_inplace_result_object;
829
829
  }
830
830
 
831
- Py_DECREF(x);
831
+ Py_DECREF_IMMORTAL(x);
832
832
  }
833
833
 
834
834
  #if PYTHON_VERSION < 0x300
@@ -1071,7 +1071,7 @@ static inline bool _INPLACE_OPERATION_BITOR_LONG_INT(PyObject **operand1, PyObje
1071
1071
  goto exit_inplace_result_object;
1072
1072
  }
1073
1073
 
1074
- Py_DECREF(x);
1074
+ Py_DECREF_IMMORTAL(x);
1075
1075
  }
1076
1076
 
1077
1077
  // Statically recognized that coercion is not possible with these types
@@ -1143,7 +1143,7 @@ static inline bool _INPLACE_OPERATION_BITOR_INT_LONG(PyObject **operand1, PyObje
1143
1143
  goto exit_inplace_result_object;
1144
1144
  }
1145
1145
 
1146
- Py_DECREF(x);
1146
+ Py_DECREF_IMMORTAL(x);
1147
1147
  }
1148
1148
 
1149
1149
  // Statically recognized that coercion is not possible with these types
@@ -1240,7 +1240,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_OBJECT_SET(PyObject **
1240
1240
  goto exit_inplace_result_object;
1241
1241
  }
1242
1242
 
1243
- Py_DECREF(x);
1243
+ Py_DECREF_IMMORTAL(x);
1244
1244
  }
1245
1245
 
1246
1246
  {
@@ -1266,7 +1266,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_OBJECT_SET(PyObject **
1266
1266
  goto exit_inplace_result_object;
1267
1267
  }
1268
1268
 
1269
- Py_DECREF(x);
1269
+ Py_DECREF_IMMORTAL(x);
1270
1270
  }
1271
1271
 
1272
1272
  if (slot2 != NULL) {
@@ -1277,7 +1277,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_OBJECT_SET(PyObject **
1277
1277
  goto exit_inplace_result_object;
1278
1278
  }
1279
1279
 
1280
- Py_DECREF(x);
1280
+ Py_DECREF_IMMORTAL(x);
1281
1281
  }
1282
1282
 
1283
1283
  #if PYTHON_VERSION < 0x300
@@ -1411,7 +1411,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_SET_OBJECT(PyObject **
1411
1411
  goto exit_inplace_result_object;
1412
1412
  }
1413
1413
 
1414
- Py_DECREF(x);
1414
+ Py_DECREF_IMMORTAL(x);
1415
1415
  }
1416
1416
 
1417
1417
  {
@@ -1438,7 +1438,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_SET_OBJECT(PyObject **
1438
1438
  goto exit_inplace_result_object;
1439
1439
  }
1440
1440
 
1441
- Py_DECREF(x);
1441
+ Py_DECREF_IMMORTAL(x);
1442
1442
  slot2 = NULL;
1443
1443
  }
1444
1444
  }
@@ -1450,7 +1450,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_SET_OBJECT(PyObject **
1450
1450
  goto exit_inplace_result_object;
1451
1451
  }
1452
1452
 
1453
- Py_DECREF(x);
1453
+ Py_DECREF_IMMORTAL(x);
1454
1454
  }
1455
1455
 
1456
1456
  if (slot2 != NULL) {
@@ -1461,7 +1461,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITOR_SET_OBJECT(PyObject **
1461
1461
  goto exit_inplace_result_object;
1462
1462
  }
1463
1463
 
1464
- Py_DECREF(x);
1464
+ Py_DECREF_IMMORTAL(x);
1465
1465
  }
1466
1466
 
1467
1467
  #if PYTHON_VERSION < 0x300
@@ -1654,7 +1654,7 @@ static inline bool _INPLACE_OPERATION_BITOR_OBJECT_OBJECT(PyObject **operand1, P
1654
1654
  goto exit_inplace_result_object;
1655
1655
  }
1656
1656
 
1657
- Py_DECREF(x);
1657
+ Py_DECREF_IMMORTAL(x);
1658
1658
  }
1659
1659
 
1660
1660
  {
@@ -1682,7 +1682,7 @@ static inline bool _INPLACE_OPERATION_BITOR_OBJECT_OBJECT(PyObject **operand1, P
1682
1682
  goto exit_inplace_result_object;
1683
1683
  }
1684
1684
 
1685
- Py_DECREF(x);
1685
+ Py_DECREF_IMMORTAL(x);
1686
1686
  slot2 = NULL;
1687
1687
  }
1688
1688
  }
@@ -1694,7 +1694,7 @@ static inline bool _INPLACE_OPERATION_BITOR_OBJECT_OBJECT(PyObject **operand1, P
1694
1694
  goto exit_inplace_result_object;
1695
1695
  }
1696
1696
 
1697
- Py_DECREF(x);
1697
+ Py_DECREF_IMMORTAL(x);
1698
1698
  }
1699
1699
 
1700
1700
  if (slot2 != NULL) {
@@ -1705,7 +1705,7 @@ static inline bool _INPLACE_OPERATION_BITOR_OBJECT_OBJECT(PyObject **operand1, P
1705
1705
  goto exit_inplace_result_object;
1706
1706
  }
1707
1707
 
1708
- Py_DECREF(x);
1708
+ Py_DECREF_IMMORTAL(x);
1709
1709
  }
1710
1710
 
1711
1711
  #if PYTHON_VERSION < 0x300
@@ -80,7 +80,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_OBJECT_LONG(PyObject
80
80
  goto exit_inplace_result_object;
81
81
  }
82
82
 
83
- Py_DECREF(x);
83
+ Py_DECREF_IMMORTAL(x);
84
84
  }
85
85
 
86
86
  {
@@ -106,7 +106,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_OBJECT_LONG(PyObject
106
106
  goto exit_inplace_result_object;
107
107
  }
108
108
 
109
- Py_DECREF(x);
109
+ Py_DECREF_IMMORTAL(x);
110
110
  }
111
111
 
112
112
  if (slot2 != NULL) {
@@ -117,7 +117,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_OBJECT_LONG(PyObject
117
117
  goto exit_inplace_result_object;
118
118
  }
119
119
 
120
- Py_DECREF(x);
120
+ Py_DECREF_IMMORTAL(x);
121
121
  }
122
122
 
123
123
  #if PYTHON_VERSION < 0x300
@@ -311,7 +311,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_LONG_OBJECT(PyObject
311
311
  goto exit_inplace_result_object;
312
312
  }
313
313
 
314
- Py_DECREF(x);
314
+ Py_DECREF_IMMORTAL(x);
315
315
  slot2 = NULL;
316
316
  }
317
317
  }
@@ -323,7 +323,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_LONG_OBJECT(PyObject
323
323
  goto exit_inplace_result_object;
324
324
  }
325
325
 
326
- Py_DECREF(x);
326
+ Py_DECREF_IMMORTAL(x);
327
327
  }
328
328
 
329
329
  if (slot2 != NULL) {
@@ -334,7 +334,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_LONG_OBJECT(PyObject
334
334
  goto exit_inplace_result_object;
335
335
  }
336
336
 
337
- Py_DECREF(x);
337
+ Py_DECREF_IMMORTAL(x);
338
338
  }
339
339
 
340
340
  #if PYTHON_VERSION < 0x300
@@ -569,7 +569,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_OBJECT_INT(PyObject *
569
569
  goto exit_inplace_result_object;
570
570
  }
571
571
 
572
- Py_DECREF(x);
572
+ Py_DECREF_IMMORTAL(x);
573
573
  }
574
574
 
575
575
  {
@@ -595,7 +595,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_OBJECT_INT(PyObject *
595
595
  goto exit_inplace_result_object;
596
596
  }
597
597
 
598
- Py_DECREF(x);
598
+ Py_DECREF_IMMORTAL(x);
599
599
  }
600
600
 
601
601
  if (slot2 != NULL) {
@@ -606,7 +606,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_OBJECT_INT(PyObject *
606
606
  goto exit_inplace_result_object;
607
607
  }
608
608
 
609
- Py_DECREF(x);
609
+ Py_DECREF_IMMORTAL(x);
610
610
  }
611
611
 
612
612
  #if PYTHON_VERSION < 0x300
@@ -805,7 +805,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_INT_OBJECT(PyObject *
805
805
  goto exit_inplace_result_object;
806
806
  }
807
807
 
808
- Py_DECREF(x);
808
+ Py_DECREF_IMMORTAL(x);
809
809
  slot2 = NULL;
810
810
  }
811
811
  }
@@ -817,7 +817,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_INT_OBJECT(PyObject *
817
817
  goto exit_inplace_result_object;
818
818
  }
819
819
 
820
- Py_DECREF(x);
820
+ Py_DECREF_IMMORTAL(x);
821
821
  }
822
822
 
823
823
  if (slot2 != NULL) {
@@ -828,7 +828,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_INT_OBJECT(PyObject *
828
828
  goto exit_inplace_result_object;
829
829
  }
830
830
 
831
- Py_DECREF(x);
831
+ Py_DECREF_IMMORTAL(x);
832
832
  }
833
833
 
834
834
  #if PYTHON_VERSION < 0x300
@@ -1071,7 +1071,7 @@ static inline bool _INPLACE_OPERATION_BITXOR_LONG_INT(PyObject **operand1, PyObj
1071
1071
  goto exit_inplace_result_object;
1072
1072
  }
1073
1073
 
1074
- Py_DECREF(x);
1074
+ Py_DECREF_IMMORTAL(x);
1075
1075
  }
1076
1076
 
1077
1077
  // Statically recognized that coercion is not possible with these types
@@ -1143,7 +1143,7 @@ static inline bool _INPLACE_OPERATION_BITXOR_INT_LONG(PyObject **operand1, PyObj
1143
1143
  goto exit_inplace_result_object;
1144
1144
  }
1145
1145
 
1146
- Py_DECREF(x);
1146
+ Py_DECREF_IMMORTAL(x);
1147
1147
  }
1148
1148
 
1149
1149
  // Statically recognized that coercion is not possible with these types
@@ -1240,7 +1240,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_OBJECT_SET(PyObject *
1240
1240
  goto exit_inplace_result_object;
1241
1241
  }
1242
1242
 
1243
- Py_DECREF(x);
1243
+ Py_DECREF_IMMORTAL(x);
1244
1244
  }
1245
1245
 
1246
1246
  {
@@ -1266,7 +1266,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_OBJECT_SET(PyObject *
1266
1266
  goto exit_inplace_result_object;
1267
1267
  }
1268
1268
 
1269
- Py_DECREF(x);
1269
+ Py_DECREF_IMMORTAL(x);
1270
1270
  }
1271
1271
 
1272
1272
  if (slot2 != NULL) {
@@ -1277,7 +1277,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_OBJECT_SET(PyObject *
1277
1277
  goto exit_inplace_result_object;
1278
1278
  }
1279
1279
 
1280
- Py_DECREF(x);
1280
+ Py_DECREF_IMMORTAL(x);
1281
1281
  }
1282
1282
 
1283
1283
  #if PYTHON_VERSION < 0x300
@@ -1411,7 +1411,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_SET_OBJECT(PyObject *
1411
1411
  goto exit_inplace_result_object;
1412
1412
  }
1413
1413
 
1414
- Py_DECREF(x);
1414
+ Py_DECREF_IMMORTAL(x);
1415
1415
  }
1416
1416
 
1417
1417
  {
@@ -1438,7 +1438,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_SET_OBJECT(PyObject *
1438
1438
  goto exit_inplace_result_object;
1439
1439
  }
1440
1440
 
1441
- Py_DECREF(x);
1441
+ Py_DECREF_IMMORTAL(x);
1442
1442
  slot2 = NULL;
1443
1443
  }
1444
1444
  }
@@ -1450,7 +1450,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_SET_OBJECT(PyObject *
1450
1450
  goto exit_inplace_result_object;
1451
1451
  }
1452
1452
 
1453
- Py_DECREF(x);
1453
+ Py_DECREF_IMMORTAL(x);
1454
1454
  }
1455
1455
 
1456
1456
  if (slot2 != NULL) {
@@ -1461,7 +1461,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_BITXOR_SET_OBJECT(PyObject *
1461
1461
  goto exit_inplace_result_object;
1462
1462
  }
1463
1463
 
1464
- Py_DECREF(x);
1464
+ Py_DECREF_IMMORTAL(x);
1465
1465
  }
1466
1466
 
1467
1467
  #if PYTHON_VERSION < 0x300
@@ -1654,7 +1654,7 @@ static inline bool _INPLACE_OPERATION_BITXOR_OBJECT_OBJECT(PyObject **operand1,
1654
1654
  goto exit_inplace_result_object;
1655
1655
  }
1656
1656
 
1657
- Py_DECREF(x);
1657
+ Py_DECREF_IMMORTAL(x);
1658
1658
  }
1659
1659
 
1660
1660
  {
@@ -1682,7 +1682,7 @@ static inline bool _INPLACE_OPERATION_BITXOR_OBJECT_OBJECT(PyObject **operand1,
1682
1682
  goto exit_inplace_result_object;
1683
1683
  }
1684
1684
 
1685
- Py_DECREF(x);
1685
+ Py_DECREF_IMMORTAL(x);
1686
1686
  slot2 = NULL;
1687
1687
  }
1688
1688
  }
@@ -1694,7 +1694,7 @@ static inline bool _INPLACE_OPERATION_BITXOR_OBJECT_OBJECT(PyObject **operand1,
1694
1694
  goto exit_inplace_result_object;
1695
1695
  }
1696
1696
 
1697
- Py_DECREF(x);
1697
+ Py_DECREF_IMMORTAL(x);
1698
1698
  }
1699
1699
 
1700
1700
  if (slot2 != NULL) {
@@ -1705,7 +1705,7 @@ static inline bool _INPLACE_OPERATION_BITXOR_OBJECT_OBJECT(PyObject **operand1,
1705
1705
  goto exit_inplace_result_object;
1706
1706
  }
1707
1707
 
1708
- Py_DECREF(x);
1708
+ Py_DECREF_IMMORTAL(x);
1709
1709
  }
1710
1710
 
1711
1711
  #if PYTHON_VERSION < 0x300
@@ -135,7 +135,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_OBJECT_INT(PyObject
135
135
  goto exit_inplace_result_object;
136
136
  }
137
137
 
138
- Py_DECREF(x);
138
+ Py_DECREF_IMMORTAL(x);
139
139
  }
140
140
 
141
141
  {
@@ -161,7 +161,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_OBJECT_INT(PyObject
161
161
  goto exit_inplace_result_object;
162
162
  }
163
163
 
164
- Py_DECREF(x);
164
+ Py_DECREF_IMMORTAL(x);
165
165
  }
166
166
 
167
167
  if (slot2 != NULL) {
@@ -172,7 +172,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_OBJECT_INT(PyObject
172
172
  goto exit_inplace_result_object;
173
173
  }
174
174
 
175
- Py_DECREF(x);
175
+ Py_DECREF_IMMORTAL(x);
176
176
  }
177
177
 
178
178
  #if PYTHON_VERSION < 0x300
@@ -416,7 +416,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_INT_OBJECT(PyObject
416
416
  goto exit_inplace_result_object;
417
417
  }
418
418
 
419
- Py_DECREF(x);
419
+ Py_DECREF_IMMORTAL(x);
420
420
  slot2 = NULL;
421
421
  }
422
422
  }
@@ -428,7 +428,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_INT_OBJECT(PyObject
428
428
  goto exit_inplace_result_object;
429
429
  }
430
430
 
431
- Py_DECREF(x);
431
+ Py_DECREF_IMMORTAL(x);
432
432
  }
433
433
 
434
434
  if (slot2 != NULL) {
@@ -439,7 +439,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_INT_OBJECT(PyObject
439
439
  goto exit_inplace_result_object;
440
440
  }
441
441
 
442
- Py_DECREF(x);
442
+ Py_DECREF_IMMORTAL(x);
443
443
  }
444
444
 
445
445
  #if PYTHON_VERSION < 0x300
@@ -713,7 +713,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_OBJECT_LONG(PyObjec
713
713
  goto exit_inplace_result_object;
714
714
  }
715
715
 
716
- Py_DECREF(x);
716
+ Py_DECREF_IMMORTAL(x);
717
717
  }
718
718
 
719
719
  {
@@ -739,7 +739,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_OBJECT_LONG(PyObjec
739
739
  goto exit_inplace_result_object;
740
740
  }
741
741
 
742
- Py_DECREF(x);
742
+ Py_DECREF_IMMORTAL(x);
743
743
  }
744
744
 
745
745
  if (slot2 != NULL) {
@@ -750,7 +750,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_OBJECT_LONG(PyObjec
750
750
  goto exit_inplace_result_object;
751
751
  }
752
752
 
753
- Py_DECREF(x);
753
+ Py_DECREF_IMMORTAL(x);
754
754
  }
755
755
 
756
756
  #if PYTHON_VERSION < 0x300
@@ -945,7 +945,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_LONG_OBJECT(PyObjec
945
945
  goto exit_inplace_result_object;
946
946
  }
947
947
 
948
- Py_DECREF(x);
948
+ Py_DECREF_IMMORTAL(x);
949
949
  slot2 = NULL;
950
950
  }
951
951
  }
@@ -957,7 +957,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_LONG_OBJECT(PyObjec
957
957
  goto exit_inplace_result_object;
958
958
  }
959
959
 
960
- Py_DECREF(x);
960
+ Py_DECREF_IMMORTAL(x);
961
961
  }
962
962
 
963
963
  if (slot2 != NULL) {
@@ -968,7 +968,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_LONG_OBJECT(PyObjec
968
968
  goto exit_inplace_result_object;
969
969
  }
970
970
 
971
- Py_DECREF(x);
971
+ Py_DECREF_IMMORTAL(x);
972
972
  }
973
973
 
974
974
  #if PYTHON_VERSION < 0x300
@@ -1230,7 +1230,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_OBJECT_FLOAT(PyObje
1230
1230
  goto exit_inplace_result_object;
1231
1231
  }
1232
1232
 
1233
- Py_DECREF(x);
1233
+ Py_DECREF_IMMORTAL(x);
1234
1234
  }
1235
1235
 
1236
1236
  {
@@ -1256,7 +1256,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_OBJECT_FLOAT(PyObje
1256
1256
  goto exit_inplace_result_object;
1257
1257
  }
1258
1258
 
1259
- Py_DECREF(x);
1259
+ Py_DECREF_IMMORTAL(x);
1260
1260
  }
1261
1261
 
1262
1262
  if (slot2 != NULL) {
@@ -1267,7 +1267,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_OBJECT_FLOAT(PyObje
1267
1267
  goto exit_inplace_result_object;
1268
1268
  }
1269
1269
 
1270
- Py_DECREF(x);
1270
+ Py_DECREF_IMMORTAL(x);
1271
1271
  }
1272
1272
 
1273
1273
  #if PYTHON_VERSION < 0x300
@@ -1494,7 +1494,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_FLOAT_OBJECT(PyObje
1494
1494
  goto exit_inplace_result_object;
1495
1495
  }
1496
1496
 
1497
- Py_DECREF(x);
1497
+ Py_DECREF_IMMORTAL(x);
1498
1498
  slot2 = NULL;
1499
1499
  }
1500
1500
  }
@@ -1506,7 +1506,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_FLOAT_OBJECT(PyObje
1506
1506
  goto exit_inplace_result_object;
1507
1507
  }
1508
1508
 
1509
- Py_DECREF(x);
1509
+ Py_DECREF_IMMORTAL(x);
1510
1510
  }
1511
1511
 
1512
1512
  if (slot2 != NULL) {
@@ -1517,7 +1517,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_FLOORDIV_FLOAT_OBJECT(PyObje
1517
1517
  goto exit_inplace_result_object;
1518
1518
  }
1519
1519
 
1520
- Py_DECREF(x);
1520
+ Py_DECREF_IMMORTAL(x);
1521
1521
  }
1522
1522
 
1523
1523
  #if PYTHON_VERSION < 0x300
@@ -1736,7 +1736,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_FLOAT_LONG(PyObject **operand1, P
1736
1736
  goto exit_inplace_result_object;
1737
1737
  }
1738
1738
 
1739
- Py_DECREF(x);
1739
+ Py_DECREF_IMMORTAL(x);
1740
1740
  }
1741
1741
 
1742
1742
  // Statically recognized that coercion is not possible with these types
@@ -1810,7 +1810,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_LONG_FLOAT(PyObject **operand1, P
1810
1810
  goto exit_inplace_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
@@ -1879,7 +1879,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_FLOAT_INT(PyObject **operand1, Py
1879
1879
  goto exit_inplace_result_object;
1880
1880
  }
1881
1881
 
1882
- Py_DECREF(x);
1882
+ Py_DECREF_IMMORTAL(x);
1883
1883
  }
1884
1884
 
1885
1885
  // Statically recognized that coercion is not possible with these types
@@ -1951,7 +1951,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_INT_FLOAT(PyObject **operand1, Py
1951
1951
  goto exit_inplace_result_object;
1952
1952
  }
1953
1953
 
1954
- Py_DECREF(x);
1954
+ Py_DECREF_IMMORTAL(x);
1955
1955
  }
1956
1956
 
1957
1957
  // Statically recognized that coercion is not possible with these types
@@ -2017,7 +2017,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_LONG_INT(PyObject **operand1, PyO
2017
2017
  goto exit_inplace_result_object;
2018
2018
  }
2019
2019
 
2020
- Py_DECREF(x);
2020
+ Py_DECREF_IMMORTAL(x);
2021
2021
  }
2022
2022
 
2023
2023
  // Statically recognized that coercion is not possible with these types
@@ -2089,7 +2089,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_INT_LONG(PyObject **operand1, PyO
2089
2089
  goto exit_inplace_result_object;
2090
2090
  }
2091
2091
 
2092
- Py_DECREF(x);
2092
+ Py_DECREF_IMMORTAL(x);
2093
2093
  }
2094
2094
 
2095
2095
  // Statically recognized that coercion is not possible with these types
@@ -2427,7 +2427,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_OBJECT_OBJECT(PyObject **operand1
2427
2427
  goto exit_inplace_result_object;
2428
2428
  }
2429
2429
 
2430
- Py_DECREF(x);
2430
+ Py_DECREF_IMMORTAL(x);
2431
2431
  }
2432
2432
 
2433
2433
  {
@@ -2456,7 +2456,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_OBJECT_OBJECT(PyObject **operand1
2456
2456
  goto exit_inplace_result_object;
2457
2457
  }
2458
2458
 
2459
- Py_DECREF(x);
2459
+ Py_DECREF_IMMORTAL(x);
2460
2460
  slot2 = NULL;
2461
2461
  }
2462
2462
  }
@@ -2468,7 +2468,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_OBJECT_OBJECT(PyObject **operand1
2468
2468
  goto exit_inplace_result_object;
2469
2469
  }
2470
2470
 
2471
- Py_DECREF(x);
2471
+ Py_DECREF_IMMORTAL(x);
2472
2472
  }
2473
2473
 
2474
2474
  if (slot2 != NULL) {
@@ -2479,7 +2479,7 @@ static inline bool _INPLACE_OPERATION_FLOORDIV_OBJECT_OBJECT(PyObject **operand1
2479
2479
  goto exit_inplace_result_object;
2480
2480
  }
2481
2481
 
2482
- Py_DECREF(x);
2482
+ Py_DECREF_IMMORTAL(x);
2483
2483
  }
2484
2484
 
2485
2485
  #if PYTHON_VERSION < 0x300