1. A method for predicting critical sections, the method comprising: updating a critical section estimator based on historical analysis of atomic/store instruction pairs during runtime, and performing lock elision when said critical section estimator indicates said atomic/store instruction pairs define a critical section.