PROGRAMMATIC IDENTIFICATION OF ROOT METHOD

    公开(公告)号:CA2756839C

    公开(公告)日:2019-09-10

    申请号:CA2756839

    申请日:2011-11-02

    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.

    RUNTIME CODE MODIFICATION IN A MULTI-THREADED ENVIRONMENT

    公开(公告)号:CA2557343C

    公开(公告)日:2015-09-22

    申请号:CA2557343

    申请日:2006-08-28

    Applicant: IBM CANADA

    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.

    EFFICIENTLY RELEASING LOCKS WHEN AN EXCEPTION OCCURS

    公开(公告)号: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.

    PROGRAMMATIC IDENTIFICATION OF ROOT METHOD

    公开(公告)号: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.

    EFFICIENTLY RELEASING LOCKS WHEN AN EXCEPTION OCCURS

    公开(公告)号:CA2430383A1

    公开(公告)日:2004-11-30

    申请号:CA2430383

    申请日:2003-05-30

    Applicant: IBM CANADA

    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.

    RUNTIME CODE MODIFICATION IN A MULTI-THREADED ENVIRONMENT

    公开(公告)号:CA2557343A1

    公开(公告)日:2008-02-28

    申请号:CA2557343

    申请日:2006-08-28

    Applicant: IBM CANADA

    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.

    TRANSFORMING LOCKS IN SOFTWARE LOOPS

    公开(公告)号:CA2442800A1

    公开(公告)日:2005-03-26

    申请号:CA2442800

    申请日:2003-09-26

    Applicant: IBM CANADA

    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.

    ELEMINATING REDUNDANT OPERATIONS FOR COMMON PROPERTIES USING SHARED REAL REGISTERS

    公开(公告)号:CA2684226A1

    公开(公告)日:2011-04-30

    申请号:CA2684226

    申请日:2009-10-30

    Applicant: IBM CANADA

    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.

Patent Agency Ranking