Commit Graph

9015 Commits (8aa22487da685bb75b595f753e6e0b7f4dfcbf96)

Author SHA1 Message Date
Daniel Ehrenberg 83327635f3 Fixing one of the bad bugs, in row-polymorphism 2010-06-22 17:31:21 -04:00
Daniel Ehrenberg 12b0e16232 Unit tests for a couple of serious compiler bugs 2010-06-22 16:41:14 -04:00
Slava Pestov 5ae75af6a8 Clarify documentation for resize-array, resize-byte-array, resize-string words, and remove flushable declaration since technically they don't satisfy the flushable contract (reported by Daniel Ehrenberg) 2010-06-22 15:48:48 -04:00
Slava Pestov db3c4fe43c Fix unix.time to actually load 2010-06-22 15:13:07 -04:00
Daniel Ehrenberg 2c8897c56b Merge branch 'master' of git://factorcode.org/git/factor into propagation 2010-06-22 14:47:57 -04:00
Slava Pestov 7d64fe50a1 classes.struct: remove conflict marker from unit tests 2010-06-22 14:35:49 -04:00
Slava Pestov 167aff1b57 compiler.cfg.height: clean it up a bit 2010-06-22 04:14:03 -04:00
Slava Pestov 75d2635c05 Merge branch 'master' of git://github.com/erg/factor 2010-06-22 04:13:39 -04:00
Doug Coleman 796aca7a4e Remove more system-micros stuff 2010-06-22 02:04:31 -05:00
Doug Coleman 4b9760dd67 More system-micros elimination 2010-06-22 02:00:19 -05:00
Doug Coleman 0edadff45f remove system-micros word from factor src tree 2010-06-22 01:49:11 -05:00
Slava Pestov 0fa1a46d35 Merge branch 'master' of git://github.com/erg/factor into erg 2010-06-22 01:05:13 -04:00
Slava Pestov 1972351d7f Move hashtables.identity to basis and update serialize vocab to use them 2010-06-21 22:26:01 -04:00
Doug Coleman 3b11e2d6aa Normalize vocabulary roots by removing the last path separator so that scaffold tool works with trailing separators 2010-06-21 13:06:09 -05:00
Doug Coleman 82ac7e4e32 Better docs for users/groups 2010-06-21 12:10:45 -05:00
Doug Coleman 58de929a42 Fix a bug when calling all-groups twice. Add some users/groups utility words, unit tests, and docs. 2010-06-21 12:07:56 -05:00
Slava Pestov a74de80bb0 ui.backend.cocoa.views: unregister window from notification instead of in -dealloc, fixing flakiness of show-listener/show-browser words 2010-06-19 18:12:56 -04:00
Slava Pestov 1a94ce5927 ui.tools.error-list: fix breakage if image is saved and restored with an open error list 2010-06-18 22:03:37 -04:00
Joe Groff bcf6d83a8f stack-checker.errors.prettyprint: refer to unbalanced-branches quotation in singular when there's only one 2010-06-18 15:36:03 -07:00
Joe Groff 28a56df0da math.quaternions: typo in n*q 2010-06-17 19:23:52 -07:00
Doug Coleman c53a11bef9 Merge branch 'master' of github.com:erg/factor 2010-06-17 13:27:44 -05:00
Doug Coleman 82f38ce9a1 Allow with-*-group/user to be a no-op if first parameter is f 2010-06-17 13:20:51 -05:00
Doug Coleman 27af7ffe50 Throw an error on certain combinators if a user/group does not exist 2010-06-17 12:59:19 -05:00
Doug Coleman 30b81d3a87 Merge branch 'master' of github.com:erg/factor 2010-06-17 11:12:25 -05:00
Doug Coleman e18bde069e Clearer <pipes> word 2010-06-17 11:02:47 -05:00
Slava Pestov e34a736b63 tools.disassembler.udis: fix tests on 32-bit Windows 2010-06-17 02:04:59 -04:00
Doug Coleman eb3775c70f Implement gmt hook on unix 2010-06-17 00:04:53 -05:00
Doug Coleman e8d528ad93 Remove system_micros from vm, implement gmt hook on windows 2010-06-16 23:39:16 -05:00
Doug Coleman 11d20228f1 Implement set-time on Windows 2010-06-16 17:42:15 -05:00
Doug Coleman d487a4b045 Merge branch 'master' of http://factorcode.org/git/factor 2010-06-16 16:48:04 -05:00
Doug Coleman 6a501d4aa3 Add a promise to world objects that gets fulfilled when the world is ungrafted 2010-06-16 16:23:30 -05:00
Doug Coleman d41feef57c Add utility word 2010-06-16 16:23:29 -05:00
Joe Groff 8a770e0534 math.vectors.simd.cords: add regression test for >A 2010-06-16 16:23:29 -05:00
Joe Groff 6dc9e9f108 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-16 16:23:29 -05:00
Doug Coleman ec2b8da7c7 conflicts 2010-06-16 16:23:29 -05:00
Joe Groff 6e9235b54b classes.struct: fix some bugs in binary-zero?, add unit tests 2010-06-16 16:23:29 -05:00
Slava Pestov 71042ccd87 compiler.cfg.ssa: fixing test failures 2010-06-16 16:23:29 -05:00
Slava Pestov b4fcaab607 Add GC maps to ##box, ##box-long-long, ##alien-invoke, ##alien-indirect and ##call-gc; remove ##gc-map instruction 2010-06-16 16:23:28 -05:00
Joe Groff cdea2fa081 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 879e9b268d typed: include value that raised the error in type-mismatch-errors 2010-06-16 16:23:27 -05:00
Joe Groff 62d39d7542 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 0ce4298757 Merge branch 'client-bind' of git://github.com/x6j8x/factor 2010-06-16 17:00:35 -04:00
Sascha Matzke c746b68c28 added doc for with-local-address 2010-06-16 22:54:53 +02:00
Slava Pestov 05dff4425c tools.disassembler.udis: update struct layout for latest udis from git 2010-06-16 16:48:58 -04:00
Joe Groff 15c63aacb9 math.vectors.simd.cords: add regression test for >A 2010-06-15 22:44:15 -07:00
Joe Groff e10d4f39ee 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 5d6816d364 compiler.cfg.ssa: fixing test failures 2010-06-15 17:18:51 -04:00
Daniel Ehrenberg 970f96c8b8 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 b362fe25b1 Fixing infinite loop in loading benchmark.fib4 2010-06-15 13:53:40 -04:00
Daniel Ehrenberg 30cfbc8512 Merge branch 'master' into propagation 2010-06-15 13:26:01 -04:00
Slava Pestov e86f434f26 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 f9bd9efd7c 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 6ce01d0b0d typed: include value that raised the error in type-mismatch-errors 2010-06-14 14:23:55 -07:00
Joe Groff 173880168a 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 c5ff05f9fe Merge branch 'master' of github.com:erg/factor 2010-06-13 20:35:26 -05:00
Doug Coleman 53f679eada Merge branch 'master' of http://factorcode.org/git/factor 2010-06-13 19:59:38 -05:00
Doug Coleman d050ad5906 Add more time bindings 2010-06-13 19:34:18 -05:00
Doug Coleman e718670997 Better name for a word in calendar 2010-06-13 19:34:17 -05:00
Doug Coleman 9840e5e147 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 608eab493a alien.data: fix unit test failure 2010-06-13 19:34:16 -05:00
Joe Groff 0add13c50c alien.data: make binary-zero? public and move it from classes.struct.private 2010-06-13 19:34:16 -05:00
Joe Groff 950f987322 classes.struct: fix some bugs in binary-zero?, add unit tests 2010-06-13 19:34:15 -05:00
Slava Pestov 70b8a74208 vm: have to be extra careful when messing with return addresses 2010-06-13 18:12:57 -04:00
Joe Groff 8c7f740c26 Merge branch 'master' of factorcode.org:/git/factor into clean-winnt-x86-64 2010-06-12 23:52:47 -07:00
Slava Pestov 3f28c0e7f5 vm: context switching needs to scrub the return address 2010-06-12 19:54:31 -04:00
Joe Groff 6a42dab8d5 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 8ed4760b51 cpu.x86: combine 32-bit and 64-bit %dispatch template 2010-06-11 21:52:38 -04:00
Slava Pestov e4d6611070 Merge branch 'for-slava' of git://git.rfc1149.net/factor 2010-06-11 20:10:07 -04:00
Slava Pestov 806e54630a GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
Slava Pestov 3dabdcbdc3 mirrors: rename enumerated-sequence to inspected-sequence 2010-06-11 17:14:15 -04:00
Slava Pestov f2a18c08cb specialized-vectors: add specialized-vectors.mirrors vocab for inspector support 2010-06-11 17:11:21 -04:00
Slava Pestov 4c4a86ee72 alien.data: fix unit test failure 2010-06-11 15:38:57 -04:00
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
Joe Groff 22625469bc sequences.cords: specialize vshuffle-elements to use vshuffle2-elements on cord components 2010-05-14 13:29:37 -07:00
Joe Groff 8f1751cd54 math.vectors.simd.intrinsics: fix scalar fallback for (simd-vshuffle2-elements) 2010-05-14 02:47:39 -07:00
Joe Groff 2744816209 math.vectors, math.vectors.simd: add user-facing vshuffle2 word 2010-05-14 02:47:05 -07:00
Joe Groff 465a1673eb 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 9f9e145819 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 3766abd65e 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 fe30355ec7 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 4a98278720 cpu.x86.32: check for SSE2 on bootstrap since Factor now requires it 2010-05-13 18:25:46 -04:00
Slava Pestov bb87d124c1 compiler: small fixes and cleanups 2010-05-13 02:48:20 -04:00
Joe Groff 8b9f33e040 x11: convert XSupportsLocale return value to factor bool before testing (bug reported by ceninan) 2010-05-12 18:07:33 -07:00
Slava Pestov db2db6a1a6 compiler.cfg.builder.alien: fix for x86-32 2010-05-12 18:07:11 -04:00
Slava Pestov 42b0d456cd Refactor x86-32 stack cleanup logic 2010-05-12 02:09:11 -04:00
Slava Pestov f89b85db7b Temporary fixes for x86-32 until FFI boxing is rewritten 2010-05-12 01:41:49 -04:00
Slava Pestov 0cde5c8fb5 Eliminate compiler.alien 2010-05-11 23:24:47 -04:00
Slava Pestov 1c76c87c5c cpu.x86.64: fix typo 2010-05-11 22:29:46 -04:00
Slava Pestov ee0640f176 Move flatten-c-type to death row so that it can be executed in part 5 2010-05-11 22:26:31 -04:00
Slava Pestov eb802208d1 FFI rewrite part 4: parameter and return value unboxing redesign 2010-05-11 19:11:44 -04:00
Slava Pestov 423f9c607a cpu.ppc: fixes 2010-05-10 17:50:10 -05:00
Slava Pestov 9321f9378a cpu.ppc: update for recent changes -- untested 2010-05-10 02:21:23 -04:00
Slava Pestov 45689dbfe6 compiler: simplify ##unbox-small/large-struct by emitting an ##unbox-any-c-ptr first 2010-05-10 01:38:34 -04:00
Slava Pestov 4478c3a51a FFI rewrite part 3: eliminate ##push-context-stack and ##pop-context-stack 2010-05-10 00:46:29 -04:00
Slava Pestov acfbea3865 compiler.codegen.fixup: remove unused variable 2010-05-10 00:45:48 -04:00
Slava Pestov 7450dcf9ff cpu.x86.32: fix load error 2010-05-09 23:36:57 -04:00
Slava Pestov 7316d41226 FFI rewrite part 2: use ##peek and ##replace instructions to access stack 2010-05-09 23:26:43 -04:00
Slava Pestov 2912f21acc cpu.x86.64.unix: fix load error 2010-05-09 22:15:14 -04:00
Slava Pestov 839e26de3a cpu.x86.32: fix load error 2010-05-09 21:55:21 -04:00
Slava Pestov c211c3e84e FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions 2010-05-09 21:36:52 -04:00
Slava Pestov fa99cc8f0e ui.backend.windows: faster wheel mouse scroll rate 2010-05-07 18:26:16 -04:00