Commit Graph

89 Commits (eb46e23eabe2ee65f4560c0bfbf49aadfa3b1916)

Author SHA1 Message Date
Björn Lindqvist 12d91ef72a cpu.*: more docs 2016-05-25 19:21:55 +02:00
Björn Lindqvist 97c10cc0f1 cpu.x86.*: faster versions of the X-bit-version-of words
It should make the %load-immediate word a bit faster.
2016-05-25 19:21:55 +02:00
Björn Lindqvist 9fac53989a cpu.x86.assembler: zero-extension can work on the TEST instruction too 2016-05-24 14:37:20 +02:00
Björn Lindqvist 076a978be0 cpu.x86.assembler: fix help-lint problem 2016-05-23 02:26:28 +02:00
Björn Lindqvist 973606b5e2 cpu.x86.assembler: enable zero extension for AND with small immediates 2016-05-20 12:42:27 +02:00
Björn Lindqvist 4230d2502a cpu.x86.assembler: MOV zero extension for small immediates (#1593)
Instructions eg: mov rax, 123 can be equivalent mov eax, 123 which are
shorter.
2016-05-19 23:02:48 +02:00
Björn Lindqvist 5a2e1c953e cpu.x86.assember: add INC and DEC instructions to the assembler 2016-05-08 18:43:51 +02:00
Björn Lindqvist a6f159eb17 cpu.x86.assembler: fix small help-lint problem 2016-04-22 18:10:59 +02:00
Björn Lindqvist 3177e7851c cpu.*: more docs 2016-04-22 13:00:46 +02:00
John Benediktsson e477f6996f Fix comments to be ! not #!. 2015-09-08 16:15:10 -07:00
John Benediktsson ceb75057da change ERROR: words from throw-foo back to foo. 2015-08-13 16:13:05 -07:00
Doug Coleman b6be8685c3 basis: ERROR: changes. 2015-08-13 03:20:39 -07:00
Doug Coleman 4ec2311406 factor: Trim whitespace after ! comments and a few USING: lines that got skipped before. 2015-07-18 20:14:22 -07:00
Doug Coleman 892c62e1dc factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test 2015-07-03 09:39:59 -07:00
Doug Coleman 59f3b1ea57 Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
Needs a bit more work.

This reverts commit 7e54cc2824.
2015-07-02 13:47:06 -07:00
Doug Coleman 7e54cc2824 factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool! 2015-07-02 11:36:08 -07:00
Doug Coleman 6e60c811ac core: Rename create to create-word, create-in to create-word-in. 2015-06-08 12:47:35 -07:00
Benjamin Pollack 2c3dd8c3c8 Remove executable bit from tons of files that aren't 2014-11-05 20:40:42 -08:00
John Benediktsson 465aa8786f cpu.x86.assembler.operands: fix help-lint. 2014-10-20 09:24:20 -07:00
Björn Lindqvist 5152c49eb3 cpu.*: docs and tests for words in the assembler 2014-10-19 13:40:41 +02:00
Björn Lindqvist 280620c55f Docs: docs for compiler-related words 2014-06-08 11:48:31 -07:00
Björn Lindqvist 5bccede3b6 Docs: docs for compiler.* and cpu.* words 2014-05-10 17:13:49 -07:00
Doug Coleman ed83c87554 cpu.x86: Add ghetto RDRAND support. Proper support wouldn't use alien-assembly and would take a count parameter. 2012-09-20 11:54:44 -07:00
Doug Coleman 1897f5fb4a cpu.x86.assember: Add RDMSR for completeness, but it can't be called from user code. Factor kernel modules? 2012-09-19 10:11:36 -07:00
John Benediktsson d1f3b326e5 math: using if-zero in more places. 2012-06-18 14:32:39 -07:00
Joe Groff 943596575a use radix literals 2011-11-23 19:03:40 -08:00
Joe Groff 4ef2a9b4f0 cpu.x86.assembler: PUSHF, POPF instructions 2011-11-04 11:23:11 -07:00
Joe Groff 1386212d23 vm: dispatch signal handlers through subprimitive
We also need to save C ABI volatile registers before calling the signal handler in order to be able to reliably resume. Add signal-handler and leaf-signal-handler subprimitives to preserve volatile registers before invoking the signal handler C function.
2011-10-27 21:18:18 -07:00
Joe Groff ae1a903c4e cpu.x86.assembler: add MOVABS instruction
MOVABS generates the one-byte opcode version of MOV eAX, [absolute] or MOV [absolute], eAX, which saves a byte per safepoint on x86-32.
2011-10-27 21:14:45 -07:00
Doug Coleman 671f19d70f Remove all non-core uses of (scan-token)
Add scan-datum
Add scan-number
Document more words
Fixes #225.
2011-10-02 12:00:08 -07:00
Joe Groff 732befe272 cpu.x86.assembler: add MOVQ xmm, xmm/m64 and MOVQ xmm/m64, xmm instructions 2010-07-08 10:19:11 -07: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 2dde83767c cpu.x86.assembler: fix typo 2010-05-18 17:59:34 -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 6eaf2d7534 cpu.x86: add x87 codegen for Model T enthusiasts 2010-05-17 11:35:47 -04:00
Joe Groff 93abc7d169 cpu.x86.assembler: a choice selection of x87 instructions 2010-05-17 02:02:40 -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
Slava Pestov 652c4c28c6 cpu.x86.assembler: fix test on 64-bit 2010-05-03 20:16:13 -04:00
Slava Pestov 95ff5ffe51 New GC checks work in progress 2010-05-03 17:34:16 -04:00
Slava Pestov 655497b7b4 cpu.x86.assembler: small cleanups 2010-05-03 17:34:15 -04:00
Slava Pestov 6d41d2277f cpu.x86.assembler: support all addressing modes 2010-05-03 17:34:06 -04:00
Slava Pestov c0af678c5b cpu.x86.assembler: add support for absolute addressing on x86-64; [RIP+] now behaves like [] did, and [] now does absolute addressing just like in 32-bit mode 2010-04-04 19:42:57 -04:00
Slava Pestov 7d24459bb8 cpu.x86.assembler: add segment override prefixes 2010-03-31 20:47:13 -04:00
Slava Pestov 95bfc8a240 vocabs.metadata: replace unportable tag with a platforms.txt file for more fine-grained control. Rename unportable tag to untested for remaining cases 2010-02-20 13:30:49 +13:00
Slava Pestov 235f3238f5 Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S 2010-01-07 17:39:22 +13:00
Slava Pestov 36d2ac8921 vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64 2010-01-06 15:47:36 +13:00
Doug Coleman bd13e018dd memq? -> member-eq?, sorted-memq? -> sorted-member-eq? 2009-10-28 15:02:00 -05:00
Slava Pestov 4202211293 cpu.x86: cleanups 2009-09-28 16:38:35 -05:00
Joe Groff 2e8bb98781 cpu.x86.assembler: make SSE shuffle instructions accept an array of indexes so they're easier to use 2009-09-28 11:45:45 -05:00