// Check JS::ubi::Node::size results for scripts. We don't attempt to check // exact sizes in this test (deemed to difficult and non-deterministic), just // some sanity checks. function f1() { return 42; } print("byteSizeOfScript(f1) = " + byteSizeOfScript(f1)); assertEq(byteSizeOfScript(f1) > 1, true); function f2(n) { var obj = { x: 1, y: 2, z: 3, }; if (i % 2 == 0) { for (var i = 0; i < n; i++) { this.x += i; print(uneval(i)); obj[i] = i * i; if (i > 10) { f2(i / f1()); } } } if (i % 3 == 0) { for (var i = 0; i < n; i++) { this.x *= i; print(uneval(i)); obj[i] = i * i; if (i > 10) { f2(i / f1()); } } } return this.x; } print("byteSizeOfScript(f2) = " + byteSizeOfScript(f2)); assertEq(byteSizeOfScript(f2) > 1, true); assertEq(byteSizeOfScript(f2) > byteSizeOfScript(f1), true);