Commit Graph

22860 Commits (f3c8423382a27b4a93bd434cbff1fa5cfa7bff6b)

Author SHA1 Message Date
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
Doug Coleman ff27f2c3f7 Change order or articles in io.launcher. 2011-10-29 15:13:45 -07:00
Doug Coleman 5594e82492 Clean up editors.*vim so that it runs detached with gvim and there is less
code duplication. Use mvim on mac. Remove gvim.unix vocabulary since it
doesn't do anything besides return "gvim" as the path.
2011-10-29 15:10:42 -07:00
Doug Coleman 8205caa5ca Add edit-file and edit-vocab words and make edit on strings call
edit-vocab.
2011-10-29 13:35:13 -07:00
Doug Coleman eb7fd4a69b Add options to set the child process group id or session for Unix. This fixes part of #307. 2011-10-29 02:47:10 -07:00
Doug Coleman dc0a921866 Remove the lexer-factory because nothing uses it. Update usages. 2011-10-29 01:11:19 -07:00
Doug Coleman 53c6d08b54 Add a toggle word to namespaces and update docs, tests, and usages. Document with-global too. 2011-10-29 01:05:38 -07:00
Doug Coleman b43c069b81 Change prompt to something we can copy/paste back into the Factor repl. Add auto-use word. Fixes #301. 2011-10-29 01:05:38 -07:00
Doug Coleman aa7f22edc0 Cleanup vocab name validation. Vocab names and vocab prefixes are the same concept, and by disallowing slashes, spaces, and colon, we automatically check for absolute paths. Unit test this. 2011-10-29 01:05:37 -07:00