(func, buffer, params, size, offset = 0)
| 487 | |
| 488 | |
| 489 | function TestCmpExchange(func, buffer, params, size, offset = 0) { |
| 490 | for (let i = 0; i + (offset / size) < buffer.length; i = inc(i)) { |
| 491 | for (let j = 0; j < params.length; j++) { |
| 492 | for (let k = 0; k < params.length; k++) { |
| 493 | buffer[i + (offset / size)] = params[j]; |
| 494 | let loaded = func(i * size, params[k], params[j]) >>> 0; |
| 495 | let expected = (params[k] == loaded) ? params[j] : loaded; |
| 496 | assertEquals(loaded, params[j]); |
| 497 | assertEquals(expected, buffer[i + (offset / size)]); |
| 498 | } |
| 499 | } |
| 500 | } |
| 501 | VerifyBoundsCheck(func, size); |
| 502 | } |
| 503 | |
| 504 | (function TestAtomicCompareExchange() { |
| 505 | print(arguments.callee.name); |
no test coverage detected