Joe Groff
eee483654a
use radix literals
2011-11-23 19:03:40 -08:00
Doug Coleman
be12f2b27d
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
14a2511d57
Found a few more places to use lookup-c-type
2011-10-24 15:58:40 -07:00
Slava Pestov
238fea7b7e
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
1ed2bc6231
32 and 64 bit Linux PPC support
2011-05-23 23:36:14 -04:00
Slava Pestov
84698985ad
Officially drop PowerPC port
2010-08-15 20:10:11 -07:00
Slava Pestov
f133a5f2be
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
66e9bed2d8
cpu.x86: add x87 codegen for Model T enthusiasts
2010-05-17 11:35:47 -04:00
Slava Pestov
0f5d9d368a
compiler.cfg: refactor stack frame code and fix frame pointer usage in callbacks
2010-05-16 21:04:40 -04:00
Slava Pestov
35bd2bca06
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
5054bb4b25
FFI rewrite part 4: parameter and return value unboxing redesign
2010-05-11 19:11:44 -04:00
Slava Pestov
86d2e3c990
cpu.ppc: fixes
2010-05-10 17:50:10 -05:00
Slava Pestov
a1f113409a
cpu.ppc: update for recent changes -- untested
2010-05-10 02:21:23 -04:00
Slava Pestov
3d66820344
FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions
2010-05-09 21:36:52 -04:00
Slava Pestov
d2d466de29
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
aafdfd58b1
cpu.ppc: add missing cases to ##load/store-memory instructions
2010-05-05 13:37:25 -04:00
Slava Pestov
920d6b1829
cpu.ppc: updating optimizing compiler backend for recent changes
2010-05-04 05:51:54 -05:00
Slava Pestov
030b966adf
cpu.ppc.assembler: new opcodes: LFDUX LFDX LFSUX LFSX STFDUX STFDX STFSUX STFSX
2010-05-04 05:47:21 -05:00
Slava Pestov
bd4b31ffa9
cpu.ppc: fixing typos in non-optimizing backend
2010-05-03 22:43:51 -04:00
Slava Pestov
acfec41df5
cpu.ppc: updates for recent compiler changes, untested
2010-05-03 18:28:31 -04:00
Slava Pestov
fd84bb98bc
strings: move string-nth primitive out of the VM and into the library
2010-05-03 17:34:12 -04:00
Slava Pestov
3c965afd10
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
19412e4ad1
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
1185ab0305
cpu.ppc: fix breakage caused by ##compare-imm change
2010-04-19 01:40:16 -05:00
Slava Pestov
1d7089dc04
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
3b92172115
Replace 'untested' tag with 'not loaded' and 'not tested' tags
2010-04-13 18:43:01 -07:00
Slava Pestov
3a3b50327f
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
3b4f8758b5
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
e23e035b66
flatten non-integral types to (stack-value) on x86.32
2010-04-01 20:56:43 -07:00
Slava Pestov
62eaecdac3
cpu.ppc: fix optimizing compiler backend
2010-04-01 21:41:13 -05:00
Slava Pestov
e330fcb0f9
cpu.ppc: stick old stack pointer in a register for use by callbacks
2010-04-01 22:39:46 -04:00
Slava Pestov
4f585f991d
compiler: new set-special-object intrinsic; more efficient special-object intrinsic
2010-04-01 20:09:14 -04:00
Joe Groff
ca9614e746
Merge branch 'master' into abi-symbols
2010-04-01 15:28:36 -07:00
Joe Groff
ba062c1e5f
cpu.architecture: alter param-regs to take abi as an (ignored for now) argument
2010-04-01 02:53:40 -07:00
Slava Pestov
cab0cadf4d
cpu.ppc: updating optimizing compiler backend for recent changes (untested)
2010-04-01 00:22:10 -04:00
Slava Pestov
9acd33d547
cpu.ppc: non-optimizing compiler backend fixes
2010-04-01 00:21:41 -04:00
Slava Pestov
2aada86da7
cpu.ppc: updating non-optimizing compiler backend for green threads (untested)
2010-03-31 15:19:14 -04:00
Slava Pestov
adeb6fb68f
vm: actually use context callstacks when running code
2010-03-26 22:44:43 -04:00
Slava Pestov
63a18b0e6f
cpu.ppc: fix string c-type usage
2010-02-22 13:18:45 +13:00
Slava Pestov
0aad3e6e12
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
ba7f1c4b2c
cpu.ppc: needs same fix for jit-profiling as on x86-64
2010-02-06 18:45:26 +13:00
Slava Pestov
92a0e50885
cpu.ppc: final fix
2010-02-03 13:37:12 -06:00
Slava Pestov
6cebf9d5a0
cpu.ppc: another fix
2010-02-04 08:19:59 +13:00
Slava Pestov
da35bbb537
cpu.ppc: load fixes
2010-02-04 08:08:31 +13:00
Slava Pestov
af47e5e8d8
Compiled code size optimizations for x86-64 resulting in development image size reduction of about 350kb
...
- RIP-relative LEA is now used to load program counter in prolog and tail calls; saves 3 bytes of code and 4 bytes of relocation information over an immediate MOV
- VM field accesses no longer involve a redundant addition
2010-02-03 23:11:35 +13:00
Slava Pestov
88004434ec
vm: remove primitive table, non-optimizing compiler now looks up primitives with dlsym()
2010-01-19 20:00:33 +13:00
Slava Pestov
0165daf56c
Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types
2010-01-18 20:54:00 +13:00
Slava Pestov
cfadb5994a
PowerPC optimizing compiler backend fixes
2010-01-12 08:02:10 -06:00
Slava Pestov
5ef9fb5473
More PowerPC non-optimizing compiler backend fixes
2010-01-13 03:09:43 +13:00
Slava Pestov
fe11d9f60a
unwind-stack-frames didn't load VM pointer into the VM register on PowerPC and x86-64, and so if C code had clobbered this register it would crash
2010-01-12 16:31:10 +13:00