When an execution program is to be compiled, based on information for the
inlining of a function in this program, data concerning a lock set is
generated for a lock for a resource due to the inlined function. Further,
based on the lock data, the data concerning a lock count set upon the
execution of code for the target program is added to this program. Then,
when an exception has occurred during the execution of the program, the
data concerning the lock count is employed to obtain the lock count at
the time of execution of the code whereat the exception occurred, and the
lock count set at the time of execution of an exception handler for this
exception. After the locks for the resource have been released in a
number equivalent to a difference between the two lock counts, the
process for this exception is initiated.