Commit Graph

8843 Commits (509f100806b28694aa23588586b240cc1f8b379e)

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