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