Bug 1518753 part 7 - Replace newGlobal() => newGlobal({newCompartment: true}) in jit-tests that fail with same-compartment realms. r=jorendorff
authorJan de Mooij <jdemooij@mozilla.com>
Sat, 12 Jan 2019 10:50:53 +0000
changeset 453633 83c9c1d0af9733b9cba540c95123dc2dc0564e87
parent 453632 02251eb9e2c15b86723ebcd838a569dfdd320c4a
child 453634 cdcc178f48968b684dd08ff5dbf4def310ad1819
push id35362
push userncsoregi@mozilla.com
push dateSat, 12 Jan 2019 21:35:38 +0000
treeherdermozilla-central@877169d8ef49 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjorendorff
bugs1518753
milestone66.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1518753 part 7 - Replace newGlobal() => newGlobal({newCompartment: true}) in jit-tests that fail with same-compartment realms. r=jorendorff These tests mostly use either the debugger (requires separate compartemnts for debugger/debuggee) or require a new compartment for things like nukeAllCCWs(). Differential Revision: https://phabricator.services.mozilla.com/D16172
js/src/jit-test/tests/arguments/rest-debugger.js
js/src/jit-test/tests/asm.js/testBug1236552.js
js/src/jit-test/tests/asm.js/testBug893519.js
js/src/jit-test/tests/asm.js/testDebugModeDisables.js
js/src/jit-test/tests/auto-regress/bug1147907.js
js/src/jit-test/tests/auto-regress/bug1315943.js
js/src/jit-test/tests/auto-regress/bug1479076.js
js/src/jit-test/tests/auto-regress/bug677386.js
js/src/jit-test/tests/auto-regress/bug677587.js
js/src/jit-test/tests/auto-regress/bug677977.js
js/src/jit-test/tests/auto-regress/bug721497.js
js/src/jit-test/tests/auto-regress/bug797493.js
js/src/jit-test/tests/auto-regress/for-of-iterator-close-debugger.js
js/src/jit-test/tests/baseline/bug1416727.js
js/src/jit-test/tests/baseline/bug836742.js
js/src/jit-test/tests/baseline/bug842431-1.js
js/src/jit-test/tests/baseline/bug842431-2.js
js/src/jit-test/tests/baseline/bug842431-3.js
js/src/jit-test/tests/baseline/bug842432.js
js/src/jit-test/tests/baseline/bug852175.js
js/src/jit-test/tests/baseline/bug857580.js
js/src/jit-test/tests/basic/bug1141154.js
js/src/jit-test/tests/basic/bug713226.js
js/src/jit-test/tests/basic/bug951632.js
js/src/jit-test/tests/basic/properly-remove-timeout-root-before-shutdown.js
js/src/jit-test/tests/basic/testBug895774.js
js/src/jit-test/tests/basic/testGeneratorDieButScopeAlive.js
js/src/jit-test/tests/cacheir/bug1448136.js
js/src/jit-test/tests/collections/bug-743101.js
js/src/jit-test/tests/debug/DebuggeeWouldRun-03.js
js/src/jit-test/tests/debug/DebuggeeWouldRun-04.js
js/src/jit-test/tests/debug/Debugger-adoptDebuggeeValue.js
js/src/jit-test/tests/debug/Debugger-allowUnobservedAsmJS-01.js
js/src/jit-test/tests/debug/Debugger-allowUnobservedAsmJS-02.js
js/src/jit-test/tests/debug/Debugger-clearAllBreakpoints-01.js
js/src/jit-test/tests/debug/Debugger-ctor-01.js
js/src/jit-test/tests/debug/Debugger-ctor-02.js
js/src/jit-test/tests/debug/Debugger-ctor-04.js
js/src/jit-test/tests/debug/Debugger-ctor-05.js
js/src/jit-test/tests/debug/Debugger-debuggees-02.js
js/src/jit-test/tests/debug/Debugger-debuggees-03.js
js/src/jit-test/tests/debug/Debugger-debuggees-04.js
js/src/jit-test/tests/debug/Debugger-debuggees-05.js
js/src/jit-test/tests/debug/Debugger-debuggees-06.js
js/src/jit-test/tests/debug/Debugger-debuggees-08.js
js/src/jit-test/tests/debug/Debugger-debuggees-09.js
js/src/jit-test/tests/debug/Debugger-debuggees-10.js
js/src/jit-test/tests/debug/Debugger-debuggees-11.js
js/src/jit-test/tests/debug/Debugger-debuggees-12.js
js/src/jit-test/tests/debug/Debugger-debuggees-13.js
js/src/jit-test/tests/debug/Debugger-debuggees-14.js
js/src/jit-test/tests/debug/Debugger-debuggees-15.js
js/src/jit-test/tests/debug/Debugger-debuggees-16.js
js/src/jit-test/tests/debug/Debugger-debuggees-17.js
js/src/jit-test/tests/debug/Debugger-debuggees-18.js
js/src/jit-test/tests/debug/Debugger-debuggees-19.js
js/src/jit-test/tests/debug/Debugger-debuggees-20.js
js/src/jit-test/tests/debug/Debugger-debuggees-22.js
js/src/jit-test/tests/debug/Debugger-debuggees-23.js
js/src/jit-test/tests/debug/Debugger-debuggees-24.js
js/src/jit-test/tests/debug/Debugger-debuggees-25.js
js/src/jit-test/tests/debug/Debugger-debuggees-26.js
js/src/jit-test/tests/debug/Debugger-debuggees-27.js
js/src/jit-test/tests/debug/Debugger-debuggees-28.js
js/src/jit-test/tests/debug/Debugger-debuggees-30.js
js/src/jit-test/tests/debug/Debugger-enabled-01.js
js/src/jit-test/tests/debug/Debugger-enabled-02.js
js/src/jit-test/tests/debug/Debugger-findAllGlobals-02.js
js/src/jit-test/tests/debug/Debugger-findObjects-02.js
js/src/jit-test/tests/debug/Debugger-findObjects-03.js
js/src/jit-test/tests/debug/Debugger-findObjects-04.js
js/src/jit-test/tests/debug/Debugger-findObjects-05.js
js/src/jit-test/tests/debug/Debugger-findObjects-06.js
js/src/jit-test/tests/debug/Debugger-findObjects-07.js
js/src/jit-test/tests/debug/Debugger-findObjects-09.js
js/src/jit-test/tests/debug/Debugger-findObjects-10.js
js/src/jit-test/tests/debug/Debugger-findObjects-11.js
js/src/jit-test/tests/debug/Debugger-findScripts-02.js
js/src/jit-test/tests/debug/Debugger-findScripts-03.js
js/src/jit-test/tests/debug/Debugger-findScripts-04.js
js/src/jit-test/tests/debug/Debugger-findScripts-05.js
js/src/jit-test/tests/debug/Debugger-findScripts-06.js
js/src/jit-test/tests/debug/Debugger-findScripts-07.js
js/src/jit-test/tests/debug/Debugger-findScripts-08.js
js/src/jit-test/tests/debug/Debugger-findScripts-10.js
js/src/jit-test/tests/debug/Debugger-findScripts-11.js
js/src/jit-test/tests/debug/Debugger-findScripts-12.js
js/src/jit-test/tests/debug/Debugger-findScripts-14.js
js/src/jit-test/tests/debug/Debugger-findScripts-15.js
js/src/jit-test/tests/debug/Debugger-findScripts-16.js
js/src/jit-test/tests/debug/Debugger-findScripts-17.js
js/src/jit-test/tests/debug/Debugger-findScripts-18.js
js/src/jit-test/tests/debug/Debugger-findScripts-19.js
js/src/jit-test/tests/debug/Debugger-findScripts-20.js
js/src/jit-test/tests/debug/Debugger-findScripts-22.js
js/src/jit-test/tests/debug/Debugger-findScripts-23.js
js/src/jit-test/tests/debug/Debugger-findScripts-24.js
js/src/jit-test/tests/debug/Debugger-findScripts-optimized-out.js
js/src/jit-test/tests/debug/Debugger-findScripts-uncompleted-01.js
js/src/jit-test/tests/debug/Debugger-findScripts-uncompleted-02.js
js/src/jit-test/tests/debug/Debugger-findSources-02.js
js/src/jit-test/tests/debug/Debugger-findSources-03.js
js/src/jit-test/tests/debug/Debugger-getNewestFrame-01.js
js/src/jit-test/tests/debug/Debugger-getNewestFrame-02.js
js/src/jit-test/tests/debug/Debugger-getNewestFrame-03.js
js/src/jit-test/tests/debug/Debugger-getNewestFrame-generators-01.js
js/src/jit-test/tests/debug/Debugger-multi-01.js
js/src/jit-test/tests/debug/Debugger-multi-02.js
js/src/jit-test/tests/debug/Debugger-multi-03.js
js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-01.js
js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-02.js
js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-03.js
js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-04.js
js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-05.js
js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-13.js
js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-14.js
js/src/jit-test/tests/debug/Debugger-onNewPromise-01.js
js/src/jit-test/tests/debug/Debugger-onNewPromise-02.js
js/src/jit-test/tests/debug/Debugger-onNewPromise-03.js
js/src/jit-test/tests/debug/Debugger-onNewPromise-04.js
js/src/jit-test/tests/debug/Debugger-onNewPromise-05.js
js/src/jit-test/tests/debug/Debugger-onNewPromise-06.js
js/src/jit-test/tests/debug/Debugger-onNewPromise-07.js
js/src/jit-test/tests/debug/Debugger-onPromiseSettled-01.js
js/src/jit-test/tests/debug/Debugger-onPromiseSettled-02.js
js/src/jit-test/tests/debug/Debugger-onPromiseSettled-03.js
js/src/jit-test/tests/debug/Debugger-onPromiseSettled-04.js
js/src/jit-test/tests/debug/Debugger-onPromiseSettled-05.js
js/src/jit-test/tests/debug/Debugger-onPromiseSettled-06.js
js/src/jit-test/tests/debug/Environment-01.js
js/src/jit-test/tests/debug/Environment-02.js
js/src/jit-test/tests/debug/Environment-03.js
js/src/jit-test/tests/debug/Environment-Function-prototype.js
js/src/jit-test/tests/debug/Environment-bug-1431461.js
js/src/jit-test/tests/debug/Environment-callee-01.js
js/src/jit-test/tests/debug/Environment-callee-02.js
js/src/jit-test/tests/debug/Environment-callee-03.js
js/src/jit-test/tests/debug/Environment-callee-04.js
js/src/jit-test/tests/debug/Environment-find-01.js
js/src/jit-test/tests/debug/Environment-find-02.js
js/src/jit-test/tests/debug/Environment-find-03.js
js/src/jit-test/tests/debug/Environment-find-04.js
js/src/jit-test/tests/debug/Environment-find-06.js
js/src/jit-test/tests/debug/Environment-find-07.js
js/src/jit-test/tests/debug/Environment-gc-01.js
js/src/jit-test/tests/debug/Environment-gc-02.js
js/src/jit-test/tests/debug/Environment-gc-03.js
js/src/jit-test/tests/debug/Environment-getVariable-01.js
js/src/jit-test/tests/debug/Environment-getVariable-02.js
js/src/jit-test/tests/debug/Environment-getVariable-03.js
js/src/jit-test/tests/debug/Environment-getVariable-04.js
js/src/jit-test/tests/debug/Environment-getVariable-05.js
js/src/jit-test/tests/debug/Environment-getVariable-06.js
js/src/jit-test/tests/debug/Environment-getVariable-07.js
js/src/jit-test/tests/debug/Environment-getVariable-08.js
js/src/jit-test/tests/debug/Environment-getVariable-09.js
js/src/jit-test/tests/debug/Environment-getVariable-10.js
js/src/jit-test/tests/debug/Environment-getVariable-11.js
js/src/jit-test/tests/debug/Environment-getVariable-12.js
js/src/jit-test/tests/debug/Environment-getVariable-13.js
js/src/jit-test/tests/debug/Environment-getVariable-14.js
js/src/jit-test/tests/debug/Environment-getVariable-15.js
js/src/jit-test/tests/debug/Environment-getVariable-WouldRun.js
js/src/jit-test/tests/debug/Environment-identity-01.js
js/src/jit-test/tests/debug/Environment-identity-02.js
js/src/jit-test/tests/debug/Environment-identity-03.js
js/src/jit-test/tests/debug/Environment-identity-04.js
js/src/jit-test/tests/debug/Environment-identity-05.js
js/src/jit-test/tests/debug/Environment-inspectable-01.js
js/src/jit-test/tests/debug/Environment-names-01.js
js/src/jit-test/tests/debug/Environment-names-02.js
js/src/jit-test/tests/debug/Environment-names-03.js
js/src/jit-test/tests/debug/Environment-nondebuggee.js
js/src/jit-test/tests/debug/Environment-object-01.js
js/src/jit-test/tests/debug/Environment-optimizedOut-01.js
js/src/jit-test/tests/debug/Environment-parent-01.js
js/src/jit-test/tests/debug/Environment-setVariable-01.js
js/src/jit-test/tests/debug/Environment-setVariable-02.js
js/src/jit-test/tests/debug/Environment-setVariable-03.js
js/src/jit-test/tests/debug/Environment-setVariable-04.js
js/src/jit-test/tests/debug/Environment-setVariable-05.js
js/src/jit-test/tests/debug/Environment-setVariable-06.js
js/src/jit-test/tests/debug/Environment-setVariable-07.js
js/src/jit-test/tests/debug/Environment-setVariable-08.js
js/src/jit-test/tests/debug/Environment-setVariable-10.js
js/src/jit-test/tests/debug/Environment-setVariable-11.js
js/src/jit-test/tests/debug/Environment-setVariable-12.js
js/src/jit-test/tests/debug/Environment-setVariable-13.js
js/src/jit-test/tests/debug/Environment-setVariable-WouldRun.js
js/src/jit-test/tests/debug/Environment-type-01.js
js/src/jit-test/tests/debug/Environment-unscopables.js
js/src/jit-test/tests/debug/Environment-variables.js
js/src/jit-test/tests/debug/Frame-01.js
js/src/jit-test/tests/debug/Frame-02.js
js/src/jit-test/tests/debug/Frame-03.js
js/src/jit-test/tests/debug/Frame-arguments-01.js
js/src/jit-test/tests/debug/Frame-arguments-02.js
js/src/jit-test/tests/debug/Frame-arguments-03.js
js/src/jit-test/tests/debug/Frame-arguments-04.js
js/src/jit-test/tests/debug/Frame-arguments-05.js
js/src/jit-test/tests/debug/Frame-arguments-06.js
js/src/jit-test/tests/debug/Frame-arguments-07.js
js/src/jit-test/tests/debug/Frame-environment-01.js
js/src/jit-test/tests/debug/Frame-environment-02.js
js/src/jit-test/tests/debug/Frame-environment-03.js
js/src/jit-test/tests/debug/Frame-environment-04.js
js/src/jit-test/tests/debug/Frame-environment-05.js
js/src/jit-test/tests/debug/Frame-eval-01.js
js/src/jit-test/tests/debug/Frame-eval-02.js
js/src/jit-test/tests/debug/Frame-eval-03.js
js/src/jit-test/tests/debug/Frame-eval-04.js
js/src/jit-test/tests/debug/Frame-eval-05.js
js/src/jit-test/tests/debug/Frame-eval-06.js
js/src/jit-test/tests/debug/Frame-eval-07.js
js/src/jit-test/tests/debug/Frame-eval-08.js
js/src/jit-test/tests/debug/Frame-eval-09.js
js/src/jit-test/tests/debug/Frame-eval-10.js
js/src/jit-test/tests/debug/Frame-eval-11.js
js/src/jit-test/tests/debug/Frame-eval-12.js
js/src/jit-test/tests/debug/Frame-eval-13.js
js/src/jit-test/tests/debug/Frame-eval-14.js
js/src/jit-test/tests/debug/Frame-eval-15.js
js/src/jit-test/tests/debug/Frame-eval-16.js
js/src/jit-test/tests/debug/Frame-eval-17.js
js/src/jit-test/tests/debug/Frame-eval-18.js
js/src/jit-test/tests/debug/Frame-eval-19.js
js/src/jit-test/tests/debug/Frame-eval-20.js
js/src/jit-test/tests/debug/Frame-eval-21.js
js/src/jit-test/tests/debug/Frame-eval-22.js
js/src/jit-test/tests/debug/Frame-eval-23.js
js/src/jit-test/tests/debug/Frame-eval-24.js
js/src/jit-test/tests/debug/Frame-eval-26.js
js/src/jit-test/tests/debug/Frame-eval-27.js
js/src/jit-test/tests/debug/Frame-eval-28.js
js/src/jit-test/tests/debug/Frame-eval-stack.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-01.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-02.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-03.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-04.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-05.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-06.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-07.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-08.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-09.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-10.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-11.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-12.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-13.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-14.js
js/src/jit-test/tests/debug/Frame-evalWithBindings-15.js
js/src/jit-test/tests/debug/Frame-identity-01.js
js/src/jit-test/tests/debug/Frame-identity-02.js
js/src/jit-test/tests/debug/Frame-identity-03.js
js/src/jit-test/tests/debug/Frame-identity-04.js
js/src/jit-test/tests/debug/Frame-identity-05.js
js/src/jit-test/tests/debug/Frame-identity-06.js
js/src/jit-test/tests/debug/Frame-identity-07.js
js/src/jit-test/tests/debug/Frame-implementation-01.js
js/src/jit-test/tests/debug/Frame-implementation-02.js
js/src/jit-test/tests/debug/Frame-live-01.js
js/src/jit-test/tests/debug/Frame-live-02.js
js/src/jit-test/tests/debug/Frame-live-03.js
js/src/jit-test/tests/debug/Frame-live-04.js
js/src/jit-test/tests/debug/Frame-live-05.js
js/src/jit-test/tests/debug/Frame-live-06.js
js/src/jit-test/tests/debug/Frame-live-07.js
js/src/jit-test/tests/debug/Frame-newTargetEval-01.js
js/src/jit-test/tests/debug/Frame-newTargetEval-02.js
js/src/jit-test/tests/debug/Frame-newTargetOverflow-01.js
js/src/jit-test/tests/debug/Frame-offset-01.js
js/src/jit-test/tests/debug/Frame-offset-02.js
js/src/jit-test/tests/debug/Frame-older-01.js
js/src/jit-test/tests/debug/Frame-older-generators-01.js
js/src/jit-test/tests/debug/Frame-older-generators-02.js
js/src/jit-test/tests/debug/Frame-onPop-01.js
js/src/jit-test/tests/debug/Frame-onPop-02.js
js/src/jit-test/tests/debug/Frame-onPop-03.js
js/src/jit-test/tests/debug/Frame-onPop-04.js
js/src/jit-test/tests/debug/Frame-onPop-05.js
js/src/jit-test/tests/debug/Frame-onPop-06.js
js/src/jit-test/tests/debug/Frame-onPop-07.js
js/src/jit-test/tests/debug/Frame-onPop-08.js
js/src/jit-test/tests/debug/Frame-onPop-09.js
js/src/jit-test/tests/debug/Frame-onPop-10.js
js/src/jit-test/tests/debug/Frame-onPop-11.js
js/src/jit-test/tests/debug/Frame-onPop-12.js
js/src/jit-test/tests/debug/Frame-onPop-13.js
js/src/jit-test/tests/debug/Frame-onPop-14.js
js/src/jit-test/tests/debug/Frame-onPop-15.js
js/src/jit-test/tests/debug/Frame-onPop-16.js
js/src/jit-test/tests/debug/Frame-onPop-17.js
js/src/jit-test/tests/debug/Frame-onPop-18.js
js/src/jit-test/tests/debug/Frame-onPop-19.js
js/src/jit-test/tests/debug/Frame-onPop-20.js
js/src/jit-test/tests/debug/Frame-onPop-21.js
js/src/jit-test/tests/debug/Frame-onPop-23.js
js/src/jit-test/tests/debug/Frame-onPop-after-debugger-return.js
js/src/jit-test/tests/debug/Frame-onPop-async-01.js
js/src/jit-test/tests/debug/Frame-onPop-disabled.js
js/src/jit-test/tests/debug/Frame-onPop-error-error.js
js/src/jit-test/tests/debug/Frame-onPop-error-return.js
js/src/jit-test/tests/debug/Frame-onPop-error-scope-unwind-01.js
js/src/jit-test/tests/debug/Frame-onPop-error-scope-unwind-02.js
js/src/jit-test/tests/debug/Frame-onPop-error-throw.js
js/src/jit-test/tests/debug/Frame-onPop-error.js
js/src/jit-test/tests/debug/Frame-onPop-generator-resumption-01.js
js/src/jit-test/tests/debug/Frame-onPop-generators-01.js
js/src/jit-test/tests/debug/Frame-onPop-generators-02.js
js/src/jit-test/tests/debug/Frame-onPop-generators-03.js
js/src/jit-test/tests/debug/Frame-onPop-generators-04.js
js/src/jit-test/tests/debug/Frame-onPop-generators-05.js
js/src/jit-test/tests/debug/Frame-onPop-multiple-01.js
js/src/jit-test/tests/debug/Frame-onPop-multiple-02.js
js/src/jit-test/tests/debug/Frame-onPop-multiple-03.js
js/src/jit-test/tests/debug/Frame-onPop-multiple-04.js
js/src/jit-test/tests/debug/Frame-onPop-return-error.js
js/src/jit-test/tests/debug/Frame-onPop-return-return.js
js/src/jit-test/tests/debug/Frame-onPop-return-throw.js
js/src/jit-test/tests/debug/Frame-onPop-return.js
js/src/jit-test/tests/debug/Frame-onPop-throw-error.js
js/src/jit-test/tests/debug/Frame-onPop-throw-return.js
js/src/jit-test/tests/debug/Frame-onPop-throw-throw.js
js/src/jit-test/tests/debug/Frame-onPop-throw.js
js/src/jit-test/tests/debug/Frame-onStep-01.js
js/src/jit-test/tests/debug/Frame-onStep-02.js
js/src/jit-test/tests/debug/Frame-onStep-03.js
js/src/jit-test/tests/debug/Frame-onStep-04.js
js/src/jit-test/tests/debug/Frame-onStep-05.js
js/src/jit-test/tests/debug/Frame-onStep-06.js
js/src/jit-test/tests/debug/Frame-onStep-07.js
js/src/jit-test/tests/debug/Frame-onStep-08.js
js/src/jit-test/tests/debug/Frame-onStep-09.js
js/src/jit-test/tests/debug/Frame-onStep-10.js
js/src/jit-test/tests/debug/Frame-onStep-11.js
js/src/jit-test/tests/debug/Frame-onStep-12.js
js/src/jit-test/tests/debug/Frame-onStep-13.js
js/src/jit-test/tests/debug/Frame-onStep-14.js
js/src/jit-test/tests/debug/Frame-onStep-15.js
js/src/jit-test/tests/debug/Frame-onStep-16.js
js/src/jit-test/tests/debug/Frame-onStep-17.js
js/src/jit-test/tests/debug/Frame-onStep-18.js
js/src/jit-test/tests/debug/Frame-onStep-20.js
js/src/jit-test/tests/debug/Frame-onStep-async-01.js
js/src/jit-test/tests/debug/Frame-onStep-async-02.js
js/src/jit-test/tests/debug/Frame-onStep-async-gc-01.js
js/src/jit-test/tests/debug/Frame-onStep-generator-resumption-01.js
js/src/jit-test/tests/debug/Frame-onStep-generators-01.js
js/src/jit-test/tests/debug/Frame-onStep-generators-02.js
js/src/jit-test/tests/debug/Frame-onStep-generators-03.js
js/src/jit-test/tests/debug/Frame-onStep-generators-04.js
js/src/jit-test/tests/debug/Frame-onStep-generators-defaults.js
js/src/jit-test/tests/debug/Frame-onStep-generators-gc-01.js
js/src/jit-test/tests/debug/Frame-onStep-iterators.js
js/src/jit-test/tests/debug/Frame-onStep-lines-01.js
js/src/jit-test/tests/debug/Frame-onStep-resumption-01.js
js/src/jit-test/tests/debug/Frame-onStep-resumption-02.js
js/src/jit-test/tests/debug/Frame-onStep-resumption-03.js
js/src/jit-test/tests/debug/Frame-onStep-resumption-04.js
js/src/jit-test/tests/debug/Frame-onStep-resumption-05.js
js/src/jit-test/tests/debug/Frame-script-01.js
js/src/jit-test/tests/debug/Frame-script-02.js
js/src/jit-test/tests/debug/Frame-script-03.js
js/src/jit-test/tests/debug/Frame-script-environment-nondebuggee.js
js/src/jit-test/tests/debug/Frame-this-01.js
js/src/jit-test/tests/debug/Frame-this-02.js
js/src/jit-test/tests/debug/Frame-this-03.js
js/src/jit-test/tests/debug/Frame-this-04.js
js/src/jit-test/tests/debug/Frame-this-05.js
js/src/jit-test/tests/debug/Frame-this-06.js
js/src/jit-test/tests/debug/Frame-this-07.js
js/src/jit-test/tests/debug/Frame-this-08.js
js/src/jit-test/tests/debug/Frame-this-09.js
js/src/jit-test/tests/debug/Frame-this-10.js
js/src/jit-test/tests/debug/Frame-this-11.js
js/src/jit-test/tests/debug/Frame-this-12.js
js/src/jit-test/tests/debug/Memory-allocationSamplingProbability-01.js
js/src/jit-test/tests/debug/Memory-allocationSamplingProbability-02.js
js/src/jit-test/tests/debug/Memory-allocationsLogOverflowed-01.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-01.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-03.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-04.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-05.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-06.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-07.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-08.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-09.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-10.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-11.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-12.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-13.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-14.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-15.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-16.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-17.js
js/src/jit-test/tests/debug/Memory-drainAllocationsLog-18.js
js/src/jit-test/tests/debug/Memory-takeCensus-01.js
js/src/jit-test/tests/debug/Memory-takeCensus-02.js
js/src/jit-test/tests/debug/Memory-takeCensus-03.js
js/src/jit-test/tests/debug/Memory-takeCensus-04.js
js/src/jit-test/tests/debug/Memory-takeCensus-05.js
js/src/jit-test/tests/debug/Memory-takeCensus-06.js
js/src/jit-test/tests/debug/Memory-takeCensus-07.js
js/src/jit-test/tests/debug/Memory-takeCensus-08.js
js/src/jit-test/tests/debug/Memory-takeCensus-09.js
js/src/jit-test/tests/debug/Memory-takeCensus-10.js
js/src/jit-test/tests/debug/Memory-takeCensus-11.js
js/src/jit-test/tests/debug/Memory-takeCensus-12.js
js/src/jit-test/tests/debug/Memory-trackingAllocationSites-01.js
js/src/jit-test/tests/debug/Memory-trackingAllocationSites-02.js
js/src/jit-test/tests/debug/Memory-trackingAllocationSites-03.js
js/src/jit-test/tests/debug/Object-01.js
js/src/jit-test/tests/debug/Object-02.js
js/src/jit-test/tests/debug/Object-apply-01.js
js/src/jit-test/tests/debug/Object-apply-02.js
js/src/jit-test/tests/debug/Object-apply-03.js
js/src/jit-test/tests/debug/Object-apply-04.js
js/src/jit-test/tests/debug/Object-asEnvironment-01.js
js/src/jit-test/tests/debug/Object-boundTargetFunction-01.js
js/src/jit-test/tests/debug/Object-boundTargetFunction-02.js
js/src/jit-test/tests/debug/Object-boundTargetFunction-03.js
js/src/jit-test/tests/debug/Object-callable.js
js/src/jit-test/tests/debug/Object-class.js
js/src/jit-test/tests/debug/Object-defineProperties-01.js
js/src/jit-test/tests/debug/Object-defineProperties-02.js
js/src/jit-test/tests/debug/Object-defineProperties-03.js
js/src/jit-test/tests/debug/Object-defineProperty-01.js
js/src/jit-test/tests/debug/Object-defineProperty-02.js
js/src/jit-test/tests/debug/Object-defineProperty-03.js
js/src/jit-test/tests/debug/Object-defineProperty-04.js
js/src/jit-test/tests/debug/Object-defineProperty-05.js
js/src/jit-test/tests/debug/Object-defineProperty-06.js
js/src/jit-test/tests/debug/Object-defineProperty-07.js
js/src/jit-test/tests/debug/Object-defineProperty-08.js
js/src/jit-test/tests/debug/Object-defineProperty-09.js
js/src/jit-test/tests/debug/Object-defineProperty-10.js
js/src/jit-test/tests/debug/Object-defineProperty-11.js
js/src/jit-test/tests/debug/Object-defineProperty-12.js
js/src/jit-test/tests/debug/Object-defineProperty-13.js
js/src/jit-test/tests/debug/Object-defineProperty-14.js
js/src/jit-test/tests/debug/Object-defineProperty-surfaces-01.js
js/src/jit-test/tests/debug/Object-deleteProperty-01.js
js/src/jit-test/tests/debug/Object-deleteProperty-error-01.js
js/src/jit-test/tests/debug/Object-deleteProperty-error-02.js
js/src/jit-test/tests/debug/Object-displayName-01.js
js/src/jit-test/tests/debug/Object-environment-01.js
js/src/jit-test/tests/debug/Object-environment-02.js
js/src/jit-test/tests/debug/Object-errorLineNumber-errorColumnNumber.js
js/src/jit-test/tests/debug/Object-executeInGlobal-01.js
js/src/jit-test/tests/debug/Object-executeInGlobal-02.js
js/src/jit-test/tests/debug/Object-executeInGlobal-03.js
js/src/jit-test/tests/debug/Object-executeInGlobal-04.js
js/src/jit-test/tests/debug/Object-executeInGlobal-05.js
js/src/jit-test/tests/debug/Object-executeInGlobal-06.js
js/src/jit-test/tests/debug/Object-executeInGlobal-07.js
js/src/jit-test/tests/debug/Object-executeInGlobal-08.js
js/src/jit-test/tests/debug/Object-executeInGlobal-09.js
js/src/jit-test/tests/debug/Object-executeInGlobal-10.js
js/src/jit-test/tests/debug/Object-forceLexicalInitializationByName.js
js/src/jit-test/tests/debug/Object-gc-01.js
js/src/jit-test/tests/debug/Object-getErrorMessageName.js
js/src/jit-test/tests/debug/Object-getOwnPropertyDescriptor-01.js
js/src/jit-test/tests/debug/Object-getOwnPropertyDescriptor-02.js
js/src/jit-test/tests/debug/Object-getOwnPropertyDescriptor-03.js
js/src/jit-test/tests/debug/Object-getOwnPropertyDescriptor-04.js
js/src/jit-test/tests/debug/Object-getOwnPropertyDescriptor-05.js
js/src/jit-test/tests/debug/Object-getOwnPropertyDescriptor-06.js
js/src/jit-test/tests/debug/Object-getOwnPropertyDescriptor-surfaces-01.js
js/src/jit-test/tests/debug/Object-getOwnPropertyDescriptor-surfaces-02.js
js/src/jit-test/tests/debug/Object-getOwnPropertyNames-01.js
js/src/jit-test/tests/debug/Object-getOwnPropertyNames-02.js
js/src/jit-test/tests/debug/Object-getOwnPropertySymbols-01.js
js/src/jit-test/tests/debug/Object-getOwnPropertySymbols-02.js
js/src/jit-test/tests/debug/Object-getProperty-01.js
js/src/jit-test/tests/debug/Object-getProperty-02.js
js/src/jit-test/tests/debug/Object-getProperty-03.js
js/src/jit-test/tests/debug/Object-identity-01.js
js/src/jit-test/tests/debug/Object-identity-02.js
js/src/jit-test/tests/debug/Object-identity-03.js
js/src/jit-test/tests/debug/Object-isArrowFunction.js
js/src/jit-test/tests/debug/Object-makeDebuggeeValue-01.js
js/src/jit-test/tests/debug/Object-makeDebuggeeValue-02.js
js/src/jit-test/tests/debug/Object-name-01.js
js/src/jit-test/tests/debug/Object-name-02.js
js/src/jit-test/tests/debug/Object-parameterNames.js
js/src/jit-test/tests/debug/Object-preventExtensions-01.js
js/src/jit-test/tests/debug/Object-promiseDependentPromises-realms.js
js/src/jit-test/tests/debug/Object-proto.js
js/src/jit-test/tests/debug/Object-proxy.js
js/src/jit-test/tests/debug/Object-script-AsmJSNative.js
js/src/jit-test/tests/debug/Object-script-environment-nondebuggee.js
js/src/jit-test/tests/debug/Object-script-lazy.js
js/src/jit-test/tests/debug/Object-script.js
js/src/jit-test/tests/debug/Object-seal-01.js
js/src/jit-test/tests/debug/Object-setProperty-01.js
js/src/jit-test/tests/debug/Object-setProperty-02.js
js/src/jit-test/tests/debug/Object-setProperty-03.js
js/src/jit-test/tests/debug/Object-unsafeDereference-01.js
js/src/jit-test/tests/debug/Object-unwrap-01.js
js/src/jit-test/tests/debug/Object-unwrap-02.js
js/src/jit-test/tests/debug/Promise-race-dependent-promises.js
js/src/jit-test/tests/debug/RematerializedFrame-retval.js
js/src/jit-test/tests/debug/Script-01.js
js/src/jit-test/tests/debug/Script-clearBreakpoint-01.js
js/src/jit-test/tests/debug/Script-clearBreakpoint-02.js
js/src/jit-test/tests/debug/Script-clearBreakpoint-03.js
js/src/jit-test/tests/debug/Script-clearBreakpoint-04.js
js/src/jit-test/tests/debug/Script-displayName-01.js
js/src/jit-test/tests/debug/Script-format-01.js
js/src/jit-test/tests/debug/Script-gc-01.js
js/src/jit-test/tests/debug/Script-gc-02.js
js/src/jit-test/tests/debug/Script-gc-03.js
js/src/jit-test/tests/debug/Script-getBreakpoints-01.js
js/src/jit-test/tests/debug/Script-getBreakpoints-02.js
js/src/jit-test/tests/debug/Script-getChildScripts-01.js
js/src/jit-test/tests/debug/Script-getChildScripts-02.js
js/src/jit-test/tests/debug/Script-getChildScripts-03.js
js/src/jit-test/tests/debug/Script-getChildScripts-04.js
js/src/jit-test/tests/debug/Script-getChildScripts-05.js
js/src/jit-test/tests/debug/Script-getLineOffsets-01.js
js/src/jit-test/tests/debug/Script-getLineOffsets-02.js
js/src/jit-test/tests/debug/Script-getLineOffsets-03.js
js/src/jit-test/tests/debug/Script-getLineOffsets-04.js
js/src/jit-test/tests/debug/Script-getLineOffsets-05.js
js/src/jit-test/tests/debug/Script-getLineOffsets-06.js
js/src/jit-test/tests/debug/Script-getLineOffsets-07.js
js/src/jit-test/tests/debug/Script-getLineOffsets-08.js
js/src/jit-test/tests/debug/Script-getOffsetLine-01.js
js/src/jit-test/tests/debug/Script-getOffsetLine-02.js
js/src/jit-test/tests/debug/Script-getOffsetLocation.js
js/src/jit-test/tests/debug/Script-getOffsetsCoverage-01.js
js/src/jit-test/tests/debug/Script-getOffsetsCoverage-02.js
js/src/jit-test/tests/debug/Script-getOffsetsCoverage-03.js
js/src/jit-test/tests/debug/Script-getOffsetsCoverage-04.js
js/src/jit-test/tests/debug/Script-getOffsetsCoverage-05.js
js/src/jit-test/tests/debug/Script-getOffsetsCoverage-bug1233178.js
js/src/jit-test/tests/debug/Script-getSuccessorOrPredecessorOffsets-01.js
js/src/jit-test/tests/debug/Script-global-01.js
js/src/jit-test/tests/debug/Script-global-02.js
js/src/jit-test/tests/debug/Script-isInCatchScope.js
js/src/jit-test/tests/debug/Script-isModule-01.js
js/src/jit-test/tests/debug/Script-isModule-02.js
js/src/jit-test/tests/debug/Script-isModule-03.js
js/src/jit-test/tests/debug/Script-isModule-04.js
js/src/jit-test/tests/debug/Script-lineCount.js
js/src/jit-test/tests/debug/Script-mainOffset-01.js
js/src/jit-test/tests/debug/Script-source-01.js
js/src/jit-test/tests/debug/Script-source-02.js
js/src/jit-test/tests/debug/Script-source-03.js
js/src/jit-test/tests/debug/Script-sourceStart-01.js
js/src/jit-test/tests/debug/Script-sourceStart-02.js
js/src/jit-test/tests/debug/Script-sourceStart-03.js
js/src/jit-test/tests/debug/Script-sourceStart-04.js
js/src/jit-test/tests/debug/Script-startLine.js
js/src/jit-test/tests/debug/Script-url.js
js/src/jit-test/tests/debug/Source-element-01.js
js/src/jit-test/tests/debug/Source-element-03.js
js/src/jit-test/tests/debug/Source-introductionScript-01.js
js/src/jit-test/tests/debug/Source-introductionScript-02.js
js/src/jit-test/tests/debug/Source-introductionScript-03.js
js/src/jit-test/tests/debug/Source-introductionType.js
js/src/jit-test/tests/debug/Source-invisible.js
js/src/jit-test/tests/debug/Source-sourceMapURL-deprecated.js
js/src/jit-test/tests/debug/Source-sourceMapURL.js
js/src/jit-test/tests/debug/Source-text-01.js
js/src/jit-test/tests/debug/Source-text-02.js
js/src/jit-test/tests/debug/Source-text-lazy.js
js/src/jit-test/tests/debug/Source-url-01.js
js/src/jit-test/tests/debug/Source-url-02.js
js/src/jit-test/tests/debug/Source-url.js
js/src/jit-test/tests/debug/breakpoint-01.js
js/src/jit-test/tests/debug/breakpoint-02.js
js/src/jit-test/tests/debug/breakpoint-03.js
js/src/jit-test/tests/debug/breakpoint-04.js
js/src/jit-test/tests/debug/breakpoint-05.js
js/src/jit-test/tests/debug/breakpoint-06.js
js/src/jit-test/tests/debug/breakpoint-07.js
js/src/jit-test/tests/debug/breakpoint-08.js
js/src/jit-test/tests/debug/breakpoint-09.js
js/src/jit-test/tests/debug/breakpoint-10.js
js/src/jit-test/tests/debug/breakpoint-11.js
js/src/jit-test/tests/debug/breakpoint-12.js
js/src/jit-test/tests/debug/breakpoint-13.js
js/src/jit-test/tests/debug/breakpoint-14.js
js/src/jit-test/tests/debug/breakpoint-gc-01.js
js/src/jit-test/tests/debug/breakpoint-gc-02.js
js/src/jit-test/tests/debug/breakpoint-gc-04.js
js/src/jit-test/tests/debug/breakpoint-gc-05.js
js/src/jit-test/tests/debug/breakpoint-multi-01.js
js/src/jit-test/tests/debug/breakpoint-multi-02.js
js/src/jit-test/tests/debug/breakpoint-multi-03.js
js/src/jit-test/tests/debug/breakpoint-multi-04.js
js/src/jit-test/tests/debug/breakpoint-noncng.js
js/src/jit-test/tests/debug/breakpoint-oom-01.js
js/src/jit-test/tests/debug/breakpoint-resume-01.js
js/src/jit-test/tests/debug/breakpoint-resume-02.js
js/src/jit-test/tests/debug/breakpoint-resume-03.js
js/src/jit-test/tests/debug/bug-1102549.js
js/src/jit-test/tests/debug/bug-1103386.js
js/src/jit-test/tests/debug/bug-1103817.js
js/src/jit-test/tests/debug/bug-1110327.js
js/src/jit-test/tests/debug/bug-1240090.js
js/src/jit-test/tests/debug/bug-1444604-reduced.js
js/src/jit-test/tests/debug/bug-1444604.js
js/src/jit-test/tests/debug/bug-725733.js
js/src/jit-test/tests/debug/bug-800586.js
js/src/jit-test/tests/debug/bug-826669.js
js/src/jit-test/tests/debug/bug-858170.js
js/src/jit-test/tests/debug/bug-876654.js
js/src/jit-test/tests/debug/bug1001372.js
js/src/jit-test/tests/debug/bug1004447.js
js/src/jit-test/tests/debug/bug1006205.js
js/src/jit-test/tests/debug/bug1006473.js
js/src/jit-test/tests/debug/bug1106164.js
js/src/jit-test/tests/debug/bug1106719.js
js/src/jit-test/tests/debug/bug1107525.js
js/src/jit-test/tests/debug/bug1108556.js
js/src/jit-test/tests/debug/bug1109328.js
js/src/jit-test/tests/debug/bug1109915.js
js/src/jit-test/tests/debug/bug1109964.js
js/src/jit-test/tests/debug/bug1111199.js
js/src/jit-test/tests/debug/bug1116103.js
js/src/jit-test/tests/debug/bug1118878.js
js/src/jit-test/tests/debug/bug1121083.js
js/src/jit-test/tests/debug/bug1130756.js
js/src/jit-test/tests/debug/bug1130768.js
js/src/jit-test/tests/debug/bug1160182.js
js/src/jit-test/tests/debug/bug1188334.js
js/src/jit-test/tests/debug/bug1191499.js
js/src/jit-test/tests/debug/bug1219905.js
js/src/jit-test/tests/debug/bug1232655.js
js/src/jit-test/tests/debug/bug1240803.js
js/src/jit-test/tests/debug/bug1242798.js
js/src/jit-test/tests/debug/bug1245862.js
js/src/jit-test/tests/debug/bug1246605.js
js/src/jit-test/tests/debug/bug1252464.js
js/src/jit-test/tests/debug/bug1253246.js
js/src/jit-test/tests/debug/bug1257045.js
js/src/jit-test/tests/debug/bug1263899.js
js/src/jit-test/tests/debug/bug1266434.js
js/src/jit-test/tests/debug/bug1275001.js
js/src/jit-test/tests/debug/bug1282741.js
js/src/jit-test/tests/debug/bug1299121.js
js/src/jit-test/tests/debug/bug1300517.js
js/src/jit-test/tests/debug/bug1300528.js
js/src/jit-test/tests/debug/bug1302432.js
js/src/jit-test/tests/debug/bug1304553.js
js/src/jit-test/tests/debug/bug1308578.js
js/src/jit-test/tests/debug/bug1330339.js
js/src/jit-test/tests/debug/bug1330489-sps.js
js/src/jit-test/tests/debug/bug1330489.js
js/src/jit-test/tests/debug/bug1330491.js
js/src/jit-test/tests/debug/bug1331592.js
js/src/jit-test/tests/debug/bug1351059.js
js/src/jit-test/tests/debug/bug1363233.js
js/src/jit-test/tests/debug/bug1368736.js
js/src/jit-test/tests/debug/bug1375447.js
js/src/jit-test/tests/debug/bug1385843.js
js/src/jit-test/tests/debug/bug1397049.js
js/src/jit-test/tests/debug/bug1397385.js
js/src/jit-test/tests/debug/bug1406437.js
js/src/jit-test/tests/debug/bug1417961.js
js/src/jit-test/tests/debug/bug1432764.js
js/src/jit-test/tests/debug/bug1434391.js
js/src/jit-test/tests/debug/bug1437537.js
js/src/jit-test/tests/debug/bug1479429.js
js/src/jit-test/tests/debug/bug1488163.js
js/src/jit-test/tests/debug/bug911065.js
js/src/jit-test/tests/debug/bug967039.js
js/src/jit-test/tests/debug/bug973566.js
js/src/jit-test/tests/debug/bug980585.js
js/src/jit-test/tests/debug/bug999655.js
js/src/jit-test/tests/debug/class-07.js
js/src/jit-test/tests/debug/class-08.js
js/src/jit-test/tests/debug/class-default-constructor-01.js
js/src/jit-test/tests/debug/clear-old-analyses-01.js
js/src/jit-test/tests/debug/clear-old-analyses-02.js
js/src/jit-test/tests/debug/dispatch-01.js
js/src/jit-test/tests/debug/dispatch-02.js
js/src/jit-test/tests/debug/execution-observability-01.js
js/src/jit-test/tests/debug/execution-observability-02.js
js/src/jit-test/tests/debug/execution-observability-03.js
js/src/jit-test/tests/debug/execution-observability-04.js
js/src/jit-test/tests/debug/execution-observability-05.js
js/src/jit-test/tests/debug/execution-observability-06.js
js/src/jit-test/tests/debug/gc-01.js
js/src/jit-test/tests/debug/gc-02.js
js/src/jit-test/tests/debug/gc-03.js
js/src/jit-test/tests/debug/gc-04.js
js/src/jit-test/tests/debug/gc-05.js
js/src/jit-test/tests/debug/gc-06.js
js/src/jit-test/tests/debug/gc-07.js
js/src/jit-test/tests/debug/gc-08.js
js/src/jit-test/tests/debug/gc-09.2.js
js/src/jit-test/tests/debug/gc-09.js
js/src/jit-test/tests/debug/gc-compartment-01.js
js/src/jit-test/tests/debug/gc-compartment-02.js
js/src/jit-test/tests/debug/inspect-wrapped-promise.js
js/src/jit-test/tests/debug/isAsyncFunction-isGeneratorFunction.js
js/src/jit-test/tests/debug/makeGlobalObjectReference-01.js
js/src/jit-test/tests/debug/noExecute-01.js
js/src/jit-test/tests/debug/noExecute-02.js
js/src/jit-test/tests/debug/noExecute-03.js
js/src/jit-test/tests/debug/noExecute-04.js
js/src/jit-test/tests/debug/noExecute-05.js
js/src/jit-test/tests/debug/noExecute-06.js
js/src/jit-test/tests/debug/noExecute-07.js
js/src/jit-test/tests/debug/onDebuggerStatement-01.js
js/src/jit-test/tests/debug/onDebuggerStatement-02.js
js/src/jit-test/tests/debug/onDebuggerStatement-03.js
js/src/jit-test/tests/debug/onDebuggerStatement-04.js
js/src/jit-test/tests/debug/onDebuggerStatement-05.js
js/src/jit-test/tests/debug/onDebuggerStatement-async-generator-resumption-01.js
js/src/jit-test/tests/debug/onDebuggerStatement-async-resumption-01.js
js/src/jit-test/tests/debug/onDebuggerStatement-generator-resumption-01.js
js/src/jit-test/tests/debug/onEnterFrame-01.js
js/src/jit-test/tests/debug/onEnterFrame-02.js
js/src/jit-test/tests/debug/onEnterFrame-03.js
js/src/jit-test/tests/debug/onEnterFrame-04.js
js/src/jit-test/tests/debug/onEnterFrame-05.js
js/src/jit-test/tests/debug/onEnterFrame-06.js
js/src/jit-test/tests/debug/onEnterFrame-07.js
js/src/jit-test/tests/debug/onEnterFrame-async-01.js
js/src/jit-test/tests/debug/onEnterFrame-async-resumption-01.js
js/src/jit-test/tests/debug/onEnterFrame-async-resumption-02.js
js/src/jit-test/tests/debug/onEnterFrame-async-resumption-03.js
js/src/jit-test/tests/debug/onEnterFrame-async-resumption-04.js
js/src/jit-test/tests/debug/onEnterFrame-generator-01.js
js/src/jit-test/tests/debug/onEnterFrame-generator-02.js
js/src/jit-test/tests/debug/onEnterFrame-generator-03.js
js/src/jit-test/tests/debug/onEnterFrame-generator-04.js
js/src/jit-test/tests/debug/onEnterFrame-generator-05.js
js/src/jit-test/tests/debug/onEnterFrame-generator-resumption-01.js
js/src/jit-test/tests/debug/onEnterFrame-generator-resumption-02.js
js/src/jit-test/tests/debug/onEnterFrame-generator-resumption-03.js
js/src/jit-test/tests/debug/onEnterFrame-generator-resumption-04.js
js/src/jit-test/tests/debug/onEnterFrame-generator-resumption-05.js
js/src/jit-test/tests/debug/onExceptionUnwind-01.js
js/src/jit-test/tests/debug/onExceptionUnwind-02.js
js/src/jit-test/tests/debug/onExceptionUnwind-03.js
js/src/jit-test/tests/debug/onExceptionUnwind-04.js
js/src/jit-test/tests/debug/onExceptionUnwind-05.js
js/src/jit-test/tests/debug/onExceptionUnwind-06.js
js/src/jit-test/tests/debug/onExceptionUnwind-07.js
js/src/jit-test/tests/debug/onExceptionUnwind-08.js
js/src/jit-test/tests/debug/onExceptionUnwind-09.js
js/src/jit-test/tests/debug/onExceptionUnwind-10.js
js/src/jit-test/tests/debug/onExceptionUnwind-12.js
js/src/jit-test/tests/debug/onExceptionUnwind-13.js
js/src/jit-test/tests/debug/onExceptionUnwind-14.js
js/src/jit-test/tests/debug/onExceptionUnwind-15.js
js/src/jit-test/tests/debug/onExceptionUnwind-generators-01.js
js/src/jit-test/tests/debug/onExceptionUnwind-resumption-01.js
js/src/jit-test/tests/debug/onExceptionUnwind-resumption-02.js
js/src/jit-test/tests/debug/onExceptionUnwind-resumption-03.js
js/src/jit-test/tests/debug/onExceptionUnwind-resumption-04.js
js/src/jit-test/tests/debug/onExceptionUnwind-resumption-async.js
js/src/jit-test/tests/debug/onExceptionUnwind-resumption-generator.js
js/src/jit-test/tests/debug/onNewScript-01.js
js/src/jit-test/tests/debug/onNewScript-02.js
js/src/jit-test/tests/debug/onNewScript-03.js
js/src/jit-test/tests/debug/onNewScript-CloneAndExecuteScript.js
js/src/jit-test/tests/debug/onNewScript-ExecuteInGlobalAndReturnScope.js
js/src/jit-test/tests/debug/onNewScript-off-main-thread-01.js
js/src/jit-test/tests/debug/onNewScript-off-main-thread-02.js
js/src/jit-test/tests/debug/onStep-generator-resumption-01.js
js/src/jit-test/tests/debug/optimized-out-01.js
js/src/jit-test/tests/debug/optimized-out-02.js
js/src/jit-test/tests/debug/optimized-out-03.js
js/src/jit-test/tests/debug/prologueFailure-01.js
js/src/jit-test/tests/debug/prologueFailure-02.js
js/src/jit-test/tests/debug/prologueFailure-03.js
js/src/jit-test/tests/debug/resumption-01.js
js/src/jit-test/tests/debug/resumption-02.js
js/src/jit-test/tests/debug/resumption-03.js
js/src/jit-test/tests/debug/resumption-05.js
js/src/jit-test/tests/debug/resumption-07.js
js/src/jit-test/tests/debug/resumption-08.js
js/src/jit-test/tests/debug/resumption-error-01.js
js/src/jit-test/tests/debug/resumption-error-02.js
js/src/jit-test/tests/debug/setter-argc.js
js/src/jit-test/tests/debug/surfaces-02.js
js/src/jit-test/tests/debug/surfaces-03.js
js/src/jit-test/tests/debug/surfaces-offsets.js
js/src/jit-test/tests/debug/testEarlyReturnOnCall.js
js/src/jit-test/tests/debug/uncaughtExceptionHook-01.js
js/src/jit-test/tests/debug/uncaughtExceptionHook-02.js
js/src/jit-test/tests/debug/uncaughtExceptionHook-03.js
js/src/jit-test/tests/debug/uncaughtExceptionHook-resumption-01.js
js/src/jit-test/tests/debug/uncaughtExceptionHook-resumption-02.js
js/src/jit-test/tests/debug/uncaughtExceptionHook-resumption-03.js
js/src/jit-test/tests/debug/wasm-01.js
js/src/jit-test/tests/debug/wasm-02.js
js/src/jit-test/tests/debug/wasm-03.js
js/src/jit-test/tests/debug/wasm-04.js
js/src/jit-test/tests/debug/wasm-11.js
js/src/jit-test/tests/debug/wasm-12.js
js/src/jit-test/tests/debug/wasm-binary-sources.js
js/src/jit-test/tests/debug/wasm-onExceptionUnwind-gc.js
js/src/jit-test/tests/debug/wasm-responseurls.js
js/src/jit-test/tests/debug/wasm-sourceMappingURL.js
js/src/jit-test/tests/gc/bug-1104162.js
js/src/jit-test/tests/gc/bug-1136597.js
js/src/jit-test/tests/gc/bug-1146696.js
js/src/jit-test/tests/gc/bug-1177778.js
js/src/jit-test/tests/gc/bug-1210607.js
js/src/jit-test/tests/gc/bug-1293127.js
js/src/jit-test/tests/gc/bug-1322420.js
js/src/jit-test/tests/gc/bug-1325551.js
js/src/jit-test/tests/gc/bug-1357022.js
js/src/jit-test/tests/gc/bug-1461319.js
js/src/jit-test/tests/gc/bug-1461448.js
js/src/jit-test/tests/gc/bug-1464872.js
js/src/jit-test/tests/gc/bug-1491326.js
js/src/jit-test/tests/gc/bug-1515993.js
js/src/jit-test/tests/gc/bug-1517158.js
js/src/jit-test/tests/gc/bug-956324.js
js/src/jit-test/tests/gc/bug1116306.js
js/src/jit-test/tests/gc/incremental-abort.js
js/src/jit-test/tests/gc/weak-marking-02.js
js/src/jit-test/tests/generators/bug1491331.js
js/src/jit-test/tests/generators/bug1501722.js
js/src/jit-test/tests/ion/bug1133530.js
js/src/jit-test/tests/ion/bug1233343.js
js/src/jit-test/tests/ion/bug1299007.js
js/src/jit-test/tests/ion/bug1452581.js
js/src/jit-test/tests/ion/bug1479394.js
js/src/jit-test/tests/jaeger/recompile/bug641269.js
js/src/jit-test/tests/modules/bug-1233915.js
js/src/jit-test/tests/modules/bug-1245518.js
js/src/jit-test/tests/modules/bug-1498980.js
js/src/jit-test/tests/modules/bug-1502669.js
js/src/jit-test/tests/modules/bug-1510598.js
js/src/jit-test/tests/modules/debugger-frames.js
js/src/jit-test/tests/modules/debugger-vars-function.js
js/src/jit-test/tests/modules/debugger-vars-toplevel.js
js/src/jit-test/tests/parser/bug-1263355-13.js
js/src/jit-test/tests/parser/bug-1263355-22.js
js/src/jit-test/tests/profiler/bug1161351.js
js/src/jit-test/tests/profiler/bug1233921.js
js/src/jit-test/tests/profiler/bug1261324.js
js/src/jit-test/tests/profiler/bug1427774.js
js/src/jit-test/tests/profiler/debugmode-osr-exception-return-addr.js
js/src/jit-test/tests/profiler/debugmode-osr-resume-addr.js
js/src/jit-test/tests/promise/bug1347984.js
js/src/jit-test/tests/promise/bug1406463.js
js/src/jit-test/tests/proxy/preserve-iscallable-isconstructor.js
js/src/jit-test/tests/realms/basic.js
js/src/jit-test/tests/realms/nuking.js
js/src/jit-test/tests/saved-stacks/1438121-async-function.js
js/src/jit-test/tests/saved-stacks/1438121-generator.js
js/src/jit-test/tests/self-hosting/method-called-on-incompatible.js
js/src/jit-test/tests/self-test/assertDeepEq.js
js/src/jit-test/tests/stream/bug-1387503-1.js
js/src/jit-test/tests/stream/bug-1387503-2.js
js/src/jit-test/tests/stream/bug-1503399-1.js
js/src/jit-test/tests/stream/bug-1503399-2.js
js/src/jit-test/tests/wasm/gc/debugger.js
js/src/jit-test/tests/wasm/ion-debugger.js
js/src/jit-test/tests/wasm/regress/bug1491322.js
js/src/jit-test/tests/wasm/regress/bug1502886.js
js/src/jit-test/tests/wasm/regress/debug-clone-segment.js
js/src/jit-test/tests/wasm/regress/debug-exception-in-fast-import.js
js/src/jit-test/tests/wasm/regress/debug-osr.js
js/src/jit-test/tests/wasm/regress/ion-error-gc-fakeexitframe.js
js/src/jit-test/tests/wasm/regress/jit-updatepcquad.js
js/src/jit-test/tests/wasm/regress/savedframe-lookup-in-wasm.js
js/src/jit-test/tests/wasm/timeout/debug-interrupt-1.js
js/src/jit-test/tests/wasm/timeout/debug-interrupt-2.js
js/src/jit-test/tests/wasm/timeout/debug-noprofiling.js
--- a/js/src/jit-test/tests/arguments/rest-debugger.js
+++ b/js/src/jit-test/tests/arguments/rest-debugger.js
@@ -1,16 +1,16 @@
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.eval("function f(...x) {}");
 var dbg = new Debugger;
 var gw = dbg.addDebuggee(g);
 var fw = gw.getOwnPropertyDescriptor("f").value;
 assertEq(fw.parameterNames.toString(), "x");
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.eval("function f(...rest) { debugger; }");
 var dbg = Debugger(g);
 dbg.onDebuggerStatement = function (frame) {
     frame.eval("args = arguments");
 };
 g.f(9, 8, 7);
 
 assertEq(g.args.length, 3);
--- a/js/src/jit-test/tests/asm.js/testBug1236552.js
+++ b/js/src/jit-test/tests/asm.js/testBug1236552.js
@@ -1,3 +1,3 @@
-g = newGlobal();
+g = newGlobal({newCompartment: true});
 Debugger(g).memory.trackingAllocationSites = true;
 evaluate("function h() { 'use asm'; return {}}", { global: g });
--- a/js/src/jit-test/tests/asm.js/testBug893519.js
+++ b/js/src/jit-test/tests/asm.js/testBug893519.js
@@ -1,6 +1,6 @@
 // |jit-test| error:Error; skip-if: !isAsmJSCompilationAvailable()
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 evaluate("function h() { function f() { 'use asm'; function g() { return 42 } return g } return f }", { global:g});
 var h = clone(g.h);
 assertEq(h()()(), 42);
--- a/js/src/jit-test/tests/asm.js/testDebugModeDisables.js
+++ b/js/src/jit-test/tests/asm.js/testDebugModeDisables.js
@@ -1,9 +1,9 @@
 // |jit-test|
 
 load(libdir + "asm.js");
 
 // Turn on debugging for the current global.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new g.Debugger(this);
 
 assertAsmTypeFail("'use asm'; function f() {} return f");
--- a/js/src/jit-test/tests/auto-regress/bug1147907.js
+++ b/js/src/jit-test/tests/auto-regress/bug1147907.js
@@ -1,10 +1,10 @@
 var evalInFrame = (function (global) {
-  var dbgGlobal = newGlobal();
+  var dbgGlobal = newGlobal({newCompartment: true});
   var dbg = new dbgGlobal.Debugger();
   return function evalInFrame(upCount, code) {
     dbg.addDebuggee(global);
     var frame = dbg.getNewestFrame().older;
     var completion = frame.eval(code);
   };
 })(this);
 var x = 5;
--- a/js/src/jit-test/tests/auto-regress/bug1315943.js
+++ b/js/src/jit-test/tests/auto-regress/bug1315943.js
@@ -1,11 +1,11 @@
 var s = "{}";
 for (var i = 0; i < 21; i++) s += s;
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = Debugger(g);
 dbg.onDebuggerStatement = function(frame) {
     var s = frame.eval("f").return.script;
 };
 g.eval("line0 = Error().lineNumber;\n" + "debugger;\n" + // line0 + 1
     "function f(i) {\n" + // line0 + 2
     s + // line0 + 3 ... line0 + where - 2
     "}\n");
--- a/js/src/jit-test/tests/auto-regress/bug1479076.js
+++ b/js/src/jit-test/tests/auto-regress/bug1479076.js
@@ -1,6 +1,6 @@
 fullcompartmentchecks(true);
 var dbg = new Debugger();
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.eval("function f(){}");
 dbg.addDebuggee(g);
 dbg.findScripts();
--- a/js/src/jit-test/tests/auto-regress/bug677386.js
+++ b/js/src/jit-test/tests/auto-regress/bug677386.js
@@ -1,15 +1,15 @@
 // |jit-test| error:ReferenceError
 
 // Binary: cache/js-dbg-64-82545b1e4129-linux
 // Flags:
 //
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.eval("var line0 = Error().lineNumber;\n" +
        "function f() {\n" +     // line0 + 1
        "    return 2;\n" +      // line0 + 2
        "}\n");
 var N = 4;
 for (var i = 0; i < N; i++) {
     var dbg = Debugger(g);
     dbg.onDebuggerStatement = function (frame) {
--- a/js/src/jit-test/tests/auto-regress/bug677587.js
+++ b/js/src/jit-test/tests/auto-regress/bug677587.js
@@ -1,11 +1,11 @@
 // Binary: cache/js-dbg-64-f189dd6316eb-linux
 // Flags:
 //
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.eval("var a = {};");
 var dbg = new Debugger;
 var gw = dbg.addDebuggee(g);
 var desc = gw.getOwnPropertyDescriptor("a");
 gw.defineProperty("b", desc);
 Debugger(g.a, g.b);
--- a/js/src/jit-test/tests/auto-regress/bug677977.js
+++ b/js/src/jit-test/tests/auto-regress/bug677977.js
@@ -1,13 +1,13 @@
 // Binary: cache/js-dbg-64-48e43edc8834-linux
 // Flags:
 //
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = Debugger(g);
 dbg.onDebuggerStatement = function (frame) {
     var s = frame.eval("f").return.script;
 };
 function test(s) {
     g.eval("line0 = Error().lineNumber;\n" +
            "debugger;\n" +          // line0 + 1
            "function f(i) {\n" +    // line0 + 2
@@ -16,11 +16,11 @@ function test(s) {
 test("i = 128;\n" +  "}\n");
 var hits = 0;
 dbg.onNewScript = function (s) {
     hits++;
 };
 assertEq(g.eval("eval('2 + 3')"), 5);
 this.gczeal(hits, 2);
 var fn = g.evaluate("(function (a) { return 5 + a; })");
-var g2 = newGlobal();
+var g2 = newGlobal({newCompartment: true});
 dbg.addDebuggee(g2, dbg);
 g2.clone(fn);
--- a/js/src/jit-test/tests/auto-regress/bug721497.js
+++ b/js/src/jit-test/tests/auto-regress/bug721497.js
@@ -1,13 +1,13 @@
 // |jit-test| error:ReferenceError
 
 // Binary: cache/js-dbg-64-edf8075b0333-linux
 // Flags:
 //
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 dbg.onDebuggerStatement = function (frame) {
     assertEq(dumpStack(), true);
 };
 g.eval("function f(a, [b, c], {x: [y], z: w}, {q}) { debugger; }");
 g.eval("f(1, [2, 3], {x: [4], z: 5}, {q: 6});");
--- a/js/src/jit-test/tests/auto-regress/bug797493.js
+++ b/js/src/jit-test/tests/auto-regress/bug797493.js
@@ -1,15 +1,15 @@
 // |jit-test| error:ReferenceError
 
 // Binary: cache/js-dbg-64-13fd49ef7786-linux
 // Flags:
 //
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 dbg.onDebuggerStatement = function handleDebugger(frame) {
     frame.onPop = function handlePop(c) {
       poppedFrames.indexOf(this)
     }
 };
 g.eval("function* g() { for (var i = 0; i < 10; i++) { debugger; yield i; } }");
 assertEq(g.eval("var t = 0; for (j of g()) t += j; t;"), 45);
--- a/js/src/jit-test/tests/auto-regress/for-of-iterator-close-debugger.js
+++ b/js/src/jit-test/tests/auto-regress/for-of-iterator-close-debugger.js
@@ -1,14 +1,14 @@
 // |jit-test| error:ReferenceError
 
 // for-of should close iterator even if the exception is once caught by the
 // debugger.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.parent = this;
 g.eval("new Debugger(parent).onExceptionUnwind = function () { };");
 // jsfunfuzz-generated
 for (var x of []) {};
 for (var l of [0]) {
     for (var y = 0; y < 1; y++) {
         g2;
     }
--- a/js/src/jit-test/tests/baseline/bug1416727.js
+++ b/js/src/jit-test/tests/baseline/bug1416727.js
@@ -1,10 +1,10 @@
 // |jit-test| allow-overrecursed
-g = newGlobal()
+g = newGlobal({newCompartment: true})
 g.parent = this
 g.eval("new Debugger(parent).onExceptionUnwind = function(){}");
 var depth = 0;
 function test() {
     if (++depth > 50)
         return;
     function f(n) {
         if (n != 0) {
--- a/js/src/jit-test/tests/baseline/bug836742.js
+++ b/js/src/jit-test/tests/baseline/bug836742.js
@@ -1,10 +1,10 @@
 // Ensure the correct frame is passed to exception unwind hooks.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.debuggeeGlobal = this;
 g.eval("(" + function () {
     frames = [];
     var dbg = Debugger(debuggeeGlobal);
     dbg.onEnterFrame = function(frame) {
 	frames.push(frame);
     };
     dbg.onExceptionUnwind = function(frame) {
--- a/js/src/jit-test/tests/baseline/bug842431-1.js
+++ b/js/src/jit-test/tests/baseline/bug842431-1.js
@@ -1,10 +1,10 @@
 // |jit-test| error:123
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.eval('function f() { var y; debugger; }');
 
 var dbg = new Debugger(g);
 
 dbg.onDebuggerStatement = function handleDebugger(frame) {
     frame.onPop = function(c) {
 	this.eval('y = 33');
 	return {throw: 123};
--- a/js/src/jit-test/tests/baseline/bug842431-2.js
+++ b/js/src/jit-test/tests/baseline/bug842431-2.js
@@ -1,13 +1,13 @@
 // |jit-test|
 
 // If a frame's onPop handler throws, we should not call the
 // onExceptionUnwind hook for that frame.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 
 g.eval('function f() { var y; debugger; }');
 
 dbg.onExceptionUnwind = function() {
     assertEq(0, 1);
 };
 
--- a/js/src/jit-test/tests/baseline/bug842431-3.js
+++ b/js/src/jit-test/tests/baseline/bug842431-3.js
@@ -1,14 +1,14 @@
 // |jit-test|
 
 // If an exception unwind hook performs a forced return, and this calls an
 // onPop handler that throws, the exception should not be handled in the
 // current frame but propagated to the caller.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 
 g.eval('function f() { try { var y; throw 123; } catch(e) { assertEq(0, 1); } }');
 
 dbg.onExceptionUnwind = function(frame) {
     frame.onPop = function() {
 	return {throw: 321};
     }
--- a/js/src/jit-test/tests/baseline/bug842432.js
+++ b/js/src/jit-test/tests/baseline/bug842432.js
@@ -1,10 +1,10 @@
 // |jit-test| error: fff is not
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 
 g.eval('function f(n) { if (n > 0) f(n-1); }');
 
 dbg.onEnterFrame = function(frame) {
     frame.onPop = function() {
         fff();
     };
--- a/js/src/jit-test/tests/baseline/bug852175.js
+++ b/js/src/jit-test/tests/baseline/bug852175.js
@@ -1,5 +1,5 @@
 // |jit-test| error: InternalError
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 g.eval("function f(n) { if (n == 0) debugger; else f(n - 1); }");
 g.f("function f() { debugger; }");
--- a/js/src/jit-test/tests/baseline/bug857580.js
+++ b/js/src/jit-test/tests/baseline/bug857580.js
@@ -1,10 +1,10 @@
 gczeal(2,10);
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 dbg.onNewScript = function(script) {
     fscript = script.getChildScripts()[0];
 }
 g.eval("function f(x) { arguments[0] = 3; return x }");
 fscript.setBreakpoint(0, {hit:function(frame) {
     assertEq(frame.eval('x').return, 1);
     gc();
--- a/js/src/jit-test/tests/basic/bug1141154.js
+++ b/js/src/jit-test/tests/basic/bug1141154.js
@@ -1,13 +1,13 @@
 function foo() {
   (function() {
     Object.preventExtensions(this);
     setJitCompilerOption("ion.warmup.trigger", 4);
-    var g = newGlobal();
+    var g = newGlobal({newCompartment: true});
     g.debuggeeGlobal = this;
     g.eval("(" + function () {
         dbg = new Debugger(debuggeeGlobal);
         dbg.onExceptionUnwind = function (frame, exc) {
             var s = '!';
             for (var f = frame; f; f = f.older)
             debuggeeGlobal.log += s;
         };
--- a/js/src/jit-test/tests/basic/bug713226.js
+++ b/js/src/jit-test/tests/basic/bug713226.js
@@ -1,20 +1,20 @@
 // |jit-test|
 gczeal(4);
 var optionNames = options().split(',');
   for (var i = 0; i < optionNames.length; i++)
     var optionName = optionNames[i];
 evaluate("\
 function addDebug(g, id) {\
-    var debuggerGlobal = newGlobal();\
+    var debuggerGlobal = newGlobal({newCompartment: true});\
     debuggerGlobal.debuggee = g;\
     debuggerGlobal.id = id;\
     debuggerGlobal.print = function (s) { print(s); };\
     debuggerGlobal.eval('var dbg = new Debugger(debuggee);dbg.onDebuggerStatement = function () { print(id); debugger; };');\
     return debuggerGlobal;\
 }\
-var base = newGlobal();\
+var base = newGlobal({newCompartment: true});\
 var top = base;\
 for (var i = 0; i < 8; i++ )\
     top = addDebug(top, i);\
 base.eval('debugger;');\
 ");
--- a/js/src/jit-test/tests/basic/bug951632.js
+++ b/js/src/jit-test/tests/basic/bug951632.js
@@ -1,9 +1,9 @@
 enableShellAllocationMetadataBuilder();
-var g = newGlobal()
+var g = newGlobal({newCompartment: true})
 g.eval("function f(a) { return h(); }");
 g.h = function () {
     return [1, 2, 3];
 };
 var o = getAllocationMetadata(g.f(5));
 assertEq(o.stack.length, 1);
 assertEq(o.stack[0], g.h);
--- a/js/src/jit-test/tests/basic/properly-remove-timeout-root-before-shutdown.js
+++ b/js/src/jit-test/tests/basic/properly-remove-timeout-root-before-shutdown.js
@@ -1,5 +1,5 @@
 // Bug 857050: Remove the timeout function root before shutting down.
 function timeoutfunc() {}
 timeout(1, timeoutfunc);
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = Debugger(g);
--- a/js/src/jit-test/tests/basic/testBug895774.js
+++ b/js/src/jit-test/tests/basic/testBug895774.js
@@ -1,10 +1,10 @@
-var g1 = newGlobal();
-var g2 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
+var g2 = newGlobal({newCompartment: true});
 g1.eval("function f1() { debugger; evaluate('debugger') }");
 g2.eval("function f2() { f1(); assertEq(Number(this), 42) }");
 g2.f1 = g1.f1;
 
 var dbg = new Debugger(g1,g2);
 dbg.onDebuggerStatement = function(frame) {
     var target = frame.older;
     dbg.onDebuggerStatement = function(frame) {
--- a/js/src/jit-test/tests/basic/testGeneratorDieButScopeAlive.js
+++ b/js/src/jit-test/tests/basic/testGeneratorDieButScopeAlive.js
@@ -1,9 +1,9 @@
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 
 var hits = 0;
 dbg.onDebuggerStatement = function(frame) {
     ++hits;
     frame.older.eval("escaped = function() { return y }");
 }
 
--- a/js/src/jit-test/tests/cacheir/bug1448136.js
+++ b/js/src/jit-test/tests/cacheir/bug1448136.js
@@ -1,13 +1,13 @@
 print = function(s) { return s.toString(); }
 assertEq = function(a,b) {
   try { print(a); print(b); } catch(exc) {}
 }
-g = newGlobal();
+g = newGlobal({newCompartment: true});
 g.parent = this;
 g.eval("(" + function() {
   Debugger(parent).onExceptionUnwind = function(frame) {
     frame.older
   }
 } + ")()")
 function a() {};
 function b() {};
--- a/js/src/jit-test/tests/collections/bug-743101.js
+++ b/js/src/jit-test/tests/collections/bug-743101.js
@@ -1,7 +1,7 @@
 load(libdir + "asserts.js");
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 for (var cls of [Map, Set]) {
     var getter = Object.getOwnPropertyDescriptor(cls.prototype, "size").get;
     assertThrowsInstanceOf(function () { getter.apply(g, []); }, g.TypeError);
 }
--- a/js/src/jit-test/tests/debug/DebuggeeWouldRun-03.js
+++ b/js/src/jit-test/tests/debug/DebuggeeWouldRun-03.js
@@ -1,9 +1,9 @@
 // Bug 1250190: Shouldn't crash. |jit-test| error: yadda
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 dbg.onNewGlobalObject = function () {
   dbg.onNewGlobalObject = function () { throw "yadda"; };
-  newGlobal();
+  newGlobal({newCompartment: true});
 }
-newGlobal();
+newGlobal({newCompartment: true});
--- a/js/src/jit-test/tests/debug/DebuggeeWouldRun-04.js
+++ b/js/src/jit-test/tests/debug/DebuggeeWouldRun-04.js
@@ -1,9 +1,9 @@
 // Bug 1250190: Shouldn't crash. |jit-test| error: yadda
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 dbg.onNewScript = function () {
   dbg.onNewScript = function () { throw "yadda"; };
   g.Function("noodles;");
 }
 g.Function("poodles;");
--- a/js/src/jit-test/tests/debug/Debugger-adoptDebuggeeValue.js
+++ b/js/src/jit-test/tests/debug/Debugger-adoptDebuggeeValue.js
@@ -1,13 +1,13 @@
 // simplest possible test of Debugger.adoptDebuggeeValue
 
 load(libdir + "asserts.js");
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 
 var dbg1 = new Debugger();
 var gDO1 = dbg1.addDebuggee(g);
 var obj1 = gDO1.executeInGlobal("({})").return;
 
 var dbg2 = Debugger(g);
 var gDO2 = dbg2.addDebuggee(g);
 var obj2 = gDO2.executeInGlobal("({})").return;
--- a/js/src/jit-test/tests/debug/Debugger-allowUnobservedAsmJS-01.js
+++ b/js/src/jit-test/tests/debug/Debugger-allowUnobservedAsmJS-01.js
@@ -1,11 +1,11 @@
 load(libdir + "asm.js");
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.parent = this;
 g.eval("dbg = new Debugger(parent);");
 
 // Initial state is to inhibit asm.js.
 assertEq(g.dbg.allowUnobservedAsmJS, false);
 
 var asmFunStr = USE_ASM + 'function f() {} return f';
 
--- a/js/src/jit-test/tests/debug/Debugger-allowUnobservedAsmJS-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-allowUnobservedAsmJS-02.js
@@ -1,16 +1,16 @@
 // |jit-test| skip-if: helperThreadCount() === 0
 
 // Debugger.allowUnobservedAsmJS with off-thread parsing.
 
 load(libdir + "asm.js");
 
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.parent = this;
 g.eval("dbg = new Debugger(parent);");
 
 assertEq(g.dbg.allowUnobservedAsmJS, false);
 
 enableLastWarning();
 
 var asmFunStr = USE_ASM + 'function f() {} return f';
--- a/js/src/jit-test/tests/debug/Debugger-clearAllBreakpoints-01.js
+++ b/js/src/jit-test/tests/debug/Debugger-clearAllBreakpoints-01.js
@@ -1,11 +1,11 @@
 // clearAllBreakpoints clears breakpoints for the current Debugger object only.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 
 var hits = 0;
 function attach(i) {
     var dbg = Debugger(g);
     var handler = {
         hit: function (frame) {
             hits++;
             dbg.clearAllBreakpoints();
--- a/js/src/jit-test/tests/debug/Debugger-ctor-01.js
+++ b/js/src/jit-test/tests/debug/Debugger-ctor-01.js
@@ -10,12 +10,12 @@ assertThrowsInstanceOf(function () { Deb
 assertThrowsInstanceOf(function () { new Debugger(null); }, TypeError);
 assertThrowsInstanceOf(function () { new Debugger(true); }, TypeError);
 assertThrowsInstanceOf(function () { new Debugger(42); }, TypeError);
 assertThrowsInstanceOf(function () { new Debugger("bad"); }, TypeError);
 assertThrowsInstanceOf(function () { new Debugger(function () {}); }, TypeError);
 assertThrowsInstanceOf(function () { new Debugger(this); }, TypeError);
 
 // From the main compartment, creating a Debugger on a sandbox compartment.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 assertEq(dbg instanceof Debugger, true);
 assertEq(Object.getPrototypeOf(dbg), Debugger.prototype);
--- a/js/src/jit-test/tests/debug/Debugger-ctor-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-ctor-02.js
@@ -1,13 +1,13 @@
 // Test creating a Debugger in a sandbox, debugging the initial global.
 
 load(libdir + 'asserts.js');
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.debuggeeGlobal = this;
 g.eval("var dbg = new Debugger(debuggeeGlobal);");
 assertEq(g.eval("dbg instanceof Debugger"), true);
 
 // The Debugger constructor from this compartment will not accept as its argument
 // an Object from this compartment. Shenanigans won't fool the membrane.
 g.parent = this;
 assertThrowsInstanceOf(function () { g.eval("parent.Debugger(parent.Object())"); }, TypeError);
--- a/js/src/jit-test/tests/debug/Debugger-ctor-04.js
+++ b/js/src/jit-test/tests/debug/Debugger-ctor-04.js
@@ -1,5 +1,5 @@
 // Repeated Debugger() arguments are ignored.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = Debugger(g, g, g);
 assertEq(dbg.getDebuggees().length, 1);
--- a/js/src/jit-test/tests/debug/Debugger-ctor-05.js
+++ b/js/src/jit-test/tests/debug/Debugger-ctor-05.js
@@ -1,8 +1,8 @@
 // Redundant non-global Debugger() arguments are ignored.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.eval("var a = {}, b = {};");
 var dbg = Debugger(g.a, g.b);
 var arr = dbg.getDebuggees();
 assertEq(arr.length, 1);
 assertEq(arr[0], dbg.addDebuggee(g));
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-02.js
@@ -1,10 +1,10 @@
 // The array returned by getDebuggees is just a snapshot, not live.
 var dbg = new Debugger;
 var a1 = dbg.getDebuggees();
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var gw = dbg.addDebuggee(g);
 assertEq(gw instanceof Debugger.Object, true);
 var a2 = dbg.getDebuggees();
 assertEq(a2.length, 1);
 assertEq(a2[0], gw);
 assertEq(a1.length, 0);
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-03.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-03.js
@@ -1,11 +1,11 @@
 // Debugger hooks fire based on debuggees.
 
-var g1 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
 g1.eval("var g2 = newGlobal('same-compartment')");
 var g2 = g1.g2;
 g1.eval("function f() { debugger; g2.g(); }");
 g2.eval("function g() { debugger; }");
 
 var log;
 var dbg = new Debugger;
 dbg.onDebuggerStatement = function (frame) { log += frame.callee.name; };
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-04.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-04.js
@@ -1,11 +1,11 @@
 // hasDebuggee tests.
 
-var g1 = newGlobal(), g1w;
+var g1 = newGlobal({newCompartment: true}), g1w;
 g1.eval("var g2 = newGlobal('same-compartment')");
 var g2 = g1.g2;
 var g1w, g2w;
 
 var dbg = new Debugger;
 function checkHas(hasg1, hasg2) {
     assertEq(dbg.hasDebuggee(g1), hasg1);
     if (typeof g1w === 'object')
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-05.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-05.js
@@ -1,8 +1,8 @@
 // addDebuggee returns different Debugger.Object wrappers for different Debugger objects.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg1 = new Debugger;
 var gw1 = dbg1.addDebuggee(g);
 var dbg2 = new Debugger;
 var gw2 = dbg2.addDebuggee(g);
 assertEq(gw1 !== gw2, true);
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-06.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-06.js
@@ -15,13 +15,13 @@ check(undefined);
 check(null);
 check(false);
 check(1);
 check(NaN);
 check("ok");
 check(Symbol("ok"));
 
 // A Debugger.Object that belongs to a different Debugger object is invalid.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg2 = new Debugger;
 var w = dbg2.addDebuggee(g);
 assertEq(w instanceof Debugger.Object, true);
 check(w);
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-08.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-08.js
@@ -1,12 +1,12 @@
 // Adding a debuggee more than once is redundant.
 
 var dbg = new Debugger;
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var w = dbg.addDebuggee(g);
 assertEq(w instanceof Debugger.Object, true);
 
 function usual() {
     assertEq(dbg.hasDebuggee(g), true);
     assertEq(dbg.hasDebuggee(w), true);
     var arr = dbg.getDebuggees();
     assertEq(arr.length, 1);
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-09.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-09.js
@@ -10,12 +10,12 @@ function check(obj) {
     assertEq(dbg.removeDebuggee(obj), undefined);
 }
 
 // global objects which happen not to be debuggees at the moment
 var g1 = newGlobal('same-compartment');
 check(g1);
 
 // objects in a compartment that is already debugging us
-var g2 = newGlobal();
+var g2 = newGlobal({newCompartment: true});
 g2.parent = this;
 g2.eval("var dbg = new Debugger(parent);");
 check(g2);
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-10.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-10.js
@@ -1,13 +1,13 @@
 // Allow diamonds in the graph of the compartment "debugs" relation.
-var program = newGlobal();
-var d1 = newGlobal();
+var program = newGlobal({newCompartment: true});
+var d1 = newGlobal({newCompartment: true});
 d1.top = this;
-var d2 = newGlobal();
+var d2 = newGlobal({newCompartment: true});
 d2.top = this;
 var dbg = new Debugger(d1, d2);
 d1.eval("var dbg = new Debugger(top.program)");
 d2.eval("var dbg = new Debugger(top.program)");
 
 // mess with the edges a little bit -- all this should be fine, no cycles
 d1.dbg.removeDebuggee(program);
 d1.dbg.addDebuggee(program);
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-11.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-11.js
@@ -3,20 +3,20 @@
 load(libdir + "asserts.js");
 
 // trivial cycles
 var dbg = new Debugger;
 assertThrowsInstanceOf(function () { dbg.addDebuggee(this); }, TypeError);
 assertThrowsInstanceOf(function () { new Debugger(this); }, TypeError);
 
 // cycles of length 2
-var d1 = newGlobal();
+var d1 = newGlobal({newCompartment: true});
 d1.top = this;
 d1.eval("var dbg = new Debugger(top)");
 assertThrowsInstanceOf(function () { dbg.addDebuggee(d1); }, TypeError);
 assertThrowsInstanceOf(function () { new Debugger(d1); }, TypeError);
 
 // cycles of length 3
-var d2 = newGlobal();
+var d2 = newGlobal({newCompartment: true});
 d2.top = this;
 d2.eval("var dbg = new Debugger(top.d1)");
 assertThrowsInstanceOf(function () { dbg.addDebuggee(d2); }, TypeError);
 assertThrowsInstanceOf(function () { new Debugger(d2); }, TypeError);
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-12.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-12.js
@@ -1,10 +1,10 @@
 // Events in a non-debuggee are ignored, even if a debuggee is in the same compartment.
-var g1 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
 var g2 = g1.eval("newGlobal('same-compartment')");
 var dbg = new Debugger(g1);
 var hits = 0;
 dbg.onDebuggerStatement = function () { hits++; };
 g1.eval("debugger;");
 assertEq(hits, 1);
 g2.eval("debugger;");
 assertEq(hits, 1);
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-13.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-13.js
@@ -1,9 +1,9 @@
 // Removing a debuggee does not detach the debugger from a compartment if another debuggee is in it.
-var g1 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
 var g2 = g1.eval("newGlobal('same-compartment')");
 var dbg = new Debugger(g1, g2);
 var hits = 0;
 dbg.onDebuggerStatement = function (frame) { hits++; };
 dbg.removeDebuggee(g1);
 g2.eval("debugger;");
 assertEq(hits, 1);
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-14.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-14.js
@@ -1,8 +1,8 @@
 // Adding a debuggee in a compartment that is already in debug mode works
 // even if a script from that compartment is on the stack.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg1 = Debugger(g);
 var dbg2 = Debugger();
 g.parent = this;
 g.eval("parent.dbg2.addDebuggee(this);");
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-15.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-15.js
@@ -1,7 +1,7 @@
 // Debugger mode can be disabled for a compartment even if it has scripts running.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = Debugger(g);
 g.parent = this;
 var n = 2;
 g.eval("parent.dbg.removeDebuggee(this); parent.n += 2");
 assertEq(n, 4);
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-16.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-16.js
@@ -1,16 +1,16 @@
 // GC can turn off debug mode in a compartment.
 
 var dbgs = [];
 var nonDebugGlobals = [];
 var f = gc;
 for (var i = 0; i < 4; i++) {
     // Create two globals, one debuggee.
-    var g1 = newGlobal();
+    var g1 = newGlobal({newCompartment: true});
     var g2 = g1.eval("newGlobal('same-compartment')");
     var dbg = Debugger(g1);
     dbg.onDebuggerStatement = function () {};
 
     // Thread a chain of functions through the non-debuggee globals.
     g2.eval("function f() { return g() + 1; }");
     g2.g = f;
     f = g2.f;
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-17.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-17.js
@@ -8,19 +8,19 @@ var dbg = new Debugger;
 function check(bad) {
   print("check(" + uneval(bad) + ")");
   assertThrowsInstanceOf(function () { dbg.addDebuggee(bad); }, TypeError);
   assertEq(dbg.getDebuggees().length, 0);
   assertThrowsInstanceOf(function () { dbg.hasDebuggee(bad); }, TypeError);
   assertThrowsInstanceOf(function () { dbg.removeDebuggee(bad); }, TypeError);
 }
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 check(g.Object());
 check(g.Object);
 check(g.Function(""));
 
 // A Debugger.Object belonging to a different Debugger is not a valid way
 // to designate a global, even if its referent is a global.
-var g2 = newGlobal();
+var g2 = newGlobal({newCompartment: true});
 var dbg2 = new Debugger;
 var d2g2 = dbg2.addDebuggee(g2);
 check(d2g2);
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-18.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-18.js
@@ -9,18 +9,18 @@ var dbg = new Debugger;
 function assertDebuggees(...expected) {
   print("assertDebuggees([" + expected.map((g) => g.toSource()) + "])");
   var debuggees = dbg.getDebuggees();
   assertEq(expected.length, debuggees.length);
   for (let g of expected)
     assertEq(debuggees.indexOf(g) != -1, true);
 }
 
-var g1 = newGlobal(); g1.toSource = function () { return "[global g1]"; };
-var g2 = newGlobal(); g2.toSource = function () { return "[global g2]"; };
+var g1 = newGlobal({newCompartment: true}); g1.toSource = function () { return "[global g1]"; };
+var g2 = newGlobal({newCompartment: true}); g2.toSource = function () { return "[global g2]"; };
 
 assertDebuggees();
 
 // Produce every possible way to designate g1, for us to play with.
 // Globals can be designated by any of the following:
 //
 // - "CCW": a Cross-Compartment Wrapper (CCW) of a global object
 // - "D.O": a Debugger.Object whose referent is a global object
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-19.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-19.js
@@ -5,29 +5,29 @@ var dbg = new Debugger;
 // If we eval in a debuggee, log which debuggee it was.
 var log;
 dbg.onEnterFrame = function (frame) {
   log += 'e';
   // frame.environment in all evals below is the global lexical env.
   log += frame.environment.parent.object.label;
 };
 
-var g1 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
 log = '';
 g1.eval('Math');
 assertEq(log, '');              // not yet a debuggee
 
 var g1w = dbg.addDebuggee(g1);
 assertEq(g1w instanceof Debugger.Object, true);
 g1w.label = 'g1';
 log = '';
 g1.eval('Math');                // now a debuggee
 assertEq(log, 'eg1');
 
-var g2 = newGlobal();
+var g2 = newGlobal({newCompartment: true});
 log = '';
 g1.eval('Math');                // debuggee
 g2.eval('Math');                // not a debuggee
 assertEq(log, 'eg1');
 
 var g2w = dbg.addDebuggee(g2);
 assertEq(g2w instanceof Debugger.Object, true);
 g2w.label = 'g2';
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-20.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-20.js
@@ -1,17 +1,17 @@
 // addAllGlobalsAsDebuggees adds all the globals as debuggees.
 
-var g1 = newGlobal();           // Created before the Debugger; debuggee.
-var g2 = newGlobal();           // Created before the Debugger; not debuggee.
+var g1 = newGlobal({newCompartment: true});           // Created before the Debugger; debuggee.
+var g2 = newGlobal({newCompartment: true});           // Created before the Debugger; not debuggee.
 
 var dbg = new Debugger;
 
-var g3 = newGlobal();           // Created after the Debugger; debuggee.
-var g4 = newGlobal();           // Created after the Debugger; not debuggee.
+var g3 = newGlobal({newCompartment: true});           // Created after the Debugger; debuggee.
+var g4 = newGlobal({newCompartment: true});           // Created after the Debugger; not debuggee.
 
 var g1w = dbg.addDebuggee(g1);
 var g3w = dbg.addDebuggee(g3);
 assertEq(dbg.addAllGlobalsAsDebuggees(), undefined);
 
 // Get Debugger.Objects viewing the globals from their own compartments;
 // this is the sort that findAllGlobals and addDebuggee return.
 assertEq(g1w, g3w.makeDebuggeeValue(g1).unwrap());
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-22.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-22.js
@@ -1,11 +1,11 @@
 // Adding a debuggee allowed with scripts on stack.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.dbg = new Debugger;
 
 g.eval("" + function f(d) {
   g(d);
   if (d)
     assertEq(dbg.hasDebuggee(this), true);
 });
 
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-23.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-23.js
@@ -1,13 +1,13 @@
 // Adding a debuggee allowed with scripts on stack from stranger places.
 
 // Test CCW.
 (function testCCW() {
-  var g = newGlobal();
+  var g = newGlobal({newCompartment: true});
   var dbg = new Debugger;
   g.dbg = dbg;
   g.GLOBAL = g;
 
   g.turnOnDebugger = function () {
     dbg.addDebuggee(g);
   };
 
@@ -21,81 +21,81 @@
     f(false);
     f(true);
     f(true);
   } + ")();");
 })();
 
 // Test getter.
 (function testGetter() {
-  var g = newGlobal();
+  var g = newGlobal({newCompartment: true});
   g.dbg = new Debugger;
   g.GLOBAL = g;
 
   g.eval("" + function f(obj) {
     obj.foo;
     assertEq(dbg.hasDebuggee(GLOBAL), true);
   });
 
   g.eval("(" + function test() {
     f({ get foo() { dbg.addDebuggee(GLOBAL); } });
   } + ")();");
 })();
 
 // Test setter.
 (function testSetter() {
-  var g = newGlobal();
+  var g = newGlobal({newCompartment: true});
   g.dbg = new Debugger;
   g.GLOBAL = g;
 
   g.eval("" + function f(obj) {
     obj.foo = 42;
     assertEq(dbg.hasDebuggee(GLOBAL), true);
   });
 
   g.eval("(" + function test() {
     f({ set foo(v) { dbg.addDebuggee(GLOBAL); } });
   } + ")();");
 })();
 
 // Test toString.
 (function testToString() {
-  var g = newGlobal();
+  var g = newGlobal({newCompartment: true});
   g.dbg = new Debugger;
   g.GLOBAL = g;
 
   g.eval("" + function f(obj) {
     obj + "";
     assertEq(dbg.hasDebuggee(GLOBAL), true);
   });
 
   g.eval("(" + function test() {
     f({ toString: function () { dbg.addDebuggee(GLOBAL); }});
   } + ")();");
 })();
 
 // Test valueOf.
 (function testValueOf() {
-  var g = newGlobal();
+  var g = newGlobal({newCompartment: true});
   g.dbg = new Debugger;
   g.GLOBAL = g;
 
   g.eval("" + function f(obj) {
     obj + "";
     assertEq(dbg.hasDebuggee(GLOBAL), true);
   });
 
   g.eval("(" + function test() {
     f({ valueOf: function () { dbg.addDebuggee(GLOBAL); }});
   } + ")();");
 })();
 
 // Test proxy trap.
 (function testProxyTrap() {
-  var g = newGlobal();
+  var g = newGlobal({newCompartment: true});
   g.dbg = new Debugger;
   g.GLOBAL = g;
 
   g.eval("" + function f(proxy) {
     proxy["foo"];
     assertEq(dbg.hasDebuggee(GLOBAL), true);
   });
 
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-24.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-24.js
@@ -1,14 +1,14 @@
 // Turning debugger on for a particular global with on-stack scripts shouldn't
 // make other globals' scripts observable.
 
-var g1 = newGlobal();
-var g2 = newGlobal();
-var g3 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
+var g2 = newGlobal({newCompartment: true});
+var g3 = newGlobal({newCompartment: true});
 
 g1.eval("" + function f() {
   var name = "f";
   g();
   return name;
 });
 g2.eval("" + function g() {
   var name = "g";
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-25.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-25.js
@@ -1,13 +1,13 @@
 // Turning debugger off global at a time.
 
-var g1 = newGlobal();
-var g2 = newGlobal();
-var g3 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
+var g2 = newGlobal({newCompartment: true});
+var g3 = newGlobal({newCompartment: true});
 
 g1.eval("" + function f() {
   var name = "f";
   g();
   return name;
 });
 g2.eval("" + function g() {
   var name = "g";
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-26.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-26.js
@@ -1,17 +1,17 @@
 // Ion can bail in-place when throwing exceptions with debug mode toggled on.
 
 load(libdir + "jitopts.js");
 
 if (!jitTogglesMatch(Opts_Ion2NoOffthreadCompilation))
   quit();
 
 withJitOptions(Opts_Ion2NoOffthreadCompilation, function () {
-  var g = newGlobal();
+  var g = newGlobal({newCompartment: true});
   var dbg = new Debugger;
 
   g.toggle = function toggle(x, d) {
     if (d) {
       dbg.addDebuggee(g);
       var frame = dbg.getNewestFrame().older;
       assertEq(frame.callee.name, "f");
       assertEq(frame.implementation, "ion");
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-27.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-27.js
@@ -1,11 +1,11 @@
 // Test that we can OSR with the same script on the stack multiple times.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger;
 
 g.toggle = function toggle() {
   dbg.addDebuggee(g);
   var frame = dbg.getNewestFrame();
 }
 
 g.eval("" + function f(x) {
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-28.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-28.js
@@ -12,17 +12,17 @@ function removeAdd(dbg, g) {
   dbg.removeDebuggee(g);
   dbg.addDebuggee(g);
   var f = dbg.getNewestFrame();
   while (f)
     f = f.older;
 }
 
 function newGlobalDebuggerPair(toggleSeq) {
-  var g = newGlobal();
+  var g = newGlobal({newCompartment: true});
   var dbg = new Debugger;
 
   if (toggleSeq == removeAdd)
     dbg.addDebuggee(g);
 
   g.eval("" + function f() { return g(); });
   g.eval("" + function g() { return h(); });
   g.eval("line0 = Error().lineNumber;");
--- a/js/src/jit-test/tests/debug/Debugger-debuggees-30.js
+++ b/js/src/jit-test/tests/debug/Debugger-debuggees-30.js
@@ -14,17 +14,17 @@ function testAddDebuggee() {
     var dbg = new Debugger();
     assertTypeErrorMessage(() => dbg.addDebuggee(this),
                            "debugger and debuggee must be in different compartments");
 }
 testAddDebuggee();
 
 function testAddAllGlobalsAsDebuggees() {
     var g1 = newGlobal({sameCompartmentAs: this});
-    var g2 = newGlobal();
+    var g2 = newGlobal({newCompartment: true});
     var g3 = newGlobal({sameCompartmentAs: g2});
     var g4 = newGlobal({newCompartment: true, sameZoneAs: this});
     var dbg = new Debugger();
     dbg.addAllGlobalsAsDebuggees();
     assertEq(dbg.hasDebuggee(g1), false);
     assertEq(dbg.hasDebuggee(g2), true);
     assertEq(dbg.hasDebuggee(g3), true);
     assertEq(dbg.hasDebuggee(g4), true);
--- a/js/src/jit-test/tests/debug/Debugger-enabled-01.js
+++ b/js/src/jit-test/tests/debug/Debugger-enabled-01.js
@@ -1,13 +1,13 @@
 var desc = Object.getOwnPropertyDescriptor(Debugger.prototype, "enabled");
 assertEq(typeof desc.get, 'function');
 assertEq(typeof desc.set, 'function');
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var hits;
 var dbg = new Debugger(g);
 assertEq(dbg.enabled, true);
 dbg.onDebuggerStatement = function () { hits++; };
 
 var vals = [true, false, null, undefined, NaN, "blah", {}];
 for (var i = 0; i < vals.length; i++) {
     dbg.enabled = vals[i];
--- a/js/src/jit-test/tests/debug/Debugger-enabled-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-enabled-02.js
@@ -1,11 +1,11 @@
 // Tests that hooks work if set while the Debugger is disabled.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 var log = "";
 
 g.eval("" + function f() { return 42; });
 
 dbg.enabled = false;
 dbg.onEnterFrame = function (frame) {
   log += "1";
--- a/js/src/jit-test/tests/debug/Debugger-findAllGlobals-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-findAllGlobals-02.js
@@ -1,17 +1,17 @@
 // Debugger.prototype.findAllGlobals finds ALL the globals!
 
-var g1 = newGlobal();           // Created before the Debugger; debuggee.
-var g2 = newGlobal();           // Created before the Debugger; not debuggee.
+var g1 = newGlobal({newCompartment: true});           // Created before the Debugger; debuggee.
+var g2 = newGlobal({newCompartment: true});           // Created before the Debugger; not debuggee.
 
 var dbg = new Debugger;
 
-var g3 = newGlobal();           // Created after the Debugger; debuggee.
-var g4 = newGlobal();           // Created after the Debugger; not debuggee.
+var g3 = newGlobal({newCompartment: true});           // Created after the Debugger; debuggee.
+var g4 = newGlobal({newCompartment: true});           // Created after the Debugger; not debuggee.
 
 var g1w = dbg.addDebuggee(g1);
 var g3w = dbg.addDebuggee(g3);
 
 var a = dbg.findAllGlobals();
 
 // Get Debugger.Objects viewing the globals from their own compartments;
 // this is the sort that findAllGlobals and addDebuggee return.
--- a/js/src/jit-test/tests/debug/Debugger-findObjects-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-findObjects-02.js
@@ -1,11 +1,11 @@
 // In a debuggee with live objects, findObjects finds those objects.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 
 let defObject = v => g.eval(`this.${v} = { toString: () => "[object ${v}]" }`);
 defObject("a");
 defObject("b");
 defObject("c");
 
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
--- a/js/src/jit-test/tests/debug/Debugger-findObjects-03.js
+++ b/js/src/jit-test/tests/debug/Debugger-findObjects-03.js
@@ -1,11 +1,11 @@
 // findObjects' result includes objects referenced by other objects.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 
 g.eval('this.a = { b: {} };');
 
 var bw = gw.makeDebuggeeValue(g.a.b);
 
 var objects = dbg.findObjects();
--- a/js/src/jit-test/tests/debug/Debugger-findObjects-04.js
+++ b/js/src/jit-test/tests/debug/Debugger-findObjects-04.js
@@ -1,11 +1,11 @@
 // findObjects' result includes objects captured by closures.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 
 g.eval(`
   this.f = (function () {
     let a = { foo: () => {} };
     return () => a;
   }());
--- a/js/src/jit-test/tests/debug/Debugger-findObjects-05.js
+++ b/js/src/jit-test/tests/debug/Debugger-findObjects-05.js
@@ -1,10 +1,10 @@
 // findObjects' result doesn't include any duplicates.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 dbg.addDebuggee(g);
 
 let objects = dbg.findObjects();
 let set = new Set(objects);
 
 assertEq(objects.length, set.size);
--- a/js/src/jit-test/tests/debug/Debugger-findObjects-06.js
+++ b/js/src/jit-test/tests/debug/Debugger-findObjects-06.js
@@ -1,12 +1,12 @@
 // In a debugger with multiple debuggees, findObjects finds objects from all debuggees.
 
-var g1 = newGlobal();
-var g2 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
+var g2 = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 var g1w = dbg.addDebuggee(g1);
 var g2w = dbg.addDebuggee(g2);
 
 g1.eval('this.a = {};');
 g2.eval('this.b = {};');
 
 var objects = dbg.findObjects();
--- a/js/src/jit-test/tests/debug/Debugger-findObjects-07.js
+++ b/js/src/jit-test/tests/debug/Debugger-findObjects-07.js
@@ -1,11 +1,11 @@
 // findObjects can filter objects by class name.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 
 g.eval('this.re = /foo/;');
 g.eval('this.d = new Date();');
 
 var rew = gw.makeDebuggeeValue(g.re);
--- a/js/src/jit-test/tests/debug/Debugger-findObjects-09.js
+++ b/js/src/jit-test/tests/debug/Debugger-findObjects-09.js
@@ -1,9 +1,9 @@
 // We don't return objects where our query's class name is the prefix of the
 // object's class name and vice versa.
 
 var dbg = new Debugger();
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var gw = dbg.addDebuggee(g);
 
 assertEq(dbg.findObjects({ class: "Objec" }).length, 0);
 assertEq(dbg.findObjects({ class: "Objectttttt" }).length, 0);
--- a/js/src/jit-test/tests/debug/Debugger-findObjects-10.js
+++ b/js/src/jit-test/tests/debug/Debugger-findObjects-10.js
@@ -1,5 +1,5 @@
 // Debugger.prototype.findObjects should not expose internal JSFunction objects.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.eval(`function f() { return function() {}; }`);
 new Debugger(g).findObjects();
--- a/js/src/jit-test/tests/debug/Debugger-findObjects-11.js
+++ b/js/src/jit-test/tests/debug/Debugger-findObjects-11.js
@@ -1,7 +1,7 @@
 // This shouldn't segfault.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.eval(`function f() { return function() {
   function g() {}
 }; }`);
 new Debugger(g).findObjects();
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-02.js
@@ -1,11 +1,11 @@
 // In a debuggee with functions, findScripts finds those functions' scripts.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.eval('function f(){}');
 g.eval('function g(){}');
 g.eval('function h(){}');
 
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 var fw = gw.makeDebuggeeValue(g.f);
 var gw = gw.makeDebuggeeValue(g.g);
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-03.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-03.js
@@ -1,11 +1,11 @@
 // While eval code is running, findScripts returns its script.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 var log;
 
 g.check = function () {
     log += 'c';
     var frame = dbg.getNewestFrame();
     assertEq(frame.type, "eval");
     assertEq(dbg.findScripts().indexOf(frame.script) != -1, true);
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-04.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-04.js
@@ -1,10 +1,10 @@
 // Within a series of evals and calls, all their frames' scripts appear in findScripts' result.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 var log;
 
 g.check = function () {
     log += 'c';
     var scripts = dbg.findScripts();
 
     var innerEvalFrame = dbg.getNewestFrame();
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-05.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-05.js
@@ -1,10 +1,10 @@
 // findScripts' result includes scripts for nested functions.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 var log;
 
 g.eval('function f() { return function g() { return function h() { return "Squee!"; } } }');
 var fw = gw.makeDebuggeeValue(g.f);
 var gw = gw.makeDebuggeeValue(g.f());
 var hw = gw.makeDebuggeeValue(g.f()());
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-06.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-06.js
@@ -1,11 +1,11 @@
 // In a debugger with multiple debuggees, findScripts finds scripts across all debuggees.
-var g1 = newGlobal();
-var g2 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
+var g2 = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 var g1w = dbg.addDebuggee(g1);
 var g2w = dbg.addDebuggee(g2);
 
 g1.eval('function f() {}');
 g2.eval('function g() {}');
 
 var scripts = dbg.findScripts();
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-07.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-07.js
@@ -1,12 +1,12 @@
 // findScripts can filter scripts by global.
-var g1 = newGlobal();
-var g2 = newGlobal();
-var g3 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
+var g2 = newGlobal({newCompartment: true});
+var g3 = newGlobal({newCompartment: true});
 
 var dbg = new Debugger();
 var g1w = dbg.addDebuggee(g1);
 var g2w = dbg.addDebuggee(g2);
 
 g1.eval('function f() {}');
 g2.eval('function g() {}');
 g2.eval('function h() {}');
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-08.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-08.js
@@ -1,12 +1,12 @@
 // Debugger.prototype.findScripts can filter scripts by URL.
-var g1 = newGlobal();
-var g2 = newGlobal();
-var g3 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
+var g2 = newGlobal({newCompartment: true});
+var g3 = newGlobal({newCompartment: true});
 
 // Define some functions whose url will be this test file.
 g1.eval('function g1f() {}');
 g2.eval('function g2f() {}');
 
 // Define some functions whose url will be a different file.
 url2 = scriptdir + "Debugger-findScripts-08-script2";
 load(url2);
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-10.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-10.js
@@ -1,13 +1,13 @@
 // Specifying a non-debuggee global in a Debugger.prototype.findScripts query should
 // cause the query to return no scripts.
 
-var g1 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
 g1.eval('function f(){}');
 
-var g2 = newGlobal();
+var g2 = newGlobal({newCompartment: true});
 g2.eval('function g(){}');
 
 var dbg = new Debugger(g1);
 assertEq(dbg.findScripts({global:g1}).length > 0, true);
 assertEq(dbg.findScripts({global:g2}).length, 0);
 assertEq(dbg.findScripts({global:this}).length, 0);
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-11.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-11.js
@@ -1,10 +1,10 @@
 // Debugger.prototype.findScripts can filter scripts by line number.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 
 var scriptname = scriptdir + 'Debugger-findScripts-11-script2';
 g.load(scriptname);
 
 var gfw = gw.makeDebuggeeValue(g.f);
 var ggw = gw.makeDebuggeeValue(g.f());
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-12.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-12.js
@@ -1,24 +1,24 @@
 // Debugger.prototype.findScripts can filter by global, url, and line number.
 
 // Two scripts, with different functions at the same line numbers.
 var url1 = scriptdir + 'Debugger-findScripts-12-script1';
 var url2 = scriptdir + 'Debugger-findScripts-12-script2';
 
 // Three globals: two with code, one with nothing.
-var g1 = newGlobal();
+var g1 = newGlobal({newCompartment: true});
 g1.toSource = () => "[global g1]";
 g1.load(url1);
 g1.load(url2);
-var g2 = newGlobal();
+var g2 = newGlobal({newCompartment: true});
 g2.toSource = () => "[global g2]";
 g2.load(url1);
 g2.load(url2);
-var g3 = newGlobal();
+var g3 = newGlobal({newCompartment: true});
 
 var dbg = new Debugger(g1, g2, g3);
 
 function script(func) {
     var gw = dbg.addDebuggee(func.global);
     var script = gw.makeDebuggeeValue(func).script;
     script.toString = function () {
         return "[Debugger.Script for " + func.name + " in " + uneval(func.global) + "]";
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-14.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-14.js
@@ -1,11 +1,11 @@
 // Debugger.prototype.findScripts can find the innermost script at a given
 // source location.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 
 function script(f) {
     return gw.makeDebuggeeValue(f).script;
 }
 
 function arrayIsOnly(array, element) {
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-15.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-15.js
@@ -1,9 +1,9 @@
 // findScripts finds non-compile-and-go scripts
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.evaluate("function f(x) { return x + 1; }");
 var dbg = new Debugger;
 var gw = dbg.addDebuggee(g);
 var s = dbg.findScripts();
 var fw = gw.getOwnPropertyDescriptor("f").value;
 assertEq(s.indexOf(fw.script) !== -1, true);
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-16.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-16.js
@@ -1,11 +1,11 @@
 // Bug 744731 - findScripts() finds active debugger executeInGlobal scripts.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger;
 var gw = dbg.addDebuggee(g);
 var hits = 0;
 dbg.onDebuggerStatement = function (frame) {
     hits++;
     assertEq(dbg.findScripts().indexOf(dbg.getNewestFrame().script) !== -1, true);
 };
 gw.executeInGlobal("debugger;");
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-17.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-17.js
@@ -1,11 +1,11 @@
 // Bug 744731 - findScripts() finds active debugger frame.eval scripts.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger;
 var gw = dbg.addDebuggee(g);
 var hits = 0;
 dbg.onDebuggerStatement = function (frame) {
     dbg.onDebuggerStatement = function (frame) {
         hits++;
         assertEq(dbg.findScripts().indexOf(dbg.getNewestFrame().script) !== -1, true);
     };
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-18.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-18.js
@@ -1,12 +1,12 @@
 // In a debuggee with multiple scripts with varying displayURLs (aka //#
 // sourceURL), findScripts can filter by displayURL.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 
 g.eval("function f(){} //# sourceURL=f.js");
 g.eval("function g(){} //# sourceURL=g.js");
 g.eval("function h(){}");
 
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 var fw = gw.makeDebuggeeValue(g.f);
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-19.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-19.js
@@ -1,5 +1,5 @@
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 try { g.eval('function drag(ev) {'); } catch (ex) { }
 for (s of dbg.findScripts())
   s.lineCount;
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-20.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-20.js
@@ -1,9 +1,9 @@
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 
 g.eval('function f(){}');
 
 var o = gw.makeDebuggeeValue(g.f);
 
 var allScripts = dbg.findScripts();
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-22.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-22.js
@@ -1,8 +1,8 @@
 // Bug 1239813: Don't let compartments get GC'd while findScripts is holding
 // them in its ScriptQuery's hash set.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 dbg.addDebuggee(g);
 g = newGlobal({sameZoneAs: g.Math});
 dbg.findScripts({get source() { gc(); return undefined; }});
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-23.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-23.js
@@ -1,13 +1,13 @@
 // If a script is (re)lazified, findScripts should not delazify it.
 
 var dbg = new Debugger();
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.eval('function f(){}');
 assertEq(g.eval('isLazyFunction(f)'), true);
 
 dbg.addDebuggee(g);
 dbg.findScripts();
 assertEq(g.eval('isLazyFunction(f)'), true);
 
 dbg.removeAllDebuggees();
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-24.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-24.js
@@ -1,13 +1,13 @@
 // findScripts should reject Debugger.Source objects from other Debuggers.
 
 load(libdir + 'asserts.js');
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.evaluate(`function f() { print("earth/heart/hater"); }`,
            { lineNumber: 1800 });
 
 var dbg1 = new Debugger;
 var gDO1 = dbg1.addDebuggee(g);
 var fDO1 = gDO1.getOwnPropertyDescriptor('f').value;
 assertEq(fDO1.script.source instanceof Debugger.Source, true);
 
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-optimized-out.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-optimized-out.js
@@ -1,15 +1,15 @@
 // Accessing Debugger.Script's properties which triggers delazification can
 // fail if the function for the script is optimized out.
 // It shouldn't crash but just throw an error.
 
 load(libdir + "asserts.js");
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 g.eval(`
 function enclosing() {
     (function g1() {});
     (function* g2() {});
     (async function g3() {});
     (async function* g4() {});
     () => {};
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-uncompleted-01.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-uncompleted-01.js
@@ -1,12 +1,12 @@
 // Uncompleted scripts and their inner scripts shouldn't be found in
 // findScripts.
 
-let g = newGlobal();
+let g = newGlobal({newCompartment: true});
 let dbg = new Debugger(g);
 
 let message = "";
 try {
   g.eval(`
 (function nonLazyOuter() {
   (function nonLazyInner() {
     function lazy1() {
--- a/js/src/jit-test/tests/debug/Debugger-findScripts-uncompleted-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-findScripts-uncompleted-02.js
@@ -1,11 +1,11 @@
 // Uncompleted scripts shouldn't be found in findScripts.
 
-let g = newGlobal();
+let g = newGlobal({newCompartment: true});
 let dbg = new Debugger(g);
 
 let message = "";
 try {
   g.eval(`
 (function nonLazyOuter() {
   (function nonLazyInner() {
     function lazy1() {
--- a/js/src/jit-test/tests/debug/Debugger-findSources-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-findSources-02.js
@@ -1,11 +1,11 @@
 // In a debugger with scripts, findSources finds the script source.
 
-const g = newGlobal();
+const g = newGlobal({newCompartment: true});
 // Declare a function in order to keep the script source alive across GC.
 g.evaluate(`function fa() {}`, { fileName: "a.js" });
 g.evaluate(`function fb() {}`, { fileName: "b.js" });
 g.evaluate(`function fc() {}`, { fileName: "c.js" });
 
 const dbg = new Debugger();
 const gw = dbg.addDebuggee(g);
 
--- a/js/src/jit-test/tests/debug/Debugger-findSources-03.js
+++ b/js/src/jit-test/tests/debug/Debugger-findSources-03.js
@@ -1,12 +1,12 @@
 // In a debugger with multiple debuggees, findSources finds script sources across all debuggees.
 
-const g1 = newGlobal();
-const g2 = newGlobal();
+const g1 = newGlobal({newCompartment: true});
+const g2 = newGlobal({newCompartment: true});
 // Declare a function in order to keep the script source alive across GC.
 g1.evaluate(`function fa() {}`, { fileName: "a.js" });
 g1.evaluate(`function fb() {}`, { fileName: "b.js" });
 g2.evaluate(`function fc() {}`, { fileName: "c.js" });
 g2.evaluate(`function fd() {}`, { fileName: "d.js" });
 
 const dbg = new Debugger();
 const g1w = dbg.addDebuggee(g1);
--- a/js/src/jit-test/tests/debug/Debugger-getNewestFrame-01.js
+++ b/js/src/jit-test/tests/debug/Debugger-getNewestFrame-01.js
@@ -1,13 +1,13 @@
 // getNewestFrame basics.
 
 load(libdir + "asserts.js");
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 assertEq(dbg.getNewestFrame(), null);
 
 var global = this;
 var frame;
 function f() {
     frame = dbg.getNewestFrame();
     assertEq(frame instanceof Debugger.Frame, true);
--- a/js/src/jit-test/tests/debug/Debugger-getNewestFrame-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-getNewestFrame-02.js
@@ -1,11 +1,11 @@
 // Hooks and Debugger.prototype.getNewestFrame produce the same Frame object.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = Debugger(g);
 var hits = 0;
 var savedFrame, savedCallee;
 dbg.onDebuggerStatement = function (frame) {
     assertEq(frame, savedFrame);
     assertEq(frame.live, true);
     assertEq(frame.callee, savedCallee);
     hits++;
--- a/js/src/jit-test/tests/debug/Debugger-getNewestFrame-03.js
+++ b/js/src/jit-test/tests/debug/Debugger-getNewestFrame-03.js
@@ -1,9 +1,9 @@
 // Debugger.prototype.getNewestFrame() ignores dummy frames.
 // See bug 678086.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.f = function () { return dbg.getNewestFrame(); };
 var dbg = new Debugger;
 var gw = dbg.addDebuggee(g);
 var fw = gw.getOwnPropertyDescriptor("f").value;
 assertEq(fw.call().return, null);
--- a/js/src/jit-test/tests/debug/Debugger-getNewestFrame-generators-01.js
+++ b/js/src/jit-test/tests/debug/Debugger-getNewestFrame-generators-01.js
@@ -1,13 +1,13 @@
 // Generator/async frames can be created and revived by calling Debugger.getNewestFrame().
 //
 // Modified copy of Frame-older-generators-01.js.
 
-let g = newGlobal();
+let g = newGlobal({newCompartment: true});
 g.eval(`
     function* gen() {
         f();
         yield 1;
         f();
     }
     function* genDefaults(x=f()) {
         f();
--- a/js/src/jit-test/tests/debug/Debugger-multi-01.js
+++ b/js/src/jit-test/tests/debug/Debugger-multi-01.js
@@ -1,11 +1,11 @@
 // When there are multiple debuggers, their hooks are called in order.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var log;
 var arr = [];
 
 function addDebug(msg) {
     var dbg = new Debugger(g);
     dbg.onDebuggerStatement = function (stack) { log += msg; };
     arr.push(dbg);
 }
--- a/js/src/jit-test/tests/debug/Debugger-multi-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-multi-02.js
@@ -1,13 +1,13 @@
 // Test adding hooks during dispatch. The behavior is deterministic and "nice",
 // but mainly what we are checking here is that we do not crash due to
 // modifying a data structure while we're iterating over it.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var n = 0;
 var hits;
 
 function addDebugger() {
     var dbg = new Debugger(g);
     dbg.onDebuggerStatement = function (stack) {
         hits++;
         addDebugger();
--- a/js/src/jit-test/tests/debug/Debugger-multi-03.js
+++ b/js/src/jit-test/tests/debug/Debugger-multi-03.js
@@ -1,21 +1,21 @@
 // Q: But who shall debug the debuggers?  A: jimb
 
 var log = '';
 
 function addDebug(g, id) {
-    var debuggerGlobal = newGlobal();
+    var debuggerGlobal = newGlobal({newCompartment: true});
     debuggerGlobal.debuggee = g;
     debuggerGlobal.id = id;
     debuggerGlobal.print = function (s) { log += s; };
     debuggerGlobal.eval(
         'var dbg = new Debugger(debuggee);\n' +
         'dbg.onDebuggerStatement = function () { print(id); debugger; print(id); };\n');
     return debuggerGlobal;
 }
 
-var base = newGlobal();
+var base = newGlobal({newCompartment: true});
 var top = base;
 for (var i = 0; i < 8; i++)  // why have 2 debuggers when you can have 8
     top = addDebug(top, i);
 base.eval("debugger;");
 assertEq(log, '0123456776543210');
--- a/js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-01.js
+++ b/js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-01.js
@@ -1,11 +1,11 @@
 // If debugger.onEnterFrame returns {return:val}, the frame returns.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.set = false;
 g.eval("function f() {\n" +
        "    set = true;\n" +
        "    return 'fail';\n" +
        "}\n");
 g.eval("function g() { return 'g ' + f(); }");
 g.eval("function h() { return 'h ' + g(); }");
 
--- a/js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-02.js
@@ -1,13 +1,13 @@
 // If debugger.onEnterFrame returns {throw:val}, an exception is thrown in the debuggee.
 
 load(libdir + "asserts.js");
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.set = false;
 g.eval("function f() {\n" +
        "    set = true;\n" +
        "    return 'fail';\n" +
        "}\n");
 
 var dbg = Debugger(g);
 var savedFrame;
--- a/js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-03.js
+++ b/js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-03.js
@@ -1,13 +1,13 @@
 // If debugger.onEnterFrame returns null, the debuggee is terminated immediately.
 
 load(libdir + "asserts.js");
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.set = false;
 
 var dbg = Debugger(g);
 var savedFrame;
 dbg.onDebuggerStatement = function (frame) {
     var innerSavedFrame;
     dbg.onEnterFrame = function (frame) {
         innerSavedFrame = frame;
--- a/js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-04.js
+++ b/js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-04.js
@@ -1,11 +1,11 @@
 // If debugger.onEnterFrame returns undefined, the frame should continue execution.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = Debugger(g);
 var hits = 0;
 var savedFrame;
 dbg.onEnterFrame = function (frame) {
     hits++;
     savedFrame = frame;
     return undefined;
 };
--- a/js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-05.js
+++ b/js/src/jit-test/tests/debug/Debugger-onEnterFrame-resumption-05.js
@@ -11,17 +11,17 @@
 // The exception is REJOIN_THIS_PROTOTYPE, which can be reached reliably if you
 // add a JS_GC call to stubs::GetPropNoCache. JIT code calls that stub to
 // retrieve the 'prototype' property of a function called as a constructor, if
 // TI can't establish the exact identity of that prototype's value at compile
 // time. Thus the preoccupation with constructors here.
 
 load(libdir + "asserts.js");
 
-var debuggee = newGlobal();
+var debuggee = newGlobal({newCompartment: true});
 var dbg = Debugger(debuggee);
 var hits, savedFrame;
 
 // Allow the constructor to return normally.
 dbg.onEnterFrame = function (frame) {
     hits++;
     if (frame.constructing) {
         savedFrame = frame;
--- a/js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-13.js
+++ b/js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-13.js
@@ -3,15 +3,15 @@
 var dbg = new Debugger;
 
 var gw = null;
 dbg.onNewGlobalObject = function (global) {
   assertEq(arguments.length, 1);
   assertEq(this, dbg);
   gw = global;
 };
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 assertEq(typeof gw, 'object');
 assertEq(dbg.addDebuggee(g), gw);
 
 // The Debugger.Objects passed to onNewGlobalObject are the global as
 // viewed from its own compartment.
 assertEq(gw.makeDebuggeeValue(g), gw);
--- a/js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-14.js
+++ b/js/src/jit-test/tests/debug/Debugger-onNewGlobalObject-14.js
@@ -7,11 +7,11 @@ dbg.onNewGlobalObject = function (global
   var gw = dbg.addDebuggee(global);
   gw.defineProperty('x', { value: -1 });
   // Check that the global's magic lazy properties are working.
   assertEq(gw.executeInGlobalWithBindings('Math.atan2(y,x)', { y: 0 }).return, Math.PI);
   // Check that the global's prototype is hooked up.
   assertEq(gw.executeInGlobalWithBindings('x.toString()', { x: gw }).return, "[object global]");
 };
 
-newGlobal();
+newGlobal({newCompartment: true});
 
 assertEq(log, 'n');
--- a/js/src/jit-test/tests/debug/Debugger-onNewPromise-01.js
+++ b/js/src/jit-test/tests/debug/Debugger-onNewPromise-01.js
@@ -1,12 +1,12 @@
 // Test that the onNewPromise hook gets called when promises are allocated in
 // the scope of debuggee globals.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 
 
 let promisesFound = [];
 dbg.onNewPromise = p => { promisesFound.push(p); };
 
 let p1 = new g.Promise(function (){});
--- a/js/src/jit-test/tests/debug/Debugger-onNewPromise-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-onNewPromise-02.js
@@ -1,11 +1,11 @@
 // onNewPromise handlers fire, until they are removed.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 var log;
 
 log = '';
 new g.Promise(function (){});
 assertEq(log, '');
 
 dbg.onNewPromise = function (promise) {
--- a/js/src/jit-test/tests/debug/Debugger-onNewPromise-03.js
+++ b/js/src/jit-test/tests/debug/Debugger-onNewPromise-03.js
@@ -1,11 +1,11 @@
 // onNewPromise handlers on different Debugger instances are independent.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg1 = new Debugger(g);
 var log1;
 function h1(promise) {
   log1 += 'n';
   assertEq(promise.seen, undefined);
   promise.seen = true;
 }
 
--- a/js/src/jit-test/tests/debug/Debugger-onNewPromise-04.js
+++ b/js/src/jit-test/tests/debug/Debugger-onNewPromise-04.js
@@ -1,10 +1,10 @@
 // An onNewPromise handler can disable itself.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 var log;
 
 dbg.onNewPromise = function (promise) {
   log += 'n';
   dbg.onNewPromise = undefined;
 };
 
--- a/js/src/jit-test/tests/debug/Debugger-onNewPromise-05.js
+++ b/js/src/jit-test/tests/debug/Debugger-onNewPromise-05.js
@@ -1,11 +1,11 @@
 // Creating a promise within an onNewPromise handler causes a recursive handler
 // invocation.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 var log;
 var depth;
 
 dbg.onNewPromise = function (promise) {
   log += '('; depth++;
 
--- a/js/src/jit-test/tests/debug/Debugger-onNewPromise-06.js
+++ b/js/src/jit-test/tests/debug/Debugger-onNewPromise-06.js
@@ -1,13 +1,13 @@
 // Resumption values from onNewPromise handlers are disallowed.
 
 load(libdir + 'asserts.js');
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 var log;
 
 dbg.onNewPromise = function (g) { log += 'n'; return undefined; };
 log = '';
 assertEq(typeof new g.Promise(function (){}), "object");
 assertEq(log, 'n');
 
--- a/js/src/jit-test/tests/debug/Debugger-onNewPromise-07.js
+++ b/js/src/jit-test/tests/debug/Debugger-onNewPromise-07.js
@@ -1,12 +1,12 @@
 // Errors in onNewPromise handlers are reported correctly, and don't mess up the
 // promise creation.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 
 let e;
 dbg.uncaughtExceptionHook = ee => { e = ee; };
 dbg.onNewPromise = () => { throw new Error("woops!"); };
 
 assertEq(typeof new g.Promise(function (){}), "object");
 assertEq(!!e, true);
--- a/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-01.js
+++ b/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-01.js
@@ -1,11 +1,11 @@
 // Test that the onPromiseSettled hook gets called when a promise settles.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 
 let log = "";
 let pw;
 dbg.onPromiseSettled = pw_ => {
   pw = pw_;
   log += "s";
--- a/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-02.js
+++ b/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-02.js
@@ -1,11 +1,11 @@
 // onPromiseSettled handlers fire, until they are removed.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 var log;
 
 log = '';
 g.settlePromiseNow(new g.Promise(function (){}));
 assertEq(log, '');
 
 dbg.onPromiseSettled = function (promise) {
--- a/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-03.js
+++ b/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-03.js
@@ -1,10 +1,10 @@
 // onPromiseSettled handlers on different Debugger instances are independent.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg1 = new Debugger(g);
 var log1;
 function h1(promise) {
   log1 += 's';
   assertEq(promise.seen, undefined);
   promise.seen = true;
 }
 
--- a/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-04.js
+++ b/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-04.js
@@ -1,10 +1,10 @@
 // An onPromiseSettled handler can disable itself.
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 var log;
 
 dbg.onPromiseSettled = function (promise) {
   log += 's';
   dbg.onPromiseSettled = undefined;
 };
 
--- a/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-05.js
+++ b/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-05.js
@@ -1,12 +1,12 @@
 // Settling a promise within an onPromiseSettled handler causes a recursive
 // handler invocation.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger();
 var gw = dbg.addDebuggee(g);
 var log;
 var depth;
 
 dbg.onPromiseSettled = function (promise) {
   log += '('; depth++;
 
--- a/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-06.js
+++ b/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-06.js
@@ -1,13 +1,13 @@
 // Resumption values from onPromiseSettled handlers are disallowed.
 
 load(libdir + 'asserts.js');
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger(g);
 var log;
 
 dbg.onPromiseSettled = function (g) { log += 's'; return undefined; };
 log = '';
 g.settlePromiseNow(new g.Promise(function (){}));
 assertEq(log, 's');
 
--- a/js/src/jit-test/tests/debug/Environment-01.js
+++ b/js/src/jit-test/tests/debug/Environment-01.js
@@ -1,11 +1,11 @@
 // A live Environment can observe the new variables introduced by ES5 non-strict direct eval.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 g.eval("var x = 'global'; function f(s) { h(); eval(s); h(); }");
 g.eval("function h() { debugger; }");
 var dbg = Debugger(g);
 var env = undefined;
 var hits = 0;
 dbg.onDebuggerStatement = function (hframe) {
     if (env === undefined) {
         // First debugger statement.
--- a/js/src/jit-test/tests/debug/Environment-02.js
+++ b/js/src/jit-test/tests/debug/Environment-02.js
@@ -1,11 +1,11 @@
 // The last Environment on the environment chain always has .type == "object" and .object === the global object.
 
-var g = newGlobal();
+var g = newGlobal({newCompartment: true});
 var dbg = new Debugger;
 var gw = dbg.addDebuggee(g);
 g.eval("function h() { debugger; }");
 var hits = 0;
 dbg.onDebuggerStatement = function (hframe) {
     var env = hframe.older.environment;