• lpy's avatar
    Reland: Create libsampler as V8 sampler library. · a0198c0f
    lpy authored
    This patch does five things:
    
    1. Extracts sampler as libsampler to provide sampling functionality support.
    2. Makes SampleStack virtual so embedders can override the behaviour of sample collecting.
    3. Removes sampler.[h|cc].
    4. Moves sampling thread into log.cc as workaround to keep the --prof functionality.
    5. Creates SamplerManager to manage the relationship between samplers and threads.
    
    The reason we port hashmap.h is that in debug mode, STL containers are using
    mutexes from a mutex pool, which may lead to deadlock when using asynchronously
    signal handler.
    
    Currently libsampler is used in V8 temporarily.
    
    BUG=v8:4789
    LOG=n
    
    Committed: https://crrev.com/06cc9b7c176a6223971deaa9fbcafe1a05058c7b
    Cr-Commit-Position: refs/heads/master@{#36527}
    
    Review-Url: https://codereview.chromium.org/1922303002
    Cr-Commit-Position: refs/heads/master@{#36532}
    a0198c0f
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest Loading commit data...
fuzzer Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
promises-aplus Loading commit data...
simdjs Loading commit data...
test262 Loading commit data...
unittests Loading commit data...
webkit Loading commit data...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
ignition.gyp Loading commit data...
ignition.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...
perf.gyp Loading commit data...
perf.isolate Loading commit data...