| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <div id="description"></div> |
| <div id="console"></div> |
| |
| <div id="parentNode"> |
| <div id="previousSibling"></div><div id="target"><div id="firstChild"></div><div id="lastChild"></div></div><div id="nextSibling"></div> |
| </div> |
| |
| <script> |
| description('Test DOMJIT accessors work in monomorphic call sites.'); |
| var tests = [ |
| "firstChild", |
| "lastChild", |
| "nextSibling", |
| "previousSibling", |
| "parentNode", |
| ].map(function (name) { |
| var func = ` |
| return function ${name}(name, element, result) { |
| for (var i = 0; i < 1e4; ++i) { |
| if (element.${name} !== result) |
| return false; |
| } |
| return true; |
| }; |
| `; |
| return [ name, Function(func)() ]; |
| }); |
| |
| for (var [name, func] of tests) { |
| shouldBeTrue(`func("${name}", document.getElementById("target"), document.getElementById("${name}"))`); |
| } |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |