G
glen herrmannsfeldt
(snip on 8087 stack overflow detection)
Multiple imprecise interrupts. The IBM 360/91 allows for out of
order execution. If a program interrupt occurs, it has to finish
all instructions that are in the pipeline, possibly generating
more exceptions. Also, the PSW might be nowhere near the actual
cause. Probably too long ago for C++, though. I know one was
running at least until 1981.
This was 'fixed' in S/370, as it is hard to do virtual
storage if you don't know where the page fault occurred.
-- glen
I believe the original plan was to do the spills in hardware, but they
didn't have the die space, so they decided to punt to software. But
as you said, they never tried doing it until it was too late. The
problems center around being able to handle multiple exceptional
conditions at once - basically you can't quite figure out the exact
state of the 8087 at the point where it generates the stack overflow.
Once the interrupt happens, several possible exceptions have gotten
merged together.
And no, it was never fixed.
Multiple imprecise interrupts. The IBM 360/91 allows for out of
order execution. If a program interrupt occurs, it has to finish
all instructions that are in the pipeline, possibly generating
more exceptions. Also, the PSW might be nowhere near the actual
cause. Probably too long ago for C++, though. I know one was
running at least until 1981.
This was 'fixed' in S/370, as it is hard to do virtual
storage if you don't know where the page fault occurred.
-- glen