g = newGlobal({newCompartment: true});
g.parent = this;
g.eval("(" + function() {
    let calledTimes = 0;
    Debugger(parent).onExceptionUnwind = function(frame) {
        switch (calledTimes++) {
          case 0:
            assertEq(frame.older.type, "global");
            break;
          case 1:
            // Force toplevel to return placidly so that we can tell assertions
            // from the throwing in the test.
            assertEq(frame.older, null);
            return { return: undefined };
          default:
            assertEq(false, true);
        }
    }
} + ")()");

var handler = {
    get() {
        r;
    }
};
new(new Proxy(function() {}, handler));
