]> gitweb.factorcode.org Git - factor.git/log
factor.git
11 years agowindows.uniscribe: Render image lazily. Speeds up panes benchmark.
Doug Coleman [Fri, 21 Sep 2012 15:51:02 +0000 (08:51 -0700)]
windows.uniscribe: Render image lazily. Speeds up panes benchmark.

11 years agoui.text.pango: lazy render images like core-text backend.
John Benediktsson [Fri, 21 Sep 2012 15:16:13 +0000 (08:16 -0700)]
ui.text.pango: lazy render images like core-text backend.

11 years agocore-text: delay rendered line calculation until needed.
John Benediktsson [Fri, 21 Sep 2012 02:31:36 +0000 (19:31 -0700)]
core-text: delay rendered line calculation until needed.

11 years agoalien: Clarify alien-assembly docs.
Doug Coleman [Fri, 21 Sep 2012 01:25:28 +0000 (18:25 -0700)]
alien: Clarify alien-assembly docs.

11 years agoui.gadgets.tables: i think this is clearer.
John Benediktsson [Fri, 21 Sep 2012 00:57:43 +0000 (17:57 -0700)]
ui.gadgets.tables: i think this is clearer.

11 years agoui.gadgets.tables: fix stack effect names.
John Benediktsson [Fri, 21 Sep 2012 00:54:01 +0000 (17:54 -0700)]
ui.gadgets.tables: fix stack effect names.

11 years agoui.gadgets.tables: cache table rows only on model-changed.
John Benediktsson [Fri, 21 Sep 2012 00:52:54 +0000 (17:52 -0700)]
ui.gadgets.tables: cache table rows only on model-changed.

11 years agoui.gadgets.tables: reduce generic dispatch.
John Benediktsson [Fri, 21 Sep 2012 00:49:58 +0000 (17:49 -0700)]
ui.gadgets.tables: reduce generic dispatch.

11 years agosequences.extras: add filter-all-subseqs, filter-all-subseqs-range, map-like
Doug Coleman [Fri, 21 Sep 2012 00:45:38 +0000 (17:45 -0700)]
sequences.extras: add filter-all-subseqs, filter-all-subseqs-range, map-like

11 years agowindows.fonts: speed up cached fonts.
John Benediktsson [Thu, 20 Sep 2012 19:13:52 +0000 (12:13 -0700)]
windows.fonts: speed up cached fonts.

11 years agocpu.x86.features: Rename rdrnd to rdrand!
Doug Coleman [Thu, 20 Sep 2012 19:03:10 +0000 (12:03 -0700)]
cpu.x86.features: Rename rdrnd to rdrand!

11 years agocpu.x86: Add ghetto RDRAND support. Proper support wouldn't use alien-assembly and...
Doug Coleman [Thu, 20 Sep 2012 18:54:44 +0000 (11:54 -0700)]
cpu.x86: Add ghetto RDRAND support. Proper support wouldn't use alien-assembly and would take a count parameter.

11 years agoui.gadgets.tables: some performance improvements.
John Benediktsson [Thu, 20 Sep 2012 15:34:43 +0000 (08:34 -0700)]
ui.gadgets.tables: some performance improvements.

11 years agotools.annotations: add total number of calls to timing information.
John Benediktsson [Thu, 20 Sep 2012 15:29:37 +0000 (08:29 -0700)]
tools.annotations: add total number of calls to timing information.

11 years agocompiler.cfg.gvn.tests: fix unit tests now that more vregs get copy-propagated
Alex Vondrak [Thu, 20 Sep 2012 00:16:17 +0000 (17:16 -0700)]
compiler.cfg.gvn.tests: fix unit tests now that more vregs get copy-propagated

11 years agocompiler.cfg.gvn: experiment to scan for available vregs when rewriting
Alex Vondrak [Fri, 10 Aug 2012 20:20:01 +0000 (13:20 -0700)]
compiler.cfg.gvn: experiment to scan for available vregs when rewriting
instructions instead of relying on the availability of the canonical
leader; untested

11 years agocompiler.cfg.gvn.testing: some helper words for debugging CFGs directly
Alex Vondrak [Sat, 11 Aug 2012 05:53:30 +0000 (22:53 -0700)]
compiler.cfg.gvn.testing: some helper words for debugging CFGs directly

11 years agowrap: more speedups.
John Benediktsson [Thu, 20 Sep 2012 00:08:41 +0000 (17:08 -0700)]
wrap: more speedups.

11 years agomath.bitwise: Fix bit-range and test it.
Doug Coleman [Thu, 20 Sep 2012 00:03:13 +0000 (17:03 -0700)]
math.bitwise: Fix bit-range and test it.

11 years agosequences: fix docs to use "dst" as a convention.
John Benediktsson [Wed, 19 Sep 2012 22:53:37 +0000 (15:53 -0700)]
sequences: fix docs to use "dst" as a convention.

11 years agomath.bitwise: Fix on-bits for negative values, which also fixes bits. Add unit tests.
Doug Coleman [Wed, 19 Sep 2012 23:32:11 +0000 (16:32 -0700)]
math.bitwise: Fix on-bits for negative values, which also fixes bits. Add unit tests.

11 years agomath.bitwise: Inline bit-range
Doug Coleman [Wed, 19 Sep 2012 23:15:14 +0000 (16:15 -0700)]
math.bitwise: Inline bit-range

11 years agocombinators.smart: Add cleave>sequence.
Doug Coleman [Wed, 19 Sep 2012 21:58:55 +0000 (14:58 -0700)]
combinators.smart: Add cleave>sequence.

11 years agocpu.x86: Use bit-range, don't call cpuid so many times
Doug Coleman [Wed, 19 Sep 2012 21:55:28 +0000 (14:55 -0700)]
cpu.x86: Use bit-range, don't call cpuid so many times

11 years agomath.bitwise: Add bit-range
Doug Coleman [Wed, 19 Sep 2012 21:54:36 +0000 (14:54 -0700)]
math.bitwise: Add bit-range

11 years agosequences.extras: adding reverse-as.
John Benediktsson [Wed, 19 Sep 2012 20:29:34 +0000 (13:29 -0700)]
sequences.extras: adding reverse-as.

11 years agocpu.x86: Some calls to CPUID take a parameter in ECX. Add cpuid-extended to allow...
Doug Coleman [Wed, 19 Sep 2012 18:30:54 +0000 (11:30 -0700)]
cpu.x86: Some calls to CPUID take a parameter in ECX. Add cpuid-extended to allow these.

11 years agocpu.x86.features: temporary fix for bootstrap issue.
John Benediktsson [Wed, 19 Sep 2012 17:41:54 +0000 (10:41 -0700)]
cpu.x86.features: temporary fix for bootstrap issue.

11 years agointerval-maps: bit more speed using unsafe words.
John Benediktsson [Wed, 19 Sep 2012 17:33:25 +0000 (10:33 -0700)]
interval-maps: bit more speed using unsafe words.

11 years agosortign.extras: use second-unsafe.
John Benediktsson [Wed, 19 Sep 2012 17:23:58 +0000 (10:23 -0700)]
sortign.extras: use second-unsafe.

11 years agounicode.breaks: inline word-break-classes.
John Benediktsson [Wed, 19 Sep 2012 17:09:05 +0000 (10:09 -0700)]
unicode.breaks: inline word-break-classes.

11 years agosequences: adding second-, third-, and fourth- unsafe words.
John Benediktsson [Wed, 19 Sep 2012 17:07:03 +0000 (10:07 -0700)]
sequences: adding second-, third-, and fourth- unsafe words.

11 years agobenchmark.unicode: add benchmark for unicode case conversions.
John Benediktsson [Wed, 19 Sep 2012 16:56:24 +0000 (09:56 -0700)]
benchmark.unicode: add benchmark for unicode case conversions.

11 years agocpu.x86.features: Add some words to check cpu features. Replace alien-assembly popcnt...
Doug Coleman [Wed, 19 Sep 2012 17:12:25 +0000 (10:12 -0700)]
cpu.x86.features: Add some words to check cpu features. Replace alien-assembly popcnt? instruction with general cpuid one.

11 years agocpu.x86.assember: Add RDMSR for completeness, but it can't be called from user code...
Doug Coleman [Wed, 19 Sep 2012 17:11:36 +0000 (10:11 -0700)]
cpu.x86.assember: Add RDMSR for completeness, but it can't be called from user code. Factor kernel modules?

11 years agoalien: Fix docs.
Doug Coleman [Wed, 19 Sep 2012 16:02:28 +0000 (09:02 -0700)]
alien: Fix docs.

11 years agocpu.x86.features: Unbiased CPUID test.
Doug Coleman [Wed, 19 Sep 2012 15:48:14 +0000 (08:48 -0700)]
cpu.x86.features: Unbiased CPUID test.

11 years agocpu.x86: Fix load order.
Doug Coleman [Wed, 19 Sep 2012 15:40:18 +0000 (08:40 -0700)]
cpu.x86: Fix load order.

11 years agoalien: Fix the usings
Doug Coleman [Wed, 19 Sep 2012 04:31:34 +0000 (21:31 -0700)]
alien: Fix the usings

11 years agoalien: More docs for alien-assembly.
Doug Coleman [Wed, 19 Sep 2012 03:31:08 +0000 (20:31 -0700)]
alien: More docs for alien-assembly.

11 years agocpu.x86.features: Fix cpuid for win64.
Doug Coleman [Wed, 19 Sep 2012 03:09:39 +0000 (20:09 -0700)]
cpu.x86.features: Fix cpuid for win64.

11 years agocpu.x86.features: Implement cpuid with help from joe. Add unit test.
Doug Coleman [Wed, 19 Sep 2012 01:40:29 +0000 (18:40 -0700)]
cpu.x86.features: Implement cpuid with help from joe. Add unit test.

11 years agobenchmark.flip: adding a benchmark for the "flip" word.
John Benediktsson [Wed, 19 Sep 2012 01:40:17 +0000 (18:40 -0700)]
benchmark.flip: adding a benchmark for the "flip" word.

11 years agocpu.x86: Fix the popcnt? word alien-assembly. XOR the return-reg RAX before calling...
Doug Coleman [Wed, 19 Sep 2012 00:14:31 +0000 (17:14 -0700)]
cpu.x86: Fix the popcnt? word alien-assembly. XOR the return-reg RAX before calling BT/BSET because XOR clears the CF and the whole thing becomes a no-op. Change popcnt instruction to opt-out rather than opt-in. Fixes #663.

11 years agoui.baseline-alignment: add concept of "aligned-gadget".
John Benediktsson [Tue, 18 Sep 2012 22:48:49 +0000 (15:48 -0700)]
ui.baseline-alignment: add concept of "aligned-gadget".

This type of gadget caches baseline and cap-height for performance.

11 years agoRevert "ui.gadgets.labels: use font-metrics directly."
John Benediktsson [Tue, 18 Sep 2012 16:19:29 +0000 (09:19 -0700)]
Revert "ui.gadgets.labels: use font-metrics directly."

This reverts commit d9fdd71d64c6aaeb26c7443cef123691176c40d1.

11 years agocompiler.cfg.gvn.math: missed some availability checks that were causing math.vectors...
Alex Vondrak [Tue, 18 Sep 2012 07:07:10 +0000 (00:07 -0700)]
compiler.cfg.gvn.math: missed some availability checks that were causing math.vectors.simd.tests to fail (issue #671)

11 years agoui.gadgets: add some inline.
John Benediktsson [Tue, 18 Sep 2012 00:21:31 +0000 (17:21 -0700)]
ui.gadgets: add some inline.

11 years agoui.text.pango: don't create unnecessary font objects.
John Benediktsson [Mon, 17 Sep 2012 21:17:57 +0000 (14:17 -0700)]
ui.text.pango: don't create unnecessary font objects.

11 years agoui.gadgets.labels: use font-metrics directly.
John Benediktsson [Mon, 17 Sep 2012 21:07:23 +0000 (14:07 -0700)]
ui.gadgets.labels: use font-metrics directly.

11 years agoui.gadgets.paragraphs: cache the wrapped paragraph for performance.
John Benediktsson [Mon, 17 Sep 2012 21:01:52 +0000 (14:01 -0700)]
ui.gadgets.paragraphs: cache the wrapped paragraph for performance.

11 years agoui.gadgets: inline gadget-child and nth-gadget.
John Benediktsson [Mon, 17 Sep 2012 19:37:18 +0000 (12:37 -0700)]
ui.gadgets: inline gadget-child and nth-gadget.

11 years agoclasses.struct: removing unused bad-type-for-bits error.
John Benediktsson [Mon, 17 Sep 2012 16:54:55 +0000 (09:54 -0700)]
classes.struct: removing unused bad-type-for-bits error.

11 years agowindows: Start adding GetBestInterface.
Doug Coleman [Mon, 17 Sep 2012 15:05:23 +0000 (08:05 -0700)]
windows: Start adding GetBestInterface.

11 years agowindows.iphlpapi: Add a way to get interfaces, mac addrs, and ips on
Doug Coleman [Mon, 17 Sep 2012 00:51:05 +0000 (17:51 -0700)]
windows.iphlpapi: Add a way to get interfaces, mac addrs, and ips on
windows.

11 years agowindows.winsock: Add sockaddr>ip.
Doug Coleman [Mon, 17 Sep 2012 00:50:47 +0000 (17:50 -0700)]
windows.winsock: Add sockaddr>ip.

11 years agocombinators.smart: Add cleave>array.
Doug Coleman [Mon, 17 Sep 2012 00:32:27 +0000 (17:32 -0700)]
combinators.smart: Add cleave>array.

11 years agowindows.kernel32: Add HeapAlloc, HeapFree but don't use them..
Doug Coleman [Mon, 17 Sep 2012 00:24:31 +0000 (17:24 -0700)]
windows.kernel32: Add HeapAlloc, HeapFree but don't use them..

11 years agoio.files.info: On my Windows7 box, D: is "not really there" and it kills
Doug Coleman [Mon, 17 Sep 2012 00:23:25 +0000 (17:23 -0700)]
io.files.info: On my Windows7 box, D: is "not really there" and it kills
file-systems. Ignore errors instead of dying.

11 years agoalien.c-types: Add c-type-signed to protocol, which is true for signed
Doug Coleman [Sun, 16 Sep 2012 21:42:18 +0000 (14:42 -0700)]
alien.c-types: Add c-type-signed to protocol, which is true for signed
types. Use c-type-signed in classes.struct.

11 years agoRevert "math: speed up integer>fixnum operations."
John Benediktsson [Sun, 16 Sep 2012 14:46:22 +0000 (07:46 -0700)]
Revert "math: speed up integer>fixnum operations."

This reverts commit b467db9a9aecce0a4ae9ddc7ed811f16b1ac4eae.

11 years agomath: speed up integer>fixnum operations.
John Benediktsson [Sat, 15 Sep 2012 15:52:06 +0000 (08:52 -0700)]
math: speed up integer>fixnum operations.

11 years agomath.integers: fix docs for >integer.
John Benediktsson [Sat, 15 Sep 2012 15:51:19 +0000 (08:51 -0700)]
math.integers: fix docs for >integer.

11 years agocontinuations: slight speedup.
John Benediktsson [Fri, 14 Sep 2012 21:59:38 +0000 (14:59 -0700)]
continuations: slight speedup.

11 years agobenchmark.continuations: more continuations.
John Benediktsson [Fri, 14 Sep 2012 21:59:17 +0000 (14:59 -0700)]
benchmark.continuations: more continuations.

11 years agoheaps: inline heap-size also.
John Benediktsson [Fri, 14 Sep 2012 19:07:56 +0000 (12:07 -0700)]
heaps: inline heap-size also.

11 years agoheaps: speed up heaps benchmark.
John Benediktsson [Fri, 14 Sep 2012 17:03:30 +0000 (10:03 -0700)]
heaps: speed up heaps benchmark.

11 years agomath.order: improve docs for invert-comparison.
John Benediktsson [Fri, 14 Sep 2012 16:45:03 +0000 (09:45 -0700)]
math.order: improve docs for invert-comparison.

11 years agomath.order: cleanup stack effects.
John Benediktsson [Fri, 14 Sep 2012 16:36:09 +0000 (09:36 -0700)]
math.order: cleanup stack effects.

11 years agomath.order: make it more obvious this is a real<=>.
John Benediktsson [Fri, 14 Sep 2012 16:19:26 +0000 (09:19 -0700)]
math.order: make it more obvious this is a real<=>.

11 years agomisc: fix syntax highlighting for MATH: generics.
John Benediktsson [Fri, 14 Sep 2012 16:05:20 +0000 (09:05 -0700)]
misc: fix syntax highlighting for MATH: generics.

11 years agosorting: 6% performance improvement using -unsafe words.
John Benediktsson [Fri, 14 Sep 2012 16:03:55 +0000 (09:03 -0700)]
sorting: 6% performance improvement using -unsafe words.

11 years agomath.order: speed up math comparisons using a math generic.
John Benediktsson [Fri, 14 Sep 2012 15:43:29 +0000 (08:43 -0700)]
math.order: speed up math comparisons using a math generic.

11 years agocompiler.cfg.gvn.testing: Add one more platforms.txt
Doug Coleman [Thu, 13 Sep 2012 17:09:29 +0000 (10:09 -0700)]
compiler.cfg.gvn.testing: Add one more platforms.txt

11 years agocompiler.graphviz: Add platforms.txt until someday when graphviz win64
Doug Coleman [Thu, 13 Sep 2012 15:51:39 +0000 (08:51 -0700)]
compiler.graphviz: Add platforms.txt until someday when graphviz win64
binaries are easy.

11 years agocompiler.cfg.gvn.tests: test that gvn is, in fact, global; also, minor test of gcse...
Alex Vondrak [Fri, 10 Aug 2012 01:22:42 +0000 (18:22 -0700)]
compiler.cfg.gvn.tests: test that gvn is, in fact, global; also, minor test of gcse modulo register availability

11 years agocompiler.cfg.gvn.tests: add a new 'fixme' unit test for a deficiency in the gvn algorithm
Alex Vondrak [Thu, 9 Aug 2012 21:38:47 +0000 (14:38 -0700)]
compiler.cfg.gvn.tests: add a new 'fixme' unit test for a deficiency in the gvn algorithm

11 years agocompiler.cfg.gvn.tests: to fix remaining regressions, added ##peeks so that vreg...
Alex Vondrak [Thu, 9 Aug 2012 21:35:35 +0000 (14:35 -0700)]
compiler.cfg.gvn.tests: to fix remaining regressions, added ##peeks so that vreg uses actually had defs (and thus would be available during gcse)

11 years agocompiler.cfg.gvn.tests: ##phis now get converted into ##copy insns, so unit test...
Alex Vondrak [Thu, 9 Aug 2012 21:20:58 +0000 (14:20 -0700)]
compiler.cfg.gvn.tests: ##phis now get converted into ##copy insns, so unit test had to change

11 years agocompiler.cfg.gvn.tests: fix test-branch-folding
Alex Vondrak [Sun, 5 Aug 2012 18:04:46 +0000 (11:04 -0700)]
compiler.cfg.gvn.tests: fix test-branch-folding

11 years agocompiler.cfg.gvn.tests: fix the old, single-basic-block tests from
Alex Vondrak [Sun, 5 Aug 2012 05:49:27 +0000 (22:49 -0700)]
compiler.cfg.gvn.tests: fix the old, single-basic-block tests from
compiler.cfg.value-numbering (which was nearly all of them) to work with
new gvn interface

11 years agocompiler.cfg.gvn: merge changes from value-numbering-tests into gvn-tests
Alex Vondrak [Sun, 5 Aug 2012 01:52:50 +0000 (18:52 -0700)]
compiler.cfg.gvn: merge changes from value-numbering-tests into gvn-tests

11 years agocompiler.cfg.gvn.avail: add a FROM: to clarify collision over change-at word
Alex Vondrak [Thu, 2 Aug 2012 23:42:30 +0000 (16:42 -0700)]
compiler.cfg.gvn.avail: add a FROM: to clarify collision over change-at word

11 years agocompiler.cfg.gvn: merge in applicable changes from compiler.cfg.value-numbering
Alex Vondrak [Thu, 2 Aug 2012 23:41:23 +0000 (16:41 -0700)]
compiler.cfg.gvn: merge in applicable changes from compiler.cfg.value-numbering

11 years agocompiler.cfg.gvn.math: re-enable distribution for final pass
Alex Vondrak [Thu, 8 Sep 2011 17:03:34 +0000 (10:03 -0700)]
compiler.cfg.gvn.math: re-enable distribution for final pass

11 years agocompiler.cfg.graphviz & compiler.cfg.gvn.testing: change output slightly
Alex Vondrak [Thu, 8 Sep 2011 17:01:42 +0000 (10:01 -0700)]
compiler.cfg.graphviz & compiler.cfg.gvn.testing: change output slightly

11 years agocompiler.cfg.gvn: fix copyrights
Alex Vondrak [Thu, 8 Sep 2011 16:57:40 +0000 (09:57 -0700)]
compiler.cfg.gvn: fix copyrights

11 years agocompiler.cfg.graphviz & compiler.cfg.gvn.testing: png -> svg
Alex Vondrak [Sun, 31 Jul 2011 01:58:50 +0000 (18:58 -0700)]
compiler.cfg.graphviz & compiler.cfg.gvn.testing: png -> svg

11 years agocompiler.cfg.gvn.alien: use next-vreg on final iteration, which seems to fix a bug
Alex Vondrak [Wed, 6 Jul 2011 04:00:52 +0000 (21:00 -0700)]
compiler.cfg.gvn.alien: use next-vreg on final iteration, which seems to fix a bug

11 years agocompiler.cfg.gvn: forgot to make certain defs available
Alex Vondrak [Wed, 6 Jul 2011 02:19:30 +0000 (19:19 -0700)]
compiler.cfg.gvn: forgot to make certain defs available

11 years agocompiler.cfg.gvn.comparisons: missed a spot for with-available-uses?
Alex Vondrak [Tue, 5 Jul 2011 01:39:34 +0000 (18:39 -0700)]
compiler.cfg.gvn.comparisons: missed a spot for with-available-uses?

11 years agocompiler.cfg.copy-prop: kludge to make sure ##phis get updated
Alex Vondrak [Sun, 3 Jul 2011 23:55:27 +0000 (16:55 -0700)]
compiler.cfg.copy-prop: kludge to make sure ##phis get updated

11 years agocompiler.cfg.gvn.avail: make with-available-uses? short-circuit
Alex Vondrak [Sun, 3 Jul 2011 21:02:02 +0000 (14:02 -0700)]
compiler.cfg.gvn.avail: make with-available-uses? short-circuit

11 years agocompiler.cfg.gvn: fix special vreg insn handling
Alex Vondrak [Sun, 3 Jul 2011 20:16:26 +0000 (13:16 -0700)]
compiler.cfg.gvn: fix special vreg insn handling

11 years agocompiler.cfg.gvn: enable rewrites & ##phi processing
Alex Vondrak [Sun, 3 Jul 2011 20:14:57 +0000 (13:14 -0700)]
compiler.cfg.gvn: enable rewrites & ##phi processing

11 years agocompiler.cfg.gvn.comparisons: next-vreg not a problem here; only used for temps ...
Alex Vondrak [Sat, 2 Jul 2011 20:45:15 +0000 (13:45 -0700)]
compiler.cfg.gvn.comparisons: next-vreg not a problem here; only used for temps (not defs)

11 years agocompiler.cfg.gvn: found infinite loop issues when rewrites define new vregs
Alex Vondrak [Sat, 2 Jul 2011 20:43:28 +0000 (13:43 -0700)]
compiler.cfg.gvn: found infinite loop issues when rewrites define new vregs

11 years agocompiler.cfg.gvn: add simple gcse (avoid rewriting & ##phi handling)
Alex Vondrak [Sat, 2 Jul 2011 20:41:25 +0000 (13:41 -0700)]
compiler.cfg.gvn: add simple gcse (avoid rewriting & ##phi handling)

11 years agocompiler.cfg.gvn.avail: kludgey fix for odd problem with updating avail sets
Alex Vondrak [Sat, 2 Jul 2011 20:39:57 +0000 (13:39 -0700)]
compiler.cfg.gvn.avail: kludgey fix for odd problem with updating avail sets

11 years agocompiler.cfg.gvn: try to clean up availability issues (untested)
Alex Vondrak [Wed, 29 Jun 2011 00:58:55 +0000 (17:58 -0700)]
compiler.cfg.gvn: try to clean up availability issues (untested)