Commit Graph

2774 Commits (a118f208dca35c09530364507a20b6c5e9d6185d)

Author SHA1 Message Date
Slava Pestov c04fef10c7 vm: ensure that non-optimized calls to generic words which have not yet been compiled can still work 2010-01-06 23:49:14 +13:00
Slava Pestov 36d2ac8921 vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64 2010-01-06 15:47:36 +13:00
Slava Pestov ba5b90e063 Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM
- Simplify calculation of offset in relocation table
- Open-code %alien-callback
- Remove magic_frame hack from context objects
- Move magical return instruction from optimizing compiler backend into callback entry stub
2010-01-03 01:11:51 +13:00
Slava Pestov 38f06b8558 continuations: remove outdated comment 2009-12-28 12:42:25 +13:00
Slava Pestov 63023ae227 kernel: fix set-callstack docs 2009-12-28 12:41:45 +13:00
Slava Pestov 819e46f42b kernel: fix stack effect declarations of call-clear and set-callstack, and add a unit test for call-clear 2009-12-26 15:38:01 +13:00
Slava Pestov 08cd0df788 primitives.factor: move call-clear into kernel.private since its unsafe 2009-12-26 15:27:39 +13:00
Slava Pestov eb0a28aa54 Merge branch 'master' of git://factorcode.org/git/factor 2009-12-15 07:21:17 -05:00
Slava Pestov f6c0c64518 threads, io.streams.c: cleanups 2009-12-15 07:20:41 -05:00
Slava Pestov 0068bce934 vm: big overhaul of non-optimizing compiler
- change some primitives into sub-primitives: fixnum+ fixnum- fixnum* inline-cache-miss inline-cache-miss-tail
- rename some relocation types for clarity
- some other minor re-organizations and cleanups
2009-12-15 07:20:09 -05:00
Doug Coleman 9fea67f3ff triyng to rice crc32 a bit 2009-12-13 02:03:06 -06:00
Slava Pestov 4cea294cfd sequences: fix map-reduce and 2map-reduce docs, reported by Ben Schlingelhof 2009-12-12 15:16:11 -05:00
Doug Coleman 26de809d57 link pusher and accumulator in docs 2009-12-07 16:26:24 -06:00
Joe Groff 67cc1c01be Merge branch 'master' into simd-cleanup 2009-11-26 16:14:46 -08:00
Slava Pestov 0612bc6177 Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Slava Pestov 24c3ddbbde Clean up startup/shutdown hook code 2009-11-20 00:57:49 -06:00
Doug Coleman adcb0df0c4 fix stack effects for nanosseconds, update io backends for nanos 2009-11-19 04:51:47 -06:00
Slava Pestov 40348ed0ce combinators: fix typo in docs 2009-11-19 02:08:14 -06:00
Doug Coleman f4450653a9 remove system-millis and update vocabs to use system-micros or nano-count 2009-11-18 20:56:09 -06:00
Doug Coleman 41b931a615 fix system docs 2009-11-18 18:34:16 -06:00
Doug Coleman 11c9c6004f document nano-count, move monotonic-clock to hell 2009-11-18 16:33:10 -06:00
Doug Coleman 6f7ec206a1 rename millis to system-millis, micros to system-micros, add nano-count 2009-11-18 15:58:48 -06:00
Doug Coleman b4206f5252 initial commit to nanos branch to replace micros 2009-11-18 04:20:05 -06:00
Slava Pestov e30d275e41 compiler.cfg: 'basic-block new hashcode' should not throw an exception; fixes tools.deploy.test.11 2009-11-16 02:01:36 -06:00
Doug Coleman cc194416f9 Merge branch 'master' into startup
Conflicts:
	core/bootstrap/primitives.factor
	vm/run.hpp
2009-11-15 02:52:50 -06:00
Joe Groff f544982fda Merge branch 'master' of git://factorcode.org/git/factor into simd-cleanup
Conflicts:
	basis/math/vectors/simd/functor/functor.factor
2009-11-14 21:02:39 -06:00
Slava Pestov 11174a7ffe hashtables: fix indentation 2009-11-14 02:01:30 -06:00
Slava Pestov e32c167b7a Merge branch 'master' of git://factorcode.org/git/factor 2009-11-14 01:59:32 -06:00
Slava Pestov bb8eabba36 Unit test fixes 2009-11-13 23:00:50 -06:00
Doug Coleman ccd35c2f4f Merge branch 'master' of git://factorcode.org/git/factor 2009-11-13 15:03:16 -06:00
Slava Pestov 47087480a9 Bootstrap cleanups 2009-11-13 08:05:02 -06:00
Slava Pestov ea36783fb3 Fix bootstrap 2009-11-13 07:55:47 -06:00
Slava Pestov 5470330c45 Fix another problem with call( inline caching 2009-11-13 07:17:00 -06:00
Slava Pestov afecb9c758 Fixing call( inline caching 2009-11-13 04:32:33 -06:00
Slava Pestov 86da8ebed9 Instead of bumping the definition counter every time in the VM, bump it only if stack effects changed or macros were redefined 2009-11-13 03:52:14 -06:00
Slava Pestov 8dd8d70500 sequences: inline a couple of words 2009-11-13 03:01:28 -06:00
Slava Pestov 14a4535ad9 classes.algebra: output cleaner anonymous unions and intersections 2009-11-13 03:01:22 -06:00
Doug Coleman b71d86a1dc update more 8bit encoding usages 2009-11-12 18:36:47 -06:00
Doug Coleman aec676edec use surround/glue instead of 3append 2009-11-12 03:01:09 -06:00
Slava Pestov 41c17f0429 Fixing test failures 2009-11-11 02:40:24 -06:00
Slava Pestov 2afd7ce244 Faster identity-hashcode primitive; fast path now opencoded by the compiler 2009-11-11 02:27:19 -06:00
Slava Pestov b551721dd9 Minor cosmetic fixes 2009-11-10 21:48:00 -06:00
Slava Pestov 064c00f78d New identity-hashcode primitive 2009-11-10 21:18:54 -06:00
Slava Pestov 5d3c4a5404 io.pathnames: document resource: and vocab: 2009-11-10 18:57:46 -06:00
Slava Pestov c693587018 classes.algebra: cleanup 2009-11-10 17:41:47 -06:00
Slava Pestov 0beec6befc Merge branch 'master' of git://github.com/Blei/factor 2009-11-09 00:57:41 -06:00
Joe Groff 788289e51e Merge branch 'master' into simd-cleanup 2009-11-08 21:54:53 -06:00
Slava Pestov cd2e226afa stack-checker: split off stack-checker.dependencies from stack-checker.state 2009-11-08 20:34:46 -06:00
Slava Pestov a361e68f30 generic, words: update unit tests for deopt data structure change 2009-11-08 19:44:04 -06:00
Slava Pestov 5d79450d9d Use a more compact representation for "compiled-uses" and "compiled-generic-uses" word-props; reduces image size 2009-11-08 06:08:04 -06:00
Joe Groff 6047f79996 pronouns deserve antecedents 2009-11-07 23:15:30 -06:00
Joe Groff 8894e9047c Merge branch 'master' into simd-cleanup 2009-11-07 22:26:09 -06:00
Philipp Brüschweiler 8163c47b4a sequences: rename virtual-seq to virtual-exemplar 2009-11-07 00:06:26 +01:00
Joe Groff 2352792502 factor "split-when" (split on predicate) from "split" 2009-11-06 16:29:33 -06:00
Joe Groff ca7f07eed9 actually, no, it doesn't provide warnings for references to forgotten words 2009-11-06 15:25:33 -06:00
Slava Pestov a46671e3ad math.integers: fix help lint on 32-bit 2009-11-06 04:52:52 -06:00
Slava Pestov a089163a40 math: fix test failures on 32-bit 2009-11-06 04:50:41 -06:00
Slava Pestov 209436071f memory: fix help lint 2009-11-06 04:17:57 -06:00
Slava Pestov 734f18624c generic.single: simplify stack shuffling 2009-11-06 04:15:46 -06:00
Slava Pestov ba31abb301 Fix some test failures 2009-11-06 02:35:43 -06:00
Joe Groff 00ce8b6a33 deprimitivize tuck and put it to pasture 2009-11-05 22:47:05 -06:00
Joe Groff 4b0edb34d3 Merge branch 'master' of git://factorcode.org/git/factor 2009-11-05 22:23:21 -06:00
Slava Pestov 4061951d1c vm: simpler object space implementation. begin-scan/next-object/end-scan primitives replaced by a single all-instances primitive 2009-11-05 21:49:03 -06:00
Joe Groff 61d579360d remove non-primitive-related uses of tuck from basis 2009-11-05 17:03:24 -06:00
Joe Groff 6e9d369331 remove spin from core and retire it to basis/shuffle 2009-11-05 15:40:48 -06:00
Joe Groff 75d04922b9 Merge branch 'master' into simd-cleanup
Conflicts:
	basis/math/vectors/simd/functor/functor.factor
2009-11-05 11:27:08 -06:00
Slava Pestov 47df580081 tools.time: overhaul 2009-11-05 01:07:59 -06:00
Slava Pestov 109aa88b06 compiler: update unit tests for 4-bit tag change 2009-11-03 21:40:29 -06:00
Slava Pestov d7dceed096 slots: another bootstrap fix 2009-11-02 20:28:43 -06:00
Slava Pestov 2c0531b015 vm: faster immediate_p() 2009-11-02 20:21:21 -06:00
Slava Pestov 857d0ba1fd core: bootstrap fixes 2009-11-02 20:21:10 -06:00
Joe Groff e0ba0c5539 genericize vector ops 2009-11-02 14:21:19 -06:00
Slava Pestov e4ad642134 vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress) 2009-11-02 04:25:54 -06:00
Slava Pestov f21199005d Merge branch 'master' into new_gc 2009-11-01 22:17:27 -06:00
Joe Groff 9184254f2c move define-inline-method from classes.struct.private to generic.parser 2009-11-01 22:10:28 -06:00
Joe Groff 61a3e4e814 new, faster one-pass number parser 2009-11-01 01:59:12 -05:00
Joe Groff 60aecace7d remove dangling PRIVATE> from math.parser 2009-11-01 00:42:25 -05:00
Joe Groff 3774c72591 rearrange destructive sequence ops docs 2009-10-31 16:53:39 -05:00
Joe Groff 2f90b13160 touch up quotation documentation 2009-10-31 16:40:10 -05:00
Joe Groff 9163e4e552 clean up cleave/spread/apply combinator articles 2009-10-31 15:41:34 -05:00
Joe Groff d4a207662e might want to accurately divide large negative fixnums too 2009-10-31 12:10:29 -05:00
Joe Groff a7011fe087 use bignum/f to get accurate division of fixnums >= 2^53 on 64-bit platforms 2009-10-31 12:06:56 -05:00
Slava Pestov b2ba465bcd Merge optimizations from master branch 2009-10-31 03:02:19 -05:00
Joe Groff 07254fa823 Merge branch 'master' of git://factorcode.org/git/factor 2009-10-30 22:02:15 -05:00
Joe Groff d55a3a3445 remove useless slot types from copy-state 2009-10-30 22:01:51 -05:00
Slava Pestov 37abac7407 Merge branch 'master' into new_gc 2009-10-30 21:04:37 -05:00
Slava Pestov c05affdce3 Merge branch 'master' of git://factorcode.org/git/factor 2009-10-30 21:00:26 -05:00
Slava Pestov 0d24e65e4e growable: M\ growable contract should be declared inline, fixes performance regression on stack benchmark 2009-10-30 20:53:47 -05:00
Joe Groff 3af3536404 clean up copy implementation for real 2009-10-30 19:39:46 -05:00
Joe Groff 3f15e028f7 exile roll and -roll to basis/shuffle and mark them deprecated 2009-10-30 17:11:45 -05:00
Joe Groff 9624b0c5c3 add inlinable assoc methods on f 2009-10-30 15:22:14 -05:00
Joe Groff 70ffa003ec eliminate roll/-roll from core 2009-10-30 13:36:15 -05:00
Slava Pestov 6f9336c29e Merge branch 'master' into new_gc 2009-10-30 03:03:05 -05:00
Joe Groff 1cf45abf06 Merge branch 'master' of git://factorcode.org/git/factor 2009-10-30 00:42:37 -05:00
Joe Groff 09e76591b1 start cleaning up internal implementation of copy (needs more work) 2009-10-30 00:42:21 -05:00
Joe Groff eccf3fba9d shun ugly shuffle words in the docs 2009-10-29 19:42:55 -05:00
Joe Groff 3cf641a87c remove inaccurate comment from sequences docs example 2009-10-29 15:34:38 -05:00
Doug Coleman 1d12a6707d sigma -> map-sum 2009-10-29 14:34:04 -05:00
Joe Groff a8b9477fe7 clean up typos and improve synergy between locals and namespaces docs 2009-10-29 14:08:45 -05:00
Joe Groff f21ba7a759 update the article on shuffle words to hide away the more troublesome ones 2009-10-29 14:07:46 -05:00
Joe Groff 2599993093 link vocabularies->words->quotations in synopsis documentation 2009-10-28 22:48:25 -05:00
Doug Coleman e376a0ece2 (normalize-path) -> absolute-path, canonicalize-path -> resolve-symlinks 2009-10-28 17:25:50 -05:00
Doug Coleman 1738fb7c5e link a word in docs 2009-10-28 16:17:08 -05:00
Doug Coleman 3e9593d3c0 add a unit test for accumulate! 2009-10-28 16:12:43 -05:00
Doug Coleman def951ce9b add accumulate! for joe 2009-10-28 16:10:05 -05:00
Doug Coleman 93de179c2f over push -> suffix!, over push-all -> append! 2009-10-28 15:29:01 -05:00
Doug Coleman bd13e018dd memq? -> member-eq?, sorted-memq? -> sorted-member-eq? 2009-10-28 15:02:00 -05:00
Doug Coleman 1476cdb974 reverse-here -> reverse! 2009-10-28 14:40:15 -05:00
Doug Coleman b0e3c7a1fc add docs for append! and suffix! 2009-10-28 13:48:16 -05:00
Doug Coleman 7ce4b746e5 parsed -> suffix!, add append! 2009-10-28 13:38:27 -05:00
Slava Pestov 299b5b0f6c filter-here -> filter! 2009-10-28 00:44:05 -05:00
Slava Pestov 50f5c3d116 remq -> remove-eq, delq -> remove-eq! 2009-10-28 00:23:08 -05:00
Slava Pestov b7e05a525b remove unused and really confusing remove-all word 2009-10-27 23:45:03 -05:00
Slava Pestov 951e3e9c83 delete-nth -> remove-nth! 2009-10-27 23:41:57 -05:00
Slava Pestov f5a0a8b6e1 delete -> remove! 2009-10-27 23:25:35 -05:00
Slava Pestov 08e7d25dc5 change-each -> map!, deep-change-each -> deep-map! 2009-10-27 22:32:56 -05:00
Slava Pestov d95a98eb9c vm: add primitives for getting at GC events, data-room and code-room primitives now return structs instead of arrays 2009-10-27 03:32:28 -05:00
Slava Pestov e793a72060 vm: remove crummy old GC stats, split off free list code, clean up various other things 2009-10-26 22:08:35 -05:00
Joe Groff ad18098a4f add some math.parser hints that slightly improve number parsing performance 2009-10-26 17:48:05 -05:00
Joe Groff 5caa118e40 make first2, first3, first4 inline 2009-10-26 17:30:37 -05:00
Joe Groff 11b75ea4bd don't talk about the retain stack anymore in combinators docs 2009-10-24 20:58:35 -05:00
Slava Pestov 9abe29bebc Merge branch 'master' into new_gc 2009-10-24 01:31:15 -05:00
Slava Pestov 2b142dabae Re-organize a few things to reduce '-include=' image size 2009-10-23 04:32:17 -05:00
Slava Pestov 64ff812611 Merge branch 'master' into new_gc 2009-10-23 03:56:46 -05:00
Joe Groff d5d89f03a7 swap around io combinators to avoid a bunch of redundant "input-stream get"s in each-line, each-block, contents, etc. 2009-10-23 00:07:19 -05:00
Joe Groff 28f5347e71 tighten some screws in math.parser 2009-10-22 20:48:46 -05:00
Joe Groff 943bde59f9 speed up dec>float a little 2009-10-22 18:55:32 -05:00
Joe Groff cdd0e5774e make new-resizable on growable sequences return a growable of the same type 2009-10-22 18:55:00 -05:00
Joe Groff e31ed3eda4 add filter-as to sequences 2009-10-22 17:37:20 -05:00
Joe Groff 1a7b4d7c63 inline the trivial words in math.parser 2009-10-22 17:26:22 -05:00
Joe Groff ba5429e772 fix sequences bootstrap 2009-10-22 14:53:16 -05:00
Joe Groff fdea9b09f2 change produce-as so it uses an intermediate vector of a type appropriate to the destination type 2009-10-22 14:35:27 -05:00
Doug Coleman 649323ebe0 Merge branch 'master' of git://factorcode.org/git/factor 2009-10-22 13:20:17 -05:00
Slava Pestov 3394309659 Merge branch 'master' into new_gc 2009-10-22 05:40:57 -05:00
Joe Groff c3b8847936 update a bunch of alien-callbacks and alien-indirects to use c-type words 2009-10-21 21:10:11 -05:00
Doug Coleman 0d4b9132d7 fix a bunch of typos in docs 2009-10-21 17:40:43 -05:00
Doug Coleman b34bfe563e only call dispose-each once 2009-10-21 13:07:31 -05:00
Doug Coleman a4a687ab32 clean up global destructors as a shutdown hook in case exit is called 2009-10-21 12:32:51 -05:00
Doug Coleman 5b4c1aea5d run bootstrap and startup hooks inside a with-destructors. use &dispose instead of setting shutdown hooks in a couple of places 2009-10-20 18:26:10 -04:00
Slava Pestov 5608bc1268 Merge branch 'master' into new_gc 2009-10-20 14:28:51 -05:00
Slava Pestov 32adb5df27 classes.builtin: fix help lint 2009-10-20 14:28:34 -05:00
Slava Pestov d85d84697a Change data heap alignment to 16 bytes 2009-10-20 12:45:00 -05:00
Doug Coleman 278a6955c5 Merge branch 'master' into startup 2009-10-20 00:31:45 -04:00
Doug Coleman 110b310c54 the exit primitive is now called (exit) and exit calls shutdown hooks.
add a stop_factor function to the vm to allow calling the shutdown quotation
2009-10-20 00:28:18 -04:00
Doug Coleman 6b6e56a179 change add-init-hook to add-startup-hook, new add-shutdown-hook word 2009-10-19 22:17:02 -04:00
Slava Pestov 304496e037 Build fixes 2009-10-19 19:18:08 -05:00
Slava Pestov 4e8a2a2638 io.backend/pathnames: fix help lint 2009-10-17 00:09:57 -05:00
Slava Pestov 4ed91ff5ee syntax: fix docs for : 2009-10-16 23:45:10 -05:00
Doug Coleman 6af901a35d make words public again 2009-10-16 16:59:25 -05:00
Doug Coleman 7d43abe49b Merge branch 'master' of git://factorcode.org/git/factor 2009-10-16 12:51:25 -05:00