PERFORCE change 119723 for review

Roman Divacky rdivacky at FreeBSD.org
Sat May 12 11:22:03 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=119723

Change 119723 by rdivacky at rdivacky_witten on 2007/05/12 11:21:38

	Copy out oldval before the OPERATION loop and include the copying in of oldval to
	the (possible) loop.

Affected files ...

.. //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/linux32/linux32_support.s#5 edit

Differences ...

==== //depot/projects/soc2007/rdivacky/linux_futex/sys/amd64/linux32/linux32_support.s#5 (text+ko) ====

@@ -76,15 +76,15 @@
 	movq	$VM_MAXUSER_ADDRESS-4,%rax
 	cmpq	%rax,%rsi
 	ja	futex_fault
-	movl	(%rsi),%eax
-1:	movl	%eax,%ecx
+1:	movl	(%rsi),%eax
+	movl	%eax,(%rdx)
+	movl	%eax,%ecx
 	orl	%edi,%ecx
 #ifdef SMP
 	lock
 #endif
 	cmpxchgl %ecx,(%rsi)
 	jnz	1b
-	movl	%edi,(%rdx)
 	xorl	%eax,%eax
 	movq	%rax,PCB_ONFAULT(%r8)
 	ret
@@ -95,15 +95,15 @@
 	movq	$VM_MAXUSER_ADDRESS-4,%rax
 	cmpq	%rax,%rsi
 	ja	futex_fault
-	movl	(%rsi),%eax
-1:	movl	%eax,%ecx
+1:	movl	(%rsi),%eax
+	movl	%eax,(%rdx)
+	movl	%eax,%ecx
 	andl	%edi,%ecx
 #ifdef SMP
 	lock
 #endif
 	cmpxchgl %ecx,(%rsi)
 	jnz	1b
-	movl	%edi,(%rdx)
 	xorl	%eax,%eax
 	movq	%rax,PCB_ONFAULT(%r8)
 	ret
@@ -114,15 +114,15 @@
 	movq	$VM_MAXUSER_ADDRESS-4,%rax
 	cmpq	%rax,%rsi
 	ja	futex_fault
-	movl	(%rsi),%eax
-1:	movl	%eax,%ecx
+1:	movl	(%rsi),%eax
+	movl	%eax,(%rdx)
+	movl	%eax,%ecx
 	xorl	%edi,%ecx
 #ifdef SMP
 	lock
 #endif
 	cmpxchgl %ecx,(%rsi)
 	jnz	1b
-	movl	%edi,(%rdx)
 	xorl	%eax,%eax
 	movq	%rax,PCB_ONFAULT(%r8)
 	ret


More information about the p4-projects mailing list