Guest User

Untitled

a guest
Dec 11th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 49.85 KB | None | 0 0
  1. /* Generated by Nim Compiler v0.17.3 */
  2. /* (c) 2017 Andreas Rumpf */
  3. /* The generated code is subject to the original license. */
  4. #define NIM_NEW_MANGLING_RULES
  5. #define NIM_INTBITS 32
  6.  
  7. #include "nimbase.h"
  8. #include <string.h>
  9. #include <sys/types.h>
  10. #include <pthread.h>
  11. #include <stdlib.h>
  12. #undef LANGUAGE_C
  13. #undef MIPSEB
  14. #undef MIPSEL
  15. #undef PPC
  16. #undef R3000
  17. #undef R4000
  18. #undef i386
  19. #undef linux
  20. #undef mips
  21. #undef near
  22. #undef powerpc
  23. #undef unix
  24. typedef struct tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg
  25. tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg;
  26. typedef struct tyTuple_8E3LsULUktH7z5GXZa5GHg tyTuple_8E3LsULUktH7z5GXZa5GHg;
  27. typedef struct TNimType TNimType;
  28. typedef struct TNimNode TNimNode;
  29. typedef struct tyTuple_BUNQL5x2cKJaBSzOn5pwkg tyTuple_BUNQL5x2cKJaBSzOn5pwkg;
  30. typedef struct NimStringDesc NimStringDesc;
  31. typedef struct TGenericSeq TGenericSeq;
  32. typedef struct tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ
  33. tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ;
  34. typedef struct tyObject_GcStack_7fytPA5bBsob6See21YMRA
  35. tyObject_GcStack_7fytPA5bBsob6See21YMRA;
  36. typedef struct tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w
  37. tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w;
  38. typedef struct tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g
  39. tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g;
  40. typedef struct tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg
  41. tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg;
  42. typedef struct tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ
  43. tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ;
  44. typedef struct tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw
  45. tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw;
  46. typedef struct tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg
  47. tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg;
  48. typedef struct tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA
  49. tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA;
  50. typedef struct tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw
  51. tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw;
  52. typedef struct tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw
  53. tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw;
  54. typedef struct tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg
  55. tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg;
  56. typedef struct tyTuple_ujsjpB2O9cjj3uDHsXbnSzg
  57. tyTuple_ujsjpB2O9cjj3uDHsXbnSzg;
  58. typedef struct tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg
  59. tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg;
  60. typedef struct tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ
  61. tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ;
  62. typedef struct tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg
  63. tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg;
  64. typedef struct tyObject_SharedList_9cWkTIPQvNw7gFHMOEzMCLw
  65. tyObject_SharedList_9cWkTIPQvNw7gFHMOEzMCLw;
  66. typedef struct tyObject_SharedListNodecolonObjectType__82xHhBDm9bpijSPOyEGz0Hw
  67. tyObject_SharedListNodecolonObjectType__82xHhBDm9bpijSPOyEGz0Hw;
  68. typedef struct tyObject_BaseChunk_Sdq7WpT6qAH858F5ZEdG3w
  69. tyObject_BaseChunk_Sdq7WpT6qAH858F5ZEdG3w;
  70. typedef struct tyObject_FreeCell_u6M5LHprqzkn9axr04yg9bGQ
  71. tyObject_FreeCell_u6M5LHprqzkn9axr04yg9bGQ;
  72. struct tyTuple_8E3LsULUktH7z5GXZa5GHg
  73. {
  74. NI32 Field0;
  75. NI32 Field1;
  76. NI32 Field2;
  77. NI32 Field3;
  78. };
  79. struct tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg
  80. {
  81. tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *c1;
  82. tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *c2;
  83. tyTuple_8E3LsULUktH7z5GXZa5GHg rect;
  84. NIM_BOOL occupied;
  85. NI32 maxX;
  86. NI32 maxY;
  87. };
  88. typedef NU8 tyEnum_TNimKind_jIBKr1ejBgsfM33Kxw4j7A;
  89. typedef NU8 tySet_tyEnum_TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ;
  90. typedef N_NIMCALL_PTR (void, tyProc_ojoeKfW4VYIm36I9cpDTQIg) (void *p, NI op);
  91. typedef N_NIMCALL_PTR (void *, tyProc_WSm2xU5ARYv9aAR4l0z9c9auQ) (void *p);
  92. struct TNimType
  93. {
  94. NI size;
  95. tyEnum_TNimKind_jIBKr1ejBgsfM33Kxw4j7A kind;
  96. tySet_tyEnum_TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ flags;
  97. TNimType *base;
  98. TNimNode *node;
  99. void *finalizer;
  100. tyProc_ojoeKfW4VYIm36I9cpDTQIg marker;
  101. tyProc_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
  102. };
  103. typedef NU8 tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ;
  104. struct TNimNode
  105. {
  106. tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ kind;
  107. NI offset;
  108. TNimType *typ;
  109. NCSTRING name;
  110. NI len;
  111. TNimNode **sons;
  112. };
  113. struct tyTuple_BUNQL5x2cKJaBSzOn5pwkg
  114. {
  115. NI32 Field0;
  116. NI32 Field1;
  117. };
  118. struct TGenericSeq
  119. {
  120. NI len;
  121. NI reserved;
  122. };
  123. struct NimStringDesc
  124. {
  125. TGenericSeq Sup;
  126. NIM_CHAR data[SEQ_DECL_SIZE];
  127. };
  128. typedef NimStringDesc *tyArray_Re75IspeoxXy2oCZHwcRrA[2];
  129. struct tyObject_GcStack_7fytPA5bBsob6See21YMRA
  130. {
  131. void *bottom;
  132. };
  133. struct tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w
  134. {
  135. NI len;
  136. NI cap;
  137. tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g **d;
  138. };
  139. typedef tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ
  140. *tyArray_SiRwrEKZdLgxqz9a9aoVBglg[512];
  141. typedef tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw
  142. *tyArray_lh2A89ahMmYg9bCmpVaplLbA[256];
  143. struct tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA
  144. {
  145. tyArray_lh2A89ahMmYg9bCmpVaplLbA data;
  146. };
  147. typedef tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw
  148. *tyArray_0aOLqZchNi8nWtMTi8ND8w[2];
  149. struct tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw
  150. {
  151. tyArray_0aOLqZchNi8nWtMTi8ND8w link;
  152. NI key;
  153. NI upperBound;
  154. NI level;
  155. };
  156. struct tyTuple_ujsjpB2O9cjj3uDHsXbnSzg
  157. {
  158. tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg *Field0;
  159. NI Field1;
  160. };
  161. typedef tyTuple_ujsjpB2O9cjj3uDHsXbnSzg tyArray_LzOv2eCDGiceMKQstCLmhw[30];
  162. struct tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg
  163. {
  164. NI len;
  165. tyArray_LzOv2eCDGiceMKQstCLmhw chunks;
  166. tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg *next;
  167. };
  168. struct tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg
  169. {
  170. NI minLargeObj;
  171. NI maxLargeObj;
  172. tyArray_SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
  173. tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw *llmem;
  174. NI currMem;
  175. NI maxMem;
  176. NI freeMem;
  177. NI lastSize;
  178. tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg *freeChunksList;
  179. tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
  180. tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw *root;
  181. tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw *deleted;
  182. tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw *last;
  183. tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw *freeAvlNodes;
  184. NIM_BOOL locked;
  185. NIM_BOOL blockChunkSizeIncrease;
  186. NI nextChunkSize;
  187. tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw bottomData;
  188. tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
  189. };
  190. struct tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg
  191. {
  192. NI stackScans;
  193. NI cycleCollections;
  194. NI maxThreshold;
  195. NI maxStackSize;
  196. NI maxStackCells;
  197. NI cycleTableSize;
  198. NI64 maxPause;
  199. };
  200. struct tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ
  201. {
  202. NI counter;
  203. NI max;
  204. tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg *head;
  205. tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg **data;
  206. };
  207. struct tyObject_SharedList_9cWkTIPQvNw7gFHMOEzMCLw
  208. {
  209. tyObject_SharedListNodecolonObjectType__82xHhBDm9bpijSPOyEGz0Hw *head;
  210. tyObject_SharedListNodecolonObjectType__82xHhBDm9bpijSPOyEGz0Hw *tail;
  211. pthread_mutex_t lock;
  212. };
  213. struct tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ
  214. {
  215. tyObject_GcStack_7fytPA5bBsob6See21YMRA stack;
  216. NI cycleThreshold;
  217. tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w zct;
  218. tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w decStack;
  219. tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w tempStack;
  220. NI recGcLock;
  221. tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg region;
  222. tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg stat;
  223. tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ marked;
  224. tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w additionalRoots;
  225. tyObject_SharedList_9cWkTIPQvNw7gFHMOEzMCLw toDispose;
  226. };
  227. struct tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g
  228. {
  229. NI refcount;
  230. TNimType *typ;
  231. };
  232. struct tyObject_BaseChunk_Sdq7WpT6qAH858F5ZEdG3w
  233. {
  234. NI prevSize;
  235. NI size;
  236. };
  237. struct tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ
  238. {
  239. tyObject_BaseChunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
  240. tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ *next;
  241. tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ *prev;
  242. tyObject_FreeCell_u6M5LHprqzkn9axr04yg9bGQ *freeList;
  243. NI free;
  244. NI acc;
  245. NI align;
  246. NF data;
  247. };
  248. struct tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw
  249. {
  250. NI size;
  251. NI acc;
  252. tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw *next;
  253. };
  254. struct tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg
  255. {
  256. tyObject_BaseChunk_Sdq7WpT6qAH858F5ZEdG3w Sup;
  257. tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg *next;
  258. tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg *prev;
  259. NF data;
  260. };
  261. typedef NI tyArray_9agrCtWKhCnWWMJpKKugJag[16];
  262. struct tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw
  263. {
  264. tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw *next;
  265. NI key;
  266. tyArray_9agrCtWKhCnWWMJpKKugJag bits;
  267. };
  268. struct tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg
  269. {
  270. tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg *next;
  271. NI key;
  272. tyArray_9agrCtWKhCnWWMJpKKugJag bits;
  273. };
  274. typedef void *tyArray_Rrw59cMvNu8cDA9cQDh4v2oA[100];
  275. struct tyObject_SharedListNodecolonObjectType__82xHhBDm9bpijSPOyEGz0Hw
  276. {
  277. tyObject_SharedListNodecolonObjectType__82xHhBDm9bpijSPOyEGz0Hw *next;
  278. NI dataLen;
  279. tyArray_Rrw59cMvNu8cDA9cQDh4v2oA d;
  280. };
  281. struct tyObject_FreeCell_u6M5LHprqzkn9axr04yg9bGQ
  282. {
  283. tyObject_FreeCell_u6M5LHprqzkn9axr04yg9bGQ *next;
  284. NI zeroField;
  285. };
  286.  
  287. #line 12 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  288. N_NIMCALL (void,
  289. finalizePacker_dx3Injb3mV7A9bGBkeEqyhQ)
  290. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg * p);
  291. #line 9 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  292. N_NIMCALL (void, __android_log_print) (int lvl, NCSTRING tag, NCSTRING fmt,
  293. ...);
  294. #line 405 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  295. static N_INLINE (void, nimFrame) (TFrame * s);
  296. #line 400 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  297. N_NOINLINE (void, stackOverflow_II46IjNZztN9bmbxUD8dt8g) (void);
  298. #line 70 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  299. static N_INLINE (void, popFrame) (void);
  300. #line 704 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  301. N_NIMCALL (void, nimGCvisit) (void *d, NI op);
  302. static N_NIMCALL (void, Marker_tyRef_jDqM0WBuEPkdDq9cAbql3FQ) (void *p,
  303. NI op);
  304. #line 495 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  305. N_NIMCALL (void *, newObj) (TNimType * typ, NI size);
  306. #line 36 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  307. N_NIMCALL (tyTuple_BUNQL5x2cKJaBSzOn5pwkg,
  308. pack_EIC7Vd7yGE4ZHLRumOuT7g)
  309. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg * p,
  310. NI32 width, NI32 height);
  311. #line 647 "/Users/yglukhov/Projects/nim/lib/system/threads.nim"
  312. N_NIMCALL (NI, getThreadId_9bFvoxSITMVCg7RY8KIar1Q_4) (void);
  313. #line 263 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  314. static N_INLINE (void, nimGCunrefRC1) (void *p);
  315. #line 221 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  316. static N_INLINE (void,
  317. decRef_MV4BBk6J1qu70IbBxwEn4wsystem)
  318. (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g * c);
  319. #line 637 "/Users/yglukhov/Projects/nim/lib/system/alloc.nim"
  320. N_NIMCALL (NIM_BOOL,
  321. isAllocatedPtr_z2vVXV0fNaF6us30VoVfIw)
  322. (tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg * a, void *p);
  323. #line 408 "/Users/yglukhov/Projects/nim/lib/system/sysio.nim"
  324. N_NIMCALL (void, echoBinSafe) (NimStringDesc ** args, NI argsLen_0);
  325. #line 909 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  326. static N_INLINE (void, GC_disable_neD9cJp4S9clvdaq5qqNFZAQsystem) (void);
  327. #line 373 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  328. N_NIMCALL (void, writeStackTrace_njssp69aa7hvxte9bJ8uuDcg_2) (void);
  329. #line 213 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  330. static N_INLINE (void,
  331. rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system)
  332. (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g * c);
  333. #line 127 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  334. N_NOINLINE (void,
  335. addZCT_fCDI7oO1NNVXXURtxSzsRw)
  336. (tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w * s,
  337. tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g * c);
  338. #line 136 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  339. static N_INLINE (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g *,
  340. usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem) (void *usr);
  341. #line 508 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  342. N_NIMCALL (void *, newObjRC1) (TNimType * typ, NI size);
  343. #line 31 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  344. N_NIMCALL (NI32,
  345. width_PMKoCQMDTK1J9b5hq9byg38w)
  346. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg * p);
  347. #line 32 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  348. N_NIMCALL (NI32,
  349. height_PMKoCQMDTK1J9b5hq9byg38w_2)
  350. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg * p);
  351. #line 16 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  352. N_NIMCALL (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *,
  353. newPacker_SM29bfuwJVO1evHD9cQQ6NFA) (NI32 width, NI32 height);
  354. #line 266 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  355. static N_INLINE (void, asgnRef) (void **dest, void *src);
  356. #line 256 "/Users/yglukhov/Projects/nim/lib/system/gc_common.nim"
  357. N_NOINLINE (NIM_BOOL, isOnStack_dJJW59cIgsBmT59aZrOM71Mg) (void *p);
  358. #line 195 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  359. static N_INLINE (void,
  360. incRef_MV4BBk6J1qu70IbBxwEn4w_3system)
  361. (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g * c);
  362. #line 286 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  363. N_NIMCALL (void, unsureAsgnRef) (void **dest, void *src);
  364. #line 1924 "/Users/yglukhov/Projects/nim/lib/system.nim"
  365. N_NIMCALL (NI,
  366. getRefcount)
  367. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg * x);
  368. extern NIM_THREADVAR TFrame *framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw;
  369. TNimType NTI_OrSghm2BnoqwRCIldWk9bUg_;
  370. TNimType NTI_8E3LsULUktH7z5GXZa5GHg_;
  371. extern TNimType NTI_sVg18TP9cLifHyygRe9cro9aA_;
  372. extern TNimType NTI_VaVACK0bpYmqIQ0mKcHfQQ_;
  373. TNimType NTI_jDqM0WBuEPkdDq9cAbql3FQ_;
  374. extern NIM_THREADVAR tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ
  375. gch_IcYaEuuWivYAS86vFMTS3Q;
  376. NIM_CONST tyTuple_BUNQL5x2cKJaBSzOn5pwkg TM_9a0peSevLtUoiDQLr9bpNZIw_4 =
  377. { ((NI32) - 1), ((NI32) - 1) };
  378. STRING_LITERAL (TM_9a0peSevLtUoiDQLr9bpNZIw_6, "[GCASSERT] ", 11);
  379. STRING_LITERAL (TM_9a0peSevLtUoiDQLr9bpNZIw_7, "decRef: interiorPtr", 19);
  380. NIM_CONST tyArray_Re75IspeoxXy2oCZHwcRrA TM_9a0peSevLtUoiDQLr9bpNZIw_5 =
  381. { ((NimStringDesc *) & TM_9a0peSevLtUoiDQLr9bpNZIw_6),
  382. ((NimStringDesc *) & TM_9a0peSevLtUoiDQLr9bpNZIw_7) };
  383. STRING_LITERAL (TM_9a0peSevLtUoiDQLr9bpNZIw_9, "decRef", 6);
  384. NIM_CONST tyArray_Re75IspeoxXy2oCZHwcRrA TM_9a0peSevLtUoiDQLr9bpNZIw_8 =
  385. { ((NimStringDesc *) & TM_9a0peSevLtUoiDQLr9bpNZIw_6),
  386. ((NimStringDesc *) & TM_9a0peSevLtUoiDQLr9bpNZIw_9) };
  387. STRING_LITERAL (TM_9a0peSevLtUoiDQLr9bpNZIw_11, "asgnRef", 7);
  388. NIM_CONST tyArray_Re75IspeoxXy2oCZHwcRrA TM_9a0peSevLtUoiDQLr9bpNZIw_10 =
  389. { ((NimStringDesc *) & TM_9a0peSevLtUoiDQLr9bpNZIw_6),
  390. ((NimStringDesc *) & TM_9a0peSevLtUoiDQLr9bpNZIw_11) };
  391. STRING_LITERAL (TM_9a0peSevLtUoiDQLr9bpNZIw_13, "incRef: interiorPtr", 19);
  392. NIM_CONST tyArray_Re75IspeoxXy2oCZHwcRrA TM_9a0peSevLtUoiDQLr9bpNZIw_12 =
  393. { ((NimStringDesc *) & TM_9a0peSevLtUoiDQLr9bpNZIw_6),
  394. ((NimStringDesc *) & TM_9a0peSevLtUoiDQLr9bpNZIw_13) };
  395. static N_NIMCALL (void, Marker_tyRef_jDqM0WBuEPkdDq9cAbql3FQ) (void *p, NI op)
  396. {
  397. tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *a;
  398. a = (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *) p;
  399. nimGCvisit ((void *) (*a).c1, op);
  400. nimGCvisit ((void *) (*a).c2, op);
  401. }
  402.  
  403. #line 405 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  404. static N_INLINE (void, nimFrame) (TFrame * s)
  405. {
  406. NI T1_;
  407. #line 406 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  408. T1_ = (NI) 0;
  409. #line 406 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  410. {
  411. #line 406 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  412. if (!(framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL))
  413. goto LA4_;
  414. T1_ = ((NI) 0);
  415. }
  416. goto LA2_;
  417. LA4_:;
  418. {
  419. #line 406 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  420. T1_ =
  421. ((NI)
  422. ((NI16) ((*framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1))));
  423. }
  424. LA2_:;
  425. (*s).calldepth = ((NI16) (T1_));
  426. #line 407 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  427. (*s).prev = framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw;
  428. #line 408 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  429. framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw = s;
  430. #line 409 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  431. {
  432. #line 409 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  433. if (!((*s).calldepth == ((NI16) 2000)))
  434. goto LA9_;
  435. #line 409 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  436. stackOverflow_II46IjNZztN9bmbxUD8dt8g ();
  437. }
  438. LA9_:;
  439. }
  440.  
  441.  
  442. #line 70 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  443. static N_INLINE (void, popFrame) (void)
  444. {
  445.  
  446. #line 71 "/Users/yglukhov/Projects/nim/lib/system/excpt.nim"
  447. framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr_HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
  448. }
  449.  
  450.  
  451. #line 16 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  452. N_NIMCALL (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *,
  453. newPacker_SM29bfuwJVO1evHD9cQQ6NFA) (NI32 width, NI32 height)
  454. {
  455. tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *result;
  456. nimfr_ ("newPacker", "rect_packer.nim");
  457. result = (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *) 0;
  458. #line 18 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  459. nimln_ (18, "rect_packer.nim");
  460. result =
  461. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *)
  462. newObj ((&NTI_jDqM0WBuEPkdDq9cAbql3FQ_),
  463. sizeof
  464. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg));
  465. #line 20 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  466. nimln_ (20, "rect_packer.nim");
  467. __android_log_print (((int) 4), "NIM_APP", "alloc packer %p",
  468. ((void *) (result)));
  469. #line 22 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  470. nimln_ (22, "rect_packer.nim");
  471. (*result).rect.Field2 = width;
  472. #line 23 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  473. nimln_ (23, "rect_packer.nim");
  474. (*result).rect.Field3 = height;
  475. #line 24 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  476. nimln_ (24, "rect_packer.nim");
  477. (*result).maxX = ((NI32) - 1);
  478. #line 25 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  479. nimln_ (25, "rect_packer.nim");
  480. (*result).maxY = ((NI32) - 1);
  481. popFrame ();
  482. return result;
  483. }
  484.  
  485.  
  486. #line 12 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  487. N_NIMCALL (void,
  488. finalizePacker_dx3Injb3mV7A9bGBkeEqyhQ)
  489. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg * p)
  490. {
  491. nimfr_ ("finalizePacker", "rect_packer.nim");
  492. #line 13 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  493. nimln_ (13, "rect_packer.nim");
  494. __android_log_print (((int) 4), "NIM_APP", "finalize packer %p",
  495. ((void *) (p)));
  496. popFrame ();
  497. }
  498.  
  499.  
  500. #line 909 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  501. static N_INLINE (void, GC_disable_neD9cJp4S9clvdaq5qqNFZAQsystem) (void)
  502. {
  503.  
  504. #line 913 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  505. gch_IcYaEuuWivYAS86vFMTS3Q.recGcLock += ((NI) 1);
  506. }
  507.  
  508.  
  509. #line 195 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  510. static N_INLINE (void,
  511. incRef_MV4BBk6J1qu70IbBxwEn4w_3system)
  512. (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g * c)
  513. {
  514. nimfr_ ("incRef", "gc.nim");
  515. #line 119 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  516. nimln_ (119, "gc.nim");
  517. {
  518. NIM_BOOL T3_;
  519. #line 196 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  520. nimln_ (196, "gc.nim");
  521. #line 196 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  522. T3_ = (NIM_BOOL) 0;
  523. T3_ =
  524. isAllocatedPtr_z2vVXV0fNaF6us30VoVfIw ((&gch_IcYaEuuWivYAS86vFMTS3Q.
  525. region), ((void *) (c)));
  526. if (! !(T3_))
  527. goto LA4_;
  528. #line 120 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  529. nimln_ (120, "gc.nim");
  530. echoBinSafe (TM_9a0peSevLtUoiDQLr9bpNZIw_12, 2);
  531. #line 121 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  532. nimln_ (121, "gc.nim");
  533. GC_disable_neD9cJp4S9clvdaq5qqNFZAQsystem ();
  534. #line 122 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  535. nimln_ (122, "gc.nim");
  536. writeStackTrace_njssp69aa7hvxte9bJ8uuDcg_2 ();
  537. #line 125 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  538. nimln_ (125, "gc.nim");
  539. exit (((NI) 1));
  540. }
  541. LA4_:;
  542. #line 197 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  543. nimln_ (197, "gc.nim");
  544. #line 197 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  545. (*c).refcount = (NI) ((NU32) ((*c).refcount) + (NU32) (((NI) 8)));
  546. popFrame ();
  547. }
  548.  
  549.  
  550. #line 136 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  551. static N_INLINE (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g *,
  552. usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem) (void *usr)
  553. {
  554. tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g *result;
  555. nimfr_ ("usrToCell", "gc.nim");
  556. result = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g *) 0;
  557. #line 138 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  558. nimln_ (138, "gc.nim");
  559. #line 138 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  560.  
  561. #line 138 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  562. result =
  563. ((tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g
  564. *) ((NI) ((NU32) (((NI) (ptrdiff_t) (usr))) -
  565. (NU32) (((NI)
  566. sizeof (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g))))));
  567. popFrame ();
  568. return result;
  569. }
  570.  
  571.  
  572. #line 213 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  573. static N_INLINE (void,
  574. rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system)
  575. (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g * c)
  576. {
  577. nimfr_ ("rtlAddZCT", "gc.nim");
  578. #line 217 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  579. nimln_ (217, "gc.nim");
  580. addZCT_fCDI7oO1NNVXXURtxSzsRw ((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c);
  581. popFrame ();
  582. }
  583.  
  584.  
  585. #line 221 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  586. static N_INLINE (void,
  587. decRef_MV4BBk6J1qu70IbBxwEn4wsystem)
  588. (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g * c)
  589. {
  590. nimfr_ ("decRef", "gc.nim");
  591. #line 119 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  592. nimln_ (119, "gc.nim");
  593. {
  594. NIM_BOOL T3_;
  595. #line 222 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  596. nimln_ (222, "gc.nim");
  597. #line 222 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  598. T3_ = (NIM_BOOL) 0;
  599. T3_ =
  600. isAllocatedPtr_z2vVXV0fNaF6us30VoVfIw ((&gch_IcYaEuuWivYAS86vFMTS3Q.
  601. region), ((void *) (c)));
  602. if (! !(T3_))
  603. goto LA4_;
  604. #line 120 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  605. nimln_ (120, "gc.nim");
  606. echoBinSafe (TM_9a0peSevLtUoiDQLr9bpNZIw_5, 2);
  607. #line 121 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  608. nimln_ (121, "gc.nim");
  609. GC_disable_neD9cJp4S9clvdaq5qqNFZAQsystem ();
  610. #line 122 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  611. nimln_ (122, "gc.nim");
  612. writeStackTrace_njssp69aa7hvxte9bJ8uuDcg_2 ();
  613. #line 125 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  614. nimln_ (125, "gc.nim");
  615. exit (((NI) 1));
  616. }
  617. LA4_:;
  618. #line 119 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  619. nimln_ (119, "gc.nim");
  620. {
  621. #line 223 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  622. nimln_ (223, "gc.nim");
  623. #line 223 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  624. if (! !(((NU32) (((NI) 8)) <= (NU32) ((*c).refcount))))
  625. goto LA8_;
  626. #line 120 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  627. nimln_ (120, "gc.nim");
  628. echoBinSafe (TM_9a0peSevLtUoiDQLr9bpNZIw_8, 2);
  629. #line 121 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  630. nimln_ (121, "gc.nim");
  631. GC_disable_neD9cJp4S9clvdaq5qqNFZAQsystem ();
  632. #line 122 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  633. nimln_ (122, "gc.nim");
  634. writeStackTrace_njssp69aa7hvxte9bJ8uuDcg_2 ();
  635. #line 125 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  636. nimln_ (125, "gc.nim");
  637. exit (((NI) 1));
  638. }
  639. LA8_:;
  640. #line 224 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  641. nimln_ (224, "gc.nim");
  642. {
  643. #line 224 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  644. (*c).refcount -= ((NI) 8);
  645. #line 224 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  646. if (!((NU32) ((*c).refcount) < (NU32) (((NI) 8))))
  647. goto LA12_;
  648. #line 225 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  649. nimln_ (225, "gc.nim");
  650. rtlAddZCT_MV4BBk6J1qu70IbBxwEn4w_2system (c);
  651. }
  652. LA12_:;
  653. popFrame ();
  654. }
  655.  
  656.  
  657. #line 266 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  658. static N_INLINE (void, asgnRef) (void **dest, void *src)
  659. {
  660. nimfr_ ("asgnRef", "gc.nim");
  661. #line 119 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  662. nimln_ (119, "gc.nim");
  663. {
  664. NIM_BOOL T3_;
  665. #line 268 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  666. nimln_ (268, "gc.nim");
  667. #line 268 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  668.  
  669. #line 268 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  670. T3_ = (NIM_BOOL) 0;
  671. T3_ = isOnStack_dJJW59cIgsBmT59aZrOM71Mg (((void *) (dest)));
  672. if (! !(!(T3_)))
  673. goto LA4_;
  674. #line 120 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  675. nimln_ (120, "gc.nim");
  676. echoBinSafe (TM_9a0peSevLtUoiDQLr9bpNZIw_10, 2);
  677. #line 121 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  678. nimln_ (121, "gc.nim");
  679. GC_disable_neD9cJp4S9clvdaq5qqNFZAQsystem ();
  680. #line 122 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  681. nimln_ (122, "gc.nim");
  682. writeStackTrace_njssp69aa7hvxte9bJ8uuDcg_2 ();
  683. #line 125 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  684. nimln_ (125, "gc.nim");
  685. exit (((NI) 1));
  686. }
  687. LA4_:;
  688. #line 270 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  689. nimln_ (270, "gc.nim");
  690. {
  691. tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g *T10_;
  692. #line 394 "/Users/yglukhov/Projects/nim/lib/system.nim"
  693. nimln_ (394, "system.nim");
  694. #line 270 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  695. nimln_ (270, "gc.nim");
  696. if (! !((src == NIM_NIL)))
  697. goto LA8_;
  698. #line 270 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  699.  
  700. #line 270 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  701. T10_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g *) 0;
  702. T10_ = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem (src);
  703. incRef_MV4BBk6J1qu70IbBxwEn4w_3system (T10_);
  704. }
  705. LA8_:;
  706. #line 271 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  707. nimln_ (271, "gc.nim");
  708. {
  709. tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g *T15_;
  710. #line 394 "/Users/yglukhov/Projects/nim/lib/system.nim"
  711. nimln_ (394, "system.nim");
  712. #line 271 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  713. nimln_ (271, "gc.nim");
  714. if (! !(((*dest) == NIM_NIL)))
  715. goto LA13_;
  716. #line 271 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  717.  
  718. #line 271 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  719. T15_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g *) 0;
  720. T15_ = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem ((*dest));
  721. decRef_MV4BBk6J1qu70IbBxwEn4wsystem (T15_);
  722. }
  723. LA13_:;
  724. #line 272 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  725. nimln_ (272, "gc.nim");
  726. (*dest) = src;
  727. popFrame ();
  728. }
  729.  
  730.  
  731. #line 36 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  732. N_NIMCALL (tyTuple_BUNQL5x2cKJaBSzOn5pwkg,
  733. pack_EIC7Vd7yGE4ZHLRumOuT7g)
  734. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg * p,
  735. NI32 width, NI32 height)
  736. {
  737. tyTuple_BUNQL5x2cKJaBSzOn5pwkg result;
  738. NI T1_;
  739. nimfr_ ("pack", "rect_packer.nim");
  740. {
  741. memset ((void *) (&result), 0, sizeof (result));
  742. #line 41 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  743. nimln_ (41, "rect_packer.nim");
  744. #line 41 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  745. T1_ = (NI) 0;
  746. T1_ = getThreadId_9bFvoxSITMVCg7RY8KIar1Q_4 ();
  747. __android_log_print (((int) 4), "NIM_APP",
  748. "pack %d x %d into %d %d %d %d %p %d", width, height,
  749. (*p).rect.Field0, (*p).rect.Field1, (*p).rect.Field2,
  750. (*p).rect.Field3, ((void *) (p)), T1_);
  751. #line 43 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  752. nimln_ (43, "rect_packer.nim");
  753. {
  754. #line 43 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  755.  
  756. #line 43 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  757. if (! !(((*p).c1 == 0)))
  758. goto LA4_;
  759. #line 45 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  760. nimln_ (45, "rect_packer.nim");
  761. result = pack_EIC7Vd7yGE4ZHLRumOuT7g ((*p).c1, width, height);
  762. #line 46 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  763. nimln_ (46, "rect_packer.nim");
  764. {
  765. #line 29 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  766. nimln_ (29, "rect_packer.nim");
  767. if (!(((NI32) 0) <= result.Field0))
  768. goto LA8_;
  769. #line 46 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  770. nimln_ (46, "rect_packer.nim");
  771. goto BeforeRet_;
  772. }
  773. LA8_:;
  774. #line 47 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  775. nimln_ (47, "rect_packer.nim");
  776. result = pack_EIC7Vd7yGE4ZHLRumOuT7g ((*p).c2, width, height);
  777. }
  778. goto LA2_;
  779. LA4_:;
  780. {
  781. NI T11_;
  782. NI32 dw;
  783. NI32 dh;
  784. #line 49 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  785. nimln_ (49, "rect_packer.nim");
  786. #line 49 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  787. T11_ = (NI) 0;
  788. T11_ = getThreadId_9bFvoxSITMVCg7RY8KIar1Q_4 ();
  789. __android_log_print (((int) 4), "NIM_APP",
  790. "SPLIT %d x %d into %d %d %d %d %p %d", width,
  791. height, (*p).rect.Field0, (*p).rect.Field1,
  792. (*p).rect.Field2, (*p).rect.Field3, ((void *) (p)),
  793. T11_);
  794. #line 52 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  795. nimln_ (52, "rect_packer.nim");
  796. {
  797. NIM_BOOL T14_;
  798. NIM_BOOL T15_;
  799. #line 52 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  800. T14_ = (NIM_BOOL) 0;
  801. #line 52 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  802. T15_ = (NIM_BOOL) 0;
  803. T15_ = (*p).occupied;
  804. if (T15_)
  805. goto LA16_;
  806. #line 52 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  807. T15_ = ((*p).rect.Field2 < width);
  808. LA16_:;
  809. T14_ = T15_;
  810. if (T14_)
  811. goto LA17_;
  812. #line 52 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  813. T14_ = ((*p).rect.Field3 < height);
  814. LA17_:;
  815. if (!T14_)
  816. goto LA18_;
  817. #line 53 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  818. nimln_ (53, "rect_packer.nim");
  819. __android_log_print (((int) 4), "NIM_APP", "SPLIT RETURN!!!");
  820. #line 54 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  821. nimln_ (54, "rect_packer.nim");
  822. #line 54 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  823. result = TM_9a0peSevLtUoiDQLr9bpNZIw_4;
  824. goto BeforeRet_;
  825. }
  826. LA18_:;
  827. #line 55 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  828. nimln_ (55, "rect_packer.nim");
  829. __android_log_print (((int) 4), "NIM_APP", "SPLIT CONTINUE!!!");
  830. #line 60 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  831. nimln_ (60, "rect_packer.nim");
  832. {
  833. NIM_BOOL T22_;
  834. #line 60 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  835. T22_ = (NIM_BOOL) 0;
  836. #line 60 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  837. T22_ = (width == (*p).rect.Field2);
  838. if (!(T22_))
  839. goto LA23_;
  840. #line 60 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  841. T22_ = (height == (*p).rect.Field3);
  842. LA23_:;
  843. if (!T22_)
  844. goto LA24_;
  845. #line 61 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  846. nimln_ (61, "rect_packer.nim");
  847. (*p).occupied = NIM_TRUE;
  848. #line 62 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  849. nimln_ (62, "rect_packer.nim");
  850. #line 62 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  851. result.Field0 = (*p).rect.Field0;
  852. result.Field1 = (*p).rect.Field1;
  853. goto BeforeRet_;
  854. }
  855. LA24_:;
  856. #line 65 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  857. nimln_ (65, "rect_packer.nim");
  858.  
  859.  
  860. // ================ BBBAAAADDD BAD CODE FOLLOWS
  861.  
  862.  
  863. if ((*p).c1)
  864. {
  865. nimGCunrefRC1 ((*p).c1);
  866. (*p).c1 = NIM_NIL;
  867. }
  868. (*p).c1 =
  869. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *)
  870. newObjRC1 ((&NTI_jDqM0WBuEPkdDq9cAbql3FQ_),
  871. sizeof
  872. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg));
  873. #line 66 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  874. nimln_ (66, "rect_packer.nim");
  875. if ((*p).c2)
  876. {
  877. nimGCunrefRC1 ((*p).c2);
  878. (*p).c2 = NIM_NIL;
  879. }
  880. (*p).c2 =
  881. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *)
  882. newObjRC1 ((&NTI_jDqM0WBuEPkdDq9cAbql3FQ_),
  883. sizeof
  884. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg));
  885.  
  886. // ===================================== GOOD CODE FOLLOWS!!!
  887.  
  888.  
  889. asgnRef ((void **) (&(*p).c1),
  890. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *)
  891. newObj ((&NTI_jDqM0WBuEPkdDq9cAbql3FQ_),
  892. sizeof
  893. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg)));
  894. #line 66 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  895. nimln_ (66, "rect_packer.nim");
  896. asgnRef ((void **) (&(*p).c2),
  897. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *)
  898. newObj ((&NTI_jDqM0WBuEPkdDq9cAbql3FQ_),
  899. sizeof
  900. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg)));
  901.  
  902.  
  903.  
  904. // ===================================
  905.  
  906.  
  907.  
  908.  
  909. #line 68 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  910. nimln_ (68, "rect_packer.nim");
  911. __android_log_print (((int) 4), "NIM_APP", "alloc packer c1 %p",
  912. ((void *) ((*p).c1)));
  913. #line 69 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  914. nimln_ (69, "rect_packer.nim");
  915. __android_log_print (((int) 4), "NIM_APP", "alloc packer c2 %p",
  916. ((void *) ((*p).c2)));
  917. #line 73 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  918. nimln_ (73, "rect_packer.nim");
  919. #line 73 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  920. dw = (NI32) ((*p).rect.Field2 - width);
  921. #line 74 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  922. nimln_ (74, "rect_packer.nim");
  923. #line 74 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  924. dh = (NI32) ((*p).rect.Field3 - height);
  925. #line 76 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  926. nimln_ (76, "rect_packer.nim");
  927. {
  928. #line 76 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  929. if (!(dh < dw))
  930. goto LA28_;
  931. #line 77 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  932. nimln_ (77, "rect_packer.nim");
  933. (*(*p).c1).rect.Field0 = (*p).rect.Field0;
  934. (*(*p).c1).rect.Field1 = (*p).rect.Field1;
  935. (*(*p).c1).rect.Field2 = width;
  936. (*(*p).c1).rect.Field3 = (*p).rect.Field3;
  937. #line 78 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  938. nimln_ (78, "rect_packer.nim");
  939. #line 78 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  940. (*(*p).c2).rect.Field0 = (NI32) ((*p).rect.Field0 + width);
  941. (*(*p).c2).rect.Field1 = (*p).rect.Field1;
  942. #line 78 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  943. (*(*p).c2).rect.Field2 = (NI32) ((*p).rect.Field2 - width);
  944. (*(*p).c2).rect.Field3 = (*p).rect.Field3;
  945. }
  946. goto LA26_;
  947. LA28_:;
  948. {
  949. #line 80 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  950. nimln_ (80, "rect_packer.nim");
  951. (*(*p).c1).rect.Field0 = (*p).rect.Field0;
  952. (*(*p).c1).rect.Field1 = (*p).rect.Field1;
  953. (*(*p).c1).rect.Field2 = (*p).rect.Field2;
  954. (*(*p).c1).rect.Field3 = height;
  955. #line 81 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  956. nimln_ (81, "rect_packer.nim");
  957. (*(*p).c2).rect.Field0 = (*p).rect.Field0;
  958. #line 81 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  959. (*(*p).c2).rect.Field1 = (NI32) ((*p).rect.Field1 + height);
  960. (*(*p).c2).rect.Field2 = (*p).rect.Field2;
  961. #line 81 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  962. (*(*p).c2).rect.Field3 = (NI32) ((*p).rect.Field3 - height);
  963. }
  964. LA26_:;
  965. #line 84 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  966. nimln_ (84, "rect_packer.nim");
  967. result = pack_EIC7Vd7yGE4ZHLRumOuT7g ((*p).c1, width, height);
  968. }
  969. LA2_:;
  970. }
  971. BeforeRet_:;
  972. popFrame ();
  973. return result;
  974. }
  975.  
  976.  
  977. #line 31 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  978. N_NIMCALL (NI32,
  979. width_PMKoCQMDTK1J9b5hq9byg38w)
  980. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg * p)
  981. {
  982. NI32 result;
  983. nimfr_ ("width", "rect_packer.nim");
  984. result = (NI32) 0;
  985. #line 31 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  986. nimln_ (31, "rect_packer.nim");
  987. result = (*p).rect.Field2;
  988. popFrame ();
  989. return result;
  990. }
  991.  
  992.  
  993. #line 32 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  994. N_NIMCALL (NI32,
  995. height_PMKoCQMDTK1J9b5hq9byg38w_2)
  996. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg * p)
  997. {
  998. NI32 result;
  999. nimfr_ ("height", "rect_packer.nim");
  1000. result = (NI32) 0;
  1001. #line 32 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1002. nimln_ (32, "rect_packer.nim");
  1003. result = (*p).rect.Field3;
  1004. popFrame ();
  1005. return result;
  1006. }
  1007.  
  1008.  
  1009. #line 263 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  1010. static N_INLINE (void, nimGCunrefRC1) (void *p)
  1011. {
  1012. tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g *T1_;
  1013. nimfr_ ("nimGCunrefRC1", "gc.nim");
  1014. #line 264 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  1015. nimln_ (264, "gc.nim");
  1016. #line 264 "/Users/yglukhov/Projects/nim/lib/system/gc.nim"
  1017. T1_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g *) 0;
  1018. T1_ = usrToCell_yB9aH5WIlwd0xkYrcdPeXrQsystem (p);
  1019. decRef_MV4BBk6J1qu70IbBxwEn4wsystem (T1_);
  1020. popFrame ();
  1021. }
  1022.  
  1023.  
  1024. #line 86 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1025. N_NIMCALL (tyTuple_BUNQL5x2cKJaBSzOn5pwkg,
  1026. packAndGrow_wVYN2HzmO1jkebFOd0fBsA)
  1027. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg ** p,
  1028. NI32 width, NI32 height)
  1029. {
  1030. tyTuple_BUNQL5x2cKJaBSzOn5pwkg result;
  1031. nimfr_ ("packAndGrow", "rect_packer.nim");
  1032. memset ((void *) (&result), 0, sizeof (result));
  1033. {
  1034. #line 90 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1035. nimln_ (90, "rect_packer.nim");
  1036. while (1)
  1037. {
  1038. tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *newP;
  1039. NI T29_;
  1040. NI T30_;
  1041. #line 91 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1042. nimln_ (91, "rect_packer.nim");
  1043. __android_log_print (((int) 4), "NIM_APP", "packAndGrow %d x %d",
  1044. width, height);
  1045. #line 92 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1046. nimln_ (92, "rect_packer.nim");
  1047. result = pack_EIC7Vd7yGE4ZHLRumOuT7g ((*p), width, height);
  1048. #line 93 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1049. nimln_ (93, "rect_packer.nim");
  1050. {
  1051. #line 29 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1052. nimln_ (29, "rect_packer.nim");
  1053. if (!(((NI32) 0) <= result.Field0))
  1054. goto LA5_;
  1055. #line 93 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1056. nimln_ (93, "rect_packer.nim");
  1057. goto LA1;
  1058. }
  1059. LA5_:;
  1060. newP =
  1061. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *) 0;
  1062. #line 95 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1063. nimln_ (95, "rect_packer.nim");
  1064. {
  1065. NIM_BOOL T9_;
  1066. NI32 T10_;
  1067. NI32 T11_;
  1068. NIM_BOOL T13_;
  1069. NI32 T15_;
  1070. NI32 T18_;
  1071. NI32 T19_;
  1072. #line 95 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1073. T9_ = (NIM_BOOL) 0;
  1074. #line 95 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1075.  
  1076. #line 95 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1077. T10_ = (NI32) 0;
  1078. T10_ = width_PMKoCQMDTK1J9b5hq9byg38w ((*p));
  1079. #line 95 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1080. T11_ = (NI32) 0;
  1081. T11_ = height_PMKoCQMDTK1J9b5hq9byg38w_2 ((*p));
  1082. T9_ = (T10_ < T11_);
  1083. if (!(T9_))
  1084. goto LA12_;
  1085. #line 95 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1086. T13_ = (NIM_BOOL) 0;
  1087. #line 95 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1088. T13_ = ((*(*p)).maxX == ((NI32) - 1));
  1089. if (T13_)
  1090. goto LA14_;
  1091. #line 95 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1092.  
  1093. #line 95 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1094.  
  1095. #line 95 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1096. T15_ = (NI32) 0;
  1097. T15_ = width_PMKoCQMDTK1J9b5hq9byg38w ((*p));
  1098. T13_ = ((NI32) (T15_ * ((NI32) 2)) <= (*(*p)).maxX);
  1099. LA14_:;
  1100. T9_ = T13_;
  1101. LA12_:;
  1102. if (!T9_)
  1103. goto LA16_;
  1104. #line 96 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1105. nimln_ (96, "rect_packer.nim");
  1106. #line 96 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1107.  
  1108. #line 96 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1109. T18_ = (NI32) 0;
  1110. T18_ = width_PMKoCQMDTK1J9b5hq9byg38w ((*p));
  1111. #line 96 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1112. T19_ = (NI32) 0;
  1113. T19_ = height_PMKoCQMDTK1J9b5hq9byg38w_2 ((*p));
  1114. newP =
  1115. newPacker_SM29bfuwJVO1evHD9cQQ6NFA ((NI32) (T18_ * ((NI32) 2)),
  1116. T19_);
  1117. #line 97 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1118. nimln_ (97, "rect_packer.nim");
  1119. if ((*newP).c2)
  1120. {
  1121. nimGCunrefRC1 ((*newP).c2);
  1122. (*newP).c2 = NIM_NIL;
  1123. }
  1124. (*newP).c2 =
  1125. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *)
  1126. newObjRC1 ((&NTI_jDqM0WBuEPkdDq9cAbql3FQ_),
  1127. sizeof
  1128. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg));
  1129. #line 98 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1130. nimln_ (98, "rect_packer.nim");
  1131. (*(*newP).c2).rect.Field0 = width_PMKoCQMDTK1J9b5hq9byg38w ((*p));
  1132. #line 99 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1133. nimln_ (99, "rect_packer.nim");
  1134. (*(*newP).c2).rect.Field2 = width_PMKoCQMDTK1J9b5hq9byg38w ((*p));
  1135. #line 100 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1136. nimln_ (100, "rect_packer.nim");
  1137. (*(*newP).c2).rect.Field1 = ((NI32) 0);
  1138. #line 101 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1139. nimln_ (101, "rect_packer.nim");
  1140. (*(*newP).c2).rect.Field3 =
  1141. height_PMKoCQMDTK1J9b5hq9byg38w_2 ((*p));
  1142. #line 102 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1143. nimln_ (102, "rect_packer.nim");
  1144. __android_log_print (((int) 4), "NIM_APP",
  1145. "packAndGrow 1 %d %d %d %d",
  1146. (*(*newP).c2).rect.Field0,
  1147. (*(*newP).c2).rect.Field1,
  1148. (*(*newP).c2).rect.Field2,
  1149. (*(*newP).c2).rect.Field3);
  1150. } goto LA7_;
  1151. LA16_:;
  1152. {
  1153. NIM_BOOL T21_;
  1154. NI32 T23_;
  1155. NI32 T26_;
  1156. NI32 T27_;
  1157. #line 104 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1158. nimln_ (104, "rect_packer.nim");
  1159. T21_ = (NIM_BOOL) 0;
  1160. #line 104 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1161. T21_ = ((*(*p)).maxY == ((NI32) - 1));
  1162. if (T21_)
  1163. goto LA22_;
  1164. #line 104 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1165.  
  1166. #line 104 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1167.  
  1168. #line 104 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1169. T23_ = (NI32) 0;
  1170. T23_ = height_PMKoCQMDTK1J9b5hq9byg38w_2 ((*p));
  1171. T21_ = ((NI32) (T23_ * ((NI32) 2)) <= (*(*p)).maxY);
  1172. LA22_:;
  1173. if (!T21_)
  1174. goto LA24_;
  1175. #line 105 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1176. nimln_ (105, "rect_packer.nim");
  1177. #line 105 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1178. T26_ = (NI32) 0;
  1179. T26_ = width_PMKoCQMDTK1J9b5hq9byg38w ((*p));
  1180. #line 105 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1181.  
  1182. #line 105 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1183. T27_ = (NI32) 0;
  1184. T27_ = height_PMKoCQMDTK1J9b5hq9byg38w_2 ((*p));
  1185. newP =
  1186. newPacker_SM29bfuwJVO1evHD9cQQ6NFA (T26_,
  1187. (NI32) (T27_ * ((NI32) 2)));
  1188. #line 106 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1189. nimln_ (106, "rect_packer.nim");
  1190. if ((*newP).c2)
  1191. {
  1192. nimGCunrefRC1 ((*newP).c2);
  1193. (*newP).c2 = NIM_NIL;
  1194. }
  1195. (*newP).c2 =
  1196. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *)
  1197. newObjRC1 ((&NTI_jDqM0WBuEPkdDq9cAbql3FQ_),
  1198. sizeof
  1199. (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg));
  1200. #line 107 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1201. nimln_ (107, "rect_packer.nim");
  1202. (*(*newP).c2).rect.Field0 = ((NI32) 0);
  1203. #line 108 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1204. nimln_ (108, "rect_packer.nim");
  1205. (*(*newP).c2).rect.Field2 = width_PMKoCQMDTK1J9b5hq9byg38w ((*p));
  1206. #line 109 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1207. nimln_ (109, "rect_packer.nim");
  1208. (*(*newP).c2).rect.Field1 =
  1209. height_PMKoCQMDTK1J9b5hq9byg38w_2 ((*p));
  1210. #line 110 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1211. nimln_ (110, "rect_packer.nim");
  1212. (*(*newP).c2).rect.Field3 =
  1213. height_PMKoCQMDTK1J9b5hq9byg38w_2 ((*p));
  1214. #line 112 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1215. nimln_ (112, "rect_packer.nim");
  1216. __android_log_print (((int) 4), "NIM_APP",
  1217. "packAndGrow 2 %d %d %d %d",
  1218. (*(*newP).c2).rect.Field0,
  1219. (*(*newP).c2).rect.Field1,
  1220. (*(*newP).c2).rect.Field2,
  1221. (*(*newP).c2).rect.Field3);
  1222. } goto LA7_;
  1223. LA24_:;
  1224. {
  1225. #line 115 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1226. nimln_ (115, "rect_packer.nim");
  1227. goto LA1;
  1228. }
  1229. LA7_:;
  1230. #line 116 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1231. nimln_ (116, "rect_packer.nim");
  1232. (*newP).maxX = (*(*p)).maxX;
  1233. #line 117 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1234. nimln_ (117, "rect_packer.nim");
  1235. (*newP).maxY = (*(*p)).maxY;
  1236. #line 118 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1237. nimln_ (118, "rect_packer.nim");
  1238. asgnRef ((void **) (&(*newP).c1), (*p));
  1239. #line 119 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1240. nimln_ (119, "rect_packer.nim");
  1241. unsureAsgnRef ((void **) (&(*p)), newP);
  1242. #line 121 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1243. nimln_ (121, "rect_packer.nim");
  1244. #line 121 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1245. T29_ = (NI) 0;
  1246. T29_ = getRefcount ((*p));
  1247. #line 121 "/Users/yglukhov/.nimble/pkgs/rect_packer-0.1.0/rect_packer.nim"
  1248. T30_ = (NI) 0;
  1249. T30_ = getRefcount (newP);
  1250. __android_log_print (((int) 4), "NIM_APP", "p %d, newP %d", T29_,
  1251. T30_);
  1252. }} LA1:;
  1253. popFrame ();
  1254. return result;
  1255. }
  1256.  
  1257. NIM_EXTERNC N_NOINLINE (void, rect_packer_rect_packerInit000) (void)
  1258. {
  1259. nimfr_ ("rect_packer", "rect_packer.nim");
  1260. popFrame ();
  1261. }
  1262.  
  1263. NIM_EXTERNC N_NOINLINE (void, rect_packer_rect_packerDatInit000) (void)
  1264. {
  1265. static TNimNode *TM_9a0peSevLtUoiDQLr9bpNZIw_2[6];
  1266. static TNimNode *TM_9a0peSevLtUoiDQLr9bpNZIw_3[4];
  1267. static TNimNode TM_9a0peSevLtUoiDQLr9bpNZIw_0[12];
  1268. NTI_OrSghm2BnoqwRCIldWk9bUg_.size =
  1269. sizeof (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg);
  1270. NTI_OrSghm2BnoqwRCIldWk9bUg_.kind = 18;
  1271. NTI_OrSghm2BnoqwRCIldWk9bUg_.base = 0;
  1272. TM_9a0peSevLtUoiDQLr9bpNZIw_2[0] = &TM_9a0peSevLtUoiDQLr9bpNZIw_0[1];
  1273. TM_9a0peSevLtUoiDQLr9bpNZIw_0[1].kind = 1;
  1274. TM_9a0peSevLtUoiDQLr9bpNZIw_0[1].offset =
  1275. offsetof (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg,
  1276. c1);
  1277. TM_9a0peSevLtUoiDQLr9bpNZIw_0[1].typ = (&NTI_jDqM0WBuEPkdDq9cAbql3FQ_);
  1278. TM_9a0peSevLtUoiDQLr9bpNZIw_0[1].name = "c1";
  1279. TM_9a0peSevLtUoiDQLr9bpNZIw_2[1] = &TM_9a0peSevLtUoiDQLr9bpNZIw_0[2];
  1280. TM_9a0peSevLtUoiDQLr9bpNZIw_0[2].kind = 1;
  1281. TM_9a0peSevLtUoiDQLr9bpNZIw_0[2].offset =
  1282. offsetof (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg,
  1283. c2);
  1284. TM_9a0peSevLtUoiDQLr9bpNZIw_0[2].typ = (&NTI_jDqM0WBuEPkdDq9cAbql3FQ_);
  1285. TM_9a0peSevLtUoiDQLr9bpNZIw_0[2].name = "c2";
  1286. TM_9a0peSevLtUoiDQLr9bpNZIw_2[2] = &TM_9a0peSevLtUoiDQLr9bpNZIw_0[3];
  1287. NTI_8E3LsULUktH7z5GXZa5GHg_.size = sizeof (tyTuple_8E3LsULUktH7z5GXZa5GHg);
  1288. NTI_8E3LsULUktH7z5GXZa5GHg_.kind = 18;
  1289. NTI_8E3LsULUktH7z5GXZa5GHg_.base = 0;
  1290. NTI_8E3LsULUktH7z5GXZa5GHg_.flags = 3;
  1291. TM_9a0peSevLtUoiDQLr9bpNZIw_3[0] = &TM_9a0peSevLtUoiDQLr9bpNZIw_0[5];
  1292. TM_9a0peSevLtUoiDQLr9bpNZIw_0[5].kind = 1;
  1293. TM_9a0peSevLtUoiDQLr9bpNZIw_0[5].offset =
  1294. offsetof (tyTuple_8E3LsULUktH7z5GXZa5GHg, Field0);
  1295. TM_9a0peSevLtUoiDQLr9bpNZIw_0[5].typ = (&NTI_sVg18TP9cLifHyygRe9cro9aA_);
  1296. TM_9a0peSevLtUoiDQLr9bpNZIw_0[5].name = "Field0";
  1297. TM_9a0peSevLtUoiDQLr9bpNZIw_3[1] = &TM_9a0peSevLtUoiDQLr9bpNZIw_0[6];
  1298. TM_9a0peSevLtUoiDQLr9bpNZIw_0[6].kind = 1;
  1299. TM_9a0peSevLtUoiDQLr9bpNZIw_0[6].offset =
  1300. offsetof (tyTuple_8E3LsULUktH7z5GXZa5GHg, Field1);
  1301. TM_9a0peSevLtUoiDQLr9bpNZIw_0[6].typ = (&NTI_sVg18TP9cLifHyygRe9cro9aA_);
  1302. TM_9a0peSevLtUoiDQLr9bpNZIw_0[6].name = "Field1";
  1303. TM_9a0peSevLtUoiDQLr9bpNZIw_3[2] = &TM_9a0peSevLtUoiDQLr9bpNZIw_0[7];
  1304. TM_9a0peSevLtUoiDQLr9bpNZIw_0[7].kind = 1;
  1305. TM_9a0peSevLtUoiDQLr9bpNZIw_0[7].offset =
  1306. offsetof (tyTuple_8E3LsULUktH7z5GXZa5GHg, Field2);
  1307. TM_9a0peSevLtUoiDQLr9bpNZIw_0[7].typ = (&NTI_sVg18TP9cLifHyygRe9cro9aA_);
  1308. TM_9a0peSevLtUoiDQLr9bpNZIw_0[7].name = "Field2";
  1309. TM_9a0peSevLtUoiDQLr9bpNZIw_3[3] = &TM_9a0peSevLtUoiDQLr9bpNZIw_0[8];
  1310. TM_9a0peSevLtUoiDQLr9bpNZIw_0[8].kind = 1;
  1311. TM_9a0peSevLtUoiDQLr9bpNZIw_0[8].offset =
  1312. offsetof (tyTuple_8E3LsULUktH7z5GXZa5GHg, Field3);
  1313. TM_9a0peSevLtUoiDQLr9bpNZIw_0[8].typ = (&NTI_sVg18TP9cLifHyygRe9cro9aA_);
  1314. TM_9a0peSevLtUoiDQLr9bpNZIw_0[8].name = "Field3";
  1315. TM_9a0peSevLtUoiDQLr9bpNZIw_0[4].len = 4;
  1316. TM_9a0peSevLtUoiDQLr9bpNZIw_0[4].kind = 2;
  1317. TM_9a0peSevLtUoiDQLr9bpNZIw_0[4].sons = &TM_9a0peSevLtUoiDQLr9bpNZIw_3[0];
  1318. NTI_8E3LsULUktH7z5GXZa5GHg_.node = &TM_9a0peSevLtUoiDQLr9bpNZIw_0[4];
  1319. TM_9a0peSevLtUoiDQLr9bpNZIw_0[3].kind = 1;
  1320. TM_9a0peSevLtUoiDQLr9bpNZIw_0[3].offset =
  1321. offsetof (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg,
  1322. rect);
  1323. TM_9a0peSevLtUoiDQLr9bpNZIw_0[3].typ = (&NTI_8E3LsULUktH7z5GXZa5GHg_);
  1324. TM_9a0peSevLtUoiDQLr9bpNZIw_0[3].name = "rect";
  1325. TM_9a0peSevLtUoiDQLr9bpNZIw_2[3] = &TM_9a0peSevLtUoiDQLr9bpNZIw_0[9];
  1326. TM_9a0peSevLtUoiDQLr9bpNZIw_0[9].kind = 1;
  1327. TM_9a0peSevLtUoiDQLr9bpNZIw_0[9].offset =
  1328. offsetof (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg,
  1329. occupied);
  1330. TM_9a0peSevLtUoiDQLr9bpNZIw_0[9].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ_);
  1331. TM_9a0peSevLtUoiDQLr9bpNZIw_0[9].name = "occupied";
  1332. TM_9a0peSevLtUoiDQLr9bpNZIw_2[4] = &TM_9a0peSevLtUoiDQLr9bpNZIw_0[10];
  1333. TM_9a0peSevLtUoiDQLr9bpNZIw_0[10].kind = 1;
  1334. TM_9a0peSevLtUoiDQLr9bpNZIw_0[10].offset =
  1335. offsetof (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg,
  1336. maxX);
  1337. TM_9a0peSevLtUoiDQLr9bpNZIw_0[10].typ = (&NTI_sVg18TP9cLifHyygRe9cro9aA_);
  1338. TM_9a0peSevLtUoiDQLr9bpNZIw_0[10].name = "maxX";
  1339. TM_9a0peSevLtUoiDQLr9bpNZIw_2[5] = &TM_9a0peSevLtUoiDQLr9bpNZIw_0[11];
  1340. TM_9a0peSevLtUoiDQLr9bpNZIw_0[11].kind = 1;
  1341. TM_9a0peSevLtUoiDQLr9bpNZIw_0[11].offset =
  1342. offsetof (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg,
  1343. maxY);
  1344. TM_9a0peSevLtUoiDQLr9bpNZIw_0[11].typ = (&NTI_sVg18TP9cLifHyygRe9cro9aA_);
  1345. TM_9a0peSevLtUoiDQLr9bpNZIw_0[11].name = "maxY";
  1346. TM_9a0peSevLtUoiDQLr9bpNZIw_0[0].len = 6;
  1347. TM_9a0peSevLtUoiDQLr9bpNZIw_0[0].kind = 2;
  1348. TM_9a0peSevLtUoiDQLr9bpNZIw_0[0].sons = &TM_9a0peSevLtUoiDQLr9bpNZIw_2[0];
  1349. NTI_OrSghm2BnoqwRCIldWk9bUg_.node = &TM_9a0peSevLtUoiDQLr9bpNZIw_0[0];
  1350. NTI_jDqM0WBuEPkdDq9cAbql3FQ_.size =
  1351. sizeof (tyObject_RectPackercolonObjectType__OrSghm2BnoqwRCIldWk9bUg *);
  1352. NTI_jDqM0WBuEPkdDq9cAbql3FQ_.kind = 22;
  1353. NTI_jDqM0WBuEPkdDq9cAbql3FQ_.base = (&NTI_OrSghm2BnoqwRCIldWk9bUg_);
  1354. NTI_jDqM0WBuEPkdDq9cAbql3FQ_.marker = Marker_tyRef_jDqM0WBuEPkdDq9cAbql3FQ;
  1355. (&NTI_jDqM0WBuEPkdDq9cAbql3FQ_)->finalizer =
  1356. (void *) finalizePacker_dx3Injb3mV7A9bGBkeEqyhQ;
  1357. }
Add Comment
Please, Sign In to add comment