Slava Pestov
608175447b
game.input.x11: add alien.data to using list
2010-05-24 00:32:35 -04:00
Doug Coleman
fc9a5fee58
Delay the cursor blink
2010-05-23 22:26:46 -05:00
Doug Coleman
616ad9a4a7
- 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
e83777ff06
Merge branch 'master' of git://factorcode.org/git/factor
2010-05-23 22:19:48 -05:00
Slava Pestov
df7fef25ce
alarms: new test case for interrupt race
2010-05-23 23:16:41 -04:00
Slava Pestov
fc234b89dd
cpu.x86: fix callbacks receiving stack parameters on Win64
2010-05-23 23:08:07 -04:00
Doug Coleman
4a31af7ea4
Merge branch 'master' of git://factorcode.org/git/factor
2010-05-23 21:34:37 -05:00
Slava Pestov
fa53b4ab2a
opengl.gl.unix renamed to opengl.gl.x11
2010-05-23 22:25:17 -04:00
Slava Pestov
a3e5e64eab
ui.backend.x11: fix load error
2010-05-23 22:08:24 -04:00
Doug Coleman
6edffb4482
Remove typo slot, fix scheduling formula, record initial iteration nano-count
2010-05-23 18:44:04 -05:00
Slava Pestov
0d529a09f1
alarms: add unit test for race condition
2010-05-23 18:38:37 -04:00
Slava Pestov
f04ae609c8
Fixes for out parameter changes
2010-05-23 03:27:40 -05:00
Slava Pestov
5d9993d46f
Updating code to use with-out-parameters
2010-05-23 03:07:47 -04:00
Slava Pestov
e65a1b301a
cpu.x86.64: callback prologue was clobbering 5th parameter register on x86-64
2010-05-23 03:00:53 -04:00
Joe Groff
746810c939
system-info.windows.nt: lingering string C type
2010-05-22 19:23:45 -07:00
Slava Pestov
b8ec5c6176
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
cfa736ab29
Clarify and reword alarms documentation
2010-05-22 00:17:30 -05:00
Doug Coleman
f0183deffa
Remove alarms from using list, minor refactoring
2010-05-21 20:48:33 -05:00
Doug Coleman
1cca8f0611
Rotate logs every day, but wait a day first
2010-05-21 20:44:38 -05:00
Doug Coleman
179acf5ea6
Update code base for new alarms api
2010-05-21 20:42:12 -05:00
Doug Coleman
3a8aac8c76
Cleaner implementation of alarms. Separate creating alarm from starting/stopping them.
2010-05-21 20:29:25 -05:00
Doug Coleman
f1ffbd221d
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
e7767bd3f2
Merge branch 'master' of factorcode.org:/git/factor
2010-05-21 16:40:41 -07:00
Niklas.Waern
f875324e77
x11.xinput2.ffi: make XI*Mask less ugly
2010-05-22 01:36:04 +02:00
Slava Pestov
7e77b35502
io.backend.unix: make timeouts work on stdin once Doug fixes alarms
2010-05-21 19:09:15 -04:00
Slava Pestov
2f3963d055
alarms: add a couple of unit tests
2010-05-21 19:09:01 -04:00
Niklas.Waern
c51b6e0501
x11.xlib: add GenericEvent constant
2010-05-22 00:29:38 +02:00
Niklas.Waern
8493b7a57f
x11.xinput2: xi2-available?
2010-05-22 00:12:51 +02:00
Niklas.Waern
1ba823c32f
x11.xlib: add a few things for xinput2
2010-05-22 00:12:51 +02:00
Niklas.Waern
32c13c2a6f
x11.xinput2.ffi
2010-05-22 00:12:51 +02:00
Niklas.Waern
ddff7be111
x11.xinput2.constants
2010-05-22 00:12:50 +02:00
Niklas.Waern
f1f55c3fa3
create basis/x11/xinput2
2010-05-22 00:12:50 +02:00
Doug Coleman
7a41f5da2e
Fix using list in sequences.unrolled, keys/values was not appropriate in several locations
2010-05-21 15:28:05 -05:00
Doug Coleman
7df7c389c7
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
a87656a46c
Simplify the alarms implementation a bit
2010-05-21 13:19:15 -05:00
Doug Coleman
d03e326059
- 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
e559f1470b
Use keys/values where appropriate
2010-05-21 12:48:04 -05:00
Joe Groff
f29945b01c
sequences.unrolled vocab with fixed-length unrolling versions of some each and map combinators
2010-05-19 16:22:22 -07:00
Slava Pestov
630aef00cb
specialized-arrays: fix typo
2010-05-19 03:23:26 -04:00
Slava Pestov
0f935bfbde
compiler.cfg.builder.alien: use ##local-allot to fix value struct passing on Win64
2010-05-19 01:53:32 -04:00
Slava Pestov
f4ff644329
cpu.x86.32: fix load error
2010-05-19 01:29:52 -04:00
Slava Pestov
bcf7a5e15e
Use ##local-allot to simplify longlong unboxing
2010-05-19 01:07:22 -04:00
Slava Pestov
70f6717713
compiler.tree.propagation.known-words: fix load error
2010-05-19 00:51:03 -04:00
Slava Pestov
84e7076474
alien.data: add with-scoped-allocation combinator for stack-allocating C data
2010-05-19 00:33:36 -04:00
Slava Pestov
5dd2115665
compiler.cfg: generalize ##prepare-struct-caller instruction to alloca()-like ##local-allot
2010-05-19 00:33:15 -04:00
Slava Pestov
04973f4d97
stack-checker.alien: callback and assembly quotations can be callables
2010-05-19 00:31:46 -04:00
Slava Pestov
40f58f27d6
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
fbc222a8dc
compiler.tests: fix test for generalizations change
2010-05-18 23:08:37 -04:00
Slava Pestov
f70d89b145
Fixing fallout from sequences.generalizations change
2010-05-18 22:59:07 -04:00
Slava Pestov
75fc43ea58
libc: use size_t instead of ulong for correct behavior on win64
2010-05-18 22:34:52 -04:00
Slava Pestov
838ffe3e09
alien.c-types: make a couple of words private
2010-05-18 22:34:42 -04:00
Slava Pestov
d05bb6e5d7
cpu.x86.assembler: drop useless ST0 operand from some x87 instructions
2010-05-18 19:37:59 -04:00
Slava Pestov
f6430de98a
cpu.x86.x87: compares were clobbering ST0
2010-05-18 19:18:53 -04:00
Slava Pestov
50b43806e8
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
c0f39aa99d
Move remaining sequence operations from generalizations to sequences.generalizations where they belong
2010-05-18 18:36:47 -04:00
Slava Pestov
0bc97cce00
cpu.x86.assembler: fix typo
2010-05-18 17:59:34 -04:00
Slava Pestov
379dd67ee8
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
4b2f4fc72e
cpu.x86.assembler: AH CH DH BH register operands now work properly
2010-05-18 17:10:32 -04:00
Slava Pestov
dda4f134ba
compiler.cfg.value-numbering: constant folding for ##shuffle-vector
2010-05-18 04:22:21 -04:00
Slava Pestov
c39344da1a
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
8611ba2a4d
cpu.x86.64: call check-sse to ensure that cpu.x86.sse is loaded
2010-05-17 11:43:42 -04:00
Slava Pestov
66e9bed2d8
cpu.x86: add x87 codegen for Model T enthusiasts
2010-05-17 11:35:47 -04:00
Slava Pestov
9f53b638f6
compiler.cfg.ssa.interference: implement linear-time interference test
2010-05-17 05:50:13 -04:00
Slava Pestov
58447d94fa
compiler.cfg.ssa.interference.live-ranges: compute correct live ranges for ##phi instructions
2010-05-17 05:50:13 -04:00
Slava Pestov
1f8af8d794
compiler.cfg.linear-scan: fix typo
2010-05-17 05:50:13 -04:00
Joe Groff
62b882937a
cpu.x86.assembler: a choice selection of x87 instructions
2010-05-17 02:02:40 -07:00
Slava Pestov
325df742b0
cpu.x86.32: clean up %unary/binary-float-function
2010-05-17 04:03:13 -04:00
Slava Pestov
ed04758ad6
cpu.x86: get rid of this extra-stack-space nonsense
2010-05-17 02:14:44 -04:00
Slava Pestov
0f5d9d368a
compiler.cfg: refactor stack frame code and fix frame pointer usage in callbacks
2010-05-16 21:04:40 -04:00
Slava Pestov
c83c850080
compiler: hack to make XCreateIC() work on x86-64
2010-05-16 04:49:53 -04:00
Slava Pestov
99757a8e0b
Merge branch 'master' of git://factorcode.org/git/factor
2010-05-16 04:10:03 -04:00
Slava Pestov
3356661d11
Fixes for FFI changes
2010-05-16 04:09:47 -04:00
Joe Groff
7982bdd8f9
compiler.cfg.intrinsics.simd: use ^^select-vector for simd constant nth when available
2010-05-16 00:50:20 -07:00
Joe Groff
bf27af58f4
compiler.cfg.instructions: ##select-vector instruction mapping to SSE4 PEXTR*
2010-05-16 00:50:19 -07:00
Slava Pestov
35bd2bca06
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
79f4a59104
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
e74b0b2a7b
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
2737a136a9
cpu.x86: fix bootstrap load error
2010-05-15 15:28:22 -07:00
Joe Groff
41ba3c9c83
cpu.x86: don't enable bit-count intrinsic by default
2010-05-15 14:52:00 -07:00
Joe Groff
ed1ede52af
cpu.x86.features: ( int alien-assembly ) c-bool> ==> ( bool alien-assembly )
2010-05-15 14:33:19 -07:00
Joe Groff
c06ebe502e
cpu.x86: enable bit-count intrinsic if POPCNT available
2010-05-15 14:00:12 -07:00
Joe Groff
ad74f99ec1
compiler.cfg.intrinsics: intrinsic for fixnum-bit-count
2010-05-15 13:59:47 -07:00
Joe Groff
b56adf5091
compiler.cfg.instructions: ##bit-count insn
2010-05-15 13:57:35 -07:00
Joe Groff
a7de341809
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
7753198b86
cpu.x86.features: add popcnt? test
2010-05-15 13:26:14 -07:00
Joe Groff
8588f5a4fe
cpu.x86.assembler: SETcc instructions
2010-05-15 13:14:27 -07:00
Joe Groff
3b28648fa3
cpu.x86.assembler: BT family instructions
2010-05-15 13:08:22 -07:00
Joe Groff
4d0508a995
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
374e928261
compiler.cfg.value-numbering.comparisons: ##test-imm rewrite rule must check that the immediate fits
2010-05-15 03:19:24 -04:00
Slava Pestov
bd55712f82
compiler: fix bad unit test
2010-05-14 18:37:11 -04:00
Slava Pestov
3e68cdb709
cpu.x86.bootstrap: use TEST instruction
2010-05-14 18:37:10 -04:00
Slava Pestov
0dbc9eaae0
compiler.cfg: more silly optimizations
2010-05-14 18:37:09 -04:00
Slava Pestov
210e88b901
compiler.cfg.instructions: change vreg-insn from a mixin into a superclass
2010-05-14 18:37:09 -04:00
Slava Pestov
5ac0252f04
compiler.cfg.linear-scan: pointless optimizations
2010-05-14 18:37:08 -04:00
Slava Pestov
b5cde08732
compiler.cfg.ssa.live-ranges: clean up
2010-05-14 18:37:08 -04:00
Slava Pestov
b360a4a514
bootstrap.compiler.timing: small update
2010-05-14 18:37:07 -04:00
Slava Pestov
9bb3c0d71b
compiler.cfg.alias-analysis: simplify and speed up
2010-05-14 18:37:07 -04:00
Slava Pestov
5a36954a86
compiler.cfg: use x86 TEST instruction to optimize 'bitand 0 ='
2010-05-14 18:37:06 -04:00
Joe Groff
f4e10849dd
sequences.cords: specialize vshuffle-elements to use vshuffle2-elements on cord components
2010-05-14 13:29:37 -07:00
Joe Groff
40c75a996e
math.vectors.simd.intrinsics: fix scalar fallback for (simd-vshuffle2-elements)
2010-05-14 02:47:39 -07:00