mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 17:25:36 +00:00
2dbc54f868
Depends on D13891 Differential Revision: https://phabricator.services.mozilla.com/D13892 --HG-- extra : moz-landing-system : lando
31 lines
878 B
HTML
31 lines
878 B
HTML
<!DOCTYPE html>
|
|
<meta charset=utf-8>
|
|
<title>Test that we don't DCE functions that can throw</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<div id="log"></div>
|
|
<script>
|
|
/* global test, assert_true */
|
|
test(function() {
|
|
function test(root) {
|
|
var threw = false;
|
|
try {
|
|
root.querySelectorAll("");
|
|
} catch (e) { threw = true; }
|
|
// Hot loop to make sure the JIT heuristics ion-compile this function even
|
|
// though it's throwing exceptions (which would normally make us back off
|
|
// of ion compilation).
|
|
for (var i = 0; i < 1500; i++) {
|
|
// empty
|
|
}
|
|
return threw;
|
|
}
|
|
|
|
var threw = false;
|
|
var el = document.createElement("div");
|
|
for (var i = 0; i < 200; i++)
|
|
threw = test(el);
|
|
assert_true(threw);
|
|
}, "Shouldn't optimize away throwing functions");
|
|
</script>
|