| US6282637B1 (en)* | 1998-12-02 | 2001-08-28 | Sun Microsystems, Inc. | Partially executing a pending atomic instruction to unlock resources when cancellation of the instruction occurs |
| US7120762B2 (en)* | 2001-10-19 | 2006-10-10 | Wisconsin Alumni Research Foundation | Concurrent execution of critical sections by eliding ownership of locks |
| US7269694B2 (en) | 2003-02-13 | 2007-09-11 | Sun Microsystems, Inc. | Selectively monitoring loads to support transactional program execution |
| US7089374B2 (en)* | 2003-02-13 | 2006-08-08 | Sun Microsystems, Inc. | Selectively unmarking load-marked cache lines during transactional program execution |
| US7398355B1 (en) | 2003-02-13 | 2008-07-08 | Sun Microsystems, Inc. | Avoiding locks by transactionally executing critical sections |
| US7269693B2 (en) | 2003-02-13 | 2007-09-11 | Sun Microsystems, Inc. | Selectively monitoring stores to support transactional program execution |
| US6938130B2 (en)* | 2003-02-13 | 2005-08-30 | Sun Microsystems Inc. | Method and apparatus for delaying interfering accesses from other threads during transactional program execution |
| US20040163082A1 (en)* | 2003-02-13 | 2004-08-19 | Marc Tremblay | Commit instruction to support transactional program execution |
| US7418577B2 (en)* | 2003-02-13 | 2008-08-26 | Sun Microsystems, Inc. | Fail instruction to support transactional program execution |
| US7269717B2 (en)* | 2003-02-13 | 2007-09-11 | Sun Microsystems, Inc. | Method for reducing lock manipulation overhead during access to critical code sections |
| US7178062B1 (en)* | 2003-03-12 | 2007-02-13 | Sun Microsystems, Inc. | Methods and apparatus for executing code while avoiding interference |
| US7340569B2 (en)* | 2004-02-10 | 2008-03-04 | Wisconsin Alumni Research Foundation | Computer architecture providing transactional, lock-free execution of lock-based programs |
| US8074030B1 (en) | 2004-07-20 | 2011-12-06 | Oracle America, Inc. | Using transactional memory with early release to implement non-blocking dynamic-sized data structure |
| US7703098B1 (en) | 2004-07-20 | 2010-04-20 | Sun Microsystems, Inc. | Technique to allow a first transaction to wait on condition that affects its working set |
| US7930694B2 (en)* | 2004-09-08 | 2011-04-19 | Oracle America, Inc. | Method and apparatus for critical section prediction for intelligent lock elision |
| US7376800B1 (en) | 2004-09-14 | 2008-05-20 | Azul Systems, Inc. | Speculative multiaddress atomicity |
| US7865701B1 (en) | 2004-09-14 | 2011-01-04 | Azul Systems, Inc. | Concurrent atomic execution |
| JP2006185232A (ja)* | 2004-12-28 | 2006-07-13 | Hitachi Ltd | 複数のプログラムの実行方法、プログラム変換方法及びこれを用いたコンパイラプログラム |
| US7984248B2 (en)* | 2004-12-29 | 2011-07-19 | Intel Corporation | Transaction based shared data operations in a multiprocessor environment |
| US7664928B1 (en)* | 2005-01-19 | 2010-02-16 | Tensilica, Inc. | Method and apparatus for providing user-defined interfaces for a configurable processor |
| US20060271395A1 (en)* | 2005-05-25 | 2006-11-30 | Harris Steven T | Distributed object identity in a virtual machine cluster |
| US7882339B2 (en)* | 2005-06-23 | 2011-02-01 | Intel Corporation | Primitives to enhance thread-level speculation |
| US8799882B2 (en)* | 2005-12-07 | 2014-08-05 | Microsoft Corporation | Compiler support for optimizing decomposed software transactional memory operations |
| US7590806B2 (en) | 2005-12-07 | 2009-09-15 | Microsoft Corporation | Filtering of transactional memory operations using associative tables |
| US8180971B2 (en) | 2005-12-09 | 2012-05-15 | University Of Rochester | System and method for hardware acceleration of a software transactional memory |
| US7730286B2 (en)* | 2005-12-30 | 2010-06-01 | Intel Corporation | Software assisted nested hardware transactions |
| US20070186056A1 (en)* | 2006-02-07 | 2007-08-09 | Bratin Saha | Hardware acceleration for a software transactional memory system |
| US7991965B2 (en)* | 2006-02-07 | 2011-08-02 | Intel Corporation | Technique for using memory attributes |
| JP4712583B2 (ja)* | 2006-03-20 | 2011-06-29 | 富士通株式会社 | ソフトウェア検証プログラム、ソフトウェア検証装置、ソフトウェア検証方法 |
| US7930695B2 (en)* | 2006-04-06 | 2011-04-19 | Oracle America, Inc. | Method and apparatus for synchronizing threads on a processor that supports transactional memory |
| US7747996B1 (en)* | 2006-05-25 | 2010-06-29 | Oracle America, Inc. | Method of mixed lock-free and locking synchronization |
| US20080005504A1 (en)* | 2006-06-30 | 2008-01-03 | Jesse Barnes | Global overflow method for virtualized transactional memory |
| US7617421B2 (en)* | 2006-07-27 | 2009-11-10 | Sun Microsystems, Inc. | Method and apparatus for reporting failure conditions during transactional execution |
| US9798590B2 (en)* | 2006-09-07 | 2017-10-24 | Intel Corporation | Post-retire scheme for tracking tentative accesses during transactional execution |
| US9268710B1 (en) | 2007-01-18 | 2016-02-23 | Oracle America, Inc. | Facilitating efficient transactional memory and atomic operations via cache line marking |
| US7613908B2 (en)* | 2007-02-23 | 2009-11-03 | Intel Corporation | Selective hardware lock disabling |
| US8095750B2 (en)* | 2007-05-14 | 2012-01-10 | International Business Machines Corporation | Transactional memory system with fast processing of common conflicts |
| US9009452B2 (en) | 2007-05-14 | 2015-04-14 | International Business Machines Corporation | Computing system with transactional memory using millicode assists |
| US8095741B2 (en)* | 2007-05-14 | 2012-01-10 | International Business Machines Corporation | Transactional memory computing system with support for chained transactions |
| US8321637B2 (en)* | 2007-05-14 | 2012-11-27 | International Business Machines Corporation | Computing system with optimized support for transactional memory |
| US8117403B2 (en)* | 2007-05-14 | 2012-02-14 | International Business Machines Corporation | Transactional memory system which employs thread assists using address history tables |
| US8688920B2 (en) | 2007-05-14 | 2014-04-01 | International Business Machines Corporation | Computing system with guest code support of transactional memory |
| US9280397B2 (en)* | 2007-06-27 | 2016-03-08 | Intel Corporation | Using buffered stores or monitoring to filter redundant transactional accesses and mechanisms for mapping data to buffered metadata |
| US7865769B2 (en)* | 2007-06-27 | 2011-01-04 | International Business Machines Corporation | In situ register state error recovery and restart mechanism |
| JP5163220B2 (ja)* | 2008-03-26 | 2013-03-13 | 富士通株式会社 | キャッシュ制御装置、情報処理装置 |
| US9928071B1 (en) | 2008-05-02 | 2018-03-27 | Azul Systems, Inc. | Enhanced managed runtime environments that support deterministic record and replay |
| US8930644B2 (en)* | 2008-05-02 | 2015-01-06 | Xilinx, Inc. | Configurable transactional memory for synchronizing transactions |
| US8195896B2 (en)* | 2008-06-10 | 2012-06-05 | International Business Machines Corporation | Resource sharing techniques in a parallel processing computing system utilizing locks by replicating or shadowing execution contexts |
| US20100031084A1 (en)* | 2008-08-04 | 2010-02-04 | Sun Microsystems, Inc. | Checkpointing in a processor that supports simultaneous speculative threading |
| US8806145B2 (en)* | 2008-11-07 | 2014-08-12 | Oracle America, Inc. | Methods and apparatuses for improving speculation success in processors |
| US8898401B2 (en)* | 2008-11-07 | 2014-11-25 | Oracle America, Inc. | Methods and apparatuses for improving speculation success in processors |
| EP2570924B1 (en) | 2008-12-01 | 2019-02-20 | BlackBerry Limited | Anticipatory responses to commands |
| US8274380B2 (en)* | 2008-12-01 | 2012-09-25 | Research In Motion Limited | Anticipatory responses to commands |
| US8402464B2 (en)* | 2008-12-01 | 2013-03-19 | Oracle America, Inc. | System and method for managing contention in transactional memory using global execution data |
| US8914620B2 (en)* | 2008-12-29 | 2014-12-16 | Oracle America, Inc. | Method and system for reducing abort rates in speculative lock elision using contention management mechanisms |
| US8627017B2 (en)* | 2008-12-30 | 2014-01-07 | Intel Corporation | Read and write monitoring attributes in transactional memory (TM) systems |
| JP4754004B2 (ja)* | 2009-03-05 | 2011-08-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチスレッド上で動作するプログラムのプログラム・コードをロック衝突が少ないプログラム・コードに変換するための方法、並びにそのコンピュータ・プログラム及びコンピュータ・システム |
| US9940138B2 (en)* | 2009-04-08 | 2018-04-10 | Intel Corporation | Utilization of register checkpointing mechanism with pointer swapping to resolve multithreading mis-speculations |
| US8495311B2 (en)* | 2009-06-25 | 2013-07-23 | International Business Machines Corporation | Updating shared variables atomically |
| US8521961B2 (en)* | 2009-08-20 | 2013-08-27 | International Business Machines Corporation | Checkpointing in speculative versioning caches |
| US8566524B2 (en)* | 2009-08-31 | 2013-10-22 | International Business Machines Corporation | Transactional memory system with efficient cache support |
| US9952864B2 (en)* | 2009-12-23 | 2018-04-24 | Intel Corporation | System, apparatus, and method for supporting condition codes |
| US8972994B2 (en)* | 2009-12-23 | 2015-03-03 | Intel Corporation | Method and apparatus to bypass object lock by speculative execution of generated bypass code shell based on bypass failure threshold in managed runtime environment |
| US8739164B2 (en)* | 2010-02-24 | 2014-05-27 | Advanced Micro Devices, Inc. | Automatic suspend atomic hardware transactional memory in response to detecting an implicit suspend condition and resume thereof |
| US8464261B2 (en) | 2010-03-31 | 2013-06-11 | Oracle International Corporation | System and method for executing a transaction using parallel co-transactions |
| US8631223B2 (en)* | 2010-05-12 | 2014-01-14 | International Business Machines Corporation | Register file supporting transactional processing |
| US20110320781A1 (en)* | 2010-06-29 | 2011-12-29 | Wei Liu | Dynamic data synchronization in thread-level speculation |
| US8661227B2 (en) | 2010-09-17 | 2014-02-25 | International Business Machines Corporation | Multi-level register file supporting multiple threads |
| US20120079245A1 (en)* | 2010-09-25 | 2012-03-29 | Cheng Wang | Dynamic optimization for conditional commit |
| US9268596B2 (en) | 2012-02-02 | 2016-02-23 | Intel Corparation | Instruction and logic to test transactional execution status |
| US8893137B2 (en)* | 2012-03-13 | 2014-11-18 | Cisco Technology, Inc. | Transaction-based shared memory protection for high availability environments |
| WO2013147820A1 (en)* | 2012-03-29 | 2013-10-03 | Intel Corporation | System and method for managing persistence with a multi-level memory hierarchy including non-volatile memory |
| US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
| US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
| US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
| US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
| US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
| US9348642B2 (en) | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
| US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
| US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
| US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
| US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
| US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
| US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
| US10120731B2 (en) | 2013-07-15 | 2018-11-06 | Intel Corporation | Techniques for controlling use of locks |
| US20150277914A1 (en)* | 2014-03-27 | 2015-10-01 | John H. Kelm | Lock elision with binary translation based processors |
| GB2533650B (en) | 2014-12-23 | 2021-07-21 | Advanced Risc Mach Ltd | Debugging data processing transactions |
| US10387158B2 (en)* | 2014-12-24 | 2019-08-20 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
| US9785442B2 (en) | 2014-12-24 | 2017-10-10 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
| US10061589B2 (en) | 2014-12-24 | 2018-08-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
| US10942744B2 (en) | 2014-12-24 | 2021-03-09 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
| US10387156B2 (en) | 2014-12-24 | 2019-08-20 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
| US10303525B2 (en) | 2014-12-24 | 2019-05-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
| US10061583B2 (en) | 2014-12-24 | 2018-08-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
| US10169106B2 (en) | 2016-06-30 | 2019-01-01 | International Business Machines Corporation | Method for managing control-loss processing during critical processing sections while maintaining transaction scope integrity |
| US11868818B2 (en)* | 2016-09-22 | 2024-01-09 | Advanced Micro Devices, Inc. | Lock address contention predictor |
| JP7014965B2 (ja)* | 2018-06-06 | 2022-02-02 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
| US11599359B2 (en)* | 2020-05-18 | 2023-03-07 | Advanced Micro Devices, Inc. | Methods and systems for utilizing a master-shadow physical register file based on verified activation |