Skip to content
This repository has been archived by the owner on Jan 26, 2022. It is now read-only.

Polyfill simdCheckLaneIndex requires Int32 values, spec applies ToNumber first #329

Open
stoklund opened this issue Feb 28, 2016 · 3 comments

Comments

@stoklund
Copy link

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 returns extractLane(x,1)
  • extractLane(x, false): Polyfill throws TypeError, spec returns extractLane(x,0)
  • extractLane(x, 0x100000000): Polyfill throws TypeError, spec throws RangeError
  • extractLane(x, 1.5): Polyfill throws TypeError, spec throws RangeError
@stoklund
Copy link
Author

stoklund commented Mar 1, 2016

Is this the same as #237?

@nmostafa
Copy link
Contributor

nmostafa commented Mar 1, 2016

Revisited here too: 308
The polyfill should be fixed to follow the spec.

@stoklund
Copy link
Author

stoklund commented Mar 2, 2016

I agree. The spec is fine, we should just fix the polyfill and tests.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants