Commit Graph

1294 Commits (867669f208c2ab155692e345efc78c8092dc7adc)

Author SHA1 Message Date
Slava Pestov affb48a067 Fix docs 2008-11-05 04:27:12 -06:00
Slava Pestov 2239f4fb99 More work on PowerPC backend; change register usage, free up some more integer and float regs (untested) 2008-11-05 04:20:35 -06:00
Slava Pestov 7aa530c64e Fix ABOUT: docs 2008-11-05 04:16:15 -06:00
Slava Pestov dae41147fe %bignum>integer now takes a temporary register since this is useful on both x86 and ppc 2008-11-05 04:16:08 -06:00
Slava Pestov 8b7c47a68b Clean up x86 backend: move cpu.x86.architecture to cpu.x86, use branchless arithmetic in some intrinsics 2008-11-05 04:15:48 -06:00
Slava Pestov 10d3b4a55d New PPC backend (untested) 2008-11-05 00:31:08 -06:00
Slava Pestov c8521ad826 Add tool to dump live intervals 2008-11-04 17:23:20 -06:00
Slava Pestov 22f11f24c9 Move simple-table. to prettyprint since its generally useful and not specific to tools.time 2008-11-04 17:23:08 -06:00
Slava Pestov d8345b5eda Update PPC non-optimizing compiler backend: there are three new sub-primitives to support 2008-11-04 06:07:19 -06:00
Slava Pestov 46830bb38d Fix another name clash in tests; putting all compiler tests in compiler.tests vocab is probably not good 2008-11-04 00:46:06 -06:00
Slava Pestov 4a37bcb757 Strip out remake-generics-hook, since otherwise it slurps in a lot of meta-programming machinery, increasing deployed image size by about 200kb for hello-world 2008-11-04 00:36:16 -06:00
Slava Pestov 1af3b8ed65 If a register is spilled and the reload location is also a copy, we chicken out and don't coalesce. This is suboptimal but it's not clear to me how to implement it cleanly, and SSA graph coloring will solve this problem eventually anyway 2008-11-04 00:32:56 -06:00
Slava Pestov efcb916e35 Handle a jump to a jump by cloning the block, in the same way we optimize jumps to returns 2008-11-03 21:02:34 -06:00
Slava Pestov 3e75e0f8b5 Update word naming conventions 2008-11-03 21:00:27 -06:00
Slava Pestov 06b99c31ee Fix regression. If a parsing word called the compiler, it might compile a caller of a generic before the generic gets built, which would throw an error since the inferred effect of the generic might have less inputs than the combination's dispatch# 2008-11-03 20:59:48 -06:00
Slava Pestov dc85ed3d56 Fix help lint: links to obsolete article 2008-11-03 08:08:28 -06:00
Slava Pestov 82e9eedd39 Forgot about float= intrinsic 2008-11-03 07:15:09 -06:00
Slava Pestov 75e9708488 Oops 2008-11-03 06:50:59 -06:00
Slava Pestov e6f6cd5d93 Fix USING: -- you can now make ppc images, they just don't work yet 2008-11-03 06:40:14 -06:00
Slava Pestov b649c01de6 Fix name clash with templates.factor 2008-11-03 06:34:56 -06:00
Slava Pestov 59f4f25b91 Loop alignment: appears to be a small win for reverse-complement 2008-11-03 06:20:51 -06:00
Slava Pestov cdb5c30bd3 Only build a generic word once, even if a compilation unit defines several methods on it, by adding generics to a set and building them at the end. 25% improvement on bootstrap time 2008-11-03 03:51:28 -06:00
Slava Pestov 2445a83cb9 Clean up recursive-state usage 2008-11-03 03:06:11 -06:00
Slava Pestov 0250d7c1d2 Forgot a drop in unit test 2008-11-03 01:53:27 -06:00
Slava Pestov 08b277e892 Fix alias anlaysis bug: result of ##box-alien and ##box-float did not get an AC, so calling hi-tag would not compile 2008-11-03 01:52:55 -06:00
Slava Pestov 3230e0010f -trace-compilation command line switch 2008-11-03 01:19:20 -06:00
Slava Pestov 7f3282bb39 Better error reporting 2008-11-03 01:19:06 -06:00
Slava Pestov f253e74942 Inline subprimitives in optimizing compiler 2008-11-03 01:18:54 -06:00
Slava Pestov 44a2499c17 fixnum-shift-fast and fixnum-mod subprimitives 2008-11-03 01:18:35 -06:00
Slava Pestov dd20b39cd6 fixnum-shift-fast subprimitive 2008-11-03 00:03:39 -06:00
Slava Pestov 1aefde994f Cleanup 2008-11-03 00:03:22 -06:00
Slava Pestov 0d83873174 Fix regression 2008-11-03 00:03:15 -06:00
Slava Pestov abb02f1784 Flesh out shift instructions 2008-11-03 00:03:00 -06:00
Slava Pestov 449c1191cc Add another debug var 2008-11-02 23:25:42 -06:00
Slava Pestov 445e353337 Optimize away useless jumps 2008-11-02 23:09:31 -06:00
Slava Pestov d11a779fdd RicE 2008-11-02 03:58:32 -06:00
Slava Pestov 998637109a Merge branch 'master' into new_codegen 2008-11-02 03:10:40 -06:00
Slava Pestov 3834eaeb05 Don't generate GC checks if the allocation instruction is optimized out 2008-11-02 01:50:48 -06:00
Slava Pestov 8df1aba71d Coalescing 2008-11-02 01:49:57 -06:00
Doug Coleman c5293819ce Merge branch 'master' of git://factorcode.org/git/factor 2008-11-01 19:40:18 -05:00
Doug Coleman 9c5bd1e96d remove debug from regexp 2008-11-01 19:39:49 -05:00
Slava Pestov 46b1fd652b Merge branch 'master' of git://factorcode.org/git/factor into new_codegen 2008-11-01 19:11:40 -05:00
slava 1cd2874072 Uncomment a test 2008-11-01 18:56:12 -05:00
Slava Pestov b5c3c19ebe Merge branch 'master' of git://factorcode.org/git/factor into new_codegen 2008-11-01 16:38:04 -05:00
Doug Coleman 8a494a0da4 fix the way postgresql creates functions 2008-11-01 15:24:05 -05:00
Slava Pestov 804c6f93ea Fix x86.32 2008-10-31 21:07:41 -05:00
Slava Pestov db4db19cd9 Start working on coalescing 2008-10-28 02:38:37 -07:00
Slava Pestov 492a15e345 Move insn class to compiler.cfg.instructions 2008-10-24 09:17:06 -05:00
Doug Coleman 2937f71702 more usings 2008-10-23 13:38:26 -05:00
Doug Coleman a42c8d4ab7 fix using 2008-10-23 13:37:14 -05:00
Doug Coleman 03d96cc1bd rename name to mount-point 2008-10-23 13:18:00 -05:00
Slava Pestov 1912c57bb5 Fix comment 2008-10-23 05:55:50 -05:00
Slava Pestov 69a0ad5e42 Ricing locals 2008-10-23 05:49:32 -05:00
Slava Pestov 1c7d9c1066 Merge branch 'master' into new_codegen 2008-10-23 05:29:09 -05:00
Slava Pestov 885adc8dc9 Various improvements 2008-10-23 05:27:54 -05:00
Slava Pestov 7fb39a14c1 Compile compiler early 2008-10-23 02:49:55 -05:00
Slava Pestov 52967c5bf1 Improved value numbering 2008-10-23 02:49:26 -05:00
Doug Coleman d7cbf8b1f3 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-22 22:03:00 -05:00
Doug Coleman e776bd29e1 add type to file-system-info 2008-10-22 22:02:33 -05:00
Slava Pestov d723b69990 Value numbering 2008-10-22 21:59:07 -05:00
Slava Pestov 084e64d0bc Tweak inheritance 2008-10-22 21:58:46 -05:00
Slava Pestov ba0ed21e1d Better error message 2008-10-22 21:58:37 -05:00
Doug Coleman b85b0f6820 fix typo 2008-10-22 21:43:19 -05:00
Doug Coleman c9167e2ab2 better file-system-info on mac 2008-10-22 20:32:39 -05:00
erg bccf9d9698 add device-name and type to file-system-info 2008-10-22 20:28:30 -05:00
Doug Coleman 4ddfc83423 id_t type 2008-10-22 20:22:35 -05:00
Doug Coleman 46fbd8c520 mounton -> name 2008-10-22 20:18:58 -05:00
erg 278b55ee57 include mount point in file-system-info 2008-10-22 20:04:10 -05:00
Doug Coleman 89e9fa8b6b mounted* -> mounted 2008-10-22 19:56:46 -05:00
erg b4b02d29fa fix mounted on linux 2008-10-22 19:54:22 -05:00
Doug Coleman f9b90d035b implement mounted on linux 2008-10-22 19:01:45 -05:00
Doug Coleman 371b1f8f20 fix mounted on macosx 2008-10-22 18:46:24 -05:00
Slava Pestov 9a07760542 CFG optimizer 2008-10-22 18:41:37 -05:00
Slava Pestov 3711aa3bca Stack height normalization 2008-10-22 18:41:26 -05:00
Slava Pestov 6d812aaa52 Write barrier elimination 2008-10-22 18:41:10 -05:00
Slava Pestov 1f693b50b3 Massive focused action 2008-10-22 18:39:41 -05:00
Slava Pestov 73d01452cb Replace ##gc with a gc flag in the basic block 2008-10-22 18:38:30 -05:00
Slava Pestov f09813f6fd Alias analysis 2008-10-22 18:37:47 -05:00
Doug Coleman 1d750b26d2 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-21 23:44:02 -05:00
Doug Coleman b9e043effe move >file-system-info 2008-10-21 23:43:36 -05:00
Slava Pestov dc74d1a9b6 Merge branch 'master' into new_codegen 2008-10-21 23:40:03 -05:00
Slava Pestov 84820244dd Merge branch 'master' into new_codegen 2008-10-21 23:19:20 -05:00
Slava Pestov ebd6776fc4 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-21 23:18:49 -05:00
Slava Pestov 52020c2fe3 Fixing x86 instruction encoding for addressing with base = ESP or R12 2008-10-21 23:18:27 -05:00
Slava Pestov 1b06ab1b39 Fixing various bugs 2008-10-21 23:17:32 -05:00
Doug Coleman 9870a7d7cd fix bug with printing docs directory 2008-10-21 21:03:37 -05:00
Doug Coleman 003000b7cf timeval>seconds 2008-10-21 04:19:50 -05:00
Slava Pestov 87e9fbb34c Comparison operations 2008-10-21 03:21:29 -05:00
Doug Coleman 1423577d89 typo 2008-10-21 03:21:17 -05:00
Slava Pestov 94a2bfa2ea Working on comparison operations, clearing out remaining dead wood 2008-10-21 03:20:48 -05:00
Doug Coleman 33948aa024 linux32 and linx64 filesystem info objects instead of only one type 2008-10-21 03:16:48 -05:00
Doug Coleman 09c1f8cc01 split up linux statfs 2008-10-21 03:11:26 -05:00
Doug Coleman 69aad251c1 use common statfs fields on linux for now 2008-10-21 02:53:34 -05:00
Slava Pestov ca49ab09c9 Merge branch 'master' into new_codegen 2008-10-20 23:28:51 -05:00
Slava Pestov a8d1ec34f8 Fix an UI bug and remove some pick usages 2008-10-20 23:28:02 -05:00
Slava Pestov 4b20266235 Merge branch 'master' into new_codegen 2008-10-20 22:06:11 -05:00
Slava Pestov 1df08ba8c8 Unit tests no longer use hard-coded ports 2008-10-20 22:05:22 -05:00
Slava Pestov d7ad12207c Merge branch 'master' of git://factorcode.org/git/factor 2008-10-20 21:09:01 -05:00
Slava Pestov 8d5135682f Print a message when tests fail 2008-10-20 21:07:46 -05:00
Slava Pestov df498c21a3 Trim USING: 2008-10-20 20:46:47 -05:00
Slava Pestov 0cc0a41e57 Update for compiler.intrinsics removal 2008-10-20 20:40:36 -05:00
Slava Pestov 4d75baf268 Update for ##allot change 2008-10-20 20:40:28 -05:00
Slava Pestov e92f795a76 More work on intrinsics; memory allocation and slot access now expands correctly 2008-10-20 20:40:15 -05:00
Doug Coleman b90aeee25c use readdir on openbsd until we upgrade so the build machine is ok 2008-10-20 11:32:55 -05:00
Slava Pestov 0c89575632 Merge branch 'master' into new_codegen 2008-10-20 05:56:44 -05:00
Slava Pestov 508b1f52b8 Update x86 backend for SSA codegen 2008-10-20 05:55:57 -05:00
Slava Pestov 37cf7d9a9c Add SSA comparison instructions, fix various problems 2008-10-20 05:55:20 -05:00
Doug Coleman 1b03aaf63e typos 2008-10-20 04:35:15 -05:00
Doug Coleman 74dab4f90a netbsd work 2008-10-20 04:30:01 -05:00
Doug Coleman d686ea1293 netbsd work 2008-10-20 03:01:44 -05:00
Doug Coleman ff918546c1 ffi work 2008-10-20 02:08:33 -05:00
Doug Coleman 70fb131e82 add netbsd 2008-10-20 02:27:09 -05:00
Doug Coleman fe67aae4f4 add netbsd statvfs struct 2008-10-20 02:05:15 -05:00
Slava Pestov af6b8c4e97 Merge branch 'master' into new_codegen 2008-10-20 01:59:52 -05:00
erg 84a9a49416 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-20 01:57:29 -05:00
Slava Pestov f092622fac CFG IR is now pure SSA 2008-10-20 01:56:28 -05:00
erg deb4526bd1 ffi work 2008-10-20 01:55:40 -05:00
Doug Coleman fe16f4d560 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-20 01:14:29 -05:00
Doug Coleman dc4a1bc902 fix netbsd stat struct 2008-10-20 01:14:07 -05:00
Doug Coleman e2880e8dd7 add statfs stuff 2008-10-20 00:47:51 -05:00
Doug Coleman dba41cfe60 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-20 00:46:43 -05:00
Doug Coleman 0121d0f678 add file-system-info 2008-10-20 00:30:24 -05:00
Doug Coleman 763f4f7503 move constants to bsd.factor 2008-10-19 22:01:14 -05:00
Doug Coleman 54819c0f95 more tags 2008-10-19 20:45:34 -05:00
Doug Coleman 6037ed413d add unportable tags 2008-10-19 20:45:04 -05:00
Doug Coleman e9c79ee85e fix directory. 2008-10-19 20:42:27 -05:00
Doug Coleman 3dc4002c35 fix subdirs 2008-10-19 20:37:11 -05:00
Doug Coleman 16f2a281d6 typo 2008-10-19 20:30:54 -05:00
Doug Coleman 022473234d Merge branch 'master' of git://factorcode.org/git/factor 2008-10-19 20:00:07 -05:00
Doug Coleman d77771eec8 fix test 2008-10-19 19:47:37 -05:00
erg dcd534292e fixes 2008-10-19 19:45:54 -05:00
Doug Coleman 16f7c09b54 try to fix bootstrap 2008-10-19 19:43:46 -05:00
Doug Coleman 4f948ef5ce try to make bootstrap work again 2008-10-19 19:39:20 -05:00
Doug Coleman e4b6cd7578 directory throws now instead of returning nicely if does not exist 2008-10-19 18:47:23 -05:00
Doug Coleman e310e382c5 fix io monitors recusive 2008-10-19 18:30:51 -05:00
Doug Coleman f5f6c400db change windows file-system-info implementation 2008-10-19 18:19:15 -05:00
Slava Pestov b6ec4dc6ff Merge branch 'master' of git://factorcode.org/git/factor into new_codegen 2008-10-19 18:10:48 -05:00
Doug Coleman 4221f2c963 the windows file-system-info now works on any path, not just directories 2008-10-19 17:46:51 -05:00
Doug Coleman b9e5c98ce7 fix file-system-info 2008-10-19 17:43:22 -05:00
Doug Coleman 623a21256a win32 ffi work 2008-10-19 17:41:46 -05:00
Doug Coleman ca17c11270 try to add winnt space-free 2008-10-21 02:27:39 -05:00
Doug Coleman dfef28e715 make a word generic 2008-10-21 01:27:15 -05:00
Doug Coleman b9d23a2ce7 more ffi work 2008-10-21 01:17:49 -05:00
Doug Coleman 34fa12a737 tabs 2008-10-21 01:08:36 -05:00
Doug Coleman d5c33a865f usings 2008-10-21 01:07:07 -05:00
Doug Coleman 4ff38b2148 pull in unix.statfs in the io code 2008-10-21 01:05:41 -05:00
Doug Coleman bfeec2e9aa ready to push now, expect some more bugs.. 2008-10-21 00:52:04 -05:00
Doug Coleman 236aaf4a35 more moving 2008-10-20 23:43:50 -05:00
Doug Coleman 76e460860d moving stuff around 2008-10-20 23:43:36 -05:00
Doug Coleman e6754ab62e Merge branch 'master' of git://factorcode.org/git/factor 2008-10-20 23:40:15 -05:00
Doug Coleman 7e734ead14 add freebsd and openbsd structs 2008-10-20 23:25:40 -05:00
Doug Coleman f40fc145de remove openbsd shiz 2008-10-20 23:23:17 -05:00
Doug Coleman 0ad47e21c8 using bug 2008-10-19 16:50:34 -05:00
Doug Coleman 307ad5e9e6 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-19 15:41:19 -05:00
Doug Coleman c9b15e9879 fix logging 2008-10-19 15:41:04 -05:00
Doug Coleman c584160ac0 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-19 15:30:55 -05:00
Doug Coleman d4fcc10aac fix windows directory code 2008-10-19 15:29:59 -05:00
Doug Coleman d4916e9fcb fix type 2008-10-19 15:03:29 -05:00
Doug Coleman 60941f4eb5 fix types 2008-10-19 14:56:22 -05:00
Doug Coleman cc1365390a dirent and type definitions 2008-10-19 14:33:45 -05:00
Doug Coleman 548ee091d9 ffi work, add dirent struct for linux 2008-10-19 14:21:12 -05:00
Doug Coleman bce8b1eff6 DIR is not meant to be explicit 2008-10-19 13:43:42 -05:00
Doug Coleman a71ca7242a fix typo in docs, fix load error 2008-10-19 13:34:00 -05:00
Doug Coleman dfc3c2cc78 Merge branch 'master' of git://factorcode.org/git/factor 2008-10-19 13:31:21 -05:00
Doug Coleman 78a529b1c3 remove directory from the vm 2008-10-19 13:27:59 -05:00
Doug Coleman 613cd3fd67 directory/stat struct work 2008-10-19 13:10:28 -05:00
Doug Coleman 0e9ecc1ba9 directory changes 2008-10-19 13:09:48 -05:00
Slava Pestov 0b07edb8c9 Merge branch 'master' into new_codegen 2008-10-19 04:40:26 -05:00
Slava Pestov b9df6d89e3 Fix dodgy init-hook 2008-10-19 04:40:15 -05:00
Slava Pestov 4ae66793f0 Fixing unit tests 2008-10-19 03:51:01 -05:00
Slava Pestov 14d8696f40 Oops, don't mix register classes in active set 2008-10-19 03:34:42 -05:00
Slava Pestov b5f9d47968 Merge branch 'master' into new_codegen 2008-10-19 01:12:20 -05:00
Slava Pestov 774ecf61e9 Implement spilling on x86 2008-10-19 01:10:45 -05:00
Slava Pestov c0d89b061e Fixing register allocator prspilling 2008-10-19 01:10:21 -05:00
Doug Coleman 3905460c45 fix winnt environment variables 2008-10-18 23:03:22 -05:00
Doug Coleman 27c36974a7 remove primitives from core, update usages 2008-10-18 21:42:01 -05:00
Doug Coleman ab0ed9f988 redo home implementation 2008-10-18 21:24:14 -05:00
Doug Coleman 26aee8687b remove empty tests file 2008-10-18 21:20:35 -05:00
Doug Coleman 248d33b51f initial checkin of environment 2008-10-18 21:20:13 -05:00
Doug Coleman 5dc3bf2b27 os-env change 2008-10-18 21:18:04 -05:00
Doug Coleman 110caf3e54 os-env typedefs 2008-10-18 21:16:15 -05:00
Doug Coleman 8b26610808 os envs code and use unix.utilities 2008-10-18 21:15:43 -05:00
Doug Coleman 51f7204356 add unix utilities words 2008-10-18 21:14:51 -05:00
Doug Coleman d6784bdb46 make user-read? work in file-info objects 2008-10-18 17:48:33 -05:00
Doug Coleman 6aadd70623 user-read? is now generic, can take a filename or an integer from a stat struct 2008-10-18 17:29:38 -05:00
Doug Coleman 93e84d7bcd fix some database issues - sqlite booleans, >>group and >>order don't require arrays now, they can be passed strings for a single order or group by 2008-10-18 15:15:27 -05:00
Slava Pestov b3f30fb807 Fix load error 2008-10-17 20:04:08 -05:00
Slava Pestov 627dfd1ff5 Finish vreg simplification 2008-10-17 20:03:59 -05:00
Slava Pestov 7d6e919929 Fix conflict 2008-10-17 18:46:56 -05:00
Slava Pestov 3ca9fc926e Consistent edit-hook variable access 2008-10-17 16:55:38 -05:00
Slava Pestov 58a44f12e5 Fix erg's MEMO:: bug 2008-10-17 16:54:45 -05:00
Slava Pestov 225097a5d3 Fix some bugs in locals 2008-10-17 16:54:07 -05:00
Slava Pestov a57320997a Float array type inference rules 2008-10-17 15:35:33 -05:00
Slava Pestov 239578353f Simplifying vregs work in progress 2008-10-17 15:35:04 -05:00
Doug Coleman 171c235c96 Merge branch 'master' of git://repo.or.cz/factor/jcg
Conflicts:

	basis/cocoa/messages/messages.factor
2008-10-15 23:56:42 -05:00
Slava Pestov fe2c20882a Fix alien accessor intrinsics; a bit more complex now that we don't reserve a tempreg 2008-10-13 22:43:32 -05:00
Slava Pestov f2c6f8de5b Using fry in cpu.x86, working on alien intrinsics 2008-10-13 16:43:58 -05:00
Slava Pestov 740b6ef3f2 Free up a register on x86.64 2008-10-13 14:03:21 -05:00
Slava Pestov a222168f74 Fix bootstrap 2008-10-13 14:01:33 -05:00
Slava Pestov fedadc8032 Remove obsolete test file 2008-10-13 13:08:28 -05:00