Commit Graph

9 Commits (b40d68017d99d1c8f823c0d816f5c2baba82a027)

Author SHA1 Message Date
Joe Groff ba88cbbe51 vm: charge samples collected in prolog to parent
Fixes #379
2011-11-23 11:11:26 -08:00
Joe Groff 6b2a34fdc6 vm: count samples during unoptimized compiler 2011-11-02 13:23:21 -07:00
Joe Groff b0f6dbddec vm: sample thread object rather than raw context 2011-11-02 13:23:18 -07:00
Joe Groff d7bc7ae4bf vm: parameterize sampling rate 2011-11-02 13:23:15 -07:00
Joe Groff 52bcbe55cf vm: factor out sample counting code 2011-11-02 13:23:13 -07:00
Joe Groff c0e4458733 vm: fix build on windows 2011-11-02 13:23:12 -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 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