Commit Graph

5692 Commits (9bde92220b58be2f437f80d357d4e9dabff1425d)

Author SHA1 Message Date
Slava Pestov e49de006c4 compiler.cfg.dcn: Fixing various bugs, hook up with optimizer 2009-07-21 22:24:50 -05:00
Slava Pestov cfb584ed8d Merge branch 'master' into dcn 2009-07-21 17:51:22 -05:00
Slava Pestov ead57fc5dd compiler.cfg.registers: minor optimization 2009-07-21 17:49:44 -05:00
Slava Pestov e7e5bee9a2 compiler.cfg.ssa: Cytron's SSA construction algorithm 2009-07-21 17:49:30 -05:00
Slava Pestov 802b4ffdf5 compiler.cfg.dcn: remove stores to stack locations above top of stack (these are never read again) 2009-07-21 17:46:09 -05:00
Slava Pestov 441c2bae2d Merge branch 'master' into dcn 2009-07-21 03:08:42 -05:00
Slava Pestov 3136549f48 compiler.cfg.dominance: fix idom computation, compute dominator tree, compute dominance frontiers, add some tests 2009-07-21 03:02:45 -05:00
Slava Pestov fd9a353fd6 Move conjoin-at from compiler.cfg.liveness to sets 2009-07-21 03:02:06 -05:00
Slava Pestov e16acae2f5 compiler.cfg.dcn: flesh out rewrite pass 2009-07-21 01:24:19 -05:00
Slava Pestov fdef772d67 compiler.cfg: if a block has an instruction that kills values it must be the only instruction in the block 2009-07-19 20:12:04 -05:00
Slava Pestov 0a95ddd105 compiler.cfg.dcn: Implement height tracking 2009-07-19 19:45:23 -05:00
Slava Pestov 605b37a949 compiler.cfg.builder: annotate calls with height changes, once again 2009-07-18 23:08:53 -05:00
Slava Pestov ec1407bdae compiler.cfg.dcn: starting work on deconcatenatization pass to replace compiler.cfg.stack-analysis 2009-07-18 22:27:42 -05:00
Slava Pestov a716e4cddb ui.tools.listener: selecting a word from a completion popup now behaves like a USE: followed by a FROM: 2009-07-18 06:55:15 -05:00
Slava Pestov db3991125f FROM: and RENAME: give a more meaningful error if the vocabulary does not exist 2009-07-18 06:51:29 -05:00
Slava Pestov 9cbd6c52a6 compiler.cfg.stack-analysis: fix outdated tests 2009-07-18 06:38:42 -05:00
Slava Pestov 4191deb525 combinators.short-circuit: fix unoptimized behavior to match optimized behavior, improved unit tests 2009-07-18 06:38:34 -05:00
Slava Pestov 4ee1f68e30 Documentation fixes 2009-07-18 06:32:57 -05:00
Slava Pestov 32e4a97855 compiler.cfg.linear-scan: fix tests 2009-07-18 06:10:01 -05:00
Slava Pestov 60f4f4c16e combinators.short-circuit: speed up in non-optimized code 2009-07-18 03:33:45 -05:00
Slava Pestov 343151fd62 compiler.tree.finalization: undo a change that resulted in a compile time regression 2009-07-18 03:33:24 -05:00
Slava Pestov 3ee68d1ff5 Disable fixnum>bignum and bignum>fixnum intrinsics since they're not very useful and they increase code size significantly 2009-07-18 01:07:43 -05:00
Slava Pestov 389b689796 slightly faster heaps, add benchmark 2009-07-18 00:52:24 -05:00
Slava Pestov ea69566ddd compiler.cfg.linear-scan: algorithmic optimizations 2009-07-18 00:14:39 -05:00
Slava Pestov 5061db2a48 compiler.cfg: Move tail call optimization to the end, compiler.tree: simplify finalization pass because of this 2009-07-17 22:57:28 -05:00
Slava Pestov b83f27af74 compiler.cfg.builder: remove some dead code 2009-07-17 21:52:33 -05:00
Slava Pestov 43fab5b2ae Remove some unnecessary work from stack-analysis pass 2009-07-17 18:39:41 -05:00
Slava Pestov b76165facf Move ptrdiff_t arrays to specialized-arrays.ptrdiff_t 2009-07-17 03:51:23 -05:00
Slava Pestov fca74191ce Split off annotation code from opengl into opengl.annotations to reduce deployed image size 2009-07-17 01:06:34 -05:00
Slava Pestov e88e7f70be Merge branch 'master' of git://factorcode.org/git/factor 2009-07-17 00:03:13 -05:00
Slava Pestov 1d735bc32d compiler.tree.propagation.transforms: fix shift transform 2009-07-17 00:02:57 -05:00
Slava Pestov 3fb4fc1bde Improve code generation for shift word: add intrinsics for fixnum-shift-fast in the case where the shift count is not constant, transform 1 swap shift into a more overflow check with open-coded fast case, transform bitand into fixnum-bitand in more cases 2009-07-16 23:50:48 -05:00
Slava Pestov 7692c5d219 bit-arrays: specialize set-bits and clear-bits 2009-07-16 23:49:13 -05:00
Daniel Ehrenberg 8ea2996438 Removing two unused words in compiler.cfg.two-operand 2009-07-16 22:59:38 -05:00
Daniel Ehrenberg 3ca5665ad6 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-16 22:42:39 -05:00
Daniel Ehrenberg 8477cf8e91 Phi elimination doesn't have the swap problem now 2009-07-16 22:42:13 -05:00
Slava Pestov afec68db24 help.lint.checks: don't throw strings 2009-07-16 21:38:54 -05:00
Slava Pestov 490ea139a9 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-16 18:30:14 -05:00
Slava Pestov e76dce8aff Overflowing fixnum intrinsics now expand into several CFG nodes. This speeds up the common case since only the uncommon case is now a stack syncpoint 2009-07-16 18:29:40 -05:00
Slava Pestov 685e32b091 compiler.cfg.stack-analysis: global optimization work in progress 2009-07-16 16:43:14 -05:00
Joe Groff 622b5954fe Merge branch 'master' of git://factorcode.org/git/factor 2009-07-16 09:56:18 -05:00
Slava Pestov fc0e0f1924 compiler.cfg.block-joining: relax join heuristic 2009-07-16 05:50:44 -05:00
Slava Pestov 884e41dd9c compiler.cfg.linear-scan.live-intervals: remove bogus assertion 2009-07-16 02:42:01 -05:00
Slava Pestov 9f926ab88c compiler.cfg.block-joining: join basic blocks connected by a single edge to improve effectiveness of local optimizations 2009-07-16 02:17:58 -05:00
Daniel Ehrenberg 062e33f8fb fixing stupid bug in propagation 2009-07-16 00:43:54 -05:00
Daniel Ehrenberg ee3e84a1f8 define-partial-eval framework in propagation pass makes it easy to add transforms; moving some transforms from stack checker to propagation, making them stronger 2009-07-16 00:34:50 -05:00
Joe Groff e90c947062 gl-break word and interactive debugging aids 2009-07-15 22:44:03 -05:00
Joe Groff 8e58f5e5aa in kazakhstan, they say that a world is like a context-world 2009-07-15 22:39:23 -05:00
Slava Pestov b4c522f045 Merge branch 'marshall' of git://github.com/jedahu/factor 2009-07-15 19:25:41 -05:00
Slava Pestov a226907836 Merge branch 'inlinec' of git://github.com/jedahu/factor 2009-07-15 19:03:18 -05:00
Slava Pestov 45d466c126 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-15 19:02:54 -05:00
Joe Groff eba4749e5f Merge branch 'master' of git://factorcode.org/git/factor 2009-07-15 13:54:29 -05:00
Joe Groff b7dd3d5d35 report opengl function name in gl-errors 2009-07-15 13:53:57 -05:00
Slava Pestov ebcd0dc252 compiler.cfg: Fix regressions from recent changes 2009-07-14 20:43:06 -05:00
Slava Pestov 4ac74e9304 compiler.cfg.branch-splitting: don't split if there's one predecessor 2009-07-14 20:42:50 -05:00
Slava Pestov 11731f8d48 compiler.cfg.value-numbering: merge in compiler.cfg.branch-folding 2009-07-14 20:05:01 -05:00
Slava Pestov a75d558b30 compiler.cfg.intrinsics.fixnum: don't generate -imm forms anymore since value numbering does it 2009-07-14 19:18:57 -05:00
Slava Pestov 73a2222541 compiler.cfg.value-numbering: branch folding 2009-07-14 19:17:12 -05:00
Slava Pestov 03cd550b93 Fix codegen test 2009-07-14 16:11:14 -05:00
Slava Pestov 2f39e851f8 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-14 16:05:35 -05:00
Slava Pestov 2ace87370e compiler.cfg.value-numbering: more optimizations 2009-07-14 16:05:25 -05:00
Daniel Ehrenberg 6c32e61098 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-14 14:25:42 -05:00
Daniel Ehrenberg bb06facb01 new is inlined in the propagation pass when the class is known 2009-07-14 14:16:39 -05:00
Slava Pestov d1eea090b6 compiler.cfg.value-numbering: add some unit tests 2009-07-14 13:25:07 -05:00
Slava Pestov c860a3b1e6 compiler.cfg: update unit tests for compiler.cfg.comparisons 2009-07-14 12:06:55 -05:00
Joe Groff 8bf1fd5f2a throw-gl-errors, log-gl-errors annotations for all OpenGL functions 2009-07-14 12:00:37 -05:00
Joe Groff 4b8132d777 factor compilation unit from tools.annotations:reset 2009-07-14 11:43:32 -05:00
Joe Groff c0e99e738e fix inaccuracy in tools.annotations docs 2009-07-14 11:43:11 -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
Daniel Ehrenberg 79afab82d8 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-14 01:24:08 -05:00
Daniel Ehrenberg 4aa3e2135a Unit tests for inference behavior of call( and execute( 2009-07-14 01:23:21 -05:00
Daniel Ehrenberg 47500fad06 call( and execute( inline known quotations/words in the propagation pass 2009-07-14 01:12:45 -05:00
Slava Pestov afdd537681 tools.annotations: add (annotate) word which doesn't create a compilation unit for use in loops 2009-07-13 23:35:21 -05:00
Slava Pestov 5ccf7bc99f Merge branch 'master' of git://factorcode.org/git/factor 2009-07-13 22:59:19 -05:00
Joe Groff 2d0483b3df Merge branch 'master' of git://factorcode.org/git/factor 2009-07-13 22:35:50 -05:00
Joe Groff a06948298b ensure resize-world never happens before begin-world 2009-07-13 22:35:36 -05:00
Doug Coleman ccae9b59a4 clean up value numbering conversion of ##add/sub to ##add/sub-imm 2009-07-13 19:02:05 -05: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
Slava Pestov 768e2a5148 compiler.cfg: split off condition codes into a comparisons sub-vocabulary 2009-07-13 14:42:52 -05:00
Joe Groff f6f44ede5a Merge branch 'master' of git://factorcode.org/git/factor 2009-07-13 12:38:35 -05:00
Slava Pestov 3b244d5d41 compiler.cfg.value-numbering: fix ##compare and ##compare-branch rewrites 2009-07-13 12:33:58 -05:00
Slava Pestov 5e71bf7907 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-13 10:44:34 -05:00
Slava Pestov d7aeae45be compiler.cfg.branch-splitting: split blocks with successors 2009-07-13 10:44:08 -05:00
Slava Pestov 8ff473e42c compiler.cfg.linear-scan.resolve: get it to work on CFGs with critical edges 2009-07-12 23:00:33 -05:00
Slava Pestov 608fb054f2 compiler.cfg: Some code cleanups, update stack-analysis and phi-insertion to work on CFGs with critical edges 2009-07-12 22:22:46 -05:00
Jeremy Hughes 687d541838 alien.marshall: dynamic-cast: renamed to unmarshall-cast 2009-07-13 10:26:41 +12:00
Jeremy Hughes fe4aaad417 alien.inline.compiler: added -mno-cygwin to linker on windows 2009-07-11 20:54:15 +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
Slava Pestov d03a8dff44 Merge branch 'inlinec' of git://github.com/jedahu/factor 2009-07-11 03:25:44 -05: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
Joe Groff 45293cc7fb Merge branch 'master' of git://factorcode.org/git/factor 2009-07-10 08:28:19 -05:00
Slava Pestov 949b527ed5 Help lint fixes for urls.encoding and mongodb.driver 2009-07-10 07:52:20 -05:00
Slava Pestov 1cf6bb7f99 compiler.cfg.linear-scan: disable unit test for unimplemented feature 2009-07-10 07:48:49 -05:00
U-SLAVA-DFB8FF805\Slava e6e6490156 Merge branch 'inlinec' of git://github.com/jedahu/factor 2009-07-10 07:15:25 -05: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
Slava Pestov ae67de6f90 compiler.cfg.linear-scan: fix fencepost error in spill insertion 2009-07-10 03:58:51 -05:00
Slava Pestov 11347e784c insn. doesn't print numbers 2009-07-10 03:05:45 -05:00
Daniel Ehrenberg 500c784bd7 Minor reorganization of stack-checker.call-effect 2009-07-10 01:05:03 -05:00
Daniel Ehrenberg 23b8f48267 stack-checker.known-words:infer-special uses a word property 2009-07-10 00:52:08 -05:00
Slava Pestov dea872c7e3 compiler.cfg.linear-scan.allocation: fix broken spill slot reuse logic 2009-07-10 00:25:46 -05:00
Joe Groff 4dd6992c7e Merge branch 'master' of git://factorcode.org/git/factor 2009-07-09 23:20:11 -05:00
Slava Pestov 7edb2df01c Merge branch 'master' of git://factorcode.org/git/factor 2009-07-09 23:14:45 -05:00
Slava Pestov 789d82745c compiler.cfg.value-numbering: factor out value renaming into a separate compiler.cfg.renaming vocabulary 2009-07-09 23:14:26 -05:00
Slava Pestov 6810b922ee compiler.cfg: move back-edge? word from stack-analysis to top-level vocab 2009-07-09 23:13:30 -05:00
Slava Pestov d02854b04e compiler.cfg.linear-scan: two live intervals which are coalesced will use the same spill slot 2009-07-09 23:12:49 -05:00
Daniel Ehrenberg 4b29d13fda Adding authors to compiler.tree.modular-arithmetic 2009-07-09 23:09:49 -05:00
Daniel Ehrenberg cf3038b7d6 Improving modular arithmetic optimization to be aware of words like set-alien-unsigned-2 2009-07-09 23:07:38 -05: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
Slava Pestov bb701bed7e Revert "Remove unused vocabulary" -- committed patch from the wrong machine
This reverts commit 04c3c15411.
2009-07-09 19:50:15 -05: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 8008bfb1f9 Remove unused vocabulary 2009-07-09 19:10:36 -05:00
Slava Pestov c4f4c6749f Fixing some test failures after url.encoding change 2009-07-09 19:02:15 -05: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
Slava Pestov 93195e2914 Merge branch 'for-slava' of git://github.com/x6j8x/factor 2009-07-09 06:40:52 -05:00
Sascha Matzke 097487a9f3 added >upper to push-utf8 to conform with RFC 3986 section 2.1. recommendation 2009-07-09 13:34:38 +02:00
Slava Pestov 128c6c8e03 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-09 06:32:04 -05:00
Slava Pestov d0f2b1c606 io.launcher: unnecessary word 2009-07-09 06:31:38 -05:00
Slava Pestov 522da6fc0f Merge branch 'master' of git://github.com/abeaumont/factor 2009-07-09 06:20:58 -05:00
U-SLAVA-DFB8FF805\Slava 508b7272b5 compiler.cfg.optimizer: fix irrelevant test 2009-07-09 06:17:10 -05:00
Slava Pestov e0d84eb3a2 compiler.tree.propagation: better length propagation 2009-07-09 02:28:30 -05:00
Slava Pestov d0980edafe compiler.cfg.linear-scan: fixing unit tests 2009-07-09 00:48:00 -05:00
Slava Pestov 5a64290386 compiler.cfg.linear-scan: more code cleanups, and working on split-to-fit algorithm 2009-07-09 00:20:03 -05:00
Slava Pestov 4507bdcbc0 compiler.cfg.linear-scan: code cleanups 2009-07-08 23:28:28 -05:00
Slava Pestov c20e6c290f compiler.cfg.linear-scan: split off parallel mapping code from resolve pass, use it in assignment pass to resolve parallel copies 2009-07-08 23:07:06 -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 f93e7dd859 Merge branch 'master' into inlinec
* master:
  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:41 +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
Slava Pestov 76288ae55d struct-arrays and struct-vectors: fix unit tests 2009-07-07 19:15:50 -05: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
Joe Groff 771d4fd4d9 byte-length for specialized-vectors 2009-07-07 16:27:14 -05:00
Joe Groff 809b40d497 preserve sequence type in math.matrices:cross 2009-07-07 16:26:50 -05:00
Joe Groff 4763ee9a4d oops 2009-07-07 15:34:14 -05:00
Joe Groff 84485d36ee byte-length for struct-vectors 2009-07-07 15:30:41 -05:00
Joe Groff b42a1cc746 fix struct-vectors 2009-07-07 15:29:16 -05:00
Joe Groff fbdcb61763 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-07 15:11:13 -05:00
Joe Groff 01d344fb46 byte-length method for struct-arrays 2009-07-07 15:11:04 -05:00
Slava Pestov dafdbe13c9 growable vocabulary: make 'contract' generic so that only real vectors clear popped elements; add resize method for struct-arrays, add new struct-vectors vocabulary 2009-07-07 15:01:30 -05:00
Slava Pestov c171527b8d Add vectors.functor for generating vector types from arrays; re-implement bit-vectors and specialized-vectors using this. Add DEFERS directive to functors 2009-07-07 14:34:08 -05:00
Slava Pestov e2044602aa compiler.cfg.linear-scan: debugging spilling, add more assertions 2009-07-07 13:01:27 -05:00
Slava Pestov 516ce0c71d threads: better error messages 2009-07-07 13:00:58 -05: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
Slava Pestov 1a190ae97e Remove A+s shortcut for saving image in UI 2009-07-07 03:49:10 -05:00
Slava Pestov 43c873f00a compiler.cfg.linear-scan: code cleanup 2009-07-07 03:45:27 -05:00
Slava Pestov 0bcf4ce535 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-07 03:28:55 -05: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