Patent ID: 6941549

Claim:
A method of compiling to process a call from a calling program to a called program, said method comprising the steps of: at compile time, comparing a register length of said calling program to a register length of said called program; and if said register length of said calling program is greater than said register length of said called program, at compile time, selecting a first linkage service program which assigns a first location to store a least significant portion of an entirety of register contents associated with said call and a second location to store a most significant portion of said entirety of register contents, saves said least significant portion at said first location and said most significant portion at said second location, passes to said called program an identity of said first location such that said called program will access and process said least significant portion but not said most significant portion, and invokes said called program, and at compile time, generating executable code to invoke said first linkage service program, and if said register length of said calling program is less than said register length of said called program, at compile time, selecting a second linkage service program which assigns a third location to store said entirety of register contents, saves said entirety of register contents at said third location, passes to said called program an identity of said third location such that said called program will access and process said entirety of register contents, and invokes said called program, and at compile time, generating executable code to invoke said second linkage service program.