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
@@ -126,7 +126,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_INT(PyObject **o
126
126
  goto exit_inplace_result_object;
127
127
  }
128
128
 
129
- Py_DECREF(x);
129
+ Py_DECREF_IMMORTAL(x);
130
130
  }
131
131
 
132
132
  {
@@ -152,7 +152,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_INT(PyObject **o
152
152
  goto exit_inplace_result_object;
153
153
  }
154
154
 
155
- Py_DECREF(x);
155
+ Py_DECREF_IMMORTAL(x);
156
156
  }
157
157
 
158
158
  if (slot2 != NULL) {
@@ -163,7 +163,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_INT(PyObject **o
163
163
  goto exit_inplace_result_object;
164
164
  }
165
165
 
166
- Py_DECREF(x);
166
+ Py_DECREF_IMMORTAL(x);
167
167
  }
168
168
 
169
169
  #if PYTHON_VERSION < 0x300
@@ -415,7 +415,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_INT_OBJECT(PyObject **o
415
415
  goto exit_inplace_result_object;
416
416
  }
417
417
 
418
- Py_DECREF(x);
418
+ Py_DECREF_IMMORTAL(x);
419
419
  slot2 = NULL;
420
420
  }
421
421
  }
@@ -427,7 +427,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_INT_OBJECT(PyObject **o
427
427
  goto exit_inplace_result_object;
428
428
  }
429
429
 
430
- Py_DECREF(x);
430
+ Py_DECREF_IMMORTAL(x);
431
431
  }
432
432
 
433
433
  if (slot2 != NULL) {
@@ -438,7 +438,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_INT_OBJECT(PyObject **o
438
438
  goto exit_inplace_result_object;
439
439
  }
440
440
 
441
- Py_DECREF(x);
441
+ Py_DECREF_IMMORTAL(x);
442
442
  }
443
443
 
444
444
  #if PYTHON_VERSION < 0x300
@@ -719,7 +719,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_LONG(PyObject **
719
719
  goto exit_inplace_result_object;
720
720
  }
721
721
 
722
- Py_DECREF(x);
722
+ Py_DECREF_IMMORTAL(x);
723
723
  }
724
724
 
725
725
  {
@@ -745,7 +745,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_LONG(PyObject **
745
745
  goto exit_inplace_result_object;
746
746
  }
747
747
 
748
- Py_DECREF(x);
748
+ Py_DECREF_IMMORTAL(x);
749
749
  }
750
750
 
751
751
  if (slot2 != NULL) {
@@ -756,7 +756,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_LONG(PyObject **
756
756
  goto exit_inplace_result_object;
757
757
  }
758
758
 
759
- Py_DECREF(x);
759
+ Py_DECREF_IMMORTAL(x);
760
760
  }
761
761
 
762
762
  #if PYTHON_VERSION < 0x300
@@ -967,7 +967,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_LONG_OBJECT(PyObject **
967
967
  goto exit_inplace_result_object;
968
968
  }
969
969
 
970
- Py_DECREF(x);
970
+ Py_DECREF_IMMORTAL(x);
971
971
  slot2 = NULL;
972
972
  }
973
973
  }
@@ -979,7 +979,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_LONG_OBJECT(PyObject **
979
979
  goto exit_inplace_result_object;
980
980
  }
981
981
 
982
- Py_DECREF(x);
982
+ Py_DECREF_IMMORTAL(x);
983
983
  }
984
984
 
985
985
  if (slot2 != NULL) {
@@ -990,7 +990,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_LONG_OBJECT(PyObject **
990
990
  goto exit_inplace_result_object;
991
991
  }
992
992
 
993
- Py_DECREF(x);
993
+ Py_DECREF_IMMORTAL(x);
994
994
  }
995
995
 
996
996
  #if PYTHON_VERSION < 0x300
@@ -1238,7 +1238,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_FLOAT(PyObject *
1238
1238
  goto exit_inplace_result_object;
1239
1239
  }
1240
1240
 
1241
- Py_DECREF(x);
1241
+ Py_DECREF_IMMORTAL(x);
1242
1242
  }
1243
1243
 
1244
1244
  {
@@ -1264,7 +1264,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_FLOAT(PyObject *
1264
1264
  goto exit_inplace_result_object;
1265
1265
  }
1266
1266
 
1267
- Py_DECREF(x);
1267
+ Py_DECREF_IMMORTAL(x);
1268
1268
  }
1269
1269
 
1270
1270
  if (slot2 != NULL) {
@@ -1275,7 +1275,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_OBJECT_FLOAT(PyObject *
1275
1275
  goto exit_inplace_result_object;
1276
1276
  }
1277
1277
 
1278
- Py_DECREF(x);
1278
+ Py_DECREF_IMMORTAL(x);
1279
1279
  }
1280
1280
 
1281
1281
  #if PYTHON_VERSION < 0x300
@@ -1489,7 +1489,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_FLOAT_OBJECT(PyObject *
1489
1489
  goto exit_inplace_result_object;
1490
1490
  }
1491
1491
 
1492
- Py_DECREF(x);
1492
+ Py_DECREF_IMMORTAL(x);
1493
1493
  slot2 = NULL;
1494
1494
  }
1495
1495
  }
@@ -1501,7 +1501,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_FLOAT_OBJECT(PyObject *
1501
1501
  goto exit_inplace_result_object;
1502
1502
  }
1503
1503
 
1504
- Py_DECREF(x);
1504
+ Py_DECREF_IMMORTAL(x);
1505
1505
  }
1506
1506
 
1507
1507
  if (slot2 != NULL) {
@@ -1512,7 +1512,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_MULT_FLOAT_OBJECT(PyObject *
1512
1512
  goto exit_inplace_result_object;
1513
1513
  }
1514
1514
 
1515
- Py_DECREF(x);
1515
+ Py_DECREF_IMMORTAL(x);
1516
1516
  }
1517
1517
 
1518
1518
  #if PYTHON_VERSION < 0x300
@@ -1718,7 +1718,7 @@ static inline bool _INPLACE_OPERATION_MULT_FLOAT_LONG(PyObject **operand1, PyObj
1718
1718
  goto exit_inplace_result_object;
1719
1719
  }
1720
1720
 
1721
- Py_DECREF(x);
1721
+ Py_DECREF_IMMORTAL(x);
1722
1722
  }
1723
1723
 
1724
1724
  // Statically recognized that coercion is not possible with these types
@@ -1798,7 +1798,7 @@ static inline bool _INPLACE_OPERATION_MULT_LONG_FLOAT(PyObject **operand1, PyObj
1798
1798
  goto exit_inplace_result_object;
1799
1799
  }
1800
1800
 
1801
- Py_DECREF(x);
1801
+ Py_DECREF_IMMORTAL(x);
1802
1802
  }
1803
1803
 
1804
1804
  // Statically recognized that coercion is not possible with these types
@@ -1873,7 +1873,7 @@ static inline bool _INPLACE_OPERATION_MULT_FLOAT_INT(PyObject **operand1, PyObje
1873
1873
  goto exit_inplace_result_object;
1874
1874
  }
1875
1875
 
1876
- Py_DECREF(x);
1876
+ Py_DECREF_IMMORTAL(x);
1877
1877
  }
1878
1878
 
1879
1879
  // Statically recognized that coercion is not possible with these types
@@ -1951,7 +1951,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_FLOAT(PyObject **operand1, PyObje
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
@@ -2023,7 +2023,7 @@ static inline bool _INPLACE_OPERATION_MULT_LONG_INT(PyObject **operand1, PyObjec
2023
2023
  goto exit_inplace_result_object;
2024
2024
  }
2025
2025
 
2026
- Py_DECREF(x);
2026
+ Py_DECREF_IMMORTAL(x);
2027
2027
  }
2028
2028
 
2029
2029
  // Statically recognized that coercion is not possible with these types
@@ -2101,7 +2101,7 @@ static inline bool _INPLACE_OPERATION_MULT_INT_LONG(PyObject **operand1, PyObjec
2101
2101
  goto exit_inplace_result_object;
2102
2102
  }
2103
2103
 
2104
- Py_DECREF(x);
2104
+ Py_DECREF_IMMORTAL(x);
2105
2105
  }
2106
2106
 
2107
2107
  // Statically recognized that coercion is not possible with these types
@@ -3680,7 +3680,7 @@ static inline bool _INPLACE_OPERATION_MULT_STR_OBJECT(PyObject **operand1, PyObj
3680
3680
  goto exit_inplace_result_object;
3681
3681
  }
3682
3682
 
3683
- Py_DECREF(x);
3683
+ Py_DECREF_IMMORTAL(x);
3684
3684
  }
3685
3685
 
3686
3686
  #if PYTHON_VERSION < 0x300
@@ -3825,7 +3825,7 @@ static inline bool _INPLACE_OPERATION_MULT_UNICODE_OBJECT(PyObject **operand1, P
3825
3825
  goto exit_inplace_result_object;
3826
3826
  }
3827
3827
 
3828
- Py_DECREF(x);
3828
+ Py_DECREF_IMMORTAL(x);
3829
3829
  }
3830
3830
 
3831
3831
  #if PYTHON_VERSION < 0x300
@@ -3970,7 +3970,7 @@ static inline bool _INPLACE_OPERATION_MULT_BYTES_OBJECT(PyObject **operand1, PyO
3970
3970
  goto exit_inplace_result_object;
3971
3971
  }
3972
3972
 
3973
- Py_DECREF(x);
3973
+ Py_DECREF_IMMORTAL(x);
3974
3974
  }
3975
3975
 
3976
3976
  #if PYTHON_VERSION < 0x300
@@ -4115,7 +4115,7 @@ static inline bool _INPLACE_OPERATION_MULT_TUPLE_OBJECT(PyObject **operand1, PyO
4115
4115
  goto exit_inplace_result_object;
4116
4116
  }
4117
4117
 
4118
- Py_DECREF(x);
4118
+ Py_DECREF_IMMORTAL(x);
4119
4119
  }
4120
4120
 
4121
4121
  #if PYTHON_VERSION < 0x300
@@ -4259,7 +4259,7 @@ static inline bool _INPLACE_OPERATION_MULT_LIST_OBJECT(PyObject **operand1, PyOb
4259
4259
  goto exit_inplace_result_object;
4260
4260
  }
4261
4261
 
4262
- Py_DECREF(x);
4262
+ Py_DECREF_IMMORTAL(x);
4263
4263
  }
4264
4264
 
4265
4265
  #if PYTHON_VERSION < 0x300
@@ -4485,7 +4485,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_OBJECT(PyObject **operand1, Py
4485
4485
  goto exit_inplace_result_object;
4486
4486
  }
4487
4487
 
4488
- Py_DECREF(x);
4488
+ Py_DECREF_IMMORTAL(x);
4489
4489
  }
4490
4490
 
4491
4491
  {
@@ -4514,7 +4514,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_OBJECT(PyObject **operand1, Py
4514
4514
  goto exit_inplace_result_object;
4515
4515
  }
4516
4516
 
4517
- Py_DECREF(x);
4517
+ Py_DECREF_IMMORTAL(x);
4518
4518
  slot2 = NULL;
4519
4519
  }
4520
4520
  }
@@ -4526,7 +4526,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_OBJECT(PyObject **operand1, Py
4526
4526
  goto exit_inplace_result_object;
4527
4527
  }
4528
4528
 
4529
- Py_DECREF(x);
4529
+ Py_DECREF_IMMORTAL(x);
4530
4530
  }
4531
4531
 
4532
4532
  if (slot2 != NULL) {
@@ -4537,7 +4537,7 @@ static inline bool _INPLACE_OPERATION_MULT_OBJECT_OBJECT(PyObject **operand1, Py
4537
4537
  goto exit_inplace_result_object;
4538
4538
  }
4539
4539
 
4540
- Py_DECREF(x);
4540
+ Py_DECREF_IMMORTAL(x);
4541
4541
  }
4542
4542
 
4543
4543
  #if PYTHON_VERSION < 0x300
@@ -134,7 +134,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_OBJECT_INT(PyObject *
134
134
  goto exit_inplace_result_object;
135
135
  }
136
136
 
137
- Py_DECREF(x);
137
+ Py_DECREF_IMMORTAL(x);
138
138
  }
139
139
 
140
140
  {
@@ -160,7 +160,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_OBJECT_INT(PyObject *
160
160
  goto exit_inplace_result_object;
161
161
  }
162
162
 
163
- Py_DECREF(x);
163
+ Py_DECREF_IMMORTAL(x);
164
164
  }
165
165
 
166
166
  if (slot2 != NULL) {
@@ -171,7 +171,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_OBJECT_INT(PyObject *
171
171
  goto exit_inplace_result_object;
172
172
  }
173
173
 
174
- Py_DECREF(x);
174
+ Py_DECREF_IMMORTAL(x);
175
175
  }
176
176
 
177
177
  #if PYTHON_VERSION < 0x300
@@ -415,7 +415,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_INT_OBJECT(PyObject *
415
415
  goto exit_inplace_result_object;
416
416
  }
417
417
 
418
- Py_DECREF(x);
418
+ Py_DECREF_IMMORTAL(x);
419
419
  slot2 = NULL;
420
420
  }
421
421
  }
@@ -427,7 +427,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_INT_OBJECT(PyObject *
427
427
  goto exit_inplace_result_object;
428
428
  }
429
429
 
430
- Py_DECREF(x);
430
+ Py_DECREF_IMMORTAL(x);
431
431
  }
432
432
 
433
433
  if (slot2 != NULL) {
@@ -438,7 +438,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_INT_OBJECT(PyObject *
438
438
  goto exit_inplace_result_object;
439
439
  }
440
440
 
441
- Py_DECREF(x);
441
+ Py_DECREF_IMMORTAL(x);
442
442
  }
443
443
 
444
444
  #if PYTHON_VERSION < 0x300
@@ -714,7 +714,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_OBJECT_LONG(PyObject
714
714
  goto exit_inplace_result_object;
715
715
  }
716
716
 
717
- Py_DECREF(x);
717
+ Py_DECREF_IMMORTAL(x);
718
718
  }
719
719
 
720
720
  {
@@ -740,7 +740,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_OBJECT_LONG(PyObject
740
740
  goto exit_inplace_result_object;
741
741
  }
742
742
 
743
- Py_DECREF(x);
743
+ Py_DECREF_IMMORTAL(x);
744
744
  }
745
745
 
746
746
  if (slot2 != NULL) {
@@ -751,7 +751,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_OBJECT_LONG(PyObject
751
751
  goto exit_inplace_result_object;
752
752
  }
753
753
 
754
- Py_DECREF(x);
754
+ Py_DECREF_IMMORTAL(x);
755
755
  }
756
756
 
757
757
  #if PYTHON_VERSION < 0x300
@@ -948,7 +948,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_LONG_OBJECT(PyObject
948
948
  goto exit_inplace_result_object;
949
949
  }
950
950
 
951
- Py_DECREF(x);
951
+ Py_DECREF_IMMORTAL(x);
952
952
  slot2 = NULL;
953
953
  }
954
954
  }
@@ -960,7 +960,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_LONG_OBJECT(PyObject
960
960
  goto exit_inplace_result_object;
961
961
  }
962
962
 
963
- Py_DECREF(x);
963
+ Py_DECREF_IMMORTAL(x);
964
964
  }
965
965
 
966
966
  if (slot2 != NULL) {
@@ -971,7 +971,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_LONG_OBJECT(PyObject
971
971
  goto exit_inplace_result_object;
972
972
  }
973
973
 
974
- Py_DECREF(x);
974
+ Py_DECREF_IMMORTAL(x);
975
975
  }
976
976
 
977
977
  #if PYTHON_VERSION < 0x300
@@ -1219,7 +1219,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_OBJECT_FLOAT(PyObject
1219
1219
  goto exit_inplace_result_object;
1220
1220
  }
1221
1221
 
1222
- Py_DECREF(x);
1222
+ Py_DECREF_IMMORTAL(x);
1223
1223
  }
1224
1224
 
1225
1225
  {
@@ -1245,7 +1245,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_OBJECT_FLOAT(PyObject
1245
1245
  goto exit_inplace_result_object;
1246
1246
  }
1247
1247
 
1248
- Py_DECREF(x);
1248
+ Py_DECREF_IMMORTAL(x);
1249
1249
  }
1250
1250
 
1251
1251
  if (slot2 != NULL) {
@@ -1256,7 +1256,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_OBJECT_FLOAT(PyObject
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 PYTHON_VERSION < 0x300
@@ -1468,7 +1468,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_FLOAT_OBJECT(PyObject
1468
1468
  goto exit_inplace_result_object;
1469
1469
  }
1470
1470
 
1471
- Py_DECREF(x);
1471
+ Py_DECREF_IMMORTAL(x);
1472
1472
  slot2 = NULL;
1473
1473
  }
1474
1474
  }
@@ -1480,7 +1480,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_FLOAT_OBJECT(PyObject
1480
1480
  goto exit_inplace_result_object;
1481
1481
  }
1482
1482
 
1483
- Py_DECREF(x);
1483
+ Py_DECREF_IMMORTAL(x);
1484
1484
  }
1485
1485
 
1486
1486
  if (slot2 != NULL) {
@@ -1491,7 +1491,7 @@ static HEDLEY_NEVER_INLINE bool __INPLACE_OPERATION_OLDDIV_FLOAT_OBJECT(PyObject
1491
1491
  goto exit_inplace_result_object;
1492
1492
  }
1493
1493
 
1494
- Py_DECREF(x);
1494
+ Py_DECREF_IMMORTAL(x);
1495
1495
  }
1496
1496
 
1497
1497
  #if PYTHON_VERSION < 0x300
@@ -1695,7 +1695,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_FLOAT_LONG(PyObject **operand1, PyO
1695
1695
  goto exit_inplace_result_object;
1696
1696
  }
1697
1697
 
1698
- Py_DECREF(x);
1698
+ Py_DECREF_IMMORTAL(x);
1699
1699
  }
1700
1700
 
1701
1701
  // Statically recognized that coercion is not possible with these types
@@ -1771,7 +1771,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_LONG_FLOAT(PyObject **operand1, PyO
1771
1771
  goto exit_inplace_result_object;
1772
1772
  }
1773
1773
 
1774
- Py_DECREF(x);
1774
+ Py_DECREF_IMMORTAL(x);
1775
1775
  }
1776
1776
 
1777
1777
  // Statically recognized that coercion is not possible with these types
@@ -1841,7 +1841,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_FLOAT_INT(PyObject **operand1, PyOb
1841
1841
  goto exit_inplace_result_object;
1842
1842
  }
1843
1843
 
1844
- Py_DECREF(x);
1844
+ Py_DECREF_IMMORTAL(x);
1845
1845
  }
1846
1846
 
1847
1847
  // Statically recognized that coercion is not possible with these types
@@ -1913,7 +1913,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_INT_FLOAT(PyObject **operand1, PyOb
1913
1913
  goto exit_inplace_result_object;
1914
1914
  }
1915
1915
 
1916
- Py_DECREF(x);
1916
+ Py_DECREF_IMMORTAL(x);
1917
1917
  }
1918
1918
 
1919
1919
  // Statically recognized that coercion is not possible with these types
@@ -1979,7 +1979,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_LONG_INT(PyObject **operand1, PyObj
1979
1979
  goto exit_inplace_result_object;
1980
1980
  }
1981
1981
 
1982
- Py_DECREF(x);
1982
+ Py_DECREF_IMMORTAL(x);
1983
1983
  }
1984
1984
 
1985
1985
  // Statically recognized that coercion is not possible with these types
@@ -2051,7 +2051,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_INT_LONG(PyObject **operand1, PyObj
2051
2051
  goto exit_inplace_result_object;
2052
2052
  }
2053
2053
 
2054
- Py_DECREF(x);
2054
+ Py_DECREF_IMMORTAL(x);
2055
2055
  }
2056
2056
 
2057
2057
  // Statically recognized that coercion is not possible with these types
@@ -2374,7 +2374,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_OBJECT_OBJECT(PyObject **operand1,
2374
2374
  goto exit_inplace_result_object;
2375
2375
  }
2376
2376
 
2377
- Py_DECREF(x);
2377
+ Py_DECREF_IMMORTAL(x);
2378
2378
  }
2379
2379
 
2380
2380
  {
@@ -2403,7 +2403,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_OBJECT_OBJECT(PyObject **operand1,
2403
2403
  goto exit_inplace_result_object;
2404
2404
  }
2405
2405
 
2406
- Py_DECREF(x);
2406
+ Py_DECREF_IMMORTAL(x);
2407
2407
  slot2 = NULL;
2408
2408
  }
2409
2409
  }
@@ -2415,7 +2415,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_OBJECT_OBJECT(PyObject **operand1,
2415
2415
  goto exit_inplace_result_object;
2416
2416
  }
2417
2417
 
2418
- Py_DECREF(x);
2418
+ Py_DECREF_IMMORTAL(x);
2419
2419
  }
2420
2420
 
2421
2421
  if (slot2 != NULL) {
@@ -2426,7 +2426,7 @@ static inline bool _INPLACE_OPERATION_OLDDIV_OBJECT_OBJECT(PyObject **operand1,
2426
2426
  goto exit_inplace_result_object;
2427
2427
  }
2428
2428
 
2429
- Py_DECREF(x);
2429
+ Py_DECREF_IMMORTAL(x);
2430
2430
  }
2431
2431
 
2432
2432
  #if PYTHON_VERSION < 0x300