求一段AT&T一段内联汇编问题
/* Conditionally execute fence after interlocked instruction. */
static INLINE void
AtomicEpilogue(void)
{
#ifdef ATOMIC_USE_FENCE
#ifdef VMM
/* The monitor conditionally patches out the lfence when not needed.*/
/* Construct a MonitorPatchTextEntry in the .patchtext section. */
asm volatile ("1:nt"
"lfencent"
"2:nt"
".pushsection .patchtextnt"
".quad 1bnt"
".quad 2bnt"
".popsectionnt" ::: "memory");
#else
if (UNLIKELY(AtomicUseFence)) {
asm volatile ("lfence" ::: "memory");
}
#endif
#endif
上面这段代码完全看不懂啥意思
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
info gcc->C Extensions->Extended Asm
info as->Pseudo Ops
也可以看看
http://blog.chinaunix.net/u/17660/showart_259729.html
info gcc->C Extensions->Extended Asm
info as->Pseudo Ops
也可以看看
http://blog.chinaunix.net/u/17660/showart_259729.html