Patent ID: 7219334

Claim:
A program conversion method comprising: controlling a computer to generate machine language code by compiling source code of an executable program, comprising the steps of: reading from memory said executable program to be an objective for processing, determining whether or not predetermined variables of said executable program live across predetermined invoking of a function, and determining whether said invoking of said function corresponds to invoking of a function generated by the compiler or corresponds to invoking of an external function if said variable lives across said invoking of said function; determining based on determination registers for allocation of said variables, a register being selected from: a volatile register of which register value is destructed during execution of said invoking of said function, a non-volatile register of which register value is reserved during execution of said invoking of said function, and a semi-volatile register of which register value is reserved during execution of said invoking of said external function and is destructed during execution of a function generated by said compiler, wherein an arbitrary number of said semi-volatile registers are created from a preexisting number of said non-volatile registers; and generating machine language code based on said determination to store in memory.