Commit Graph

8927 Commits (c28d5589a2daa66b6e273f03fbff272278a9fb15)

Author SHA1 Message Date
Joe Groff 7e6d3dfd9a prettyprint.backend: add 1 to nesting-limit while pprinting hashtables 'cause H{ ~array~ ~array~ } is kind of useless 2010-06-16 16:23:28 -05:00
Joe Groff f73c72c340 typed: include value that raised the error in type-mismatch-errors 2010-06-16 16:23:27 -05:00
Joe Groff 0533afc18f sequences.cords: fall back to generic sequence methods when both arguments to binary cord ops aren't cords 2010-06-16 16:23:27 -05:00
Slava Pestov 8bad08ce8d Merge branch 'client-bind' of git://github.com/x6j8x/factor 2010-06-16 17:00:35 -04:00
Sascha Matzke 6a86d22478 added doc for with-local-address 2010-06-16 22:54:53 +02:00
Slava Pestov 12a60e1f03 tools.disassembler.udis: update struct layout for latest udis from git 2010-06-16 16:48:58 -04:00
Joe Groff 19727f8ca5 math.vectors.simd.cords: add regression test for >A 2010-06-15 22:44:15 -07:00
Joe Groff 1f6070d48c math.vectors.simd.cords: use head-slice/tail-slice to slice up input sequences for >A op so that e.g. float-4{ ... } >double-4 works 2010-06-15 21:55:26 -07:00
Slava Pestov 5c7aaa0473 compiler.cfg.ssa: fixing test failures 2010-06-15 17:18:51 -04:00
Daniel Ehrenberg ac15409baa Fixing typo in modular arithmetic unit test (should use iota, not integer sequences, and just happened to work still) 2010-06-15 16:15:49 -04:00
Daniel Ehrenberg ece6c578d9 Fixing infinite loop in loading benchmark.fib4 2010-06-15 13:53:40 -04:00
Daniel Ehrenberg f34630252d Merge branch 'master' into propagation 2010-06-15 13:26:01 -04:00
Slava Pestov fb4de47abf Add GC maps to ##box, ##box-long-long, ##alien-invoke, ##alien-indirect and ##call-gc; remove ##gc-map instruction 2010-06-14 19:39:46 -04:00
Joe Groff 72e0fce0e4 prettyprint.backend: add 1 to nesting-limit while pprinting hashtables 'cause H{ ~array~ ~array~ } is kind of useless 2010-06-14 16:13:30 -07:00
Joe Groff 26c13882fc typed: include value that raised the error in type-mismatch-errors 2010-06-14 14:23:55 -07:00
Joe Groff f2e9703143 sequences.cords: fall back to generic sequence methods when both arguments to binary cord ops aren't cords 2010-06-13 20:41:46 -07:00
Doug Coleman f32bc76447 Merge branch 'master' of github.com:erg/factor 2010-06-13 20:35:26 -05:00
Doug Coleman f0015beaf9 Merge branch 'master' of http://factorcode.org/git/factor 2010-06-13 19:59:38 -05:00
Doug Coleman e31ffa013e Add more time bindings 2010-06-13 19:34:18 -05:00
Doug Coleman c8be326487 Better name for a word in calendar 2010-06-13 19:34:17 -05:00
Doug Coleman b8ac578051 Add a combinator to make a unique directory, set that to the current and temp directories, and then delete the directory when done. Useful when working with apps that need to write intermediate files to the current directory 2010-06-13 19:34:17 -05:00
Slava Pestov f330e069c1 alien.data: fix unit test failure 2010-06-13 19:34:16 -05:00
Joe Groff f11f765591 alien.data: make binary-zero? public and move it from classes.struct.private 2010-06-13 19:34:16 -05:00
Joe Groff 2fc70692ca classes.struct: fix some bugs in binary-zero?, add unit tests 2010-06-13 19:34:15 -05:00
Slava Pestov 5e39764ccd vm: have to be extra careful when messing with return addresses 2010-06-13 18:12:57 -04:00
Joe Groff f9262bd76d Merge branch 'master' of factorcode.org:/git/factor into clean-winnt-x86-64 2010-06-12 23:52:47 -07:00
Slava Pestov d91524b98d vm: context switching needs to scrub the return address 2010-06-12 19:54:31 -04:00
Joe Groff 8dcfb866e6 specialized-vectors: redefine "like" for the corresponding specialized-array of a specialized-vector to share storage when a vector is liked 2010-06-12 16:07:21 -07:00
Slava Pestov dbf6bac599 cpu.x86: combine 32-bit and 64-bit %dispatch template 2010-06-11 21:52:38 -04:00
Slava Pestov ea6f0066e3 Merge branch 'for-slava' of git://git.rfc1149.net/factor 2010-06-11 20:10:07 -04:00
Slava Pestov a08295d9b7 GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
Slava Pestov f16e660805 mirrors: rename enumerated-sequence to inspected-sequence 2010-06-11 17:14:15 -04:00
Slava Pestov e2df45c136 specialized-vectors: add specialized-vectors.mirrors vocab for inspector support 2010-06-11 17:11:21 -04:00
Slava Pestov d877037c32 alien.data: fix unit test failure 2010-06-11 15:38:57 -04:00
Samuel Tardieu 3685a22c62 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 2ab97370da alien.data: make binary-zero? public and move it from classes.struct.private 2010-06-10 17:05:43 -07:00
Joe Groff 7e0ade0972 classes.struct: fix some bugs in binary-zero?, add unit tests 2010-06-10 16:49:59 -07:00
Doug Coleman e03a5b038e Rename alarms -> timers 2010-06-10 16:39:13 -05:00
Doug Coleman f6e3f90142 Add a remove-wm-handler word to windows ui backend 2010-06-10 16:06:38 -05:00
Joe Groff d53923c662 xmode.modes: add cuda xmode 2010-06-08 17:08:51 -07:00
Joe Groff d0d85e9fb0 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 3864c2b4e9 ui: document non-polymorphic effect of with-ui, and that it doesn't return 2010-06-08 13:54:10 -07:00
Joe Groff 2a87056a8a specialized-vectors: implement binary-object protocol for specialized-vectors 2010-06-08 13:40:07 -07:00
Joe Groff 9d43aa3618 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 e45373d1ce 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 276dd05905 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 690175a574 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 55f3c3da4d Merge branch 'master' of git://factorcode.org/git/factor 2010-06-06 00:48:48 -04:00
Joe Groff c461cb30b7 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 e21277f204 xmode.catalog: fix find-mode so it works with full paths 2010-06-05 15:08:02 -07:00
Slava Pestov 62d566ca1f Merge branch 'master' of http://github.com/Blei/factor 2010-06-05 16:58:00 -04:00
Doug Coleman 2216917cb5 Don't add empty vocab-roots lines 2010-06-04 14:17:07 -05:00
Joe Groff eab513cce5 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 201ec1eaa4 json.reader: factor read-jsons from json> 2010-06-03 13:11:47 -07:00
Slava Pestov b1a601b2cb ui.backend.x11: fix typo 2010-06-02 03:13:57 -04:00
Slava Pestov daaabbff8f alien.prettyprint: fix wrapping when prettyprinting pointer: 2010-06-02 03:11:46 -04:00
Slava Pestov 5f7949197b ui.backend.windows: remove a usage of rot 2010-06-02 02:59:58 -04:00
Slava Pestov af7df6ec67 ui.backend.x11: fixing raise-window* 2010-06-02 02:59:57 -04:00
Slava Pestov 8fac444728 x11: general cleanup 2010-06-02 02:59:57 -04:00
Slava Pestov b5fb679943 Move system word from unix.ffi to libc since its not Unix-specific 2010-06-02 02:59:56 -04:00
Philipp Brüschweiler bf41d025d2 ui.render: set pack alignment to 1, so padding images isn't needed anymore 2010-06-01 13:52:00 +02:00
Joe Groff ba143db496 compiler.cfg.intrinsics.simd: intrinsic support for double-2>float-4 conversion 2010-06-01 00:34:50 -07:00
Slava Pestov e4d72fb82b calendar.model, tools.errors.model: re-initialize models on startup 2010-05-31 20:14:54 -04:00
Slava Pestov 1a6e5324c7 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 e88c426390 alien.prettyprint: fix prettyprinting of array types and CALLBACK: (reported by Anton Gorenko) 2010-05-30 16:21:43 -04:00
Slava Pestov 2ac2ec0c74 ui.tools.listener: fix error bar display 2010-05-30 16:09:51 -04:00
Slava Pestov 75e371bd22 nibble-arrays: replace a -rot usage with locals 2010-05-29 05:22:10 -04:00
Slava Pestov 6e818ad439 tools.deploy.macosx: make deployment work when we're not running the .app bundle 2010-05-29 04:27:55 -04:00
Slava Pestov b9b72a6efa 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 faa015f71b bootstrap.image.download: refactor it a bit to make mason.updates more robust 2010-05-25 17:18:06 -04:00
Doug Coleman cff141f4b8 - 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 3c853f0e60 Use restart-alarm for ui blink code 2010-05-24 22:59:25 -05:00
Doug Coleman 2cfcc16452 Add a restart-alarm word that doesn't spawn a new thread 2010-05-24 22:59:25 -05:00
Joe Groff 3fa9156dc9 Merge branch 'master' of factorcode.org:/git/factor 2010-05-24 18:39:24 -07:00
Joe Groff 45e635fa4e math.vectors.simd.intrinsics: use unrolled loops for some software fallbacks 2010-05-24 18:39:06 -07:00
Joe Groff e7a9a9f222 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 ceba2e1c6f 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 36aa9995f9 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 c272949a6b Merge branch 'master' of factorcode.org:/git/factor 2010-05-24 14:19:53 -07:00
Slava Pestov b75d852e10 ui: ditch window restore behavior since it was broken 2010-05-24 16:50:09 -04:00
Joe Groff 7027838fda math.vectors.simd.intrinsics: remove call( -- ) wrapper from fallbacks 2010-05-24 12:58:14 -07:00
Joe Groff e36b5a774c 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 bceec9daeb 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 9977f66c01 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 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
Daniel Ehrenberg 476ef2d3ef Inlining no-method when a generic word has no method 2010-05-14 20:28:09 -05:00
Daniel Ehrenberg 056951fd0c 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 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
Joe Groff 349397e67c math.vectors, math.vectors.simd: add user-facing vshuffle2 word 2010-05-14 02:47:05 -07:00
Joe Groff e96a7a8c5e compiler.cfg.intrinsics.simd: mod shuffle indices for shuffle-2-vectors-imm intrinsic so they wrap like a real instruction would 2010-05-14 01:20:05 -07:00
Joe Groff f202c97b52 math.vectors.simd.intrinsics: (simd-vshuffle2-elements) intrinsic that creates a vector by selecting elements from two input vectors. use ##shuffle-vector-halves-imm to implement for double-2s with SSE 2010-05-14 01:16:29 -07:00
Joe Groff 1c96a37e47 compiler.cfg.instructions: ##shuffle-vector-halves-imm insn to map to SSE's two-input SHUFPS/SHUFPD 2010-05-14 00:20:21 -07:00
Slava Pestov 4ad32f53fe math.vectors.simd.cords: implement new-sequence and like methods on cords to make cross product work 2010-05-13 21:55:19 -04:00
Slava Pestov d6b4540624 cpu.x86.32: check for SSE2 on bootstrap since Factor now requires it 2010-05-13 18:25:46 -04:00
Slava Pestov db0f40e481 compiler: small fixes and cleanups 2010-05-13 02:48:20 -04:00
Joe Groff ab5b5d84cb x11: convert XSupportsLocale return value to factor bool before testing (bug reported by ceninan) 2010-05-12 18:07:33 -07:00
Slava Pestov b336204c02 compiler.cfg.builder.alien: fix for x86-32 2010-05-12 18:07:11 -04:00
Slava Pestov 5e290d5648 Refactor x86-32 stack cleanup logic 2010-05-12 02:09:11 -04:00
Slava Pestov 09e1cf58be Temporary fixes for x86-32 until FFI boxing is rewritten 2010-05-12 01:41:49 -04:00
Slava Pestov 5a102c717d Eliminate compiler.alien 2010-05-11 23:24:47 -04:00
Slava Pestov 3d11fc1451 cpu.x86.64: fix typo 2010-05-11 22:29:46 -04:00
Slava Pestov b92c67fc2c Move flatten-c-type to death row so that it can be executed in part 5 2010-05-11 22:26:31 -04:00