Commit Graph

293 Commits (a6e1e39e23a9126ad41b692893f76b24f5cc7382)

Author SHA1 Message Date
Joe Groff 02b797f11b struct classes now make their own C type without help from alien.structs. remove alien.structs dependencies from everywhere outside of alien and compiler, and have the FFI handle both alien.structs and classes.struct c-types 2009-09-15 17:38:49 -05:00
Slava Pestov 5ef07de398 alien.syntax: improve C-ENUM: docs 2009-09-15 16:24:58 -05:00
Slava Pestov 7aac0d69d6 ALIEN: now reads a hexadecimal integer instead of a decimal one, since in general hex is more useful for addresses 2009-09-12 21:17:53 -05:00
Slava Pestov d4d354570a Fix the build 2009-09-10 00:47:01 -05:00
Slava Pestov 527db8995a Specialized array overhaul
- Replace hand-written specialized-arrays.* subvocabularies with new system; instead of USE:ing specialized-arrays.T, do SPECIALIZED-ARRAY: T
- Ditto for specialized-vectors; use SPECIALIZED-VECTOR:
- io.mmap.functor: removed entirely, use <mapped-array> instead
- struct-arrays and struct-vectors have been removed because specialized arrays and vectors subsume them entirely
2009-09-09 22:33:34 -05:00
Slava Pestov 17821626c3 Fix conflicts 2009-09-07 23:51:25 -05:00
Slava Pestov 430f4a83f9 specialized-arrays.direct is no more; instead, every specialized-array.<foo> vocabulary has a <direct-T-array> constructor 2009-09-04 22:01:55 -05:00
Slava Pestov 20dfbf7ac8 More SIMD work
- Rename SIMD types and register representations: <type>-<count> rather than <count><type>-array
- Make a functor to define 256-bit vector types, use it to define float-8 type
- Make SIMD instructions pure-insns so that they participate in value numbering
2009-09-03 20:58:56 -05:00
Joe Groff e48cdd4a2f fix help lint failures 2009-09-01 13:04:00 -05:00
Joe Groff f8651c06eb fix bootstrap 2009-08-30 20:09:43 -05:00
Joe Groff 0c95a35d56 change c-type-* to c-* everywhere 2009-08-30 19:05:29 -05:00
Joe Groff 182c854140 rather than deprecate <c-array>, replace it with <c-type-array> . to stay consistent, rename <c-type-direct-array> to <c-direct-array> and require-c-type-arrays to require-c-arrays 2009-08-30 18:41:38 -05:00
Joe Groff 77eeb3e5a9 fix alien.complex unboxer 2009-08-29 23:18:31 -05:00
Joe Groff 20da4a9a31 add non-initializing (malloc-array) and (malloc-object) for kicks 2009-08-29 22:42:48 -05:00
Joe Groff 2db9d9b8e4 change alien.complex to use struct classes 2009-08-29 20:20:25 -05:00
Joe Groff 1c3ee6034a change malloc-object back to using calloc 2009-08-29 15:28:31 -05:00
Joe Groff 1d646c8231 change malloc-object and <c-object> not to be in terms of malloc-array and <c-array> 2009-08-29 12:45:59 -05:00
Joe Groff 711af71ca6 typo in alien.c-types docs 2009-08-29 12:23:09 -05:00
Joe Groff 3a06bfaf2d deprecate <c-array>, and make malloc-array box its returned buffer in a direct array 2009-08-29 11:15:23 -05:00
Joe Groff d155b44d51 Merge branch 'master' of git://factorcode.org/git/factor 2009-08-27 21:51:15 -05:00
Joe Groff 64b59dcf1e deprecate C-STRUCT:, C-UNION:, and old-school struct accessors 2009-08-27 21:51:08 -05:00
Slava Pestov 55b5b63b63 alien: move code for supporting CONSTANT: foo 123 { "int" foo } C types into one place instead of the old scattershot approach 2009-08-27 21:49:25 -05:00
Slava Pestov a9de542550 A few inline declarations 2009-08-27 04:09:12 -05:00
Joe Groff 46b124c056 require struct-arrays after alien.structs is loaded 2009-08-26 22:24:55 -05:00
Joe Groff e9a0c96563 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 a56dcd7307 box array c-types into direct-arrays 2009-08-25 21:36:25 -05:00
Joe Groff 938ab5e748 no really, support <c-type-array> of structs using struct-arrays 2009-08-25 20:57:23 -05:00
Joe Groff db57757871 support <c-type-array> of structs using struct-arrays 2009-08-25 20:43:48 -05:00
Joe Groff 2a6200a91d support <c-type-array> on complex ffi types 2009-08-25 19:58:04 -05:00
Joe Groff 8ec44ce486 docs for require-c-type-arrays, <c-type-array>, <c-type-direct-array> 2009-08-25 18:51:56 -05:00
Joe Groff 719f3b0b33 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
Joe Groff a9b9ca01f8 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
Slava Pestov b76d16d2d1 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 50641a5059 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
Doug Coleman d1ce837569 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
Slava Pestov 5f0390d83b alien.complex: fix tests 2009-08-11 14:07:33 -05:00
Slava Pestov e88dcb85ef 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
Slava Pestov f45d80374c 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 4d2160799f Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
Joe Groff 3398375447 [ [ ... ] bi@ <=> ] sort => [ ... ] sort-with 2009-08-02 20:13:59 -05:00
Slava Pestov dd238eaab4 alien.libraries: add-library should now reload the library properly, instead of just leaking DLL handles 2009-07-31 19:46:18 -05:00
Doug Coleman fe83e60e04 remove call to check-c-name 2009-07-23 18:14:07 -05:00
Doug Coleman eda6056201 allow FUNCTION: to parse pointers in the name field 2009-07-23 18:05:09 -05:00
Doug Coleman f8b8616a48 Disallow C functions and parameter names that contain an asterisk 2009-07-23 15:48:10 -05:00
Jeremy Hughes a6b010a5e5 moved alien.inline and alien.marshall to extra 2009-07-14 22:39:27 +12:00
Jeremy Hughes 1bfc131592 alien.marshall.syntax: added documentation 2009-07-14 22:36:59 +12:00
Jeremy Hughes 65c24b6132 alien.marshall.syntax: arg renaming 2009-07-14 22:36:45 +12:00
Jeremy Hughes c36dc9d87f alien.marshall: fixed char* unmarshalling bug 2009-07-14 22:33:23 +12:00
Jeremy Hughes 84191054f2 alien.(inline,marshall): removed unused doc helper words and made the rest private 2009-07-14 22:32:37 +12:00
Jeremy Hughes e4ba5b962f alien.marshall.structs: added documentation 2009-07-14 20:51:32 +12:00