Commit Graph

10124 Commits (837b22336eca418f37b627a734ef1887f6e27bcd)

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