Commit Graph

5438 Commits (48bd9aaacffa875e800d3fbd011c5bfc4a87b549)

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