Commit Graph

23159 Commits (12c569e3a7b08a0ce70bc26e6323a7c256150c23)

Author SHA1 Message Date
Joe Groff 12c569e3a7 vm: verifier shouldn't check for leftovers
It doesn't work after things have been freed
2011-12-14 09:56:45 -08:00
Joe Groff 14e0c9f482 vm: pack frame size into code block header bits 2011-12-14 09:56:45 -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 06a87c41d6 vm: erase code blocks from all_blocks during sweep
Fixes #437
2011-12-13 12:28:09 -08:00
Joe Groff 8f8873c859 vm: reinitialize all_blocks from scratch after gc
Faster and more likely to be correct than trying to fixup the existing set
2011-12-12 19:05:48 -08:00
Joe Groff 857b52401c vm: only verify all_blocks set if it's invalid
Verifying on every sample is way too slow to be practical when debugging bootstrap.
2011-12-12 19:04:56 -08:00
Joe Groff f51e262e44 vm: add compact-gc command to factorbug 2011-12-12 19:03:42 -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
rien 3b52a5ae6e fixed effect based on inner behavior and outer context 2011-12-10 19:47:34 -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 64886491e4 bootstrap/stage1: Turn off parser-quiet? flag sooner so the files loaded in the USING: list in stage2 print a loading message. 2011-11-30 23:15:43 -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 88c0a0e2ea vm: fix msvc warning 2011-11-29 12:19:17 -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 b50ffc6da0 io: implement stream protocols on f
Fixes deployed applications that write to output-stream
2011-11-28 20:36:34 -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 61c0d6badf fastcgi: fix load and compile errors 2011-11-28 18:56:00 -08:00
Joe Groff 9ec3376aa5 benchmark.regex-dna: reduce IO deploy level again 2011-11-28 18:55:48 -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