mirror of
https://github.com/golang/go
synced 2024-11-26 20:41:24 -07:00
[dev.power64] runtime: test CAS on large unsigned 32-bit numbers
This adds a test to runtime·check to ensure CAS of large unsigned 32-bit numbers does not accidentally sign-extend its arguments. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/162490044
This commit is contained in:
parent
097362fd2e
commit
36d417c0e3
@ -226,6 +226,12 @@ runtime·check(void)
|
||||
if(z != 4)
|
||||
runtime·throw("cas4");
|
||||
|
||||
z = 0xffffffff;
|
||||
if(!runtime·cas(&z, 0xffffffff, 0xfffffffe))
|
||||
runtime·throw("cas5");
|
||||
if(z != 0xfffffffe)
|
||||
runtime·throw("cas6");
|
||||
|
||||
k = (byte*)0xfedcb123;
|
||||
if(sizeof(void*) == 8)
|
||||
k = (byte*)((uintptr)k<<10);
|
||||
|
Loading…
Reference in New Issue
Block a user