XABORT
交易中止
stableVMJITAOTinstruction
编码
| 操作码 | 指令 | Op/En | 64 位 | 兼容/传统 | 说明 |
|---|---|---|---|---|---|
C6 F8 ib | XABORT imm8 | A | 有效 | 有效 | 如果 RTM 执行, 则导致 RTM 流产 。 |
操作数编码
每个模式对应上表 Op/En 列的一个取值,说明各操作数按书写顺序分别编码在指令的哪个字段,以及指令对它是读、是写还是两者兼有。
A
imm8指令后的立即数字节
实测开销
正在从 arch-data 加载实测数据...
说明
XABORT迫使RTM流产. 在 RTM 中止后,逻辑处理器会在通过最外侧的 XBEGIN 指令计算出的倒置地址恢复执行. EAX寄存器被更新,以反映导致流产的XABORT指示,imm8参数将以EAX的比特31:24提供.
行动
XABORT
IF RTM_ACTIVE = 0
THEN
Treat as NOP;
ELSE
GOTO RTM_ABORT_PROCESSING;
FI;
(* For any RTM abort condition encountered during RTM execution *)
RTM_ABORT_PROCESSING:
Restore architectural register state;
Discard memory updates performed in transaction;
Update EAX with status and XABORT argument;
RTM_NEST_COUNT:= 0;
RTM_ACTIVE:= 0;
SUSLDTRK_ACTIVE := 0;
IF 64-bit Mode
THEN
RIP:= fallbackRIP;
ELSE
EIP := fallbackEIP;
FI;
END受影响的旗帜
None.
Intel C/C++ 内在编译器
XABORT void _xabort( unsigned int);SIMD 浮点 例外
None.
其他例外
#UDCPUID.07H.00H:EBX.RTM[11] = 0.如果使用 LOCK 前缀 。