Slava Pestov
74640b7f71
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
eceabbc57e
compiler: new set-special-object intrinsic; more efficient special-object intrinsic
2010-04-01 20:09:14 -04:00
Slava Pestov
d98e752199
compiler: add intrinsic for context-object primitive
2010-03-27 02:56:11 -04:00
Slava Pestov
e6a15c0b33
compiler.tree.propagation: don't constant-fold boa constructors of identity-tuple subclasses
2010-03-26 22:44:56 -04:00
Slava Pestov
560c119cd2
vm: actually use context callstacks when running code
2010-03-26 22:44:43 -04:00
Joe Groff
1d4d6f4ce8
factor code duplication in compiler.cfg.intrinsics.simd.backend
2010-03-20 10:57:04 -07:00
Joe Groff
f82a368602
compiler.cfg.intrinsics.simd.backend: eliminate duplicated work done on successful insn sequence
2010-03-20 02:51:49 -07:00
Joe Groff
ee4913702f
compiler.cfg.intrinsics.simd.backend: use less grotesque metaprogramming to determine simd instruction sequences
2010-03-20 02:16:50 -07:00
Slava Pestov
6aee6b3adc
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
248730d39f
Cleaning up compiler.cfg.ssa.construction
2010-03-17 20:12:10 -04:00
Daniel Ehrenberg
512fe14e4e
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
f24a74f66c
Merge branch 'master' into row-polymorphism
2010-03-10 11:48:41 -08:00
Slava Pestov
7744559a46
compiler.tree.propagation: clean up
2010-03-10 15:15:49 +13:00
Daniel Ehrenberg
8e227bc874
Propagation tracks length just like any other read-only slot
2010-03-09 15:58:44 -05:00
Joe Groff
bcbc7632c6
fix stack effects in compiler tests
2010-03-08 23:46:20 -08:00
Joe Groff
191ac353fd
generalize stack effects so we can bootstrap with the stricter stack effect checking
2010-03-08 23:38:10 -08:00
Joe Groff
af57d4dfa9
fix ... in compiler.cfg.linearization
2010-03-05 14:27:58 -08:00
Joe Groff
a3033e885a
make effect variables part of effect syntax, stored out of band in effect tuple
2010-03-05 13:30:10 -08:00
Daniel Ehrenberg
e3481a7ed7
compiler.cfg.def-use uses sets
2010-03-02 19:23:34 -05:00
Daniel Ehrenberg
1e5f202998
Maing vocabs.hierarchy use sets; modifying alias analysis's use of sets
2010-02-28 22:55:22 -05:00
Daniel Ehrenberg
1217dc9c6e
Making alias analysis use sets
2010-02-28 22:42:10 -05:00
Daniel Ehrenberg
434605c0b5
Changing some uses of prune to use members
2010-02-27 13:14:03 -05:00
Daniel Ehrenberg
7cd3360cdd
Fixing ambiguity between sets and namespaces in many unit tests and furnace.auth
2010-02-26 17:17:40 -05:00
Daniel Ehrenberg
6298203b4c
Making all of basis and extra unambiguous for sets/namespaces
2010-02-26 16:28:38 -05:00
Daniel Ehrenberg
7074979745
Moving new-sets to sets
2010-02-26 16:01:01 -05:00
Daniel Ehrenberg
a72e2cc96c
Finishing converting compiler.cfg.ssa.construction.tdmsc to new-sets
2010-02-26 13:53:20 -05:00
Daniel Ehrenberg
73a990a4b8
Making it fast to create a new hashset
2010-02-26 13:24:26 -05:00
Daniel Ehrenberg
b76c82048d
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
a3c168cb5e
Merge branch 'master' of git://factorcode.org/git/factor into bags
2010-02-26 10:00:57 -05:00
Joe Groff
4cfa1a6c77
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
ae25cfe712
Get foldable and flushable declarations working on typed words
2010-02-24 00:16:55 +13:00
Slava Pestov
eb3f8632dd
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
6501480a0e
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
04878057af
Compiler.cfg.{dce,linearization} use new-sets
2010-02-16 15:48:07 -06:00
Daniel Ehrenberg
30cc248bb3
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
b963d56aac
compiler.tree.escape-analysis: fix bug that comes up when inheritance is used
2010-02-16 14:44:13 +13:00
Slava Pestov
64a37d2db6
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
a118f208dc
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
57ba1aff60
compiler.tree.propagation.inlining: remove some unused words
2010-02-11 16:29:48 +13:00
Slava Pestov
35acd71551
compiler.units: fix bug that came up recently with nested compilation units
2010-02-04 03:20:48 +13:00
Slava Pestov
8d3c11c176
compiler: remove some unnecessary complexity
2010-02-04 01:36:52 +13:00
Slava Pestov
c011380a19
compiler: tweak recompilation logic. speeds up '"terrain" require' by 8 seconds
2010-02-04 01:09:57 +13:00
Slava Pestov
662eba7a67
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
7de81976a5
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
3259ef4bec
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
55a89ec9c2
Better error message for call( when quotation has the wrong effect
2010-02-03 23:11:25 +13:00
Slava Pestov
df55fed478
generic: rename method-body predicate class to method
2010-02-03 23:11:24 +13:00
Slava Pestov
b7fde7af27
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
bf05a901c4
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
e7de95e72b
compiler.crossref: clean up and fix bug with forgotten classes
2010-02-01 17:20:08 +13:00