mirror of
https://github.com/PDP-10/its.git
synced 2026-01-21 10:13:35 +00:00
Fix high core purification.
The PURIMP routine splits the page map into three parts: writable data at the bottom, a large gap in the middle (which the GC will manage later), and read-only code/data at the top. There's one CORBLK call for each of these. The final call, which gave pages BOT/2000 to 400 as the range, failed with %EROPG when it hit the first unmapped page after the end of the pure data. Experimentation shows that, at least with current ITS, this is how CORBLK normally behaves. Fix by calculating the final page from RHITOP rather than assuming 400.
This commit is contained in:
parent
20faeb8d24
commit
3122c71eb2
@ -462,10 +462,16 @@ PURIMP: MOVE A,FRETOP
|
||||
HRL B,A
|
||||
DOTCAL CORBLK,[[1000,,0],[1000,,-1],B]
|
||||
FATAL INITM -- CAN'T FLUSH MIDDLE CORE
|
||||
;Disabled because this fails with ITS 1648.
|
||||
; MOVE A,[-<400-PHIBOT>,,PHIBOT]
|
||||
; DOTCAL CORBLK,[[1000,,210000],[1000,,-1],A]
|
||||
; FATAL INITM -- CAN'T PURIFY HIGH CORE
|
||||
MOVE B,RHITOP
|
||||
SUBI B,1
|
||||
ASH B,-10.
|
||||
MOVEI A,PHIBOT
|
||||
SUB A,B
|
||||
SUBI A,1
|
||||
HRLS A
|
||||
HRRI A,PHIBOT
|
||||
DOTCAL CORBLK,[[1000,,210000],[1000,,-1],A]
|
||||
FATAL INITM -- CAN'T PURIFY HIGH CORE
|
||||
]
|
||||
|
||||
IFE ITS,[
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user