]> gitweb.factorcode.org Git - factor.git/log
factor.git
12 years agoAdd stack effects for the sampling profiler
Doug Coleman [Thu, 3 Nov 2011 00:20:18 +0000 (17:20 -0700)]
Add stack effects for the sampling profiler

12 years agooops, typo in factor.sh
Joe Groff [Thu, 3 Nov 2011 00:18:26 +0000 (17:18 -0700)]
oops, typo in factor.sh

12 years agoremove BSD,solaris,etc. misc platform support code
Joe Groff [Thu, 3 Nov 2011 00:13:31 +0000 (17:13 -0700)]
remove BSD,solaris,etc. misc platform support code

12 years agoUnbreakify the new profiler, add a couple of unit tests to demonstrate displaying...
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.

12 years agoAdd a unit test vocabulary for vocabs.loadeer.
Doug Coleman [Wed, 2 Nov 2011 23:47:53 +0000 (16:47 -0700)]
Add a unit test vocabulary for vocabs.loadeer.

12 years agoKeep the profiling results even when the quotation throws an exception.
Doug Coleman [Wed, 2 Nov 2011 23:47:27 +0000 (16:47 -0700)]
Keep the profiling results even when the quotation throws an exception.

12 years agoUse -reuseview in jedit by default.
Doug Coleman [Wed, 2 Nov 2011 23:47:10 +0000 (16:47 -0700)]
Use -reuseview in jedit by default.

12 years agoClean up formatting, rename load-vocab-hook to require-hook. Add a unit test for...
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.

12 years agoActually let the user pick an editor after editor protocol change.
Doug Coleman [Wed, 2 Nov 2011 20:41:46 +0000 (13:41 -0700)]
Actually let the user pick an editor after editor protocol change.

12 years agosequences: relate max, min, supremum, infimum docs
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.

12 years agovm: count samples during unoptimized compiler
Joe Groff [Wed, 2 Nov 2011 06:40:46 +0000 (23:40 -0700)]
vm: count samples during unoptimized compiler

12 years agovm: fix scrub-league assert abuse
Joe Groff [Wed, 2 Nov 2011 06:02:14 +0000 (23:02 -0700)]
vm: fix scrub-league assert abuse

12 years agovm: forgot to add atomic.hpp
Joe Groff [Wed, 2 Nov 2011 04:16:40 +0000 (21:16 -0700)]
vm: forgot to add atomic.hpp

12 years agohashtables.identity: test assoc-like
Joe Groff [Wed, 2 Nov 2011 04:09:23 +0000 (21:09 -0700)]
hashtables.identity: test assoc-like

12 years agovm: separate 'current_gc_p' from 'current_gc'
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

12 years agovm: add atomic::load and atomic::store functions
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

12 years agotools.profiler.sampling: fix stack effect name
Joe Groff [Wed, 2 Nov 2011 03:28:17 +0000 (20:28 -0700)]
tools.profiler.sampling: fix stack effect name

12 years agotools.profiler.sampling: make rate a global var
Joe Groff [Wed, 2 Nov 2011 03:24:17 +0000 (20:24 -0700)]
tools.profiler.sampling: make rate a global var

12 years agotools.profiler.sampling: groom flat profile
Joe Groff [Wed, 2 Nov 2011 03:18:52 +0000 (20:18 -0700)]
tools.profiler.sampling: groom flat profile

12 years agovm: sample thread object rather than raw context
Joe Groff [Wed, 2 Nov 2011 02:39:54 +0000 (19:39 -0700)]
vm: sample thread object rather than raw context

12 years agotools.profiler.sampling: flat profile report
Joe Groff [Wed, 2 Nov 2011 02:39:22 +0000 (19:39 -0700)]
tools.profiler.sampling: flat profile report

12 years agotools.profiler.sampling: smoke test compact-gc
Joe Groff [Wed, 2 Nov 2011 02:39:00 +0000 (19:39 -0700)]
tools.profiler.sampling: smoke test compact-gc

12 years agohashtables.identity: support assoc-like
Joe Groff [Wed, 2 Nov 2011 02:38:42 +0000 (19:38 -0700)]
hashtables.identity: support assoc-like

12 years agovm: sample code block owners instead of blocks
Joe Groff [Wed, 2 Nov 2011 01:53:37 +0000 (18:53 -0700)]
vm: sample code block owners instead of blocks

12 years agovm: fix data roots in get-samples primitive
Joe Groff [Wed, 2 Nov 2011 01:24:27 +0000 (18:24 -0700)]
vm: fix data roots in get-samples primitive

12 years agovm: die if we fault in a fault
Joe Groff [Wed, 2 Nov 2011 01:22:46 +0000 (18:22 -0700)]
vm: die if we fault in a fault

12 years agotools.profiler.sampling: add detail to profile.
Joe Groff [Wed, 2 Nov 2011 00:52:35 +0000 (17:52 -0700)]
tools.profiler.sampling: add detail to profile.

12 years agotools.profiler.sampling: "top-down" and "profile."
Joe Groff [Tue, 1 Nov 2011 20:10:58 +0000 (13:10 -0700)]
tools.profiler.sampling: "top-down" and "profile."

12 years agovm: quell MSVC warnings
Joe Groff [Tue, 1 Nov 2011 04:46:44 +0000 (21:46 -0700)]
vm: quell MSVC warnings

12 years agovm: parameterize sampling rate
Joe Groff [Tue, 1 Nov 2011 04:31:41 +0000 (21:31 -0700)]
vm: parameterize sampling rate

12 years agohelp.handbook: update link to counting profiler
Joe Groff [Tue, 1 Nov 2011 03:52:32 +0000 (20:52 -0700)]
help.handbook: update link to counting profiler

12 years agotools.profiler.sampling: smoke tests and metadata
Joe Groff [Tue, 1 Nov 2011 03:52:18 +0000 (20:52 -0700)]
tools.profiler.sampling: smoke tests and metadata

12 years agovm: better organize atomics and sample counter
Joe Groff [Tue, 1 Nov 2011 03:51:53 +0000 (20:51 -0700)]
vm: better organize atomics and sample counter

12 years agotools.profiler.counting: rename help article
Joe Groff [Tue, 1 Nov 2011 03:00:51 +0000 (20:00 -0700)]
tools.profiler.counting: rename help article

12 years agotools.profiler.sampling: very basic frontend words
Joe Groff [Tue, 1 Nov 2011 01:59:48 +0000 (18:59 -0700)]
tools.profiler.sampling: very basic frontend words

12 years agovm: fix comments mangled by find & replace
Joe Groff [Tue, 1 Nov 2011 01:55:41 +0000 (18:55 -0700)]
vm: fix comments mangled by find & replace

12 years agomath.statistics: fix stack effect on collect-by
Joe Groff [Tue, 1 Nov 2011 01:55:21 +0000 (18:55 -0700)]
math.statistics: fix stack effect on collect-by

12 years agovm: factor out sample counting code
Joe Groff [Tue, 1 Nov 2011 01:27:51 +0000 (18:27 -0700)]
vm: factor out sample counting code

12 years agowhitespace
Joe Groff [Tue, 1 Nov 2011 00:43:18 +0000 (17:43 -0700)]
whitespace

12 years agovm: only show factorbug help the first time
Joe Groff [Tue, 1 Nov 2011 00:38:42 +0000 (17:38 -0700)]
vm: only show factorbug help the first time

12 years agovm: more accurate sample timing on windows
Joe Groff [Mon, 31 Oct 2011 23:59:10 +0000 (16:59 -0700)]
vm: more accurate sample timing on windows

12 years agoget sampler working under windows
Joe Groff [Mon, 31 Oct 2011 23:50:21 +0000 (16:50 -0700)]
get sampler working under windows

12 years agofix platform dependency in leaf-signal-handler
Joe Groff [Mon, 31 Oct 2011 23:49:23 +0000 (16:49 -0700)]
fix platform dependency in leaf-signal-handler

12 years agovm: fix build on windows
Joe Groff [Mon, 31 Oct 2011 22:06:34 +0000 (15:06 -0700)]
vm: fix build on windows

12 years agovm: sampling profiler timer for 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

12 years agoRevert "syntax: make it so PRIMITIVE: verifies primitives"
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.

12 years agoprimitives: fix effect of (clear-samples)
Joe Groff [Mon, 31 Oct 2011 07:17:01 +0000 (00:17 -0700)]
primitives: fix effect of (clear-samples)

12 years agovm: stub out windows sampling timer implementation
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.

12 years agovm: count samples from foreign threads
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.

12 years agovm: actually collect samples and add primitives...
Joe Groff [Mon, 31 Oct 2011 06:42:36 +0000 (23:42 -0700)]
vm: actually collect samples and add primitives...

12 years agoadd sampling profiler primitives for bootstrap
Joe Groff [Mon, 31 Oct 2011 06:05:54 +0000 (23:05 -0700)]
add sampling profiler primitives for bootstrap

12 years agosyntax: make it so PRIMITIVE: verifies primitives
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.

12 years agomove counting profiler to tools.profiler.counting
Joe Groff [Mon, 31 Oct 2011 05:46:07 +0000 (22:46 -0700)]
move counting profiler to tools.profiler.counting

12 years agovm: add primitives to lift sample data to factor
Joe Groff [Mon, 31 Oct 2011 05:30:55 +0000 (22:30 -0700)]
vm: add primitives to lift sample data to factor

12 years agovm: write back fixed-up code address to samples
Joe Groff [Mon, 31 Oct 2011 05:30:15 +0000 (22:30 -0700)]
vm: write back fixed-up code address to samples

12 years agovm: walk code roots from sample callstacks
Joe Groff [Mon, 31 Oct 2011 01:41:48 +0000 (18:41 -0700)]
vm: walk code roots from sample callstacks

12 years agovm: release memory used by sampler vectors
Joe Groff [Mon, 31 Oct 2011 01:41:14 +0000 (18:41 -0700)]
vm: release memory used by sampler vectors

12 years agocpu.x86.bootstrap: simplify leaf-signal-handler
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.

12 years agovm: bottom_frame method for contexts
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?!

12 years agovm: don't allocate callstack samples on data heap
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.

12 years agovm: only show factorbug basic commands at first
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.

12 years agovm: groundwork for sampling profiler
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.

12 years agotools.profiler: rename to tools.counting-profiler
Joe Groff [Fri, 28 Oct 2011 18:57:57 +0000 (11:57 -0700)]
tools.profiler: rename to tools.counting-profiler

12 years agovm: change "profiler" names to "counting_profiler"
Joe Groff [Fri, 28 Oct 2011 18:33:27 +0000 (11:33 -0700)]
vm: change "profiler" names to "counting_profiler"

12 years agoconstants for special object hardcoded literals
Joe Groff [Wed, 2 Nov 2011 19:54:31 +0000 (12:54 -0700)]
constants for special object hardcoded literals

12 years agoMake "foo.private" require load foo instead.
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.

12 years agoRename images.gtk|gdiplus|cocoa to images.loader.*. Fixes #176.
Doug Coleman [Wed, 2 Nov 2011 16:38:03 +0000 (09:38 -0700)]
Rename images.gtk|gdiplus|cocoa to images.loader.*. Fixes #176.

12 years agoFix the fuel "No prompt found" bug using eungju's better fix; otherwise would just...
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.

12 years agoFix typo in tests
Doug Coleman [Wed, 2 Nov 2011 16:15:32 +0000 (09:15 -0700)]
Fix typo in tests

12 years agoDon't test coverage of auto-generated class predicates. Get a better count of callaba...
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.

12 years agoMake editors use the new path-finding vocabulary and protocol.
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.

12 years agoio.encodings.string: make binary decode/encode nop
Joe Groff [Mon, 31 Oct 2011 18:07:17 +0000 (11:07 -0700)]
io.encodings.string: make binary decode/encode nop
Fixes #319.

12 years agoMove definition of 't' from syntax to bootstrap/primitives to fix bootstrap, now...
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

12 years agomath.vectors.simd: vlshift, vrshift, hlshift and hrshift were being miscompiled if...
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

12 years agoUse +new-group+ in all processes launched in mason.
Doug Coleman [Mon, 31 Oct 2011 03:47:16 +0000 (20:47 -0700)]
Use +new-group+ in all processes launched in mason.

12 years agoFind the macvim bundle or use mvim. Add a flag for -g option to vim.
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.

12 years agoAdd core-foundation.launch-services for finding the path of a bundle. Add a new stand...
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.

12 years agobootstrap-error.factor: vocab => lookup-vocab
Slava Pestov [Sun, 30 Oct 2011 00:25:51 +0000 (17:25 -0700)]
bootstrap-error.factor: vocab => lookup-vocab

12 years agotools.deploy: fix unit test
Slava Pestov [Sun, 30 Oct 2011 00:15:49 +0000 (17:15 -0700)]
tools.deploy: fix unit test

12 years agostack-checker.known-words: add effects for signal-handler and leaf-signal-handler...
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

12 years agocompiler.cfg.builder: add test to ensure that fast union predicates do not contain...
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

12 years agocompiler.tree.propagation: more accurate output type for 'tag' primitive
Slava Pestov [Sun, 30 Oct 2011 00:10:27 +0000 (17:10 -0700)]
compiler.tree.propagation: more accurate output type for 'tag' primitive

12 years agoclasses.union: unions of built-in types now have more efficient predicates. Fixes...
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

12 years agocompiler.tree.debugger: disable length limit when printing optimized. quotation
Slava Pestov [Sat, 29 Oct 2011 23:24:28 +0000 (16:24 -0700)]
compiler.tree.debugger: disable length limit when printing optimized. quotation

12 years agoLook for mvim on mac and use 'open -a MacVim' if it's not in the path. Since 'open...
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.

12 years agohelp.html: I give up with the article name escaping. Just compute a SHA1 hash and...
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

12 years agohelp.html: simpler stylesheet for navbar to give it a consistent look. Fixes #310
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

12 years agohelp.html: use GET not POST for search form, so that the search term appears in the...
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

12 years agoui.gadgets.editors: fix wonky word names. Fixes #277
Slava Pestov [Sat, 29 Oct 2011 21:55:06 +0000 (14:55 -0700)]
ui.gadgets.editors: fix wonky word names. Fixes #277

12 years agoRevert "ui.gadgets.editors: implement Ctrl-A/E/K to be more compatible."
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.

12 years agoRevert "ui.gadgets.editors: windows doesn't work like macosx."
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.

12 years agoChange order or articles in io.launcher.
Doug Coleman [Sat, 29 Oct 2011 22:13:45 +0000 (15:13 -0700)]
Change order or articles in io.launcher.

12 years agoClean up editors.*vim so that it runs detached with gvim and there is less
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.

12 years agoAdd edit-file and edit-vocab words and make edit on strings call
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.

12 years agoAdd options to set the child process group id or session for Unix. This fixes part...
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.

12 years agoRemove the lexer-factory because nothing uses it. Update usages.
Doug Coleman [Sat, 29 Oct 2011 08:11:19 +0000 (01:11 -0700)]
Remove the lexer-factory because nothing uses it. Update usages.

12 years agoAdd a toggle word to namespaces and update docs, tests, and usages. Document with...
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.

12 years agoChange prompt to something we can copy/paste back into the Factor repl. Add auto...
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.

12 years agoCleanup vocab name validation. Vocab names and vocab prefixes are the same concept...
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.

12 years agofactor.sh: Make net-bootstrap recompile the vm, add make_clean_factor function
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