Joe Groff
d4ae1e35a6
help.handbook: update link to counting profiler
2011-11-02 13:23:15 -07:00
Joe Groff
f50eaca6d5
tools.profiler.sampling: smoke tests and metadata
2011-11-02 13:23:15 -07:00
Joe Groff
66356c1d24
vm: better organize atomics and sample counter
2011-11-02 13:23:15 -07:00
Joe Groff
ab73f527d3
tools.profiler.counting: rename help article
2011-11-02 13:23:14 -07:00
Joe Groff
3241191fd9
tools.profiler.sampling: very basic frontend words
2011-11-02 13:23:14 -07:00
Joe Groff
126ec38ceb
vm: fix comments mangled by find & replace
2011-11-02 13:23:14 -07:00
Joe Groff
1bd0c5910f
math.statistics: fix stack effect on collect-by
2011-11-02 13:23:13 -07:00
Joe Groff
52bcbe55cf
vm: factor out sample counting code
2011-11-02 13:23:13 -07:00
Joe Groff
2e1ad8fd8a
whitespace
2011-11-02 13:23:13 -07:00
Joe Groff
b89335df71
vm: only show factorbug help the first time
2011-11-02 13:23:13 -07:00
Joe Groff
8218e82ccc
vm: more accurate sample timing on windows
2011-11-02 13:23:12 -07:00
Joe Groff
6d922c70a9
get sampler working under windows
2011-11-02 13:23:12 -07:00
Joe Groff
a3979cd123
fix platform dependency in leaf-signal-handler
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
c8aab6659d
Revert "syntax: make it so PRIMITIVE: verifies primitives"
...
This reverts commit 200ea70cffc4bdc74a97e4981442161f64cdbaa3.
2011-11-02 13:23:11 -07:00
Joe Groff
b3c0064012
primitives: fix effect of (clear-samples)
2011-11-02 13:23:11 -07:00
Joe Groff
a02816f075
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
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
5dfa6f037b
vm: actually collect samples and add primitives...
2011-11-02 13:23:10 -07:00
Joe Groff
3c7bd83230
add sampling profiler primitives for bootstrap
2011-11-02 13:23:10 -07:00
Joe Groff
a834ebd493
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
9c02c17cb8
move counting profiler to tools.profiler.counting
2011-11-02 13:23:09 -07:00
Joe Groff
1ab4871fcc
vm: add primitives to lift sample data to factor
2011-11-02 13:23:09 -07:00
Joe Groff
22b1c51b64
vm: write back fixed-up code address to samples
2011-11-02 13:23:09 -07:00
Joe Groff
89d5236980
vm: walk code roots from sample callstacks
2011-11-02 13:23:08 -07:00
Joe Groff
cb2e87ecde
vm: release memory used by sampler vectors
2011-11-02 13:23:08 -07:00
Joe Groff
0ee07f1f2a
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
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
c6da65cba2
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
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
Joe Groff
4ab6d18cbd
tools.profiler: rename to tools.counting-profiler
2011-11-02 13:23:06 -07:00
Joe Groff
12a4c7a538
vm: change "profiler" names to "counting_profiler"
2011-11-02 13:23:05 -07:00
Joe Groff
8aebe4677b
constants for special object hardcoded literals
2011-11-02 12:54:50 -07:00
Doug Coleman
be12f2b27d
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
caa71f1c98
Rename images.gtk|gdiplus|cocoa to images.loader.*. Fixes #176 .
2011-11-02 09:38:03 -07:00
Doug Coleman
cdd80be3cf
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
5343b8e749
Fix typo in tests
2011-11-02 09:15:32 -07:00
Doug Coleman
a0e0146ff7
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
83ddce705d
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
7f94e07180
io.encodings.string: make binary decode/encode nop
...
Fixes #319 .
2011-10-31 11:07:44 -07:00
Slava Pestov
eec7602aed
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
b8f0ffe5c4
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
3bf0f111b3
Use +new-group+ in all processes launched in mason.
2011-10-30 20:47:16 -07:00
Doug Coleman
668f2e4a5e
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
4dce315490
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
Slava Pestov
6be5714d43
bootstrap-error.factor: vocab => lookup-vocab
2011-10-29 17:25:51 -07:00
Slava Pestov
bf2046d6d7
tools.deploy: fix unit test
2011-10-29 17:15:49 -07:00
Slava Pestov
2b49393a56
stack-checker.known-words: add effects for signal-handler and leaf-signal-handler primitives, even though they can't be called directly
2011-10-29 17:15:35 -07:00