Прекращает ли прерванная транзакция xbegin контекст стека, существовавший при запуске xbegin?

Я заинтересован в инкапсуляции транзакционного xbegin и xend внутри функций XBEGIN () и XEND (), в статическом ассемблере lib. Однако мне неясно, как (или если) стек восстанавливается до исходного состояния вызова xbegin, учитывая xabort, происходящий на каком-то другом уровне стека (выше или ниже). Другими словами, является ли контекст динамического стека (включая эффекты прерываний) управляемым и откатывается как просто еще одна часть транзакции?

Этот подход на ассемблере необходим для сборки VC ++ 2010, которая не поддерживает или не поддерживает встроенные функции _xbegin () и _xend (), а сборки x64 не могут использовать вставку _asm {}.

Ответы на вопрос(1)

Ваш ответ на вопрос