37 lines
744 B
HTML
37 lines
744 B
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<script src="../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
|
|
description("Test that a 16-bit AtomString containing only 8-bit characters doesn't confuse the JIT into thinking it's an 8-bit AtomString.");
|
|
|
|
o = {};
|
|
|
|
stringWithEmoji = "zest😐";
|
|
var test16bit = stringWithEmoji.substring(0, 4);
|
|
|
|
o[test16bit] = "this makes it an AtomString";
|
|
|
|
globalRope = "";
|
|
|
|
function jittable(a, b) {
|
|
for (var i = 0; i < 5000; ++i) {
|
|
poisonedRope = a + b;
|
|
o[poisonedRope] = 1;
|
|
globalRope = "foo." + poisonedRope;
|
|
}
|
|
}
|
|
|
|
jittable("ze", "st");
|
|
|
|
shouldBe("globalRope", "'foo.zest'");
|
|
|
|
</script>
|
|
<script src="../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|