Commit Graph

876 Commits (76a6235940b7c23597df76193d59ba5593f9d49a)

Author SHA1 Message Date
Doug Coleman baa6af4831 factor: All RENAME: and FROM: and EXCLUDE: to have \foo as word names.
Grab bag of other cleanups. tests and docs parse!
2017-08-31 21:21:14 -05:00
Doug Coleman 15a7484b6f factor: STRING: foo ; to CONSTANT: foo [[ ]] 2017-08-31 21:21:14 -05:00
Doug Coleman 5507c2b676 factor: [let to let[, [| to |[ 2017-08-31 21:21:13 -05:00
Doug Coleman 147ae66ab5 factor: SYNTAX: \foo 2017-08-31 21:21:13 -05:00
Doug Coleman 7c7bb93c55 factor: Rename GENERIC# to GENERIC#:.
Fixes #1670.
2017-06-01 13:58:58 -05:00
Björn Lindqvist cde510d69c cpu.*: docs 2016-11-30 16:36:25 +01:00
Björn Lindqvist 6c73529525 compiler.codegen: we don't need the init-fixup word 2016-11-28 02:04:28 +01:00
Björn Lindqvist 349f99661d compiler.*: Remove the scrubbing part of the GC maps
Instead of generating GC maps which describe which stack locations that
are uninitialized, we emit ##clear instructions for those locations in
front of ##call-gc instructions. This makes the context root scanning
much simpler because the GC can assume that all stack slots are
initialized. It also removes the compiler.cfg.stacks.vacant pass and
seem to reduce the image size slightly because many fewer GC maps needs
to be emitted.
2016-09-11 20:34:44 +02:00
Björn Lindqvist faaa898975 compiler.codegen.*: removing the init-gc-maps word 2016-09-09 18:57:57 +02:00
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