Commit Graph

10062 Commits (af989f533a5edcf71c990f6f754bd9da2e6579f2)

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