Transaction begin/end instructions
First Claim
1. A computer program product for executing a machine instruction in a computing environment, the machine instruction for initiating a transaction, wherein stores by other processors to storage locations of the transaction cause the transaction to abort, and wherein stores by instructions in the transaction are effectively delayed until a selected transaction completes, said computer program product comprising:
- a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising;
obtaining, by a processor, a machine instruction for operation, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising;
an operation code to specify a transaction begin operation; and
a control field to specify one or more controls to be used in transactional execution; and
executing, by the processor, the machine instruction, the executing comprising;
determining from a field of the instruction whether a transaction to be initiated by the transaction begin instruction is a constrained transaction or a nonconstrained transaction;
based on the field being one value, initiating a constrained transaction, and setting a condition code to a value indicating successful execution of the machine instruction, said constrained transaction having one or more restrictions associated therewith, the one or more restrictions including at least one of a subset of general instructions is available, a limited number of instructions is to be executed, a limited number of storage-operand locations is to be accessed, or the constrained transaction is limited to a single nesting level;
based on the field being another value, designating a storage location for storing diagnostic information in an aborted nonconstrained transaction, initiating the nonconstrained transaction, and setting a condition code to the value indicating successful execution of the machine instruction; and
wherein the field indicates a nonconstrained transaction, and wherein the machine instruction further comprises a base field to be used in executing the transaction, and wherein based on the base field comprising one value, contents of a register specified by the base field are combined with contents of a displacement field to create a first operand address, the first operand address designating a location of a transaction diagnostic block usable to store the diagnostic information on an abort.
1 Assignment
0 Petitions
Accused Products
Abstract
A TRANSACTION BEGIN instruction and a TRANSACTION END instruction are provided. The TRANSACTION BEGIN instruction causes either a constrained or nonconstrained transaction to be initiated, depending on a field of the instruction. A constrained transaction has one or more restrictions associated therewith, while a nonconstrained transaction is not limited in the manner of a constrained transaction. The TRANSACTION END instruction ends the transaction started by the TRANSACTION BEGIN instruction.
173 Citations
14 Claims
-
1. A computer program product for executing a machine instruction in a computing environment, the machine instruction for initiating a transaction, wherein stores by other processors to storage locations of the transaction cause the transaction to abort, and wherein stores by instructions in the transaction are effectively delayed until a selected transaction completes, said computer program product comprising:
a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising; obtaining, by a processor, a machine instruction for operation, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising; an operation code to specify a transaction begin operation; and a control field to specify one or more controls to be used in transactional execution; and executing, by the processor, the machine instruction, the executing comprising; determining from a field of the instruction whether a transaction to be initiated by the transaction begin instruction is a constrained transaction or a nonconstrained transaction; based on the field being one value, initiating a constrained transaction, and setting a condition code to a value indicating successful execution of the machine instruction, said constrained transaction having one or more restrictions associated therewith, the one or more restrictions including at least one of a subset of general instructions is available, a limited number of instructions is to be executed, a limited number of storage-operand locations is to be accessed, or the constrained transaction is limited to a single nesting level; based on the field being another value, designating a storage location for storing diagnostic information in an aborted nonconstrained transaction, initiating the nonconstrained transaction, and setting a condition code to the value indicating successful execution of the machine instruction; and wherein the field indicates a nonconstrained transaction, and wherein the machine instruction further comprises a base field to be used in executing the transaction, and wherein based on the base field comprising one value, contents of a register specified by the base field are combined with contents of a displacement field to create a first operand address, the first operand address designating a location of a transaction diagnostic block usable to store the diagnostic information on an abort. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A computer system for executing a machine instruction in a computing environment, the machine instruction for initiating a transaction, wherein stores by other processors to storage locations of the transaction cause the transaction to abort, and wherein stores by instructions in the transaction are effectively delayed until a selected transaction completes, said computer system comprising:
-
a memory; and a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising; obtaining, by a processor, a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising; an operation code to specify a transaction begin operation; and a control field to specify one or more controls to be used in transactional execution; and executing, by the processor, the machine instruction, the executing comprising; determining from a field of the instruction whether a transaction to be initiated by the transaction begin instruction is a constrained transaction or a nonconstrained transaction; based on the field being one value, initiating a constrained transaction, and setting a condition code to a value indicating successful execution of the machine instruction, said constrained transaction having one or more restrictions associated therewith, the one or more restrictions including at least one of a subset of general instructions is available, a limited number of instructions is to be executed, a limited number of storage-operand locations is to be accessed, or the constrained transaction is limited to a single nesting level; based on the field being another value, designating a storage location for storing diagnostic information in an aborted nonconstrained transaction, initiating the nonconstrained transaction, and setting a condition code to the value indicating successful execution of the machine instruction; and wherein the field indicates a nonconstrained transaction, and wherein the machine instruction further comprises a base field to be used in executing the transaction, and wherein based on the base field comprising one value, contents of a register specified by the base field are combined with contents of a displacement field to create a first operand address, the first operand address designating a location of a transaction diagnostic block usable to store the diagnostic information on an abort. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification