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
Slava Pestov
41c5e41619
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
0f5a65ea51
compiler.tree.propagation: more accurate output type for 'tag' primitive
2011-10-29 17:11:04 -07:00
Slava Pestov
52cf183e4e
classes.union: unions of built-in types now have more efficient predicates. Fixes #292
2011-10-29 17:11:03 -07:00
Slava Pestov
bf533d7d8d
compiler.tree.debugger: disable length limit when printing optimized. quotation
2011-10-29 17:11:03 -07:00
Doug Coleman
6e4964df67
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
5d94205509
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
1ee0a1944b
help.html: simpler stylesheet for navbar to give it a consistent look. Fixes #310
2011-10-29 15:27:27 -07:00
Slava Pestov
83bac51831
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
3468ff385c
ui.gadgets.editors: fix wonky word names. Fixes #277
2011-10-29 15:27:27 -07:00
Slava Pestov
826112c5a1
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
281ff6b7a3
Revert "ui.gadgets.editors: windows doesn't work like macosx."
...
This reverts commit cf1d12ce78 .
2011-10-29 15:27:27 -07:00
Doug Coleman
1353d98a22
Change order or articles in io.launcher.
2011-10-29 15:13:45 -07:00