Method and system for implementing subroutine calls and returns in binary translation sub-systems of computers

   
   

A sequence of input language (IL) instructions of a guest system is converted, for example by binary translation, into a corresponding sequence of output language (OL) instructions of a host system, which executes the OL instructions. In order to determine the correct return address after any IL call to a subroutine, the corresponding OL return address is stored in an array at a location determined by a hash function. After completion of execution of the OL translation of the IL subroutine, execution is transferred to the address stored in the array at the location where the correct OL return address was previously stored. This location may have been overwritten by some other OL return address. This transfer will therefore be to one of three places: 1) either back to the correct OL call site, in which case execution may continue as normal; 2) directly to a back-up return address recovery module; or 3) to an incorrect OL call site (created upon translation of some other IL subroutine call), in which case execution is transferred to the back-up recovery module. A confirmation instruction block is included in each OL call site to determine whether the transfer was to the correct or incorrect call site.

Een reeks de instructies van de inputtaal (IL) van een gastsysteem wordt omgezet, bijvoorbeeld door binaire vertaling, in een overeenkomstige reeks de instructies van de outputtaal (OL) van een gastheersysteem, dat de instructies OL uitvoert. Om het correcte terugkeeradres na om het even welke vraag van IL aan een subroutine te bepalen, wordt het overeenkomstige OL terugkeeradres opgeslagen in een serie bij een plaats die door een knoeiboelfunctie wordt bepaald. Na voltooiing van uitvoering van de Ol- vertaling van de subroutine van IL, wordt de uitvoering overgebracht naar het adres dat in de serie bij de plaats wordt opgeslagen waar het correcte OL terugkeeradres eerder werd opgeslagen. Deze plaats kan door één of ander ander OL terugkeeradres beschreven te zijn. Deze overdracht zal daarom aan één van drie plaatsen zijn: 1) één van beiden terug naar de correcte OL vraagplaats, waarbij de uitvoering kan verdergaan normaal; 2) rechtstreeks aan een hulp de terugwinningsmodule van het terugkeeradres; of 3) aan een onjuiste OL vraagplaats (die op vertaling van één of andere andere de subroutinevraag van IL wordt gecreeerd), waarbij de uitvoering wordt overgebracht naar de hulpterugwinningsmodule. Een blok van de bevestigingsinstructie is inbegrepen in elke OL vraagplaats om te bepalen of de overdracht aan de correcte of onjuiste vraagplaats was.

 
Web www.patentalert.com

< Communications apparatus, communication system, plug-in module control method, and computer-readable recording medium where program for executing by computer is recorded

< Apparatus and method for communicating the completion of asynchronous input/output

> Pre-authenticated communication within a secure computer network

> Pre-execution logon (PEL)

~ 00105