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
Jeremy Hughes
4ca555d8b4
alien.marshall.structs: made some words private
2009-07-14 20:50:52 +12:00
Jeremy Hughes
c8eb9ad978
alien.marshall.structs: moved struct-wrapper dispose* method to alien.marshall
2009-07-14 20:50:20 +12:00