Lines Matching refs:rdi
242 * %rdi = ptr to queue head structure
252 cmpl $0,16(%rdi) // sniff the lockword
259 * %rdi = ptr to queue head structure
271 cmpxchgl %ecx,16(%rdi) // try to take the spinlock
277 cmpxchgl %ecx,16(%rdi) // try 2nd time to take the spinlock
283 cmpxchgl %ecx,16(%rdi) // try 3rd time to take the spinlock
289 movq 8(%rdi),%rcx // get ptr to last element in q
292 movq %rsi,(%rdi) // q empty so this is first element
297 movq %rsi,8(%rdi) // new element becomes last in q
298 movl $0,16(%rdi) // unlock spinlock
305 * %rdi = ptr to queue head structure
317 cmpxchgl %ecx,16(%rdi) // try to take the spinlock
323 cmpxchgl %ecx,16(%rdi) // try 2nd time to take the spinlock
329 cmpxchgl %ecx,16(%rdi) // try 3rd time to take the spinlock
335 movq (%rdi),%rax // get ptr to first element in q
341 movq %rsi,8(%rdi) // no - clear "last" field of q head
343 movq %rsi,(%rdi) // update "first" field of q head
345 movl $0,16(%rdi) // unlock spinlock