Commit Graph

533 Commits (2ba006cd7174ad00bbdd651f2c9a312bf33e55a3)

Author SHA1 Message Date
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
Jeremy Hughes ed825133e0 alien.inline: added RAW-C: word 2009-07-08 16:47:55 +12:00
Jeremy Hughes 25e034adb6 alien.marshall: added struct-arrays to marshall-pointer 2009-07-08 16:42:25 +12:00
Jeremy Hughes e2797b83bc alien.marshall.syntax.tests: delete library before compilation 2009-07-08 15:17:00 +12:00
Jeremy Hughes 5cacaf3524 Merge branch 'inlinec' into marshall
* inlinec:
  alien.inline.tests: delete libraries before compilation
  alien.inline: added C-STRUCTURE:
  alien.inline: added C-TYPEDEF:
2009-07-08 15:15:55 +12:00
Jeremy Hughes 8814e2b308 alien.inline.tests: delete libraries before compilation 2009-07-08 15:15:45 +12:00
Jeremy Hughes 7d218b0263 alien.inline: added C-STRUCTURE: 2009-07-08 15:14:51 +12:00
Jeremy Hughes 488f7efc27 alien.inline: added C-TYPEDEF: 2009-07-08 14:52:07 +12:00
Jeremy Hughes 60f847ea4c alien.marshall.*: replace &free in marshallers with free in unmarshallers 2009-07-08 14:00:48 +12:00
Jeremy Hughes bc6e5de911 alien.inline.types: replaced const-type? with const-pointer? and pointer-to-const? 2009-07-08 11:30:45 +12:00
Jeremy Hughes 03d4575b90 Merge branch 'inlinec' into marshall
* inlinec:
  alien.inline: allow compiling from non-file vocabs
  alien.inline: added DELETE-C-LIBRARY: word, mainly for tests
  alien.inline: prepend vocab name to c-library name

Conflicts:
	basis/alien/inline/inline.factor
2009-07-08 09:46:52 +12:00
Jeremy Hughes 1c42ebd89e alien.inline: allow compiling from non-file vocabs 2009-07-08 09:45:28 +12:00
Jeremy Hughes b421a360c0 alien.inline: added DELETE-C-LIBRARY: word, mainly for tests
Conflicts:

	basis/alien/inline/inline.factor
2009-07-08 09:45:08 +12:00
Jeremy Hughes e140d80d71 alien.inline: prepend vocab name to c-library name
Conflicts:

	basis/alien/inline/inline.factor
2009-07-08 09:43:19 +12:00
Jeremy Hughes ed65e2ae4c alien.marshall.syntax: added tests 2009-07-08 09:39:39 +12:00
Jeremy Hughes 7c1ae71a3e alien.marshall: formatting 2009-07-08 09:39:15 +12:00
Jeremy Hughes fec504197b alien.marshall: add longlong and ulonglong marshallers 2009-07-08 09:33:29 +12:00
Jeremy Hughes 787b5d618a alien.marshall: factorize-type before primitive-unmarshaller 2009-07-08 09:33:04 +12:00
Jeremy Hughes 0aa1a9a43d alien.marshall.syntax: remove duplicate annotate-effect call 2009-07-08 09:31:27 +12:00
Jeremy Hughes ca740fcb03 alien.marshall.syntax: fix: return value unmarshaller 2009-07-08 09:30:58 +12:00
Jeremy Hughes 09aea6d8e6 alien.inline: allow compiling from non-file vocabs 2009-07-08 09:29:41 +12:00
Jeremy Hughes 5e822dd454 alien.inline: added DELETE-C-LIBRARY: word, mainly for tests 2009-07-07 21:11:57 +12:00
Jeremy Hughes c478fa9f1b alien.inline: prepend vocab name to c-library name 2009-07-07 21:05:16 +12:00
Jeremy Hughes e046605473 moved struct wrapper code from alien.structs.structs to alien.marshall.structs 2009-07-07 19:44:34 +12:00
Jeremy Hughes 9128952867 alien.marshall: fixes 2009-07-07 19:43:30 +12:00
Jeremy Hughes 4917454b85 append inline to combinator 2009-07-07 19:41:59 +12:00
Jeremy Hughes 811a7c54eb Merge branch 'inlinec' into marshall
* inlinec:
  moved alien.inline tests to inline-tests.factor
  alien.inline: file get path>> instead of vocab-source-path
  alien.inline.compiler: x86_64 check and hook methods

Conflicts:
	basis/alien/inline/inline.factor
2009-07-07 17:22:56 +12:00
Jeremy Hughes 66a740aaaf moved alien.inline tests to inline-tests.factor 2009-07-07 17:21:47 +12:00
Jeremy Hughes da024f5547 alien.inline: file get path>> instead of vocab-source-path 2009-07-07 17:21:47 +12:00
Jeremy Hughes e76229a8f6 alien.inline.compiler: x86_64 check and hook methods 2009-07-07 17:20:54 +12:00
Jeremy Hughes f61b736f10 alien.marshall(.private): free and non-free marshallers and struct marshalling 2009-07-07 16:04:41 +12:00
Jeremy Hughes dc9bcc8b73 alien.structs: alien.syntax: struct wrapper and marshalling of fields 2009-07-07 15:49:39 +12:00
Jeremy Hughes 296a3eb554 Merge branch 'inlinec' into marshall
* inlinec:
  alien.inline.compiler: use g++ for C++ files
2009-07-06 21:34:45 +12:00
Jeremy Hughes 994b142f74 alien.inline.compiler: use g++ for C++ files 2009-07-06 21:34:27 +12:00
Jeremy Hughes 4bdc4aa589 Merge branch 'inlinec' into marshall
* inlinec:
  Added alien.inline.types (forgot to add several commits ago)

Conflicts:
	basis/alien/inline/inline.factor
2009-07-06 21:17:55 +12:00
Jeremy Hughes da01ae5cda Added alien.inline.types (forgot to add several commits ago) 2009-07-06 21:14:08 +12:00
Jeremy Hughes 3b987a77a8 alien.marshall.syntax: added MARSHALLED: word 2009-07-06 11:55:53 +12:00
Jeremy Hughes 511ae71763 alien.inline: moved marshalling syntax to alien.marshall.syntax
* made appropriate words in alien.inline public
2009-07-06 11:55:23 +12:00
Jeremy Hughes 7ecadf0a68 alien.inline: renamed and refactored prototype-string 2009-07-06 11:28:41 +12:00
Jeremy Hughes ae4b284006 Moved two words from alien.inline to alien.inline.types 2009-07-06 11:26:17 +12:00
Jeremy Hughes 9cf0c5e33b alien.inline: made define-c-marshalled standalone 2009-07-06 11:08:47 +12:00
Jeremy Hughes bb3fa44e2d Merge branch 'inlinec' into marshall
* inlinec:
  alien.inline: reverted refactoring
2009-07-06 11:07:32 +12:00
Jeremy Hughes dbe19d8173 alien.inline: reverted refactoring 2009-07-06 11:06:44 +12:00
Jeremy Hughes 64aef112b5 alien.inline: stopped annotate-effect affecting prototype strings 2009-07-05 22:17:13 +12:00
Jeremy Hughes c32d7c5c97 Fixed bug where primitive-type? could not handle "Class*" types 2009-07-05 22:17:13 +12:00
Jeremy Hughes 519277a0a0 Fixed cify-types bug 2009-07-05 22:17:13 +12:00
Jeremy Hughes 577420b7dd Added alien.marshall and modified alien.inline accordingly 2009-07-05 22:17:13 +12:00
Jeremy Hughes 284ef4f048 Made factorize-type and cify-type public 2009-07-05 22:17:13 +12:00
Jeremy Hughes 3cd4bd8106 alien.inline: added annotate-effect word 2009-07-05 22:16:58 +12:00
Jeremy Hughes b212588417 alien.inline: refactoring 2009-07-05 22:16:58 +12:00
Jeremy Hughes dd45949c50 alien.inline: prototype-string: fixed params 2009-07-05 22:16:58 +12:00
Jeremy Hughes 1a0a34fbfc alien.inline: cify-type: fixed incorrect substitution 2009-07-05 22:16:58 +12:00
Jeremy Hughes d2f6f99954 alien.inline: types->effect>params-return: fix for stack order and void return type 2009-07-05 22:16:58 +12:00
Jeremy Hughes f7ddd899c3 alien.inline: function-types-effect: fixed incorrect stack order 2009-07-05 22:16:57 +12:00
Jeremy Hughes 8f8aa3051c alien.inline: factorize-type covers unsigned and long 2009-07-05 22:16:57 +12:00
Jeremy Hughes 713e71fd3c alien.inline: added define-c-function' and refactored existing words 2009-07-05 22:16:57 +12:00
Jeremy Hughes 408bbbdcf8 alien.inline renamed words for runtime use 2009-07-03 15:32:00 +12:00
Jeremy Hughes 670388b45a whitespace 2009-07-03 14:55:50 +12:00
Jeremy Hughes c286074fe5 Unit tests for alien.inline 2009-07-03 11:35:46 +12:00
Jeremy Hughes 450b5ff4f1 Added copyright headers 2009-07-03 11:35:02 +12:00
Jeremy Hughes f23e330f58 alien.c-syntax -> alien.inline, alien.compile -> alien.inline.compiler 2009-07-03 10:46:19 +12:00
Jeremy Hughes bb379a11ca alien.c-syntax alien.compile: symbols instead of strings 2009-07-03 10:43:27 +12:00
Jeremy Hughes 94f519b12c alien.compile: use locals in some words 2009-07-03 10:42:52 +12:00
Jeremy Hughes 4473ac9921 alien.c-syntax alien.compile: added authors.txt 2009-07-03 07:41:18 +12:00
Jeremy Hughes 542e490950 alien.c-syntax: fixed host of problems 2009-07-03 07:35:18 +12:00
Jeremy Hughes 9e240eb3b9 Removed C++-LIBRARY: in favour of COMPILE-AS-C++ statement 2009-07-02 11:35:43 +12:00
Jeremy Hughes 5c8d4bee52 Inline C 2009-07-02 11:35:43 +12:00
Slava Pestov 1b355bcc95 alien.structs: update docs to mention struct-arrays 2009-07-01 16:16:40 -05:00
Slava Pestov a0eb60906d Fix even more usings 2009-05-16 10:45:17 -05:00
Slava Pestov b62630b5ac Updating code in basis and extra for stricter vocab search path semantics 2009-05-14 23:23:06 -05:00
Slava Pestov b31fe9b8f2 Implement stricter vocab search path semantics, with a new API for vocabs.parser. Add map-find-last to sequences vocab 2009-05-14 22:31:29 -05:00
Slava Pestov fb6df472a2 Cleaning up USING: lists for new strict semantics 2009-05-14 16:54:16 -05:00
Slava Pestov aa0e954633 Move wchar_t* typedef from alien.arrays to windows.types since that's the only place that uses it. Reduces deployed image size since io.encodings.utf16 not loaded on Unix 2009-05-12 04:19:22 -05:00
Slava Pestov 9986f6e23e Fix bool type on PowerPC 2009-05-10 19:01:38 -05:00
Slava Pestov 58d0e17936 Fix bool type; its actually 1 byte not 4 in structs. Bug reported by jedahu 2009-05-05 18:37:40 -05:00
Slava Pestov a6afbea707 alien.libraries: Fix dlsym on Windows 2009-05-05 16:00:31 -05:00
Slava Pestov a63ad6a7a5 Remove cruddy string encoding/decoding code from VM 2009-05-02 13:45:38 -05:00
Slava Pestov 9d1c4f39a8 Some gold plating 2009-05-01 02:03:22 -05:00
Slava Pestov 5f6c074edd Split up types.c/h into smaller files, remove optimized slot from F_WORD struct 2009-04-28 17:26:11 -05:00
Slava Pestov 05f3f9dcb9 Fixing unit tests for stack effect inference changes 2009-04-20 21:15:19 -05:00
Slava Pestov c3e7db3852 Refactor FUNCTION: to make it more extensible 2009-04-18 02:37:35 -05:00
Slava Pestov b5b80cd0e9 Documentation updates 2009-04-14 20:36:10 -05:00
Slava Pestov 409b331716 Fix typo 2009-04-07 20:06:28 -05:00
Slava Pestov 41e3e0acb4 Fix alien.fortran for NetBSD x86.64 2009-04-07 18:49:54 -05:00
Slava Pestov 99b8400e56 Documentation updates 2009-04-06 03:00:46 -05:00
U-SLAVA-DFB8FF805\Slava 9c3054c84a More progress on Uniscribe 2009-04-02 13:05:26 -05:00
U-SLAVA-DFB8FF805\Slava 0cfa22c276 Merge branch 'master' of git://69.93.127.154/git/factor into uniscribe 2009-04-01 22:46:04 -05:00
Joe Groff 432ff9b07f Make math.blas library and ABI choice configurable 2009-04-01 14:52:43 -05:00
Slava Pestov 84b5ace863 alien.destructors: ignore any output values from disposal word 2009-03-28 22:26:49 -05:00
Doug Coleman 63e06589bd don't normalize-path in add-library 2009-03-26 18:56:10 -05:00
Doug Coleman b771758ff7 fix load errors, help lint 2009-03-26 10:45:52 -05:00
Doug Coleman 8b7fcce399 update code for usages of add-library 2009-03-25 23:00:19 -05:00
Doug Coleman 3c1b716bf9 move a lot of words to alien.libraries 2009-03-25 23:00:02 -05:00
Slava Pestov 6080c6e734 Fix stack effect redefinition 2009-03-22 20:16:31 -05:00
Slava Pestov 52cac7fd4e alien.structs: simplify logic and remove dead code 2009-03-22 17:47:48 -05:00
Slava Pestov ea60f8ae93 Changing : foo ; parsing to SYNTAX: foo ; 2009-03-21 01:27:50 -05:00
Slava Pestov be4fb1e7d9 Move call( and execute( to core 2009-03-16 20:11:36 -05:00
Slava Pestov 06e8468c40 Document alien.destructors 2009-03-12 20:48:22 -05:00
Slava Pestov ce1bc1d6ed Fixing conflicts from stack checker changes 2009-02-24 01:21:10 -06:00
Slava Pestov 91d0c4ed1f Fix conflict 2009-02-22 20:02:13 -06:00
Doug Coleman 7a033876b6 use ?at instead of at* 2009-02-22 19:20:28 -06:00
Slava Pestov 421ee726b8 Merge branch 'master' into new_ui 2009-02-16 21:22:12 -06:00
Slava Pestov 6b25e99470 Add summary for heaps more vocabs 2009-02-16 21:05:13 -06:00
Slava Pestov eba330f1b1 Merge branch 'master' into new_ui 2009-02-12 09:49:08 -06:00
Slava Pestov 489bb32a98 Fix potential load order issue with alien.complex; it used a slot defined in alien.structs but didn't reference that file by name 2009-02-12 09:48:50 -06:00
Slava Pestov 8fd159dadd Fix conflict 2009-02-12 09:22:35 -06:00
Slava Pestov 215127e9f6 Merge branch 'master' of git://factorcode.org/git/factor 2009-02-12 09:20:35 -06:00
Slava Pestov 2c88d339d0 Improve type inference for struct returns 2009-02-12 09:20:32 -06:00
sheeple 3c1ddde1f9 Fix complex float support on NetBSD 2009-02-12 08:10:21 -06:00
sheeple facd455e92 Working on complex float support in FFI on NetBSD 2009-02-12 06:25:07 -06:00
Slava Pestov e068400e54 Merge branch 'master' into new_ui 2009-02-12 02:22:09 -06:00
Joe Groff 94a5582edc tweak fortran-invoke so that unit tests can set fortran-abi without being shouted over 2009-02-11 14:05:57 -06:00
Slava Pestov fb84b8dd6a Merge branch 'master' into new_ui 2009-02-10 16:53:09 -06:00
Joe Groff a0421edf97 set fortran abi in fortran-invoke macro 2009-02-10 16:39:24 -06:00
Slava Pestov ab386d01aa Merge branch 'master' into new_ui 2009-02-10 16:23:14 -06:00
Joe Groff 0279270dda un-unportable the blas stuff 2009-02-10 15:11:39 -06:00
Joe Groff 8a144b7b94 support different fortran ABIs 2009-02-10 13:11:06 -06:00
Slava Pestov 6235e95052 Fix conflict 2009-02-10 00:44:23 -06:00
Joe Groff dd9ceba26a Merge branch 'master' of git://factorcode.org/git/factor 2009-02-09 22:08:48 -06:00
Joe Groff 204f5195f7 mark blas libs unportable till i sort out all the fortran abis 2009-02-09 22:08:35 -06:00
Slava Pestov 8654bfe921 Merge branch 'master' into new_ui 2009-02-09 20:30:44 -06:00
Joe Groff f7d9f2ab2e typo in alien.fortran docs 2009-02-09 19:02:20 -06:00