Commit Graph

10314 Commits (3502c5fbc268f3cc1539e41ef1c3d7a3180dafa0)

Author SHA1 Message Date
John Benediktsson cf34ff72e3 Revert "ascii: adding title case."
This reverts commit 66ecd199d8.
2012-04-05 14:37:56 -07:00
John Benediktsson d97c4f35a9 ascii: adding title case. 2012-04-05 13:56:20 -07:00
John Benediktsson 214195e56a Revert "math.functions: simpler without "simple-gcd"."
This reverts commit aa7f60ebbc.
2012-04-05 10:34:50 -07:00
John Benediktsson b240519bff math.functions: simpler without "simple-gcd". 2012-04-05 10:31:46 -07:00
John Benediktsson b2ffda32ca math: adding a fast-gcd that speeds up all ratio operations by up to 10 times for bignum ratios. 2012-04-05 09:17:52 -07:00
John Benediktsson 22c26ff3f5 vm: adding bignum_gcd primitive. 2012-04-05 09:17:35 -07:00
Doug Coleman 8af39377d1 random: Add a k parameter for pareto. Add some unit tests. 2012-04-03 16:27:04 -07:00
John Benediktsson 57231bfef4 math.statistics: change 'var' to 'sample-var' and implement variance, covariance, and correlation. 2012-04-02 17:12:32 -07:00
John Benediktsson 71dfe9bb14 random: adding triangular distribution. 2012-03-30 19:53:30 -07:00
John Benediktsson 1b4d9ba83e random: adding von-mises distribution. 2012-03-30 19:43:51 -07:00
John Benediktsson 2682e7ec7f random: implement gamma distribution, fix beta to use it. 2012-03-30 19:30:29 -07:00
Doug Coleman 8e3f0cdeac random: Change weibull-random-float to use alpha/beta parameters. 2012-03-30 18:38:18 -07:00
Doug Coleman 6686cae347 random: Add random-unit word. 1 random-unit - is the same distribution, as Joe pointed out, so remove that. Use random-unit in librarie. 2012-03-30 18:04:45 -07:00
John Benediktsson b23f3f8d56 random: 1 swap - was redundant. 2012-03-30 17:57:40 -07:00
John Benediktsson 1e7382b893 random: gauss-random-float is just normal-random-float. 2012-03-30 17:55:18 -07:00
John Benediktsson 1a8e52379a random: adding lognormal, exponential, weibull, pareto, gauss, and beta distributions. 2012-03-30 17:33:13 -07:00
John Benediktsson 4f046a2339 math.vectors: separate "dot product" from "Hermitian inner product". Fixes #484. 2012-03-29 10:56:39 -07:00
Joe Groff 64a746be73 webbrowser: move to basis for tools.deploy.unix 2012-03-26 10:18:10 -07:00
Joe Groff 24ca1b02b7 ui.tools.listener: dumb hack to set listener font 2012-03-04 13:08:22 -08:00
John Benediktsson 7a07e8742c math.combinatorics: fix tests for next-permutation. 2012-03-02 10:05:57 -08:00
John Benediktsson 7bb807d441 math.combinatorics: fix docs for next-permutation. 2012-03-02 09:55:22 -08:00
John Benediktsson 8d56193edd math.combinatorics: implementing "next-permutation". 2012-03-02 09:54:35 -08:00
Joe Groff 273b5115bf 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 4db4b3e171 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 3c63275ee6 system-info.macosx: adding "Mountain Lion". 2012-02-16 08:30:56 -08:00
Doug Coleman a813b0436d tools.ps: Add a simple Linux-only ps clone. 2012-02-03 17:30:34 -08:00
Doug Coleman daf13a0f4f 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 38d09743e0 unix.groups: Get the second parameter to getgrouplist from /etc/passwd. 2012-02-02 19:53:42 -08:00
John Benediktsson d8b963872b calendar: today is now midnight. 2012-02-02 19:47:05 -08:00
John Benediktsson c730bf62bd unix.groups: 64 ought to be enough, right? 2012-02-02 19:41:39 -08:00
otoburb 7417d8f0c8 client-docs: Updated HTTP PUT documentation typos 2012-01-11 02:33:05 +00:00
Slava Pestov 9535d83438 listener: update docs 2012-01-02 21:38:56 -08:00
Slava Pestov d1b6106011 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 3a4afb1650 Revert "ui.gadgets.books: needs help.markup.private."
This reverts commit dc9aa68961.
2011-12-29 21:38:05 -08:00
John Benediktsson fcf2f3b4cc unicode: Fix some $vocab-links in docs. 2011-12-29 17:32:05 -08:00
John Benediktsson de74b98278 math.vectors: fix some $examples in docs. 2011-12-29 17:31:55 -08:00
John Benediktsson f6c0bfdb89 ui.gadgets.books: needs help.markup.private. 2011-12-29 17:19:48 -08:00
John Benediktsson 2dcb104216 ui: fix error in docs (USE: ui.gadgets.books). 2011-12-29 16:33:16 -08:00
Doug Coleman 6fdf24d5b4 splitting.monotonic: Don't throw away the last result. Fixes #462. 2011-12-27 11:45:01 -06:00
Joe Groff 9b56fbb1c1 cpu.x86.32.bootstrap: oops, meant bootstrap-cell 2011-12-19 20:55:07 -08:00
Joe Groff bc3f34cbd7 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 ebb722bf56 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 ddd7df2a38 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 46a00c4ce2 add tag-named-with-attr to xml.traversal 2011-12-16 16:07:01 -08:00
Joe Groff 903863b8c6 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 6661f8fe0c threads: update test 2011-12-14 13:45:53 -08:00
Joe Groff 9d5e676b26 Revert "pubsubhubbub support by samueltardieu". Fixes #455.
This reverts commit e3483c9c03.
2011-12-14 13:13:18 -08:00
Joe Groff c86d92a219 fix compiler.codegen tests 2011-12-14 12:51:12 -08:00
Joe Groff 5557574e1c tools.deploy.shaker: clear MEMO: caches 2011-12-14 12:44:40 -08:00
Joe Groff aa1ad21d72 fix help-lint failures 2011-12-14 11:33:17 -08:00
Joe Groff b321c5656e 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 d62a0b28e6 oops, handler still need to jit-load-vm on x86-32 2011-12-14 09:56:50 -08:00
Joe Groff 7c9332e966 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 2eba1b5449 cpu.x86: reduce compiled frames by 2 cells too 2011-12-14 09:56:49 -08:00
Joe Groff 079025559d simplify function prologs 2011-12-14 09:56:49 -08:00
Joe Groff ee656387ea 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 1911905c6b vm: frame size for signal handler code blocks 2011-12-14 09:56:46 -08:00
Joe Groff c9cc98d124 compiler.constants: remove unused constants 2011-12-14 09:56:45 -08:00
Joe Groff e21f316583 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 fe767253a1 math.vectors: add higher-order stack effect to vif 2011-12-13 19:46:44 -08:00
Joe Groff d927a070ed 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 ff50cc6f0f 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 6e141b8f6e added B: (break for parsing words) and appropriate documentation 2011-12-10 20:59:22 -05:00
Joe Groff 3deae96995 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 abc953ecea help-lint fixes for recent changes 2011-12-07 12:26:35 -08:00
Joe Groff 47fc91e948 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 df19e2ee01 regexp.parser: fix failing test 2011-12-06 21:11:58 -08:00
Joe Groff 2e4d6f724b compiler: fix failing test 2011-12-06 21:11:44 -08:00
Samuel Tardieu 83d8569197 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 b667e4ff7e 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 80385770ef 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 72fdb8c5fb 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 e75a4c13b4 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 e9809a67e8 basis/*: Pare down some using lists 2011-11-30 23:15:43 -08:00
Doug Coleman cab4dc6ba3 tools.profiler.sampling: Don't use calendar because it pulls in ratios 2011-11-30 23:15:43 -08:00
Doug Coleman ab41dd556f memoize: Use identity hashtables for macros 2011-11-30 23:15:42 -08:00
Doug Coleman d283eac921 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 3ba787b277 core/basis: trim down using lists 2011-11-30 23:15:42 -08:00
Joe Groff 4552caf489 furnace.auth.providers.couchdb: fix manifest 2011-11-30 17:58:52 -08:00
Doug Coleman 0a287cb33f 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 f0b6494c76 memoize: implement identity memoize, trim using lists so bootstrap continues to work 2011-11-30 14:41:32 -08:00
Joe Groff b26ddc37e8 io.encodings.iana: remove values 2011-11-29 13:22:23 -08:00
Joe Groff a8cb83cb4f xml.entities: remove USING: values 2011-11-29 12:21:08 -08:00
Joe Groff 255d024e51 io.sockets: remove unneeded USING: values 2011-11-29 09:46:51 -08:00
Joe Groff 1ef6fc03e6 remove values vocab 2011-11-28 21:26:33 -08:00
Doug Coleman cde3c043bf 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 c1a49e69c8 combinators.smart: Implement reduce-outputs using compose, fix some stack effects, add using 2011-11-28 20:55:10 -08:00
Joe Groff 25ec33dc10 io.directories.unix: remove redundant using 2011-11-28 20:36:46 -08:00
Joe Groff 4c0d73da3c 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 a4e8e63cc0 specialized-arrays: update tests 2011-11-28 18:55:20 -08:00
Joe Groff 7897b14223 furnace.auth.providers.couchdb: fix load error 2011-11-28 18:55:11 -08:00
Joe Groff 16e510bc76 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 a1b730e867 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 8b18af0335 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 41e4c48647 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 9a55bfb5a2 regexp: trivial refactoring 2011-11-28 11:46:15 -08:00
John Benediktsson 1eaea88912 pubsubhubbub support by samueltardieu. Fixes #148. 2011-11-28 09:57:03 -08:00
Alex Drummond 93fa3c1670 CouchDB auth provider (furnace.auth.providers.couchdb) 2011-11-28 09:45:42 -08:00
Doug Coleman 2b87eaa1b5 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 63c4bb40e3 tools.deploy.config: docs typos 2011-11-27 14:17:18 -08:00
Joe Groff 975d3f8c2a tools.deploy.shaker: missing using 2011-11-27 14:14:35 -08:00
Joe Groff c64b3575e4 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 b12cdae993 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 46c1cde14c 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 80bd1aef1c tools.deploy.backend: make-deploy-image back out
So "deploy-image-only" still works
2011-11-27 12:37:57 -08:00
Joe Groff 932315a852 tools.deploy.macosx: oops, logic inversion 2011-11-27 12:37:57 -08:00
Joe Groff f5d7ec72c7 ui.tools.deploy: update deploy-console description
No longer windows specific
2011-11-27 12:37:57 -08:00
Joe Groff e99aa3aba8 tools.deploy.config: update docs 2011-11-27 12:37:57 -08:00
Joe Groff ec1b49fe51 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 d9a9155a80 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 19e1046479 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 de5cc96286 new module tools.deploy.embed: make self-exe image 2011-11-27 12:37:55 -08:00
Joe Groff 7754ab2c06 io.directories.unix: make copy-file copy perms
Like the docs claim it does
2011-11-27 12:37:54 -08:00
Joe Groff 14031d8794 icon for user-init-errors 2011-11-27 12:06:48 -08:00
Joe Groff ad92bf7486 break circularity 2011-11-27 11:45:28 -08:00
Joe Groff 0f137bafe9 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 8cb78d5bd2 math.complex: pass tests even if number-base set 2011-11-26 17:46:38 -08:00
Joe Groff 13f27f3d9e prettyprint.backend: can't use locals 2011-11-23 20:20:27 -08:00
Joe Groff 6d1a28aca6 prettyprint: use radix prefixes for number-base 2011-11-23 20:05:23 -08:00
Joe Groff 9123360547 tools.disassembler.utils: 0x isn't a name anymore
sorry bro
2011-11-23 19:48:38 -08:00
Joe Groff 72de75b881 let's pretend BIN: HEX: OCT: never happened 2011-11-23 19:22:37 -08:00
Joe Groff 943596575a use radix literals 2011-11-23 19:03:40 -08:00
Joe Groff 29bf4d7214 ui.backend.cocoa.views: clickthrough is bullshit
I don't care what Slava thinks
2011-11-23 11:29:03 -08:00
Joe Groff f225bf7f55 compiler.cfg.finalization: reenable scheduling
Prolog safepoint appears to work with it enabled
2011-11-23 11:11:27 -08:00
Joe Groff 6498bc65ce compiler: emit safepoints in optimized prologs 2011-11-23 11:11:25 -08:00
Doug Coleman 64bbd248d5 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 0700dca792 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 f7700809c5 compiler tests: fix using, add tests to make sure instance? inlines 2011-11-23 01:01:11 -08:00
Doug Coleman b37bebb17f compiler.tree.propagation.transforms: fix infinite recursion that was breaking prettyprint 2011-11-23 00:48:05 -08:00
Doug Coleman f90bc5cdb6 classes: optimize instance? for classoids 2011-11-22 20:38:07 -08:00
Doug Coleman 17cc8ad1f3 dlists: use maybe: dlist-link. 2011-11-22 19:38:46 -08:00
Doug Coleman 82c5388f68 classes: add syntax for intersection{ and union{ anonymous classes. make classoid a mixin. 2011-11-22 18:49:42 -08:00
Doug Coleman cab0369fec 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 fac17c10ba classes.maybe: move maybe definition from classes.union to classes.maybe 2011-11-22 02:46:36 -08:00
Doug Coleman 0bdd87dace typed: Teach typed about maybe: foo. Should maybe: foo satisfy unboxable-tuple-class? ? 2011-11-22 02:09:12 -08:00
Doug Coleman 067f9830ef 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 e435a7aa59 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 9b73ecdf70 io.monitors: kill outdated doc about kqueue on BSD 2011-11-17 16:56:34 -08:00
Joe Groff 07f206b31b vocabs.refresh.monitor: use resolve-symlinks
It already exists and actually works on windows
2011-11-16 20:35:42 -08:00
Joe Groff 41fe611dda 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 6de9585114 tools.deploy.macosx: fix path to MiniFactor.nib
Fixes #414.
2011-11-16 17:17:54 -08:00
Joe Groff 02df268261 random: don't assume random-bytes is a byte-vector
It's not anymore.
2011-11-16 10:03:42 -08:00
John Benediktsson 40898bf4d0 editors: fix editing of links. Fixes #411. 2011-11-16 09:18:54 -08:00
Joe Groff 1d4660c7ec 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 090dc2f410 vocabs.refresh.monitor: remove debug traces 2011-11-15 20:15:11 -08:00
Joe Groff b5c72dab40 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 36dac58380 update USING:s 2011-11-15 18:37:30 -08:00
Joe Groff 5a66b3b329 rearrange source-file-error error. to load earlier
Fixes #359
2011-11-15 18:26:35 -08:00
Doug Coleman 9ae3b50a53 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 5a2243d481 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 ddcc87f58a 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 1db3d6f051 ui.tools.deploy: remove monkey traps from UI 2011-11-15 12:53:21 -08:00
Joe Groff b0c2f9caae tools.deploy.config: set default io-level 3 2011-11-15 12:52:54 -08:00
Joe Groff a1bb1fbd7a 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 a248fc28a8 opengl: fix small typo in fix-coordinates stack effect. Fixes #406. 2011-11-15 08:18:22 -08:00
John Benediktsson 4d0d1748f0 ui.tools.listener: removing unnecessary spawn. 2011-11-14 10:16:15 -08:00
Joe Groff 54dcd8a4ea 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 dd8bb5b673 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 248066c710 code beautification 2011-11-13 16:10:26 -08:00
Joe Groff a10fa68218 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 32b7dc116f 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 9a19f82470 compiler.tree.propagation: missed using 2011-11-13 16:10:25 -08:00
Joe Groff 873208f986 compiler: more peephole tests for shl/sar 2011-11-13 16:10:24 -08:00
Joe Groff 4261d8bb8d 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 dd8dda4f48 math.vectors.simd: make vcount work for all ints 2011-11-13 16:10:23 -08:00
Joe Groff 5411a67b22 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 da81cb9035 math.bitwise: don't count the same bits over&over 2011-11-13 16:10:22 -08:00
Joe Groff 706c9ee3b9 math.bitwise: hotrod nonintrinsic fixnum-bit-count 2011-11-13 16:10:21 -08:00
Joe Groff d79b462f75 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 d1786adfe4 new module images.viewer.prettyprint
Pretty-prints image objects as images.
2011-11-13 12:12:23 -08:00
Slava Pestov 910748819d Now that #foo and ##foo are symbols we can remove a bunch of \ 2011-11-12 22:04:26 -08:00
John Benediktsson 96d5c2fac8 ui.operations: fix stack names. 2011-11-12 18:48:18 -08:00
Doug Coleman 62f652a5a1 io.directories: fix delete-file on windows, add unit test 2011-11-12 18:28:07 -08:00
Slava Pestov 07ef058fb0 Fix bootstrap 2011-11-12 16:45:04 -08:00
John Benediktsson 340e69aef3 formatting: improve summary.txt. 2011-11-12 16:18:39 -08:00
Slava Pestov 1d257c1ce4 Prevent predicate engine words from showing up in usage. results 2011-11-12 15:35:51 -08:00
Slava Pestov 03d6665166 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 67a6a51654 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 f7ca2446a3 editors.jedit: return "jedit" when looking for jedit path 2011-11-12 14:36:35 -08:00
Joe Groff e0dc236725 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 e24400679f 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 6cca0ea468 compiler.cfg: Rename <##foo> to ##foo, in the low-level IR 2011-11-11 19:48:38 -08:00
Joe Groff 1c99568492 io.sockets.windows: plug receive-from memory leak
Should fix #387.
2011-11-11 17:56:04 -08:00
Joe Groff 88bbffd838 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 316426e1ec 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 c31530caec 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 433b8e6b6b sequences.parser: fix load error 2011-11-10 12:33:10 -08:00
Joe Groff c8fd36bbdb 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 82e01fb58c new module typed.namespaces: get/set + type check 2011-11-10 10:47:21 -08:00
Slava Pestov 98d98ab04a io.ports: clean up 2011-11-10 00:40:31 -05:00
Joe Groff d685cb6502 io.ports: make read-step inline 2011-11-09 19:59:46 -08:00
Joe Groff 47cedd8d3d slice boa -> <slice-unsafe>
If you didn't define it, don't boa it
2011-11-09 19:22:09 -08:00
Joe Groff a67931b7c5 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 9443f30b7d 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 5a3537b90a 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 bab801b321 io.ports: make read-step TYPED:
Eliminates more dispatch. For #376.
2011-11-09 14:13:41 -08:00
Joe Groff 63c48aa952 io.buffers, io.ports: trim some dispatch
For #376. Still some work to do.
2011-11-09 13:31:02 -08:00
Joe Groff 2dd31f4602 tools.profiler.sampling: preliminary docs 2011-11-09 11:34:31 -08:00
Joe Groff 97a048fdc1 deques: fix help-lint 2011-11-08 23:27:33 -08:00
Joe Groff 466d41c341 unix.signals: documentation and metadata 2011-11-08 23:12:10 -08:00
Joe Groff 637af2eedd tools.profiler.sampling: top-down-max-depth report
Fixes #366
2011-11-08 14:35:25 -08:00
Joe Groff d2b39269d8 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 786bba8a63 deques: adding ?peek-front and ?peek-back. 2011-11-08 13:20:56 -08:00
Joe Groff feb8c6149a 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 8b9c9a5c63 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 fc7c175c9f 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 8337b08d0d io.backend.unix: startup hook for signal-pipe 2011-11-08 08:42:48 -08:00
Joe Groff ed24890dce 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 55a316248e io.launcher.windows: update tests for prompt 2011-11-08 00:09:25 -08:00
Joe Groff 0856bb5711 lists: make lmap behave row-polymorphically
Fix contributed by @bremac. Fixes #355.
2011-11-07 10:37:35 -08:00
Doug Coleman eb2a0c611b compiler.cfg: Change low-level IR constructors from ##foo to <##foo> 2011-11-06 23:02:46 -08:00
Doug Coleman d65bd97a54 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 60f928ddbf 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 9048233d27 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 4c197ec6e6 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 c731dc6edb Rename lookup to lookup-word. 2011-11-06 16:00:00 -08:00
Doug Coleman bc7162743c 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 15575e5dd9 help.html: fix glossary link. 2011-11-05 00:05:58 -07:00
Doug Coleman 9d393f3709 Make edit-vocab work on an unloaded vocabulary. 2011-11-04 23:33:18 -07:00
Joe Groff c736b04ada cpu.x86.*.bootstrap: save flags in signal-handlers 2011-11-04 11:56:01 -07:00
Joe Groff a934b7f3e5 cpu.x86.bootstrap: cell -> bootstrap-cell 2011-11-04 11:54:40 -07:00
Joe Groff 4ef2a9b4f0 cpu.x86.assembler: PUSHF, POPF instructions 2011-11-04 11:23:11 -07:00
Joe Groff d9293337bb 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 cb14adb1c2 Fix bootstrap. Add missing using on io.serial.linux. Fixes #351. 2011-11-04 06:08:02 -07:00
Joe Groff 7942f807c9 unix.ffi: add signal constants 2011-11-04 00:24:18 -07:00
Joe Groff 1bc623167f 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 7619ff785b stack-checker.known-words: add ffi-signal-handlers 2011-11-03 15:20:42 -07:00
Joe Groff e201f3562f cpu.x86.32.bootstrap: typo 2011-11-03 13:07:13 -07:00
Doug Coleman 2d12fea828 Update emacs for editors protocol. 2011-11-03 12:04:02 -07:00
Joe Groff 6bb46a3f1e 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 8679fe82bb tools.profiler.sampling: mess with formatting more 2011-11-03 00:14:18 -07:00
Joe Groff 0c701fb68d 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 d28845a1ef 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 86c35999f9 dlists: fix compile error 2011-11-02 21:57:31 -07:00
Joe Groff f71187c775 tools.profiler.sampling: twiddle output format 2011-11-02 21:40:53 -07:00
Doug Coleman e6bde7c6aa Tweak the dlist equal? word. 2011-11-02 19:53:40 -07:00
Doug Coleman e57b8e5e4a Implement equal? on dlists. Fixes #338. 2011-11-02 19:30:54 -07:00
Joe Groff bf0e07cffe images.loader.gtk: typo 2011-11-02 19:02:27 -07:00
Joe Groff 1b38835207 remove lingering mentions of macosx-ppc 2011-11-02 18:40:27 -07:00
Doug Coleman 1eed9203bb 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 69ffe6377a io.backend.unix.macosx: Remove duplicate USE: 2011-11-02 17:47:15 -07:00
Doug Coleman ee741143e0 Fix unit tests to give the sampling profiler something to profile. 2011-11-02 17:46:50 -07:00
Doug Coleman f3c8423382 Fix require-hook 2011-11-02 17:26:13 -07:00
Doug Coleman 03a5293ed1 Add stack effects for the sampling profiler 2011-11-02 17:26:13 -07:00
Joe Groff 8cf18d1a82 remove BSD,solaris,etc. misc platform support code 2011-11-02 17:13:51 -07:00
Doug Coleman 7378ba7717 Unbreakify the new profiler, add a couple of unit tests to demonstrate displaying output. 2011-11-02 17:01:43 -07:00
Doug Coleman 4d66cd26dc Keep the profiling results even when the quotation throws an exception. 2011-11-02 16:47:27 -07:00
Doug Coleman 05c96477f3 Use -reuseview in jedit by default. 2011-11-02 16:47:10 -07:00
Doug Coleman fb44adef99 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 86e3817e40 Actually let the user pick an editor after editor protocol change. 2011-11-02 16:05:39 -07:00