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