Commit Graph

643 Commits (2671ebf519d51a241ee5c7ab8044746c110438a2)

Author SHA1 Message Date
slava fbfad83957 Remove cons usage from runtime 2006-05-15 04:03:55 +00:00
slava 307bc73f5e reverse-slice ==> <reversed> 2006-05-15 03:25:34 +00:00
slava a7be80d994 Parser no longer calls 'swons' 2006-05-15 03:10:54 +00:00
slava c3f37f956f AMD64 fixes 2006-05-15 00:05:57 +00:00
slava b1681213f0 fp-scratch cleanup 2006-05-14 20:44:47 +00:00
slava 4513192968 Minor fixes 2006-05-14 19:44:07 +00:00
slava 22eae0be15 Compiler cleanups and bootstrap speedup 2006-05-12 21:07:56 +00:00
slava 30e1f0fc2b Fix set-slot on x86 2006-05-11 23:46:19 +00:00
slava 4cd4db2347 Update AMD64 backend and clean up other backends 2006-05-11 06:22:51 +00:00
slava 1cce70aad6 Changing list code to use generic sequence words 2006-05-11 00:32:04 +00:00
slava 63703c2713 Minor performance improvements in optimizer 2006-05-10 22:51:18 +00:00
slava 72fe1b6134 Optimizer cleanup 2006-05-10 07:40:03 +00:00
slava fd8a3062e3 Bootstrap performance improvement and assorted cleanups 2006-05-10 06:18:25 +00:00
slava a842703e2f Fix typos 2006-05-10 02:22:21 +00:00
slava bfc0a0e67a Floating point intrinsics for PowerPC 2006-05-10 01:37:07 +00:00
slava a395743af5 Templates fixes for float vreg allocation 2006-05-09 17:48:55 +00:00
slava 3b6cccb620 Templates cleanups 2006-05-09 17:17:03 +00:00
slava 3c92baf8ed Bootstrap and compiler fixes 2006-05-09 16:38:57 +00:00
slava da2fc4eaba Compiler work 2006-05-09 15:31:10 +00:00
slava e0af419b9b Minor fixes 2006-05-06 04:27:40 +00:00
slava e13b28e0d5 More float tests, x86 float fixes 2006-05-06 03:06:08 +00:00
slava 6318d7d719 Floating point fixes 2006-05-06 01:41:57 +00:00
slava da29021086 Working on float intrinsics 2006-05-06 00:06:57 +00:00
slava 2fa14f55ad New 'pentium4' architecture 2006-05-05 06:08:37 +00:00
slava a6e9ed5c21 Preliminary floating point intrinsics work 2006-05-05 06:00:17 +00:00
slava 4af21da845 Register allocation cleanup 2006-05-04 22:19:39 +00:00
slava 1964164664 vregs now delegate to a register class 2006-05-04 22:08:52 +00:00
slava e2f6bf6fef Update x86 assembler for SSE2 2006-05-04 20:05:58 +00:00
slava 229b0c26a4 Minor fixes 2006-05-03 00:26:48 +00:00
slava 1a86171a99 Working on method inlining optimization 2006-05-02 18:16:59 +00:00
slava 5d7d205081 Type inference for clone and (clone) 2006-05-02 10:13:43 +00:00
slava adca3c8464 Tweaking some declarations 2006-05-02 10:05:58 +00:00
slava fd3f37c8e3 Aggressive arithmetic inlining 2006-05-02 07:05:57 +00:00
slava eb4ba47ef1 New optimizations: useless coerce elimination, builtin slot type declarations 2006-05-02 05:49:52 +00:00
slava 1bc9dbcf2a Specializer optimization 2006-05-02 04:11:59 +00:00
slava bdd78ad160 Generate if-intrinsics in more cases 2006-05-02 03:30:24 +00:00
slava 7c53f7ef57 Disable set-slot intrinsic since it seems problematic 2006-05-02 02:12:08 +00:00
slava 73730188c0 Updating x86 intrinsics 2006-05-02 00:45:40 +00:00
slava 706c5d825a First approximation at x86 intrinsic definitions 2006-04-30 20:13:35 +00:00
slava cad17564ad Add +clobber annotations for future optimization 2006-04-30 20:12:54 +00:00
slava 8e9a27eea0 Fix some problems in the x86 backend 2006-04-29 22:33:05 +00:00
slava 42cd1e89f8 Fix more typos 2006-04-29 21:32:15 +00:00
slava d5d47b6ae8 Fix x86 typo 2006-04-29 21:28:51 +00:00
slava f684243e2f Got scratch registers working; PowerPC backend fully operational, x86 in progress 2006-04-29 21:13:02 +00:00
slava 906fea6508 Updating x86 backend for new changes 2006-04-28 23:23:50 +00:00
slava b55d3041ab Bootstrap fixes 2006-04-28 23:04:04 +00:00
slava 451bfb3915 Move some files around 2006-04-28 22:48:48 +00:00
slava 17d6efb543 Removing linear IR 2006-04-28 22:38:48 +00:00
slava 973ed2c7ea Code cleanups, fix #if intrinsic linearization, faster repeat combinator 2006-04-26 07:05:38 +00:00
slava b458d58b91 Fixing some bugs, with-template argument order reversed 2006-04-25 22:25:39 +00:00
slava 8eca428594 Huge compiler patch; two new fixnum-fast and fixnum+fast primitives which do not perform overflow checks 2006-04-24 21:52:03 +00:00
slava 3839e481c5 New, very hairy with-template specifier style 2006-04-23 19:32:08 +00:00
slava ac678bceb0 Register allocation fixes 2006-04-23 05:40:49 +00:00
slava 0842bd6a01 Multiple load elimination 2006-04-22 19:26:32 +00:00
slava 750c0b86b7 Remove debugging code, fix typo in x86 backend 2006-04-21 20:51:01 +00:00
slava 3ff7262976 Fix dead load/store elimination 2006-04-20 20:28:08 +00:00
slava 4c5dcf4135 New approach to stack dead load/store elimination 2006-04-19 20:19:26 +00:00
slava 5b02250d94 Intrinsics cleanups, x86 fixes 2006-04-17 22:25:38 +00:00
slava 25edc7de30 Stripping out old compiler code 2006-04-17 21:17:34 +00:00
slava c6bd0b4aac Fix dead store elimination 2006-04-14 07:53:45 +00:00
slava 2c780d6ee2 Re-enable shuffle optimization, remove dead code 2006-04-11 06:54:10 +00:00
slava daa1837df7 Register allocator fixes 2006-04-11 06:45:24 +00:00
slava 36d1021268 Compiler fixes 2006-04-10 03:11:19 +00:00
slava 4b9d87f85f New phantom stack abstraction 2006-04-10 02:23:00 +00:00
slava 5279cd99bc Debugging compiler 2006-04-08 20:46:47 +00:00
slava 7f5e240e98 More powerful templating 2006-04-08 07:13:01 +00:00
slava ec1890b2b3 Small shuffle optimization cleanup 2006-04-07 00:46:31 +00:00
slava 940d3307f5 Changes to templating system, re-enabled shuffle optimizations 2006-04-05 06:43:37 +00:00
slava d65a748042 Phasing out basic block optimizer; moved %inc-d/r merge optimization to templates 2006-04-03 07:22:33 +00:00
slava 12fd5294da Fix clear-hash bug, merge compiler/compiler-backend/compiler-frontend vocabs 2006-04-03 06:18:56 +00:00
slava a26c93ff45 Cleanup compiler and some minor library code 2006-04-03 05:33:52 +00:00
slava 839080c225 Further compiler refactoring, implemented "templates" 2006-04-02 04:42:36 +00:00
slava cfdefab518 vreg usage cleanups 2006-04-02 00:50:33 +00:00
slava da0633925c Refactor compiler code to deal with stack locations in a more orthogonal manner 2006-04-01 01:16:39 +00:00
slava 0cc07ef41e x86 backend now supports %box-struct 2006-03-29 04:25:52 +00:00
slava ffbf613a4b Fix another typo 2006-03-29 02:43:22 +00:00
slava 5777713237 Fix typo 2006-03-29 02:19:02 +00:00
slava 08580a3b2e First cut at x86 %box-struct 2006-03-29 02:18:09 +00:00
slava b3dbb48581 Documentation updates 2006-03-25 08:16:25 +00:00
slava 6a9e67a4bc Tool documentation 2006-03-25 06:06:52 +00:00
slava 6c587659cc Optimizations aimed at reducing bootstrap time 2006-03-21 05:44:19 +00:00
slava c98d9b7517 Assembler fixes for AMD64 2006-03-20 02:24:06 +00:00
slava 7df9b774e9 UI bootstrapped in 2006-03-15 20:58:22 +00:00
slava 75f8091994 Got Cocoa input events working 2006-03-15 05:24:00 +00:00
slava e8f96e37b7 AMD64 bootstrap fix 2006-03-12 23:37:17 +00:00
slava c30f2f30f4 Value type struct inputs, for PowerPC 2006-03-11 03:16:46 +00:00
slava 448f4e7d6a Small cleanup, re-enable basic block optimizer and Cocoa bindings 2006-03-08 20:03:01 +00:00
slava 78f63c0890 Removed %parameters VOP 2006-03-08 00:53:58 +00:00
slava 592c684f6b Updating optimizer for branch splitting removal 2006-03-07 04:35:32 +00:00
slava b8bcdc8909 Working on optimizer 2006-03-04 07:53:22 +00:00
slava 2ca80eea6f AMD64 bootstrap fix (untested) 2006-03-02 06:50:11 +00:00
slava 4b79be2219 Fix bootstrap, unit tests, and clean up 2006-03-02 06:47:34 +00:00
slava 46331ebefa Rewritten linearizer 2006-03-02 06:12:32 +00:00
slava f33bd6d03b Disable branch splitting 2006-02-28 05:26:45 +00:00
slava e55a401791 standard-combination now takes a dispatch position not a picker 2006-02-25 06:47:35 +00:00
slava 16140e65bc Temporarily revert a write barrier change 2006-02-24 08:59:19 +00:00
slava b08e6c40ec Fix bug with short operand words 2006-02-24 07:41:12 +00:00
slava ae697d92ae More x86 fixes 2006-02-24 07:26:08 +00:00
slava 9873d6285c Update x86 and AMD64 backends for assembler changes 2006-02-24 01:29:53 +00:00
slava 2ed71bcaf3 Further x86 assembler fixes 2006-02-24 01:22:18 +00:00
slava 3c2d412dac Experimental x86 assembler refactoring 2006-02-24 00:01:12 +00:00
slava 44b2323175 AMD64 callback fix, and facts file update 2006-02-21 23:37:17 +00:00
slava 4ae3b85dbf Bootstrap fix and AMD64 tweak 2006-02-21 23:12:00 +00:00
slava 09ca1c3642 Fix callbacks with lots of parameters 2006-02-20 22:49:44 +00:00
slava be66f57b92 AMD64 callbacks support 2006-02-20 05:55:38 +00:00
slava 49257f2498 x86 floating point parameter stack usage fix 2006-02-19 21:34:58 +00:00
slava 58143c8226 Further x86 alien fixes; callbacks now work 2006-02-18 23:39:23 +00:00
slava 096513609a x86 alien work 2006-02-18 06:58:08 +00:00
slava 85eaa1e193 Fix AMD64 bootstrap failure 2006-02-15 05:25:15 +00:00
slava 92db0f8343 Updated alien interface for x86 2006-02-15 05:20:35 +00:00
slava 531dab7806 Implemented returning values from callbacks 2006-02-15 04:23:08 +00:00
slava 827df2d5d2 Added (presently failing) test for spilled arg callback 2006-02-14 22:27:28 +00:00
slava b3a3124566 Bootstrap fix for PowerPC 2006-02-14 03:50:26 +00:00
slava d584e8c0bb Basic callback unit tests pass 2006-02-14 03:47:42 +00:00
slava 2d1ef84911 Further work on callbacks 2006-02-14 03:20:39 +00:00
slava 8b74f721b5 Nullary callbacks are working 2006-02-13 22:16:34 +00:00
slava 1f153c24b2 Starting work on callbacks 2006-02-11 07:30:18 +00:00
slava 21af22aa5b Moving Cocoa bindings 2006-02-10 01:34:49 +00:00
slava ac68a16492 FFI now supports passing structs by value
So far, this is only supported on PowerPC.
2006-02-06 06:43:59 +00:00
slava 9e5b6424a1 Initial revision 2006-02-01 02:31:53 +00:00
Slava Pestov fd59c87eae AMD64 FFI fixes; httpd load fix; minor opengl optimization 2006-01-30 07:03:34 +00:00
Slava Pestov ff09d4c559 amd64 ffi fix 2006-01-30 03:51:26 +00:00
Slava Pestov 8569427c4e added a zero? word 2006-01-28 20:49:31 +00:00
Slava Pestov 95b908479e fix sse register issue 2006-01-27 05:58:25 +00:00
Slava Pestov 13ef8f9412 cell fix; experimental preferred size cache; floor/ceiling/truncate/mod for floats; fix mod for ratios; fix float equality test 2006-01-27 04:01:14 +00:00
Slava Pestov 2ee22aad49 float parameters work 2006-01-25 06:18:12 +00:00
Slava Pestov 1177038cec stub out AMD64 float parameter code 2006-01-25 01:20:20 +00:00
Slava Pestov 9ea2332a2b FFI work 2006-01-25 00:56:08 +00:00
Slava Pestov 9941aa5607 removed fixnum<< vop since it was buggy and afforded no performance gain, and also simplified some code 2006-01-22 21:40:18 +00:00
Slava Pestov df4c2fc067 fix fixnum-shift overflow check 2006-01-21 08:23:14 +00:00
Slava Pestov f9db19f917 fixes 2006-01-21 02:37:38 +00:00
Slava Pestov 60a147bbfa more I/O docs; added missing files from twb's patch 2006-01-19 08:03:32 +00:00
Slava Pestov bea2809d94 fix benchmarks to run 2005-12-25 06:27:34 +00:00
Slava Pestov 2f73851117 fix typo 2005-12-25 06:00:10 +00:00
Slava Pestov a385475394 oops 2005-12-25 04:18:41 +00:00
Slava Pestov a5e14acaa3 fix a crash 2005-12-25 04:01:49 +00:00
Slava Pestov 4e8186cf79 some alien call cleanups 2005-12-24 21:08:15 +00:00
Slava Pestov fe9e80aa2d remove redundant definition 2005-12-23 08:05:20 +00:00
Slava Pestov df230e7cd9 some assembler tweaks, and a fix for indirect literal load relocation 2005-12-23 06:41:33 +00:00
Slava Pestov c3a00005ab fix error in compiler 2005-12-21 07:49:24 +00:00
Slava Pestov e82f069649 refactored inlined recursive blocks 2005-12-21 07:43:41 +00:00
Slava Pestov 0e6236e6f6 win64 fixes in runtime 2005-12-21 02:36:52 +00:00
Slava Pestov e232f76b00 %jump-label generator was wrong for amd64 2005-12-20 08:47:30 +00:00
Slava Pestov a38834bf62 fixing a calling convention issue I don't fully understand 2005-12-20 08:22:01 +00:00
Slava Pestov cf9fde020f extended stream output protocol 2005-12-17 02:12:35 +00:00
Slava Pestov 587de89e22 bootstrap fix 2005-12-15 01:29:32 +00:00
Slava Pestov 395e2e9755 fix typo 2005-12-13 23:18:16 +00:00
Slava Pestov de504b6e78 powerpc bootstrap fixes 2005-12-13 23:16:37 +00:00
Slava Pestov d3b4726790 new bootstrap system; some other code cleanups 2005-12-13 22:33:58 +00:00
Slava Pestov 58a3e3ed16 new alien>string and string>alien primitives; powerpc backend fixes 2005-12-12 23:51:45 +00:00
Slava Pestov ca035d7709 search word tweak 2005-12-11 23:48:42 +00:00
Slava Pestov e1e1d8f7f0 fix some typos 2005-12-11 20:37:16 +00:00
Slava Pestov 1086f8b3e3 64-bit relocation 2005-12-11 20:14:41 +00:00
Slava Pestov 07f98e9dc6 print load messages when running files 2005-12-11 19:27:36 +00:00
Slava Pestov b0cfcca990 fix AMD64 %fixnum* overflow 2005-12-11 03:48:09 +00:00
Slava Pestov 4cbf30669d simplification 2005-12-11 01:08:47 +00:00
Slava Pestov 44826cb0d7 fix typo in fixnum<< generator 2005-12-11 01:00:28 +00:00
Slava Pestov 98b5593fd1 load fix 2005-12-10 08:19:23 +00:00
Slava Pestov 5f164b7255 more overflow check work 2005-12-10 08:03:45 +00:00
Slava Pestov 0528c5a89c working on AMD64 overflow checks 2005-12-10 06:27:41 +00:00
Slava Pestov 3174f87b67 minor cleanups all over the place 2005-12-10 06:02:13 +00:00
Slava Pestov 1990a8d859 PowerPC backend fixes 2005-12-09 05:02:41 +00:00
Slava Pestov e7c197dd40 fix bad symbol shadowing 2005-12-08 23:14:49 +00:00
Slava Pestov 61959776b9 rel-cards fix 2005-12-08 09:22:16 +00:00
Slava Pestov 7262e6832a stage 2 boot fix 2005-12-08 05:55:51 +00:00
Slava Pestov 86a463b458 fix typo 2005-12-08 03:31:16 +00:00
Slava Pestov 9cb119f40c assembler fix 2005-12-08 03:14:45 +00:00
Slava Pestov 408939d92d compiler backend code cleanups 2005-12-08 02:46:54 +00:00
Slava Pestov 60a5f535e9 fixing bugs 2005-12-07 08:37:05 +00:00
Slava Pestov 35b40a0f10 fix generic word error 2005-12-07 05:14:24 +00:00
Slava Pestov 2c756975ae updated intrinsics tests for 64-bit 2005-12-07 04:09:51 +00:00
Slava Pestov eac3146be6 all intrinsics tests pass (except overflow) 2005-12-07 03:39:05 +00:00
Slava Pestov ceb15dbe5d load primitive types in stage 1 2005-12-07 02:34:18 +00:00
Slava Pestov 00ec673094 fixing slot vops 2005-12-07 01:42:17 +00:00
Slava Pestov a4478d6bc0 fix %set-slot on x86 2005-12-06 00:07:41 +00:00
Slava Pestov 1337da225a bootstrap fix 2005-12-05 03:57:51 +00:00
Slava Pestov d79be44323 more fixes for AMD64 2005-12-05 03:55:02 +00:00
Slava Pestov aed2d90b30 fix 64-bit issue in runtime 2005-12-05 03:29:55 +00:00
Slava Pestov 66c0c2875c VOP cleanups 2005-12-05 03:06:12 +00:00
Slava Pestov 0c68096656 some VOP refactoring 2005-12-05 00:56:42 +00:00
Slava Pestov 1382b48d70 moved amd64 register definitions to their own file 2005-12-04 21:33:57 +00:00
Slava Pestov 343d70acee xt.factor fix 2005-12-04 21:29:30 +00:00
Slava Pestov 45cf45af89 fix bootstrap failure 2005-12-04 21:23:58 +00:00
Slava Pestov 70f44ce9e4 Reworking relocation code 2005-12-04 21:20:17 +00:00
Slava Pestov 57e990c35a AMD64 port 2005-12-04 19:30:28 +00:00
Slava Pestov ca14fd7b1c amd64 work 2005-12-04 07:30:19 +00:00
Slava Pestov 0635fe6d38 fix directory listing 2005-12-03 21:13:09 +00:00
Slava Pestov 08f15c4756 some more amd64 hacking 2005-12-02 08:49:25 +00:00
Slava Pestov 895de95355 finish elimination of list usage from x86 backend 2005-12-02 08:24:59 +00:00
Slava Pestov fe991f4aee load fix 2005-12-02 08:15:27 +00:00
Slava Pestov d8384c12c9 initial AMD64 porting work 2005-12-02 07:25:44 +00:00
Slava Pestov f751f17259 adding amd64 architecture 2005-12-02 06:23:09 +00:00
Slava Pestov 7a4aed9fc5 fix some problems 2005-11-27 23:15:40 +00:00
Slava Pestov 9ef9193308 new hashtable 2005-11-27 22:45:48 +00:00
Slava Pestov 81c39d3368 fixing various compiler and inferencer bugs 2005-11-23 02:41:41 +00:00
Slava Pestov 036d1f9673 bootstrap fix 2005-11-15 17:58:44 +00:00
Slava Pestov a651cc87b1 various fixes to inference, experimenting with %char-slot vops and interruption checks 2005-11-14 03:04:14 +00:00
Slava Pestov 9440f385e5 interruption checks get compiled now, fixnum/mod fixed on powerpc 2005-11-12 05:37:24 +00:00
Slava Pestov c0f4d073df fix 1.0 1+ compiler bug 2005-11-05 01:19:15 +00:00
Slava Pestov 23738087aa big syntax change: vectors are now V{ }, hashtables are now H{ }, tuples T{ }, wrappers W{ }, complexes C{ }, arrays { } 2005-10-30 03:25:38 +00:00