Slava Pestov
|
0f935bfbde
|
compiler.cfg.builder.alien: use ##local-allot to fix value struct passing on Win64
|
2010-05-19 01:53:32 -04:00 |
Slava Pestov
|
84e7076474
|
alien.data: add with-scoped-allocation combinator for stack-allocating C data
|
2010-05-19 00:33:36 -04:00 |
Slava Pestov
|
fbc222a8dc
|
compiler.tests: fix test for generalizations change
|
2010-05-18 23:08:37 -04:00 |
Slava Pestov
|
f6430de98a
|
cpu.x86.x87: compares were clobbering ST0
|
2010-05-18 19:18:53 -04:00 |
Slava Pestov
|
50b43806e8
|
alien.libraries, stack-checker.alien: check user inputs more carefully to ensure that invalid ABI descriptors don't slip through and break random stuff (reported by prunedtree)
|
2010-05-18 18:46:31 -04:00 |
Slava Pestov
|
66e9bed2d8
|
cpu.x86: add x87 codegen for Model T enthusiasts
|
2010-05-17 11:35:47 -04:00 |
Slava Pestov
|
bd55712f82
|
compiler: fix bad unit test
|
2010-05-14 18:37:11 -04:00 |
Slava Pestov
|
db0f40e481
|
compiler: small fixes and cleanups
|
2010-05-13 02:48:20 -04:00 |
Slava Pestov
|
af4e851392
|
FFI rewrite part 2: use ##peek and ##replace instructions to access stack
|
2010-05-09 23:26:43 -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
|
0d14e85cb7
|
compiler: more tests
|
2010-05-04 05:46:45 -05:00 |
Slava Pestov
|
8c099dac43
|
cpu.x86: GC root offsets were computed wrong in words containing alien calls
|
2010-05-04 02:53:53 -04:00 |
Slava Pestov
|
d49032a402
|
compiler.tests: remove useless test from float tests; min and max are generic now, with methods on floats, so any potential inconsistency is gone
|
2010-05-04 00:07:53 -04:00 |
Slava Pestov
|
73c83333f2
|
compiler: remove flat machine representation and generate code directly from the CFG
|
2010-05-03 17:34:32 -04:00 |
Slava Pestov
|
bb0579ecf9
|
Updating tests for recent compiler changes
|
2010-05-03 17:34:30 -04:00 |
Slava Pestov
|
e70c09c690
|
compiler.cfg.linear-scan.assignment: spill slot representation logic was backwards, just like Factor
|
2010-05-03 17:34:29 -04:00 |
Slava Pestov
|
16566506f1
|
compiler.cfg: remove unused 'reps' slot from compiler.cfg, and re-organize things in preparation for SSA register allocation
|
2010-05-03 17:34:18 -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
|
59fe281799
|
compiler.cfg: more flexible addressing for ##slot and ##set-slot
|
2010-05-03 17:34:06 -04:00 |
Slava Pestov
|
becd957d29
|
compiler.cfg: merge all alien accessors into ##load-memory-imm and ##store-memory-imm
|
2010-05-03 17:34:06 -04:00 |
Slava Pestov
|
65e35b842f
|
compiler.tests.low-level-ir: update for recent changes
|
2010-05-03 17:34:04 -04:00 |
Slava Pestov
|
c4cf2a4085
|
compiler: change how 'f' is represented in low level IR to simplify some code, and fuse a ##load-constant of a word with a ##compare into a ##compare-imm on x86-32. This eliminates a spill from binary-search
|
2010-04-18 21:42:45 -05:00 |
Slava Pestov
|
05dba2ba81
|
sequences: remove stupid <flat-slice> word
|
2010-04-17 00:58:30 -05:00 |
Slava Pestov
|
98ff114e52
|
compiler.tests.redefine23: test wasn't testing anything
|
2010-04-13 00:56:48 -07:00 |
Slava Pestov
|
91e8635ccd
|
compiler.tests.alien: fix tests on Win64
|
2010-04-13 01:24:04 -05:00 |
Slava Pestov
|
00a5108b86
|
compiler.tests.alien: get it passing when VM is compiled with MINGW by disabling certain tests and using the MINGW ABI for others, and fix fastcall alien-indirect tests for name decoration
|
2010-04-12 18:14:18 -05:00 |
Slava Pestov
|
8e1afbd650
|
Fixing load errors
|
2010-04-10 17:24:44 -07:00 |
Slava Pestov
|
fa810bc3b4
|
compiler.tests.alien: fix typo
|
2010-04-10 00:41:20 -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
|
e2e562ab05
|
add tests for fastcall callbacks
|
2010-04-02 00:23:39 -07:00 |
Joe Groff
|
8384a9de68
|
test fastcall indirect struct return
|
2010-04-02 00:00:34 -07:00 |
Joe Groff
|
abfaabea5d
|
remove fastcall struct param tests because GCC appears to behave differently from VC++ here and again, who cares
|
2010-04-01 23:54:08 -07:00 |
Joe Groff
|
22bba39a75
|
add tests for struct returns from fastcall
|
2010-04-01 23:52:56 -07:00 |
Joe Groff
|
6d9d5df8e1
|
test indirect fastcalls
|
2010-04-01 23:43:55 -07:00 |
Joe Groff
|
a1ea6729ae
|
compiler.tests.alien: add back fastcall float and struct tests
|
2010-04-01 22:47:16 -07:00 |
Joe Groff
|
5739dbd6bb
|
add a test that multiple stdcalls or fastcalls in the same word behave correctly
|
2010-04-01 18:48:12 -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
|
db1f454cf0
|
retire mixed int/float fastcall tests because who cares
|
2010-04-01 18:25:56 -07: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
|
8c5b45694e
|
check gc after fastcall ffi tests like stdcall tests
|
2010-04-01 14:15:34 -07:00 |
Joe Groff
|
202b62add9
|
typos in ffi tests
|
2010-04-01 03:02:36 -07:00 |
Joe Groff
|
7296e27e23
|
add fastcall functions to ffi tests
|
2010-04-01 02:22:42 -07:00 |
Joe Groff
|
1d06be5021
|
"stdcall" -> stdcall
|
2010-03-31 19:29:04 -07:00 |
Joe Groff
|
d951be1832
|
"cdecl" -> cdecl
|
2010-03-31 19:20:35 -07:00 |
Slava Pestov
|
adeb6fb68f
|
vm: actually use context callstacks when running code
|
2010-03-26 22:44:43 -04:00 |
Slava Pestov
|
af573bd022
|
Add context-specific special object table, generalizing catchstack_save and current_callback_save fields of context struct
|
2010-03-18 22:06:00 +13:00 |
Joe Groff
|
13cf49c45c
|
fix stack effects in compiler tests
|
2010-03-08 23:46:20 -08:00 |
Joe Groff
|
96ab4492d2
|
rename current string-mangling "char*" to "c-string". char* is now just a boring old pointer to char
|
2010-02-23 11:42:02 -08:00 |
Slava Pestov
|
ad951c85ae
|
stack-checker.alien: now that C types are words, the compiler can add dependencies on them when compiling alien words. This triggers the necessary recompilation when C types are redefined
|
2010-02-22 21:32:41 +13:00 |
Slava Pestov
|
58d035f1c7
|
Fix two problems with recompilation: predicate constant folding was recording unsatisfied dependencies in some cases, and literal tuple instances of forgotten classes would cause problems for method inlining
|
2010-02-20 12:01:47 +13:00 |