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
Slava Pestov
136ffc0671
bootstrap-error.factor: vocab => lookup-vocab
2011-10-29 17:25:51 -07:00
Slava Pestov
258b9590a2
tools.deploy: fix unit test
2011-10-29 17:15:49 -07:00
Slava Pestov
c1b7de8339
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
Slava Pestov
70056d756b
compiler.cfg.builder: add test to ensure that fast union predicates do not contain a conditional
2011-10-29 17:11:04 -07:00
Slava Pestov
5a46b45312
compiler.tree.propagation: more accurate output type for 'tag' primitive
2011-10-29 17:11:04 -07:00
Slava Pestov
c14f0ef698
classes.union: unions of built-in types now have more efficient predicates. Fixes #292
2011-10-29 17:11:03 -07:00
Slava Pestov
e5a308d56a
compiler.tree.debugger: disable length limit when printing optimized. quotation
2011-10-29 17:11:03 -07:00
Doug Coleman
a1878ea818
Look for mvim on mac and use 'open -a MacVim' if it's not in the path. Since 'open -a macvim' doesn't support command line options, add a generic for opening to a line or not.
2011-10-29 15:31:06 -07:00
Slava Pestov
99b4752c57
help.html: I give up with the article name escaping. Just compute a SHA1 hash and use that as the file name. Fixes #309
2011-10-29 15:27:27 -07:00
Slava Pestov
914a4aee09
help.html: simpler stylesheet for navbar to give it a consistent look. Fixes #310
2011-10-29 15:27:27 -07:00
Slava Pestov
650fdc8fe5
help.html: use GET not POST for search form, so that the search term appears in the URL, and to make the back button work. Fixes #312
2011-10-29 15:27:27 -07:00
Slava Pestov
4c3c4f177b
ui.gadgets.editors: fix wonky word names. Fixes #277
2011-10-29 15:27:27 -07:00
Slava Pestov
0285de7e7d
Revert "ui.gadgets.editors: implement Ctrl-A/E/K to be more compatible."
...
This reverts commit 6a096a1e71
.
2011-10-29 15:27:27 -07:00
Slava Pestov
d212b18be3
Revert "ui.gadgets.editors: windows doesn't work like macosx."
...
This reverts commit cf1d12ce78
.
2011-10-29 15:27:27 -07:00