introduce a background-hang-monitor:

Mac-Os implementation of a thread sampler,
Linux and Windows skeleton implementations.
This commit is contained in:
Gregory Terzian 2018-09-11 15:49:47 +08:00
parent 7c65505df3
commit 4eb785cdc0
23 changed files with 1134 additions and 11 deletions

View file

@ -192,10 +192,14 @@ class MachCommands(CommandBase):
default=None,
action='store_true',
help='Build the libsimpleservo library instead of the servo executable')
@CommandArgument('--with-frame-pointer',
default=None,
action='store_true',
help='Build with frame pointer enabled, used by the background hang monitor.')
def build(self, target=None, release=False, dev=False, jobs=None,
features=None, android=None, magicleap=None, no_package=False, verbose=False, very_verbose=False,
debug_mozjs=False, params=None, with_debug_assertions=False,
libsimpleservo=False):
libsimpleservo=False, with_frame_pointer=False):
opts = params or []
@ -288,6 +292,9 @@ class MachCommands(CommandBase):
if with_debug_assertions:
env['RUSTFLAGS'] = env.get('RUSTFLAGS', "") + " -C debug_assertions"
if with_frame_pointer:
env['RUSTFLAGS'] = env.get('RUSTFLAGS', "") + " -C force-frame-pointers=yes"
if android:
if "ANDROID_NDK" not in env:
print("Please set the ANDROID_NDK environment variable.")

View file

@ -245,6 +245,7 @@ class MachCommands(CommandBase):
test_patterns.append(test)
self_contained_tests = [
"background_hang_monitor",
"gfx",
"layout",
"msg",