Patent Document ID: 5579518
Application ID: 08455255
Patent Status: 1

Claim One:
1. A data processing system including a message compiler, for an object-oriented language with which object types are determined during execution of a programming code, said compiler compiling source code relating to a message into object code, the message compiler comprising: source code parsing means for receiving said source code and for parsing said source code to identify at least one message containing said source code to be transmitted to a corresponding object; provisional type identifying means for identifying a set of candidate types for said corresponding object to which said at least one message is to be transmitted, based on a parsed result of said source code by said source code parsing means; static method-searching means for statically providing a method corresponding to each candidate type within said set of candidate types when said set of candidate types includes at least one candidate type; type-checking code producing means for producing object code at compile time to perform a type-check with each candidate type within said set of candidate types and said corresponding method, if said set of candidate types includes more than one candidate type; static call producing means for producing object code for a statically bound call based on said corresponding method statically provided by said static method-searching means if said set of candidate types includes only one correct type, and for producing object code for a statically bound call based on said corresponding method for a type-checked correct type for each candidate type within said set of candidate types; and dynamic call producing means for producing object code for a dynamically bound call, which will determine a type at execution time for the type that is unknown at compile time, if the provisional type identifying means identifies an empty set for said set of candidate types and if each candidate type within said set of candidate types is a type-checked incorrect type, wherein a first probability that said compiled object code from said source code is executed by said statically bound call during execution of said compiled object code is increased relative to a second probability that said compiled object code is executed by said dynamically bound call during execution of said compiled object code.