Conversation
Test262 conformance changes
|
hansl
left a comment
There was a problem hiding this comment.
LGTM. You're right that signaling NaNs aren't an issue. I thought I had that written somewhere (and the rationale) but it's not in the comments. Mmmh.
|
@raskad, we are running rust build for android as .so, getting a panic with this: Will log an issue |
Hi @andreievg that looks bad, please open an issue so we can track it. I already have some questions about your setup etc. The commit you are using ( |
While profiling, I noticed, that especially in the
NavierStokesbenchmark, theNanBoxedValue::as_variantfunction was taking a lot of runtime. I think the range checks caused this. I refactored the nan-boxing a bit, so that the value kind is always encoded in bits 48-50. Because this only leaves space for 7 kinds, I encodednullandundefinedinto one kind.Currently we use bit 51 for kind encoding, but as far as I understood the sources I looked at, if bit 51 is 0, the NaN value is a signaling NaN. But to be honest I have not found any real indicators, that using the bit, as long as you do not pass a signaling NaN back into a floating point algorithm, causes big issues.
When running the benchmarks, for most this change has no real impact. But in
NavierStokesI get a slight performance increase (~5%).