Samuel Tardieu
b3a866173a
Fix "primes-between" and "primes-upto" with pathological bounds.
...
"primes-between" was buggy when bounds were given in the wrong order
or when the high bound was smaller than 3.
2010-06-11 16:07:52 +02:00
Joe Groff
c8ea7ed0c7
alien.data: make binary-zero? public and move it from classes.struct.private
2010-06-10 17:05:43 -07:00
Joe Groff
e84b2e8c60
classes.struct: fix some bugs in binary-zero?, add unit tests
2010-06-10 16:49:59 -07:00
Doug Coleman
a6f0abb9a2
Rename alarms -> timers
2010-06-10 16:39:13 -05:00
Doug Coleman
2e867e49a5
Add a remove-wm-handler word to windows ui backend
2010-06-10 16:06:38 -05:00
Joe Groff
da198f6314
xmode.modes: add cuda xmode
2010-06-08 17:08:51 -07:00
Joe Groff
5ca4c343c4
specialized-arrays, specialized-vectors: add direct-slice, direct-head, direct-tail, etc. words for creating specialized-arrays over subsets of specialized sequences
2010-06-08 15:00:11 -07:00
Joe Groff
c8bb9b3381
ui: document non-polymorphic effect of with-ui, and that it doesn't return
2010-06-08 13:54:10 -07:00
Joe Groff
3602627ff2
specialized-vectors: implement binary-object protocol for specialized-vectors
2010-06-08 13:40:07 -07:00
Joe Groff
964327de67
specialized-vectors: add push-new operation that allocates and returns a new struct on the end of a specialized vector
2010-06-08 13:15:04 -07:00
Joe Groff
b5cc5ef4a7
classes.struct: implement "group-words" method on struct-class so that struct classes can be used as a CONSULT: protocol
2010-06-08 12:52:46 -07:00
Joe Groff
dd71d20e4e
xml.syntax: parse <-variable->s with parse-word instead of search so the no-word error gets properly raised when variable doesn't exist
2010-06-08 12:18:06 -07:00
Joe Groff
90537038ea
xmode.catalog: pre-convert globs to regexes in modes hash so their compilation is memoized
2010-06-05 22:27:44 -07:00
Slava Pestov
a1f1330586
Merge branch 'master' of git://factorcode.org/git/factor
2010-06-06 00:48:48 -04:00
Joe Groff
27c2ac29eb
xmode.catalog: factor ?find-mode (which returns f if no mode found) from find-mode (which defaults to "text" if no mode found)
2010-06-05 15:17:51 -07:00
Joe Groff
f5b4ecc14a
xmode.catalog: fix find-mode so it works with full paths
2010-06-05 15:08:02 -07:00
Slava Pestov
597f7cb578
Merge branch 'master' of http://github.com/Blei/factor
2010-06-05 16:58:00 -04:00
Doug Coleman
0c184e2666
Don't add empty vocab-roots lines
2010-06-04 14:17:07 -05:00
Joe Groff
8644e12bb6
ui.backend.windows: make small-title-bar windows WS_EX_TOPMOST so they behave like os x small-title-bar windows
2010-06-03 23:03:53 -07:00
Joe Groff
b9c5c2e02c
json.reader: factor read-jsons from json>
2010-06-03 13:11:47 -07:00
Slava Pestov
063c9783fb
ui.backend.x11: fix typo
2010-06-02 03:13:57 -04:00
Slava Pestov
be1b5e6627
alien.prettyprint: fix wrapping when prettyprinting pointer:
2010-06-02 03:11:46 -04:00
Slava Pestov
83e78c353e
ui.backend.windows: remove a usage of rot
2010-06-02 02:59:58 -04:00
Slava Pestov
9f49bfc3b3
ui.backend.x11: fixing raise-window*
2010-06-02 02:59:57 -04:00
Slava Pestov
c214d62c0b
x11: general cleanup
2010-06-02 02:59:57 -04:00
Slava Pestov
78dcc5bc33
Move system word from unix.ffi to libc since its not Unix-specific
2010-06-02 02:59:56 -04:00
Philipp Brüschweiler
14f8742aae
ui.render: set pack alignment to 1, so padding images isn't needed anymore
2010-06-01 13:52:00 +02:00
Joe Groff
7fe04fa8ee
compiler.cfg.intrinsics.simd: intrinsic support for double-2>float-4 conversion
2010-06-01 00:34:50 -07:00
Slava Pestov
2ba7c8c639
calendar.model, tools.errors.model: re-initialize models on startup
2010-05-31 20:14:54 -04:00
Slava Pestov
f78bbb865e
vocabs.refresh.monitor: spin off new monitor threads when add-vocab-root is called. Fixes a problem where depending on the order of startup hooks, refresh-all would sometimes be broken for custom vocab roots
2010-05-31 20:14:54 -04:00
Slava Pestov
adecd623d0
alien.prettyprint: fix prettyprinting of array types and CALLBACK: (reported by Anton Gorenko)
2010-05-30 16:21:43 -04:00
Slava Pestov
b924c3623d
ui.tools.listener: fix error bar display
2010-05-30 16:09:51 -04:00
Slava Pestov
709687e55f
nibble-arrays: replace a -rot usage with locals
2010-05-29 05:22:10 -04:00
Slava Pestov
929a2d5169
tools.deploy.macosx: make deployment work when we're not running the .app bundle
2010-05-29 04:27:55 -04:00
Slava Pestov
8fd6a24edb
ui.backend.cocoa: factor out stop-io-thread word for use by upcoming Gtk UI backend
2010-05-29 04:27:54 -04:00
Slava Pestov
e8cb8bb359
bootstrap.image.download: refactor it a bit to make mason.updates more robust
2010-05-25 17:18:06 -04:00
Doug Coleman
05227a0e76
- Put back the good version of restart-alarm
...
- Don't sleep if the alarm is stopped before it starts
- Right before I committed, I changed the code. oops.
2010-05-24 22:59:26 -05:00
Doug Coleman
3a7f9c3947
Use restart-alarm for ui blink code
2010-05-24 22:59:25 -05:00
Doug Coleman
99e3fe6a6e
Add a restart-alarm word that doesn't spawn a new thread
2010-05-24 22:59:25 -05:00
Joe Groff
7325e13521
Merge branch 'master' of factorcode.org:/git/factor
2010-05-24 18:39:24 -07:00
Joe Groff
1041ad5f9b
math.vectors.simd.intrinsics: use unrolled loops for some software fallbacks
2010-05-24 18:39:06 -07:00
Joe Groff
9391f10164
sequences.unrolled: tweak helper words so that call( -- ) guards inline in more cases (w/ help from Slava)
2010-05-24 16:50:46 -07:00
Slava Pestov
07e92b50ce
ui.backend.x11: don't pass GLX_USE_GL since its a no-op and Mesa doesn't like it
2010-05-24 19:23:55 -04:00
Slava Pestov
46fe340be3
ui.gadgets.worlds: don't enable depth buffer by default, since it just wastes memory and apps which need it can pass custom pixel-format-attributes to open-window to enable it explicitly
2010-05-24 19:23:02 -04:00
Joe Groff
3993dace22
Merge branch 'master' of factorcode.org:/git/factor
2010-05-24 14:19:53 -07:00
Slava Pestov
212d308de1
ui: ditch window restore behavior since it was broken
2010-05-24 16:50:09 -04:00
Joe Groff
60b20d590a
math.vectors.simd.intrinsics: remove call( -- ) wrapper from fallbacks
2010-05-24 12:58:14 -07:00
Joe Groff
44ed11a084
sequences.unrolled: reimplement underlying (unrolled-each-integer) loop as a partial eval, sacrificing row polymorphism for flexibility
2010-05-24 00:33:41 -07:00
Joe Groff
8d66b14e59
math.vectors.simd.intrinsics: use <direct-X-array> instead of X-array-cast to construct view over fallback byte-arrays to avoid redundant array size checking
2010-05-23 23:18:02 -07:00
Joe Groff
af83a9341c
math.vectors.simd.intrinsics: wrap intrinsic fallback bodies in call( -- ) so we can abuse macros in their normally-inlined bodies
2010-05-23 22:39:44 -07:00
Slava Pestov
28e67b7066
game.input.x11: add alien.data to using list
2010-05-24 00:32:35 -04:00
Doug Coleman
54ce8be408
Delay the cursor blink
2010-05-23 22:26:46 -05:00
Doug Coleman
b3d6ab1d3b
- Remove the alarms stop variable, and instead for a stop condition, check against the thread object being replaced.
...
- Interrupt the thread sleep when stopped, but only if the quotation is not currently running
2010-05-23 22:25:17 -05:00
Doug Coleman
0e32dafb38
Merge branch 'master' of git://factorcode.org/git/factor
2010-05-23 22:19:48 -05:00
Slava Pestov
75de44c2a5
alarms: new test case for interrupt race
2010-05-23 23:16:41 -04:00
Slava Pestov
48f87e03e3
cpu.x86: fix callbacks receiving stack parameters on Win64
2010-05-23 23:08:07 -04:00
Doug Coleman
af2a5eb18d
Merge branch 'master' of git://factorcode.org/git/factor
2010-05-23 21:34:37 -05:00
Slava Pestov
6b87f0d0d9
opengl.gl.unix renamed to opengl.gl.x11
2010-05-23 22:25:17 -04:00
Slava Pestov
cd5c1ab499
ui.backend.x11: fix load error
2010-05-23 22:08:24 -04:00
Doug Coleman
591a77700d
Remove typo slot, fix scheduling formula, record initial iteration nano-count
2010-05-23 18:44:04 -05:00
Slava Pestov
c8af0e4d5c
alarms: add unit test for race condition
2010-05-23 18:38:37 -04:00
Slava Pestov
66fcab3721
Fixes for out parameter changes
2010-05-23 03:27:40 -05:00
Slava Pestov
70a99e1cdb
Updating code to use with-out-parameters
2010-05-23 03:07:47 -04:00
Slava Pestov
c9ad0856d5
cpu.x86.64: callback prologue was clobbering 5th parameter register on x86-64
2010-05-23 03:00:53 -04:00
Joe Groff
6fb91a042e
system-info.windows.nt: lingering string C type
2010-05-22 19:23:45 -07:00
Slava Pestov
ba7cb61133
Stack allocation improvements
...
- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas
2010-05-22 02:37:00 -04:00
Doug Coleman
61184af840
Clarify and reword alarms documentation
2010-05-22 00:17:30 -05:00
Doug Coleman
8935105537
Remove alarms from using list, minor refactoring
2010-05-21 20:48:33 -05:00
Doug Coleman
6e8e487b6b
Rotate logs every day, but wait a day first
2010-05-21 20:44:38 -05:00
Doug Coleman
e75b85de30
Update code base for new alarms api
2010-05-21 20:42:12 -05:00
Doug Coleman
09d2a7dbc7
Cleaner implementation of alarms. Separate creating alarm from starting/stopping them.
2010-05-21 20:29:25 -05:00
Doug Coleman
4116d8a159
Make the alarm test wait for the promise to be fulfilled instead of returning immediately and failing
2010-05-21 20:03:32 -05:00
Joe Groff
896949fbb8
Merge branch 'master' of factorcode.org:/git/factor
2010-05-21 16:40:41 -07:00
Niklas.Waern
0be7a74e64
x11.xinput2.ffi: make XI*Mask less ugly
2010-05-22 01:36:04 +02:00
Slava Pestov
949712243f
io.backend.unix: make timeouts work on stdin once Doug fixes alarms
2010-05-21 19:09:15 -04:00
Slava Pestov
0e496c8693
alarms: add a couple of unit tests
2010-05-21 19:09:01 -04:00
Niklas.Waern
15f0ff877e
x11.xlib: add GenericEvent constant
2010-05-22 00:29:38 +02:00
Niklas.Waern
35f7d049ae
x11.xinput2: xi2-available?
2010-05-22 00:12:51 +02:00
Niklas.Waern
e06ba797ca
x11.xlib: add a few things for xinput2
2010-05-22 00:12:51 +02:00
Niklas.Waern
715973905f
x11.xinput2.ffi
2010-05-22 00:12:51 +02:00
Niklas.Waern
af7f389b97
x11.xinput2.constants
2010-05-22 00:12:50 +02:00
Niklas.Waern
6247181026
create basis/x11/xinput2
2010-05-22 00:12:50 +02:00
Doug Coleman
01e14d1430
Fix using list in sequences.unrolled, keys/values was not appropriate in several locations
2010-05-21 15:28:05 -05:00
Doug Coleman
547746db9f
Change alarm start variable to store nano-count of start time instead of (nano-count + interval)
2010-05-21 13:28:03 -05:00
Doug Coleman
f3c9eab1f5
Simplify the alarms implementation a bit
2010-05-21 13:19:15 -05:00
Doug Coleman
61b9f7a6d5
- Change alarms to run in a single spawned green thread instead of spawning a new thread for each iteration of the alarm so game.loop can use alarms -- the old behavior can be embedded by calling in-thread in your alarm handler quotation
...
- Remove current-alarm dynamic variable in favor of optionally passing the alarm on the stack to the quotation
- Reschedule alarms based on a multiple of the interval from the original start time to eliminate alarm drift over time
- Clarify alarm contract in docs
- Fix later example
2010-05-21 12:48:05 -05:00
Doug Coleman
bdecd564a3
Use keys/values where appropriate
2010-05-21 12:48:04 -05:00
Joe Groff
ed6b1dab02
sequences.unrolled vocab with fixed-length unrolling versions of some each and map combinators
2010-05-19 16:22:22 -07:00
Slava Pestov
dc1aca7ae2
specialized-arrays: fix typo
2010-05-19 03:23:26 -04:00
Slava Pestov
9e59192c73
compiler.cfg.builder.alien: use ##local-allot to fix value struct passing on Win64
2010-05-19 01:53:32 -04:00
Slava Pestov
9730ec1707
cpu.x86.32: fix load error
2010-05-19 01:29:52 -04:00
Slava Pestov
91cd3b854d
Use ##local-allot to simplify longlong unboxing
2010-05-19 01:07:22 -04:00
Slava Pestov
0a0ebcd71d
compiler.tree.propagation.known-words: fix load error
2010-05-19 00:51:03 -04:00
Slava Pestov
86358b1dc3
alien.data: add with-scoped-allocation combinator for stack-allocating C data
2010-05-19 00:33:36 -04:00
Slava Pestov
77516c6932
compiler.cfg: generalize ##prepare-struct-caller instruction to alloca()-like ##local-allot
2010-05-19 00:33:15 -04:00
Slava Pestov
7c85fdc1e5
stack-checker.alien: callback and assembly quotations can be callables
2010-05-19 00:31:46 -04:00
Slava Pestov
a8098e3182
specialized-arrays: rename byte-array>T-array to T-array-cast, and make it work with anything that responds to >c-ptr / byte-length
2010-05-18 23:09:34 -04:00
Slava Pestov
4dd58ce40e
compiler.tests: fix test for generalizations change
2010-05-18 23:08:37 -04:00
Slava Pestov
e30a429985
Fixing fallout from sequences.generalizations change
2010-05-18 22:59:07 -04:00
Slava Pestov
cf7451131e
libc: use size_t instead of ulong for correct behavior on win64
2010-05-18 22:34:52 -04:00
Slava Pestov
4d66f52777
alien.c-types: make a couple of words private
2010-05-18 22:34:42 -04:00
Slava Pestov
b67080b69d
cpu.x86.assembler: drop useless ST0 operand from some x87 instructions
2010-05-18 19:37:59 -04:00
Slava Pestov
11511167e2
cpu.x86.x87: compares were clobbering ST0
2010-05-18 19:18:53 -04:00
Slava Pestov
1834241e5a
alien.libraries, stack-checker.alien: check user inputs more carefully to ensure that invalid ABI descriptors don't slip through and break random stuff (reported by prunedtree)
2010-05-18 18:46:31 -04:00
Slava Pestov
ea726f5680
Move remaining sequence operations from generalizations to sequences.generalizations where they belong
2010-05-18 18:36:47 -04:00
Slava Pestov
2dde83767c
cpu.x86.assembler: fix typo
2010-05-18 17:59:34 -04:00
Slava Pestov
0aa6ae0feb
cpu.x86.x87: use FISTPD to convert floats to integers, instead of the SSE3 instruction FISTTPD
2010-05-18 17:10:58 -04:00
Slava Pestov
f5a951801e
cpu.x86.assembler: AH CH DH BH register operands now work properly
2010-05-18 17:10:32 -04:00
Slava Pestov
be733cd797
compiler.cfg.value-numbering: constant folding for ##shuffle-vector
2010-05-18 04:22:21 -04:00
Slava Pestov
53a51957df
compiler.cfg.value-numbering: add constant folding for ##gather-vector instructions, and fix ##scalar>vector constant folding for integers
2010-05-18 03:56:07 -04:00
Slava Pestov
3104ad779a
cpu.x86.64: call check-sse to ensure that cpu.x86.sse is loaded
2010-05-17 11:43:42 -04:00
Slava Pestov
6eaf2d7534
cpu.x86: add x87 codegen for Model T enthusiasts
2010-05-17 11:35:47 -04:00
Slava Pestov
41d929a201
compiler.cfg.ssa.interference: implement linear-time interference test
2010-05-17 05:50:13 -04:00
Slava Pestov
6b7260a4a7
compiler.cfg.ssa.interference.live-ranges: compute correct live ranges for ##phi instructions
2010-05-17 05:50:13 -04:00
Slava Pestov
0955f2c7eb
compiler.cfg.linear-scan: fix typo
2010-05-17 05:50:13 -04:00
Joe Groff
93abc7d169
cpu.x86.assembler: a choice selection of x87 instructions
2010-05-17 02:02:40 -07:00
Slava Pestov
db5b33977b
cpu.x86.32: clean up %unary/binary-float-function
2010-05-17 04:03:13 -04:00
Slava Pestov
7ff309d50e
cpu.x86: get rid of this extra-stack-space nonsense
2010-05-17 02:14:44 -04:00
Slava Pestov
3f8e13bf66
compiler.cfg: refactor stack frame code and fix frame pointer usage in callbacks
2010-05-16 21:04:40 -04:00
Slava Pestov
a7b5957f6d
compiler: hack to make XCreateIC() work on x86-64
2010-05-16 04:49:53 -04:00
Slava Pestov
8ebecac4d2
Merge branch 'master' of git://factorcode.org/git/factor
2010-05-16 04:10:03 -04:00
Slava Pestov
e6abc0be15
Fixes for FFI changes
2010-05-16 04:09:47 -04:00
Joe Groff
67ea40ade3
compiler.cfg.intrinsics.simd: use ^^select-vector for simd constant nth when available
2010-05-16 00:50:20 -07:00
Joe Groff
645164188d
compiler.cfg.instructions: ##select-vector instruction mapping to SSE4 PEXTR*
2010-05-16 00:50:19 -07:00
Slava Pestov
5b48cd2a63
FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing
2010-05-16 03:43:23 -04:00
Joe Groff
0c27f30475
compiler.cfg.intrinsics.simd: use new ##gather-int-vector insns to construct int vectors when available
2010-05-15 23:59:27 -07:00
Joe Groff
8c878ada17
compiler.cfg.instructions: ##gather-int-vector-2/4 instructions that map to SSE4 PINSR/PEXTR
2010-05-15 23:48:22 -07:00
Joe Groff
7c0cd6dc37
cpu.x86: fix bootstrap load error
2010-05-15 15:28:22 -07:00
Joe Groff
3de020c18a
cpu.x86: don't enable bit-count intrinsic by default
2010-05-15 14:52:00 -07:00
Joe Groff
3956dd1516
cpu.x86.features: ( int alien-assembly ) c-bool> ==> ( bool alien-assembly )
2010-05-15 14:33:19 -07:00
Joe Groff
009408dd11
cpu.x86: enable bit-count intrinsic if POPCNT available
2010-05-15 14:00:12 -07:00
Joe Groff
5d35917061
compiler.cfg.intrinsics: intrinsic for fixnum-bit-count
2010-05-15 13:59:47 -07:00
Joe Groff
7fec53b509
compiler.cfg.instructions: ##bit-count insn
2010-05-15 13:57:35 -07:00
Joe Groff
7c6c4ef8ae
math.bitwise: factor M\ fixnum (bit-count) to a separate word so it can be made intrinsic
2010-05-15 13:27:26 -07:00
Joe Groff
c00272d80a
cpu.x86.features: add popcnt? test
2010-05-15 13:26:14 -07:00
Joe Groff
d5b7ec3348
cpu.x86.assembler: SETcc instructions
2010-05-15 13:14:27 -07:00
Joe Groff
986ed057d8
cpu.x86.assembler: BT family instructions
2010-05-15 13:08:22 -07:00
Joe Groff
010b5069bd
opengl.textures: borrow get-texture-float and get-texture-int helper words from gpu.textures
2010-05-15 12:09:50 -07:00
Slava Pestov
5c0c87fcaa
compiler.cfg.value-numbering.comparisons: ##test-imm rewrite rule must check that the immediate fits
2010-05-15 03:19:24 -04:00
Daniel Ehrenberg
fbaa8d153f
Inlining no-method when a generic word has no method
2010-05-14 20:28:09 -05:00
Daniel Ehrenberg
05290ee1b1
Merge branch 'master' of git://factorcode.org/git/factor into propagation
...
Conflicts:
basis/compiler/tree/propagation/propagation-tests.factor
2010-05-14 18:59:39 -05:00
Slava Pestov
ad7636045f
compiler: fix bad unit test
2010-05-14 18:37:11 -04:00
Slava Pestov
62eadda2aa
cpu.x86.bootstrap: use TEST instruction
2010-05-14 18:37:10 -04:00
Slava Pestov
5ecd2b61c7
compiler.cfg: more silly optimizations
2010-05-14 18:37:09 -04:00
Slava Pestov
1a61c50896
compiler.cfg.instructions: change vreg-insn from a mixin into a superclass
2010-05-14 18:37:09 -04:00
Slava Pestov
6d30bb8bf4
compiler.cfg.linear-scan: pointless optimizations
2010-05-14 18:37:08 -04:00
Slava Pestov
291543c300
compiler.cfg.ssa.live-ranges: clean up
2010-05-14 18:37:08 -04:00
Slava Pestov
2a137bed0e
bootstrap.compiler.timing: small update
2010-05-14 18:37:07 -04:00
Slava Pestov
d1e422c981
compiler.cfg.alias-analysis: simplify and speed up
2010-05-14 18:37:07 -04:00
Slava Pestov
5a67711bfd
compiler.cfg: use x86 TEST instruction to optimize 'bitand 0 ='
2010-05-14 18:37:06 -04:00