Commit Graph

355 Commits (9163e4e5524bd7fa42017fe69207ffcde4fb20e4)

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