A method for operating a computer to allow the running of a source program
written for a first computer on a second computer. The second computer is
assumed to include a branch taken trap. The method defines a plurality of
collection points in the source program. A trap handling routine is
supplied for processing traps. The trap handling routine determines
whether execution has halted because of a branch taken trap at one of the
collection points, and if so, retrieves information identifying an event
from a queue and transferring the information and control to a handler in
the source code. If execution has halted because of a branch taken trap at
a location other than one of the collection points, execution of the
source program is resumed with the branch taken trap armed. If execution
has halted because of an asynchronous event, information specifying the
event is stored in the queue, the branch taken trap is armed, and
execution of the source program is resumed at the point at which execution
was halted. The method may also be applied to optimizing compilers to
provide a method for handling asynchronous interrupts in the optimized
code.
Een methode om een computer in werking te stellen om het runnen van een bron geschreven programma voor een eerste computer toe te staan over een tweede computer. De tweede computer wordt verondersteld om een tak genomen val te omvatten. De methode bepaalt een meerderheid van inzamelingspunten in het bronprogramma. Een val behandelende routine wordt geleverd voor verwerkingsvallen. De val behandelende routine bepaalt of de uitvoering wegens een tak genomen val bij één van de inzamelingspunten heeft gestopt, en als zo, informatie teruggewonnen die een gebeurtenis van een rij en de informatie overbrengt en controle identificeert naar een manager in de broncode. Als de uitvoering wegens een tak genomen val bij een plaats buiten één van de inzamelingspunten heeft gestopt, wordt de uitvoering van het bronprogramma hervat met de tak genomen bewapende val. Als de uitvoering wegens een asynchrone gebeurtenis heeft gestopt, wordt de informatie die de gebeurtenis specificeert opgeslagen in de rij, wordt de tak genomen val bewapend, en de uitvoering van het bronprogramma wordt hervat op het punt waarop de uitvoering werd gestopt. De methode kan ook op het optimaliseren van compilers worden toegepast om te verstrekken een methode voor asynchrone behandeling in de geoptimaliseerde code onderbreekt.