Commit Graph

482 Commits (8c223d40736c3150771cc8b0bda59d4aa873d628)

Author SHA1 Message Date
John Benediktsson dea7e0f50d stack-checker: too tired to figure out which using is required but not used. 2015-07-31 21:57:37 -07:00
John Benediktsson 31ecc5ef86 stack-checker: using cleanup. 2015-07-31 20:41:46 -07:00
John Benediktsson 5eec781b40 use ``if*`` instead of ``dup [ ] [ drop ] if``. 2015-07-20 22:24:30 -07:00
Doug Coleman 2c257f399c factor: Rename MACRO: and MACRO: to have quot as the output in stack effects. 2015-07-18 22:16:11 -07:00
John Benediktsson 4c2c8f133f vm: rename some primitives, and some cleanup.
* quot-compiled? => quotation-compiled?
* optimized? => word-optimized?
2015-07-15 11:13:52 -07:00
Björn Lindqvist b9b75c272b VM: let's merge (save-image) and (save-image-and-exit) into one 3
arg (save-image). it's good not to have to many similar primitives
2015-07-12 22:36:59 +02:00
Doug Coleman 892c62e1dc factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test 2015-07-03 09:39:59 -07:00
Doug Coleman 43d6f1d3e2 factor: Retrying on the unit tests. Also normalize some syntax with FUNCTION:. 2015-07-02 17:28:17 -07:00
Doug Coleman 59f3b1ea57 Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
Needs a bit more work.

This reverts commit 7e54cc2824.
2015-07-02 13:47:06 -07:00
Doug Coleman 7e54cc2824 factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool! 2015-07-02 11:36:08 -07:00
Doug Coleman 352e5de16a core, basis, extra: Remove DOS line endings from files.
Remove whitespace from end of lines.
Add a newline to the end of each file.
2015-06-29 17:25:40 -07:00
Björn Lindqvist 35b04f8ec1 VM: fixes a bug with the handling of 0 bignums, and declares bignum/mod
to maybe output fixnums
2015-06-27 16:14:58 +02:00
Björn Lindqvist 2f835d3666 compiler.tree.propagation.*: implements downgrading to fixnum for the
mod word, maybe a first step in solving #224

factor_vm::primitive_bignum_mod is changed so that it outputs a fixnum
if the value is small enough. Then the compiler can take advantage of
knowing that expressions like [ >bignum 10 mod ] always result in a
fixnum [-9,9] and inline more arithmetic.
2015-06-27 16:14:58 +02:00
John Benediktsson b366a06c41 use reject instead of [ ... not ] filter. 2015-05-12 18:50:34 -07:00
John Benediktsson e1d18579e7 cpu/stack-checker: fix some help-lint warnings. 2015-05-10 10:13:57 -07:00
Björn Lindqvist 0c2559ef6e compiler.*: a bunch more compiler docs 2015-05-09 20:04:22 -07:00
Doug Coleman 5e48dfb1e6 stack-checker.state: Fix error in docs. Tweak doc grammar. 2015-02-05 13:49:14 -08:00
John Benediktsson 7053d28b6d stack-checker: minor help-lint fixes. 2015-02-05 07:22:15 -08:00
Björn Lindqvist 636d8879d6 stack-checker.*: misc doc additions 2015-02-05 11:01:05 +00:00
Björn Lindqvist f99c03d023 stack-checker.known-words: docs and tests 2015-02-05 11:01:05 +00:00
Björn Lindqvist 086dffc53a stack-checker.values: docs and tests 2015-02-05 11:01:05 +00:00
Björn Lindqvist bd376f5094 stack-checker.state: docs and tests 2015-02-05 11:01:04 +00:00
Björn Lindqvist b493dac3c9 stack-checker.backend: docs and tests 2015-02-05 11:01:04 +00:00
John Benediktsson 49bcbaee7a removing small and unnecessary files. 2014-11-29 17:24:42 -08:00
Benjamin Pollack 2c3dd8c3c8 Remove executable bit from tons of files that aren't 2014-11-05 20:40:42 -08:00
Björn Lindqvist aad8d4b8d6 alien,stack-checker.alien: new word with-callback
Since callbacks aren't automatically deallocated this word intends to
make sure "inline" callbacks are.
2014-10-22 07:02:55 -07:00
John Benediktsson c8cfaee9af stack-checker: make this an unchecked-example. 2014-10-19 08:29:51 -07:00
Björn Lindqvist a617855aef Docs: fixing smaller help-lint nitpicks 2014-10-19 14:05:06 +02:00
Björn Lindqvist 88fb349bd0 stack-checker,compiler: docs for stack-checker and compiler words 2014-10-17 23:18:57 +02:00
Doug Coleman 8fc2ecc281 stack-checker.alien: We just want to track callbacks to see if we leak them, but not actually dispose of them yet. Fixes #1151. 2014-10-09 09:56:28 -07:00
Björn Lindqvist 5cf8c7cfba alien,stack-checker.alien: move callback-destructor to the alien vocab
It can't be placed in stack-checker.alien because that vocab isn't
included in deployed images which lead to weird errors when the
destructors trigger.
2014-09-29 07:30:22 -07:00
Björn Lindqvist 3f65984055 stack-checker.alien: use free-callback as a destructor when creating
callbacks

+ tests proving it works. now in case you create temporary callbacks you
can enclose them in with-destructors and it will just work(tm).
2014-09-29 07:30:21 -07:00
Björn Lindqvist e00798cd2a VM: new primitive free-callback which is able to free a callback
previously allocated using <callback>
2014-09-29 07:30:21 -07:00
Björn Lindqvist a338fa08e7 stack-checker.known-words: stack effect for <callback> is switched, it
should be ( word integer -- alien )
2014-09-29 07:30:21 -07:00
Björn Lindqvist 4a96e6163b VM: new primitive (callback-room) for querying the VM about memory usage
The word works exactly like (code-room) except it looks at the memory
usage in the callback heap instead of the code heap.
2014-09-29 07:30:21 -07:00
Doug Coleman 712aa303db compiler, stack-checker docs: Fix for 32-bit builds. 2014-07-03 12:21:17 -07:00
John Benediktsson 8ed47488e9 stack-checker.alien: fix help-lint. 2014-06-09 14:15:18 -07:00
John Benediktsson 445c7f299a stack-checker.known-words: adding bignum>fixnum-strict. 2014-06-08 18:02:16 -07:00
Björn Lindqvist 4f91e9efbb Docs: more docs for stack-checker.* words 2014-06-08 11:48:30 -07:00
Björn Lindqvist 395a490b90 Docs: documentation for stack-checker.* and compiler.* vocabs 2014-06-08 11:48:30 -07:00
John Benediktsson 57f9d78892 improve help by linking to types directly. 2014-05-23 20:20:15 -07:00
Björn Lindqvist 669bb0a77e Docs: stub docs for some compiler-related words 2014-05-10 17:13:48 -07:00
John Benediktsson 9d3a654443 namespaces: removing make-assoc in favor of explicit get's. 2014-04-24 09:16:14 -07:00
John Benediktsson d103b38d3f stack-checker.dependencies: use short-circuit better. 2013-04-06 16:44:50 -07:00
John Benediktsson b38f96de9b stack-checker: make recursive-reduce have same signature as reduce. 2013-03-27 18:56:47 -07:00
John Benediktsson 2ef3266406 stack-checker: maybe add a test that tests what the todo said. 2013-03-27 18:44:32 -07:00
John Benediktsson c6e72c40ae stack-checker: remove a test that is no longer valid, need to replace it with something. 2013-03-27 18:17:49 -07:00
John Benediktsson 1754ab73bd basis: fewer tokens when possible using if*. 2013-03-23 22:25:02 -07:00
Doug Coleman 5a1692eead stack-checker: Rename literal -> literal-tuple. 2013-03-23 16:12:03 -07:00
Doug Coleman 8c19602ae9 assocs: Add of and ?of. Change all the things at once! Fixes #701. 2013-03-23 14:59:07 -07:00
John Benediktsson 2bbec0dd61 stack-checker: more use of hash-sets. 2013-03-16 13:41:51 -07:00
Doug Coleman 875e45a640 sequences: Add some short useful factors. Clean up the use of longest. 2013-03-11 17:47:52 -07:00
John Benediktsson 013160df9a change some "2drop 2drop" to "4drop". 2012-10-23 12:21:30 -07:00
John Benediktsson 909b28a360 stack-checker: adding 4dup and 4drop. 2012-10-22 12:27:15 -07:00
Doug Coleman 106e4d100e stack-checker: Add alien-assembly to the do-not-compile list. Remove a duplicate word from the do-not-call list. Reorder a bit. 2012-10-22 09:47:35 -07:00
Doug Coleman 3582a6c624 kernel: Add 4dup, 4drop, and 4cleave. 2012-10-22 09:47:34 -07:00
John Benediktsson 4e72d80256 Using "same?" in more places. 2012-07-21 10:22:44 -07:00
Doug Coleman d979478bc4 stack-checker: meta-d was a word and symbol, now meta-d word and (meta-d) symbol
issuse #358
2012-07-20 12:30:14 -07:00
Doug Coleman 1c3deddf61 issue #358: Rename all of the words depends-on-* to add-depends-on* 2012-06-21 08:35:45 -07:00
John Benediktsson 8c1165cac1 cleanup some lint warnings. 2012-04-18 17:46:01 -07:00
John Benediktsson 22c26ff3f5 vm: adding bignum_gcd primitive. 2012-04-05 09:17:35 -07: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
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
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 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
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 7619ff785b stack-checker.known-words: add ffi-signal-handlers 2011-11-03 15:20:42 -07:00
Doug Coleman 03a5293ed1 Add stack effects for the sampling profiler 2011-11-02 17:26:13 -07:00
Joe Groff eac90675c0 move counting profiler to tools.profiler.counting 2011-11-02 13:23:09 -07:00
Joe Groff 33919b2919 tools.profiler: rename to tools.counting-profiler 2011-11-02 13:23:06 -07:00
Slava Pestov c1b7de8339 stack-checker.known-words: add effects for signal-handler and leaf-signal-handler primitives, even though they can't be called directly 2011-10-29 17:15:35 -07:00
Doug Coleman ff69e2f240 Rename c-type to lookup-c-type. Fixes #230. 2011-10-24 14:37:24 -07:00
John Benediktsson b237df3a3b Remove unused stack effects from DEFER: declarations. 2011-10-18 14:42:17 -07:00
John Benediktsson 80e1c8e3f2 Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed. 2011-10-18 13:19:39 -07:00
Joe Groff 5a072c57a6 bootstrap, io.streams.c: use new fread primitive
Change the fread primitive to fread-unsafe, matching the new primitive in the VM, and update the implementation of c-reader to implement stream-read-unsafe and stream-read in terms of fread-unsafe
2011-10-17 21:22:58 -07:00
Joe Groff f39f97840a stack-checker: update tests
[ bi ] infer now hits the row polymorphism checker before it hits the unknown-macro-input checker because of the effect on keep. Change the test to more directly test that call fails with an unknown input.
2011-10-14 15:35:29 -07:00
John Benediktsson afc07c0e05 io.binary: make le> and be> faster (20% and 75%, respectively).
Removed primitive byte-array>bignum and digit_stream_to_bignum from vm/.
2011-10-11 21:13:30 -07:00
Doug Coleman 181f11faa8 Make M\ throw an error upon lookup failure. Change method -> ?lookup-method, lookup-method is the throwing version of ?lookup-method. Fixes #229. 2011-10-03 15:49:49 -07:00
Doug Coleman 8504b17aad Rename spread>quot to deep-spread>quot, and spread>quot-shallow to shallow-spread>quot. 2011-10-02 20:25:39 -07:00
Doug Coleman 001ac7fbcd Extraneous top-level stack-effect 2011-09-25 19:32:34 -07:00
Joe Groff e293966618 stack-checker.row-polymorphism: check stack effects correctly when a one-sided polymorphic declared effect is matched to a shallow subtype, for example, ( x -- ..a ) to ( -- ); fixes #88 2011-09-09 18:13:17 -07:00
Slava Pestov ed9cf9e4fd Move some primitives from memory and memory.private to tools.memory.private, add data-heap and code-heap words that wrap the struct for you 2011-09-05 16:47:29 -07:00
Erik Charlebois 64252dbdbc 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Slava Pestov c36d73e242 Change do-callback to register the current thread with the callback, instead of busy waiting for the current callback to become the right one before returning. Fixes 100% CPU usage issue with system-alert. Thanks to Blei and ex-rzr for doing preliminary analysis of the issue 2011-04-12 21:48:54 -04:00
Keita Haga 073eda332a In several documentation, remove whitespace before or after the colon or period 2011-02-10 01:51:13 +09:00
Keita Haga c04fbe892d stack-checker: add a sample output in the last example of inference-recursive-combinators article 2011-01-23 22:48:41 +09:00
Slava Pestov f27080498d Remove bignum>float VM primitive, and use bignum/f to implement >float on bignums instead, for a slight accuracy gain. Also, bignum/f now has a more efficient post-scaling algorithm to break the circular dependency on bignum>float 2010-11-24 22:41:15 -08:00
Slava Pestov 3323284db4 stack-checker.alien: get a bit more inlining going with callbacks, to expose another bug 2010-09-05 21:27:39 -07:00
Slava Pestov d2cf2d8f92 Rename get-fpu-state entry point to fpu-state, and fix stack-checker unit tests 2010-09-04 12:58:59 -07:00
Slava Pestov 1985705413 compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths 2010-08-13 23:59:19 -07:00
Slava Pestov 723d780703 stack-checker.alien: generate a declaration for input parameter types 2010-07-30 15:50:05 -04:00
Slava Pestov fd1aad71bd combinators: make the behavior of 'case' consistent between the optimized and unoptimized forms 2010-07-30 14:21:30 -04:00
Slava Pestov 0f4c5d2bff classes.algebra: make it work better to fix bug reported by Sascha Matzke 2010-07-29 19:57:23 -04:00
Slava Pestov 168dd1f825 FFI rewrite part 7: compile callback bodies with the optimizing compiler 2010-07-28 00:49:26 -04:00
Slava Pestov e2ceb11337 stack-checker: calling 'boa' on a non-tuple would compile as a no-op rather than an error (reported by Joe Groff); clean up some other error reporting code too 2010-07-17 15:57:44 -04:00
Slava Pestov ae2c2909af Revert guarded method inlining
This reverts commit 44a835e3fc, reversing
changes made to d45926bda0.
2010-06-24 12:35:21 -04:00
Slava Pestov e07ce4d220 stack-checker.dependencies: Oops 2010-06-24 05:27:01 -04:00
Slava Pestov 97eb276c48 stack-checker.dependencies: fix error thrown if depends-on-single-method parameters are no longer valid 2010-06-24 04:28:40 -04:00
Daniel Ehrenberg 7599841221 Merge branch 'master' of git://factorcode.org/git/factor into propagation 2010-06-23 12:17:24 -04:00
Slava Pestov 1014b62ee7 stack-checker.row-polymorphism: minor cleanup 2010-06-22 22:35:55 -04:00