Patent ID: 8972994
Filing Date: 2015-03-03
Classification: G06F,Y10S

Abstract:
1. A method to bypass an object lock, comprising: detecting a type of instruction set architecture (ISA) associated with a processor in response to receiving an object lock request from the processor, the lock request associated with object lock code to lock an object, the object comprising target code; generating a bypass code shell when the object associated with the object lock request has no history of contention, the bypass code shell to execute in a managed runtime environment (MRE); preventing generation of the bypass code shell when bypass count statistics associated with the object include a count of prior bypass failure instances greater than a predetermined threshold value; diverting a portion of speculative execution from executing in the MRE to executing on the processor external to the MRE by including processor-based instructions in the code shell that are associated with the type of ISA; when the object is uncontended, invoking a first one of the processor-based instructions to initiate speculative execution of the target code associated with the lock request while a second one of the processor-based instructions is suspended, the second one of the processor-based instructions associated with the object lock code; and when the object is contended, invoking the second one of the processor-based instructions.