Slava Pestov
cdc4fb3b62
Get green threads working on Windows
...
- store stack base and limit in TIB
- set up a frame-based structured exception handler in each context's callstack
- boot.x86.32.image has now been replaced by boot.winnt-x86.32.image and boot.unix-x86.32.image
2010-04-03 20:24:33 -04:00
Slava Pestov
4f585f991d
compiler: new set-special-object intrinsic; more efficient special-object intrinsic
2010-04-01 20:09:14 -04:00
Slava Pestov
b84b1423d9
compiler: add intrinsic for context-object primitive
2010-03-27 02:56:11 -04:00
Slava Pestov
6b337d8bc6
compiler.tree.propagation: don't constant-fold boa constructors of identity-tuple subclasses
2010-03-26 22:44:56 -04:00
Slava Pestov
adeb6fb68f
vm: actually use context callstacks when running code
2010-03-26 22:44:43 -04:00
Joe Groff
ce605b2739
factor code duplication in compiler.cfg.intrinsics.simd.backend
2010-03-20 10:57:04 -07:00
Joe Groff
6e1a424614
compiler.cfg.intrinsics.simd.backend: eliminate duplicated work done on successful insn sequence
2010-03-20 02:51:49 -07:00
Joe Groff
15a7e9ef54
compiler.cfg.intrinsics.simd.backend: use less grotesque metaprogramming to determine simd instruction sequences
2010-03-20 02:16:50 -07: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
Daniel Ehrenberg
8530ba467e
Cleaning up compiler.cfg.ssa.construction
2010-03-17 20:12:10 -04:00
Daniel Ehrenberg
1b61e2e5cf
Merge branch 'bags' of git://github.com/littledan/Factor
...
Conflicts:
basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor
basis/furnace/auth/auth.factor
basis/stack-checker/backend/backend.factor
2010-03-16 13:28:00 -04:00
Joe Groff
c4f50b982a
Merge branch 'master' into row-polymorphism
2010-03-10 11:48:41 -08:00
Slava Pestov
0c94d75efe
compiler.tree.propagation: clean up
2010-03-10 15:15:49 +13:00
Daniel Ehrenberg
bff3da2833
Propagation tracks length just like any other read-only slot
2010-03-09 15:58:44 -05:00
Joe Groff
13cf49c45c
fix stack effects in compiler tests
2010-03-08 23:46:20 -08:00
Joe Groff
d4a0a69eb1
generalize stack effects so we can bootstrap with the stricter stack effect checking
2010-03-08 23:38:10 -08:00
Joe Groff
8d274e851a
fix ... in compiler.cfg.linearization
2010-03-05 14:27:58 -08:00
Joe Groff
8a36d57505
make effect variables part of effect syntax, stored out of band in effect tuple
2010-03-05 13:30:10 -08:00
Daniel Ehrenberg
70c90c04fe
compiler.cfg.def-use uses sets
2010-03-02 19:23:34 -05:00
Daniel Ehrenberg
84d6cf5d7b
Maing vocabs.hierarchy use sets; modifying alias analysis's use of sets
2010-02-28 22:55:22 -05:00
Daniel Ehrenberg
d797e8d29e
Making alias analysis use sets
2010-02-28 22:42:10 -05:00
Daniel Ehrenberg
bf73129238
Changing some uses of prune to use members
2010-02-27 13:14:03 -05:00
Daniel Ehrenberg
2b5af07494
Fixing ambiguity between sets and namespaces in many unit tests and furnace.auth
2010-02-26 17:17:40 -05:00
Daniel Ehrenberg
142f530f1b
Making all of basis and extra unambiguous for sets/namespaces
2010-02-26 16:28:38 -05:00
Daniel Ehrenberg
0f0571e48a
Moving new-sets to sets
2010-02-26 16:01:01 -05:00
Daniel Ehrenberg
ab81eb7054
Finishing converting compiler.cfg.ssa.construction.tdmsc to new-sets
2010-02-26 13:53:20 -05:00
Daniel Ehrenberg
8b219ef472
Making it fast to create a new hashset
2010-02-26 13:24:26 -05:00
Daniel Ehrenberg
9943f225d9
Making propagation and tuple.parser refer to new-sets; adding some missing features from sets into new-sets
2010-02-26 12:07:37 -05:00
Daniel Ehrenberg
232f90443f
Merge branch 'master' of git://factorcode.org/git/factor into bags
2010-02-26 10:00:57 -05: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
daf2e5270c
Get foldable and flushable declarations working on typed words
2010-02-24 00:16:55 +13: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
Daniel Ehrenberg
fd7bcd35ea
Compiler.cfg.{dce,linearization} use new-sets
2010-02-16 15:48:07 -06:00
Daniel Ehrenberg
ef281f1921
Bit sets use new new set protocol, and compiler.cfg.ssa.construction.tdmsc is updated for it
2010-02-16 15:14:32 -06:00
Slava Pestov
4fa46fba2d
compiler.tree.escape-analysis: fix bug that comes up when inheritance is used
2010-02-16 14:44:13 +13:00
Slava Pestov
6bf88d104b
compiler.tree.propagation.transforms: tweak 2^ transform to fix performance regression in benchmark.beust2; introduced by 47d6507548
2010-02-16 01:03:09 +13:00
Slava Pestov
4cc907e1af
compiler.tree.propagation, compiler.tree.escape-analysis: make these passes handle constants in a more robust way in compilation units involving tuple reshaping
2010-02-12 02:50:59 +13:00
Slava Pestov
fd11ad30dc
compiler.tree.propagation.inlining: remove some unused words
2010-02-11 16:29:48 +13:00
Slava Pestov
410c501b76
compiler.units: fix bug that came up recently with nested compilation units
2010-02-04 03:20:48 +13:00
Slava Pestov
80f604ac73
compiler: remove some unnecessary complexity
2010-02-04 01:36:52 +13:00
Slava Pestov
ffa3223f87
compiler: tweak recompilation logic. speeds up '"terrain" require' by 8 seconds
2010-02-04 01:09:57 +13:00
Slava Pestov
ca9852b541
compiler.tree.propagation.call-effect: hack so that call( doesn't clear the last error
2010-02-03 23:11:33 +13:00
Slava Pestov
edbb980e3f
Revert "macros: macro body is now defined in its own subword, for compile-time stack effect checking"
...
This reverts commit 24de7c52f0c3f21cfcdb80235cac7296b0401c85.
2010-02-03 23:11:29 +13:00
Slava Pestov
d19709c188
vm: modify-code-heap primitive now takes a pair of parameters, update-existing? and reset-pics?. If no generic words were changed, PICs do not need to be reset. If no existing words were redefined, the code heap doesn't have to be traced at all. Speeds up compilation of PEGs since those create lots of compilation units
2010-02-03 23:11:28 +13:00
Slava Pestov
c3f66d49a3
Better error message for call( when quotation has the wrong effect
2010-02-03 23:11:25 +13:00
Slava Pestov
29e1d268b7
generic: rename method-body predicate class to method
2010-02-03 23:11:24 +13:00
Slava Pestov
0ff526f478
macros: macro body is now defined in its own subword, for compile-time stack effect checking
2010-02-03 23:11:22 +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
eec325b4a6
compiler.crossref: clean up and fix bug with forgotten classes
2010-02-01 17:20:08 +13:00