Patent ID: 7412696
Filing Date: 2008-08-12
Classification: G06F

Abstract:
1. A method for translating a program stated in a programming language to generate a computer-executable object program using statistical information on variables, the method comprising the steps of: adding to a program, during the execution of the program in a first round of program translation, a sequence of instructions for performing statistical processing to record values assigned to variables in the procedure and the frequencies of assignment of the values into a record in which a maximum number of values to be recorded is fixed and another sequence of instructions for primary profile output processing to supply information stored in the record as primary profile information after the end of the execution of the program; wherein when a number of values assigned to the variables is larger than a number of items in the record, if a value assigned to the variables has been registered into the record, a registration number of a value being registered into the record is incremented by one and if the value assigned to the variables has not been registered into the record, a value having a least registration number in the record is cleared and said value assigned to the variables is newly registered into the record with registration number one; storing the primary profile information that has been supplied into a storage unit after the end of the first round of program execution; reading in the primary profile information and setting the values stored in the primary profile information into the record; adding to the program, in a second round of program translation, a sequence of instructions for performing statistical verification processing to record into the record the appearance frequencies of values set in the record and the execution frequency of the procedure including processing to assign the values to variables and another sequence of instructions for performing final profile output processing to supply the appearance frequencies and the execution frequency stored in the record as final profile information after the end of the execution of the program; and storing the final profile information that has been supplied into the storage unit after the end of the second round of program execution.