mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 933807 - Allow easily disabling TriggerOperationCallbackFor(Ion|AsmJS)Code. Set the environment variable by default in "mach debug", allow disabling. r=gps
This commit is contained in:
parent
113a29fdda
commit
479e89b1e2
@ -760,7 +760,14 @@ class DebugProgram(MachCommandBase):
|
|||||||
help='Do not pass the -foreground argument by default on Mac')
|
help='Do not pass the -foreground argument by default on Mac')
|
||||||
@CommandArgument('+gdbparams', default=None, metavar='params', type=str,
|
@CommandArgument('+gdbparams', default=None, metavar='params', type=str,
|
||||||
help='Command-line arguments to pass to GDB itself; split as the Bourne shell would.')
|
help='Command-line arguments to pass to GDB itself; split as the Bourne shell would.')
|
||||||
def debug(self, params, remote, background, gdbparams):
|
# Bug 933807 introduced JS_DISABLE_SLOW_SCRIPT_SIGNALS to avoid clever
|
||||||
|
# segfaults induced by the slow-script-detecting logic for Ion/Odin JITted
|
||||||
|
# code. If we don't pass this, the user will need to periodically type
|
||||||
|
# "continue" to (safely) resume execution. There are ways to implement
|
||||||
|
# automatic resuming; see the bug.
|
||||||
|
@CommandArgument('+slowscript', action='store_true',
|
||||||
|
help='Do not set the JS_DISABLE_SLOW_SCRIPT_SIGNALS env variable; when not set, recoverable but misleading SIGSEGV instances may occur in Ion/Odin JIT code')
|
||||||
|
def debug(self, params, remote, background, gdbparams, slowscript):
|
||||||
import which
|
import which
|
||||||
try:
|
try:
|
||||||
debugger = which.which('gdb')
|
debugger = which.which('gdb')
|
||||||
@ -769,6 +776,7 @@ class DebugProgram(MachCommandBase):
|
|||||||
print(e)
|
print(e)
|
||||||
return 1
|
return 1
|
||||||
args = [debugger]
|
args = [debugger]
|
||||||
|
extra_env = {}
|
||||||
if gdbparams:
|
if gdbparams:
|
||||||
import pymake.process
|
import pymake.process
|
||||||
(argv, badchar) = pymake.process.clinetoargv(gdbparams, os.getcwd())
|
(argv, badchar) = pymake.process.clinetoargv(gdbparams, os.getcwd())
|
||||||
@ -790,8 +798,10 @@ class DebugProgram(MachCommandBase):
|
|||||||
args.append('-foreground')
|
args.append('-foreground')
|
||||||
if params:
|
if params:
|
||||||
args.extend(params)
|
args.extend(params)
|
||||||
return self.run_process(args=args, ensure_exit_code=False,
|
if not slowscript:
|
||||||
pass_thru=True)
|
extra_env['JS_DISABLE_SLOW_SCRIPT_SIGNALS'] = '1'
|
||||||
|
return self.run_process(args=args, append_env=extra_env,
|
||||||
|
ensure_exit_code=False, pass_thru=True)
|
||||||
|
|
||||||
@CommandProvider
|
@CommandProvider
|
||||||
class Buildsymbols(MachCommandBase):
|
class Buildsymbols(MachCommandBase):
|
||||||
|
Loading…
Reference in New Issue
Block a user