]>
gitweb.factorcode.org Git - factor.git/log
Slava Pestov [Wed, 5 May 2010 06:54:48 +0000 (02:54 -0400)]
cpu.x86.32: fix load error
Slava Pestov [Wed, 5 May 2010 06:03:53 +0000 (02:03 -0400)]
compiler.cfg.intrinsics.allot: <byte-array> intrinsic was writing past the end of the array and this was causing problems for scheduling
Slava Pestov [Wed, 5 May 2010 05:13:45 +0000 (01:13 -0400)]
More FFI cleanups
Slava Pestov [Wed, 5 May 2010 04:44:21 +0000 (00:44 -0400)]
functors: fix unit test
Slava Pestov [Tue, 4 May 2010 23:33:46 +0000 (19:33 -0400)]
alien.c-types: cleanup
Slava Pestov [Tue, 4 May 2010 23:08:01 +0000 (19:08 -0400)]
bootstrap.compiler.timing: update
Daniel Ehrenberg [Tue, 4 May 2010 23:11:02 +0000 (18:11 -0500)]
Merge branch 'master' of git://factorcode.org/git/factor
Daniel Ehrenberg [Tue, 4 May 2010 23:10:34 +0000 (18:10 -0500)]
Cleaning up trees code a little bit
Slava Pestov [Tue, 4 May 2010 22:21:12 +0000 (18:21 -0400)]
mason.release.tidy: don't die if file doesn't exist
Slava Pestov [Tue, 4 May 2010 21:57:53 +0000 (17:57 -0400)]
vm: fix field order in zone struct
Daniel Ehrenberg [Tue, 4 May 2010 14:52:34 +0000 (09:52 -0500)]
Merge branch 'master' of git://factorcode.org/git/factor
Daniel Ehrenberg [Tue, 4 May 2010 14:48:16 +0000 (09:48 -0500)]
Fixing scheduling for compiler changes
Slava Pestov [Tue, 4 May 2010 10:51:54 +0000 (05:51 -0500)]
cpu.ppc: updating optimizing compiler backend for recent changes
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
Slava Pestov [Tue, 4 May 2010 10:46:45 +0000 (05:46 -0500)]
compiler: more tests
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
Slava Pestov [Tue, 4 May 2010 10:52:12 +0000 (06:52 -0400)]
vm: tweak inline_gc() for PowerPC
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
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
Slava Pestov [Tue, 4 May 2010 07:41:47 +0000 (03:41 -0400)]
tools.deploy.shaker: fix debugger stripping
Slava Pestov [Tue, 4 May 2010 07:34:37 +0000 (02:34 -0500)]
Remove 'prettyprint' from a few USING: forms
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
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
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
Doug Coleman [Tue, 4 May 2010 04:52:37 +0000 (23:52 -0500)]
C-style identifiers in peg.ebnf
Doug Coleman [Tue, 4 May 2010 04:40:50 +0000 (23:40 -0500)]
Allow - in peg.ebnf identifiers. Eating still not allowed...
Doug Coleman [Tue, 4 May 2010 04:35:17 +0000 (23:35 -0500)]
Allow a-zA-Z0-9_ in identifiers for peg.ebnf
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
Slava Pestov [Tue, 4 May 2010 03:08:24 +0000 (23:08 -0400)]
cpu: cleanups
Slava Pestov [Tue, 4 May 2010 03:07:46 +0000 (23:07 -0400)]
tools.deploy.shaker: tweak error reporting slightly
Slava Pestov [Tue, 4 May 2010 02:43:51 +0000 (22:43 -0400)]
cpu.ppc: fixing typos in non-optimizing backend
Slava Pestov [Tue, 4 May 2010 02:42:19 +0000 (22:42 -0400)]
ui.gadgets.tables: fix load error in docs
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
Slava Pestov [Tue, 4 May 2010 02:11:29 +0000 (22:11 -0400)]
compiler.cfg.value-numbering: fix typo in unit test
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
Slava Pestov [Tue, 4 May 2010 00:16:13 +0000 (20:16 -0400)]
cpu.x86.assembler: fix test on 64-bit
Daniel Ehrenberg [Mon, 3 May 2010 22:54:46 +0000 (17:54 -0500)]
Some fixes to merge scheduling
Daniel Ehrenberg [Mon, 3 May 2010 22:51:30 +0000 (17:51 -0500)]
Merge branch 'master' of git://factorcode.org/git/factor into s3
Slava Pestov [Mon, 3 May 2010 22:31:01 +0000 (18:31 -0400)]
Eliminate some -rot from the codebase
Daniel Ehrenberg [Mon, 3 May 2010 22:29:08 +0000 (17:29 -0500)]
Merge 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
Slava Pestov [Mon, 3 May 2010 22:28:31 +0000 (18:28 -0400)]
cpu.ppc: updates for recent compiler changes, untested
Slava Pestov [Mon, 3 May 2010 22:23:54 +0000 (18:23 -0400)]
compiler.cfg.empty-blocks: remove unused pass
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
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
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
Slava Pestov [Mon, 3 May 2010 04:38:10 +0000 (00:38 -0400)]
compiler.cfg.representations: make sure that immediate operands fit
Slava Pestov [Mon, 3 May 2010 00:38:02 +0000 (20:38 -0400)]
compiler.cfg.value-numbering: fix unit test for 64-bit
Slava Pestov [Mon, 3 May 2010 00:06:45 +0000 (20:06 -0400)]
io.launcher.unix: add timeout to a test
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
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
Slava Pestov [Sun, 2 May 2010 20:22:08 +0000 (16:22 -0400)]
compiler.tree.propagation: fix both-fixnums? trick
Slava Pestov [Sun, 2 May 2010 20:21:56 +0000 (16:21 -0400)]
Updating tests for recent compiler changes
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
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
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
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
Slava Pestov [Fri, 30 Apr 2010 23:50:30 +0000 (19:50 -0400)]
compiler.cfg.copy-prop: optimistic copy propagation
Slava Pestov [Fri, 30 Apr 2010 22:55:20 +0000 (18:55 -0400)]
compiler.cfg: cleanup
Slava Pestov [Fri, 30 Apr 2010 22:40:34 +0000 (18:40 -0400)]
compiler.cfg: clean up ##phi literals in tests
Slava Pestov [Fri, 30 Apr 2010 22:19:56 +0000 (18:19 -0400)]
compiler.cfg.linear-scan: clean up spill slot assignment
Slava Pestov [Fri, 30 Apr 2010 22:18:30 +0000 (18:18 -0400)]
compiler.cfg.ssa.detruction: coalesce different representations in more cases
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
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
Slava Pestov [Fri, 30 Apr 2010 09:33:17 +0000 (05:33 -0400)]
compiler.cfg.debugger: clean up and make it more flexible
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
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
Slava Pestov [Wed, 28 Apr 2010 07:35:46 +0000 (03:35 -0400)]
compiler.cfg.linear-scan: cleanups
Slava Pestov [Wed, 28 Apr 2010 06:53:08 +0000 (02:53 -0400)]
Code cleanups
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
Slava Pestov [Tue, 27 Apr 2010 14:51:00 +0000 (10:51 -0400)]
New GC checks work in progress
Slava Pestov [Mon, 26 Apr 2010 20:38:02 +0000 (16:38 -0400)]
cpu.x86.assembler: small cleanups
Slava Pestov [Mon, 26 Apr 2010 09:38:14 +0000 (05:38 -0400)]
compiler.tree.propagation: fix tests
Slava Pestov [Mon, 26 Apr 2010 09:37:57 +0000 (05:37 -0400)]
compiler.codegen: cleanup
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
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
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
Slava Pestov [Sun, 25 Apr 2010 20:07:08 +0000 (16:07 -0400)]
compiler.cfg.representations: simplify a little
Slava Pestov [Sun, 25 Apr 2010 09:30:38 +0000 (05:30 -0400)]
compiler.cfg.representations: add peephole optimizations for integer comparisons
Slava Pestov [Sun, 25 Apr 2010 09:13:04 +0000 (05:13 -0400)]
compiler.cfg.representations: fix various bugs
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
Slava Pestov [Sat, 24 Apr 2010 10:32:46 +0000 (06:32 -0400)]
compiler.cfg.value-numbering: more cleanups
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
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
Slava Pestov [Sat, 24 Apr 2010 08:49:35 +0000 (04:49 -0400)]
compiler.cfg.value-numbering: remove constant -vs- literal distinction
Slava Pestov [Sat, 24 Apr 2010 07:08:17 +0000 (03:08 -0400)]
compiler.cfg.ssa.liveness: remove unused pass
Slava Pestov [Sat, 24 Apr 2010 06:38:54 +0000 (02:38 -0400)]
compiler.cfg.builder: fix unit tests
Slava Pestov [Sat, 24 Apr 2010 06:38:43 +0000 (02:38 -0400)]
compiler.cfg.value-numbering: merge 'simplify' pass into 'rewrite'
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
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
Slava Pestov [Sat, 24 Apr 2010 00:20:06 +0000 (20:20 -0400)]
compiler.cfg: more flexible addressing for ##slot and ##set-slot
Slava Pestov [Fri, 23 Apr 2010 23:04:03 +0000 (19:04 -0400)]
cpu.x86.assembler: support all addressing modes
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
Slava Pestov [Fri, 23 Apr 2010 11:43:36 +0000 (07:43 -0400)]
benchmark.yuv-to-rgb: use TYPED: instead of HINTS:
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
Slava Pestov [Fri, 23 Apr 2010 08:25:40 +0000 (04:25 -0400)]
compiler.tests.low-level-ir: update for recent changes
Slava Pestov [Fri, 23 Apr 2010 08:23:32 +0000 (04:23 -0400)]
compiler.cfg.value-numbering: fix compile error
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
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
Slava Pestov [Thu, 22 Apr 2010 22:02:56 +0000 (18:02 -0400)]
compiler.cfg.instructions: more typos