Commit Graph

6074 Commits (e837a5cea8db17cdb6601466d1e858b62d051171)

Author SHA1 Message Date
Joe Groff 1403ba9482 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-25 23:50:38 -05:00
Joe Groff a6c8e91f88 fix directory-entries so we can bootstrap again 2009-08-25 23:50:27 -05:00
Slava Pestov 132dff23ec Merge branch 'master' of git://factorcode.org/git/factor 2009-08-25 23:44:29 -05:00
Slava Pestov 8d55616d34 compiler.cfg.debugger: fix fake-representations so that low-level-ir tests can pass on x86 2009-08-25 23:44:01 -05:00
Joe Groff ff9b54fd0c Merge branch 'master' of git://factorcode.org/git/factor 2009-08-25 23:22:43 -05:00
Slava Pestov 0df8aadce2 cpu.x86: use SQRTSD instruction for math.libm:fsqrt word 2009-08-25 23:22:15 -05:00
Slava Pestov 86a8e016fe Merge branch 'master' of git://factorcode.org/git/factor 2009-08-25 22:37:28 -05:00
Slava Pestov b7e29ca8dd cpu.ppc.assembler: LOAD32 assembler macro was busted 2009-08-25 22:37:10 -05:00
Joe Groff b6bba164e4 box array c-types into direct-arrays 2009-08-25 21:36:25 -05:00
Joe Groff 87c670b785 no really, support <c-type-array> of structs using struct-arrays 2009-08-25 20:57:23 -05:00
Joe Groff 39ac27c50a Merge branch 'master' of git://factorcode.org/git/factor 2009-08-25 20:43:51 -05:00
Joe Groff a2518377e3 support <c-type-array> of structs using struct-arrays 2009-08-25 20:43:48 -05:00
Joe Groff 8aa9327dcc support <c-type-array> on complex ffi types 2009-08-25 19:58:04 -05:00
sheeple 61c1ed17d9 basis/compiler/tests/low-level-ir: add ##copy double-float-rep test 2009-08-25 19:41:17 -05:00
Slava Pestov fb1693bf1d Merge branch 'master' of git://factorcode.org/git/factor 2009-08-25 19:39:24 -05:00
Slava Pestov 1afd001393 basis/cpu: eliminate some usages of rot 2009-08-25 19:38:48 -05:00
Slava Pestov 7b2c9df341 cpu.ppc.assembler: fix FMR and FMR. opcodes 2009-08-25 19:33:35 -05:00
Joe Groff f4acf22433 specialized-arrays.direct: define byte-length on direct arrays 2009-08-25 18:54:15 -05:00
Joe Groff 005107973f docs for require-c-type-arrays, <c-type-array>, <c-type-direct-array> 2009-08-25 18:51:56 -05:00
Joe Groff 59cdec755a throw a better error if <c-type*-array> is called when specialized array vocab isn't loaded. fix <c-type-direct-array> 2009-08-25 18:24:49 -05:00
Doug Coleman d109126c4b more structs 2009-08-25 18:19:34 -05:00
Joe Groff 79787f6259 associate specialized-arrays vocabs with c-types; add words for requiring vocabs and constructing arrays by C type 2009-08-25 17:56:01 -05:00
Doug Coleman 003db124e2 use structs in process launcher 2009-08-25 17:46:07 -05:00
Doug Coleman c50eaf1c29 less aggressive open-file for file-times, use FILETIME struct now 2009-08-25 17:34:06 -05:00
Doug Coleman 3507616f3b use structs in a few places in windows backend 2009-08-25 17:23:23 -05:00
Doug Coleman 0ce57d0566 update new structs again 2009-08-25 16:31:58 -05:00
Joe Groff f56615cec0 add an X-sequence mixin class for each specialized array type to span X-array, X-vector, and direct-X-array 2009-08-25 15:58:18 -05:00
Doug Coleman 2c6ef83c13 update compiler.tests.alien to joe's latest changes 2009-08-25 12:00:06 -05:00
Doug Coleman b756a37d75 use new structs wherever possible in compiler tests 2009-08-25 11:59:33 -04:00
Doug Coleman 3a5c7d8908 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-25 09:33:42 -04:00
Slava Pestov 93adf617c0 windows.com.wrapper: crash fix 2009-08-25 05:02:50 -05:00
Slava Pestov bb51ee8d26 help.vocabs: 'authors' and 'tags' weren't recursing like they should've been 2009-08-24 21:56:14 -05:00
Slava Pestov c925724d7b Improve destructors docs, fix bug where debug-leaks? wasn't being switched off 2009-08-24 21:44:48 -05:00
Slava Pestov 29b489c892 io.monitors: fixes for disposable protocol 2009-08-24 20:55:24 -05:00
Slava Pestov 7b6d00a833 alien.destructors: don't use disposable protocol, since it is common practice to 'leak' alien destructors (|Foo idiom) 2009-08-24 20:45:46 -05:00
Slava Pestov 8b68a07649 ui.pixel-formats: fix screwup 2009-08-24 20:45:19 -05:00
Slava Pestov e44a0158e6 tools.destructors: leaks now tracks leaks globally 2009-08-24 20:45:06 -05:00
Slava Pestov a2529717ba Merge branch 'master' of git://factorcode.org/git/factor 2009-08-24 20:34:15 -05:00
Slava Pestov b2a1858f8f Move a few more things over to new disposable protocol 2009-08-24 20:33:27 -05:00
Slava Pestov 623ddfca6f ui.tools.operations: disposables now have a 'dispose' operation, and disposables created within a 'leaks' now have an operation which shows the continuation that created them 2009-08-24 20:22:00 -05:00
Slava Pestov b12bbaf7ec tools.destructors: destructors. and leaks words now output a 'show instances' link which lists all relevant disposables 2009-08-24 20:21:38 -05:00
Slava Pestov 3be328056d libc: use central disposables mechanism to track mallocs 2009-08-24 20:21:03 -05:00
Slava Pestov 197a64eaae io.streams.duplex: fix test 2009-08-24 20:19:55 -05:00
Joe Groff 54ff361331 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-24 18:04:44 -05:00
Doug Coleman 16ad61021f Merge branch 'master' of git://factorcode.org/git/factor 2009-08-24 09:58:48 -04:00
Slava Pestov 46045c882e Disposables are now registered in a global disposables set. To take advantage of this, subclass disposable instead of providing a disposed slot and call new-disposable instead of new. tools.disposables defines two words, 'disposable.' and 'leaks', to help track down resource lifetime problems 2009-08-24 02:26:13 -05:00
Slava Pestov e42216a569 tools.deploy.shaker: more compact next-method shaking 2009-08-23 19:18:12 -05:00
Slava Pestov 449be040f8 Use utf8 instead of ascii encoding in a couple of places to avoid pulling in ascii into deployed apps 2009-08-23 19:07:21 -05:00
Slava Pestov 387007abfe tools.deploy.shaker: fix regression; strip-compiler-classes wasn't working 2009-08-23 17:54:37 -05:00
Joe Groff 556adeb9b4 handle RGBA pngs (when inflate finally works) 2009-08-23 09:51:12 -05:00
Joe Groff f93363567e Merge branch 'master' of git://factorcode.org/git/factor 2009-08-23 08:23:11 -05:00
Doug Coleman 71652d2826 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-22 21:27:26 -04:00
Doug Coleman f18aef2afb Merge branch 'master' of git://factorcode.org/git/factor 2009-08-22 21:24:02 -04:00
sheeple 981e8470bf Merge branch 'master' of git://factorcode.org/git/factor 2009-08-22 20:24:01 -05:00
sheeple b14dd8ab67 cpu.ppc: integer>fixnum scratch area overlapped with the rest of stack frame, very bad 2009-08-22 20:23:28 -05:00
Slava Pestov f82627e736 math.intervals: comment out questionable unit tests 2009-08-22 19:39:32 -05:00
Slava Pestov 3979608b09 tools.deploy: faster default method stripping 2009-08-22 19:26:56 -05:00
Slava Pestov 44448c3ff6 iokit: don't depend on debugger, reduces terrain demo size by a bit 2009-08-22 19:02:40 -05:00
Slava Pestov 5e8e83c645 bootstrap.image: smarter object folding; 500kb boot image size reduction on 64-bit 2009-08-22 17:56:58 -05:00
Slava Pestov d85b66536f Add docs for break and B words 2009-08-22 17:45:18 -05:00
Slava Pestov 81b72cb5c5 Add some unit tests 2009-08-22 17:15:10 -05:00
Joe Groff 2d6622e5e9 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-22 13:42:52 -05:00
Joe Groff 6f6edd79ac combinators.smart: "keep-inputs" combinator 2009-08-21 21:17:15 -05:00
Slava Pestov 1961b4da16 next-fastcall-param word was not being called; on x86 its equivalent to inc but on ppc there is more logic, this fixes FFI on PowerPC 2009-08-21 20:15:19 -05:00
Slava Pestov 2c533472f8 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-21 18:48:44 -05:00
Slava Pestov 9ab8734441 cpu.ppc: work in progress 2009-08-21 18:48:34 -05:00
Joe Groff c6b9a45881 $deprecated help markup 2009-08-20 18:36:55 -05:00
Slava Pestov 5197aca215 compiler.cfg.dataflow-analysis: when intersecting sets, treat uninitialized sets as universal rather than empty; reduces number of stack instructions generated by 1% 2009-08-20 18:15:41 -05:00
Slava Pestov 49bd2228ec compiler.tree.modular-arithmetic: fix regression; set-alien-*-1 was not always open-coded 2009-08-20 17:56:49 -05:00
Joe Groff 93c93a392b Merge branch 'master' of git://factorcode.org/git/factor 2009-08-20 16:21:58 -05:00
Joe Groff 90f8cdc0d1 link tools.deprecation docs into handbook and error-list docs 2009-08-20 16:18:47 -05:00
Joe Groff 6ca45f07b4 load tools.deprecation from bootstrap.tools 2009-08-20 16:18:28 -05:00
Joe Groff 94c50cfaeb install deprecation definition-observer as an init-hook 2009-08-20 16:18:06 -05:00
Joe Groff 6089251574 move deprecation to tools.deprecation; load with bootstrap.tools 2009-08-20 16:17:36 -05:00
Joe Groff 2760079b65 deprecation docs 2009-08-20 15:35:11 -05:00
Joe Groff 400c89daf0 "deprecated" declaration, "deprecation" vocab to track deprecations in the error log 2009-08-20 15:10:42 -05:00
Slava Pestov a3631f1878 bootstrap.compiler: add -debug-compiler switch which loads compiler but doesn't compile any words 2009-08-20 03:48:03 -05:00
Slava Pestov 9ef8f6c81d compiler.tree.modular-arithmetic: eliminate >bignum calls where possible, convert fixnum-shift to fixnum-shift-fast if shift count is positive, don't run if there are no modular values 2009-08-20 03:47:45 -05:00
Slava Pestov f01f7ad6eb compiler.tree.propagation: bitand custom inlining was wrong if the second input was a bignum 2009-08-20 03:47:07 -05:00
Slava Pestov cecd0ac2b0 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-19 22:00:31 -05:00
Slava Pestov fd2f0a602d compiler.cfg.stacks.local: more accurate local replace set computation; optimizes out 'swap swap' 2009-08-19 22:00:21 -05:00
Joe Groff abad5a71fd Merge branch 'master' of git://factorcode.org/git/factor 2009-08-19 21:31:20 -05:00
Joe Groff c898593983 decouple struct parsing/printing from tuple parsing/printing a bit 2009-08-19 18:53:44 -05:00
Slava Pestov a598cc35a5 compiler: add unit tests for new bugs 2009-08-19 16:56:26 -05:00
Slava Pestov 770429a629 math.intervals: help lint fix 2009-08-19 16:08:52 -05:00
Slava Pestov 2dc99ea05f Fix interval inference of abs, absq when input is a complex number 2009-08-19 16:06:37 -05:00
Joe Groff 15a7148de0 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-19 15:48:07 -05:00
Doug Coleman 346636ed3b use iota in generalizaions 2009-08-19 09:53:13 -05:00
Doug Coleman fa415c6d05 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-19 04:49:18 -05:00
Doug Coleman 06d9e1d46d clarify docs 2009-08-19 04:41:33 -05:00
Doug Coleman 2936f05ce0 add smart-if to combinators.smart 2009-08-19 04:38:59 -05:00
Slava Pestov 829107902e compiler.tree.propagation: improved interval inference for absq eliminates a conditional from math.vectors:distance. Type inference for rational math also a bit sharper now 2009-08-19 02:33:41 -05:00
Slava Pestov 2bc38bf019 math.intervals: tighter interval arithmetic for intervals with infinities 2009-08-19 02:32:18 -05:00
Slava Pestov a34a3bf417 hints: HINTS: now recompiles subwords too, 15% perf improvement on reverse-complement because encoder-write is compiled with hints now 2009-08-18 19:40:54 -05:00
Daniel Ehrenberg 3b5a385b5d Merge branch 'master' of git://factorcode.org/git/factor 2009-08-18 12:49:29 -05:00
Daniel Ehrenberg 5aac11c5a9 Biassocs have special clone method 2009-08-18 12:48:09 -05:00
Slava Pestov 507e2b7f3a Fix some unit test failures 2009-08-18 03:49:05 -05:00
Slava Pestov 9ee4259705 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-18 03:47:29 -05:00
Slava Pestov 5fe3a62446 io.launcher.windows.nt: don't call duplicate-handle, and fix memory leak; io.backend.windows: track win32-handle instances in global win32-handles set to help find leaks 2009-08-18 03:46:46 -05:00
Doug Coleman 0cbad41547 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-18 03:45:20 -05:00
Doug Coleman 761ed6356b fix HEREDOC:s, add DELIMITED: which is like a HEREDOC: where the terminator can appear anywhere 2009-08-18 03:44:54 -05:00
Slava Pestov d7594c3381 compiler: inline singleton predicates, and optimize predicate engines, reduces terrain demo deployed size by ~20kb 2009-08-17 23:59:24 -05:00
Slava Pestov 04397a63c7 windows.ole32: don't pull in debugger, reduces terrain demo deployed size by ~30kb 2009-08-17 23:58:44 -05:00
Slava Pestov 9839659dfd Merge branch 'master' of git://factorcode.org/git/factor 2009-08-17 22:38:21 -05:00
Slava Pestov 030b1b816c Add inline declarations for various assorted methods 2009-08-17 22:32:21 -05:00
Slava Pestov 3047d4a451 compiler.tree.propagation: remove method inlining heuristic 2009-08-17 22:29:05 -05:00
Joe Groff 24d9a8635c Merge branch 'struct-classes' of git://factorcode.org/git/factor 2009-08-17 21:26:19 -05:00
Doug Coleman aa39423509 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-17 20:47:40 -05:00
Doug Coleman 7234b4bb08 fix multiline docs 2009-08-17 20:47:27 -05:00
Slava Pestov 630ffb8ae6 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-17 20:12:33 -05:00
Slava Pestov 4fac281b1a rpn: new demo, simple RPN calculator that doesn't use Factor's evaluator reflectively 2009-08-17 20:12:05 -05:00
Doug Coleman 9a9be2405b Merge git://github.com/mncharity/factor into mncharity 2009-08-17 19:00:41 -05:00
Doug Coleman f998a81a43 trivial factoring 2009-08-17 18:59:03 -05:00
Mitchell N Charity 747f2ab21c multiline: add HEREDOC: , slightly refactoring privates 2009-08-17 17:05:14 -04:00
Slava Pestov bf57d78b09 compiler.tree.modular-arithmetic: >fixnum elimination and value info annotations were too aggressive 2009-08-17 01:20:25 -05:00
Slava Pestov 5297be3e19 compiler.tree.modular-arithmetic: stronger optimization handles > 1 usages case as well as values defined and used in loops. Eliminates 5 out of 8 >fixnum calls in benchmark.yuv-to-rgb 2009-08-15 18:42:41 -05:00
Daniel Ehrenberg 478b960560 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-14 20:11:54 -05:00
Daniel Ehrenberg 3cec74867d Improving write barrier elimination; change to compiler.cfg.utilities to support this 2009-08-14 19:41:41 -05:00
Doug Coleman 7c92ab1ea5 move if-zero etc to math, remove 1-/1+ from math 2009-08-14 14:27:23 -05:00
Joe Groff 6fe7fe72c7 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-14 10:55:05 -04:00
Daniel Ehrenberg 8197d9356b Write barriers are hoisted out of loops when their target is slot-available 2009-08-13 20:26:44 -05:00
Doug Coleman 2ed4425b7a Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
	basis/calendar/calendar.factor
2009-08-13 19:40:02 -05:00
Doug Coleman 3f3d57032b Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring 2009-08-13 19:21:44 -05:00
Daniel Ehrenberg 5a3e350490 Global write barrier elimination tracks newly allocated objects 2009-08-13 15:18:47 -05:00
Joe Groff a2569ea50b make direct-*-arrays prettyprint 2009-08-13 12:05:46 -04:00
Doug Coleman 4cca19b528 remove duplicate defintion of unless-zero from calendar 2009-08-13 00:48:50 -05:00
Daniel Ehrenberg ad772cd261 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-12 23:56:05 -05:00
Daniel Ehrenberg d35e1eb76c Fixing write-barrier elimination; adding bb as a parameter to join-sets in dataflow analysis 2009-08-12 23:52:29 -05:00
Joe Groff 287207df72 fix boa undo to work with structs 2009-08-12 16:09:25 -04:00
Joe Groff 875284f8ab S{ } syntax for structs 2009-08-12 15:59:33 -04:00
Joe Groff 25c3434892 pprint structs with tuple syntax 2009-08-12 13:16:43 -04:00
Slava Pestov 0df4436711 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-12 03:26:13 -05:00
Slava Pestov 4ecf5a904a More accurate wrap-interval in compiler.tree.propagation.info fixes test regression; constructing an interval with endpoints at infinity now outputs full-interval 2009-08-12 03:25:53 -05:00
Doug Coleman aabfc614a1 fix build errors 2009-08-11 23:07:13 -05:00
Doug Coleman 379c17a284 Throw typed errors instead of strings for calling/executing non-callables 2009-08-11 22:40:29 -05:00
Doug Coleman 14e8abd563 even better error handling for division by zero 2009-08-11 22:30:16 -05:00
Daniel Ehrenberg 1a7ab59f56 Making write barrier elimination global 2009-08-11 21:21:21 -05:00
Doug Coleman 415d89e821 use unless-empty 2009-08-11 21:18:43 -05:00
Doug Coleman 02becc26fc add docs for if-zero etc, add docs for 10^ 2009-08-11 18:45:01 -05:00
Doug Coleman c12d6fe543 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-11 18:16:30 -05:00
Doug Coleman 4a3d63e00a use if-zero in a few more places 2009-08-11 18:15:53 -05:00
Doug Coleman 4fef246ca4 add 10^ to math.functions and update usages 2009-08-11 18:00:24 -05:00
Slava Pestov 7bfbb0c5ac math.intervals: fix interval-rem 2009-08-11 16:49:28 -05:00
Slava Pestov 422dd24bad alien.complex: fix tests 2009-08-11 14:07:33 -05:00
Philipp Brüschweiler 26859a45eb various doc fixes 2009-08-11 16:58:47 +02:00
Brad Christensen f8405e9c55 A number of documentation fixes.
* Short-circuit combinators now show correct stack effect for quots
 * Groups and Clumps unchecked examples corrected, made runnable in listener
 * Class operations had duplicate link to class-types
 * Protocol slots readability fixed
 * Tuple word property for "tuple-layout" corrected to "layout"
 * cond>quot sentence started in lowercase
 * Method precedence code example missing stack effect for GENERIC:, M: integer explain changed to detail an integer
 * Motivation for default streams readability
 * Default input and output streams duplicate readln link removed from output stream words section
 * Looping combinators do description clarified
 * Make philosophy missing space
 * Linear order protocol duplicate after? link removed
 * Parsing words readability fix
 * Copied note regarding with-compilation-unit from define to define-declared and define-inline
2009-08-10 23:34:25 -07:00
Slava Pestov c473f59554 Merge branch 'master' of git://github.com/Blei/factor 2009-08-10 16:18:19 -05:00
Slava Pestov 9fb0dcd9bd alien: need to differentiate between the type of the result before and after boxing; the former is used by propagation for #alien-invoke nodes and the latter is used by specialized arrays. This fixes FFI unit test failures 2009-08-10 16:17:33 -05:00
Philipp Brüschweiler 230061783a misc small documentation fixes, some fixes for factor.vim, changed permissions of vm/* to 644 2009-08-10 21:33:07 +02:00
Slava Pestov 7e35723db0 compiler.tree.propagation: be more careful with intervals, ensuring that the inferred interval of a value is a subset of the value class's interval. This improves accuracy, for example [ >fixnum 1 + >fixnum most-positive-fixnum <= ] constant-folds to true 2009-08-10 01:16:49 -05:00