зеркало из https://github.com/mozilla/gecko-dev.git
31 строка
878 B
HTML
31 строка
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>
|