Commit Graph

5692 Commits (9bde92220b58be2f437f80d357d4e9dabff1425d)

Author SHA1 Message Date
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
Jeremy Hughes 4917454b85 append inline to combinator 2009-07-07 19:41:59 +12:00
Jeremy Hughes b6e5d2481c Merge branch 'inlinec' into marshall
* inlinec:
  ui.gadgets.tables: clicking in empty area no longer notifies selection model
  vocabs.hierarchy: fix (load) word
  vocabs.hierarchy: more refactoring, update existing code for new API
  help.html: Update for vocabs.hierarchy changes
  help.html: escape # in word names. Reported by ex_rzrjck
  vocabs.hierachy: redo with cleaner API
  compiler.cfg.linear-scan: minor fixes
  webkit-demo: update for recent <ViewWindow> stack effect change
  compiler.cfg.linear-scan: Get cycle breaking in resolve pass to work by allocating a spare spill slot for this purpose
2009-07-07 17:24:30 +12:00
Jeremy Hughes a5653f3449 Merge branch 'master' into inlinec
* master:
  ui.gadgets.tables: clicking in empty area no longer notifies selection model
  vocabs.hierarchy: fix (load) word
  vocabs.hierarchy: more refactoring, update existing code for new API
  help.html: Update for vocabs.hierarchy changes
  help.html: escape # in word names. Reported by ex_rzrjck
  vocabs.hierachy: redo with cleaner API
  compiler.cfg.linear-scan: minor fixes
  webkit-demo: update for recent <ViewWindow> stack effect change
  compiler.cfg.linear-scan: Get cycle breaking in resolve pass to work by allocating a spare spill slot for this purpose
2009-07-07 17:24:21 +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
Slava Pestov 328c6d02f5 ui.gadgets.tables: clicking in empty area no longer notifies selection model 2009-07-06 23:19:26 -05: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
Slava Pestov d56e818beb vocabs.hierarchy: fix (load) word 2009-07-06 05:22:01 -05:00
Slava Pestov 2fd6db9331 Merge branch 'inlinec' of git://github.com/jedahu/factor 2009-07-06 04:56:43 -05:00
Slava Pestov daed003f33 vocabs.hierarchy: more refactoring, update existing code for new API 2009-07-06 04:55:23 -05:00
Slava Pestov bcdd94d50a help.html: Update for vocabs.hierarchy changes 2009-07-06 04:35:00 -05: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
Slava Pestov 4d950dee9a help.html: escape # in word names. Reported by ex_rzrjck 2009-07-06 04:24:01 -05:00
Slava Pestov 5484bd3241 vocabs.hierachy: redo with cleaner API 2009-07-06 04:23:26 -05: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
Slava Pestov 6aaad1ea9f Merge branch 'inlinec' of git://github.com/jedahu/factor 2009-07-06 02:41:56 -05:00
Slava Pestov 4402d8652c compiler.cfg.linear-scan: minor fixes 2009-07-05 22:51:53 -05:00
Slava Pestov 56523afb29 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-05 21:33:03 -05:00
Slava Pestov a452f32e3a compiler.cfg.linear-scan: Get cycle breaking in resolve pass to work by allocating a spare spill slot for this purpose 2009-07-05 21:32:23 -05: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
Joe Groff 865e37f590 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-04 19:20:18 -05:00
Joe Groff 3a6a588532 destroy window-resources in reverse order 2009-07-04 19:13:53 -05:00
Joe Groff 96ec54106b for the FPS classicists... skew matrix constructor 2009-07-04 19:13:31 -05:00
Slava Pestov f14a61fac2 Fix compiler.cfg.linear-scan.resolve test failure 2009-07-04 16:30:16 -05:00
Slava Pestov c0f1b2205a compiler.cfg.value-numbering.rewrite: disable ##compare optimizations for now 2009-07-04 03:26:37 -05:00
Slava Pestov fb488025aa compiler.cfg.value-numbering.rewrite: fix ##compare-imm rewrite rule 2009-07-04 02:50:50 -05:00
Slava Pestov c00af97fa1 compiler.cfg.linear-scan.resolve: More fixes 2009-07-04 00:45:06 -05:00
Slava Pestov da13681bc8 compiler.cfg.linear-scan: redo resolve pass to fix a correctness issue 2009-07-03 23:38:52 -05:00
Slava Pestov 8d3a45dee2 compiler.cfg: clean up GC check generation to use spill-slot data type 2009-07-03 23:11:23 -05:00
Slava Pestov d07c0429fc compiler.cfg.linear-scan: assign spill slots to vregs globally, so that resolve pass never has to perform a memory->memory transfer 2009-07-03 22:51:40 -05:00
Slava Pestov d108324f19 ui.gadgets.panes: Shift-clicking to extend the selection in a pane should not focus the pane's input area 2009-07-03 22:41:32 -05:00
Slava Pestov 8c3c007d8e ui.tools.listener.completion: if listener is not accepting input, pressing TAB would throw an error (reported by Doug Coleman) 2009-07-03 22:35:34 -05:00
Slava Pestov f53efa88c6 tools.annotations: redo 'watch' so that it doesn't call 'datastack' anymore, instead use macros to capture stack values. This works better with compiler optimizations 2009-07-03 22:32:30 -05:00
Slava Pestov a3c3445643 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-03 21:33:55 -05:00
Slava Pestov 0180209f4e compiler.tree.dead-code: methods on flushable generics should be flushable 2009-07-03 21:31:26 -05:00
Daniel Ehrenberg e53dd8af24 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-03 21:26:18 -05:00
Daniel Ehrenberg 7718cce339 More features in the unicode.breaks API, with documentation 2009-07-03 21:22:46 -05:00
Slava Pestov 14f2405814 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-03 21:19:28 -05:00
Slava Pestov 28a8e83642 ui.tools.listener.history: Fix bug reported by Doug 2009-07-03 21:19:17 -05:00
Doug Coleman cae8fed16c convert ##compare with immediates to ##compare-imm 2009-07-03 19:19:33 -05:00
Slava Pestov 2c3b2a0b71 compiler.cfg.predecessors: delete dead predecessors from phi nodes 2009-07-03 18:45:03 -05:00
Slava Pestov 92b7f32aaa Merge branch 'master' of git://factorcode.org/git/factor 2009-07-02 23:09:58 -05:00
Slava Pestov 788ea7790b Merge branch 'inlinec' of git://github.com/jedahu/factor 2009-07-02 23:06:50 -05:00
Jeremy Hughes 408bbbdcf8 alien.inline renamed words for runtime use 2009-07-03 15:32:00 +12:00
Joe Groff ad2bffd4da Merge branch 'master' of git://factorcode.org/git/factor 2009-07-02 22:22:55 -05:00
Slava Pestov 389cc758be Merge branch 'master' of git://factorcode.org/git/factor 2009-07-02 21:59:04 -05:00
Slava Pestov f042019337 bit-sets: efficient bitwise operations on bit-arrays 2009-07-02 21:58:49 -05:00
Jeremy Hughes 670388b45a whitespace 2009-07-03 14:55:50 +12:00
Daniel Ehrenberg 3abcebc36c More unit tests for wrap 2009-07-02 21:12:38 -05:00
Daniel Ehrenberg 38f520bcdb Merge branch 'master' of git://factorcode.org/git/factor 2009-07-02 20:24:49 -05:00
Daniel Ehrenberg be26a4f63d Fixing long-standing bug in wrap 2009-07-02 20:24:41 -05:00
Joe Groff e39f454aa5 common 3d matrix constructors 2009-07-02 19:05:24 -05:00
Doug Coleman 84de04e502 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-02 19:04:50 -05:00
Doug Coleman e7a227ad40 add constant folding for integer ops, refactor some rewrites 2009-07-02 19:03:21 -05:00
Slava Pestov 1a6c555ead Merge branch 'inlinec' of git://github.com/jedahu/factor 2009-07-02 18:37:55 -05:00
Slava Pestov c5e7266e17 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-02 18:36:49 -05: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
Doug Coleman f11ba00667 Revert "fix a unit test so it's sure to overflow 64bit machines"
This reverts commit 88a545a215.
2009-07-02 18:18:50 -05:00
Doug Coleman 559a77be43 fix a unit test so it's sure to overflow 64bit machines 2009-07-02 18:05:55 -05:00
Doug Coleman 2aade588ee Merge branch 'master' of git://factorcode.org/git/factor 2009-07-02 18:01:58 -05:00
Doug Coleman e11e3cf6d2 unit test to make sure adds are not optimized incorrectly 2009-07-02 18:01:00 -05:00
Doug Coleman 80eb5068e2 fix bug in rewriting #add -- wasn't checking small-enough?, and change negative adds to subtractions/negative subtractions to adds 2009-07-02 17:55:35 -05:00
Slava Pestov 9404a7d0e3 half-floats: Add some more unit tests 2009-07-02 17:52:53 -05: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
Slava Pestov 6d46bf623c compiler.cfg.liveness: update for new ##phi node representation 2009-07-02 17:28:02 -05:00
Slava Pestov 90daf6d03d compiler.cfg: change representation of ##phi nodes. The input slot of ##phi nodes is now an assoc mapping predecessors to values, rather than a sequence of values. This ensures that optimization which delete predecessors can be implemented 2009-07-02 17:10:50 -05: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 acc3fc299b Merge branch 'master' into inlinec
* master:
  rewrite rules for add/sub/mul/and/or/xor-imm, rewrite load-immediate/add to be add-imm
  simplify sub and sub-imm
  add a utility word vreg>constant
  compiler.cfg.dce: now performs three passes over the CFG to fix a phase ordering issue
  compiler.cfg.dce: minor renamings
  Dead code elimination eliminates some dead allocations
  compiler.cfg.optimizer: enable branch folding
  compiler.cfg: bug fixes in GC check insertion and fixnum intrinsics
  compiler.cfg.linear-scan: fix spilling
2009-07-03 07:34:40 +12:00
Doug Coleman 86901eb01e rewrite rules for add/sub/mul/and/or/xor-imm, rewrite load-immediate/add to be add-imm 2009-07-02 11:35:31 -05:00
Doug Coleman 04cb320c55 simplify sub and sub-imm 2009-07-02 11:33:15 -05:00
Doug Coleman 826464724e add a utility word vreg>constant 2009-07-02 11:32:23 -05:00
Slava Pestov 3a4916462b compiler.cfg.dce: now performs three passes over the CFG to fix a phase ordering issue 2009-07-02 03:17:19 -05:00
Slava Pestov 513a600664 compiler.cfg.dce: minor renamings 2009-07-02 02:41:10 -05:00
Daniel Ehrenberg 392e313f05 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-02 02:31:06 -05:00
Daniel Ehrenberg fcfd7f01a3 Dead code elimination eliminates some dead allocations 2009-07-02 02:30:46 -05:00
Slava Pestov 2de41f01da compiler.cfg.optimizer: enable branch folding 2009-07-02 01:05:59 -05:00
Slava Pestov af875ba836 compiler.cfg: bug fixes in GC check insertion and fixnum intrinsics 2009-07-02 00:51:06 -05:00
Slava Pestov e6b1c21590 compiler.cfg.linear-scan: fix spilling 2009-07-01 22:37:27 -05: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 58bb118024 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-01 18:13:54 -05:00
Slava Pestov 1157f58f37 cpu.x86.32: don't emit sub %esp,0x0 in prologue on Linux and Windows 2009-07-01 18:13:45 -05:00
Joe Groff be455b9f92 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-01 18:01:59 -05:00
Joe Groff 97adae24f0 pardon my dust 2009-07-01 17:57:21 -05:00
Slava Pestov 41f48e3cfe compiler.tree.optimizer: Remove redundant call to compute-def-use 2009-07-01 17:41:20 -05:00
Slava Pestov a19f22ec82 compiler.cfg.linear-scan: debugging spilling and resolve pass 2009-07-01 17:41:07 -05:00
Slava Pestov 1b355bcc95 alien.structs: update docs to mention struct-arrays 2009-07-01 16:16:40 -05:00
Joe Groff b748164b43 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-01 13:55:24 -05:00
Joe Groff 77104b7256 put a slot on worlds for window-resources which get disposed when window is closed 2009-07-01 13:54:42 -05:00
Joe Groff d077d52968 opengl helper words for ARB/APPLE vertex array objects 2009-07-01 13:53:28 -05:00
Joe Groff dd00d31617 ptrdiff_t arrays 2009-07-01 13:52:42 -05:00
Joe Groff 9ddecb5e03 some misc categorizations and factorings for image component formats 2009-07-01 13:52:26 -05:00
Slava Pestov 7e3fa45512 compiler.cfg.stack-analysis: fix unit tests for useless-blocks renaming and ##no-tco instruction 2009-06-30 23:17:33 -05:00
Slava Pestov a3b21292b6 Merge branch 'master' of git://factorcode.org/git/factor 2009-06-30 23:07:36 -05:00
Slava Pestov f894baf60e compiler.cfg.optimizer: disable branch folding for now 2009-06-30 23:07:27 -05:00
Slava Pestov 72b6bef19d compiler.cfg.builder: emit less crap after a #terminate node 2009-06-30 23:03:25 -05:00
Doug Coleman 8b728e0a8a Merge branch 'master' of git://factorcode.org/git/factor 2009-06-30 23:02:04 -05:00
Doug Coleman b1c7374175 optimize fixnum*fast and fixnum-shift-fast 2009-06-30 23:01:44 -05:00
Doug Coleman ded1e29d2f combine add-imm instructions into a single add 2009-06-30 22:59:53 -05:00
Slava Pestov 3385e50c43 compiler.cfg.branch-folding: fold away branches where both inputs are the same register. This results in 'push' being compiled slightly better 2009-06-30 22:43:32 -05:00
Slava Pestov fc595a7075 Fix possible infinite loop in skip-empty-blocks and remove redundant test in compiler.cfg.useless-conditionals 2009-06-30 22:43:02 -05:00
Slava Pestov f412bbc6d6 Change branch splitting around a bit, rename useless-blocks to useless-conditionals and rewrite it 2009-06-30 22:11:15 -05:00
Slava Pestov eb7f50adf4 Fix conflict 2009-06-30 21:37:49 -05:00
Slava Pestov 0402790001 compiler.cfg Remove height tracking for ##call instructions, wire in ##no-tco instruction 2009-06-30 21:21:46 -05:00
Slava Pestov 3da560130a compiler.cfg.tco: fix tail call optimization for ##fixnum-mul 2009-06-30 21:08:08 -05:00
Slava Pestov eca718b32d compiler.cfg.builder: fix stack effect 2009-06-30 21:07:55 -05:00
Slava Pestov 612e4b99b0 compiler.cfg.linear-scan.assignment: insert-copy did the wrong thing if the second interval had been split. Fixes compilation of 'trilerp' 2009-06-30 21:07:39 -05:00
Slava Pestov 1acf243cce Fix conflict 2009-06-30 20:16:09 -05:00
Slava Pestov 5c6c3ecd85 compiler.cfg.tco: Tail call optimization moved out of compiler.cfg.builder into its own pass 2009-06-30 20:13:35 -05:00
Doug Coleman 2cd202d175 remove duplicate using 2009-06-30 18:48:52 -05:00
Doug Coleman 357408df3e Merge branch 'master' of git://factorcode.org/git/factor 2009-06-30 18:48:10 -05:00
Doug Coleman 97cd0d584e make commutative operations with immediates output the same IR 2009-06-30 18:47:24 -05:00
Slava Pestov bc2a6c0ecc compiler.cfg.stack-analysis: fix tests 2009-06-30 18:22:54 -05:00
Slava Pestov d199154179 Merge branch 'master' of git://factorcode.org/git/factor 2009-06-30 18:12:00 -05:00
Slava Pestov 3355fa4809 compiler.cfg.stack-analysis: enable global optimization 2009-06-30 18:11:45 -05:00
Slava Pestov 4db44cd23f %dispatch: sometimes the generated sequence is one byte longer, so instead of hard-coding it, compute the right length 2009-06-30 18:11:15 -05:00
Slava Pestov 54876d0cba compiler.cfg.linear-scan.assignment: get check-assignment? to work with coalescing 2009-06-30 18:10:53 -05:00
Slava Pestov fc6c9e2dfd cpu.x86: don't clobber src in %dispatch 2009-06-30 16:47:22 -05:00
Doug Coleman f1b2550035 Merge branch 'master' of git://factorcode.org/git/factor 2009-06-30 16:45:57 -05:00
Doug Coleman d1f6871081 fix bug where traversal order was lost 2009-06-30 16:44:14 -05:00
Slava Pestov b61b47922f disjoint-sets: add some tests for compiler bug; eventually more tests should be written for this vocab 2009-06-30 16:08:16 -05:00
Slava Pestov 578b0126fc compiler.cfg.linear-scan: compute-free-pos was broken in the case where more than one inactive interval had the same physical register assigned 2009-06-30 16:07:58 -05:00
Doug Coleman f41f84436c spill to spill-temp, not to virtual spill addresses 2009-06-30 15:40:13 -05:00
Doug Coleman ede8e1ca30 Merge branch 'master' of git://factorcode.org/git/factor 2009-06-30 15:32:11 -05:00
Doug Coleman ea072731d4 add branch splitting pass to compiler.cfg 2009-06-30 15:31:48 -05:00
Slava Pestov 32738dddde compiler.cfg.stack-analysis: fix typos in unit tests 2009-06-29 16:37:40 -05:00
Samuel Tardieu 4d5392fe56 Add divisors to math.primes.factors 2009-06-29 16:56:00 +02:00
Slava Pestov 82bfaca188 Fix conflict 2009-06-29 01:59:53 -05:00
Slava Pestov 0f68ee3e9a compiler.cfg.linear-scan.resolve: remove redundant vocabs from using list 2009-06-28 22:58:35 -05:00
Slava Pestov 6e72cf9711 compiler.cfg.stack-analysis: fix another corner case with ##peek insertion, and fix changed-loc merging 2009-06-28 22:52:28 -05:00
Doug Coleman 1fab8efeee Merge branch 'master' of git://factorcode.org/git/factor 2009-06-28 16:43:45 -05:00
Doug Coleman 3b0954f63e fix bug in linear-scan.resolve by rewriting entire algorithm 2009-06-28 16:43:17 -05:00
Slava Pestov d4de1d38b9 Merge branch 'master' of git://factorcode.org/git/factor 2009-06-27 17:33:00 -05:00
Slava Pestov d5179b724e compiler.cfg.stack-analysis: Fix case where both an ##inc-d/r and a ##peek get inserted 2009-06-27 17:32:37 -05:00
Doug Coleman 1cb6bc99da Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
	basis/compiler/cfg/linear-scan/resolve/resolve-tests.factor
2009-06-26 21:51:08 -05:00
Doug Coleman 90017eb248 add spill-temp to compiler.cfg.instructions, implement parallel register assignment in linear-scan.resolve 2009-06-26 21:48:21 -05:00
Slava Pestov d6ef19de6e Merge branch 'master' of git://factorcode.org/git/factor 2009-06-26 17:50:26 -05:00
Slava Pestov ef32eb2e72 Fix bootstrap and unit test 2009-06-26 17:44:33 -05:00
Slava Pestov 96baede36a Redesign compiler.cfg.stack-analysis to make compiler.cfg.height redundant, and to fix some problems 2009-06-26 17:29:55 -05:00
Doug Coleman c44df7832c Merge branch 'master' of git://factorcode.org/git/factor 2009-06-25 13:26:18 -05:00
Joe Groff 1c0a0155eb Merge branch 'master' of git://factorcode.org/git/factor 2009-06-25 09:15:24 -05:00
Joe Groff b6abd4a90c windows.offscreen:make-bitmap-image wasn't filling in the component-type of the image object it makes 2009-06-25 09:15:04 -05:00
Slava Pestov 12a672b9f1 Merge branch 'master' of git://factorcode.org/git/factor 2009-06-24 23:36:42 -05:00
Joe Groff 327311b7a2 opengl.gl3 vocab containing only forward-compatible symbols. fill in some holes in opengl.gl 2009-06-24 18:27:54 -05:00
Joe Groff 845e9532ba update demos using GL_EXT_framebuffer_object and GL_ARB_texture_float to use suffixless opengl 3 symbol names 2009-06-24 17:59:25 -05:00
Joe Groff ab8b99d4fd opengl 3.1 2009-06-24 17:28:37 -05:00
Slava Pestov 22fa524db1 compiler.cfg.stack-analysis: split up into three vocabs 2009-06-24 13:54:43 -05:00
Slava Pestov f3cf8fad2b compiler.cfg.linear-scan: fix unit tests 2009-06-24 13:54:12 -05:00
Samuel Tardieu 094c82c50b Short circuit trivial composites 2009-06-24 15:53:50 +02:00
Samuel Tardieu 50191588e4 Get rid of vector reallocation by preallocating it 2009-06-24 15:53:46 +02:00
Joe Groff 53d2db9728 Merge branch 'master' of git://factorcode.org/git/factor 2009-06-24 08:29:28 -05:00
Joe Groff eaddd1fdd4 provide image component-orders and component-types for all GPU texture formats 2009-06-24 08:26:30 -05:00
Samuel Tardieu 29b5a1dff5 Add extra tests for math.primes 2009-06-24 13:15:13 +02:00
Samuel Tardieu 41d804ddbd Pack primes numbers by slices of 30
In any given 30 successive integers greater than 5, there are at most
8 prime numbers. Use this to tightly pack the result of the Eratostene
sieve. This lets us store more prime numbers than before in less space.
2009-06-24 13:15:12 +02:00
Slava Pestov 6e66c2c7b0 Merge branch 'master' of git://factorcode.org/git/factor 2009-06-23 21:33:52 -05:00
Slava Pestov c53aca6016 compiler.cfg.linear-scan: fix coalescing to take lifetime holes into account 2009-06-23 21:32:51 -05:00
Joe Groff c051665efb throw in image component-orders for some more opengl formats 2009-06-23 20:01:53 -05:00
Joe Groff 85acbf4abc validate cocoa menu items with handles-gesture? 2009-06-22 20:16:52 -05:00
Joe Groff 76b1f9ce03 some new UI words: handles-gesture? checks whether a gesture will be handled. topmost-window returns the topmost world object 2009-06-22 19:01:50 -05:00
Joe Groff 7de264c028 GL_BGR and GL_BGRA are standard these days 2009-06-22 18:07:46 -05:00
Joe Groff ac3ec67c6a separate component format from component order in image objects 2009-06-22 11:20:54 -05:00
Joe Groff 0cf61eb182 Merge branch 'master' of git://factorcode.org/git/factor 2009-06-22 10:34:14 -05:00
Slava Pestov 387f6df9e5 compiler.cfg.linear-scan: Debugging resolve pass 2009-06-22 00:24:51 -05:00
Joe Groff 16c977491b bind file management action gestures to standard cocoa menu items 2009-06-21 20:53:11 -05:00
Slava Pestov 0068a3d965 stack-checker: fix doc typo reported by OneEyed 2009-06-21 15:11:41 -05:00
Doug Coleman 166afc5784 add scaffold words for default vocab roots 2009-06-21 00:59:06 -05:00
Doug Coleman 785c341c9b 50% speedup using unsafe nth/set-nth/exchange in checksums.sha 2009-06-21 00:58:36 -05:00
Slava Pestov 330bea3cc2 compiler.cfg.linear-scan.resolve: unit tests 2009-06-21 00:23:34 -05:00
Slava Pestov 5a78956956 compiler.cfg.linear-scan: Working on resolve pass 2009-06-21 00:20:01 -05:00
Joe Groff 5fec8bb449 Merge branch 'master' of git://factorcode.org/git/factor 2009-06-20 19:30:43 -05:00
Joe Groff 7d8c59edeb more action gestures. btw "redo" is ^y (not ^Z) outside of OS X 2009-06-20 19:30:34 -05:00
Slava Pestov c1839200dd compiler.cfg.linear-scan.assignment: correctly compute live registers at GC check points 2009-06-20 15:33:12 -05:00