Commit Graph

554 Commits (1fdc965b347a2cfc4a136ed1ed0430a2331e16d6)

Author SHA1 Message Date
Joe Groff 1916b9269e "pointer-c-type" word-prop hack is now unnecessary since all pointer types behave uniformly now 2010-02-23 12:07:55 -08:00
Joe Groff db8b6baa2f typo in alien.parser test 2010-02-23 11:59:53 -08:00
Joe Groff 71d169e420 fix typos in alien docs 2010-02-23 11:56:10 -08:00
Joe Groff 4cfa1a6c77 rename current string-mangling "char*" to "c-string". char* is now just a boring old pointer to char 2010-02-23 11:42:02 -08:00
Joe Groff 818bbb4984 update docs about pointer types 2010-02-23 11:03:48 -08:00
Joe Groff 00a7559d55 have TYPEDEF:, STRUCT: etc. throw an error if you try to define a c type name ending with asterisk 2010-02-23 10:16:18 -08:00
Joe Groff 75e2a5098e if any typedef in the chain has a pointer-c-type, use it 2010-02-23 08:09:33 -08:00
Slava Pestov 7decccf8bb Merge branch 'master' of git://factorcode.org/git/factor 2010-02-23 20:26:41 +13:00
Joe Groff aef979b552 alien.fortran: update tests to reflect new pointer c-type objects 2010-02-22 21:58:18 -08:00
Erik Charlebois aead6e7dd8 Revert change to make-callback-type cause Slava already fixed it in parse-arglist 2010-02-22 19:34:34 -08:00
Joe Groff 829351f2f2 don't box struct pointer values when they're null 2010-02-22 19:08:43 -08:00
Joe Groff 1bf37f01e5 alien.arrays/classes.struct: ensure specialized array types for struct array slots get instantiated at parse time 2010-02-22 12:21:29 -08:00
Joe Groff 4d2ded634b alien.parser: properly generate return type name for FUNCTION: stack effects 2010-02-22 11:25:01 -08:00
Erik Charlebois 833372cd08 Merge alien/parser/parser.factor 2010-02-22 10:53:19 -08:00
Erik Charlebois 124982ce23 Fix CALLBACK: effect return type also not a string. Added accompanying unit test. 2010-02-22 10:48:21 -08:00
Joe Groff 31a0d98e02 Merge branch 'master' into new-alien-pointers
Conflicts:
	basis/alien/c-types/c-types.factor
	basis/stack-checker/dependencies/dependencies.factor
2010-02-22 10:32:59 -08:00
Slava Pestov 23a1f0ed8c alien: some code cleanups and fixes 2010-02-23 01:28:56 +13:00
Slava Pestov 7578429692 alien.c-types: remove void? word 2010-02-22 21:31:41 +13:00
Joe Groff 338edac16c Merge branch 'master' of git://factorcode.org/git/factor into new-alien-pointers 2010-02-21 23:14:08 -08:00
Joe Groff 0bc8e8f408 alien.arrays: typedef special char* symbol so it still works as expected 2010-02-21 23:11:59 -08:00
Slava Pestov 1986dc49e4 Merge branch 'master' of git://github.com/erikcharlebois/factor 2010-02-22 20:09:20 +13:00
Joe Groff 04cc3052b6 alien.prettyprint: pprint pointer objects as "type*" in c-type contexts 2010-02-21 21:32:34 -08:00
Joe Groff 5faa97e42c alien.parser: favor parsing "foo*" as pointer-to-foo now 2010-02-21 21:06:00 -08:00
Joe Groff d5bf6e55cd more implementation of pointer c-types. make it so that { char* binary } acts like a real pointer to char instead of stringifying, and add byte* typedef for { char* binary } 2010-02-21 20:58:21 -08:00
Joe Groff 5955ba06df use a "pointer" wrapper tuple to indicate pointer types instead of the current slipshod approach 2010-02-21 16:27:36 -08:00
Joe Groff 62e97c138a ditch string c-types 2010-02-21 10:58:21 -08:00
Erik Charlebois 536ae3c648 Unit test checking the stack effects from FUNCTION:. 2010-02-20 21:15:47 -08:00
Erik Charlebois b25e945c74 The return values in the stack effects of FUNCTION: words were c-types rather than strings. This was causing scaffold-help to fail on vocabularies with FUNCTION:. 2010-02-20 03:02:56 -08:00
Joe Groff 42089b6586 alien.libraries: add a "deploy-library" word that marks a library to have its dll deployed with applications that use it. add support to tools.deploy to find and copy deployed libraries into target bundle 2010-02-16 13:32:58 -08:00
Slava Pestov a3b74d88c9 cpu.architecture: rep-length now works in deployed images 2010-02-11 18:11:47 +13:00
Slava Pestov 59193af701 alien.syntax: save source location for TYPEDEF:, raise error on redefinition 2010-02-05 20:52:20 +13:00
Joe Groff 1ee05e38fb missed an alien.fortran test 2010-02-02 00:13:13 -08:00
Joe Groff f1bbeec198 wrap alien.fortran c-type conversion tests in with-manifest 2010-02-01 22:03:51 -08:00
Joe Groff 9adfda095f alien.fortran: convert fortran types to word c-types 2010-02-01 12:06:10 -08:00
Slava Pestov 892522f8bd alien.c-types: ensure that long and ulong types are defined with define-primitive-type and not typedef 2010-01-23 00:15:08 +13:00
Slava Pestov 638fbb13b0 alien.c-types: clean up and fix for win64 2010-01-22 23:14:20 +13:00
Slava Pestov 1c10196c43 Rename kernel.private:getenv/setenv to special-object/set-special-object to mirror recent renaming on the VM side 2010-01-13 18:08:18 +13:00
Slava Pestov e96404327e Get optimizing compiler working without global register variables in VM 2009-12-22 15:42:49 +13:00
Slava Pestov 7c8d755c45 Fix bootstrap 2009-12-02 19:24:46 -05:00
Joe Groff 67cc1c01be Merge branch 'master' into simd-cleanup 2009-11-26 16:14:46 -08:00
Joe Groff 66d0cafa94 fix buggy simd intrinsics 2009-11-26 13:28:40 -08:00
Slava Pestov 0612bc6177 Factor source files should not be executable 2009-11-21 17:50:43 -06:00
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
Joe Groff 79787f6259 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 7b6d00a833 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 46045c882e 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 3f3d57032b 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 422dd24bad alien.complex: fix tests 2009-08-11 14:07:33 -05:00
Slava Pestov 9fb0dcd9bd 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 d19c403fee 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 725280d424 Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
Joe Groff a2fe9f1952 [ [ ... ] bi@ <=> ] sort => [ ... ] sort-with 2009-08-02 20:13:59 -05:00
Slava Pestov 1993274d01 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 f7b2e4a155 remove call to check-c-name 2009-07-23 18:14:07 -05:00
Doug Coleman 9bb38b870c allow FUNCTION: to parse pointers in the name field 2009-07-23 18:05:09 -05:00
Doug Coleman bad8e05937 Disallow C functions and parameter names that contain an asterisk 2009-07-23 15:48:10 -05:00
Jeremy Hughes 79dd644e57 moved alien.inline and alien.marshall to extra 2009-07-14 22:39:27 +12:00
Jeremy Hughes 48bd9aaacf alien.marshall.syntax: added documentation 2009-07-14 22:36:59 +12:00
Jeremy Hughes cddc5a3188 alien.marshall.syntax: arg renaming 2009-07-14 22:36:45 +12:00
Jeremy Hughes 586cf9547f alien.marshall: fixed char* unmarshalling bug 2009-07-14 22:33:23 +12:00
Jeremy Hughes 90b7ca501b alien.(inline,marshall): removed unused doc helper words and made the rest private 2009-07-14 22:32:37 +12:00
Jeremy Hughes 010af379bb alien.marshall.structs: added documentation 2009-07-14 20:51:32 +12:00
Jeremy Hughes 92e38530a3 alien.marshall.structs: made some words private 2009-07-14 20:50:52 +12:00
Jeremy Hughes 3b56dc8b13 alien.marshall.structs: moved struct-wrapper dispose* method to alien.marshall 2009-07-14 20:50:20 +12:00
Jeremy Hughes f65adc1a63 alien.marshall: added documentation 2009-07-14 10:26:45 +12:00
Jeremy Hughes fd23b4070f alien.marshall: marshalling word fixes 2009-07-14 10:26:26 +12:00
Jeremy Hughes 702419c092 alien.marshall.private: remove marshall-TYPE and make () words private 2009-07-14 10:25:34 +12:00
Jeremy Hughes 1cca58d781 alien.marshall: use marshall-primitive instead of marshall-<primitive> words 2009-07-14 10:24:31 +12:00
Jeremy Hughes c5e30fee3e alien.marshall: rewrote bool marshalling 2009-07-14 10:21:32 +12:00
Jeremy Hughes c0714c6135 alien.inline.types: factorize-type and pointer-to-const? accept strings with spaces 2009-07-14 10:20:13 +12:00
Jeremy Hughes 687d541838 alien.marshall: dynamic-cast: renamed to unmarshall-cast 2009-07-13 10:26:41 +12:00
Jeremy Hughes 2aec1d697c alien.inline.compiler: added -mno-cygwin to linker on windows 2009-07-11 20:53:50 +12:00
Jeremy Hughes 0d88577890 Merge branch 'inlinec' into marshall
* inlinec:
  alien.inline.compiler: changed windows compiler options
2009-07-11 20:52:01 +12:00
Jeremy Hughes d2077b1670 alien.inline.compiler: changed windows compiler options 2009-07-11 20:51:34 +12:00
Jeremy Hughes 11183fa5db alien.inline.*: fixed merge breakage 2009-07-11 20:50:27 +12:00
Jeremy Hughes 579aba5625 Merge branch 'inlinec' into marshall
* inlinec: (49 commits)
  alien.inline.compiler: documentation
  alien.inline.compiler: fixed library-path and made other words private
  alien.inline: renamed compiler-args to linker-args
  alien.inline: added with-c-library word
  alien.inline: added documentation
  alien.inline: better names
  alien.inline: remove vocab argument from define-c-struct
  alien.inline: made define-c-function and define-c-function' standalone
  alien.inline: fix library name and us remove-library
  alien.inline.compile: write library files to resource:alien-inline-libs
  Revert "Remove unused vocabulary" -- committed patch from the wrong machine
  Remove unused vocabulary
  Fixing some test failures after url.encoding change
  FUEL: Font lock/indentation for M::.
  replace 2array "." join with "." glue
  contributors: exclude merges to make patch counts more reasonable
  alien.libraries: add remove-library word, fix dlclose and dll-valid? VM primitives
  alien.libraries: add dispose method for library tuple, and remove-library word; add-library first calls remove-library to properly close the library when reloading
  changed single byte writes to write1
  removed usages of sprintf
  ...

Conflicts:
	basis/alien/inline/compiler/compiler.factor
	basis/alien/inline/inline.factor
2009-07-11 19:58:25 +12:00
Jeremy Hughes f2380aab7f alien.inline.compiler: documentation 2009-07-11 19:24:09 +12:00
Jeremy Hughes eb72ba84f6 alien.inline.compiler: fixed library-path and made other words private 2009-07-11 19:23:49 +12:00
Jeremy Hughes b03b769966 alien.inline: renamed compiler-args to linker-args 2009-07-11 19:23:21 +12:00
Jeremy Hughes 4a5cb3aac3 alien.inline: added with-c-library word 2009-07-11 00:08:40 +12:00
Jeremy Hughes dc80d8575f alien.inline: added documentation 2009-07-10 23:55:32 +12:00
Jeremy Hughes 864a6e7508 alien.inline: better names 2009-07-10 23:55:05 +12:00
Jeremy Hughes 0851823ba9 alien.inline: remove vocab argument from define-c-struct 2009-07-10 23:54:40 +12:00
Jeremy Hughes 2e7f337b3d alien.inline: made define-c-function and define-c-function' standalone 2009-07-10 23:53:50 +12:00
Jeremy Hughes 59f0dbb516 alien.inline: fix library name and us remove-library 2009-07-10 13:14:43 +12:00
Jeremy Hughes 289c963dd2 Merge branch 'master' into inlinec
* master: (39 commits)
  Revert "Remove unused vocabulary" -- committed patch from the wrong machine
  Remove unused vocabulary
  Fixing some test failures after url.encoding change
  FUEL: Font lock/indentation for M::.
  replace 2array "." join with "." glue
  contributors: exclude merges to make patch counts more reasonable
  alien.libraries: add remove-library word, fix dlclose and dll-valid? VM primitives
  alien.libraries: add dispose method for library tuple, and remove-library word; add-library first calls remove-library to properly close the library when reloading
  changed single byte writes to write1
  removed usages of sprintf
  fixed signed number decoding problem
  added >upper to push-utf8 to conform with RFC 3986 section 2.1. recommendation
  io.launcher: unnecessary word
  compiler.cfg.optimizer: fix irrelevant test
  compiler.tree.propagation: better length propagation
  compiler.cfg.linear-scan: fixing unit tests
  compiler.cfg.linear-scan: more code cleanups, and working on split-to-fit algorithm
  compiler.cfg.linear-scan: code cleanups
  compiler.cfg.linear-scan: split off parallel mapping code from resolve pass, use it in assignment pass to resolve parallel copies
  updated llvm.invoker test to use install-bc
  ...
2009-07-10 13:03:07 +12:00
Jeremy Hughes 8281c2fb55 alien.inline.compile: write library files to resource:alien-inline-libs 2009-07-10 13:00:23 +12:00
Jeremy Hughes e0c0399d24 alien.inline.compile: write library files to resource:alien-inline-libs 2009-07-10 12:45:27 +12:00
Slava Pestov baff251d1e alien.libraries: add remove-library word, fix dlclose and dll-valid? VM primitives 2009-07-09 06:51:31 -05:00
Slava Pestov 15c7499ef5 alien.libraries: add dispose method for library tuple, and remove-library word; add-library first calls remove-library to properly close the library when reloading 2009-07-09 06:41:51 -05:00
Jeremy Hughes e56617cc05 Merge branch 'inlinec' into marshall
* inlinec:
  alien.inline.compile: compiler: use eg++ on openbsd
2009-07-09 14:03:59 +12:00
Jeremy Hughes 5b46a22297 alien.inline.compile: compiler: use eg++ on openbsd 2009-07-09 14:03:35 +12:00
Jeremy Hughes d49b637efd alien.marshall.syntax-tests: added struct tests 2009-07-09 10:36:53 +12:00
Jeremy Hughes 426d173b7c alien.marshall: unmarshaller fixes 2009-07-09 10:36:21 +12:00
Jeremy Hughes e2c6b21bfb alien.marshall.syntax: added CM-STRUCTURE: 2009-07-09 10:35:49 +12:00
Jeremy Hughes c4aabe2fb4 alien.marshall.structs: generate struct constructors 2009-07-09 10:35:18 +12:00
Jeremy Hughes ac6c207de8 alien.marshall.struct: struct getter fix 2009-07-09 10:34:41 +12:00
Jeremy Hughes cfc3372867 alien.marshall.*: added missing vocabs 2009-07-09 10:33:54 +12:00
Jeremy Hughes 3d5b9f1651 alien.marshall.syntax: changed naming scheme
Prefixes:
     C-  generates inline C code
     M-  marshalls arguments and return values
    CM-  does both
2009-07-08 17:35:17 +12:00
Jeremy Hughes eab6d79ac4 alien.marshall.syntax: added M-STRUCTURE: 2009-07-08 17:33:21 +12:00
Jeremy Hughes 7d708a17c2 Merge branch 'inlinec' into marshall
* inlinec:
  alien.inline: added RAW-C: word
  struct-arrays and struct-vectors: fix unit tests
  oops
  byte-length for struct-vectors
  fix struct-vectors
  sequences: fix replicate example
  byte-length method for struct-arrays
  growable vocabulary: make 'contract' generic so that only real vectors clear popped elements; add resize method for struct-arrays, add new struct-vectors vocabulary
  Add vectors.functor for generating vector types from arrays; re-implement bit-vectors and specialized-vectors using this. Add DEFERS directive to functors
  compiler.cfg.linear-scan: debugging spilling, add more assertions
  threads: better error messages
  benchmark.hashtables: throw something together
  Remove A+s shortcut for saving image in UI
  compiler.cfg.linear-scan: code cleanup
  compiler.cfg.linear-scan: Re-implement spilling, add some additional runtime assertions, simplify assignment pass since it doesn't have to track spill slots anymore; just assume a live value that's not in active or inactive is spilled
2009-07-08 17:21:53 +12:00