-
公开(公告)号:CA2756839C
公开(公告)日:2019-09-10
申请号:CA2756839
申请日:2011-11-02
Applicant: IBM CANADA LTD IBM CANADA LIMITEE
Inventor: STOODLEY MARK G
Abstract: An illustrative embodiment of a computer-implemented process for identification of a root method instruments code to form instrumented code, responsive to a determination thread sampling exists samples execution of the instrumented code in an enhanced runtime to create thread sample data, responsive to a determination a thread sample threshold is exceeded, samples the execution of the instrumented code to create stack sample data, responsive to a determination the stack sample threshold is exceeded, samples the execution of the instrumented code to create method stack sample data, determines whether a root method is identified and responsive to a determination the root method is identified, reports the identified root method for a respective thread.
-
公开(公告)号:CA2557343C
公开(公告)日:2015-09-22
申请号:CA2557343
申请日:2006-08-28
Applicant: IBM CANADA
Inventor: STOODLEY MARK G , STOODLEY KEVIN A
Abstract: Methods, computer program products and data processing systems for modifying a code region forming part of a computer program during execution of the computer program by a plurality of threads. In one aspect, identical modification instructions are provided to each thread for modifying a site in the code region having a desirable idempotent atomic modification, and the modification instructions direct each thread to make the desirable idempotent atomic modification. In another aspect, a thread is selected to modify the code region, each thread other than the selected thread is directed to execute an alternative execution path that generates output identical to the output of the code region after the code region has been modified, and, responsive to directing each thread other than the selected thread, the selected thread is directed to modify the code region.
-
公开(公告)号:CA2430763A1
公开(公告)日:2004-11-30
申请号:CA2430763
申请日:2003-05-30
Applicant: IBM CANADA
Inventor: STOODLEY MARK G
Abstract: In preparing inlined program code for compiling, a synchronization depth is recorded in a table for ranges of program counter addresses. Furthermore, a stack fra me is dedicated for the recordation of references to objects locked during the execution of the code. Such references are recorded in the stack frame at a location based on synchronization depth. When an exception occurs, the synchronization depth m ay be determined from the table and used to obtain, from the stack frame, a reference to an object from which a lock should be removed.
-
公开(公告)号:CA2756839A1
公开(公告)日:2013-05-02
申请号:CA2756839
申请日:2011-11-02
Applicant: IBM CANADA
Inventor: STOODLEY MARK G
Abstract: An illustrative embodiment of a computer-implemented process for identification of a root method instruments code to form instrumented code, responsive to a determination thread sampling exists samples execution of the instrumented code in an enhanced runtime to create thread sample data, responsive to a determination a thread sample threshold is exceeded, samples the execution of the instrumented code to create stack sample data, responsive to a determination the stack sample threshold is exceeded, samples the execution of the instrumented code to create method stack sample data, determines whether a root method is identified and responsive to a determination the root method is identified, reports the identified root method for a respective thread.
-
公开(公告)号:CA2430383A1
公开(公告)日:2004-11-30
申请号:CA2430383
申请日:2003-05-30
Applicant: IBM CANADA
Inventor: STOODLEY MARK G , SUNDARESAN VIJAY
Abstract: Repetitive synchronization in program code is optimized through lock coarsening that is performed subject to a number of constraints. Using a forward pass over the program code followed by a backward pass, region extent bits may be determin ed that identify the points in the program where object locking can be coarsened. Th e program code may then be modified to realize coarsened locking regions determined based on the region extent bits. Alternatively, previously determined value numbers may provide much of the information collected by the two passes. In such a case, a single pas s over the program code may locate features that limit lock coarsening opportunities. A set of synchronization operations that can be removed may then be determined and us ed when modifying the program code to coarsen locking regions.
-
公开(公告)号:CA2557343A1
公开(公告)日:2008-02-28
申请号:CA2557343
申请日:2006-08-28
Applicant: IBM CANADA
Inventor: STOODLEY MARK G , STOODLEY KEVIN A
Abstract: Methods, computer program products and data processing systems for modifying a code region forming part of a computer program during execution of the computer program by a plurality of threads. In one aspect, identical modification instructions are provided to each thread for modifying a site in the code region having a desirable idempotent atomic modification, and the modification instructions direct each thread to make the desirable idempotent atomic modification. In another aspect, a thread is selected to modify the code region, each thread other than the selected thread is directed to execute an alternative execution path that generates output identical to the output of the code region after the code region has been modified, and, responsive to directing each thread other than the selected thread, the selected thread is directed to modify the code region.
-
公开(公告)号:CA2442800A1
公开(公告)日:2005-03-26
申请号:CA2442800
申请日:2003-09-26
Applicant: IBM CANADA
Inventor: STOODLEY MARK G , GRCEVSKI NIKOLA , STOODLEY KEVIN A , SUNDARESAN VIJAY
Abstract: An improved method and system for acquisition and release of locks within a software program is disclosed. In an exemplary embodiment, a lock within a loop is transformed by relocating acquisition and release instructions from within the loop to positions outside the loop. This may significantly decrease unnecessarily lock acquisition and release during execution of the software program. In order to avoid contention problems which may arise from acquiring and keeping a lock on an object over a relatively long period of time, a contention test may be inserted into the loop. Such a contention test may temporarily release the lock if another thread in the software program requires access to the locked object.
-
公开(公告)号:CA2684226A1
公开(公告)日:2011-04-30
申请号:CA2684226
申请日:2009-10-30
Applicant: IBM CANADA
Inventor: MITRAN MARCEL , PATIL KISHOR V , SIU JORAN S C , STOODLEY MARK G , SUNDARESAN VIJAY
IPC: G06F9/45
Abstract: A method for eliminating redundant operations establishing common properties is disclosed herein. In one embodiment, such a method may include identifying a first virtual register storing a first value having a common property. The method may assign the first virtual register to use a real register. The method may further identify a second virtual register storing a second value also having the common property. The method may assign the second virtual register to use the real register after the first value is no longer live. As a result of assigning the second virtual register to the first real register, the method may eliminate an operation configured to establish the common property for the second value since this operation is redundant and is no longer needed. A corresponding apparatus and computer program product are also disclosed and claimed herein.
-
-
-
-
-
-
-