ecmascript_simd
ecmascript_simd copied to clipboard
Polyfill simdCheckLaneIndex requires Int32 values, spec applies ToNumber first
The API function arguments that represent lane indexes are checked with the simdCheckLaneIndex() in the polyfill. This function throws a TypeError if the argument is not an Int32 Number.
The spec uses the abstract function SIMDToLane which first applies ToNumber before checking that the argument is an integer in the right range. This function only throws a TypeError when ToNumber throws.
Some differences:
-
extractLane(x, "1"): Polyfill throws TypeError, spec returnsextractLane(x,1) -
extractLane(x, false): Polyfill throws TypeError, spec returnsextractLane(x,0) -
extractLane(x, 0x100000000): Polyfill throws TypeError, spec throws RangeError -
extractLane(x, 1.5): Polyfill throws TypeError, spec throws RangeError
Is this the same as #237?
Revisited here too: 308 The polyfill should be fixed to follow the spec.
I agree. The spec is fine, we should just fix the polyfill and tests.