CONTROLLING OPERATION OF A RUN-TIME INSTRUMENTATION FACILITY FROM A LESSER-PRIVILEGED STATE

    公开(公告)号:SG11201404861QA

    公开(公告)日:2014-09-26

    申请号:SG11201404861Q

    申请日:2013-03-01

    Applicant: IBM

    Abstract: Aspects relate to enabling and disabling execution of a run-time instrumentation facility. An instruction for execution by the processor in a lesser privileged state is fetched by the processor. It is determined, by the processor, that the run-time instrumentation facility permits execution of the instruction in the lesser-privileged state and that controls associated with the run-time instrumentation facility are valid. The run-time instrumentation facility is disabled based on the instruction being a run-time instrumentation facility off (RIOFF) instruction. The disabling includes updating a bit in a program status word (PSW) of the processor to indicate that run-time instrumentation data should not be captured by the processor. The run-time instrumentation facility is enabled based on the instruction being a run-time instrumentation facility on (RION) instruction. The enabling includes updating the bit in the PSW to indicate that run-time instrumentation data should be captured by the processor.

    Run-time instrumentation directed sampling

    公开(公告)号:AU2013233831A1

    公开(公告)日:2014-09-11

    申请号:AU2013233831

    申请日:2013-03-01

    Applicant: IBM

    Abstract: Embodiments of the invention relate to implementing run-time instrumentation directed sampling. An aspect of the invention includes a method for implementing run-time instrumentation directed sampling. The method includes fetching a run-time instrumentation next (RINEXT) instruction from an instruction stream. The instruction stream includes the RINEXT instruction followed by a next sequential instruction (NSI) in program order. The method further includes executing the RINEXT instruction by a processor. The executing includes determining whether a current run-time instrumentation state enables setting a sample point for reporting run-time instrumentation information during program execution. Based on the current run-time instrumentation state enabling setting the sample point, the NSI is a sample instruction for causing a run-time instrumentation event. Based on executing the NSI sample instruction, the run-time instrumentation event causes recording of run-time instrumentation information into a run-time instrumentation program buffer as a reporting group.

    Method and Mechanism for Calling 32-Bit Functions from 16-Bit Functions

    公开(公告)号:CA2093451A1

    公开(公告)日:1994-10-07

    申请号:CA2093451

    申请日:1993-04-06

    Applicant: IBM CANADA

    Abstract: In the field of mixed 16-bit and 32-bit code, a method and mechanism are provided to implement alterations in the dynamic portion of memory containing the data objects used by code in the 16-bit environment so that such data is accessible to code from the 32-bit environment. The code necessary to implement the method is generated automatically by an enhanced compiler on identifying 16-bit linkage in the 32-bit code. Once the data objects in the stack are accesible to the 32-bit code, a function in the 16-bit code can successfully call a function in 32-bit code.

    RUN-TIME INSTRUMENTATION DIRECTED SAMPLING

    公开(公告)号:CA2866809A1

    公开(公告)日:2013-09-19

    申请号:CA2866809

    申请日:2013-03-01

    Applicant: IBM

    Abstract: Embodiments of the invention relate to implementing run-time instrumentation directed sampling. An aspect of the invention includes a method for implementing run-time instrumentation directed sampling. The method includes fetching a run-time instrumentation next (RINEXT) instruction from an instruction stream. The instruction stream includes the RINEXT instruction followed by a next sequential instruction (NSI) in program order. The method further includes executing the RINEXT instruction by a processor. The executing includes determining whether a current run-time instrumentation state enables setting a sample point for reporting run-time instrumentation information during program execution. Based on the current run-time instrumentation state enabling setting the sample point, the NSI is a sample instruction for causing a run-time instrumentation event. Based on executing the NSI sample instruction, the run-time instrumentation event causes recording of run-time instrumentation information into a run-time instrumentation program buffer as a reporting group.

    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.

    EFFICIENT LOCKING FOR THREAD-SAFE SELF-MODIFYING CODE

    公开(公告)号:CA2346766A1

    公开(公告)日:2002-11-07

    申请号:CA2346766

    申请日:2001-05-07

    Applicant: IBM CANADA

    Abstract: A locking mechanism for use in a multi-thread environment supporting self- modifying code in which modifications to the code are made at runtime. The locking mechanism having associated helper code accessed by a call from the first instruction address in the code block . The helper code calculating the binary encoding for the call instruction and using an atomic compare and exchange instruction to compare the calculated binary encoding with the actual conten ts of the first instruction address. Where there is a match, a self loop instruction is written to the first instruction address to lock the specified code block for subsequent threads. The helper code contai ns instructions to resolve the references in the specified block. The last such instruction is an atomic store operation to replace the self loop instruction at the first instruction address with t he appropriate modified instruction.

Patent Agency Ranking