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
@@ -129,7 +129,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_OBJECT_INT(P
129
129
  goto exit_binary_result_object;
130
130
  }
131
131
 
132
- Py_DECREF(x);
132
+ Py_DECREF_IMMORTAL(x);
133
133
  }
134
134
 
135
135
  if (slot2 != NULL) {
@@ -140,7 +140,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_OBJECT_INT(P
140
140
  goto exit_binary_result_object;
141
141
  }
142
142
 
143
- Py_DECREF(x);
143
+ Py_DECREF_IMMORTAL(x);
144
144
  }
145
145
 
146
146
  #if PYTHON_VERSION < 0x300
@@ -364,7 +364,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_INT_OBJECT(P
364
364
  goto exit_binary_result_object;
365
365
  }
366
366
 
367
- Py_DECREF(x);
367
+ Py_DECREF_IMMORTAL(x);
368
368
  slot2 = NULL;
369
369
  }
370
370
  }
@@ -376,7 +376,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_INT_OBJECT(P
376
376
  goto exit_binary_result_object;
377
377
  }
378
378
 
379
- Py_DECREF(x);
379
+ Py_DECREF_IMMORTAL(x);
380
380
  }
381
381
 
382
382
  if (slot2 != NULL) {
@@ -387,7 +387,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_INT_OBJECT(P
387
387
  goto exit_binary_result_object;
388
388
  }
389
389
 
390
- Py_DECREF(x);
390
+ Py_DECREF_IMMORTAL(x);
391
391
  }
392
392
 
393
393
  #if PYTHON_VERSION < 0x300
@@ -466,7 +466,8 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_INT_OBJECT(P
466
466
 
467
467
  {
468
468
  // No sequence repeat slot sq_repeat available for this type.
469
- } // Special case for "*", also work with sequence repeat from right argument.
469
+ }
470
+ // Special case for "*", also work with sequence repeat from right argument.
470
471
  {
471
472
  ssizeargfunc sq_slot = type2->tp_as_sequence != NULL ? type2->tp_as_sequence->sq_repeat : NULL;
472
473
 
@@ -695,7 +696,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_OBJECT_INT(
695
696
  goto exit_binary_result_object;
696
697
  }
697
698
 
698
- Py_DECREF(x);
699
+ Py_DECREF_IMMORTAL(x);
699
700
  }
700
701
 
701
702
  if (slot2 != NULL) {
@@ -706,7 +707,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_OBJECT_INT(
706
707
  goto exit_binary_result_object;
707
708
  }
708
709
 
709
- Py_DECREF(x);
710
+ Py_DECREF_IMMORTAL(x);
710
711
  }
711
712
 
712
713
  #if PYTHON_VERSION < 0x300
@@ -940,7 +941,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_INT_OBJECT(
940
941
  goto exit_binary_result_object;
941
942
  }
942
943
 
943
- Py_DECREF(x);
944
+ Py_DECREF_IMMORTAL(x);
944
945
  slot2 = NULL;
945
946
  }
946
947
  }
@@ -952,7 +953,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_INT_OBJECT(
952
953
  goto exit_binary_result_object;
953
954
  }
954
955
 
955
- Py_DECREF(x);
956
+ Py_DECREF_IMMORTAL(x);
956
957
  }
957
958
 
958
959
  if (slot2 != NULL) {
@@ -963,7 +964,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_INT_OBJECT(
963
964
  goto exit_binary_result_object;
964
965
  }
965
966
 
966
- Py_DECREF(x);
967
+ Py_DECREF_IMMORTAL(x);
967
968
  }
968
969
 
969
970
  #if PYTHON_VERSION < 0x300
@@ -1042,7 +1043,8 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_INT_OBJECT(
1042
1043
 
1043
1044
  {
1044
1045
  // No sequence repeat slot sq_repeat available for this type.
1045
- } // Special case for "*", also work with sequence repeat from right argument.
1046
+ }
1047
+ // Special case for "*", also work with sequence repeat from right argument.
1046
1048
  {
1047
1049
  ssizeargfunc sq_slot = type2->tp_as_sequence != NULL ? type2->tp_as_sequence->sq_repeat : NULL;
1048
1050
 
@@ -1240,7 +1242,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_OBJECT_LONG(
1240
1242
  goto exit_binary_result_object;
1241
1243
  }
1242
1244
 
1243
- Py_DECREF(x);
1245
+ Py_DECREF_IMMORTAL(x);
1244
1246
  }
1245
1247
 
1246
1248
  if (slot2 != NULL) {
@@ -1251,7 +1253,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_OBJECT_LONG(
1251
1253
  goto exit_binary_result_object;
1252
1254
  }
1253
1255
 
1254
- Py_DECREF(x);
1256
+ Py_DECREF_IMMORTAL(x);
1255
1257
  }
1256
1258
 
1257
1259
  #if PYTHON_VERSION < 0x300
@@ -1442,7 +1444,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_LONG_OBJECT(
1442
1444
  goto exit_binary_result_object;
1443
1445
  }
1444
1446
 
1445
- Py_DECREF(x);
1447
+ Py_DECREF_IMMORTAL(x);
1446
1448
  slot2 = NULL;
1447
1449
  }
1448
1450
  }
@@ -1454,7 +1456,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_LONG_OBJECT(
1454
1456
  goto exit_binary_result_object;
1455
1457
  }
1456
1458
 
1457
- Py_DECREF(x);
1459
+ Py_DECREF_IMMORTAL(x);
1458
1460
  }
1459
1461
 
1460
1462
  if (slot2 != NULL) {
@@ -1465,7 +1467,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_LONG_OBJECT(
1465
1467
  goto exit_binary_result_object;
1466
1468
  }
1467
1469
 
1468
- Py_DECREF(x);
1470
+ Py_DECREF_IMMORTAL(x);
1469
1471
  }
1470
1472
 
1471
1473
  #if PYTHON_VERSION < 0x300
@@ -1544,7 +1546,8 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_LONG_OBJECT(
1544
1546
 
1545
1547
  {
1546
1548
  // No sequence repeat slot sq_repeat available for this type.
1547
- } // Special case for "*", also work with sequence repeat from right argument.
1549
+ }
1550
+ // Special case for "*", also work with sequence repeat from right argument.
1548
1551
  {
1549
1552
  ssizeargfunc sq_slot = type2->tp_as_sequence != NULL ? type2->tp_as_sequence->sq_repeat : NULL;
1550
1553
 
@@ -1701,7 +1704,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_OBJECT_LONG
1701
1704
  goto exit_binary_result_object;
1702
1705
  }
1703
1706
 
1704
- Py_DECREF(x);
1707
+ Py_DECREF_IMMORTAL(x);
1705
1708
  }
1706
1709
 
1707
1710
  if (slot2 != NULL) {
@@ -1712,7 +1715,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_OBJECT_LONG
1712
1715
  goto exit_binary_result_object;
1713
1716
  }
1714
1717
 
1715
- Py_DECREF(x);
1718
+ Py_DECREF_IMMORTAL(x);
1716
1719
  }
1717
1720
 
1718
1721
  #if PYTHON_VERSION < 0x300
@@ -1912,7 +1915,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_LONG_OBJECT
1912
1915
  goto exit_binary_result_object;
1913
1916
  }
1914
1917
 
1915
- Py_DECREF(x);
1918
+ Py_DECREF_IMMORTAL(x);
1916
1919
  slot2 = NULL;
1917
1920
  }
1918
1921
  }
@@ -1924,7 +1927,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_LONG_OBJECT
1924
1927
  goto exit_binary_result_object;
1925
1928
  }
1926
1929
 
1927
- Py_DECREF(x);
1930
+ Py_DECREF_IMMORTAL(x);
1928
1931
  }
1929
1932
 
1930
1933
  if (slot2 != NULL) {
@@ -1935,7 +1938,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_LONG_OBJECT
1935
1938
  goto exit_binary_result_object;
1936
1939
  }
1937
1940
 
1938
- Py_DECREF(x);
1941
+ Py_DECREF_IMMORTAL(x);
1939
1942
  }
1940
1943
 
1941
1944
  #if PYTHON_VERSION < 0x300
@@ -2014,7 +2017,8 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_LONG_OBJECT
2014
2017
 
2015
2018
  {
2016
2019
  // No sequence repeat slot sq_repeat available for this type.
2017
- } // Special case for "*", also work with sequence repeat from right argument.
2020
+ }
2021
+ // Special case for "*", also work with sequence repeat from right argument.
2018
2022
  {
2019
2023
  ssizeargfunc sq_slot = type2->tp_as_sequence != NULL ? type2->tp_as_sequence->sq_repeat : NULL;
2020
2024
 
@@ -2181,7 +2185,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_OBJECT_FLOAT
2181
2185
  goto exit_binary_result_object;
2182
2186
  }
2183
2187
 
2184
- Py_DECREF(x);
2188
+ Py_DECREF_IMMORTAL(x);
2185
2189
  }
2186
2190
 
2187
2191
  if (slot2 != NULL) {
@@ -2192,7 +2196,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_OBJECT_FLOAT
2192
2196
  goto exit_binary_result_object;
2193
2197
  }
2194
2198
 
2195
- Py_DECREF(x);
2199
+ Py_DECREF_IMMORTAL(x);
2196
2200
  }
2197
2201
 
2198
2202
  #if PYTHON_VERSION < 0x300
@@ -2381,7 +2385,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_FLOAT_OBJECT
2381
2385
  goto exit_binary_result_object;
2382
2386
  }
2383
2387
 
2384
- Py_DECREF(x);
2388
+ Py_DECREF_IMMORTAL(x);
2385
2389
  slot2 = NULL;
2386
2390
  }
2387
2391
  }
@@ -2393,7 +2397,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_FLOAT_OBJECT
2393
2397
  goto exit_binary_result_object;
2394
2398
  }
2395
2399
 
2396
- Py_DECREF(x);
2400
+ Py_DECREF_IMMORTAL(x);
2397
2401
  }
2398
2402
 
2399
2403
  if (slot2 != NULL) {
@@ -2404,7 +2408,7 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_FLOAT_OBJECT
2404
2408
  goto exit_binary_result_object;
2405
2409
  }
2406
2410
 
2407
- Py_DECREF(x);
2411
+ Py_DECREF_IMMORTAL(x);
2408
2412
  }
2409
2413
 
2410
2414
  #if PYTHON_VERSION < 0x300
@@ -2483,7 +2487,8 @@ static HEDLEY_NEVER_INLINE PyObject *__BINARY_OPERATION_MULT_OBJECT_FLOAT_OBJECT
2483
2487
 
2484
2488
  {
2485
2489
  // No sequence repeat slot sq_repeat available for this type.
2486
- } // Special case for "*", also work with sequence repeat from right argument.
2490
+ }
2491
+ // Special case for "*", also work with sequence repeat from right argument.
2487
2492
  {
2488
2493
  ssizeargfunc sq_slot = type2->tp_as_sequence != NULL ? type2->tp_as_sequence->sq_repeat : NULL;
2489
2494
 
@@ -2639,7 +2644,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_OBJECT_FLOA
2639
2644
  goto exit_binary_result_object;
2640
2645
  }
2641
2646
 
2642
- Py_DECREF(x);
2647
+ Py_DECREF_IMMORTAL(x);
2643
2648
  }
2644
2649
 
2645
2650
  if (slot2 != NULL) {
@@ -2650,7 +2655,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_OBJECT_FLOA
2650
2655
  goto exit_binary_result_object;
2651
2656
  }
2652
2657
 
2653
- Py_DECREF(x);
2658
+ Py_DECREF_IMMORTAL(x);
2654
2659
  }
2655
2660
 
2656
2661
  #if PYTHON_VERSION < 0x300
@@ -2847,7 +2852,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_FLOAT_OBJEC
2847
2852
  goto exit_binary_result_object;
2848
2853
  }
2849
2854
 
2850
- Py_DECREF(x);
2855
+ Py_DECREF_IMMORTAL(x);
2851
2856
  slot2 = NULL;
2852
2857
  }
2853
2858
  }
@@ -2859,7 +2864,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_FLOAT_OBJEC
2859
2864
  goto exit_binary_result_object;
2860
2865
  }
2861
2866
 
2862
- Py_DECREF(x);
2867
+ Py_DECREF_IMMORTAL(x);
2863
2868
  }
2864
2869
 
2865
2870
  if (slot2 != NULL) {
@@ -2870,7 +2875,7 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_FLOAT_OBJEC
2870
2875
  goto exit_binary_result_object;
2871
2876
  }
2872
2877
 
2873
- Py_DECREF(x);
2878
+ Py_DECREF_IMMORTAL(x);
2874
2879
  }
2875
2880
 
2876
2881
  #if PYTHON_VERSION < 0x300
@@ -2949,7 +2954,8 @@ static HEDLEY_NEVER_INLINE nuitka_bool __BINARY_OPERATION_MULT_NBOOL_FLOAT_OBJEC
2949
2954
 
2950
2955
  {
2951
2956
  // No sequence repeat slot sq_repeat available for this type.
2952
- } // Special case for "*", also work with sequence repeat from right argument.
2957
+ }
2958
+ // Special case for "*", also work with sequence repeat from right argument.
2953
2959
  {
2954
2960
  ssizeargfunc sq_slot = type2->tp_as_sequence != NULL ? type2->tp_as_sequence->sq_repeat : NULL;
2955
2961
 
@@ -3058,7 +3064,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_FLOAT_LONG(PyObject *operand1, Py
3058
3064
  goto exit_binary_result_object;
3059
3065
  }
3060
3066
 
3061
- Py_DECREF(x);
3067
+ Py_DECREF_IMMORTAL(x);
3062
3068
  }
3063
3069
 
3064
3070
  // Statically recognized that coercion is not possible with these types
@@ -3114,7 +3120,7 @@ static nuitka_bool _BINARY_OPERATION_MULT_NBOOL_FLOAT_LONG(PyObject *operand1, P
3114
3120
  goto exit_binary_result_object;
3115
3121
  }
3116
3122
 
3117
- Py_DECREF(x);
3123
+ Py_DECREF_IMMORTAL(x);
3118
3124
  }
3119
3125
 
3120
3126
  // Statically recognized that coercion is not possible with these types
@@ -3179,7 +3185,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_FLOAT_INT(PyObject *operand1, PyO
3179
3185
  goto exit_binary_result_object;
3180
3186
  }
3181
3187
 
3182
- Py_DECREF(x);
3188
+ Py_DECREF_IMMORTAL(x);
3183
3189
  }
3184
3190
 
3185
3191
  // Statically recognized that coercion is not possible with these types
@@ -3233,7 +3239,7 @@ static nuitka_bool _BINARY_OPERATION_MULT_NBOOL_FLOAT_INT(PyObject *operand1, Py
3233
3239
  goto exit_binary_result_object;
3234
3240
  }
3235
3241
 
3236
- Py_DECREF(x);
3242
+ Py_DECREF_IMMORTAL(x);
3237
3243
  }
3238
3244
 
3239
3245
  // Statically recognized that coercion is not possible with these types
@@ -3295,7 +3301,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_LONG_INT(PyObject *operand1, PyOb
3295
3301
  goto exit_binary_result_object;
3296
3302
  }
3297
3303
 
3298
- Py_DECREF(x);
3304
+ Py_DECREF_IMMORTAL(x);
3299
3305
  }
3300
3306
 
3301
3307
  // Statically recognized that coercion is not possible with these types
@@ -3349,7 +3355,7 @@ static nuitka_bool _BINARY_OPERATION_MULT_NBOOL_LONG_INT(PyObject *operand1, PyO
3349
3355
  goto exit_binary_result_object;
3350
3356
  }
3351
3357
 
3352
- Py_DECREF(x);
3358
+ Py_DECREF_IMMORTAL(x);
3353
3359
  }
3354
3360
 
3355
3361
  // Statically recognized that coercion is not possible with these types
@@ -4655,7 +4661,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_OBJECT_STR(PyObject *operand1, Py
4655
4661
  goto exit_binary_result_object;
4656
4662
  }
4657
4663
 
4658
- Py_DECREF(x);
4664
+ Py_DECREF_IMMORTAL(x);
4659
4665
  }
4660
4666
 
4661
4667
  #if PYTHON_VERSION < 0x300
@@ -4791,7 +4797,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_STR_OBJECT(PyObject *operand1, Py
4791
4797
  goto exit_binary_result_object;
4792
4798
  }
4793
4799
 
4794
- Py_DECREF(x);
4800
+ Py_DECREF_IMMORTAL(x);
4795
4801
  }
4796
4802
 
4797
4803
  #if PYTHON_VERSION < 0x300
@@ -4910,7 +4916,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_OBJECT_UNICODE(PyObject *operand1
4910
4916
  goto exit_binary_result_object;
4911
4917
  }
4912
4918
 
4913
- Py_DECREF(x);
4919
+ Py_DECREF_IMMORTAL(x);
4914
4920
  }
4915
4921
 
4916
4922
  #if PYTHON_VERSION < 0x300
@@ -5044,7 +5050,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_UNICODE_OBJECT(PyObject *operand1
5044
5050
  goto exit_binary_result_object;
5045
5051
  }
5046
5052
 
5047
- Py_DECREF(x);
5053
+ Py_DECREF_IMMORTAL(x);
5048
5054
  }
5049
5055
 
5050
5056
  #if PYTHON_VERSION < 0x300
@@ -5163,7 +5169,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_OBJECT_BYTES(PyObject *operand1,
5163
5169
  goto exit_binary_result_object;
5164
5170
  }
5165
5171
 
5166
- Py_DECREF(x);
5172
+ Py_DECREF_IMMORTAL(x);
5167
5173
  }
5168
5174
 
5169
5175
  #if PYTHON_VERSION < 0x300
@@ -5299,7 +5305,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_BYTES_OBJECT(PyObject *operand1,
5299
5305
  goto exit_binary_result_object;
5300
5306
  }
5301
5307
 
5302
- Py_DECREF(x);
5308
+ Py_DECREF_IMMORTAL(x);
5303
5309
  }
5304
5310
 
5305
5311
  #if PYTHON_VERSION < 0x300
@@ -5418,7 +5424,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_OBJECT_TUPLE(PyObject *operand1,
5418
5424
  goto exit_binary_result_object;
5419
5425
  }
5420
5426
 
5421
- Py_DECREF(x);
5427
+ Py_DECREF_IMMORTAL(x);
5422
5428
  }
5423
5429
 
5424
5430
  #if PYTHON_VERSION < 0x300
@@ -5552,7 +5558,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_TUPLE_OBJECT(PyObject *operand1,
5552
5558
  goto exit_binary_result_object;
5553
5559
  }
5554
5560
 
5555
- Py_DECREF(x);
5561
+ Py_DECREF_IMMORTAL(x);
5556
5562
  }
5557
5563
 
5558
5564
  #if PYTHON_VERSION < 0x300
@@ -5670,7 +5676,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_OBJECT_LIST(PyObject *operand1, P
5670
5676
  goto exit_binary_result_object;
5671
5677
  }
5672
5678
 
5673
- Py_DECREF(x);
5679
+ Py_DECREF_IMMORTAL(x);
5674
5680
  }
5675
5681
 
5676
5682
  #if PYTHON_VERSION < 0x300
@@ -5804,7 +5810,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_LIST_OBJECT(PyObject *operand1, P
5804
5810
  goto exit_binary_result_object;
5805
5811
  }
5806
5812
 
5807
- Py_DECREF(x);
5813
+ Py_DECREF_IMMORTAL(x);
5808
5814
  }
5809
5815
 
5810
5816
  #if PYTHON_VERSION < 0x300
@@ -6007,7 +6013,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_OBJECT_OBJECT(PyObject *operand1,
6007
6013
  goto exit_binary_result_object;
6008
6014
  }
6009
6015
 
6010
- Py_DECREF(x);
6016
+ Py_DECREF_IMMORTAL(x);
6011
6017
  slot2 = NULL;
6012
6018
  }
6013
6019
  }
@@ -6019,7 +6025,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_OBJECT_OBJECT(PyObject *operand1,
6019
6025
  goto exit_binary_result_object;
6020
6026
  }
6021
6027
 
6022
- Py_DECREF(x);
6028
+ Py_DECREF_IMMORTAL(x);
6023
6029
  }
6024
6030
 
6025
6031
  if (slot2 != NULL) {
@@ -6030,7 +6036,7 @@ static PyObject *_BINARY_OPERATION_MULT_OBJECT_OBJECT_OBJECT(PyObject *operand1,
6030
6036
  goto exit_binary_result_object;
6031
6037
  }
6032
6038
 
6033
- Py_DECREF(x);
6039
+ Py_DECREF_IMMORTAL(x);
6034
6040
  }
6035
6041
 
6036
6042
  #if PYTHON_VERSION < 0x300
@@ -6260,7 +6266,7 @@ static nuitka_bool _BINARY_OPERATION_MULT_NBOOL_OBJECT_OBJECT(PyObject *operand1
6260
6266
  goto exit_binary_result_object;
6261
6267
  }
6262
6268
 
6263
- Py_DECREF(x);
6269
+ Py_DECREF_IMMORTAL(x);
6264
6270
  slot2 = NULL;
6265
6271
  }
6266
6272
  }
@@ -6272,7 +6278,7 @@ static nuitka_bool _BINARY_OPERATION_MULT_NBOOL_OBJECT_OBJECT(PyObject *operand1
6272
6278
  goto exit_binary_result_object;
6273
6279
  }
6274
6280
 
6275
- Py_DECREF(x);
6281
+ Py_DECREF_IMMORTAL(x);
6276
6282
  }
6277
6283
 
6278
6284
  if (slot2 != NULL) {
@@ -6283,7 +6289,7 @@ static nuitka_bool _BINARY_OPERATION_MULT_NBOOL_OBJECT_OBJECT(PyObject *operand1
6283
6289
  goto exit_binary_result_object;
6284
6290
  }
6285
6291
 
6286
- Py_DECREF(x);
6292
+ Py_DECREF_IMMORTAL(x);
6287
6293
  }
6288
6294
 
6289
6295
  #if PYTHON_VERSION < 0x300