Enabling Symbol Resolution of Private Symbols in Legacy Programs and Optimizing Access to the Private Symbols
AssigneeOracle International Corporation
InventorsMason Chang, Hassan Chafi, Eric Sedlar
Life of this patent
Estimating the term…
Loading patent…
AssigneeOracle International Corporation
InventorsMason Chang, Hassan Chafi, Eric Sedlar
Estimating the term…
A method for generating a binary executable of a program so that private symbols in a module are accessible from another module. In one embodiment, the method compiles a source program to an intermediate representation and scans the representation to find the private symbols in the program's modules. It then wraps a function around each private symbol. When called, the function returns an address of the private symbol, so that the other module can access the symbol from outside the module in which the symbol is found. At run time, a call is made to obtain the address of the function, which is then executed to obtain the address of the private symbol so that the symbol can be accessed. In another embodiment, a Just-In-Time compiler executes the wrapper functions and patches the executable program with the direct address of the private symbol to avoid a call to the wrapper function.
A method for generating an executable binary of a program in which private symbols are externally accessible, the method comprising:
A non-transitory computer-readable medium containing one or more sequences of instructions for generating an executable binary of a program in which private symbols are externally accessible, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
A method for generating an executable binary of a program in which private symbols are externally accessible, the method comprising:
A non-transitory computer-readable medium containing one or more sequences of instructions for generating an executable binary of a program in which private symbols are externally accessible, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
Dependencies are inferred from the claim text.