Commit Graph

638 Commits (f7b7b5afbf419cc8ea06e1c55e21b9bb5a32cecd)

Author SHA1 Message Date
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
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
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
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 255b60ef8d cpu.x86: remove use of with-scope in favor of locals. 2015-06-15 09:10:52 -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
Björn Lindqvist 48e6455186 cpu.x86.*: %mov-vm-ptr isn't so useful, shorter and simpler to write
vm-reg MOV
2015-05-22 12:22:29 -07:00
Björn Lindqvist 6ca83e7588 Reorganising bootstrap files
All the bootstrap.factor scripts in cpu/ are run by the bootstrap to
make boot images, but aren't used otherwise. So I think it's cleaner to
put them in one directory inside the bootstrap hierarchy.
2015-05-22 12:22:24 -07:00
Björn Lindqvist 6c43475183 cpu.x86: fix silly bug in %clear 2015-05-18 06:52:49 +02:00
Björn Lindqvist 9ceea3c241 compiler.*: new cfg instruction ##clear, it makes it easier to see where
the compiler.cfg.stacks.clearing pass inserts extra instructions
2015-05-17 07:59:34 +02:00
Björn Lindqvist 655faadec9 compiler.*: now when we're tracking uninitialized locations instead of
initialized ones, the height slot isn't needed on ##call anymore
2015-05-17 07:59:34 +02:00
John Benediktsson e1d18579e7 cpu/stack-checker: fix some help-lint warnings. 2015-05-10 10:13:57 -07:00
Björn Lindqvist 0c2559ef6e compiler.*: a bunch more compiler docs 2015-05-09 20:04:22 -07:00
Björn Lindqvist 8df92abeb9 compiler.*,cpu.*: add a height slot to ##call nodes, then other compiler
passes can much easier to accurate liveness analysis on stack locations
2015-05-09 20:04:22 -07:00
Björn Lindqvist 92165e4ee7 Docs: bunch of smaller documentation fixes for various vocabs 2015-04-29 09:31:54 -07:00
Björn Lindqvist ded3760d46 compiler.*: merge of ##inc-r and ##inc-d into one instruction ##inc with a loc slot
this is nice because it leads to simpler code and matches how ##peek and ##replace instructions work
2015-04-29 09:31:53 -07:00
Björn Lindqvist ba6accb983 cpu.x86.tests: more tests 2014-12-08 18:13:46 -08:00
Björn Lindqvist 52d3affeb8 compiler.cfg.*: the ##alien-assembly instruction does not use a gc-map 2014-12-08 18:13:46 -08:00
John Benediktsson a5e7176ec7 cpu.x86: "dup pop* push" is just "set-last". 2014-11-30 08:28:19 -08:00
John Benediktsson 44f31ee13e use swapd instead of [ swap ] dip. 2014-11-21 11:56:17 -08:00
Doug Coleman 9ff6d2d49c cpu.x86.64: 64-bit register is RDX not EDX. Fixes #1191. 2014-11-07 22:03:12 -08: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 83cf4b9d57 compiler,cpu: more docs 2014-10-17 23:18:57 +02:00
Björn Lindqvist 1225abeeaf Docs: more compiler-related documentation 2014-08-13 11:01:10 -07:00
Björn Lindqvist 280620c55f Docs: docs for compiler-related words 2014-06-08 11:48:31 -07:00
Björn Lindqvist cf8de7cc1a Docs: for cpu.x86 2014-06-08 11:48:30 -07:00
Björn Lindqvist e2eebdec4d Docs: mostly fixes for doc errors found by help lint 2014-05-10 17:13:49 -07:00
Björn Lindqvist 5bccede3b6 Docs: docs for compiler.* and cpu.* words 2014-05-10 17:13:49 -07:00
Björn Lindqvist 6626cd24a1 Docs: docs for cpu.* vocabs 2014-05-10 17:13:48 -07:00
Björn Lindqvist d074f1a9c9 Docs: for cpu.x86.* words 2014-05-10 17:13:48 -07:00
Doug Coleman 262eb73ea6 basis: Re-enable some things I commented out. Fixes #22. Thanks @ajvondrak! 2012-12-31 11:48:30 -08:00
Doug Coleman a0dd953e33 starting point - Fix bootstrap; I broke it in merging. Disable environment variables because the compiler isn't loaded yet and can't call C ffi functions, and tools.test loads this vocab.
Disable intrinsics in cpu.x86.64 for now, since they invoke the compiler
Fix ##branch renaming to ##branch,
To work on this branch:
./factor -include=math -i=boot.image
./factor -run=listener
USE: compiler USE: tools.test save
enable-optimizer

Error message is now:
T{ vregs-shouldn't-interfere f 409 424 }
2012-12-31 11:03:45 -08:00
Doug Coleman 3582a6c624 kernel: Add 4dup, 4drop, and 4cleave. 2012-10-22 09:47:34 -07:00
John Benediktsson 3f947055b4 Revert "cpu.x86.bootstrap: Rice the jit compiler -- SHR SHL -> AND."
This reverts commit f43e2b1ba7.
2012-09-21 10:43:48 -07:00
Doug Coleman 4ee63bea7e cpu.x86.bootstrap: Rice the jit compiler -- SHR SHL -> AND. 2012-09-21 10:18:14 -07:00