Abstract. This paper describes a mechanism for “fusing” concurrent invocations of exclusive methods. The target of our work is object-oriented languages with concurrent extensions. In the languages, concurrent invocations of exclusive methods are serialized; only one invocation executes immediately and the others wait for their turn. The mechanism fuses multiple waiting invocations to a cheaper operation such as a single invocation. The programmers describe fusion rules, which specify method invocations that can be fused and an operation that substitutes for the invocations. The mechanism works effectively in the execution in synchronization bottlenecks, which are objects on which exclusive methods wait a long time for their turn. We have implemented a language that has the mechanism and tested the usefulness of the mechanism through experiments on a symmetric multiprocessor, the Sun Enterprise 10000. We have confirmed that the mechanism made programs with synchronization bottlen...