Joe Groff
d4736d4e3a
tools.profiler.sampling: "top-down" and "profile."
2011-11-02 13:23:16 -07:00
Joe Groff
29fa23c40a
vm: quell MSVC warnings
2011-11-02 13:23:16 -07:00
Joe Groff
30ed9b535b
vm: parameterize sampling rate
2011-11-02 13:23:15 -07:00
Joe Groff
43c832c991
help.handbook: update link to counting profiler
2011-11-02 13:23:15 -07:00
Joe Groff
87316ae28f
tools.profiler.sampling: smoke tests and metadata
2011-11-02 13:23:15 -07:00
Joe Groff
799053661e
vm: better organize atomics and sample counter
2011-11-02 13:23:15 -07:00
Joe Groff
6d3d8392d1
tools.profiler.counting: rename help article
2011-11-02 13:23:14 -07:00
Joe Groff
eb749bb535
tools.profiler.sampling: very basic frontend words
2011-11-02 13:23:14 -07:00
Joe Groff
89ea69b61b
vm: fix comments mangled by find & replace
2011-11-02 13:23:14 -07:00
Joe Groff
38a5184fdf
math.statistics: fix stack effect on collect-by
2011-11-02 13:23:13 -07:00
Joe Groff
27ac4c60f4
vm: factor out sample counting code
2011-11-02 13:23:13 -07:00
Joe Groff
baebb317e4
whitespace
2011-11-02 13:23:13 -07:00
Joe Groff
34ea20beca
vm: only show factorbug help the first time
2011-11-02 13:23:13 -07:00
Joe Groff
1a665f3eac
vm: more accurate sample timing on windows
2011-11-02 13:23:12 -07:00
Joe Groff
d9afe92c97
get sampler working under windows
2011-11-02 13:23:12 -07:00
Joe Groff
252915a37c
fix platform dependency in leaf-signal-handler
2011-11-02 13:23:12 -07:00
Joe Groff
abaa051768
vm: fix build on windows
2011-11-02 13:23:12 -07:00
Joe Groff
1351e30e52
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
981862f35e
Revert "syntax: make it so PRIMITIVE: verifies primitives"
...
This reverts commit 200ea70cffc4bdc74a97e4981442161f64cdbaa3.
2011-11-02 13:23:11 -07:00
Joe Groff
a08ba5103a
primitives: fix effect of (clear-samples)
2011-11-02 13:23:11 -07:00
Joe Groff
125c46c10f
vm: stub out windows sampling timer implementation
...
AFAIK Windows has no equivalent to setitimer. We'll probably need to use a thread that periodically pauses and samples the main VM thread.
2011-11-02 13:23:10 -07:00
Joe Groff
f5cdfaeb2a
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
27d7e4af53
vm: actually collect samples and add primitives...
2011-11-02 13:23:10 -07:00
Joe Groff
5b6fb25ffd
add sampling profiler primitives for bootstrap
2011-11-02 13:23:10 -07:00
Joe Groff
c0b26a2781
syntax: make it so PRIMITIVE: verifies primitives
...
It's a bit strange for disparate vocabs to reference words that get created out of thin air during bootstrap, so this lets there be some trace in the seeded vocab source that there was a word created there.
2011-11-02 13:23:09 -07:00
Joe Groff
eac90675c0
move counting profiler to tools.profiler.counting
2011-11-02 13:23:09 -07:00
Joe Groff
e10c3183c8
vm: add primitives to lift sample data to factor
2011-11-02 13:23:09 -07:00
Joe Groff
3dd17537eb
vm: write back fixed-up code address to samples
2011-11-02 13:23:09 -07:00
Joe Groff
e3e2788414
vm: walk code roots from sample callstacks
2011-11-02 13:23:08 -07:00
Joe Groff
1089816b21
vm: release memory used by sampler vectors
2011-11-02 13:23:08 -07:00
Joe Groff
9f6f36fdec
cpu.x86.bootstrap: simplify leaf-signal-handler
...
We can use RET (stack-frame-size - cell) instead of doing stack gymnastics.
2011-11-02 13:23:08 -07:00
Joe Groff
40bc8459db
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
be5c7476d7
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
b341b0ce13
vm: only show factorbug basic commands at first
...
"help" brings up the entire command list.
2011-11-02 13:23:07 -07:00
Joe Groff
80fb7788d9
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
Joe Groff
33919b2919
tools.profiler: rename to tools.counting-profiler
2011-11-02 13:23:06 -07:00
Joe Groff
cdfb1b1b94
vm: change "profiler" names to "counting_profiler"
2011-11-02 13:23:05 -07:00
Joe Groff
186bf65a00
constants for special object hardcoded literals
2011-11-02 12:54:50 -07:00
Doug Coleman
94db86a6db
Make "foo.private" require load foo instead.
...
Move require from vocabs.loader to vocabs. Update everything.
Fixes #201 .
2011-11-02 11:50:03 -07:00
Doug Coleman
359c931d35
Rename images.gtk|gdiplus|cocoa to images.loader.*. Fixes #176 .
2011-11-02 09:38:03 -07:00
Doug Coleman
6c15e97597
Fix the fuel "No prompt found" bug using eungju's better fix; otherwise would just pull the patch.
2011-11-02 09:28:29 -07:00
Doug Coleman
c44a998ef4
Fix typo in tests
2011-11-02 09:15:32 -07:00
Doug Coleman
4002945c09
Don't test coverage of auto-generated class predicates. Get a better count of callabales in a word to fix %coverage.
2011-11-01 17:13:11 -07:00
Doug Coleman
a647df58f6
Make editors use the new path-finding vocabulary and protocol.
...
Implement io.standard-paths on Windows.
2011-10-31 13:16:37 -07:00
Joe Groff
bf0c7eaa22
io.encodings.string: make binary decode/encode nop
...
Fixes #319 .
2011-10-31 11:07:44 -07:00
Slava Pestov
f827b74a11
Move definition of 't' from syntax to bootstrap/primitives to fix bootstrap, now that 't' really has to be a class early
2011-10-31 00:24:26 -07:00
Slava Pestov
b31ffdfcb4
math.vectors.simd: vlshift, vrshift, hlshift and hrshift were being miscompiled if the shift count was a bignum. Fixes #264
2011-10-30 21:50:17 -07:00
Doug Coleman
3b92ff881c
Use +new-group+ in all processes launched in mason.
2011-10-30 20:47:16 -07:00
Doug Coleman
0774944b8d
Find the macvim bundle or use mvim. Add a flag for -g option to vim.
2011-10-30 16:11:18 -07:00
Doug Coleman
ada631c202
Add core-foundation.launch-services for finding the path of a bundle. Add a new standard-paths vocabulary for finding files.
2011-10-30 16:11:18 -07:00