Stellt eine abgebrochene xbegin-Transaktion den Stapelkontext wieder her, der beim xbegin-Start vorhanden war?

Ich bin daran interessiert, ein transaktionales xbegin und xend in XBEGIN () - und XEND () -Funktionen in einer statischen Assembler-Bibliothek zu kapseln. Es ist jedoch unklar, wie (oder ob) der Stapel in den ursprünglichen xbegin-Aufrufzustand zurückversetzt wird, wenn ein xabort von einer anderen Stapelebene (höher oder niedriger) ausgeht. Mit anderen Worten, wird der dynamische Stapelkontext (einschließlich Interrupt-Effekten) verwaltet und als ein weiterer Teil der Transaktion zurückgesetzt?

Dieser Assembler-Ansatz ist für einen VC ++ 2010-Build erforderlich, für den keine _xbegin () - und _xend () -Intrinsik unterstützt wird oder verfügbar ist, und für x64-Builds kann kein _asm {} -Inlining verwendet werden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage