John Benediktsson
6cae745060
math.combinatorics: fix docs for next-permutation.
2012-03-02 09:55:22 -08:00
John Benediktsson
ed37418a47
math.combinatorics: implementing "next-permutation".
2012-03-02 09:54:35 -08:00
Joe Groff
7803daf4a8
add content-gadget hook for inspector
...
Allow objects such as images, strings, and audio clips to display rich representations of themselves in the inspector by providing methods for a content-gadget generic.
2012-02-21 15:06:27 -08:00
Joe Groff
cb28523e6e
ui.gadgets.panes: add gadget-alt-text
...
Provide a default implementation of write-gadget that writes plain text to a stream that doesn't support gadgets.
2012-02-18 21:59:30 -08:00
John Benediktsson
6203caf46f
system-info.macosx: adding "Mountain Lion".
2012-02-16 08:30:56 -08:00
Doug Coleman
1fa68183c9
tools.ps: Add a simple Linux-only ps clone.
2012-02-03 17:30:34 -08:00
Doug Coleman
1280f4dfa2
unix.groups: Return an empty sequence if the user in 'user user-groups' doesn't exist.
2012-02-02 19:58:24 -08:00
Doug Coleman
c282383adc
unix.groups: Get the second parameter to getgrouplist from /etc/passwd.
2012-02-02 19:53:42 -08:00
John Benediktsson
53d45717e1
calendar: today is now midnight.
2012-02-02 19:47:05 -08:00
John Benediktsson
f221b7b396
unix.groups: 64 ought to be enough, right?
2012-02-02 19:41:39 -08:00
otoburb
a78c7b4577
client-docs: Updated HTTP PUT documentation typos
2012-01-11 02:33:05 +00:00
Slava Pestov
c8a0759881
listener: update docs
2012-01-02 21:38:56 -08:00
Slava Pestov
e9064aaf36
Set up listener's manifest so that words defined in "scratchpad" take precedence over other vocabularies and do not raise a restart. This matches the behavior of IN: and USE: in files, where the IN: takes precedence. Also remove unused clear-manifest word. Fixes #407
2012-01-02 23:18:52 -06:00
John Benediktsson
beaf3db868
Revert "ui.gadgets.books: needs help.markup.private."
...
This reverts commit dc9aa68961 .
2011-12-29 21:38:05 -08:00
John Benediktsson
d76b0815fd
unicode: Fix some $vocab-links in docs.
2011-12-29 17:32:05 -08:00
John Benediktsson
0b59d246da
math.vectors: fix some $examples in docs.
2011-12-29 17:31:55 -08:00
John Benediktsson
dc9aa68961
ui.gadgets.books: needs help.markup.private.
2011-12-29 17:19:48 -08:00
John Benediktsson
2215ae0688
ui: fix error in docs (USE: ui.gadgets.books).
2011-12-29 16:33:16 -08:00
Doug Coleman
bbbfc36814
splitting.monotonic: Don't throw away the last result. Fixes #462 .
2011-12-27 11:45:01 -06:00
Joe Groff
d37851fb5d
cpu.x86.32.bootstrap: oops, meant bootstrap-cell
2011-12-19 20:55:07 -08:00
Joe Groff
d533bbb88c
cpu.x86.32.bootstrap: update unwind-native-frames
...
The arguments passed from C are in a different position now.
2011-12-19 18:42:14 -08:00
Doug Coleman
2bfde77127
combinators.smart: Make map-reduce-outputs a macro. To be a combinator, we need a full stack-checker rewrite.
2011-12-19 11:12:37 -08:00
Samuel Tardieu
3bcb62d7ca
fix link when extracting the feed address
...
If the <link rel="alternate" href="..."/> was not the first
<link/> attribute under the <feed/> tag, the bad one was extracted
as the corresponding site URL.
2011-12-16 16:07:01 -08:00
Samuel Tardieu
ff9831f92f
add tag-named-with-attr to xml.traversal
2011-12-16 16:07:01 -08:00
Joe Groff
70fdd152f0
tools.deploy.shaker: strip globals harder
...
Separate the list of strippable globals in "stripped" and "cleared". Completely remove the former set, but only reset to 'f' the latter. Fixes #447 .
2011-12-16 15:56:59 -08:00
Joe Groff
d7fb47aaa9
threads: update test
2011-12-14 13:45:53 -08:00
Joe Groff
2883c4cb14
Revert "pubsubhubbub support by samueltardieu". Fixes #455 .
...
This reverts commit e3483c9c03 .
2011-12-14 13:13:18 -08:00
Joe Groff
23eb2eaa1b
fix compiler.codegen tests
2011-12-14 12:51:12 -08:00
Joe Groff
8e326f5a42
tools.deploy.shaker: clear MEMO: caches
2011-12-14 12:44:40 -08:00
Joe Groff
fb7172fd28
fix help-lint failures
2011-12-14 11:33:17 -08:00
Joe Groff
d6b520734d
cpu.x86.64: define jit-load-vm as a no-op
...
This was the signal handler prolog code can be shared completely between x86.32 and x86.64.
2011-12-14 11:33:05 -08:00
Joe Groff
9078282855
oops, handler still need to jit-load-vm on x86-32
2011-12-14 09:56:50 -08:00
Joe Groff
af989f533a
cpu.x86.*: clean up signal handler prolog code
...
Also bump the signal handler frame sizes up again since it looks like we shrank them too much.
2011-12-14 09:56:50 -08:00
Joe Groff
6dd5973bdd
cpu.x86: reduce compiled frames by 2 cells too
2011-12-14 09:56:49 -08:00
Joe Groff
1c44a4e8ae
simplify function prologs
2011-12-14 09:56:49 -08:00
Joe Groff
5f0102fb7c
cpu.*.bootstrap: return address for (set-context)
...
Instead of pushing zero as the fake return address for a set-context call, push an address that points back into the primitive so that callstack walking can match the frame back to the subprimitive.
2011-12-14 09:56:46 -08:00
Joe Groff
8981fccbe8
vm: frame size for signal handler code blocks
2011-12-14 09:56:46 -08:00
Joe Groff
84e817ef95
compiler.constants: remove unused constants
2011-12-14 09:56:45 -08:00
Joe Groff
9186a1bdf3
vm: store stack frame size in code blocks
...
Change modify-code-heap primitive so it takes a sixth element in each array for the frame size.
2011-12-14 09:56:45 -08:00
Joe Groff
3365e1adbb
math.vectors: add higher-order stack effect to vif
2011-12-13 19:46:44 -08:00
Joe Groff
819e1602be
cpu.x86: enable POPCNT with a flag
...
If bootstrapped with '-enable-popcnt' and the host CPU supports it, enable the POPCNT-based fixnum-bit-count intrinsic. Fixes #436 .
2011-12-12 16:43:49 -08:00
Joe Groff
a6b4d30378
tools.deploy.shaker: more timid global stripping
...
Strip globals by replacing their value with "f". The list of globals to strip was written with the assumption that the stripped globals would get restored like normal hashtable keys when accessed. This isn't valid anymore with the globals optimization, since creating a new box breaks the foldable invariant between a global name and its associated box. Need to go through the list of globals to strip and find the ones that actually can be entirely removed as opposed to just reset to f. Fixes #445 . Fixes #446 .
2011-12-12 16:08:25 -08:00
rien
f15ef329a0
added B: (break for parsing words) and appropriate documentation
2011-12-10 20:59:22 -05:00
Joe Groff
30dc7d45e7
math.vectors.simd.intrinsics: fix deploy bug
...
If not called with a known-at-compile-time SIMD type, the intrinsic definitions were leaving behind runtime quotations that referenced the c-array words after c-type information had been stripped, causing deployed applications that used SIMD to fail.
2011-12-07 12:47:38 -08:00
Doug Coleman
5fb4b86fbf
help-lint fixes for recent changes
2011-12-07 12:26:35 -08:00
Joe Groff
7dbdc54052
command-line: don't pull in tools.errors
...
tools.errors brings the debugger with it, which bloats deploy image size
2011-12-07 10:52:58 -08:00
Joe Groff
ba860e27a9
regexp.parser: fix failing test
2011-12-06 21:11:58 -08:00
Joe Groff
881f9ba3f1
compiler: fix failing test
2011-12-06 21:11:44 -08:00
Samuel Tardieu
097016d5cb
lazy.lists: lfrom-by documentation fix
...
Also add a unit test for lfrom-by.
2011-12-06 21:08:16 +01:00
Philipp Brüschweiler
7dded87bf1
ui.backend.gtk: don't die if the icon doesn't exist, partially fixes #369
2011-12-06 09:05:05 +01:00
Doug Coleman
e884ce357e
compiler: The non-optimizing compiler is too slow with smart combinators in the compiler. Speed up bootstrap by not using them.
2011-12-05 14:50:51 -08:00
Slava Pestov
91e345456e
help.html: change back to the old naming scheme because we have too many links to existing doc articles all over the net
2011-12-04 13:46:13 -08:00
Doug Coleman
d5ccd7605a
memoize: Don't use identity hashtables for macro expansion; it uses all the memory. Fixes #439 .
2011-12-01 10:14:16 -08:00
Doug Coleman
5a0f1904b4
basis/*: Pare down some using lists
2011-11-30 23:15:43 -08:00
Doug Coleman
77d7865cbf
tools.profiler.sampling: Don't use calendar because it pulls in ratios
2011-11-30 23:15:43 -08:00
Doug Coleman
171e539b6a
memoize: Use identity hashtables for macros
2011-11-30 23:15:42 -08:00
Doug Coleman
5a01aec362
combinators.smart: Tell the stack checker that the return values from inputs/ouputs are input-parameters
...
Fixes #435
2011-11-30 23:15:42 -08:00
Doug Coleman
c3dcf43e03
core/basis: trim down using lists
2011-11-30 23:15:42 -08:00
Joe Groff
4e91f856d6
furnace.auth.providers.couchdb: fix manifest
2011-11-30 17:58:52 -08:00
Doug Coleman
cf91cef222
combinators.smart: Use an identity memoize on inputs/outputs word to speed up the non-optimizing compiler
2011-11-30 14:41:32 -08:00
Doug Coleman
d3af3dcdcf
memoize: implement identity memoize, trim using lists so bootstrap continues to work
2011-11-30 14:41:32 -08:00
Joe Groff
10eefb77ee
io.encodings.iana: remove values
2011-11-29 13:22:23 -08:00
Joe Groff
9f5820fc23
xml.entities: remove USING: values
2011-11-29 12:21:08 -08:00
Joe Groff
fdc9e2b076
io.sockets: remove unneeded USING: values
2011-11-29 09:46:51 -08:00
Joe Groff
755484ce63
remove values vocab
2011-11-28 21:26:33 -08:00
Doug Coleman
5401559b4c
combinators.smart: Fix infer-known; should be 100% now.
...
It's stack-checker bugs all the way down.
2011-11-28 20:55:11 -08:00
Doug Coleman
10387f8df9
combinators.smart: Implement reduce-outputs using compose, fix some stack effects, add using
2011-11-28 20:55:10 -08:00
Joe Groff
ac86f90c02
io.directories.unix: remove redundant using
2011-11-28 20:36:46 -08:00
Joe Groff
98861a7c81
io.files.info: fix circularity
...
Remove the undocumented and redundant "copy-file-and-info" word, since "copy-file" does the same thing, and the circular dependency on "io.directories" was causing some deploys to fail
2011-11-28 19:37:01 -08:00
Joe Groff
e516accf18
specialized-arrays: update tests
2011-11-28 18:55:20 -08:00
Joe Groff
628b7b1812
furnace.auth.providers.couchdb: fix load error
2011-11-28 18:55:11 -08:00
Joe Groff
cad8128b3e
namespaces: rework so a singleton isn't necessary
...
Make global foldable, and make the underlying global object a hashtable wrapper. Also, use a tuple instead of a generic array for the global box type.
2011-11-28 18:25:27 -08:00
Joe Groff
c1c8155468
namespaces: make set-global/get-global foldable
...
Store the globals hashtable as an array of boxes so that the key-to-reference mapping is constant. Use a singleton and an unfoldable "box-at" word so that get-global and set-global optimize to direct operations on the associated box when the variable name is a compile-time constant. Fixes #200 .
2011-11-28 18:25:27 -08:00
Doug Coleman
2e6cfa41da
combinators.smart: Enable a unit test, handle M: object infer-known*, make sum-outputs a macro.
...
Fixes inverse but still needs work, once I figure out how.
2011-11-28 14:36:57 -08:00
Doug Coleman
a3447b49b9
combinators.smart: Fix reduce-outputs, rename quot*n to call-n, rewrite more macros as combinators.
2011-11-28 12:41:50 -08:00
Doug Coleman
3d7d551eb5
regexp: trivial refactoring
2011-11-28 11:46:15 -08:00
John Benediktsson
e3483c9c03
pubsubhubbub support by samueltardieu. Fixes #148 .
2011-11-28 09:57:03 -08:00
Alex Drummond
04b0cbb06d
CouchDB auth provider (furnace.auth.providers.couchdb)
2011-11-28 09:45:42 -08:00
Doug Coleman
664239e1ba
generalizations: Refactor stack-checker so that smart combinators can be used with curry and compose.
2011-11-27 20:25:22 -08:00
Joe Groff
b9ae00461d
tools.deploy.config: docs typos
2011-11-27 14:17:18 -08:00
Joe Groff
3d9370afc2
tools.deploy.shaker: missing using
2011-11-27 14:14:35 -08:00
Joe Groff
de3bd2fe49
tools.deploy.config: more stern warnings in docs
...
Warn that deploy-io=3, deploy-math, and deploy-threads are effectively required. Also note that deploy-ui? requires an app bundle deployment on Mac OS X.
2011-11-27 14:14:23 -08:00
Joe Groff
a6ba3981e7
ui.tools.deploy: add doc link to deploy-flags
...
That's where all the settings are actually described.
2011-11-27 12:37:58 -08:00
Joe Groff
778ab2921b
tools.deploy.macosx: deploy separate VM and image
...
This is the easiest way to make sure "resource:" works with deployed bundles for now. Single-file executables aren't really an issue with app bundles anyway.
2011-11-27 12:37:58 -08:00
Joe Groff
c1f84dbf17
tools.deploy.backend: make-deploy-image back out
...
So "deploy-image-only" still works
2011-11-27 12:37:57 -08:00
Joe Groff
b17bebe0ea
tools.deploy.macosx: oops, logic inversion
2011-11-27 12:37:57 -08:00
Joe Groff
e7064cf150
ui.tools.deploy: update deploy-console description
...
No longer windows specific
2011-11-27 12:37:57 -08:00
Joe Groff
32906408bb
tools.deploy.config: update docs
2011-11-27 12:37:57 -08:00
Joe Groff
59572eaad3
tools.deploy.macosx: tweak bundle vs exe logic
...
Must deploy an app bundle if the UI is used.
2011-11-27 12:37:56 -08:00
Joe Groff
2f18ad5e5e
tools.deploy: embed image into deployed VM
...
Also, use the unix backend to deploy non-UI applications on macosx
2011-11-27 12:37:56 -08:00
Joe Groff
1b91486834
tools.deploy.embed: useful factors
...
Separate the embedding of an image into a VM executable (embed-image) from the copy-and-embed logic (make-embedded-image).
2011-11-27 12:37:55 -08:00
Joe Groff
f9ba6bf959
new module tools.deploy.embed: make self-exe image
2011-11-27 12:37:55 -08:00
Joe Groff
d7c34b6160
io.directories.unix: make copy-file copy perms
...
Like the docs claim it does
2011-11-27 12:37:54 -08:00
Joe Groff
7838538163
icon for user-init-errors
2011-11-27 12:06:48 -08:00
Joe Groff
67d572ab7b
break circularity
2011-11-27 11:45:28 -08:00
Joe Groff
103005dd0a
command-line: don't die if factor-rc has an error
...
Instead, put user-init-errors in the error list.
2011-11-27 10:49:02 -08:00
Joe Groff
aee5815696
math.complex: pass tests even if number-base set
2011-11-26 17:46:38 -08:00
Joe Groff
3f8d5d0ab4
prettyprint.backend: can't use locals
2011-11-23 20:20:27 -08:00
Joe Groff
a41eb0c527
prettyprint: use radix prefixes for number-base
2011-11-23 20:05:23 -08:00
Joe Groff
c14366b902
tools.disassembler.utils: 0x isn't a name anymore
...
sorry bro
2011-11-23 19:48:38 -08:00
Joe Groff
2ff5e76690
let's pretend BIN: HEX: OCT: never happened
2011-11-23 19:22:37 -08:00
Joe Groff
eee483654a
use radix literals
2011-11-23 19:03:40 -08:00
Joe Groff
ec079dfacc
ui.backend.cocoa.views: clickthrough is bullshit
...
I don't care what Slava thinks
2011-11-23 11:29:03 -08:00
Joe Groff
b1a5477969
compiler.cfg.finalization: reenable scheduling
...
Prolog safepoint appears to work with it enabled
2011-11-23 11:11:27 -08:00
Joe Groff
62e665bb88
compiler: emit safepoints in optimized prologs
2011-11-23 11:11:25 -08:00
Doug Coleman
d7aee3256e
classes.maybe: Change the type of maybe's class slot. As a result, maybe: maybe: integer is valid now, so fix the unit tests and its prettyprinting.
2011-11-23 01:43:02 -08:00
Doug Coleman
e09de9d6a1
classes.maybe: make maybe's slot type a classoid so you can do maybe: union{ }. Fix prettyprinting of anonymous-union/intersection. Fixes #427 , fixes #428 .
2011-11-23 01:19:09 -08:00
Doug Coleman
61c1277864
compiler tests: fix using, add tests to make sure instance? inlines
2011-11-23 01:01:11 -08:00
Doug Coleman
388e80f770
compiler.tree.propagation.transforms: fix infinite recursion that was breaking prettyprint
2011-11-23 00:48:05 -08:00
Doug Coleman
3e2fc2f0cb
classes: optimize instance? for classoids
2011-11-22 20:38:07 -08:00
Doug Coleman
f16755389d
dlists: use maybe: dlist-link.
2011-11-22 19:38:46 -08:00
Doug Coleman
30ade9023c
classes: add syntax for intersection{ and union{ anonymous classes. make classoid a mixin.
2011-11-22 18:49:42 -08:00
Doug Coleman
627bce6615
classes: Make methods dispatch on maybes. Fix a couple bugs in the implementation of maybe. classoid? is now a dumb test if an object could be a well-formed classoid; valid-classoid? tests for well-formedness. Move maybe tests. Make pprint* work better on methods.
2011-11-22 15:12:20 -08:00
Doug Coleman
d3a4e72f95
classes.maybe: move maybe definition from classes.union to classes.maybe
2011-11-22 02:46:36 -08:00
Doug Coleman
e0b34d2fd0
typed: Teach typed about maybe: foo. Should maybe: foo satisfy unboxable-tuple-class? ?
2011-11-22 02:09:12 -08:00
Doug Coleman
14dbf929ee
classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches.
2011-11-22 01:56:13 -08:00
Doug Coleman
c5c8c3b516
cocoa.messages: Apply mrjbq's patch to show the name of the cooca function in sender stubs. rename 'method' in stack effects to 'signature' since we are passing an array with the return value and arguments, not the method.
2011-11-21 16:38:16 -08:00
Joe Groff
519cf7ee26
io.monitors: kill outdated doc about kqueue on BSD
2011-11-17 16:56:34 -08:00
Joe Groff
33e73d2bbb
vocabs.refresh.monitor: use resolve-symlinks
...
It already exists and actually works on windows
2011-11-16 20:35:42 -08:00
Joe Groff
a1563d074a
random.unix: roll back type assertions
...
Probably don't really make much difference and are invalid in apps that deploy with io level 2 or lower.
2011-11-16 17:29:46 -08:00
Joe Groff
fb6fb2b16b
tools.deploy.macosx: fix path to MiniFactor.nib
...
Fixes #414 .
2011-11-16 17:17:54 -08:00
Joe Groff
027fc77c36
random: don't assume random-bytes is a byte-vector
...
It's not anymore.
2011-11-16 10:03:42 -08:00
John Benediktsson
16fe44008a
editors: fix editing of links. Fixes #411 .
2011-11-16 09:18:54 -08:00
Joe Groff
86d5e8529c
random: go faster
...
* Use int <ref> instead of 4 >le
* Inline sequences:push-all
* Types, hints, inlines
Re: #328
2011-11-15 20:45:16 -08:00
Joe Groff
c625a3e715
vocabs.refresh.monitor: remove debug traces
2011-11-15 20:15:11 -08:00
Joe Groff
8f338f67c0
vocabs.refresh.monitor: handle symlink paths
...
On macosx, fsevents always provides the true path for changed files, even if the monitored path includes symlinks. This screws things up if a symlinked path is used as a vocab root. Fixes #404 .
2011-11-15 20:04:44 -08:00
Joe Groff
f27b22b6ba
update USING:s
2011-11-15 18:37:30 -08:00
Joe Groff
0f876e93b6
rearrange source-file-error error. to load earlier
...
Fixes #359
2011-11-15 18:26:35 -08:00
Doug Coleman
927436defa
dlists: make a dlist-link tuple so you can "be the node" by subclassing it. this allows you go put a type on the obj>> slot. ensure that dlist nodes are returned with prev/next pointers set to f so they can be reused. dlist-filter used to work destructively on the dlist, make a new dlist instead because the combinator relied on using prev/next of deleted nodes.
2011-11-15 16:33:16 -08:00
Doug Coleman
8245e3bfb4
alien.endian: read 64bit numbers of the opposite endian as two 32bit numbers, then bitor them together
2011-11-15 13:22:49 -08:00
Joe Groff
1753990cdb
command-line.startup: fix help message on windows
...
Support /? while we're at it. Fixes #323
2011-11-15 13:09:32 -08:00
Joe Groff
51446e41b6
ui.tools.deploy: remove monkey traps from UI
2011-11-15 12:53:21 -08:00
Joe Groff
2910af94c3
tools.deploy.config: set default io-level 3
2011-11-15 12:52:54 -08:00
Joe Groff
723b6a4ced
Revert "ui.tools.listener: removing unnecessary spawn."
...
This reverts commit f8aa8038d3 .
Breaks error handling: http://paste.factorcode.org/paste?id=2407
2011-11-15 12:35:25 -08:00
John Benediktsson
414a768706
opengl: fix small typo in fix-coordinates stack effect. Fixes #406 .
2011-11-15 08:18:22 -08:00
John Benediktsson
f8aa8038d3
ui.tools.listener: removing unnecessary spawn.
2011-11-14 10:16:15 -08:00
Joe Groff
a520e7e5ee
math.vectors.simd: don't try distance on int types
...
"v- norm" doesn't work right for uint-4s because of underflow, but who's going to call "distance" on a uint vector?
2011-11-13 16:10:27 -08:00
Joe Groff
3888e0bf67
math.vectors.simd: unencrypt check-optimizer
...
And make it report real information about what values were tested and how they failed
2011-11-13 16:10:27 -08:00
Joe Groff
ce205e1e3a
code beautification
2011-11-13 16:10:26 -08:00
Joe Groff
602fbd01de
math.vectors.simd: add vcount to the tests
...
Also add a base case to (approx=) for integer returns. vcount returns an integer even for float vector inputs, but the test machinery isn't smart enough to figure that out and uses (approx=) on the outputs anyway.
2011-11-13 16:10:26 -08:00
Joe Groff
c74d92a12c
math.vectors.simd.intrinsics: fix double-2 vcount
...
Turns out we use MOVMSKPS for double vectors too. Gotta save that extra instruction byte!
2011-11-13 16:10:25 -08:00
Joe Groff
e66fdcaa83
compiler.tree.propagation: missed using
2011-11-13 16:10:25 -08:00
Joe Groff
f05bc12553
compiler: more peephole tests for shl/sar
2011-11-13 16:10:24 -08:00
Joe Groff
5c0e3946c5
compiler: tighten (simd-select) output class
...
Ints and smaller (or shorts and smaller on 32-bit) can be assumed to be fixnums. Fixes #393
2011-11-13 16:10:23 -08:00
Joe Groff
a50c0a6624
math.vectors.simd: make vcount work for all ints
2011-11-13 16:10:23 -08:00
Joe Groff
6685af8b41
math.vectors.simd.intrinsics: better fake vgetmask
...
More accurate simulacrum of PMOVMSKB/MOVMSKPS/MOVMSKPD for non-intrinsic definition
2011-11-13 16:10:22 -08:00
Joe Groff
3071c110b5
math.bitwise: don't count the same bits over&over
2011-11-13 16:10:22 -08:00
Joe Groff
038b986fa1
math.bitwise: hotrod nonintrinsic fixnum-bit-count
2011-11-13 16:10:21 -08:00
Joe Groff
2c4c04f973
compiler: add intrinsic for PMOVMSKB/MOVMSKP[SD]
...
Combined with a fast bit-count this will let us rice byte-counting.
2011-11-13 16:10:20 -08:00
Joe Groff
7350fb09ab
new module images.viewer.prettyprint
...
Pretty-prints image objects as images.
2011-11-13 12:12:23 -08:00
Slava Pestov
8012fbdf61
Now that #foo and ##foo are symbols we can remove a bunch of \
2011-11-12 22:04:26 -08:00
John Benediktsson
67dc3f9da5
ui.operations: fix stack names.
2011-11-12 18:48:18 -08:00
Doug Coleman
6214c833fb
io.directories: fix delete-file on windows, add unit test
2011-11-12 18:28:07 -08:00
Slava Pestov
2cf72ef255
Fix bootstrap
2011-11-12 16:45:04 -08:00
John Benediktsson
a33ce1b57a
formatting: improve summary.txt.
2011-11-12 16:18:39 -08:00
Slava Pestov
51ceaa4648
Prevent predicate engine words from showing up in usage. results
2011-11-12 15:35:51 -08:00
Slava Pestov
081527628d
Fix ambiguity between 'initial: f' and no initial value in a slot spec. Fixes #382
2011-11-12 15:35:51 -08:00
Doug Coleman
022ce9130d
editors: wait 300ms for the run-process to possibly fail so errors are reported if the editor is missing or broken
2011-11-12 15:13:34 -08:00
Doug Coleman
803dd2b57d
editors.jedit: return "jedit" when looking for jedit path
2011-11-12 14:36:35 -08:00
Joe Groff
4984bde393
cpu.*.bootstrap: clear faulting flag directly
...
No reason to go through a safepoint in unwind-native-frames really.
2011-11-12 13:02:57 -08:00
Joe Groff
beb0f48da9
vm: more defense against multi-faulting
...
* Clear faulting_p from a safepoint rather than inside general_error, because jumping into unwind-native-frames could blow up.
* Handle multiple faults from fatal_error by breakpointing. Is there anything else we can safely do at that point?
* Verify memory protection faults in the top half of the signal handlers because signal dispatch could fault. Treat memory faults during gc or fep as fatal errors.
* Add a function factor_vm::abort() that restores the default SIGABRT handler and ::abort()s. Use it from fatal_error() so we get useful context from gdb and so the user gets feedback from the system crash reporter that Factor blew up and didn't just disappear.
* In factorbug(), don't proceed with .s .r .c if it would be unsafe to do so.
* Don't pile on signals if we've already called fatal_error().
2011-11-12 13:02:57 -08:00
Doug Coleman
b123bf31b2
compiler.cfg: Rename <##foo> to ##foo, in the low-level IR
2011-11-11 19:48:38 -08:00
Joe Groff
27bb6ebaff
io.sockets.windows: plug receive-from memory leak
...
Should fix #387 .
2011-11-11 17:56:04 -08:00
Joe Groff
1034e8500a
tools.deploy: label small-enough? tests
...
Put a no-op "vocab name" drop in the small-enough? tests so that it's immediately apparent from build farm errors which vocabs are deploying over the limit.
2011-11-10 19:34:36 -08:00
Joe Groff
f2c9a755f3
tools.profiler.sampling: better test quots
...
Bump up the iota lengths so the tests don't sporadically fail with no data.
2011-11-10 19:29:20 -08:00
Joe Groff
5b43301eb6
vm: strip out call-counting profiler
...
This makes the separate "code" and "entry_point" fields in word and quotation redundant, so also remove them to reclaim an additional cell per word and quotation object, which should help with #318 .
2011-11-10 16:01:07 -08:00
Joe Groff
d8d8397fe1
sequences.parser: fix load error
2011-11-10 12:33:10 -08:00
Joe Groff
8b20a70d96
kill tools.profiler.counting and ui.tools.profiler
...
Load tools.profiler.sampling from bootstrap/tools instead.
2011-11-10 12:33:10 -08:00
Joe Groff
e4b271a2fc
new module typed.namespaces: get/set + type check
2011-11-10 10:47:21 -08:00
Slava Pestov
5921431a7c
io.ports: clean up
2011-11-10 00:40:31 -05:00
Joe Groff
a25fd29d34
io.ports: make read-step inline
2011-11-09 19:59:46 -08:00
Joe Groff
65c17f7ace
slice boa -> <slice-unsafe>
...
If you didn't define it, don't boa it
2011-11-09 19:22:09 -08:00
Joe Groff
faf49ff25c
io.ports: fix bootstrap
...
Apparently can't use TYPED: or have HINTS: in the wrong place.
2011-11-09 16:32:47 -08:00
Joe Groff
afc36ec52b
io.backend.unix: hints on M\ fd refill
...
Trims some low-order dispatch overhead for #376 .
2011-11-09 16:32:47 -08:00
Joe Groff
ce6669d87d
io.files: add file-reader, file-writer mixins
...
This lets us do some trickery so that the stream-element-type propagates from <file-reader>/<file-writer>. For #376 .
2011-11-09 14:43:39 -08:00
Joe Groff
a33971fa33
io.ports: make read-step TYPED:
...
Eliminates more dispatch. For #376 .
2011-11-09 14:13:41 -08:00
Joe Groff
940e355292
io.buffers, io.ports: trim some dispatch
...
For #376 . Still some work to do.
2011-11-09 13:31:02 -08:00
Joe Groff
1a25143431
tools.profiler.sampling: preliminary docs
2011-11-09 11:34:31 -08:00
Joe Groff
7edbf3f2ec
deques: fix help-lint
2011-11-08 23:27:33 -08:00
Joe Groff
cf1f0c2d27
unix.signals: documentation and metadata
2011-11-08 23:12:10 -08:00
Joe Groff
37f47e093a
tools.profiler.sampling: top-down-max-depth report
...
Fixes #366
2011-11-08 14:35:25 -08:00
Joe Groff
a4c011240b
tools.profiler.sampling: change some names around
...
Rename the versions of top-down etc. that take sample data to "top-down*" (from "(top-down)") so they don't look so scary to use. Change "get-raw-profile-data" to "most-recent-profile-data".
2011-11-08 14:11:53 -08:00
John Benediktsson
48205fcb63
deques: adding ?peek-front and ?peek-back.
2011-11-08 13:20:56 -08:00
Joe Groff
70dcd875ff
io.backend: start signal thread after io-backend
...
The c-io-backend can't handle input-ports and raises an error during bootstrap.
2011-11-08 11:54:54 -08:00
Joe Groff
afa0ed1f6e
unix.process: take raise from unix.ffi
...
And fix introduced ambiguity between unix.ffi:kill and unix.process:kill
2011-11-08 10:42:51 -08:00
Joe Groff
37494b301b
new module unix.signals: app-level signal handlers
...
example:
IN: scratchpad USING: unix.ffi unix.signals ;
Loading resource:basis/unix/signals/signals.factor
IN: scratchpad [ V{ "Me not that kind of orc!" "Me busy, leave me alone!" "Work work" "Zug zug" } pop print flush ] SIGINFO add-signal-handler
IN: scratchpad load: 0.60 cmd: factor 41541 running 0.28u 0.16s
Zug zug
load: 0.71 cmd: factor 41541 running 0.28u 0.16s
Work work
load: 0.71 cmd: factor 41541 running 0.28u 0.16s
Me busy, leave me alone!
load: 0.73 cmd: factor 41541 running 0.28u 0.16s
Me not that kind of orc!
2011-11-08 10:21:49 -08:00
Joe Groff
ec85bf7acc
io.backend.unix: startup hook for signal-pipe
2011-11-08 08:42:48 -08:00
Joe Groff
b3598c2384
io.backend.unix: init-signal-pipe function
...
Currently just reads off signal numbers and drops them.
2011-11-08 08:42:48 -08:00
Joe Groff
1583b94bf9
io.launcher.windows: update tests for prompt
2011-11-08 00:09:25 -08:00
Joe Groff
c79ef17deb
lists: make lmap behave row-polymorphically
...
Fix contributed by @bremac. Fixes #355 .
2011-11-07 10:37:35 -08:00
Doug Coleman
cb66728b26
compiler.cfg: Change low-level IR constructors from ##foo to <##foo>
2011-11-06 23:02:46 -08:00
Doug Coleman
1a2be52f25
compiler.tree: Renamed high-level IR node constructors to <#foo> from #foo. Moving towards making classes/word names not conflict.
2011-11-06 23:02:45 -08:00
Doug Coleman
dde0599353
math.functions: flushable and foldable don't do anything on inline words because flushable and foldable work on call sites (#call nodes), and inlined words are inlined into another word's call site; they don't generate their own #call node.
2011-11-06 19:25:53 -08:00
Doug Coleman
1539682597
compiler.tree.dead-code: Rewrite /mod to /i or mod in the dead-code pass in the high level optimizer. Fixes #279 .
2011-11-06 19:23:26 -08:00
Joe Groff
830a7f7100
tools.deploy.backend: fix vocab manifest parse
...
We were absent-mindedly passing the VOCABS: line off as a vocab name itself. vocabs.loader doesn't put up with that anymore.
2011-11-06 18:57:12 -08:00
Doug Coleman
be9f8a99f0
Rename lookup to lookup-word.
2011-11-06 16:00:00 -08:00
Doug Coleman
d580d8fc01
html.components: For the t:html tag, only wrap strings in unescaped so that other objects can render.
2011-11-06 12:15:00 -08:00
Doug Coleman
1f9dccb223
help.html: fix glossary link.
2011-11-05 00:05:58 -07:00
Doug Coleman
16e1dee457
Make edit-vocab work on an unloaded vocabulary.
2011-11-04 23:33:18 -07:00
Joe Groff
c78b4d7f60
cpu.x86.*.bootstrap: save flags in signal-handlers
2011-11-04 11:56:01 -07:00
Joe Groff
db1a47ffc1
cpu.x86.bootstrap: cell -> bootstrap-cell
2011-11-04 11:54:40 -07:00
Joe Groff
a944e41e79
cpu.x86.assembler: PUSHF, POPF instructions
2011-11-04 11:23:11 -07:00
Joe Groff
d4f24f44c3
cpu.x86.64.bootstrap: save all the regs on signal
...
Appears to fix another sporadic crash from mason on x86-64. There's no reason to cut corners here, really.
2011-11-04 10:01:56 -07:00
Doug Coleman
a3ceb95060
Fix bootstrap. Add missing using on io.serial.linux. Fixes #351 .
2011-11-04 06:08:02 -07:00
Joe Groff
88dbe09c4c
unix.ffi: add signal constants
2011-11-04 00:24:18 -07:00
Joe Groff
a28192859a
cpu.x86.bootstrap: don't safepoint in a safepoint
...
Safepointing in the signal-handler primitive causes a crash if the safepoint is guarded and the signal being handled was raised by a safepoint. Put our own RET in the subprimitive to bail out before the standard epilog gets written out. This tentatively appears to fix #349 .
2011-11-03 20:19:38 -07:00
Joe Groff
82bdb6a65a
stack-checker.known-words: add ffi-signal-handlers
2011-11-03 15:20:42 -07:00
Joe Groff
1155da01c9
cpu.x86.32.bootstrap: typo
2011-11-03 13:07:13 -07:00
Doug Coleman
584f773a0b
Update emacs for editors protocol.
2011-11-03 12:04:02 -07:00
Joe Groff
7ac94bd09f
vm: always generate safepoints in jit
...
Even if there's no stack frame we still need to safepoint before leaving the function. Fixes #332 .
2011-11-03 11:57:43 -07:00
Joe Groff
de081931fe
tools.profiler.sampling: mess with formatting more
2011-11-03 00:14:18 -07:00
Joe Groff
de8d4199b2
tools.profiler.sampling: cross-section report
...
Also add depth to top-down reporting so we can tell what parameter to give cross-section
2011-11-02 23:57:15 -07:00
Joe Groff
1dc540f60e
vm: reserve some more special-objects
...
Need a jit-safepoint object to deal with #332 , and ffi-signal-handler words for immediate signal handling during FFI calls
2011-11-02 22:16:08 -07:00
Doug Coleman
0b39b540e7
dlists: fix compile error
2011-11-02 21:57:31 -07:00
Joe Groff
2c040c3ef6
tools.profiler.sampling: twiddle output format
2011-11-02 21:40:53 -07:00
Doug Coleman
89accfb573
Tweak the dlist equal? word.
2011-11-02 19:53:40 -07:00
Doug Coleman
3d2c4a0165
Implement equal? on dlists. Fixes #338 .
2011-11-02 19:30:54 -07:00
Joe Groff
eb711a5e73
images.loader.gtk: typo
2011-11-02 19:02:27 -07:00
Joe Groff
aaf2b14306
remove lingering mentions of macosx-ppc
2011-11-02 18:40:27 -07:00
Doug Coleman
484836be3a
Rename (load-vocab) to (require), add tags.txt for "p" vocab loader test. Code formatting.
2011-11-02 18:07:22 -07:00
Doug Coleman
b36e806eaf
io.backend.unix.macosx: Remove duplicate USE:
2011-11-02 17:47:15 -07:00
Doug Coleman
a8395ae332
Fix unit tests to give the sampling profiler something to profile.
2011-11-02 17:46:50 -07:00
Doug Coleman
644b5fca16
Fix require-hook
2011-11-02 17:26:13 -07:00
Doug Coleman
a6cbdaf48b
Add stack effects for the sampling profiler
2011-11-02 17:26:13 -07:00
Joe Groff
75cba3106a
remove BSD,solaris,etc. misc platform support code
2011-11-02 17:13:51 -07:00
Doug Coleman
ee0d0f6579
Unbreakify the new profiler, add a couple of unit tests to demonstrate displaying output.
2011-11-02 17:01:43 -07:00
Doug Coleman
8f02a716ee
Keep the profiling results even when the quotation throws an exception.
2011-11-02 16:47:27 -07:00
Doug Coleman
b3d381277a
Use -reuseview in jedit by default.
2011-11-02 16:47:10 -07:00
Doug Coleman
86974b11a2
Clean up formatting, rename load-vocab-hook to require-hook. Add a unit test for vocabs.loader.
2011-11-02 16:31:42 -07:00
Doug Coleman
9425402c71
Actually let the user pick an editor after editor protocol change.
2011-11-02 16:05:39 -07:00
Joe Groff
6b2a34fdc6
vm: count samples during unoptimized compiler
2011-11-02 13:23:21 -07:00
Joe Groff
76cf62687f
hashtables.identity: test assoc-like
2011-11-02 13:23:20 -07:00
Joe Groff
3e19b45f25
tools.profiler.sampling: fix stack effect name
2011-11-02 13:23:19 -07:00
Joe Groff
ad116e4808
tools.profiler.sampling: make rate a global var
2011-11-02 13:23:19 -07:00
Joe Groff
7bc38e2fe1
tools.profiler.sampling: groom flat profile
2011-11-02 13:23:18 -07:00
Joe Groff
423aca10dc
tools.profiler.sampling: flat profile report
2011-11-02 13:23:18 -07:00
Joe Groff
2f36083c5e
tools.profiler.sampling: smoke test compact-gc
2011-11-02 13:23:18 -07:00
Joe Groff
19eca5cbdd
hashtables.identity: support assoc-like
2011-11-02 13:23:17 -07:00
Joe Groff
df44990b78
tools.profiler.sampling: add detail to profile.
2011-11-02 13:23:16 -07:00
Joe Groff
404793493e
tools.profiler.sampling: "top-down" and "profile."
2011-11-02 13:23:16 -07:00
Joe Groff
d7bc7ae4bf
vm: parameterize sampling rate
2011-11-02 13:23:15 -07:00
Joe Groff
d4ae1e35a6
help.handbook: update link to counting profiler
2011-11-02 13:23:15 -07:00
Joe Groff
f50eaca6d5
tools.profiler.sampling: smoke tests and metadata
2011-11-02 13:23:15 -07:00
Joe Groff
ab73f527d3
tools.profiler.counting: rename help article
2011-11-02 13:23:14 -07:00
Joe Groff
3241191fd9
tools.profiler.sampling: very basic frontend words
2011-11-02 13:23:14 -07:00
Joe Groff
1bd0c5910f
math.statistics: fix stack effect on collect-by
2011-11-02 13:23:13 -07:00
Joe Groff
a3979cd123
fix platform dependency in leaf-signal-handler
2011-11-02 13:23:12 -07:00
Joe Groff
9c02c17cb8
move counting profiler to tools.profiler.counting
2011-11-02 13:23:09 -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
4ab6d18cbd
tools.profiler: rename to tools.counting-profiler
2011-11-02 13:23:06 -07:00