Commit Graph

8730 Commits (f16e660805a2f46fc61c39850ba9e7725fcc8d4e)

Author SHA1 Message Date
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