]> gitweb.factorcode.org Git - factor.git/log
factor.git
13 years agoMerge branch 'master' into cuda-changes
Joe Groff [Tue, 4 May 2010 19:44:59 +0000 (12:44 -0700)]
Merge branch 'master' into cuda-changes

13 years agoMerge branch 'master' of git://factorcode.org/git/factor
Daniel Ehrenberg [Tue, 4 May 2010 14:52:34 +0000 (09:52 -0500)]
Merge branch 'master' of git://factorcode.org/git/factor

13 years agoFixing scheduling for compiler changes
Daniel Ehrenberg [Tue, 4 May 2010 14:48:16 +0000 (09:48 -0500)]
Fixing scheduling for compiler changes

13 years agocpu.ppc: updating optimizing compiler backend for recent changes
Slava Pestov [Tue, 4 May 2010 10:51:54 +0000 (05:51 -0500)]
cpu.ppc: updating optimizing compiler backend for recent changes

13 years agocpu.ppc.assembler: new opcodes: LFDUX LFDX LFSUX LFSX STFDUX STFDX STFSUX STFSX
Slava Pestov [Tue, 4 May 2010 10:47:21 +0000 (05:47 -0500)]
cpu.ppc.assembler: new opcodes: LFDUX LFDX LFSUX LFSX STFDUX STFDX STFSUX STFSX

13 years agocompiler: more tests
Slava Pestov [Tue, 4 May 2010 10:46:45 +0000 (05:46 -0500)]
compiler: more tests

13 years agocompiler.cfg.value-numbering: don't use complex addressing modes unless architecture...
Slava Pestov [Tue, 4 May 2010 10:46:21 +0000 (05:46 -0500)]
compiler.cfg.value-numbering: don't use complex addressing modes unless architecture supports it

13 years agovm: tweak inline_gc() for PowerPC
Slava Pestov [Tue, 4 May 2010 10:52:12 +0000 (06:52 -0400)]
vm: tweak inline_gc() for PowerPC

13 years agowindows.directx.dinput: factor out a code snippet into a word instead of repeating...
Slava Pestov [Tue, 4 May 2010 09:54:48 +0000 (04:54 -0500)]
windows.directx.dinput: factor out a code snippet into a word instead of repeating it many times in macro expansion, reducing compiled code size

13 years agoUpdate cleanup list so that Windows binary packages won't include various crap emitte...
Slava Pestov [Tue, 4 May 2010 08:28:58 +0000 (04:28 -0400)]
Update cleanup list so that Windows binary packages won't include various crap emitted by Windows SDK

13 years agotools.deploy.shaker: fix debugger stripping
Slava Pestov [Tue, 4 May 2010 07:41:47 +0000 (03:41 -0400)]
tools.deploy.shaker: fix debugger stripping

13 years agoRemove 'prettyprint' from a few USING: forms
Slava Pestov [Tue, 4 May 2010 07:34:37 +0000 (02:34 -0500)]
Remove 'prettyprint' from a few USING: forms

13 years agowindows.directx.dinput.constants: fix breakage if image is saved and restarted
Slava Pestov [Tue, 4 May 2010 07:31:36 +0000 (02:31 -0500)]
windows.directx.dinput.constants: fix breakage if image is saved and restarted

13 years agoui.tools.error-list: re-use the same actual gadget, so that the current selection...
Slava Pestov [Tue, 4 May 2010 06:53:46 +0000 (02:53 -0400)]
ui.tools.error-list: re-use the same actual gadget, so that the current selection and set of displayed error types is preserved if the user closes and re-opens the error list

13 years agocpu.x86: GC root offsets were computed wrong in words containing alien calls
Slava Pestov [Tue, 4 May 2010 06:50:25 +0000 (02:50 -0400)]
cpu.x86: GC root offsets were computed wrong in words containing alien calls

13 years agoC-style identifiers in peg.ebnf
Doug Coleman [Tue, 4 May 2010 04:52:37 +0000 (23:52 -0500)]
C-style identifiers in peg.ebnf

13 years agoAllow - in peg.ebnf identifiers. Eating still not allowed...
Doug Coleman [Tue, 4 May 2010 04:40:50 +0000 (23:40 -0500)]
Allow - in peg.ebnf identifiers.  Eating still not allowed...

13 years agoAllow a-zA-Z0-9_ in identifiers for peg.ebnf
Doug Coleman [Tue, 4 May 2010 04:35:17 +0000 (23:35 -0500)]
Allow a-zA-Z0-9_ in identifiers for peg.ebnf

13 years agocompiler.tests: remove useless test from float tests; min and max are generic now...
Slava Pestov [Tue, 4 May 2010 04:07:53 +0000 (00:07 -0400)]
compiler.tests: remove useless test from float tests; min and max are generic now, with methods on floats, so any potential inconsistency is gone

13 years agocpu: cleanups
Slava Pestov [Tue, 4 May 2010 03:08:24 +0000 (23:08 -0400)]
cpu: cleanups

13 years agotools.deploy.shaker: tweak error reporting slightly
Slava Pestov [Tue, 4 May 2010 03:07:46 +0000 (23:07 -0400)]
tools.deploy.shaker: tweak error reporting slightly

13 years agocpu.ppc: fixing typos in non-optimizing backend
Slava Pestov [Tue, 4 May 2010 02:43:51 +0000 (22:43 -0400)]
cpu.ppc: fixing typos in non-optimizing backend

13 years agoui.gadgets.tables: fix load error in docs
Slava Pestov [Tue, 4 May 2010 02:42:19 +0000 (22:42 -0400)]
ui.gadgets.tables: fix load error in docs

13 years agobit-arrays: re-use utility words from math.bitwise and io.binary to make implementati...
Slava Pestov [Tue, 4 May 2010 02:38:50 +0000 (22:38 -0400)]
bit-arrays: re-use utility words from math.bitwise and io.binary to make implementation a bit more elegant

13 years agocompiler.cfg.value-numbering: fix typo in unit test
Slava Pestov [Tue, 4 May 2010 02:11:29 +0000 (22:11 -0400)]
compiler.cfg.value-numbering: fix typo in unit test

13 years agoui.gadgets.tables: remove multiple selection support, and make the error list handle...
Slava Pestov [Tue, 4 May 2010 02:09:00 +0000 (22:09 -0400)]
ui.gadgets.tables: remove multiple selection support, and make the error list handle preservation of the current selection better when the underlying model changes

13 years agocuda: streamline memory api
Joe Groff [Tue, 4 May 2010 01:18:10 +0000 (18:18 -0700)]
cuda: streamline memory api

13 years agocpu.x86.assembler: fix test on 64-bit
Slava Pestov [Tue, 4 May 2010 00:16:13 +0000 (20:16 -0400)]
cpu.x86.assembler: fix test on 64-bit

13 years agoSome fixes to merge scheduling
Daniel Ehrenberg [Mon, 3 May 2010 22:54:46 +0000 (17:54 -0500)]
Some fixes to merge scheduling

13 years agoMerge branch 'master' of git://factorcode.org/git/factor into s3
Daniel Ehrenberg [Mon, 3 May 2010 22:51:30 +0000 (17:51 -0500)]
Merge branch 'master' of git://factorcode.org/git/factor into s3

13 years agoEliminate some -rot from the codebase
Slava Pestov [Mon, 3 May 2010 22:31:01 +0000 (18:31 -0400)]
Eliminate some -rot from the codebase

13 years agoMerge branch 'master' of git://factorcode.org/git/factor into s3
Daniel Ehrenberg [Mon, 3 May 2010 22:29:08 +0000 (17:29 -0500)]
Merge branch 'master' of git://factorcode.org/git/factor into s3

13 years agoMerge branch 'master' of git://factorcode.org/git/factor into s3
Daniel Ehrenberg [Mon, 3 May 2010 22:29:03 +0000 (17:29 -0500)]
Merge branch 'master' of git://factorcode.org/git/factor into s3

Conflicts:

basis/compiler/cfg/finalization/finalization.factor

13 years agocpu.ppc: updates for recent compiler changes, untested
Slava Pestov [Mon, 3 May 2010 22:28:31 +0000 (18:28 -0400)]
cpu.ppc: updates for recent compiler changes, untested

13 years agocompiler.cfg.empty-blocks: remove unused pass
Slava Pestov [Mon, 3 May 2010 22:23:54 +0000 (18:23 -0400)]
compiler.cfg.empty-blocks: remove unused pass

13 years agocompiler.cfg.alias-analysis: storing a reference into an object now merges the refere...
Slava Pestov [Mon, 3 May 2010 22:20:28 +0000 (18:20 -0400)]
compiler.cfg.alias-analysis: storing a reference into an object now merges the reference's alias class with the heap alias class

13 years agoMerge branch 'master' into s3
Daniel Ehrenberg [Mon, 3 May 2010 22:19:28 +0000 (17:19 -0500)]
Merge branch 'master' into s3

Conflicts:

basis/compiler/cfg/optimizer/optimizer.factor

13 years agocompiler: new "binary literal area" at the end of a word's machine code stores consta...
Slava Pestov [Mon, 3 May 2010 21:23:03 +0000 (17:23 -0400)]
compiler: new "binary literal area" at the end of a word's machine code stores constant floats and SIMD vectors; this allows ##load-reference/##load-memory fusion to be performed on x86-64, with a RIP-relative address reaching the data; also simplifies VM since custom relocation types used by the previous 32-bit-only optimization are no longer needed

13 years agocompiler.cfg.representations: make sure that immediate operands fit
Slava Pestov [Mon, 3 May 2010 04:38:10 +0000 (00:38 -0400)]
compiler.cfg.representations: make sure that immediate operands fit

13 years agocompiler.cfg.value-numbering: fix unit test for 64-bit
Slava Pestov [Mon, 3 May 2010 00:38:02 +0000 (20:38 -0400)]
compiler.cfg.value-numbering: fix unit test for 64-bit

13 years agoio.launcher.unix: add timeout to a test
Slava Pestov [Mon, 3 May 2010 00:06:45 +0000 (20:06 -0400)]
io.launcher.unix: add timeout to a test

13 years agocompiler: remove flat machine representation and generate code directly from the CFG
Slava Pestov [Sun, 2 May 2010 22:48:41 +0000 (18:48 -0400)]
compiler: remove flat machine representation and generate code directly from the CFG

13 years agocompiler.cfg.debugger: add ssa. word to print IR before representation selection...
Slava Pestov [Sun, 2 May 2010 20:22:22 +0000 (16:22 -0400)]
compiler.cfg.debugger: add ssa. word to print IR before representation selection runs

13 years agocompiler.tree.propagation: fix both-fixnums? trick
Slava Pestov [Sun, 2 May 2010 20:22:08 +0000 (16:22 -0400)]
compiler.tree.propagation: fix both-fixnums? trick

13 years agoUpdating tests for recent compiler changes
Slava Pestov [Sun, 2 May 2010 20:21:56 +0000 (16:21 -0400)]
Updating tests for recent compiler changes

13 years agocompiler.cfg.linear-scan.assignment: spill slot representation logic was backwards...
Slava Pestov [Sun, 2 May 2010 06:40:19 +0000 (02:40 -0400)]
compiler.cfg.linear-scan.assignment: spill slot representation logic was backwards, just like Factor

13 years agocompiler.cfg: fuse ##load-integer/##load-reference into ##replace to form ##replace-imm
Slava Pestov [Sat, 1 May 2010 07:04:31 +0000 (03:04 -0400)]
compiler.cfg: fuse ##load-integer/##load-reference into ##replace to form ##replace-imm

13 years agocompiler: add ##load-vector instruction to avoid wasting a temporary register on...
Slava Pestov [Sat, 1 May 2010 01:33:42 +0000 (21:33 -0400)]
compiler: add ##load-vector instruction to avoid wasting a temporary register on x86-32

13 years agocpu.x86: use available type info to generate more efficient %box-displaced-alien...
Slava Pestov [Sat, 1 May 2010 00:14:17 +0000 (20:14 -0400)]
cpu.x86: use available type info to generate more efficient %box-displaced-alien where possible

13 years agocompiler.cfg.copy-prop: optimistic copy propagation
Slava Pestov [Fri, 30 Apr 2010 23:50:30 +0000 (19:50 -0400)]
compiler.cfg.copy-prop: optimistic copy propagation

13 years agocompiler.cfg: cleanup
Slava Pestov [Fri, 30 Apr 2010 22:55:20 +0000 (18:55 -0400)]
compiler.cfg: cleanup

13 years agocompiler.cfg: clean up ##phi literals in tests
Slava Pestov [Fri, 30 Apr 2010 22:40:34 +0000 (18:40 -0400)]
compiler.cfg: clean up ##phi literals in tests

13 years agocompiler.cfg.linear-scan: clean up spill slot assignment
Slava Pestov [Fri, 30 Apr 2010 22:19:56 +0000 (18:19 -0400)]
compiler.cfg.linear-scan: clean up spill slot assignment

13 years agocompiler.cfg.ssa.detruction: coalesce different representations in more cases
Slava Pestov [Fri, 30 Apr 2010 22:18:30 +0000 (18:18 -0400)]
compiler.cfg.ssa.detruction: coalesce different representations in more cases

13 years agocompiler.cfg.alias-analysis: write unit tests and fix redundant store elimination
Slava Pestov [Fri, 30 Apr 2010 22:17:52 +0000 (18:17 -0400)]
compiler.cfg.alias-analysis: write unit tests and fix redundant store elimination

13 years agocontinuations: keep original error when throwing wrapped errors as well, for easier...
Slava Pestov [Fri, 30 Apr 2010 09:33:34 +0000 (05:33 -0400)]
continuations: keep original error when throwing wrapped errors as well, for easier debugging of bootstrap failures

13 years agocompiler.cfg.debugger: clean up and make it more flexible
Slava Pestov [Fri, 30 Apr 2010 09:33:17 +0000 (05:33 -0400)]
compiler.cfg.debugger: clean up and make it more flexible

13 years agoRegister allocation now uses SSA properties to coalesce values with different represe...
Slava Pestov [Wed, 28 Apr 2010 09:03:12 +0000 (05:03 -0400)]
Register allocation now uses SSA properties to coalesce values with different representations

13 years agocompiler.cfg: remove unused 'reps' slot from compiler.cfg, and re-organize things...
Slava Pestov [Wed, 28 Apr 2010 08:47:38 +0000 (04:47 -0400)]
compiler.cfg: remove unused 'reps' slot from compiler.cfg, and re-organize things in preparation for SSA register allocation

13 years agocompiler.cfg.linear-scan: cleanups
Slava Pestov [Wed, 28 Apr 2010 07:35:46 +0000 (03:35 -0400)]
compiler.cfg.linear-scan: cleanups

13 years agoCode cleanups
Slava Pestov [Wed, 28 Apr 2010 06:53:08 +0000 (02:53 -0400)]
Code cleanups

13 years agocompiler.cfg.gc-checks: move phi instructions into GC check block, to ensure correct...
Slava Pestov [Wed, 28 Apr 2010 06:53:01 +0000 (02:53 -0400)]
compiler.cfg.gc-checks: move phi instructions into GC check block, to ensure correct behavior

13 years agoNew GC checks work in progress
Slava Pestov [Tue, 27 Apr 2010 14:51:00 +0000 (10:51 -0400)]
New GC checks work in progress

13 years agocpu.x86.assembler: small cleanups
Slava Pestov [Mon, 26 Apr 2010 20:38:02 +0000 (16:38 -0400)]
cpu.x86.assembler: small cleanups

13 years agocompiler.tree.propagation: fix tests
Slava Pestov [Mon, 26 Apr 2010 09:38:14 +0000 (05:38 -0400)]
compiler.tree.propagation: fix tests

13 years agocompiler.codegen: cleanup
Slava Pestov [Mon, 26 Apr 2010 09:37:57 +0000 (05:37 -0400)]
compiler.codegen: cleanup

13 years agocompiler.cfg.linear-scan.resolve: fix incorrect behavior when one physical register...
Slava Pestov [Mon, 26 Apr 2010 09:37:48 +0000 (05:37 -0400)]
compiler.cfg.linear-scan.resolve: fix incorrect behavior when one physical register is used with several representations in the same register class

13 years agocompiler.cfg.linear-scan: don't insert a _reload if the register is going to be overw...
Slava Pestov [Mon, 26 Apr 2010 04:53:00 +0000 (00:53 -0400)]
compiler.cfg.linear-scan: don't insert a _reload if the register is going to be overwritten anyway

13 years agostrings: move string-nth primitive out of the VM and into the library
Slava Pestov [Mon, 26 Apr 2010 00:19:50 +0000 (20:19 -0400)]
strings: move string-nth primitive out of the VM and into the library

13 years agocompiler.cfg.representations: simplify a little
Slava Pestov [Sun, 25 Apr 2010 20:07:08 +0000 (16:07 -0400)]
compiler.cfg.representations: simplify a little

13 years agocompiler.cfg.representations: add peephole optimizations for integer comparisons
Slava Pestov [Sun, 25 Apr 2010 09:30:38 +0000 (05:30 -0400)]
compiler.cfg.representations: add peephole optimizations for integer comparisons

13 years agocompiler.cfg.representations: fix various bugs
Slava Pestov [Sun, 25 Apr 2010 09:13:04 +0000 (05:13 -0400)]
compiler.cfg.representations: fix various bugs

13 years agocompiler.cfg.representations: add more peephole optimizations to reduce fixnum taggin...
Slava Pestov [Sun, 25 Apr 2010 00:05:52 +0000 (20:05 -0400)]
compiler.cfg.representations: add more peephole optimizations to reduce fixnum tagging and untagging overhead

13 years agocompiler.cfg.value-numbering: more cleanups
Slava Pestov [Sat, 24 Apr 2010 10:32:46 +0000 (06:32 -0400)]
compiler.cfg.value-numbering: more cleanups

13 years agocompiler.cfg.value-numbering: identify VNs with their representative vregs, eliminati...
Slava Pestov [Sat, 24 Apr 2010 10:15:41 +0000 (06:15 -0400)]
compiler.cfg.value-numbering: identify VNs with their representative vregs, eliminating the vn>vreg hash

13 years agocompiler.cfg.value-numbering: maintain a VN to instruction mapping. This eliminates...
Slava Pestov [Sat, 24 Apr 2010 10:06:16 +0000 (06:06 -0400)]
compiler.cfg.value-numbering: maintain a VN to instruction mapping. This eliminates all instances of expression inspection, allowing the auto-generated expression classes to be removed

13 years agocompiler.cfg.value-numbering: remove constant -vs- literal distinction
Slava Pestov [Sat, 24 Apr 2010 08:49:35 +0000 (04:49 -0400)]
compiler.cfg.value-numbering: remove constant -vs- literal distinction

13 years agocompiler.cfg.ssa.liveness: remove unused pass
Slava Pestov [Sat, 24 Apr 2010 07:08:17 +0000 (03:08 -0400)]
compiler.cfg.ssa.liveness: remove unused pass

13 years agocompiler.cfg.builder: fix unit tests
Slava Pestov [Sat, 24 Apr 2010 06:38:54 +0000 (02:38 -0400)]
compiler.cfg.builder: fix unit tests

13 years agocompiler.cfg.value-numbering: merge 'simplify' pass into 'rewrite'
Slava Pestov [Sat, 24 Apr 2010 06:38:43 +0000 (02:38 -0400)]
compiler.cfg.value-numbering: merge 'simplify' pass into 'rewrite'

13 years agocompiler.cfg: add ##load-memory and ##store-memory instructions implementing complex...
Slava Pestov [Sat, 24 Apr 2010 04:13:44 +0000 (00:13 -0400)]
compiler.cfg: add ##load-memory and ##store-memory instructions implementing complex addressing modes, and associated value numbering optimizations

13 years agocompiler.cfg.value-numbering: add slot addressing rewrite rule to eliminate a redunda...
Slava Pestov [Sat, 24 Apr 2010 00:52:59 +0000 (20:52 -0400)]
compiler.cfg.value-numbering: add slot addressing rewrite rule to eliminate a redundant ##add-imm from array-nth and set-array-nth

13 years agocompiler.cfg: more flexible addressing for ##slot and ##set-slot
Slava Pestov [Sat, 24 Apr 2010 00:20:06 +0000 (20:20 -0400)]
compiler.cfg: more flexible addressing for ##slot and ##set-slot

13 years agocpu.x86.assembler: support all addressing modes
Slava Pestov [Fri, 23 Apr 2010 23:04:03 +0000 (19:04 -0400)]
cpu.x86.assembler: support all addressing modes

13 years agocompiler.cfg: merge all alien accessors into ##load-memory-imm and ##store-memory-imm
Slava Pestov [Fri, 23 Apr 2010 22:42:09 +0000 (18:42 -0400)]
compiler.cfg: merge all alien accessors into ##load-memory-imm and ##store-memory-imm

13 years agobenchmark.yuv-to-rgb: use TYPED: instead of HINTS:
Slava Pestov [Fri, 23 Apr 2010 11:43:36 +0000 (07:43 -0400)]
benchmark.yuv-to-rgb: use TYPED: instead of HINTS:

13 years agocompiler.cfg: remove ##set-string-nth-fast instruction since it can be expressed...
Slava Pestov [Fri, 23 Apr 2010 10:48:58 +0000 (06:48 -0400)]
compiler.cfg: remove ##set-string-nth-fast instruction since it can be expressed just as efficiently using other instructions

13 years agocompiler.tests.low-level-ir: update for recent changes
Slava Pestov [Fri, 23 Apr 2010 08:25:40 +0000 (04:25 -0400)]
compiler.tests.low-level-ir: update for recent changes

13 years agocompiler.cfg.value-numbering: fix compile error
Slava Pestov [Fri, 23 Apr 2010 08:23:32 +0000 (04:23 -0400)]
compiler.cfg.value-numbering: fix compile error

13 years agocompiler.cfg.representations: peephole optimizations are used to simplify the case...
Slava Pestov [Fri, 23 Apr 2010 08:18:31 +0000 (04:18 -0400)]
compiler.cfg.representations: peephole optimizations are used to simplify the case where the input to a ##shl-imm or ##sar-imm needs to be untagged

13 years agocompiler.cfg.value-numbering: new optimizations; reassociation for shifts and redistr...
Slava Pestov [Fri, 23 Apr 2010 08:17:41 +0000 (04:17 -0400)]
compiler.cfg.value-numbering: new optimizations; reassociation for shifts and redistribution for shifts/multiplies over additions/subtractions

13 years agocompiler.cfg.instructions: more typos
Slava Pestov [Thu, 22 Apr 2010 22:02:56 +0000 (18:02 -0400)]
compiler.cfg.instructions: more typos

13 years agoDebugging untagged fixnums
Slava Pestov [Thu, 22 Apr 2010 08:21:23 +0000 (03:21 -0500)]
Debugging untagged fixnums

13 years agoUntagged fixnums work in progress
Slava Pestov [Wed, 21 Apr 2010 07:08:52 +0000 (02:08 -0500)]
Untagged fixnums work in progress

13 years agocompiler: Start using tagged-rep for stuff, and split up compiler.cfg.representations...
Slava Pestov [Mon, 19 Apr 2010 19:05:55 +0000 (14:05 -0500)]
compiler: Start using tagged-rep for stuff, and split up compiler.cfg.representations into several sub-vocabularies

13 years agotools.deploy.shaker: adjust fallback error handler message so it looks better in...
Joe Groff [Mon, 3 May 2010 05:40:54 +0000 (22:40 -0700)]
tools.deploy.shaker: adjust fallback error handler message so it looks better in a Win32 MessageBox

13 years agowindows.errors, debugger.windows: improve description of Windows error objects
Joe Groff [Mon, 3 May 2010 05:29:59 +0000 (22:29 -0700)]
windows.errors, debugger.windows: improve description of Windows error objects

13 years agowindows.directx.dinput: pre-construct some intermediate structs to slightly improve...
Joe Groff [Mon, 3 May 2010 01:14:30 +0000 (18:14 -0700)]
windows.directx.dinput: pre-construct some intermediate structs to slightly improve horrible compilation time on the gigantic macro expansions

13 years agowindows.directx.dinput: forgot to reenable constant initialization
Joe Groff [Sun, 2 May 2010 18:23:51 +0000 (11:23 -0700)]
windows.directx.dinput: forgot to reenable constant initialization

13 years agowindows.directx.dinput: use macros to define format constants to avoid holding onto...
Joe Groff [Sun, 2 May 2010 08:27:07 +0000 (01:27 -0700)]
windows.directx.dinput: use macros to define format constants to avoid holding onto a bunch of useless symbols after deployment