Commit Graph

22929 Commits (2f0efb62e87c8e1f45d967ee2986b51ccc12c7b7)

Author SHA1 Message Date
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