| //@ skip if $architecture == "arm" |
| //@ requireOptions("--useSamplingProfiler=true", "--useProbeOSRExit=true", "--useObjectAllocationSinking=false", "--sampleInterval=10") |
| |
| function foo(ranges) { |
| const CHUNK_SIZE = 95; |
| for (const [start, end] of ranges) { |
| const codePoints = []; |
| for (let length = 0, codePoint = start; codePoint <= end; codePoint++) { |
| codePoints[length++] = codePoint; |
| if (length === CHUNK_SIZE) { |
| length = 0; |
| codePoints.length = 0; |
| String.fromCodePoint(...[]); |
| } |
| } |
| String.fromCodePoint(...codePoints); |
| } |
| } |
| |
| for (let i=0; i<3; i++) { |
| let x = foo([ |
| [ 0, 10000 ], |
| [ 68000, 1114111 ] |
| ]); |
| } |