Transactional processing
First Claim
1. A method of controlling execution of a transaction in a computing environment, the method comprising:
- executing a transaction begin instruction, the transaction begin instruction to begin any one of a first type of transaction or a second type of transaction, the transaction comprising a plurality of instructions to be executed, and the transaction begin instruction explicitly indicating by a field of the transaction begin instruction the first type of transaction or the second type of transaction being initiated;
based on the transaction being the second type of transaction, the executing setting a condition code to a first value;
initiating, by a processor, execution of the transaction in a transaction mode via the transaction begin instruction;
based on being in the transaction mode, effectively delaying committing transactional stores to main memory until completion of a selected transaction;
based on the transaction aborting, determining the type of transaction initiated, the type of transaction being the first type of transaction or the second type of transaction, and the determining being based on the field of the transaction begin instruction;
based on the transaction aborting and the transaction being the first type of transaction, resuming execution at the transaction begin instruction; and
based on the transaction aborting and the transaction being the second type of transaction, setting the condition code to a second value, wherein the second value indicates a next sequential instruction following the transaction begin instruction is receiving control from the abort, and resuming execution at the next sequential instruction directly following the transaction begin instruction in program order.
1 Assignment
0 Petitions
Accused Products
Abstract
A transaction is initiated via a transaction begin instruction. During execution of the transaction, the transaction may abort. If the transaction aborts, a determination is made as to the type of transaction. Based on the transaction being a first type of transaction, resuming execution at the transaction begin instruction, and based on the transaction being a second type, resuming execution at an instruction following the transaction begin instruction. Regardless of transaction type, resuming execution includes restoring one or more registers specified in the transaction begin instruction and discarding transactional stores. For one type of transaction, the nonconstrained transaction, the resuming includes storing information in a transaction diagnostic block.
-
Citations
10 Claims
-
1. A method of controlling execution of a transaction in a computing environment, the method comprising:
-
executing a transaction begin instruction, the transaction begin instruction to begin any one of a first type of transaction or a second type of transaction, the transaction comprising a plurality of instructions to be executed, and the transaction begin instruction explicitly indicating by a field of the transaction begin instruction the first type of transaction or the second type of transaction being initiated; based on the transaction being the second type of transaction, the executing setting a condition code to a first value; initiating, by a processor, execution of the transaction in a transaction mode via the transaction begin instruction; based on being in the transaction mode, effectively delaying committing transactional stores to main memory until completion of a selected transaction; based on the transaction aborting, determining the type of transaction initiated, the type of transaction being the first type of transaction or the second type of transaction, and the determining being based on the field of the transaction begin instruction; based on the transaction aborting and the transaction being the first type of transaction, resuming execution at the transaction begin instruction; and based on the transaction aborting and the transaction being the second type of transaction, setting the condition code to a second value, wherein the second value indicates a next sequential instruction following the transaction begin instruction is receiving control from the abort, and resuming execution at the next sequential instruction directly following the transaction begin instruction in program order. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
Specification