Commit Graph

5417 Commits (4ac74e93041d8f4d5340da3e178472267131a0aa)

Author SHA1 Message Date
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 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 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 dbe19d8173 alien.inline: reverted refactoring 2009-07-06 11:06:44 +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