JP4550894B2 - マネージドランタイム環境におけるロック大型化方法およびロック大型化装置に基づくスレッド同期 - Google Patents
マネージドランタイム環境におけるロック大型化方法およびロック大型化装置に基づくスレッド同期 Download PDFInfo
- Publication number
- JP4550894B2 JP4550894B2 JP2007515695A JP2007515695A JP4550894B2 JP 4550894 B2 JP4550894 B2 JP 4550894B2 JP 2007515695 A JP2007515695 A JP 2007515695A JP 2007515695 A JP2007515695 A JP 2007515695A JP 4550894 B2 JP4550894 B2 JP 4550894B2
- Authority
- JP
- Japan
- Prior art keywords
- lock
- shape
- synchronization
- balanced
- optimistic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
- G06F9/528—Mutual exclusion algorithms by using speculative mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
ar.ccv=mov 0
r1=cmpxch2.acq〔r3〕,r2
Claims (29)
- マネージドランタイム環境においてスレッドのためにオブジェクトをロックする方法であって、
前記オブジェクトに対応するロックに対して行うロック動作が、同一ネストレベルで発生するロック解除動作に対応付けられていないロック取得動作である不平衡なロック動作か否かを特定することと、
前記ロック動作が不平衡なロック動作である場合には、同一ネストレベルで発生する前記ロック取得動作と前記ロック解除動作とが平衡な対でないアクティブな楽観的平衡ロックの数に応じてロック形状を変更した上で前記ロックを取得することと、
前記ロック動作が前記不平衡なロック動作でない場合には、前記アクティブな楽観的平衡ロックの数に応じてロック形状の変更をしないで前記ロックを取得する前記ロックの楽観的平衡ロック同期を行うことと
を備える方法。 - 前記ロック動作が不平衡なロック動作である場合に、
前記アクティブな楽観的平衡ロックの数に応じてロック再帰カウンタの値を設定することと、
前記ロック再帰カウンタの値に応じて前記ロック形状を変更することと
をさらに含む請求項1に記載の方法。 - 前記ロック形状は第1ロック形状または第2ロック形状のうち少なくとも1つに対応し、前記ロック形状が前記第1ロック形状に対応する場合、前記ロック形状を変更することは前記ロックを変換して前記第2ロック形状に対応させることを含む
請求項1または2に記載の方法。 - 前記ロック形状はロック所有者を示す情報を含む小型ロックまたは複数のロック所有者を示すデータ構造のインデックスを含む大型ロックのうち少なくとも1つに対応し、前記ロック形状を変更することは前記小型ロックを前記大型ロックに変換することを含む
請求項1または2に記載の方法。 - 前記楽観的平衡ロック同期を行うことは、前記楽観的平衡ロック同期を行っている間に、前記ロックの前記ロック形状を指し示すようにロック形状フラグを設定することを含む
請求項1から4のいずれか一項に記載の方法。 - 前記楽観的平衡ロック同期は、前記ロックの楽観的平衡ロック取得および前記ロックの楽観的平衡ロック解除を含み、当該楽観的平衡ロック取得または当該楽観的平衡ロック解除のうち少なくとも1つは前記ロックの前記ロック形状に基づいて行われる
請求項1から5のいずれか一項に記載の方法。 - 前記楽観的平衡ロック取得は、前記ロック形状が第1ロック形状に対応する場合、前記ロックに対応付けられたロック所有者フィールドに等しくなるように旧ロック所有者を設定することを含む
請求項6に記載の方法。 - 前記楽観的平衡ロック解除は、前記ロック形状が第1ロック形状に対応する場合、前記ロックに対応付けられたロック所有者フィールドを旧ロック所有者に設定することを含む
請求項6に記載の方法。 - 前記ロック形状が前記第1ロック形状に対応する場合、前記旧ロック所有者が空スレッドであれば前記ロックは解除され、前記旧ロック所有者が前記スレッドであれば当該スレッドのために前記ロックを維持する
請求項8に記載の方法。 - 前記楽観的平衡ロック同期を行うことは、前記オブジェクトの前記ロックに対して行われた一連の楽観的平衡ロック同期に対応付けられた一連のアクティブな楽観的平衡ロック取得の状態を格納する同期マップを維持することを含む
請求項1から9のいずれか一項に記載の方法。 - 前記ロック動作が不平衡である場合に不平衡ロック取得または不平衡ロック解除のうち少なくとも1つを行うことをさらに含み、前記不平衡ロック取得または前記不平衡ロック解除のうち少なくとも1つを行うことは、前記同期マップに格納されたアクティブな楽観的平衡取得の状態の数を特定することを含む
請求項10に記載の方法。 - 前記ロックの前記ロック形状を変更することは、前記同期マップに格納された前記アクティブな楽観的平衡取得の状態の数に対応するロック再帰カウンタの値を特定することを含む
請求項10または11に記載の方法。 - 前記同期マップは前記一連のアクティブな楽観的平衡取得の状態に対応する一連の同期マップエントリを含み、当該一連の同期マップエントリに含まれる1つの同期マップエントリは、前記ロックの旧ロック所有者および前記ロックの前記ロック形状に対応するロック形状フラグのうち少なくとも1つを含む
請求項10から12のいずれか一項に記載の方法。 - 前記ロックの前記ロック形状を変更することは、前記同期マップエントリの前記ロック形状フラグを変更することを含む
請求項13に記載の方法。 - 前記ロック動作が、前記ロックの前記楽観的平衡ロック同期、前記ロックの平衡ロック同期、前記ロックの不平衡ロック取得および前記ロックの不平衡ロック解除のうちのいずれであるか決定することをさらに含む
請求項1から14のいずれか一項に記載の方法。 - 複数のコンピュータ可読命令を格納する記憶媒体であって、前記複数のコンピュータ可読命令は、コンピュータにより実行されると、前記コンピュータに対して
マネージドランタイム環境においてスレッドのためにオブジェクトをロックさせ、
前記オブジェクトに対応するロックに対して行うロック動作が、同一ネストレベルで発生するそれぞれのロック解除動作に対応付けられていないロック取得動作である不平衡なロック動作か否かを特定させ、
前記ロック動作が不平衡なロック動作である場合には、同一ネストレベルで発生する前記ロック取得動作と前記ロック解除動作とが平衡な対でないアクティブな楽観的平衡ロックの数に応じてロック形状を変更した上でロックを取得させ、
前記ロック動作が前記不平衡なロック動作でない場合には、前記アクティブな楽観的平衡ロックの数に応じてロック形状の変更をしないでロックを取得する楽観的平衡ロック同期を行わせる記憶媒体。 - 前記ロック形状は第1ロック形状または第2ロック形状のうち少なくとも1つに対応し、前記ロック形状を変更するべく、前記複数のコンピュータ可読命令は前記コンピュータに、前記ロック形状が前記第1ロック形状に対応する場合、前記ロックを変換させて前記第2ロック形状に対応させる
請求項16に記載の記憶媒体。 - 前記複数のコンピュータ可読命令は前記コンピュータに、前記オブジェクトの前記ロックに対して行われた一連の楽観的平衡ロック同期に対応付けられた一連のアクティブな楽観的平衡取得の状態に対応する一連の同期マップエントリを格納する同期マップを維持させ、当該一連の同期マップエントリに含まれる1つの同期マップエントリは、前記ロックの旧ロック所有者または前記ロックの前記ロック形状に対応するロック形状フラグのうち少なくとも1つを含む
請求項17に記載の記憶媒体。 - 前記複数のコンピュータ可読命令は前記コンピュータに、前記ロックに対する前記ロック動作が不平衡である場合に、前記ロックの不平衡取得または前記ロックの不平衡解除のうち少なくとも1つを行わせ、当該不平衡取得または当該不平衡解除のうち少なくとも1つを行うべく、前記複数のコンピュータ可読命令は前記コンピュータに、前記同期マップに格納された前記アクティブな楽観的平衡取得の状態の数を決定することまたは前記同期マップの少なくとも1つの同期マップエントリの少なくとも1つのロック形状フラグを変更することのうち少なくとも1つの動作を行わせる
請求項18に記載の記憶媒体。 - マネージドランタイム環境においてスレッドのためにオブジェクトをロックする装置であって、
同一ネストレベルで発生する楽観的平衡ロック取得動作および楽観的平衡ロック解除動作を含む、前記オブジェクトに対応するロックの楽観的平衡ロック同期を行う楽観的平衡ロック同期部と、
前記オブジェクトに対して行われた前記楽観的平衡ロック取得動作の数を特定し、かつ、前記楽観的平衡ロック取得動作の数に応じてロック形状を変更する平衡同期状態記録部/変更部と
を備える装置。 - 前記楽観的平衡ロック同期部は、
前記ロック形状が第1ロック形状である場合、前記ロックの旧ロック所有者を前記ロックのロック所有者フィールドに等しくなるように設定することによって前記ロックを取得し、
前記ロック形状が前記第1ロック形状である場合、前記ロック所有者フィールドを前記旧ロック所有者に等しくなるようにリセットすることによって前記ロックを解除する
ように構成されている請求項20に記載の装置。 - 前記楽観的平衡ロック同期部は、前記ロックに対して行われる前記楽観的平衡ロック同期の処理の実行中に、前記ロックの前記ロック形状を指し示すべくロック形状フラグを設定するように構成されている
請求項20または21に記載の装置。 - 前記楽観的平衡ロック同期部は、前記オブジェクトの前記ロックに対して行われる一連の前記楽観的平衡ロック同期に対応する一連のアクティブな楽観的平衡ロック取得動作の数を格納するための同期マップを有する
請求項20から22のいずれか一項に記載の装置。 - 前記同期マップは前記一連のアクティブな楽観的平衡ロック取得の数に対応する一連の同期マップエントリを含み、前記一連の同期マップエントリにおける1つの同期マップエントリは、前記ロックの旧ロック所有者または前記ロックの前記ロック形状に対応するロック形状フラグのうち少なくとも1つを含む
請求項23に記載の装置。 - 前記楽観的平衡ロック同期部は、前記ロックの前記ロック形状に基づき、前記楽観的平衡ロック取得または前記楽観的平衡ロック解除のうち少なくとも1つの動作を行うように構成されている
請求項20から24のいずれか一項に記載の装置。 - 前記ロックの不平衡取得を行う不平衡ロック取得部および前記ロックの不平衡解除を行う不平衡ロック解除部のうち少なくとも1つをさらに備え、当該不平衡ロック取得部および当該不平衡ロック解除部のうち少なくとも1つは前記ロックの前記ロック形状を変更するように構成されている
請求項20から25のいずれか一項に記載の装置。 - マネージドランタイム環境においてスレッドのためにオブジェクトをロックするシステムであって、
プロセッサと、
メモリとを備え、
前記プロセッサは、
前記オブジェクトに対応するロックに対して行うロック動作が、同一ネストレベルで発生するそれぞれのロック解除動作に対応付けられていないロック取得動作である不平衡なロック動作か否かを特定し、
前記ロック動作が不平衡なロック動作である場合には、同一ネストレベルで発生する前記ロック取得動作と前記ロック解除動作とが平衡な対でない楽観的平衡ロックの数に応じてロック形状を変更した上でロックを取得し、
前記ロック動作が前記不平衡なロック動作でない場合には、前記楽観的平衡ロックの数に応じてロック形状の変更をしないでロックを取得する楽観的平衡ロック同期を行い、
前記メモリは、前記ロックのロック所有者フィールド、前記ロックの旧ロック所有者、または前記ロック形状に対応するロック形状フラグのうち少なくとも1つを格納するシステム。 - 前記プロセッサは同期マップを前記メモリに格納するように構成されており、前記同期マップは、前記オブジェクトの前記ロックに行われる一連の楽観的平衡ロック同期に対応付けられた一連のアクティブな楽観的平衡ロック取得の状態に対応する一連の同期マップエントリを含み、前記一連の同期マップエントリに含まれる1つの同期マップエントリは、前記ロックの旧ロック所有者または前記ロックの前記ロック形状に対応するロック形状フラグのうち少なくとも1つを含む
請求項27に記載のシステム。 - 前記プロセッサは、前記ロックに対する前記ロック動作が不平衡である場合に不平衡ロック取得または不平衡ロック解除のうち少なくとも1つを行うように構成されており、前記不平衡ロック取得または前記不平衡ロック解除のうち少なくとも1つを行うべく、前記プロセッサは、前記同期マップに格納された前記アクティブな楽観的平衡ロック取得の状態の数を決定すること、または前記同期マップの少なくとも1つの同期マップエントリ内の少なくとも1つのロック形状フラグを変更することのうち少なくとも1つの動作を行うように構成されている
請求項28に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/878,210 US7567963B2 (en) | 2004-06-28 | 2004-06-28 | Thread synchronization with lock inflation methods and apparatus for managed run-time environments |
PCT/US2005/020548 WO2006011962A1 (en) | 2004-06-28 | 2005-06-10 | Thread synchronization with lock inflation methods and apparatus for managed run-time environments |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008501199A JP2008501199A (ja) | 2008-01-17 |
JP4550894B2 true JP4550894B2 (ja) | 2010-09-22 |
Family
ID=34982337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007515695A Expired - Fee Related JP4550894B2 (ja) | 2004-06-28 | 2005-06-10 | マネージドランタイム環境におけるロック大型化方法およびロック大型化装置に基づくスレッド同期 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7567963B2 (ja) |
EP (1) | EP1763750A1 (ja) |
JP (1) | JP4550894B2 (ja) |
CN (1) | CN100587670C (ja) |
WO (1) | WO2006011962A1 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7756750B2 (en) | 2003-09-02 | 2010-07-13 | Vinimaya, Inc. | Method and system for providing online procurement between a buyer and suppliers over a network |
US7610585B2 (en) * | 2004-06-03 | 2009-10-27 | Intel Corporation | Thread synchronization methods and apparatus for managed run-time environments |
US7765555B2 (en) * | 2005-06-17 | 2010-07-27 | Oracle America, Inc. | Facilitating bulk lock-unbiasing in an object-based system |
US7681197B1 (en) * | 2005-09-21 | 2010-03-16 | Sun Microsystems, Inc. | Nested monitor handling processes |
US20070186056A1 (en) * | 2006-02-07 | 2007-08-09 | Bratin Saha | Hardware acceleration for a software transactional memory system |
US7757070B1 (en) | 2007-04-10 | 2010-07-13 | Marvell International Ltd. | Methods, apparatuses, and system for facilitating control of multiple instruction threads |
US8434093B2 (en) | 2008-08-07 | 2013-04-30 | Code Systems Corporation | Method and system for virtualization of software applications |
US8776038B2 (en) | 2008-08-07 | 2014-07-08 | Code Systems Corporation | Method and system for configuration of virtualized software applications |
US10007729B1 (en) | 2009-01-23 | 2018-06-26 | Zakta, LLC | Collaboratively finding, organizing and/or accessing information |
US9607324B1 (en) | 2009-01-23 | 2017-03-28 | Zakta, LLC | Topical trust network |
US10191982B1 (en) | 2009-01-23 | 2019-01-29 | Zakata, LLC | Topical search portal |
JP4754004B2 (ja) * | 2009-03-05 | 2011-08-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチスレッド上で動作するプログラムのプログラム・コードをロック衝突が少ないプログラム・コードに変換するための方法、並びにそのコンピュータ・プログラム及びコンピュータ・システム |
JP5088754B2 (ja) | 2009-12-18 | 2012-12-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | システム、方法、プログラムおよびコード生成装置 |
US8954958B2 (en) | 2010-01-11 | 2015-02-10 | Code Systems Corporation | Method of configuring a virtual application |
US9104517B2 (en) | 2010-01-27 | 2015-08-11 | Code Systems Corporation | System for downloading and executing a virtual application |
US8959183B2 (en) | 2010-01-27 | 2015-02-17 | Code Systems Corporation | System for downloading and executing a virtual application |
US9229748B2 (en) | 2010-01-29 | 2016-01-05 | Code Systems Corporation | Method and system for improving startup performance and interoperability of a virtual application |
US8392930B2 (en) * | 2010-03-11 | 2013-03-05 | Microsoft Corporation | Resource contention log navigation with thread view and resource view pivoting via user selections |
US8763009B2 (en) | 2010-04-17 | 2014-06-24 | Code Systems Corporation | Method of hosting a first application in a second application |
US20110276549A1 (en) * | 2010-05-04 | 2011-11-10 | Microsoft Corporation | Optimistic locking in a distributed file system replication environment |
US9218359B2 (en) | 2010-07-02 | 2015-12-22 | Code Systems Corporation | Method and system for profiling virtual application resource utilization patterns by executing virtualized application |
US9021015B2 (en) | 2010-10-18 | 2015-04-28 | Code Systems Corporation | Method and system for publishing virtual applications to a web server |
US9209976B2 (en) | 2010-10-29 | 2015-12-08 | Code Systems Corporation | Method and system for restricting execution of virtual applications to a managed process environment |
US10068266B2 (en) | 2010-12-02 | 2018-09-04 | Vinimaya Inc. | Methods and systems to maintain, check, report, and audit contract and historical pricing in electronic procurement |
CN102141932B (zh) * | 2010-12-14 | 2012-11-14 | 清华大学 | 大临界区保护方法 |
GB2501434B (en) * | 2011-01-10 | 2013-12-25 | Ibm | Activity recording system for a concurrent software environment |
US9164690B2 (en) * | 2012-07-27 | 2015-10-20 | Nvidia Corporation | System, method, and computer program product for copying data between memory locations |
US9569281B1 (en) * | 2015-08-13 | 2017-02-14 | International Business Machines Corporation | Dynamic synchronization object pool management |
CN106201476B (zh) * | 2016-06-29 | 2019-06-21 | 珠海豹趣科技有限公司 | 一种构建哈希映射表的方法、装置及电子设备 |
CN108376070A (zh) * | 2016-10-28 | 2018-08-07 | 华为技术有限公司 | 一种编译源代码对象的方法、装置及计算机 |
US10643178B1 (en) | 2017-06-16 | 2020-05-05 | Coupa Software Incorporated | Asynchronous real-time procurement system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63148372A (ja) * | 1986-12-12 | 1988-06-21 | Agency Of Ind Science & Technol | プログラム変換装置 |
US5317737A (en) | 1991-07-29 | 1994-05-31 | Ncr Corporation | Method and apparatus for controlling a re-entrant synchronization lock tenure in a multiprocessor system |
US6330714B1 (en) | 1999-02-08 | 2001-12-11 | International Business Machines Corporation | Method and computer program product for implementing redundant lock avoidance |
US6449614B1 (en) * | 1999-03-25 | 2002-09-10 | International Business Machines Corporation | Interface system and method for asynchronously updating a share resource with locking facility |
JP3575593B2 (ja) * | 1999-12-27 | 2004-10-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オブジェクトのロック管理方法及び装置 |
US6823511B1 (en) * | 2000-01-10 | 2004-11-23 | International Business Machines Corporation | Reader-writer lock for multiprocessor systems |
US6792601B1 (en) * | 2000-05-18 | 2004-09-14 | International Business Machines Corporation | Multiple mode object locking method and system |
US6609121B1 (en) * | 2000-07-17 | 2003-08-19 | International Business Machines Corporation | Lightweight directory access protocol interface to directory assistance systems |
US6772153B1 (en) * | 2000-08-11 | 2004-08-03 | International Business Machines Corporation | Method and apparatus to provide concurrency control over objects without atomic operations on non-shared objects |
US6735760B1 (en) * | 2000-11-08 | 2004-05-11 | Sun Microsystems, Inc. | Relaxed lock protocol |
GB2381092B (en) * | 2001-10-19 | 2005-10-19 | Ibm | Object locking in a shared VM environment |
US6988099B2 (en) | 2002-06-27 | 2006-01-17 | Bea Systems, Inc. | Systems and methods for maintaining transactional persistence |
US7610585B2 (en) | 2004-06-03 | 2009-10-27 | Intel Corporation | Thread synchronization methods and apparatus for managed run-time environments |
-
2004
- 2004-06-28 US US10/878,210 patent/US7567963B2/en not_active Expired - Fee Related
-
2005
- 2005-06-10 JP JP2007515695A patent/JP4550894B2/ja not_active Expired - Fee Related
- 2005-06-10 CN CN200580017334A patent/CN100587670C/zh not_active Expired - Fee Related
- 2005-06-10 WO PCT/US2005/020548 patent/WO2006011962A1/en not_active Application Discontinuation
- 2005-06-10 EP EP05759575A patent/EP1763750A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20050289546A1 (en) | 2005-12-29 |
WO2006011962A1 (en) | 2006-02-02 |
CN1997968A (zh) | 2007-07-11 |
US7567963B2 (en) | 2009-07-28 |
JP2008501199A (ja) | 2008-01-17 |
EP1763750A1 (en) | 2007-03-21 |
CN100587670C (zh) | 2010-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4550894B2 (ja) | マネージドランタイム環境におけるロック大型化方法およびロック大型化装置に基づくスレッド同期 | |
US8302099B2 (en) | Thread synchronization methods and apparatus for managed run-time environments | |
US8065490B2 (en) | Hardware acceleration of strongly atomic software transactional memory | |
US8140497B2 (en) | System and method for implementing nonblocking zero-indirection transactional memory | |
US7844946B2 (en) | Methods and apparatus to form a transactional objective instruction construct from lock-based critical sections | |
US7035870B2 (en) | Object locking in a shared VM environment | |
US7716192B2 (en) | Concurrent, lock-free object copying | |
US8024505B2 (en) | System and method for optimistic creation of thread local objects in a virtual machine environment | |
US7209918B2 (en) | Methods and apparatus for locking objects in a multi-threaded environment | |
US20090204969A1 (en) | Transactional memory with dynamic separation | |
US20100211931A1 (en) | Stm with global version overflow handling | |
US20050289549A1 (en) | Lock reservation methods and apparatus for multi-threaded environments | |
US7908265B2 (en) | Transactional memory with dynamic separation | |
US6934944B2 (en) | Computer system and method for constant pool operations | |
US9239803B2 (en) | Array object concurrency in STM | |
US8341133B2 (en) | Compressed transactional locks in object headers | |
JP4196414B2 (ja) | コンピュータリソースのロック処理 | |
US6752836B1 (en) | Method and apparatus for high-concurrency client locking with java in a data processing system | |
JP2006268781A (ja) | 計算機システム、排他制御方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090714 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091014 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091021 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091110 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100622 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100708 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |