Transaction begin/end instructions
First Claim
Patent Images
1. A computer program product for executing a machine instruction in a computing environment, 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 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;
one or more fields to specify a first operand address; and
a control field, the control field comprising a general register save mask to indicate one or more pairs of registers to be saved at a beginning of a transaction and restored on an abort; and
executing the machine instruction, the executing comprising;
determining, using a field of the machine instruction, whether the transaction to be initiated by the machine instruction is a constrained transaction or a nonconstrained transaction;
based on the field being one value, initiating a constrained transaction, the constrained transaction having two or more restrictions associated therewith, and setting a condition code to indicate successful execution of the machine instruction, the two or more restrictions including restrictions selected from the group consisting 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, and the constrained transaction is limited to a single nesting level; and
based on the field being another value;
initiating a nonconstrained transaction;
using the first operand address to designate a location of a transaction diagnostic block to store diagnostic information based on the nonconstrained transaction being aborted; and
setting a condition code to indicate successful execution of the machine instruction.
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. The TRANSACTION END instruction ends the transaction started by the TRANSACTION BEGIN instruction.
-
Citations
20 Claims
-
1. A computer program product for executing a machine instruction in a computing environment, 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 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; one or more fields to specify a first operand address; and a control field, the control field comprising a general register save mask to indicate one or more pairs of registers to be saved at a beginning of a transaction and restored on an abort; and executing the machine instruction, the executing comprising; determining, using a field of the machine instruction, whether the transaction to be initiated by the machine instruction is a constrained transaction or a nonconstrained transaction; based on the field being one value, initiating a constrained transaction, the constrained transaction having two or more restrictions associated therewith, and setting a condition code to indicate successful execution of the machine instruction, the two or more restrictions including restrictions selected from the group consisting 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, and the constrained transaction is limited to a single nesting level; andbased on the field being another value;
initiating a nonconstrained transaction;
using the first operand address to designate a location of a transaction diagnostic block to store diagnostic information based on the nonconstrained transaction being aborted; and
setting a condition code to indicate successful execution of the machine instruction.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A computer system for executing a machine instruction in a computing environment, said computer system comprising:
-
a memory; and a processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising; obtaining 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; one or more fields to specify a first operand address; and a control field, the control field comprising a general register save mask to indicate one or more pairs of registers to be saved at a beginning of a transaction and restored on an abort; and executing the machine instruction, the executing comprising; determining, using a field of the machine instruction, whether the transaction to be initiated by the machine instruction is a constrained transaction or a nonconstrained transaction; based on the field being one value, initiating a constrained transaction, the constrained transaction having two or more restrictions associated therewith, and setting a condition code to indicate successful execution of the machine instruction, the two or more restrictions including restrictions selected from the group consisting 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, and the constrained transaction is limited to a single nesting level; andbased on the field being another value;
initiating a nonconstrained transaction;
using the first operand address to designate a location of a transaction diagnostic block to store diagnostic information based on the nonconstrained transaction being aborted; and
setting a condition code to indicate successful execution of the machine instruction. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer-implemented method of executing a machine instruction in a computing environment, said computer-implemented 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; one or more fields to specify a first operand address; and a control field, the control field comprising a general register save mask to indicate one or more pairs of registers to be saved at a beginning of a transaction and restored on an abort; and executing the machine instruction, the executing comprising; determining, using a field of the machine instruction, whether the transaction to be initiated by the machine instruction is a constrained transaction or a nonconstrained transaction; based on the field being one value, initiating a constrained transaction, the constrained transaction having two or more restrictions associated therewith, and setting a condition code to indicate successful execution of the machine instruction, the two or more restrictions including restrictions selected from the group consisting 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, and the constrained transaction is limited to a single nesting level; andbased on the field being another value;
initiating a nonconstrained transaction;
using the first operand address to designate a location of a transaction diagnostic block to store diagnostic information based on the nonconstrained transaction being aborted; and
setting a condition code to indicate successful execution of the machine instruction. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification