Commit Graph

9 Commits (2e1ad8fd8acc21ffef6f63fe852718e925e1ae3c)

Author SHA1 Message Date
Joe Groff 6d922c70a9 get sampler working under windows 2011-11-02 13:23:12 -07:00
Joe Groff c0e4458733 vm: fix build on windows 2011-11-02 13:23:12 -07:00
Joe Groff bec71e9ae2 vm: sampling profiler timer for windows
Spawn a thread and have it spin on the performance counter, triggering safepoints on the main thread every sample time
2011-11-02 13:23:11 -07:00
Joe Groff 1c68bbf8a6 vm: count samples from foreign threads
On OS X it appears the mach exception thread and libdispatch queue threads occasionally get the SIGALRM from the itimer. Count those as foreign_thread_samples instead of letting the signal kill the process.
2011-11-02 13:23:10 -07:00
Joe Groff 1ab4871fcc vm: add primitives to lift sample data to factor 2011-11-02 13:23:09 -07:00
Joe Groff cb2e87ecde vm: release memory used by sampler vectors 2011-11-02 13:23:08 -07:00
Joe Groff 29e652f67e vm: bottom_frame method for contexts
ctx->callstack_bottom - 1 -- the fuck does that mean?!
2011-11-02 13:23:07 -07:00
Joe Groff 1604c503ab vm: don't allocate callstack samples on data heap
Invoking a GC during a safepoint has some complications, so stuff the callstack samples in a vector instead.
2011-11-02 13:23:07 -07:00
Joe Groff 2ddfdda7b5 vm: groundwork for sampling profiler
Set up the state necessary to collect samples. We still need to add GC support for walking the sample set, and the compiler needs to register GC roots before safepoints as well. We also need primitives to expose the data to Factor for reporting.
2011-11-02 13:23:06 -07:00