Joe Groff
2d96bff203
cpu.x86.32: add load-return-regs methods for stack-params so callbacks can box the struct return pointer
2010-04-01 22:01:10 -07:00
Joe Groff
e23e035b66
flatten non-integral types to (stack-value) on x86.32
2010-04-01 20:56:43 -07:00
Joe Groff
d6ad21bcc6
make "fastcall" symbol private since it doesn't really work in all cases
2010-04-01 18:34:15 -07:00
Joe Groff
c3b7a04b50
update %load-param-reg, %save-param-reg, and %cleanup to take register args into account
2010-04-01 17:36:09 -07:00
Joe Groff
ca9614e746
Merge branch 'master' into abi-symbols
2010-04-01 15:28:36 -07:00
Joe Groff
fbb555b3d3
update M\ int-regs param-regs for x86-32 to give input regs for thiscall/fastcall
2010-04-01 03:35:37 -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
Joe Groff
a0b4e09f60
remove redundant «stdcall?» word from cpu.x86.32
2010-03-31 19:57:29 -07:00
Joe Groff
1d06be5021
"stdcall" -> stdcall
2010-03-31 19:29:04 -07:00
Joe Groff
8655654395
"mingw" -> mingw
2010-03-31 19:28:11 -07:00
Joe Groff
d951be1832
"cdecl" -> cdecl
2010-03-31 19:20:35 -07:00
Slava Pestov
a8eeff7c48
cpu.x86.assembler: add segment override prefixes
2010-03-31 20:47:13 -04:00
Slava Pestov
eb8432061c
cpu.x86.64: eliminate useless instruction from primitive call sequence for a marginal to non-existent gain
2010-03-31 19:32:36 -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
22c7654e78
cpu.x86: remove useless crap from c-to-factor sub-primitive
2010-03-31 15:19:00 -04:00
Slava Pestov
de0c2801d2
threads: delete old contexts immediately instead of handing them off to a 'context recycler' thread
2010-03-30 21:47:48 -04:00
Slava Pestov
2e63c730b6
cpu.x86.bootstrap: fix jit-profiling regression
2010-03-28 08:29:55 -04:00
Slava Pestov
a04d53c3da
set-context and start-context primitives can now pass parameters around
2010-03-27 08:13:57 -04:00
Slava Pestov
f8134b18cd
Implement start-context and set-context primitives
2010-03-27 02:56:11 -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
45ff20f132
cpu.architecture: rep-length now works in deployed images
2010-02-11 18:11:47 +13:00
Slava Pestov
bd13a8d42d
cpu.x86.64: inline cache miss blocks have a prolog generated in the middle of a procedure; undo a recent change to non-optimizing backend to fix random crashes
2010-02-06 18:45:27 +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
b0f09faebf
cpu.x86: fix crashes when using certain features (threads, errors, etc) with profiling enabled on x86-64. The profiling stub was clobbering an argument for the unwind_native_frames() entry point
2010-02-05 20:52:19 +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
83a2de6565
Fix ffi-test library to work with Windows SDK. Turns out MINGW has a different ABI for struct returns than MS's compiler; make the MS ABI the default for cdecl on Windows, and add mingw ABI for libraries that use the MINGW ABI
2010-02-02 04:01:12 -06:00
Slava Pestov
0e0b750e7d
Update Win64 support
2010-01-25 15:39:34 +13:00
Slava Pestov
59f0e7a197
alien.c-types: ensure that long and ulong types are defined with define-primitive-type and not typedef
2010-01-23 00:15:08 +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
Slava Pestov
c0ec950007
cpu.ppc: fix some typos in non-optimizing backend
2010-01-11 14:15:41 +13:00
Slava Pestov
80e64b8379
Store VM object in a register on x86-64
2010-01-11 01:20:32 +13:00
Slava Pestov
5cdf5a72e1
cpu.x86: c-to-factor needs to deal with the fact that vm-reg might have been clobbered
2010-01-09 19:09:48 +13:00
Slava Pestov
b7f4447723
Starting to update PowerPC backend for recent VM changes (untested)
2010-01-08 19:46:27 +13:00
Slava Pestov
85432e99c3
Fix set-callstack primitive on Windows
2010-01-07 19:31:15 +13:00
Slava Pestov
98b296a021
cpu.x86: sse_version was renamed to (sse-version)
2010-01-07 18:30:01 +13:00
Slava Pestov
bbd8f17fad
cpu.x86: add some alien-assembly unit tests
2010-01-07 17:59:17 +13:00
Slava Pestov
1e2c0327ee
Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S
2010-01-07 17:39:22 +13:00
Slava Pestov
927953dad0
cpu.x86: don't have to pass VM pointer to quotations anymore
2010-01-06 23:42:00 +13:00
Slava Pestov
a9f90026df
Update x86-32 for assembly entry point changes
2010-01-06 17:55:20 +13:00