| // |reftest| skip-if(!xulRuntime.shell) |
| |
| // Any copyright is dedicated to the Public Domain. |
| // http://creativecommons.org/licenses/publicdomain/ |
| |
| //----------------------------------------------------------------------------- |
| var BUGNUMBER = 822041; |
| var summary = "Live generators should not cache SPS state"; |
| |
| print(BUGNUMBER + ": " + summary); |
| |
| function gen() { |
| var x = yield turnoff(); |
| yield x; |
| yield 'bye'; |
| } |
| |
| function turnoff() { |
| print("Turning off profiler\n"); |
| disableSPSProfiling(); |
| return 'hi'; |
| } |
| |
| for (var slowAsserts of [ true, false ]) { |
| // The slowAssertions setting is not expected to matter |
| if (slowAsserts) |
| enableSPSProfilingWithSlowAssertions(); |
| else |
| enableSPSProfiling(); |
| |
| g = gen(); |
| assertEq(g.next(), 'hi'); |
| assertEq(g.send('gurgitating...'), 'gurgitating...'); |
| for (var x in g) |
| assertEq(x, 'bye'); |
| } |
| |
| // This is really a crashtest |
| reportCompare(0, 0, 'ok'); |