1'use strict';
2require('../common');
3const assert = require('assert');
4const vm = require('vm');
5
6function a() {
7  try {
8    return a();
9  } catch {
10    // Throw an exception as near to the recursion-based RangeError as possible.
11    return vm.runInThisContext('() => 42')();
12  }
13}
14
15assert.strictEqual(a(), 42);
16
17function b() {
18  try {
19    return b();
20  } catch {
21    // This writes a lot of noise to stderr, but it still works.
22    return vm.runInNewContext('() => 42')();
23  }
24}
25
26assert.strictEqual(b(), 42);
27