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