Commit Graph

268 Commits (bdb95d7fc353fdaccc7965fa60679cca2ce4166c)

Author SHA1 Message Date
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