byteSize-of-scripts.js (1005B)
1 // Check JS::ubi::Node::size results for scripts. We don't attempt to check 2 // exact sizes in this test (deemed to difficult and non-deterministic), just 3 // some sanity checks. 4 5 function f1() { 6 return 42; 7 } 8 9 print("byteSizeOfScript(f1) = " + byteSizeOfScript(f1)); 10 assertEq(byteSizeOfScript(f1) > 1, true); 11 12 function f2(n) { 13 var obj = { 14 x: 1, 15 y: 2, 16 z: 3, 17 }; 18 19 if (i % 2 == 0) { 20 for (var i = 0; i < n; i++) { 21 (function() { 22 this.x += i; 23 print(String(i)); 24 obj[i] = i * i; 25 if (i > 10) { 26 f2(i / f1()); 27 } 28 })(); 29 } 30 } 31 32 if (i % 3 == 0) { 33 for (var i = 0; i < n; i++) { 34 (function() { 35 this.x *= i; 36 print(String(i)); 37 obj[i] = i * i; 38 if (i > 10) { 39 f2(i / f1()); 40 } 41 })(); 42 } 43 } 44 45 return this.x; 46 } 47 48 print("byteSizeOfScript(f2) = " + byteSizeOfScript(f2)); 49 assertEq(byteSizeOfScript(f2) > 1, true); 50 assertEq(byteSizeOfScript(f2) > byteSizeOfScript(f1), true);