| //@ skip if ["arm"].include?($architecture) |
| //@ runDefault("--useConcurrentJIT=0", "--thresholdForJITAfterWarmUp=10", "--slowPathAllocsBetweenGCs=10", "--useConcurrentGC=0") |
| |
| function fullGC() { |
| for (var i = 0; i < 10; i++) { |
| new Float64Array(0x1000000); |
| } |
| } |
| |
| function outer() { |
| function f() { |
| try { |
| const r = f(); |
| } catch(e) { |
| const o = Object(); |
| function inner(a1, a2, a3) { |
| try { |
| const r1 = new Uint32Array(); |
| const r2 = r1.values(); |
| } catch(e2) { |
| } |
| } |
| const result = inner(); |
| } |
| } |
| |
| f(); |
| |
| function edenGC() { |
| for (let i = 0; i < 100; i++) { |
| const floatArray = new Float64Array(0x10000); |
| } |
| } |
| edenGC(); |
| } |
| |
| for (let i = 0; i < 100; i++) { |
| const result = outer(); |
| } |
| |
| fullGC(); |
| |