Slava Pestov
c55bdc0d34
alien.c-types: fix help lint
2009-11-19 23:22:08 -06:00
Slava Pestov
2c553bcc86
alien.c-types: make sure generated words reference C type words not strings
2009-11-19 19:34:58 -06:00
Slava Pestov
361c38d5a1
heap-size now has a partial-eval instead of being foldable, and the partial-eval adds a dependency on the C type word. Fixes problem where redefining a struct didn't update specialized array
2009-11-15 11:26:37 -06:00
Slava Pestov
e9a7191050
Fix struct field alignment on PowerPC
2009-11-10 19:34:14 -06:00
Slava Pestov
41e340f231
More PowerPC fixes
2009-11-10 17:26:34 -06:00
Slava Pestov
fba6ddbc22
Move platform-specific c-type initialization out of cpu.* vocabularies and into alien.c-types so that the vm vocabulary, which is loaded before cpu.*, will have correct struct offsets
2009-11-05 01:36:14 -06:00
Slava Pestov
c6b0a91f34
alien.c-types: use (byte-array) instead of <byte-array> in out parameter constructors
2009-11-05 01:08:58 -06:00
Joe Groff
3fbe722561
Merge branch 'master' of http://factorcode.org/git/factor
...
Conflicts:
basis/locals/locals.factor
basis/peg/peg.factor
extra/infix/infix.factor
2009-10-28 16:17:24 -05:00
Joe Groff
6e1bffb1c5
update existing code to use :> ( ) when possible
2009-10-28 16:11:33 -05:00
Doug Coleman
93de179c2f
over push -> suffix!, over push-all -> append!
2009-10-28 15:29:01 -05:00
Doug Coleman
bd13e018dd
memq? -> member-eq?, sorted-memq? -> sorted-member-eq?
2009-10-28 15:02:00 -05:00
Doug Coleman
7ce4b746e5
parsed -> suffix!, add append!
2009-10-28 13:38:27 -05:00
Slava Pestov
560b6f45cc
compiler, cpu.x86.32: clean up FFI implementation, in particular 32-bit x86-specific backend
2009-10-20 04:15:10 -05:00
Slava Pestov
5afce2cc9e
alien.c-types: c-type no longer calls parser at runtime, tools.deploy.shaker now strips out runtime specialized array code generation
2009-10-16 23:50:17 -05:00
Joe Groff
c8eddf89e6
hurr
2009-10-16 16:39:33 -05:00
Joe Groff
21b289e836
tweak parse-c-type so data-map can parse non-c-types
2009-10-16 16:10:09 -05:00
Joe Groff
a37bc4828f
change parse-c-type so that c-type[symbolic-constant] parses to { c-type symbolic-constant }
2009-10-16 12:27:16 -05:00
Slava Pestov
36d1cfd3e5
alien.libraries: fix dlsym docs
2009-10-15 22:08:16 -05:00
Slava Pestov
b88fde04d9
alien.syntax: add C-GLOBAL: for defining words to access global variables, and remove the gimpy one from core-text.utilities
2009-10-09 04:46:29 -05:00
Slava Pestov
18d4f030cd
alien.parser: fix behavior with restarts, reported by mnestic
2009-10-09 04:25:25 -05:00
Joe Groff
b150deeb11
refactor so that generalizations reuses the stub versions of nsequence, firstn, and n*quot needed by memoize
2009-10-08 12:55:52 -05:00
Joe Groff
3a1bb22618
delete malloc-file-contents 'cause it sucks and nobody likes it
2009-10-07 19:30:06 -05:00
Keith Lazuka
405e5d015b
docs: change $subsection to $subsections
2009-10-02 12:15:48 -04:00
Joe Groff
44f393771b
change CALLBACK: to use the ABI of the current LIBRARY: and get rid of STDCALL-CALLBACK:
2009-09-28 19:27:28 -05:00
Slava Pestov
4abfe06b51
Fixing various test failures caused by C type parser change, and clarify C type docs some more
2009-09-28 08:48:39 -05:00
Slava Pestov
7ee8144259
alien.parser: fix unit tests
2009-09-28 05:42:41 -05:00
Slava Pestov
530accdad9
io.mmap: fix obsolete tests and get code to inline better
2009-09-28 03:18:27 -05:00
Joe Groff
123f4fbc30
redefine C-TYPE: to forward declare opaque C types; make C type definition and redefinition a little more robust
2009-09-27 22:12:00 -05:00
Joe Groff
89045e3fd0
Merge branch 'master' into no-c-type-string
2009-09-27 18:47:02 -05:00
Joe Groff
20621bbbb6
add missing USING: to alien.c-types test
2009-09-27 18:18:13 -05:00
Joe Groff
232d1d319c
update alien.c-types tests to use c-type words
2009-09-27 17:41:18 -05:00
Joe Groff
4e68c43f3d
disable parsing of string c-types
2009-09-27 16:06:13 -05:00
Joe Groff
c3935b823f
oops, jumped the gun on one of the alien.parser tests there
2009-09-27 12:10:50 -05:00
Joe Groff
2bc687f0de
add some tests for parse-c-type
2009-09-27 12:03:23 -05:00
Joe Groff
449695c8fe
Merge branch 'master' of git://factorcode.org/git/factor
2009-09-26 23:15:09 -05:00
Joe Groff
5054c954be
add USING:s and rearrange definitions so macosx can compile without parsing c-type strings
2009-09-26 23:14:57 -05:00
Slava Pestov
77fa16c76f
alien: improve documentation
2009-09-26 21:28:11 -05:00
Slava Pestov
685c4143c9
Fix conflict
2009-09-26 21:27:38 -05:00
Joe Groff
2cf0f3e5d3
move alien.inline, alien.cxx, alien.marshall to unmaintained; nuke alien.structs
2009-09-26 20:37:42 -05:00
Slava Pestov
63bf76cc1e
alien.complex: fix tests
2009-09-24 12:59:56 -05:00
Slava Pestov
bbbb207dab
Some fixes and cleanups in math.vectors
...
- Tighten up type inference for operations on complex float arrays
- Fix v. to have correct behavior with complex numbers
- Rename v<< and v>> to vlshift and vrshift to avoid clashing with v>> accessor
2009-09-24 06:58:33 -05:00
Slava Pestov
7ea8832556
Tweaks to reduce deployed image size
2009-09-24 06:24:43 -05:00
Slava Pestov
dfc9fd071e
Add longlong-2, ulonglong-2, longlong-4, ulonglong-4 SIMD types, fix int-4 multiplication on SSE2
2009-09-23 20:23:25 -05:00
Slava Pestov
0f0bf667b5
Merge branch 'master' of git://factorcode.org/git/factor into integer-simd
2009-09-21 17:58:24 -05:00
Joe Groff
6ce8eba961
prettyprint CALLBACK: defs
2009-09-21 14:14:12 -05:00
Joe Groff
0ff319c409
docs for C type words
2009-09-21 13:39:55 -05:00
Joe Groff
55988828bf
update alien docs to talk about C types as words
2009-09-21 13:20:01 -05:00
Joe Groff
00fa7f73fb
add CALLBACK: syntax that defines a typedef and an alien-callback constructor word for function pointer types. update some code in iokit.hid and windows.dinput to use CALLBACK: instead of TYPEDEF:/word pairs
2009-09-21 11:59:41 -05:00
Joe Groff
b09006bba9
include LIBRARY: in FUNCTION: synopsis
2009-09-20 23:59:43 -05:00
Slava Pestov
9d90bdd439
Fix conflict
2009-09-20 23:18:07 -05:00
Slava Pestov
ea44ea3522
math.vectors.simd: add saturated arithmetic operations
2009-09-20 23:16:02 -05:00
Joe Groff
08d9d0ad28
fix synopsis for C-TYPE:, TYPEDEF:, and FUNCTION: so they properly show IN: clause
2009-09-20 23:12:31 -05:00
Slava Pestov
e77341b90c
math.vectors.simd: redesign to be more flexible, integer SIMD work in progress
2009-09-20 02:08:32 -05:00
Joe Groff
076ab42dc3
move some allocation words that don't really have much to do with c types out of alien.c-types into a new alien.data vocab
2009-09-17 22:36:05 -05:00
Joe Groff
8f336b4ec0
alien.fortran can't piggyback the alien.parser arg parser anymore
2009-09-16 21:24:10 -05:00
Joe Groff
263ce45932
fix resolve-pointer-type
2009-09-16 20:54:57 -05:00
Joe Groff
58756c27c5
have typedefs take on the old type's pointer type even when the new type is a word and the old a string
2009-09-16 17:36:50 -05:00
Joe Groff
40620d470f
allow word c-types and definitions to coexist
2009-09-16 17:18:19 -05:00
Joe Groff
e70c063e61
fix alien-function-word predicate
2009-09-16 14:17:13 -05:00
Joe Groff
fc5500a0dc
oops... word c-types can be structs too
2009-09-16 13:11:53 -05:00
Joe Groff
b403ba5c17
fix FUNCTION: prettyprint when function has no arguments
2009-09-16 10:24:03 -05:00
Joe Groff
6dc6886bd9
typedefs share their original type's pointer definition
2009-09-15 22:58:07 -05:00
Joe Groff
2bbd29a561
prettyprinting for FUNCTION: definitions
2009-09-15 22:39:25 -05:00
Joe Groff
b629391477
fix typedef prettyprinting
2009-09-15 22:10:41 -05:00
Joe Groff
26026ff6de
fix bug in pointer type parsing
2009-09-15 22:10:16 -05:00
Joe Groff
3b4330fcf6
get things to a point where they bootstrap again
2009-09-15 21:43:18 -05:00
Joe Groff
ab8abeaee4
Merge branch 'master' into c-type-words
2009-09-15 19:14:41 -05:00
Joe Groff
4d16c569f0
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
9382c67437
alien.syntax: improve C-ENUM: docs
2009-09-15 16:24:58 -05:00
Joe Groff
35b76b83af
convert compiler cpu backends to use c-type words
2009-09-15 16:08:42 -05:00
Joe Groff
ac41416953
create words for c-types
2009-09-15 15:18:54 -05:00
Slava Pestov
a2b864e4f5
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
91e7e1eeea
Fix the build
2009-09-10 00:47:01 -05:00
Slava Pestov
7f2e2b1777
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
bbca00e2ae
Fix conflicts
2009-09-07 23:51:25 -05:00
Slava Pestov
a054ec3d64
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
4d5a4222b6
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
522f426ba7
fix help lint failures
2009-09-01 13:04:00 -05:00
Joe Groff
0f1270720d
fix bootstrap
2009-08-30 20:09:43 -05:00
Joe Groff
0df9884ee5
change c-type-* to c-* everywhere
2009-08-30 19:05:29 -05:00
Joe Groff
361cc04b02
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
be406fa964
fix alien.complex unboxer
2009-08-29 23:18:31 -05:00
Joe Groff
4d8ed23db5
add non-initializing (malloc-array) and (malloc-object) for kicks
2009-08-29 22:42:48 -05:00
Joe Groff
db7eb4e27a
change alien.complex to use struct classes
2009-08-29 20:20:25 -05:00
Joe Groff
a71f242578
change malloc-object back to using calloc
2009-08-29 15:28:31 -05:00
Joe Groff
0e8fe01d11
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
64baa58a3d
typo in alien.c-types docs
2009-08-29 12:23:09 -05:00
Joe Groff
8a9d0e13bb
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
b8978446d9
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-27 21:51:15 -05:00
Joe Groff
e85925153c
deprecate C-STRUCT:, C-UNION:, and old-school struct accessors
2009-08-27 21:51:08 -05:00
Slava Pestov
7cf4e608e5
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
f808f43ffb
A few inline declarations
2009-08-27 04:09:12 -05:00
Joe Groff
53b7729f76
require struct-arrays after alien.structs is loaded
2009-08-26 22:24:55 -05:00
Joe Groff
24c2eaae01
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
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
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
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