1. A method for executing operations in a data processing device comprising of: executing a set of operations out-of-order, upon executing an operation that generates a first exception, continuing to execute operations out-of-order, to avoid deadlock, until an operation of a first type is to be executed, and flushing a pipeline once said operation of said first type is to be executed.