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
1b6e6915ac
cpu.*: float-on-stack? word never used
2016-08-08 10:29:17 +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
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
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
John Benediktsson
c44aaf58be
cpu.ppc: remove use of with-scope in favor of locals.
2015-06-15 09:11:03 -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
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
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
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
52d3affeb8
compiler.cfg.*: the ##alien-assembly instruction does not use a gc-map
2014-12-08 18:13:46 -08:00
John Benediktsson
44f31ee13e
use swapd instead of [ swap ] dip.
2014-11-21 11:56:17 -08:00
Joe Groff
943596575a
use radix literals
2011-11-23 19:03:40 -08:00
Doug Coleman
94db86a6db
Make "foo.private" require load foo instead.
...
Move require from vocabs.loader to vocabs. Update everything.
Fixes #201 .
2011-11-02 11:50:03 -07:00
Doug Coleman
0d059e0f19
Found a few more places to use lookup-c-type
2011-10-24 15:58:40 -07:00
Slava Pestov
69419dba26
cpu.ppc: add 'not loaded' tags so that load-all doesn't break an x86 image
2011-08-24 23:52:02 -07:00
Erik Charlebois
64252dbdbc
32 and 64 bit Linux PPC support
2011-05-23 23:36:14 -04:00
Slava Pestov
d2dd184d58
Officially drop PowerPC port
2010-08-15 20:10:11 -07:00
Slava Pestov
e27adb2830
compiler: re-architect low-level optimizer to allow more than one output value per instruction
2010-07-13 07:40:14 -04:00
Slava Pestov
6eaf2d7534
cpu.x86: add x87 codegen for Model T enthusiasts
2010-05-17 11:35:47 -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
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
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
c211c3e84e
FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions
2010-05-09 21:36:52 -04:00
Slava Pestov
627295f094
Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)
2010-05-06 17:21:02 -04:00
Slava Pestov
020c011d00
cpu.ppc: add missing cases to ##load/store-memory instructions
2010-05-05 13:37:25 -04:00
Slava Pestov
f3ea9288df
cpu.ppc: updating optimizing compiler backend for recent changes
2010-05-04 05:51:54 -05:00
Slava Pestov
92a4b5ec7b
cpu.ppc.assembler: new opcodes: LFDUX LFDX LFSUX LFSX STFDUX STFDX STFSUX STFSX
2010-05-04 05:47:21 -05:00
Slava Pestov
86d89f3ff7
cpu.ppc: fixing typos in non-optimizing backend
2010-05-03 22:43:51 -04:00
Slava Pestov
bb3cea31ea
cpu.ppc: updates for recent compiler changes, untested
2010-05-03 18:28:31 -04:00
Slava Pestov
a9ccfa8f05
strings: move string-nth primitive out of the VM and into the library
2010-05-03 17:34:12 -04:00
Slava Pestov
279eb461b1
compiler.cfg: remove ##set-string-nth-fast instruction since it can be expressed just as efficiently using other instructions
2010-05-03 17:34:04 -04:00
Slava Pestov
503c0fcfde
compiler: Start using tagged-rep for stuff, and split up compiler.cfg.representations into several sub-vocabularies
2010-05-03 17:34:01 -04:00
Slava Pestov
d88aeb80d9
cpu.ppc: fix breakage caused by ##compare-imm change
2010-04-19 01:40:16 -05:00
Slava Pestov
2517b2fc2b
compiler: combine ##load-constant followed by ##alien-double into a ##load-double on x86-32, saving an integer register
2010-04-18 21:42:45 -05:00
Slava Pestov
da6bcbedfc
Replace 'untested' tag with 'not loaded' and 'not tested' tags
2010-04-13 18:43:01 -07:00
Slava Pestov
1434a305c8
vm: add a new rc-absolute-1 relocation class to allow storing values in 8-bit operands, and optimized code sequences for inline caches using this
2010-04-12 14:22:41 -07:00
Joe Groff
3e0d86f355
Merge branch 'master' of git://factorcode.org/git/factor into abi-symbols
...
Conflicts:
basis/compiler/tests/alien.factor
2010-04-06 12:30:15 -07:00
Joe Groff
88fbcba067
flatten non-integral types to (stack-value) on x86.32
2010-04-01 20:56:43 -07:00
Slava Pestov
044171e6b9
cpu.ppc: fix optimizing compiler backend
2010-04-01 21:41:13 -05:00
Slava Pestov
2cab0bb86c
cpu.ppc: stick old stack pointer in a register for use by callbacks
2010-04-01 22:39:46 -04:00
Slava Pestov
eceabbc57e
compiler: new set-special-object intrinsic; more efficient special-object intrinsic
2010-04-01 20:09:14 -04:00
Joe Groff
ef884ef7f2
Merge branch 'master' into abi-symbols
2010-04-01 15:28:36 -07:00
Joe Groff
4fd61f0b5c
cpu.architecture: alter param-regs to take abi as an (ignored for now) argument
2010-04-01 02:53:40 -07:00