Patent ID: 7197747

Claim:
A compiling method comprising the steps of: generating a first intermediate representation program from a source program, said first intermediate representation program being inserted with an exception check instruction (hereinafter referred to as an “S-PEI”) prior to an instruction by which a program is unusually terminated (hereinafter referred to as an “H-PEI”); extracting a block including a plurality of sequenced instructions in written order of said first intermediate representation program; generating first dependency graph information for said block, said first dependency graph information including nodes corresponding to instructions and arcs provided between nodes having a dependent relation between them, wherein arcs (hereinafter referred to as “exception dependent arcs”) corresponding to exception dependencies are differentiated from arcs (hereinafter referred to as “non-exception-dependent arcs”) corresponding to dependency other than exception dependencies; determining whether or not an H-PEI node is executed more advantageously with a constraint by an exception dependent arc than without a constraint by said exception dependency, based on a criterion for determining advantage in terms of execution time; if it is determined that the H-PEI node is executed more advantageously without a constraint by an exception dependent arc than with a constraint by the exception dependency, generating second dependency graph in which the front edge of the exception dependent arc is moved to another node so that an instruction sequence including said H-PEI node and one or more successive nodes that follow said H-PEI node is speculatively executed; generating a second intermediate representation program including an intermediate program portion (hereinafter referred to as a “second intermediate representation program portion”) resulting from scheduling of an intermediate representation program portion (hereinafter referred to as a “first intermediate representation portion”) corresponding to said second dependency graph information is scheduled; and generating an object program based on said second intermediate representation program.