haikuwebkit/LayoutTests/js/dfg-min-backwards-propagati...

210 lines
10 KiB
Plaintext

Tests that the DFG knows that a function that appears like Math.min could potentially use value in arbitrary ways, and not just in a context that converts values to numbers.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(bar, [, 1.5], 0) is void 0
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS foo(Math.min, [1.5], 0) is Math.min(1.5, 2.5)
PASS successfullyParsed is true
TEST COMPLETE