tipg.clumac 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902
  1. ;CLU Compiler Version 3.72
  2. .symtab 8000.,4095.
  3. .insrt clusys;alpha >
  4. ; 36
  5. tdesc t$1,page,[]
  6. string s$1,no
  7. tdesc t$2,diskpage,[]
  8. string s$2,yes
  9. sdesc t$3,oneof,[s$1,ttype(tnull),s$2,t$2]
  10. ; page
  11. cluster page,t$1,t$3,[]
  12. odlink ov$1,tbool+true
  13. oduse
  14. proc f$17
  15. ; 40
  16. odlink ov$2,tbad
  17. pcdesc f$18,pagemap$create,0.
  18. pcall f$18
  19. odset rr,ov$2
  20. assn rr,$false
  21. odset rr,ov$1
  22. $rtnc $none
  23. corp page$%%init
  24. ; 42
  25. ptdesc t$4,[],[t$1],[]
  26. ; nilpage
  27. oduse
  28. proc f$1,[],[],[],t$4,[]
  29. odget rr,ov$1
  30. $ift
  31. $then
  32. pcdesc f$19,page$%%init,0.
  33. pcall f$19
  34. $fi
  35. ; 43
  36. args [$nil]
  37. pcdesc f$20,[t$3,make_no],1.
  38. pcall f$20
  39. cvtup rr
  40. $rtn rr
  41. corp page$nilpage,[]
  42. ; 46
  43. string s$3,full
  44. edesc t$5,s$3,[]
  45. string s$4,negsize
  46. edesc t$6,s$4,[]
  47. string s$5,toobig
  48. edesc t$7,s$5,[]
  49. ptdesc t$8,[ttype(tint),ttype(tany)],[t$1],[t$5,t$6,t$7]
  50. ; create
  51. oduse
  52. proc f$2,[v$1,v$2],[v$3,v$4,v$5,v$6],[tbad,tbad,tbad,tbad],t$8,[]
  53. odget rr,ov$1
  54. $ift
  55. $then
  56. pcall f$19
  57. $fi
  58. ; 49
  59. $if
  60. args [v$1(er)]
  61. args [$zero]
  62. pcdesc f$21,int$lt,2.
  63. pcall f$21
  64. $test
  65. $then
  66. edesc t$9,s$4,[]
  67. signal t$9,0.
  68. $fi
  69. ; 50
  70. $if
  71. args [v$1(er)]
  72. link c$1,tint+256.
  73. args [c$1(lr)]
  74. pcdesc f$22,int$gt,2.
  75. pcall f$22
  76. $test
  77. $then
  78. edesc t$10,s$5,[]
  79. signal t$10,0.
  80. $fi
  81. ; 51
  82. $if
  83. args [v$1(er)]
  84. args [$zero]
  85. pcdesc f$23,int$equal,2.
  86. pcall f$23
  87. $test
  88. $then
  89. pcdesc f$24,page$nilpage,0.
  90. pcall f$24
  91. cvtdown rr
  92. cvtup rr
  93. $rtn rr
  94. $fi
  95. ; 53
  96. args [v$1(er)]
  97. pcdesc f$25,findsize,1.
  98. pcall f$25
  99. assn v$3(er),rr
  100. ; 55
  101. vargen x$1,tbad
  102. $catch x$1(er)
  103. args [v$3(er)]
  104. pcdesc f$26,diskpage$allocate,1.
  105. pcall f$26
  106. assn v$4(er),rr
  107. $except x$1(er),[s$3],[],[]
  108. edesc t$11,s$3,[]
  109. signal t$11,0.
  110. $uncatch x$1(er)
  111. ; 56
  112. args [v$4(er)]
  113. pcdesc f$27,page$%allocate_mem,1.
  114. pcall f$27
  115. assn v$5(er),rr
  116. ; 57
  117. args [$zero]
  118. args [v$4(er)]
  119. pcdesc f$28,diskpage$get_size,1.
  120. pcall f$28
  121. args [rr]
  122. args [$one]
  123. pcdesc f$29,int$sub,2.
  124. pcall f$29
  125. args [rr]
  126. pcdesc f$30,int$from_to,2.
  127. pcall f$30
  128. $for l1,[v$6(er)]
  129. ; 58
  130. args [v$5(er)]
  131. args [v$6(er)]
  132. args [v$2(er)]
  133. pcdesc f$31,mempage$store,3.
  134. pcall f$31
  135. $rof l1
  136. ; 60
  137. args [v$4(er)]
  138. pcdesc f$32,[t$3,make_yes],1.
  139. pcall f$32
  140. cvtup rr
  141. $rtn rr
  142. corp page$create,[minsize,e]
  143. ; 63
  144. ptdesc t$12,[t$1],[],[]
  145. ; destroy
  146. oduse
  147. proc f$3,[v$7],[v$8],[tbad],t$12,[]
  148. odget rr,ov$1
  149. $ift
  150. $then
  151. pcall f$19
  152. $fi
  153. ; 64
  154. assn rr,v$7(er)
  155. $tagcase rr
  156. ; 65
  157. $tag [1.]
  158. ; 66
  159. $tag [2.]
  160. assn v$8(er),rr
  161. ; 67
  162. args [v$8(er)]
  163. pcdesc f$33,page$%free_mem,1.
  164. pcall f$33
  165. ; 68
  166. args [v$8(er)]
  167. pcdesc f$34,diskpage$free,1.
  168. pcall f$34
  169. $etagcase
  170. $rtnc $none
  171. corp page$destroy,[p]
  172. ; 72
  173. ptdesc t$13,[t$1,t$1],[ttype(tbool)],[]
  174. ; equal
  175. oduse
  176. proc f$4,[v$9,v$10],[],[],t$13,[]
  177. odget rr,ov$1
  178. $ift
  179. $then
  180. pcall f$19
  181. $fi
  182. ; 73
  183. args [v$9(er)]
  184. args [v$10(er)]
  185. pcdesc f$35,[t$3,equal],2.
  186. pcall f$35
  187. $rtn rr
  188. corp page$equal,[p1,p2]
  189. ; 76
  190. ptdesc t$14,[t$1],[ttype(tint)],[]
  191. ; get_size
  192. oduse
  193. proc f$5,[v$11],[v$12],[tbad],t$14,[]
  194. odget rr,ov$1
  195. $ift
  196. $then
  197. pcall f$19
  198. $fi
  199. ; 77
  200. assn rr,v$11(er)
  201. $tagcase rr
  202. ; 78
  203. $tag [1.]
  204. assn rr,$zero
  205. $rtn rr
  206. ; 79
  207. $tag [2.]
  208. assn v$12(er),rr
  209. args [v$12(er)]
  210. pcall f$28
  211. $rtn rr
  212. $etagcase
  213. corp page$get_size,[p]
  214. ; 83
  215. string s$6,bounds
  216. edesc t$15,s$6,[]
  217. ptdesc t$16,[t$1,ttype(tint)],[ttype(tany)],[t$15]
  218. ; fetch
  219. oduse
  220. proc f$6,[v$13,v$14],[v$15,v$16],[tbad,tbad],t$16,[]
  221. odget rr,ov$1
  222. $ift
  223. $then
  224. pcall f$19
  225. $fi
  226. ; 84
  227. assn rr,v$13(er)
  228. $tagcase rr
  229. ; 85
  230. $tag [1.]
  231. edesc t$17,s$6,[]
  232. signal t$17,0.
  233. ; 86
  234. $tag [2.]
  235. assn v$15(er),rr
  236. ; 87
  237. $if
  238. args [v$14(er)]
  239. args [$zero]
  240. pcall f$21
  241. args [rr]
  242. args [v$14(er)]
  243. args [v$15(er)]
  244. pcall f$28
  245. args [rr]
  246. pcdesc f$36,int$ge,2.
  247. pcall f$36
  248. args [rr]
  249. pcdesc f$37,bool$or,2.
  250. pcall f$37
  251. $test
  252. $then
  253. edesc t$18,s$6,[]
  254. signal t$18,0.
  255. $fi
  256. ; 88
  257. args [v$15(er)]
  258. pcdesc f$38,page$%put_in_mem,1.
  259. pcall f$38
  260. assn v$16(er),rr
  261. ; 89
  262. args [v$16(er)]
  263. args [v$14(er)]
  264. pcdesc f$39,mempage$fetch,2.
  265. pcall f$39
  266. $rtn rr
  267. $etagcase
  268. corp page$fetch,[p,i]
  269. ; 93
  270. edesc t$19,s$6,[]
  271. ptdesc t$20,[t$1,ttype(tint),ttype(tany)],[],[t$19]
  272. ; store
  273. oduse
  274. proc f$7,[v$17,v$18,v$19],[v$20,v$21],[tbad,tbad],t$20,[]
  275. odget rr,ov$1
  276. $ift
  277. $then
  278. pcall f$19
  279. $fi
  280. ; 94
  281. assn rr,v$17(er)
  282. $tagcase rr
  283. ; 95
  284. $tag [1.]
  285. edesc t$21,s$6,[]
  286. signal t$21,0.
  287. ; 96
  288. $tag [2.]
  289. assn v$20(er),rr
  290. ; 97
  291. $if
  292. args [v$18(er)]
  293. args [$zero]
  294. pcall f$21
  295. args [rr]
  296. args [v$18(er)]
  297. args [v$20(er)]
  298. pcall f$28
  299. args [rr]
  300. pcall f$36
  301. args [rr]
  302. pcall f$37
  303. $test
  304. $then
  305. edesc t$22,s$6,[]
  306. signal t$22,0.
  307. $fi
  308. ; 98
  309. args [v$20(er)]
  310. pcall f$38
  311. assn v$21(er),rr
  312. ; 99
  313. args [v$21(er)]
  314. args [v$18(er)]
  315. args [v$19(er)]
  316. pcall f$31
  317. $etagcase
  318. $rtnc $none
  319. corp page$store,[p,i,e]
  320. ; 107
  321. tdesc t$23,mempage,[]
  322. ptdesc t$24,[t$2],[t$23],[]
  323. ; %allocate_mem
  324. oduse
  325. proc f$8,[v$22],[v$23,v$24],[tbad,tbad],t$24,[]
  326. odget rr,ov$1
  327. $ift
  328. $then
  329. pcall f$19
  330. $fi
  331. ; 108
  332. args [v$22(er)]
  333. pcdesc f$40,diskpage$get_sizeno,1.
  334. pcall f$40
  335. assn v$23(er),rr
  336. ; 109
  337. $loop
  338. ; 114
  339. vargen x$2,tbad
  340. $catch x$2(er)
  341. args [v$23(er)]
  342. pcdesc f$41,mempage$allocate,1.
  343. pcall f$41
  344. assn v$24(er),rr
  345. odget rr,ov$2
  346. args [rr]
  347. args [v$22(er)]
  348. args [v$24(er)]
  349. pcdesc f$42,pagemap$enter,3.
  350. pcall f$42
  351. assn rr,v$24(er)
  352. $rtn rr
  353. $except x$2(er),[s$3],[],[]
  354. ; 115
  355. pcdesc f$43,page$%do_page_replacement,0.
  356. pcall f$43
  357. $uncatch x$2(er)
  358. $pool
  359. $label l2
  360. corp page$%allocate_mem,[d]
  361. ; 123
  362. ptdesc t$25,[t$2],[],[]
  363. ; %free_mem
  364. oduse
  365. proc f$9,[v$25],[v$26],[tbad],t$25,[]
  366. odget rr,ov$1
  367. $ift
  368. $then
  369. pcall f$19
  370. $fi
  371. ; 125
  372. vargen x$3,tbad
  373. $catch x$3(er)
  374. odget rr,ov$2
  375. args [rr]
  376. args [v$25(er)]
  377. pcdesc f$44,pagemap$lookup,2.
  378. pcall f$44
  379. assn v$26(er),rr
  380. string s$7,not_there
  381. $except x$3(er),[s$7],[],[]
  382. $rtnc $none
  383. $uncatch x$3(er)
  384. ; 126
  385. odget rr,ov$2
  386. args [rr]
  387. args [v$25(er)]
  388. pcdesc f$45,pagemap$remove,2.
  389. pcall f$45
  390. ; 127
  391. args [v$26(er)]
  392. pcdesc f$46,mempage$free,1.
  393. pcall f$46
  394. $rtnc $none
  395. corp page$%free_mem,[d]
  396. ; 130
  397. ; %put_in_mem
  398. oduse
  399. proc f$10,[v$27],[v$28],[tbad],t$24,[]
  400. odget rr,ov$1
  401. $ift
  402. $then
  403. pcall f$19
  404. $fi
  405. ; 132
  406. vargen x$4,tbad
  407. $catch x$4(er)
  408. odget rr,ov$2
  409. args [rr]
  410. args [v$27(er)]
  411. pcall f$44
  412. assn v$28(er),rr
  413. $except x$4(er),[s$7],[],[]
  414. ; 133
  415. args [v$27(er)]
  416. pcall f$27
  417. assn v$28(er),rr
  418. ; 134
  419. args [v$27(er)]
  420. args [v$28(er)]
  421. pcdesc f$47,page$%swapin,2.
  422. pcall f$47
  423. $uncatch x$4(er)
  424. ; 136
  425. assn rr,v$28(er)
  426. $rtn rr
  427. corp page$%put_in_mem,[d]
  428. ; 144
  429. ptdesc t$26,[],[],[]
  430. ; %do_page_replacement
  431. oduse
  432. proc f$11,[],[v$29],[tbad],t$26,[]
  433. odget rr,ov$1
  434. $ift
  435. $then
  436. pcall f$19
  437. $fi
  438. ; 146
  439. odget rr,ov$2
  440. args [rr]
  441. pcdesc f$48,pagemap$elements,1.
  442. pcall f$48
  443. $for l3,[v$29(er)]
  444. ; 147
  445. args [v$29(er)]
  446. pcdesc f$49,page$%write_to_disk,1.
  447. pcall f$49
  448. $rof l3
  449. $rtnc $none
  450. corp page$%do_page_replacement,[]
  451. ; 151
  452. ; %write_to_disk
  453. oduse
  454. proc f$12,[v$30],[v$31],[tbad],t$25,[]
  455. odget rr,ov$1
  456. $ift
  457. $then
  458. pcall f$19
  459. $fi
  460. ; 153
  461. vargen x$5,tbad
  462. $catch x$5(er)
  463. odget rr,ov$2
  464. args [rr]
  465. args [v$30(er)]
  466. pcall f$44
  467. assn v$31(er),rr
  468. $except x$5(er),[s$7],[],[]
  469. $rtnc $none
  470. $uncatch x$5(er)
  471. ; 154
  472. args [v$30(er)]
  473. args [v$31(er)]
  474. pcdesc f$50,page$%swapout,2.
  475. pcall f$50
  476. ; 155
  477. args [v$30(er)]
  478. pcall f$33
  479. $rtnc $none
  480. corp page$%write_to_disk,[d]
  481. ; 158
  482. ptdesc t$27,[t$2,t$23],[],[]
  483. ; %swapin
  484. oduse
  485. proc f$13,[v$32,v$33],[v$34,v$35,v$36],[tbad,tbad,tbad],t$27,[]
  486. odget rr,ov$1
  487. $ift
  488. $then
  489. pcall f$19
  490. $fi
  491. ; 159
  492. args [v$32(er)]
  493. pcdesc f$51,diskpage$read,1.
  494. pcall f$51
  495. assn v$34(er),rr
  496. ; 160
  497. assn v$35(er),$zero
  498. ; 161
  499. args [v$34(er)]
  500. tdesc t$28,array,[ttype(tany)]
  501. pcdesc f$52,[t$28,elements],1.
  502. pcall f$52
  503. $for l4,[v$36(er)]
  504. ; 162
  505. args [v$33(er)]
  506. args [v$35(er)]
  507. args [v$36(er)]
  508. pcall f$31
  509. ; 163
  510. args [v$35(er)]
  511. args [$one]
  512. pcdesc f$53,int$add,2.
  513. pcall f$53
  514. assn v$35(er),rr
  515. $rof l4
  516. $rtnc $none
  517. corp page$%swapin,[d,m]
  518. ; 167
  519. ; %swapout
  520. oduse
  521. proc f$14,[v$37,v$38],[v$39,v$40],[tbad,tbad],t$27,[]
  522. odget rr,ov$1
  523. $ift
  524. $then
  525. pcall f$19
  526. $fi
  527. ; 168
  528. pcdesc f$54,[t$28,new],0.
  529. pcall f$54
  530. assn v$39(er),rr
  531. ; 169
  532. args [$zero]
  533. args [v$37(er)]
  534. pcall f$28
  535. args [rr]
  536. args [$one]
  537. pcall f$29
  538. args [rr]
  539. pcall f$30
  540. $for l5,[v$40(er)]
  541. ; 170
  542. args [v$39(er)]
  543. args [v$38(er)]
  544. args [v$40(er)]
  545. pcall f$39
  546. args [rr]
  547. pcdesc f$55,[t$28,addh],2.
  548. pcall f$55
  549. $rof l5
  550. ; 172
  551. args [v$37(er)]
  552. args [v$39(er)]
  553. pcdesc f$56,diskpage$write,2.
  554. pcall f$56
  555. $rtnc $none
  556. corp page$%swapout,[d,m]
  557. ; 179
  558. tdesc t$29,stream,[]
  559. ptdesc t$30,[t$1,t$29],[],[]
  560. ; print
  561. oduse
  562. proc f$15,[v$41,v$42],[v$43],[tbad],t$30,[]
  563. odget rr,ov$1
  564. $ift
  565. $then
  566. pcall f$19
  567. $fi
  568. ; 180
  569. assn rr,v$41(er)
  570. $tagcase rr
  571. ; 181
  572. $tag [1.]
  573. string s$8,Null
  574. link c$2,s$8
  575. args [c$2(lr)]
  576. args [v$42(er)]
  577. pcdesc f$57,stream$puts,2.
  578. pcall f$57
  579. ; 182
  580. $tag [2.]
  581. assn v$43(er),rr
  582. ; 183
  583. args [v$43(er)]
  584. args [v$42(er)]
  585. pcdesc f$58,diskpage$print,2.
  586. pcall f$58
  587. $etagcase
  588. $rtnc $none
  589. corp page$print,[p,s]
  590. ; 187
  591. ptdesc t$31,[t$29],[],[]
  592. ; print_pagemap
  593. oduse
  594. proc f$16,[v$44],[],[],t$31,[]
  595. odget rr,ov$1
  596. $ift
  597. $then
  598. pcall f$19
  599. $fi
  600. ; 188
  601. odget rr,ov$2
  602. args [rr]
  603. args [v$44(er)]
  604. pcdesc f$59,pagemap$print,2.
  605. pcall f$59
  606. $rtnc $none
  607. corp page$print_pagemap,[s]
  608. retsulc page
  609. ; 197
  610. tdesc t$32,pagemap,[]
  611. string s$9,name
  612. string s$10,value
  613. sdesc t$33,record,[s$9,t$2,s$10,t$23]
  614. tdesc t$34,array,[t$33]
  615. ; pagemap
  616. cluster pagemap,t$32,t$34,[]
  617. ; 203
  618. ptdesc t$35,[],[t$32],[]
  619. ; create
  620. proc f$60,[],[],[],t$35,[]
  621. ; 204
  622. pcdesc f$66,[t$34,new],0.
  623. pcall f$66
  624. cvtup rr
  625. $rtn rr
  626. corp pagemap$create,[]
  627. ; 207
  628. string s$11,duplicate_entry
  629. edesc t$36,s$11,[]
  630. ptdesc t$37,[t$32,t$2,t$23],[],[t$36]
  631. ; enter
  632. proc f$61,[v$45,v$46,v$47],[v$48],[tbad],t$37,[]
  633. ; 208
  634. args [v$45(er)]
  635. pcdesc f$67,[t$34,elements],1.
  636. pcall f$67
  637. $for l6,[v$48(er)]
  638. ; 209
  639. $if
  640. args [v$48(er)]
  641. pcdesc f$68,[t$33,get_name],1.
  642. pcall f$68
  643. args [rr]
  644. args [v$46(er)]
  645. pcdesc f$69,diskpage$equal,2.
  646. pcall f$69
  647. $test
  648. $then
  649. edesc t$38,s$11,[]
  650. signal t$38,0.
  651. $fi
  652. $rof l6
  653. ; 211
  654. args [v$45(er)]
  655. args [v$46(er)]
  656. args [v$47(er)]
  657. recgen [2.,1.]
  658. args [rr]
  659. pcdesc f$70,[t$34,addh],2.
  660. pcall f$70
  661. $rtnc $none
  662. corp pagemap$enter,[pm,d,m]
  663. ; 214
  664. edesc t$39,s$7,[]
  665. ptdesc t$40,[t$32,t$2],[t$23],[t$39]
  666. ; lookup
  667. proc f$62,[v$49,v$50],[v$51],[tbad],t$40,[]
  668. ; 215
  669. args [v$49(er)]
  670. pcall f$67
  671. $for l7,[v$51(er)]
  672. ; 216
  673. $if
  674. args [v$51(er)]
  675. pcall f$68
  676. args [rr]
  677. args [v$50(er)]
  678. pcall f$69
  679. $test
  680. $then
  681. args [v$51(er)]
  682. pcdesc f$71,[t$33,get_value],1.
  683. pcall f$71
  684. $rtn rr
  685. $fi
  686. $rof l7
  687. ; 218
  688. edesc t$41,s$7,[]
  689. signal t$41,0.
  690. corp pagemap$lookup,[pm,d]
  691. ; 221
  692. ptdesc t$42,[t$32,t$2],[],[]
  693. ; remove
  694. proc f$63,[v$52,v$53],[v$54,v$55],[tbad,tbad],t$42,[]
  695. ; 222
  696. args [v$52(er)]
  697. pcdesc f$72,[t$34,indexes],1.
  698. pcall f$72
  699. $for l8,[v$54(er)]
  700. ; 223
  701. $if
  702. args [v$52(er)]
  703. args [v$54(er)]
  704. pcdesc f$73,[t$34,fetch],2.
  705. pcall f$73
  706. args [rr]
  707. pcall f$68
  708. args [rr]
  709. args [v$53(er)]
  710. pcall f$69
  711. $test
  712. $then
  713. ; 224
  714. args [v$52(er)]
  715. pcdesc f$74,[t$34,remh],1.
  716. pcall f$74
  717. assn v$55(er),rr
  718. ; 225
  719. $if
  720. args [v$55(er)]
  721. pcall f$68
  722. args [rr]
  723. args [v$53(er)]
  724. pcall f$69
  725. args [rr]
  726. pcdesc f$75,bool$not,1.
  727. pcall f$75
  728. $test
  729. $then
  730. ; 226
  731. args [v$52(er)]
  732. args [v$54(er)]
  733. args [v$55(er)]
  734. pcdesc f$76,[t$34,store],3.
  735. pcall f$76
  736. $fi
  737. ; 228
  738. $rtnc $none
  739. $fi
  740. $rof l8
  741. $rtnc $none
  742. corp pagemap$remove,[pm,d]
  743. ; 233
  744. itdesc t$43,[t$32],[t$2],[]
  745. ; elements
  746. iter f$64,[v$56],[v$57],[tbad],t$43,[]
  747. ; 234
  748. args [v$56(er)]
  749. pcall f$67
  750. $for l9,[v$57(er)]
  751. ; 235
  752. args [v$57(er)]
  753. pcall f$68
  754. $yield rr
  755. $rof l9
  756. $rtnc $none
  757. reti pagemap$elements,[pm]
  758. ; 243
  759. ptdesc t$44,[t$32,t$29],[],[]
  760. ; print
  761. proc f$65,[v$58,v$59],[v$60],[tbad],t$44,[]
  762. ; 244
  763. string s$12,Pagemap:
  764. link c$3,s$12
  765. args [c$3(lr)]
  766. args [v$59(er)]
  767. pcdesc f$77,stream$putl,2.
  768. pcall f$77
  769. ; 245
  770. args [v$58(er)]
  771. pcall f$67
  772. $for l10,[v$60(er)]
  773. ; 246
  774. string s$13, name=
  775. link c$4,s$13
  776. args [c$4(lr)]
  777. args [v$59(er)]
  778. pcall f$57
  779. ; 247
  780. args [v$60(er)]
  781. pcall f$68
  782. args [rr]
  783. args [v$59(er)]
  784. pcall f$58
  785. ; 248
  786. string s$14, value=
  787. link c$5,s$14
  788. args [c$5(lr)]
  789. args [v$59(er)]
  790. pcall f$57
  791. ; 249
  792. args [v$60(er)]
  793. pcall f$71
  794. args [rr]
  795. args [v$59(er)]
  796. pcdesc f$78,mempage$print,2.
  797. pcall f$78
  798. ; 250
  799. args [$nulls]
  800. args [v$59(er)]
  801. pcall f$77
  802. $rof l10
  803. ; 252
  804. args [$nulls]
  805. args [v$59(er)]
  806. pcall f$77
  807. $rtnc $none
  808. corp pagemap$print,[pm,s]
  809. retsulc pagemap
  810. cluster
  811. ; 261
  812. string s$15,badsize
  813. edesc t$45,s$15,[]
  814. ptdesc t$46,[ttype(tint)],[ttype(tint)],[t$45]
  815. ; findsize
  816. proc f$79,[v$61],[v$62],[tbad],t$46,[]
  817. ; 268
  818. $if
  819. args [v$61(er)]
  820. args [$zero]
  821. pcall f$21
  822. $test
  823. $then
  824. edesc t$47,s$15,[]
  825. signal t$47,0.
  826. $fi
  827. ; 269
  828. $if
  829. args [v$61(er)]
  830. args [$zero]
  831. pcall f$23
  832. $test
  833. $then
  834. assn rr,$zero
  835. $rtn rr
  836. $fi
  837. ; 270
  838. args [$one]
  839. link c$6,tint+8.
  840. args [c$6(lr)]
  841. pcall f$30
  842. $for l11,[v$62(er)]
  843. ; 271
  844. $if
  845. args [v$61(er)]
  846. args [$two]
  847. args [v$62(er)]
  848. pcdesc f$80,int$power,2.
  849. pcall f$80
  850. args [rr]
  851. pcdesc f$81,int$le,2.
  852. pcall f$81
  853. $test
  854. $then
  855. assn rr,v$62(er)
  856. $rtn rr
  857. $fi
  858. $rof l11
  859. ; 273
  860. edesc t$48,s$15,[]
  861. signal t$48,0.
  862. corp findsize,[size]
  863. ; 276
  864. ; sizetab
  865. proc f$82,[v$63],[],[],t$46,[]
  866. ; 280
  867. $if
  868. args [v$63(er)]
  869. args [$zero]
  870. pcall f$21
  871. $iff
  872. $then
  873. args [v$63(er)]
  874. args [c$6(lr)]
  875. pcall f$22
  876. $fi
  877. $test
  878. $then
  879. edesc t$49,s$15,[]
  880. signal t$49,0.
  881. $fi
  882. ; 281
  883. $if
  884. args [v$63(er)]
  885. args [$zero]
  886. pcall f$23
  887. $test
  888. $then
  889. assn rr,$zero
  890. $rtn rr
  891. $fi
  892. ; 282
  893. args [$two]
  894. args [v$63(er)]
  895. pcall f$80
  896. $rtn rr
  897. corp sizetab,[sizeno]
  898. retsulc
  899. .insrt clusys;omega >