Commit Graph

10294 Commits (c9664e746b0f4b51e5fde48284e01cc7c3243c76)

Author SHA1 Message Date
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