| // Copyright 2019 the V8 project authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| // Flags: --allow-natives-syntax | |
| function g(code) { | |
| try { | |
| if (typeof code === 'function') { | |
| +Symbol(); | |
| } else { | |
| eval(); | |
| } | |
| } catch (e) { | |
| return; | |
| } | |
| dummy(); | |
| } | |
| function f() { | |
| g(g); | |
| } | |
| try { g(); } catch(e) {; } | |
| %PrepareFunctionForOptimization(f); | |
| f(); | |
| %OptimizeFunctionOnNextCall(f); | |
| f(); |