| 1234567891011121314151617181920212223242526 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- // This is a sketchy test because it relies on knowing that the following pattern
- // hits the heuristics that decide to cache the scopes within the generator function.
- // If those heuristics were to change this test could no longer be hitting the
- // desired code paths. If you suspect it is not hitting the cached scope code paths
- // dump the bytecode and check for InitCachedScope and LdHeapArgsCached opcodes.
- var o = {
- gf: function* () {
- var _a = 'pas';
- function a() { return _a; }
- return eval('a()') + arguments[0];
- }
- };
- function test() {
- for (var i = 0; i < 3; i += 1) {
- var g = o.gf('sed');
- WScript.Echo(g.next().value);
- }
- }
- test();
|