meta_modelica_mk_box.h 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762
  1. /* autogenerated by meta_modelica_gen_mk_box.py */
  2. /* non-atomic boxes, i.e. they contain pointers */
  3. static inline void *mmc_mk_box0(unsigned int ctor)
  4. {
  5. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(1);
  6. p->header = MMC_STRUCTHDR(0, ctor);
  7. return MMC_TAGPTR(p);
  8. }
  9. static inline void *mmc_mk_box1(unsigned int ctor, void *x0)
  10. {
  11. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(2);
  12. void **data = p->data;
  13. p->header = MMC_STRUCTHDR(1, ctor);
  14. data[0] = (void*) x0;
  15. return MMC_TAGPTR(p);
  16. }
  17. static inline void *mmc_mk_box2(unsigned int ctor, void *x0, void *x1)
  18. {
  19. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(3);
  20. void **data = p->data;
  21. p->header = MMC_STRUCTHDR(2, ctor);
  22. data[0] = (void*) x0;
  23. data[1] = (void*) x1;
  24. return MMC_TAGPTR(p);
  25. }
  26. static inline void *mmc_mk_box3(unsigned int ctor, void *x0, void *x1, void *x2)
  27. {
  28. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(4);
  29. void **data = p->data;
  30. p->header = MMC_STRUCTHDR(3, ctor);
  31. data[0] = (void*) x0;
  32. data[1] = (void*) x1;
  33. data[2] = (void*) x2;
  34. return MMC_TAGPTR(p);
  35. }
  36. static inline void *mmc_mk_box4(unsigned int ctor, void *x0, void *x1, void *x2, void *x3)
  37. {
  38. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(5);
  39. void **data = p->data;
  40. p->header = MMC_STRUCTHDR(4, ctor);
  41. data[0] = (void*) x0;
  42. data[1] = (void*) x1;
  43. data[2] = (void*) x2;
  44. data[3] = (void*) x3;
  45. return MMC_TAGPTR(p);
  46. }
  47. static inline void *mmc_mk_box5(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4)
  48. {
  49. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(6);
  50. void **data = p->data;
  51. p->header = MMC_STRUCTHDR(5, ctor);
  52. data[0] = (void*) x0;
  53. data[1] = (void*) x1;
  54. data[2] = (void*) x2;
  55. data[3] = (void*) x3;
  56. data[4] = (void*) x4;
  57. return MMC_TAGPTR(p);
  58. }
  59. static inline void *mmc_mk_box6(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5)
  60. {
  61. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(7);
  62. void **data = p->data;
  63. p->header = MMC_STRUCTHDR(6, ctor);
  64. data[0] = (void*) x0;
  65. data[1] = (void*) x1;
  66. data[2] = (void*) x2;
  67. data[3] = (void*) x3;
  68. data[4] = (void*) x4;
  69. data[5] = (void*) x5;
  70. return MMC_TAGPTR(p);
  71. }
  72. static inline void *mmc_mk_box7(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6)
  73. {
  74. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(8);
  75. void **data = p->data;
  76. p->header = MMC_STRUCTHDR(7, ctor);
  77. data[0] = (void*) x0;
  78. data[1] = (void*) x1;
  79. data[2] = (void*) x2;
  80. data[3] = (void*) x3;
  81. data[4] = (void*) x4;
  82. data[5] = (void*) x5;
  83. data[6] = (void*) x6;
  84. return MMC_TAGPTR(p);
  85. }
  86. static inline void *mmc_mk_box8(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7)
  87. {
  88. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(9);
  89. void **data = p->data;
  90. p->header = MMC_STRUCTHDR(8, ctor);
  91. data[0] = (void*) x0;
  92. data[1] = (void*) x1;
  93. data[2] = (void*) x2;
  94. data[3] = (void*) x3;
  95. data[4] = (void*) x4;
  96. data[5] = (void*) x5;
  97. data[6] = (void*) x6;
  98. data[7] = (void*) x7;
  99. return MMC_TAGPTR(p);
  100. }
  101. static inline void *mmc_mk_box9(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8)
  102. {
  103. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(10);
  104. void **data = p->data;
  105. p->header = MMC_STRUCTHDR(9, ctor);
  106. data[0] = (void*) x0;
  107. data[1] = (void*) x1;
  108. data[2] = (void*) x2;
  109. data[3] = (void*) x3;
  110. data[4] = (void*) x4;
  111. data[5] = (void*) x5;
  112. data[6] = (void*) x6;
  113. data[7] = (void*) x7;
  114. data[8] = (void*) x8;
  115. return MMC_TAGPTR(p);
  116. }
  117. static inline void *mmc_mk_box10(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9)
  118. {
  119. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(11);
  120. void **data = p->data;
  121. p->header = MMC_STRUCTHDR(10, ctor);
  122. data[0] = (void*) x0;
  123. data[1] = (void*) x1;
  124. data[2] = (void*) x2;
  125. data[3] = (void*) x3;
  126. data[4] = (void*) x4;
  127. data[5] = (void*) x5;
  128. data[6] = (void*) x6;
  129. data[7] = (void*) x7;
  130. data[8] = (void*) x8;
  131. data[9] = (void*) x9;
  132. return MMC_TAGPTR(p);
  133. }
  134. static inline void *mmc_mk_box11(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10)
  135. {
  136. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(12);
  137. void **data = p->data;
  138. p->header = MMC_STRUCTHDR(11, ctor);
  139. data[0] = (void*) x0;
  140. data[1] = (void*) x1;
  141. data[2] = (void*) x2;
  142. data[3] = (void*) x3;
  143. data[4] = (void*) x4;
  144. data[5] = (void*) x5;
  145. data[6] = (void*) x6;
  146. data[7] = (void*) x7;
  147. data[8] = (void*) x8;
  148. data[9] = (void*) x9;
  149. data[10] = (void*) x10;
  150. return MMC_TAGPTR(p);
  151. }
  152. static inline void *mmc_mk_box12(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11)
  153. {
  154. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(13);
  155. void **data = p->data;
  156. p->header = MMC_STRUCTHDR(12, ctor);
  157. data[0] = (void*) x0;
  158. data[1] = (void*) x1;
  159. data[2] = (void*) x2;
  160. data[3] = (void*) x3;
  161. data[4] = (void*) x4;
  162. data[5] = (void*) x5;
  163. data[6] = (void*) x6;
  164. data[7] = (void*) x7;
  165. data[8] = (void*) x8;
  166. data[9] = (void*) x9;
  167. data[10] = (void*) x10;
  168. data[11] = (void*) x11;
  169. return MMC_TAGPTR(p);
  170. }
  171. static inline void *mmc_mk_box13(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12)
  172. {
  173. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(14);
  174. void **data = p->data;
  175. p->header = MMC_STRUCTHDR(13, ctor);
  176. data[0] = (void*) x0;
  177. data[1] = (void*) x1;
  178. data[2] = (void*) x2;
  179. data[3] = (void*) x3;
  180. data[4] = (void*) x4;
  181. data[5] = (void*) x5;
  182. data[6] = (void*) x6;
  183. data[7] = (void*) x7;
  184. data[8] = (void*) x8;
  185. data[9] = (void*) x9;
  186. data[10] = (void*) x10;
  187. data[11] = (void*) x11;
  188. data[12] = (void*) x12;
  189. return MMC_TAGPTR(p);
  190. }
  191. static inline void *mmc_mk_box14(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13)
  192. {
  193. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(15);
  194. void **data = p->data;
  195. p->header = MMC_STRUCTHDR(14, ctor);
  196. data[0] = (void*) x0;
  197. data[1] = (void*) x1;
  198. data[2] = (void*) x2;
  199. data[3] = (void*) x3;
  200. data[4] = (void*) x4;
  201. data[5] = (void*) x5;
  202. data[6] = (void*) x6;
  203. data[7] = (void*) x7;
  204. data[8] = (void*) x8;
  205. data[9] = (void*) x9;
  206. data[10] = (void*) x10;
  207. data[11] = (void*) x11;
  208. data[12] = (void*) x12;
  209. data[13] = (void*) x13;
  210. return MMC_TAGPTR(p);
  211. }
  212. static inline void *mmc_mk_box15(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13, void *x14)
  213. {
  214. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(16);
  215. void **data = p->data;
  216. p->header = MMC_STRUCTHDR(15, ctor);
  217. data[0] = (void*) x0;
  218. data[1] = (void*) x1;
  219. data[2] = (void*) x2;
  220. data[3] = (void*) x3;
  221. data[4] = (void*) x4;
  222. data[5] = (void*) x5;
  223. data[6] = (void*) x6;
  224. data[7] = (void*) x7;
  225. data[8] = (void*) x8;
  226. data[9] = (void*) x9;
  227. data[10] = (void*) x10;
  228. data[11] = (void*) x11;
  229. data[12] = (void*) x12;
  230. data[13] = (void*) x13;
  231. data[14] = (void*) x14;
  232. return MMC_TAGPTR(p);
  233. }
  234. static inline void *mmc_mk_box16(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13, void *x14, void *x15)
  235. {
  236. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(17);
  237. void **data = p->data;
  238. p->header = MMC_STRUCTHDR(16, ctor);
  239. data[0] = (void*) x0;
  240. data[1] = (void*) x1;
  241. data[2] = (void*) x2;
  242. data[3] = (void*) x3;
  243. data[4] = (void*) x4;
  244. data[5] = (void*) x5;
  245. data[6] = (void*) x6;
  246. data[7] = (void*) x7;
  247. data[8] = (void*) x8;
  248. data[9] = (void*) x9;
  249. data[10] = (void*) x10;
  250. data[11] = (void*) x11;
  251. data[12] = (void*) x12;
  252. data[13] = (void*) x13;
  253. data[14] = (void*) x14;
  254. data[15] = (void*) x15;
  255. return MMC_TAGPTR(p);
  256. }
  257. static inline void *mmc_mk_box17(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13, void *x14, void *x15, void *x16)
  258. {
  259. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(18);
  260. void **data = p->data;
  261. p->header = MMC_STRUCTHDR(17, ctor);
  262. data[0] = (void*) x0;
  263. data[1] = (void*) x1;
  264. data[2] = (void*) x2;
  265. data[3] = (void*) x3;
  266. data[4] = (void*) x4;
  267. data[5] = (void*) x5;
  268. data[6] = (void*) x6;
  269. data[7] = (void*) x7;
  270. data[8] = (void*) x8;
  271. data[9] = (void*) x9;
  272. data[10] = (void*) x10;
  273. data[11] = (void*) x11;
  274. data[12] = (void*) x12;
  275. data[13] = (void*) x13;
  276. data[14] = (void*) x14;
  277. data[15] = (void*) x15;
  278. data[16] = (void*) x16;
  279. return MMC_TAGPTR(p);
  280. }
  281. static inline void *mmc_mk_box18(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13, void *x14, void *x15, void *x16, void *x17)
  282. {
  283. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(19);
  284. void **data = p->data;
  285. p->header = MMC_STRUCTHDR(18, ctor);
  286. data[0] = (void*) x0;
  287. data[1] = (void*) x1;
  288. data[2] = (void*) x2;
  289. data[3] = (void*) x3;
  290. data[4] = (void*) x4;
  291. data[5] = (void*) x5;
  292. data[6] = (void*) x6;
  293. data[7] = (void*) x7;
  294. data[8] = (void*) x8;
  295. data[9] = (void*) x9;
  296. data[10] = (void*) x10;
  297. data[11] = (void*) x11;
  298. data[12] = (void*) x12;
  299. data[13] = (void*) x13;
  300. data[14] = (void*) x14;
  301. data[15] = (void*) x15;
  302. data[16] = (void*) x16;
  303. data[17] = (void*) x17;
  304. return MMC_TAGPTR(p);
  305. }
  306. static inline void *mmc_mk_box19(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13, void *x14, void *x15, void *x16, void *x17, void *x18)
  307. {
  308. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(20);
  309. void **data = p->data;
  310. p->header = MMC_STRUCTHDR(19, ctor);
  311. data[0] = (void*) x0;
  312. data[1] = (void*) x1;
  313. data[2] = (void*) x2;
  314. data[3] = (void*) x3;
  315. data[4] = (void*) x4;
  316. data[5] = (void*) x5;
  317. data[6] = (void*) x6;
  318. data[7] = (void*) x7;
  319. data[8] = (void*) x8;
  320. data[9] = (void*) x9;
  321. data[10] = (void*) x10;
  322. data[11] = (void*) x11;
  323. data[12] = (void*) x12;
  324. data[13] = (void*) x13;
  325. data[14] = (void*) x14;
  326. data[15] = (void*) x15;
  327. data[16] = (void*) x16;
  328. data[17] = (void*) x17;
  329. data[18] = (void*) x18;
  330. return MMC_TAGPTR(p);
  331. }
  332. static inline void *mmc_mk_box20(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13, void *x14, void *x15, void *x16, void *x17, void *x18, void *x19)
  333. {
  334. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words(21);
  335. void **data = p->data;
  336. p->header = MMC_STRUCTHDR(20, ctor);
  337. data[0] = (void*) x0;
  338. data[1] = (void*) x1;
  339. data[2] = (void*) x2;
  340. data[3] = (void*) x3;
  341. data[4] = (void*) x4;
  342. data[5] = (void*) x5;
  343. data[6] = (void*) x6;
  344. data[7] = (void*) x7;
  345. data[8] = (void*) x8;
  346. data[9] = (void*) x9;
  347. data[10] = (void*) x10;
  348. data[11] = (void*) x11;
  349. data[12] = (void*) x12;
  350. data[13] = (void*) x13;
  351. data[14] = (void*) x14;
  352. data[15] = (void*) x15;
  353. data[16] = (void*) x16;
  354. data[17] = (void*) x17;
  355. data[18] = (void*) x18;
  356. data[19] = (void*) x19;
  357. return MMC_TAGPTR(p);
  358. }
  359. /* atomic boxes, i.e. they do not contain pointers */
  360. static inline void *mmc_mk_box0_atomic(unsigned int ctor)
  361. {
  362. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(1);
  363. p->header = MMC_STRUCTHDR(0, ctor);
  364. return MMC_TAGPTR(p);
  365. }
  366. static inline void *mmc_mk_box1_atomic(unsigned int ctor, void *x0)
  367. {
  368. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(2);
  369. void **data = p->data;
  370. p->header = MMC_STRUCTHDR(1, ctor);
  371. data[0] = (void*) x0;
  372. return MMC_TAGPTR(p);
  373. }
  374. static inline void *mmc_mk_box2_atomic(unsigned int ctor, void *x0, void *x1)
  375. {
  376. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(3);
  377. void **data = p->data;
  378. p->header = MMC_STRUCTHDR(2, ctor);
  379. data[0] = (void*) x0;
  380. data[1] = (void*) x1;
  381. return MMC_TAGPTR(p);
  382. }
  383. static inline void *mmc_mk_box3_atomic(unsigned int ctor, void *x0, void *x1, void *x2)
  384. {
  385. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(4);
  386. void **data = p->data;
  387. p->header = MMC_STRUCTHDR(3, ctor);
  388. data[0] = (void*) x0;
  389. data[1] = (void*) x1;
  390. data[2] = (void*) x2;
  391. return MMC_TAGPTR(p);
  392. }
  393. static inline void *mmc_mk_box4_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3)
  394. {
  395. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(5);
  396. void **data = p->data;
  397. p->header = MMC_STRUCTHDR(4, ctor);
  398. data[0] = (void*) x0;
  399. data[1] = (void*) x1;
  400. data[2] = (void*) x2;
  401. data[3] = (void*) x3;
  402. return MMC_TAGPTR(p);
  403. }
  404. static inline void *mmc_mk_box5_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4)
  405. {
  406. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(6);
  407. void **data = p->data;
  408. p->header = MMC_STRUCTHDR(5, ctor);
  409. data[0] = (void*) x0;
  410. data[1] = (void*) x1;
  411. data[2] = (void*) x2;
  412. data[3] = (void*) x3;
  413. data[4] = (void*) x4;
  414. return MMC_TAGPTR(p);
  415. }
  416. static inline void *mmc_mk_box6_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5)
  417. {
  418. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(7);
  419. void **data = p->data;
  420. p->header = MMC_STRUCTHDR(6, ctor);
  421. data[0] = (void*) x0;
  422. data[1] = (void*) x1;
  423. data[2] = (void*) x2;
  424. data[3] = (void*) x3;
  425. data[4] = (void*) x4;
  426. data[5] = (void*) x5;
  427. return MMC_TAGPTR(p);
  428. }
  429. static inline void *mmc_mk_box7_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6)
  430. {
  431. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(8);
  432. void **data = p->data;
  433. p->header = MMC_STRUCTHDR(7, ctor);
  434. data[0] = (void*) x0;
  435. data[1] = (void*) x1;
  436. data[2] = (void*) x2;
  437. data[3] = (void*) x3;
  438. data[4] = (void*) x4;
  439. data[5] = (void*) x5;
  440. data[6] = (void*) x6;
  441. return MMC_TAGPTR(p);
  442. }
  443. static inline void *mmc_mk_box8_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7)
  444. {
  445. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(9);
  446. void **data = p->data;
  447. p->header = MMC_STRUCTHDR(8, ctor);
  448. data[0] = (void*) x0;
  449. data[1] = (void*) x1;
  450. data[2] = (void*) x2;
  451. data[3] = (void*) x3;
  452. data[4] = (void*) x4;
  453. data[5] = (void*) x5;
  454. data[6] = (void*) x6;
  455. data[7] = (void*) x7;
  456. return MMC_TAGPTR(p);
  457. }
  458. static inline void *mmc_mk_box9_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8)
  459. {
  460. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(10);
  461. void **data = p->data;
  462. p->header = MMC_STRUCTHDR(9, ctor);
  463. data[0] = (void*) x0;
  464. data[1] = (void*) x1;
  465. data[2] = (void*) x2;
  466. data[3] = (void*) x3;
  467. data[4] = (void*) x4;
  468. data[5] = (void*) x5;
  469. data[6] = (void*) x6;
  470. data[7] = (void*) x7;
  471. data[8] = (void*) x8;
  472. return MMC_TAGPTR(p);
  473. }
  474. static inline void *mmc_mk_box10_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9)
  475. {
  476. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(11);
  477. void **data = p->data;
  478. p->header = MMC_STRUCTHDR(10, ctor);
  479. data[0] = (void*) x0;
  480. data[1] = (void*) x1;
  481. data[2] = (void*) x2;
  482. data[3] = (void*) x3;
  483. data[4] = (void*) x4;
  484. data[5] = (void*) x5;
  485. data[6] = (void*) x6;
  486. data[7] = (void*) x7;
  487. data[8] = (void*) x8;
  488. data[9] = (void*) x9;
  489. return MMC_TAGPTR(p);
  490. }
  491. static inline void *mmc_mk_box11_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10)
  492. {
  493. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(12);
  494. void **data = p->data;
  495. p->header = MMC_STRUCTHDR(11, ctor);
  496. data[0] = (void*) x0;
  497. data[1] = (void*) x1;
  498. data[2] = (void*) x2;
  499. data[3] = (void*) x3;
  500. data[4] = (void*) x4;
  501. data[5] = (void*) x5;
  502. data[6] = (void*) x6;
  503. data[7] = (void*) x7;
  504. data[8] = (void*) x8;
  505. data[9] = (void*) x9;
  506. data[10] = (void*) x10;
  507. return MMC_TAGPTR(p);
  508. }
  509. static inline void *mmc_mk_box12_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11)
  510. {
  511. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(13);
  512. void **data = p->data;
  513. p->header = MMC_STRUCTHDR(12, ctor);
  514. data[0] = (void*) x0;
  515. data[1] = (void*) x1;
  516. data[2] = (void*) x2;
  517. data[3] = (void*) x3;
  518. data[4] = (void*) x4;
  519. data[5] = (void*) x5;
  520. data[6] = (void*) x6;
  521. data[7] = (void*) x7;
  522. data[8] = (void*) x8;
  523. data[9] = (void*) x9;
  524. data[10] = (void*) x10;
  525. data[11] = (void*) x11;
  526. return MMC_TAGPTR(p);
  527. }
  528. static inline void *mmc_mk_box13_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12)
  529. {
  530. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(14);
  531. void **data = p->data;
  532. p->header = MMC_STRUCTHDR(13, ctor);
  533. data[0] = (void*) x0;
  534. data[1] = (void*) x1;
  535. data[2] = (void*) x2;
  536. data[3] = (void*) x3;
  537. data[4] = (void*) x4;
  538. data[5] = (void*) x5;
  539. data[6] = (void*) x6;
  540. data[7] = (void*) x7;
  541. data[8] = (void*) x8;
  542. data[9] = (void*) x9;
  543. data[10] = (void*) x10;
  544. data[11] = (void*) x11;
  545. data[12] = (void*) x12;
  546. return MMC_TAGPTR(p);
  547. }
  548. static inline void *mmc_mk_box14_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13)
  549. {
  550. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(15);
  551. void **data = p->data;
  552. p->header = MMC_STRUCTHDR(14, ctor);
  553. data[0] = (void*) x0;
  554. data[1] = (void*) x1;
  555. data[2] = (void*) x2;
  556. data[3] = (void*) x3;
  557. data[4] = (void*) x4;
  558. data[5] = (void*) x5;
  559. data[6] = (void*) x6;
  560. data[7] = (void*) x7;
  561. data[8] = (void*) x8;
  562. data[9] = (void*) x9;
  563. data[10] = (void*) x10;
  564. data[11] = (void*) x11;
  565. data[12] = (void*) x12;
  566. data[13] = (void*) x13;
  567. return MMC_TAGPTR(p);
  568. }
  569. static inline void *mmc_mk_box15_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13, void *x14)
  570. {
  571. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(16);
  572. void **data = p->data;
  573. p->header = MMC_STRUCTHDR(15, ctor);
  574. data[0] = (void*) x0;
  575. data[1] = (void*) x1;
  576. data[2] = (void*) x2;
  577. data[3] = (void*) x3;
  578. data[4] = (void*) x4;
  579. data[5] = (void*) x5;
  580. data[6] = (void*) x6;
  581. data[7] = (void*) x7;
  582. data[8] = (void*) x8;
  583. data[9] = (void*) x9;
  584. data[10] = (void*) x10;
  585. data[11] = (void*) x11;
  586. data[12] = (void*) x12;
  587. data[13] = (void*) x13;
  588. data[14] = (void*) x14;
  589. return MMC_TAGPTR(p);
  590. }
  591. static inline void *mmc_mk_box16_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13, void *x14, void *x15)
  592. {
  593. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(17);
  594. void **data = p->data;
  595. p->header = MMC_STRUCTHDR(16, ctor);
  596. data[0] = (void*) x0;
  597. data[1] = (void*) x1;
  598. data[2] = (void*) x2;
  599. data[3] = (void*) x3;
  600. data[4] = (void*) x4;
  601. data[5] = (void*) x5;
  602. data[6] = (void*) x6;
  603. data[7] = (void*) x7;
  604. data[8] = (void*) x8;
  605. data[9] = (void*) x9;
  606. data[10] = (void*) x10;
  607. data[11] = (void*) x11;
  608. data[12] = (void*) x12;
  609. data[13] = (void*) x13;
  610. data[14] = (void*) x14;
  611. data[15] = (void*) x15;
  612. return MMC_TAGPTR(p);
  613. }
  614. static inline void *mmc_mk_box17_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13, void *x14, void *x15, void *x16)
  615. {
  616. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(18);
  617. void **data = p->data;
  618. p->header = MMC_STRUCTHDR(17, ctor);
  619. data[0] = (void*) x0;
  620. data[1] = (void*) x1;
  621. data[2] = (void*) x2;
  622. data[3] = (void*) x3;
  623. data[4] = (void*) x4;
  624. data[5] = (void*) x5;
  625. data[6] = (void*) x6;
  626. data[7] = (void*) x7;
  627. data[8] = (void*) x8;
  628. data[9] = (void*) x9;
  629. data[10] = (void*) x10;
  630. data[11] = (void*) x11;
  631. data[12] = (void*) x12;
  632. data[13] = (void*) x13;
  633. data[14] = (void*) x14;
  634. data[15] = (void*) x15;
  635. data[16] = (void*) x16;
  636. return MMC_TAGPTR(p);
  637. }
  638. static inline void *mmc_mk_box18_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13, void *x14, void *x15, void *x16, void *x17)
  639. {
  640. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(19);
  641. void **data = p->data;
  642. p->header = MMC_STRUCTHDR(18, ctor);
  643. data[0] = (void*) x0;
  644. data[1] = (void*) x1;
  645. data[2] = (void*) x2;
  646. data[3] = (void*) x3;
  647. data[4] = (void*) x4;
  648. data[5] = (void*) x5;
  649. data[6] = (void*) x6;
  650. data[7] = (void*) x7;
  651. data[8] = (void*) x8;
  652. data[9] = (void*) x9;
  653. data[10] = (void*) x10;
  654. data[11] = (void*) x11;
  655. data[12] = (void*) x12;
  656. data[13] = (void*) x13;
  657. data[14] = (void*) x14;
  658. data[15] = (void*) x15;
  659. data[16] = (void*) x16;
  660. data[17] = (void*) x17;
  661. return MMC_TAGPTR(p);
  662. }
  663. static inline void *mmc_mk_box19_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13, void *x14, void *x15, void *x16, void *x17, void *x18)
  664. {
  665. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(20);
  666. void **data = p->data;
  667. p->header = MMC_STRUCTHDR(19, ctor);
  668. data[0] = (void*) x0;
  669. data[1] = (void*) x1;
  670. data[2] = (void*) x2;
  671. data[3] = (void*) x3;
  672. data[4] = (void*) x4;
  673. data[5] = (void*) x5;
  674. data[6] = (void*) x6;
  675. data[7] = (void*) x7;
  676. data[8] = (void*) x8;
  677. data[9] = (void*) x9;
  678. data[10] = (void*) x10;
  679. data[11] = (void*) x11;
  680. data[12] = (void*) x12;
  681. data[13] = (void*) x13;
  682. data[14] = (void*) x14;
  683. data[15] = (void*) x15;
  684. data[16] = (void*) x16;
  685. data[17] = (void*) x17;
  686. data[18] = (void*) x18;
  687. return MMC_TAGPTR(p);
  688. }
  689. static inline void *mmc_mk_box20_atomic(unsigned int ctor, void *x0, void *x1, void *x2, void *x3, void *x4, void *x5, void *x6, void *x7, void *x8, void *x9, void *x10, void *x11, void *x12, void *x13, void *x14, void *x15, void *x16, void *x17, void *x18, void *x19)
  690. {
  691. struct mmc_struct *p = (struct mmc_struct *) mmc_alloc_words_atomic(21);
  692. void **data = p->data;
  693. p->header = MMC_STRUCTHDR(20, ctor);
  694. data[0] = (void*) x0;
  695. data[1] = (void*) x1;
  696. data[2] = (void*) x2;
  697. data[3] = (void*) x3;
  698. data[4] = (void*) x4;
  699. data[5] = (void*) x5;
  700. data[6] = (void*) x6;
  701. data[7] = (void*) x7;
  702. data[8] = (void*) x8;
  703. data[9] = (void*) x9;
  704. data[10] = (void*) x10;
  705. data[11] = (void*) x11;
  706. data[12] = (void*) x12;
  707. data[13] = (void*) x13;
  708. data[14] = (void*) x14;
  709. data[15] = (void*) x15;
  710. data[16] = (void*) x16;
  711. data[17] = (void*) x17;
  712. data[18] = (void*) x18;
  713. data[19] = (void*) x19;
  714. return MMC_TAGPTR(p);
  715. }