mirror of
https://github.com/PDP-10/its.git
synced 2026-03-23 17:22:35 +00:00
71 lines
2.8 KiB
Plaintext
71 lines
2.8 KiB
Plaintext
'<PCODE "1MNSALV">
|
||
|
||
<PACKAGE "MNEME-SALV">
|
||
|
||
<ENTRY MNEME-SALV MAX-LOCAL OTHERWISE>
|
||
|
||
<USE "PIO" "CPYFIL" "SORTX">
|
||
<SETG PIO-PAGE-LIMIT 50>
|
||
|
||
<SETG MAX-LOCAL 6>
|
||
|
||
<SETG OTHERWISE 3>
|
||
|
||
<SETG WORSTCASE 0>
|
||
|
||
<GC-MON T>
|
||
|
||
<SETG UPDATE %<RSUBR!- '[ %<PCODE!- "1MNSALV" 0> UPDATE #DECL ("VALUE" ANY
|
||
CHANP CHANP FIX "OPTIONAL" WORD) CLOSEP MNFILL ALLOCP COPY-FILE OPENP PRINTP
|
||
READP %<TYPE-W CHANP VECTOR> T "Trying to update extension?" "SALVGR >"
|
||
"SALTMP > VANISH;" "PRINT" ![!] OUTCHAN "Copying input file"
|
||
"Input channel is: " " Output channel is: "
|
||
" Warnings: This function clobbers temporary file! "
|
||
"Reading buckets and allocating new buckets" %<RGLOC WORSTCASE T>
|
||
"Allocating SORTUV. No. of items= " "Max dht-bucket-size: "
|
||
"Allocating SORTUV2" "Sorting on address field" "Sort done. Flush SORTUV2"
|
||
"PASS 1: allocate new space and fill" "Can't do instances of instances yet."
|
||
"Write new dht blocks." UVECTOR
|
||
"Pass 2: modify by following ptrs back to old item"
|
||
"Found strange backpointer." "Worst case number of uses: " %<RGLOC OTHERWISE T>
|
||
"DONE" %<RGLOC FIXED T> NON-INVERT %<RGLOC MAX-LOCAL T> %<RGLOC TEMP-UVEC99-LEN
|
||
T> %<RGLOC TEMP-UVEC99 T> %<RGLOC TMPUV T>]>>
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,UPDATE PGLUE ![715849727 -1 -1048576!]>>
|
||
|
||
<AND <ASSIGNED? GLUE> .GLUE <PUT ,UPDATE GLUE ![336613655 100732993 -16099049327
|
||
-2214591488 84153621 5721240371 33290584337 4563420164 18253660432 4580180736
|
||
-13153144815 -34358951108 -17125556173 -17161518912 13891602436 83906560
|
||
1141948428 8404992 286523904 17179934721 22549365564 -17179065279 335548417
|
||
17200840725 17179955200 17214472195 217252032 3221228547 16106144833 20976640
|
||
16864256 -17125601263 787260 4308533250 532224 201538576 5368774656 2500001856
|
||
21299200 3224617217 17246979089 528388 17185374209 4563403009 33286013953
|
||
21474869265 17179902000 786432 72699907 217252608 50333728 12595444 0 1118464
|
||
83968064 262144 -34342960384 525249 4362076224 4116 4456449 1158414784 290816
|
||
458752 2164260866 4295098624 64 2147492096 34865152 17180393472 17196908544 1027
|
||
281018372 19059752960 1073742081 4564192256 8503580 7517384704 4429512960 64
|
||
268435455 786446 1048588 262240 524378 786518 263436 787779!]>>
|
||
|
||
<SETG MNEME-SALV %<RSUBR-ENTRY '[UPDATE MNEME-SALV #DECL ("VALUE" STRING STRING
|
||
"OPTIONAL" STRING STRING)] 73>>
|
||
|
||
<SETG MNFILL %<RSUBR-ENTRY '[UPDATE MNFILL #DECL ("VALUE" UVECTOR CHANP CHANP <
|
||
UVECTOR UVECTOR>)] 960>>
|
||
|
||
<SETG FIXED <IUVECTOR 66 0>>
|
||
|
||
<SETG TMPUV <IUVECTOR 66 0>>
|
||
|
||
<GDECL (FIXED TMPUV) <UVECTOR [66 FIX]>>
|
||
|
||
<SETG TEMP-UVEC99 <IUVECTOR <SETG TEMP-UVEC99-LEN 100> 0>>
|
||
|
||
<GDECL (TEMP-UVEC99-LEN) FIX (TEMP-UVEC99) <UVECTOR [REST FIX]>>
|
||
|
||
<SETG IUVEC99 %<RSUBR-ENTRY '[UPDATE IUVEC99 #DECL ("VALUE" <UVECTOR FIX [REST
|
||
FIX]> FIX)] 1288>>
|
||
|
||
<SETG GETUSES %<RSUBR-ENTRY '[UPDATE GETUSES #DECL ("VALUE" UVECTOR CHANP FIX
|
||
FIX)] 1339>>
|
||
|
||
<ENDPACKAGE>
|
||
|