]>
gitweb.factorcode.org Git - factor.git/log
Doug Coleman [Thu, 3 Nov 2011 00:20:18 +0000 (17:20 -0700)]
Add stack effects for the sampling profiler
Joe Groff [Thu, 3 Nov 2011 00:18:26 +0000 (17:18 -0700)]
oops, typo in factor.sh
Joe Groff [Thu, 3 Nov 2011 00:13:31 +0000 (17:13 -0700)]
remove BSD,solaris,etc. misc platform support code
Doug Coleman [Thu, 3 Nov 2011 00:01:43 +0000 (17:01 -0700)]
Unbreakify the new profiler, add a couple of unit tests to demonstrate displaying output.
Doug Coleman [Wed, 2 Nov 2011 23:47:53 +0000 (16:47 -0700)]
Add a unit test vocabulary for vocabs.loadeer.
Doug Coleman [Wed, 2 Nov 2011 23:47:27 +0000 (16:47 -0700)]
Keep the profiling results even when the quotation throws an exception.
Doug Coleman [Wed, 2 Nov 2011 23:47:10 +0000 (16:47 -0700)]
Use -reuseview in jedit by default.
Doug Coleman [Wed, 2 Nov 2011 23:30:00 +0000 (16:30 -0700)]
Clean up formatting, rename load-vocab-hook to require-hook. Add a unit test for vocabs.loader.
Doug Coleman [Wed, 2 Nov 2011 20:41:46 +0000 (13:41 -0700)]
Actually let the user pick an editor after editor protocol change.
Joe Groff [Wed, 2 Nov 2011 20:43:06 +0000 (13:43 -0700)]
sequences: relate max, min, supremum, infimum docs
Suggested by @yac. Closes #321.
Joe Groff [Wed, 2 Nov 2011 06:40:46 +0000 (23:40 -0700)]
vm: count samples during unoptimized compiler
Joe Groff [Wed, 2 Nov 2011 06:02:14 +0000 (23:02 -0700)]
vm: fix scrub-league assert abuse
Joe Groff [Wed, 2 Nov 2011 04:16:40 +0000 (21:16 -0700)]
vm: forgot to add atomic.hpp
Joe Groff [Wed, 2 Nov 2011 04:09:23 +0000 (21:09 -0700)]
hashtables.identity: test assoc-like
Joe Groff [Wed, 2 Nov 2011 04:01:40 +0000 (21:01 -0700)]
vm: separate 'current_gc_p' from 'current_gc'
The 'current_gc' handle doesn't need to be volatile, just the state of GC-ness
Joe Groff [Wed, 2 Nov 2011 04:00:46 +0000 (21:00 -0700)]
vm: add atomic::load and atomic::store functions
Abstract out the fence-and-load and store-and-fence patterns
Joe Groff [Wed, 2 Nov 2011 03:28:17 +0000 (20:28 -0700)]
tools.profiler.sampling: fix stack effect name
Joe Groff [Wed, 2 Nov 2011 03:24:17 +0000 (20:24 -0700)]
tools.profiler.sampling: make rate a global var
Joe Groff [Wed, 2 Nov 2011 03:18:52 +0000 (20:18 -0700)]
tools.profiler.sampling: groom flat profile
Joe Groff [Wed, 2 Nov 2011 02:39:54 +0000 (19:39 -0700)]
vm: sample thread object rather than raw context
Joe Groff [Wed, 2 Nov 2011 02:39:22 +0000 (19:39 -0700)]
tools.profiler.sampling: flat profile report
Joe Groff [Wed, 2 Nov 2011 02:39:00 +0000 (19:39 -0700)]
tools.profiler.sampling: smoke test compact-gc
Joe Groff [Wed, 2 Nov 2011 02:38:42 +0000 (19:38 -0700)]
hashtables.identity: support assoc-like
Joe Groff [Wed, 2 Nov 2011 01:53:37 +0000 (18:53 -0700)]
vm: sample code block owners instead of blocks
Joe Groff [Wed, 2 Nov 2011 01:24:27 +0000 (18:24 -0700)]
vm: fix data roots in get-samples primitive
Joe Groff [Wed, 2 Nov 2011 01:22:46 +0000 (18:22 -0700)]
vm: die if we fault in a fault
Joe Groff [Wed, 2 Nov 2011 00:52:35 +0000 (17:52 -0700)]
tools.profiler.sampling: add detail to profile.
Joe Groff [Tue, 1 Nov 2011 20:10:58 +0000 (13:10 -0700)]
tools.profiler.sampling: "top-down" and "profile."
Joe Groff [Tue, 1 Nov 2011 04:46:44 +0000 (21:46 -0700)]
vm: quell MSVC warnings
Joe Groff [Tue, 1 Nov 2011 04:31:41 +0000 (21:31 -0700)]
vm: parameterize sampling rate
Joe Groff [Tue, 1 Nov 2011 03:52:32 +0000 (20:52 -0700)]
help.handbook: update link to counting profiler
Joe Groff [Tue, 1 Nov 2011 03:52:18 +0000 (20:52 -0700)]
tools.profiler.sampling: smoke tests and metadata
Joe Groff [Tue, 1 Nov 2011 03:51:53 +0000 (20:51 -0700)]
vm: better organize atomics and sample counter
Joe Groff [Tue, 1 Nov 2011 03:00:51 +0000 (20:00 -0700)]
tools.profiler.counting: rename help article
Joe Groff [Tue, 1 Nov 2011 01:59:48 +0000 (18:59 -0700)]
tools.profiler.sampling: very basic frontend words
Joe Groff [Tue, 1 Nov 2011 01:55:41 +0000 (18:55 -0700)]
vm: fix comments mangled by find & replace
Joe Groff [Tue, 1 Nov 2011 01:55:21 +0000 (18:55 -0700)]
math.statistics: fix stack effect on collect-by
Joe Groff [Tue, 1 Nov 2011 01:27:51 +0000 (18:27 -0700)]
vm: factor out sample counting code
Joe Groff [Tue, 1 Nov 2011 00:43:18 +0000 (17:43 -0700)]
whitespace
Joe Groff [Tue, 1 Nov 2011 00:38:42 +0000 (17:38 -0700)]
vm: only show factorbug help the first time
Joe Groff [Mon, 31 Oct 2011 23:59:10 +0000 (16:59 -0700)]
vm: more accurate sample timing on windows
Joe Groff [Mon, 31 Oct 2011 23:50:21 +0000 (16:50 -0700)]
get sampler working under windows
Joe Groff [Mon, 31 Oct 2011 23:49:23 +0000 (16:49 -0700)]
fix platform dependency in leaf-signal-handler
Joe Groff [Mon, 31 Oct 2011 22:06:34 +0000 (15:06 -0700)]
vm: fix build on windows
Joe Groff [Mon, 31 Oct 2011 21:38:49 +0000 (14:38 -0700)]
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
Joe Groff [Mon, 31 Oct 2011 07:18:45 +0000 (00:18 -0700)]
Revert "syntax: make it so PRIMITIVE: verifies primitives"
This reverts commit
200ea70cffc4bdc74a97e4981442161f64cdbaa3 .
Joe Groff [Mon, 31 Oct 2011 07:17:01 +0000 (00:17 -0700)]
primitives: fix effect of (clear-samples)
Joe Groff [Mon, 31 Oct 2011 07:11:59 +0000 (00:11 -0700)]
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.
Joe Groff [Mon, 31 Oct 2011 07:10:30 +0000 (00:10 -0700)]
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.
Joe Groff [Mon, 31 Oct 2011 06:42:36 +0000 (23:42 -0700)]
vm: actually collect samples and add primitives...
Joe Groff [Mon, 31 Oct 2011 06:05:54 +0000 (23:05 -0700)]
add sampling profiler primitives for bootstrap
Joe Groff [Mon, 31 Oct 2011 06:05:31 +0000 (23:05 -0700)]
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.
Joe Groff [Mon, 31 Oct 2011 05:46:07 +0000 (22:46 -0700)]
move counting profiler to tools.profiler.counting
Joe Groff [Mon, 31 Oct 2011 05:30:55 +0000 (22:30 -0700)]
vm: add primitives to lift sample data to factor
Joe Groff [Mon, 31 Oct 2011 05:30:15 +0000 (22:30 -0700)]
vm: write back fixed-up code address to samples
Joe Groff [Mon, 31 Oct 2011 01:41:48 +0000 (18:41 -0700)]
vm: walk code roots from sample callstacks
Joe Groff [Mon, 31 Oct 2011 01:41:14 +0000 (18:41 -0700)]
vm: release memory used by sampler vectors
Joe Groff [Sun, 30 Oct 2011 01:13:22 +0000 (18:13 -0700)]
cpu.x86.bootstrap: simplify leaf-signal-handler
We can use RET (stack-frame-size - cell) instead of doing stack gymnastics.
Joe Groff [Sat, 29 Oct 2011 22:47:36 +0000 (15:47 -0700)]
vm: bottom_frame method for contexts
ctx->callstack_bottom - 1 -- the fuck does that mean?!
Joe Groff [Sat, 29 Oct 2011 21:41:48 +0000 (14:41 -0700)]
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.
Joe Groff [Fri, 28 Oct 2011 22:42:59 +0000 (15:42 -0700)]
vm: only show factorbug basic commands at first
"help" brings up the entire command list.
Joe Groff [Fri, 28 Oct 2011 22:42:33 +0000 (15:42 -0700)]
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.
Joe Groff [Fri, 28 Oct 2011 18:57:57 +0000 (11:57 -0700)]
tools.profiler: rename to tools.counting-profiler
Joe Groff [Fri, 28 Oct 2011 18:33:27 +0000 (11:33 -0700)]
vm: change "profiler" names to "counting_profiler"
Joe Groff [Wed, 2 Nov 2011 19:54:31 +0000 (12:54 -0700)]
constants for special object hardcoded literals
Doug Coleman [Wed, 2 Nov 2011 18:23:41 +0000 (11:23 -0700)]
Make "foo.private" require load foo instead.
Move require from vocabs.loader to vocabs. Update everything.
Fixes #201.
Doug Coleman [Wed, 2 Nov 2011 16:38:03 +0000 (09:38 -0700)]
Rename images.gtk|gdiplus|cocoa to images.loader.*. Fixes #176.
Doug Coleman [Wed, 2 Nov 2011 16:28:29 +0000 (09:28 -0700)]
Fix the fuel "No prompt found" bug using eungju's better fix; otherwise would just pull the patch.
Doug Coleman [Wed, 2 Nov 2011 16:15:32 +0000 (09:15 -0700)]
Fix typo in tests
Doug Coleman [Tue, 1 Nov 2011 23:46:02 +0000 (16:46 -0700)]
Don't test coverage of auto-generated class predicates. Get a better count of callabales in a word to fix %coverage.
Doug Coleman [Mon, 31 Oct 2011 18:53:07 +0000 (11:53 -0700)]
Make editors use the new path-finding vocabulary and protocol.
Implement io.standard-paths on Windows.
Joe Groff [Mon, 31 Oct 2011 18:07:17 +0000 (11:07 -0700)]
io.encodings.string: make binary decode/encode nop
Fixes #319.
Slava Pestov [Mon, 31 Oct 2011 07:24:04 +0000 (00:24 -0700)]
Move definition of 't' from syntax to bootstrap/primitives to fix bootstrap, now that 't' really has to be a class early
Slava Pestov [Mon, 31 Oct 2011 04:49:23 +0000 (21:49 -0700)]
math.vectors.simd: vlshift, vrshift, hlshift and hrshift were being miscompiled if the shift count was a bignum. Fixes #264
Doug Coleman [Mon, 31 Oct 2011 03:47:16 +0000 (20:47 -0700)]
Use +new-group+ in all processes launched in mason.
Doug Coleman [Sun, 30 Oct 2011 23:10:27 +0000 (16:10 -0700)]
Find the macvim bundle or use mvim. Add a flag for -g option to vim.
Doug Coleman [Sun, 30 Oct 2011 22:13:50 +0000 (15:13 -0700)]
Add core-foundation.launch-services for finding the path of a bundle. Add a new standard-paths vocabulary for finding files.
Slava Pestov [Sun, 30 Oct 2011 00:25:51 +0000 (17:25 -0700)]
bootstrap-error.factor: vocab => lookup-vocab
Slava Pestov [Sun, 30 Oct 2011 00:15:49 +0000 (17:15 -0700)]
tools.deploy: fix unit test
Slava Pestov [Sun, 30 Oct 2011 00:15:35 +0000 (17:15 -0700)]
stack-checker.known-words: add effects for signal-handler and leaf-signal-handler primitives, even though they can't be called directly
Slava Pestov [Sun, 30 Oct 2011 00:10:51 +0000 (17:10 -0700)]
compiler.cfg.builder: add test to ensure that fast union predicates do not contain a conditional
Slava Pestov [Sun, 30 Oct 2011 00:10:27 +0000 (17:10 -0700)]
compiler.tree.propagation: more accurate output type for 'tag' primitive
Slava Pestov [Sun, 30 Oct 2011 00:09:56 +0000 (17:09 -0700)]
classes.union: unions of built-in types now have more efficient predicates. Fixes #292
Slava Pestov [Sat, 29 Oct 2011 23:24:28 +0000 (16:24 -0700)]
compiler.tree.debugger: disable length limit when printing optimized. quotation
Doug Coleman [Sat, 29 Oct 2011 22:27:08 +0000 (15:27 -0700)]
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.
Slava Pestov [Sat, 29 Oct 2011 22:26:52 +0000 (15:26 -0700)]
help.html: I give up with the article name escaping. Just compute a SHA1 hash and use that as the file name. Fixes #309
Slava Pestov [Sat, 29 Oct 2011 22:11:30 +0000 (15:11 -0700)]
help.html: simpler stylesheet for navbar to give it a consistent look. Fixes #310
Slava Pestov [Sat, 29 Oct 2011 22:11:01 +0000 (15:11 -0700)]
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
Slava Pestov [Sat, 29 Oct 2011 21:55:06 +0000 (14:55 -0700)]
ui.gadgets.editors: fix wonky word names. Fixes #277
Slava Pestov [Sat, 29 Oct 2011 21:47:33 +0000 (14:47 -0700)]
Revert "ui.gadgets.editors: implement Ctrl-A/E/K to be more compatible."
This reverts commit
6a096a1e71365be166151972b6d858d36578ec04 .
Slava Pestov [Sat, 29 Oct 2011 21:47:14 +0000 (14:47 -0700)]
Revert "ui.gadgets.editors: windows doesn't work like macosx."
This reverts commit
cf1d12ce783df5d4ea379b4d54eeaaff08c6feac .
Doug Coleman [Sat, 29 Oct 2011 22:13:45 +0000 (15:13 -0700)]
Change order or articles in io.launcher.
Doug Coleman [Sat, 29 Oct 2011 22:10:42 +0000 (15:10 -0700)]
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.
Doug Coleman [Sat, 29 Oct 2011 19:20:02 +0000 (12:20 -0700)]
Add edit-file and edit-vocab words and make edit on strings call
edit-vocab.
Doug Coleman [Sat, 29 Oct 2011 09:47:10 +0000 (02:47 -0700)]
Add options to set the child process group id or session for Unix. This fixes part of #307.
Doug Coleman [Sat, 29 Oct 2011 08:11:19 +0000 (01:11 -0700)]
Remove the lexer-factory because nothing uses it. Update usages.
Doug Coleman [Sat, 29 Oct 2011 08:01:59 +0000 (01:01 -0700)]
Add a toggle word to namespaces and update docs, tests, and usages. Document with-global too.
Doug Coleman [Sat, 29 Oct 2011 07:08:35 +0000 (00:08 -0700)]
Change prompt to something we can copy/paste back into the Factor repl. Add auto-use word. Fixes #301.
Doug Coleman [Sat, 29 Oct 2011 06:39:40 +0000 (23:39 -0700)]
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.
Doug Coleman [Sat, 29 Oct 2011 05:48:55 +0000 (22:48 -0700)]
factor.sh: Make net-bootstrap recompile the vm, add make_clean_factor function