diff options
author | Alon Zakai <alonzakai@gmail.com> | 2019-02-19 10:14:59 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-19 10:14:59 -0800 |
commit | 3564b71c25d7691267f5f7d8b95f10fd5929090a (patch) | |
tree | ca81e10e93bc10b8ade61f96ff642152540f9e8f /test/passes/emit-js-wrapper=a.js.wast.js | |
parent | 8b820ed0021ab1a6ad5dad3972cfbf2cecb77e45 (diff) | |
download | binaryen-3564b71c25d7691267f5f7d8b95f10fd5929090a.tar.gz binaryen-3564b71c25d7691267f5f7d8b95f10fd5929090a.tar.bz2 binaryen-3564b71c25d7691267f5f7d8b95f10fd5929090a.zip |
NaN fuzzing improvements (#1913)
* make DE_NAN avoid creating nan literals in the first place
* add a reducer option `--denan` to not introduce nans in destructive reduction
* add a `Literal::isNaN()` method
* also remove the default exception logging from the fuzzer js glue, which is a source of non-useful VM differences (like nan nondeterminism)
* added an option `--no-fuzz-nans` to make it easy to avoid nans when fuzzing (without hacking the source and recompiling).
Background: trying to get fuzzing on jsc working despite this open issue: https://bugs.webkit.org/show_bug.cgi?id=175691
Diffstat (limited to 'test/passes/emit-js-wrapper=a.js.wast.js')
-rw-r--r-- | test/passes/emit-js-wrapper=a.js.wast.js | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/test/passes/emit-js-wrapper=a.js.wast.js b/test/passes/emit-js-wrapper=a.js.wast.js index 9e8578781..2e127d189 100644 --- a/test/passes/emit-js-wrapper=a.js.wast.js +++ b/test/passes/emit-js-wrapper=a.js.wast.js @@ -51,33 +51,33 @@ try { console.log('[fuzz-exec] calling $add'); console.log('[fuzz-exec] note result: $add => ' + literal(instance.exports.add(0, 0), 'i32')); } catch (e) { - console.log('exception: ' + e); + console.log('exception!' /* + e */); } if (instance.exports.hangLimitInitializer) instance.exports.hangLimitInitializer(); try { console.log('[fuzz-exec] calling $no_return'); instance.exports.no_return(0); } catch (e) { - console.log('exception: ' + e); + console.log('exception!' /* + e */); } if (instance.exports.hangLimitInitializer) instance.exports.hangLimitInitializer(); try { console.log('[fuzz-exec] calling $types'); instance.exports.types(0, 0, 0, 0, 0); } catch (e) { - console.log('exception: ' + e); + console.log('exception!' /* + e */); } if (instance.exports.hangLimitInitializer) instance.exports.hangLimitInitializer(); try { console.log('[fuzz-exec] calling $types2'); instance.exports.types2(0, 0, 0); } catch (e) { - console.log('exception: ' + e); + console.log('exception!' /* + e */); } if (instance.exports.hangLimitInitializer) instance.exports.hangLimitInitializer(); try { console.log('[fuzz-exec] calling $types3'); console.log('[fuzz-exec] note result: $types3 => ' + literal(instance.exports.types3(0, 0, 0), 'i32')); } catch (e) { - console.log('exception: ' + e); + console.log('exception!' /* + e */); } |