Commit Graph

867 Commits (1a1e95f6695d7e15e61895a305ec5edad5f6dbc4)

Author SHA1 Message Date
Björn Lindqvist a36c0cb5ac compiler.*: moving all words only relevant for testing to compiler.test 2016-08-12 15:13:51 +02:00
Björn Lindqvist 1c94c60541 cpu.*: new generic word enable-cpu-features
The word is used during bootstrap to enable available cpu specific
intrinsics.
2016-08-12 11:41:45 +02:00
Björn Lindqvist 24a02a1c8f compiler.*: Backend implementation of varargs
It is turned off by default. Support for using it coming soon. :)
2016-08-08 12:02:19 +02:00
Björn Lindqvist ceb0f61c2b cpu.architecture: new docs 2016-08-08 10:37:50 +02:00
Björn Lindqvist 1b6e6915ac cpu.*: float-on-stack? word never used 2016-08-08 10:29:17 +02:00
Björn Lindqvist 86274c895e cpu.x86.*: improved varargs support
Now on the x86.64 platform, we set the AL register to contain the nr of
floating point values passed to the function as required by the abi.
2016-08-02 23:14:37 +02:00
Björn Lindqvist 06319ac58d cpu.*: removes the vector-regs hook
It is not needed for now as float-regs are always used for vector-reps.
2016-08-01 21:52:05 +02:00
Björn Lindqvist 9bbe8a8c29 cpu.*: the %loop-entry word is unused 2016-08-01 21:52:05 +02:00
Alexander Iljin 2fd5654473 Add EOL at EOF for all authors.txt files for consistency
In some instances replaced CR/LF with LF.
2016-07-30 09:25:30 -07:00
Björn Lindqvist b2ed71ec7f cpu.x86.*: fix %prepare-var-args
EAX EAX XOR over RAX shaves off one byte
2016-07-30 00:07:26 +02:00
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 5733d98236 cpu.x86.sse: removing an unused word 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 5b3933e2e4 cpu.x86: xor rax, rax -> xor eax, eax
The latter should be equivalent in all ways, but its encoding is one
byte shorter.
2016-05-20 13:38:42 +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 0fc8fb22ca cpu.x86,bootstrap.assembler.*: making sure 0 is the relocation dummy value everywhere
In some places it was 0xffffffff, but it should always be 0 MOV for
consistency.
2016-05-19 22:43:52 +02:00
Björn Lindqvist 274a0174fd cpu.x86: use INC and DEC in favor of ADD reg, 1 and SUB reg, 1
The encoding for INC reg and DEC reg is one byte shorter so using it
shaves of a few bytes from the generated code.
2016-05-08 18:44:31 +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
Björn Lindqvist 00fdb837fa cpu.x86: better code without locals 2016-04-22 12:59:21 +02:00
Jon Harper cb6ddb1735 rename math.statistics:cum-map to sequences:accumulate* 2016-03-08 13:41:54 -08:00
Björn Lindqvist 7247906bf8 vm: remove vm-field-offset and context-field-offset
Shorter to just write "vm offset-of" and "context offset-of"
2015-12-14 09:29:18 +01:00
Björn Lindqvist f692200547 compiler.cfg.*: refactoring which removes spill-area-size and
spill-area-align from cfg

This makes the code for building the stack frame simpler.
2015-11-04 07:53:19 +01:00
Björn Lindqvist c5b92cedcb compiler.*: even more compiler docs 2015-09-22 08:52:59 +02:00
John Benediktsson e477f6996f Fix comments to be ! not #!. 2015-09-08 16:15:10 -07:00
John Benediktsson f6a9175b2e cpu.x86.features: use <c-array>. 2015-08-15 21:37:55 -07:00
Doug Coleman 38f3450519 compiler: fix D. 2015-08-13 18:15:25 -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 330c7ba156 factor: Removing SLOT: nth/at/global in favor of using change: at for tuple slots named ``at`` and change-at for hashtables.
Redo many FROM: and QUALIFIED: and using lists.
2015-08-12 08:49:02 -05:00
Björn Lindqvist 1b6fa50ff2 cpu.x86: define %alien-invoke and %alien-indirect using %alien-assembly 2015-07-28 17:58:28 -07:00
Björn Lindqvist 5e29aac0a6 Docs: various more compiler-related docs 2015-07-28 17:58:28 -07:00
John Benediktsson 255b4fc823 cpu.x86: fix article title help-lint. 2015-07-21 17:55:52 -07:00
Björn Lindqvist e41aef9a50 cpu.x86: use push and pop when emitting %prologue and %epilogue
push/pop REG has the same effect as sub/add rsp, 8 so use them instead
when applicable to generate a little shorter code
2015-07-21 16:22:33 -07:00
Björn Lindqvist 80ea6b8997 compiler.*: fix the tests that broke because i removed the stack-frame variable 2015-07-21 13:40:49 +02:00
Doug Coleman eca8b7e49c core: fix docs 2015-07-20 01:01:31 -07:00
John Benediktsson c25fb5f55e update some more MACRO: effects. 2015-07-19 11:42:46 -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
John Benediktsson 621b50a8e5 cpu: enable bit-test intrinsic for fixnum-bit?. 2015-06-17 19:11:10 -07:00
Björn Lindqvist 3678f62508 x86.64: change the register order so that RBX is allocated before RCX 2015-06-16 18:28:32 -07:00
John Benediktsson c44aaf58be cpu.ppc: remove use of with-scope in favor of locals. 2015-06-15 09:11:03 -07:00
John Benediktsson 255b60ef8d cpu.x86: remove use of with-scope in favor of locals. 2015-06-15 09:10:52 -07:00
Björn Lindqvist f37ab939f0 compiler.*: more compiler docs 2015-06-14 16:44:37 +02:00