Commit Graph

6234 Commits (1fc809b64393ff84fc8ff926fb6dfc9ad7402c30)

Author SHA1 Message Date
Joe Groff c3002ed0f0 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-27 21:17:17 -05:00
Joe Groff eb4081c696 return YES from cocoa app delegate's applicationShouldHandleReopen: method. this allows app-icon-minimized windows on snow leopard to automatically restore when the dock icon is clicked 2009-08-27 21:16:41 -05:00
Doug Coleman c926854790 update RECT for new structs 2009-08-27 21:16:28 -05:00
Doug Coleman 7df875c7fe update WNDCLASSEX 2009-08-27 20:43:42 -05:00
Doug Coleman 065db08680 TRACKMOUSEVENT uses <struct> now 2009-08-27 20:39:37 -05:00
Doug Coleman 7e6f6e6a44 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-27 20:36:19 -05:00
Doug Coleman 469e7e8d67 newstructify PIXELFORMAT 2009-08-27 20:35:37 -05:00
Slava Pestov 3f493bce1a Merge branch 'master' of git://factorcode.org/git/factor 2009-08-27 20:30:08 -05:00
Slava Pestov f1c971e3df Merge branch 'master' of git://factorcode.org/git/factor 2009-08-27 20:30:15 -05:00
Slava Pestov 37403b28a9 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-27 20:29:28 -05:00
Slava Pestov f1b4d94f2f tools.deploy: remove malloc debugging better, and don't set next-method word prop for methods that don't call-next-method 2009-08-27 20:29:16 -05:00
Slava Pestov 0d70d07cf1 tools.deploy.test: give PowerPC an extra 100kb 2009-08-27 20:27:35 -05:00
Doug Coleman ee418a75d9 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-27 19:53:46 -05:00
Joe Groff 367f024a1b Merge branch 'master' of git://factorcode.org/git/factor 2009-08-27 19:23:20 -05:00
Joe Groff 7771c55cb5 ui.backend.cocoa.views: yield in drawRect: impl so that windows will redraw while being resized on snow leopard 2009-08-27 19:21:38 -05:00
Slava Pestov ba0f3a9911 compiler.tree.propagation.transforms: don't fail to compile if 'at' called on something that's not an assoc 2009-08-27 18:57:56 -05:00
Doug Coleman d4497c81ef spacing 2009-08-27 11:43:19 -05:00
Doug Coleman a17250bd1b use constant 2009-08-27 11:24:26 -05:00
sheeple 98f93f799b cpu.ppc: fix ##box-displaced-alien 2009-08-27 04:43:45 -05:00
Slava Pestov 8f19f14c1f compiler.cfg.instructions: forgot that ##box-displaced-alien needs a GC check; fixes segfault in benchmark.mandel 2009-08-27 04:09:35 -05:00
Slava Pestov f808f43ffb A few inline declarations 2009-08-27 04:09:12 -05:00
Slava Pestov 1f58ca9e2a Merge branch 'master' of git://factorcode.org/git/factor 2009-08-27 00:06:30 -05:00
Slava Pestov f662e6403a compiler: new inline intrinsic for <displaced-alien> where the inputs have known types; value numbering now eliminates unnecessary allocation of displaced aliens if the result is immediately unboxed again 2009-08-27 00:06:19 -05:00
Joe Groff 69e640c55b throw a friendlier error when attempting to create a struct without slots 2009-08-26 22:37:59 -05:00
Joe Groff 53b7729f76 require struct-arrays after alien.structs is loaded 2009-08-26 22:24:55 -05:00
Joe Groff 64990eb23d test that array slots in structs optimize down 2009-08-26 21:50:12 -05:00
Joe Groff 08867f3576 inline sequence methods on direct-arrays 2009-08-26 21:49:45 -05:00
Joe Groff ecd0bdbd58 test that struct-arrays and struct construction optimize down 2009-08-26 21:38:00 -05:00
Joe Groff 4bf4cacc4b make struct-prototype foldable so that <struct> compiles efficiently 2009-08-26 21:27:12 -05:00
Joe Groff 4b56fa8009 add a partial eval for memory>struct so that it compiles efficiently when the struct class is known 2009-08-26 21:18:19 -05:00
Joe Groff 5376263984 more inlines on struct-arrays to make the optimizing go down smoother 2009-08-26 19:56:22 -05:00
Joe Groff ad463795aa fix struct-array of struct class; inline memory>struct so the compiler can optimize a little better 2009-08-26 19:20:20 -05:00
Joe Groff 9eb4ce2791 trying to memory>struct a non-struct class is feptastic 2009-08-26 19:09:38 -05:00
Joe Groff 49d123aa84 prettyprint struct-arrays 2009-08-26 18:22:51 -05:00
Joe Groff 2d66dc9f29 literal syntax for struct-arrays 2009-08-26 18:09:02 -05:00
Joe Groff f4c90fdabe bitwise equal? for struct objects 2009-08-26 18:05:38 -05:00
Joe Groff 469e4b526f use struct class in struct-arrays test 2009-08-26 17:38:33 -05:00
Joe Groff 24c2eaae01 box elements of struct-arrays when a struct class is used as the element type 2009-08-26 17:19:30 -05:00
Joe Groff 784b8c04ce move classes.struct from extra to basis 2009-08-26 15:55:01 -05:00
Joe Groff 8f99661f9a Merge branch 'master' of git://factorcode.org/git/factor 2009-08-26 14:59:18 -05:00
Joe Groff a56d4ec50d core-text: always create at least a 1x1 bitmap context. snow leopard refuses to create 0x0 contexts 2009-08-26 14:58:15 -05:00
Doug Coleman bdb95d7fc3 remove debug, fix bootstrap 2009-08-26 14:45:02 -05:00
Doug Coleman 974266c9d5 support loading images from streams, add load-http-image 2009-08-26 14:27:01 -05:00
Joe Groff 2ae4f64d65 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-26 14:07:33 -05:00
Doug Coleman edb7090993 support seeking on limited streams 2009-08-26 13:48:41 -05:00
Joe Groff 4a9f885ac9 store struct class in struct-array 2009-08-26 13:13:19 -05:00
Doug Coleman ddea2453a4 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-26 11:02:58 -05:00
Doug Coleman 1b77718625 use structs 2009-08-26 11:01:39 -05:00
Doug Coleman 03fc2a3461 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-26 09:40:49 -05:00
Joe Groff 5a298a00fd windows.ole32 guid functions don't need to box the byte-arrays themselves anymore 2009-08-26 09:28:10 -05:00
Doug Coleman bbcf08cdc3 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-26 09:15:33 -05:00
Slava Pestov 8bf709acd0 compiler.cfg.linear-scan: fix unit tests for new fake-representations 2009-08-26 08:58:00 -05:00
Slava Pestov 168c81b6ac Merge branch 'master' of git://factorcode.org/git/factor 2009-08-26 07:17:44 -05:00
Slava Pestov 0ff80a063d compiler: only run float test in low-level-ir if float intrinsics enabled; fixes SIGILL on non-sse2 x86 machines 2009-08-26 06:58:47 -05:00
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
Slava Pestov 50e366bbe1 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-09 16:31:03 -05:00
Slava Pestov 8a9c15ab0b compiler.tree.escape-analysis: if the output of an #introduce node has an immutable tuple class type declaration, and it is not passed to any subroutine calls, or returned from the word, then unbox it. This speeds up vector arithmetic words on specialized arrays, because the specialized array is unboxed up-front, eliminating an indirection on every loop iteration 2009-08-09 16:29:21 -05:00
Slava Pestov d19c403fee alien.structs: struct-type now has a class slot; fix specialized complex-float/double arrays 2009-08-09 16:10:11 -05:00
Slava Pestov d0fe741746 tools.deploy.shaker: strip out specialized vector words 2009-08-09 04:48:44 -05:00
Slava Pestov cc5476c823 _gc instruction doesn't need slot to hold GC root area size, since that's just tagged-values>> length 2009-08-09 03:08:13 -05:00
Slava Pestov 1cb0f3370b math.vectors.specialization: first attempt at some call site splitting for vector ops. Specialized array types generate customized variants of all vector words, if input types are known at compile time, a call to the specialized version is inserted 2009-08-09 03:07:33 -05:00
Slava Pestov 687454878a compiler.cfg.linearization: change order to fit older unit tests 2009-08-08 23:06:57 -05:00
Slava Pestov 83e0c60573 tools.test: flush the output stream 2009-08-08 23:03:53 -05:00
Slava Pestov e400d80d8b More accurate interval inference for mod, rem, and propagation can now infer intervals in the case where a value might be f. so, [ [ 127 bitand ] [ drop f ] if dup [ 0 >= ] [ not ] if ] now constant-folds down to 't'! 2009-08-08 23:03:45 -05:00
Slava Pestov 61ea749bb6 More accurate interval-mod and interval-rem 2009-08-08 22:01:12 -05:00
Slava Pestov 24a50c8006 compiler.cfg.two-operand: sometimes we can eliminate a copy in the x = y <op> y case 2009-08-08 20:03:42 -05:00
Slava Pestov 55acddef3f compiler.cfg.representation: OK to unbox output of ##load-reference globally 2009-08-08 20:03:13 -05:00
Slava Pestov d0c393aa60 compiler.cfg: new system to track when results of analyses need to be recomputed (reverse post order, linear order, predecessors, dominance, loops). Passes can now call needs-predecessors, needs-dominance, needs-loops at the beginning, and cfg-changed, predecessors-changd at the end. Linearization order now takes loop nesting into account, and linear scan now uses linearization order instead of RPO. 2009-08-08 20:02:56 -05:00
Slava Pestov 11dc0a23a8 compiler.cfg.ssa.liveness: fix tests 2009-08-08 16:15:45 -05:00
Slava Pestov 1bf8a0cac7 compiler.cfg.representations: emit-conversion should not be private since CSSA construction uses it 2009-08-08 04:13:30 -05:00
Slava Pestov 4b7ba38aab compiler.cfg: virtual registers are integers now, and representations are stored off to the side. Fix bug in representation selection that would manifest if a value was used as a float and a fixnum in different branches; cannot globally unbox float in this case 2009-08-08 04:02:18 -05:00
Slava Pestov e21ca289c3 compiler.cfg.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information 2009-08-08 00:24:46 -05:00
Slava Pestov b85d842ca6 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-07 17:45:09 -05:00
Slava Pestov 725280d424 Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
Joe Groff fcfe16d8d0 make simplify-callable prettyprinting an optional load in extra 2009-08-07 16:19:46 -04:00
Slava Pestov fb80f21d75 help.tutorial: minor tweaks 2009-08-07 14:54:51 -05:00
Slava Pestov 2e73038043 Revert basis UI gadget changes 2009-08-06 16:46:48 -05:00
Sam Anklesaria 6f607ed5a9 fixed ui.gadgets.tables multi-selection bug 2009-08-06 16:31:35 -05:00
Sam Anklesaria 827d30a95b Merge branch 'master' of git://factorcode.org/git/factor 2009-08-06 15:40:57 -05:00
Joe Groff 556904cf57 simplify-callable docs 2009-08-06 16:21:53 -04:00
Sam Anklesaria a621e381e3 merged control extras into basis 2009-08-06 15:19:28 -05:00
Joe Groff 0a4d926212 simplify dip/call/curry/compose in callable objects before prettyprinting 2009-08-06 16:16:17 -04:00
Slava Pestov ef97fdf0c5 ui.gadgets.tables: some band-aid fixes 2009-08-06 01:28:30 -05:00
Slava Pestov 7734bd9bcd vocabs.hierarchy: fix load-all 2009-08-05 23:08:14 -05:00
Slava Pestov fde421a880 Merge branch 'bogie' 2009-08-05 23:04:49 -05:00
Slava Pestov b4f97dc632 vocabs.hierarchy: load word now tries to load the vocab named by the prefix itself 2009-08-05 23:04:34 -05:00
Slava Pestov 926797d485 ui.gadgets.tables: more fixes 2009-08-05 22:56:08 -05:00
Slava Pestov dba67b1815 ui.gadgets.tables: little cleanup 2009-08-05 22:45:56 -05:00
Slava Pestov 805b0b2430 Merge branch 'master' of git://github.com/bogiebro/factor into bogie 2009-08-05 22:20:40 -05:00
Sam Anklesaria a352e7411e reindented ui.gadgets.tables 2009-08-05 21:29:48 -05:00
Slava Pestov 370f4c081d compiler.cfg: convert code into two-operand form before SSA destruction; SSA destruction now operates on a relaxed SSA form where multiple defs of the same vreg are allowed, but only within a single basic block. This makes linear scan's coalescing redundant, allowing it to be removed completely 2009-08-05 18:57:46 -05:00
Slava Pestov eb3bd1edea cpu.x86.assembler: make some words private 2009-08-05 18:30:42 -05:00
Sam Anklesaria e426bc4be8 moved patterns to persistency for new db prep 2009-08-05 16:45:22 -05:00
Sam Anklesaria 0c4b9a0d58 simplified ui.gadgets.tables 2009-08-05 16:24:56 -05:00
Slava Pestov b1a85133dc http.server.rewrite: fix typo in docs 2009-08-05 03:35:31 -05:00
Slava Pestov 97ec3ea1b4 compiler.graphviz: add high-level IR call graph rendering 2009-08-05 03:33:06 -05:00
Slava Pestov fb03a93763 compiler.tree.recursive: have to check tail call flag of call tree edges too 2009-08-05 02:14:49 -05:00
Slava Pestov 50fd4f17c3 Oops 2009-08-05 01:15:06 -05:00
Slava Pestov eb0ecb68cd ui.tools.debugger: (:edit) got renamed to edit-error 2009-08-04 21:14:43 -05:00
Slava Pestov 3b2fd98e7c Refactor source-file-errors a little bit to remove some code duplication, and so that clicking 'Edit' in error list tool works for parse errors in unit tests 2009-08-04 21:01:21 -05:00
Slava Pestov c3d60e5899 compiler.tree.recursive: more accurate loop detection 2009-08-04 19:18:40 -05:00