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
|
ba062c1e5f
|
cpu.architecture: alter param-regs to take abi as an (ignored for now) argument
|
2010-04-01 02:53:40 -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
|
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 |
Slava Pestov
|
7f664a6387
|
Fix a couple of unit tests that were relying on the old compiler crossref structures
|
2010-01-31 23:26:55 +13:00 |
Slava Pestov
|
8a8c47ab1d
|
compiler.cfg.intrinsics.simd: ignore dummy assert-positive word
|
2010-01-31 18:19:14 +13:00 |
Slava Pestov
|
8f763fe8da
|
Merge git://github.com/littledan/Factor into littledan
|
2010-01-31 02:54:58 +13:00 |
Slava Pestov
|
8e2e869ec5
|
stack-checker.dependencies: make conditional dependencies more robust
|
2010-01-31 01:55:35 +13:00 |
Slava Pestov
|
5753d76c98
|
compiler.crossref: word props were stored the wrong way round
|
2010-01-30 22:33:27 +13:00 |
Slava Pestov
|
351c68094c
|
compiler.crossref: cleanup
|
2010-01-30 21:14:40 +13:00 |
Slava Pestov
|
93c2428cf4
|
compiler.crossref: more space-efficient storage of dependency information
|
2010-01-30 09:29:02 +13:00 |
Slava Pestov
|
39aa70aa88
|
Clean up some code in preparation for a refactoring
|
2010-01-30 09:29:02 +13:00 |
Slava Pestov
|
9b49424070
|
compiler.crossref: memoize dependency evaluation
|
2010-01-30 09:29:01 +13:00 |
Slava Pestov
|
21abe46414
|
compiler.crosssref: rename word property
|
2010-01-30 09:29:00 +13:00 |
Slava Pestov
|
65ba4b58d9
|
stack-checker.dependencies: add tuple layout dependencies for use by 'new' and 'boa'
|
2010-01-30 09:29:00 +13:00 |
Slava Pestov
|
df16224ab2
|
Re-work flushed dependencies into new compiler cross-referencing framework
|
2010-01-30 09:29:00 +13:00 |
Slava Pestov
|
13f920babb
|
Add some utility words to stack-checker.dependencies in preparation for a refactoring
|
2010-01-30 09:28:59 +13:00 |
Slava Pestov
|
468a3a74f1
|
Re-defining a tuple class now invalidates cached quotation stack effects
|
2010-01-30 09:28:59 +13:00 |
Slava Pestov
|
2138b55708
|
New 'conditional dependency' mechanism for more accurate recording of recompilation information
|
2010-01-30 09:28:57 +13:00 |
Slava Pestov
|
dba5b0be08
|
compiler.tree.propagation.call-effect: clear out dependency tracking variables to ensure that infer calls made by call( as part of the compile process doesn't pollute the dependencies of the word being compiled
|
2010-01-30 09:28:57 +13:00 |
Slava Pestov
|
1da446d8fc
|
Code cleanups
|
2010-01-30 09:28:56 +13:00 |
Slava Pestov
|
0738e85df1
|
Work in progress: record constant-folds of predicate words, and call-next-method invocations, in the same way that method inlining are recorded, for greater recompilation accuracy
|
2010-01-30 09:28:56 +13:00 |
Slava Pestov
|
9d207cc913
|
Fix regression when forgetting classes
|
2010-01-30 09:28:55 +13:00 |
Slava Pestov
|
ed7f8341e5
|
More changes so that mixins trigger even less recompilation
|
2010-01-30 09:28:53 +13:00 |
Slava Pestov
|
0a77399242
|
Add test case for mixin bug Doug found, seems to be fixed now
|
2010-01-30 09:28:52 +13:00 |
Daniel Ehrenberg
|
8f4bd0e7df
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2010-01-26 14:14:05 -06:00 |
Daniel Ehrenberg
|
8837fe5792
|
Tests for propagation additions; making fixnum-bit? inline
|
2010-01-25 20:15:17 -06:00 |
Doug Coleman
|
7322c0a400
|
remove a stray character
|
2010-01-22 15:07:01 -06:00 |
Doug Coleman
|
8ae200d419
|
Rename accumulator to collector, pusher to selector
|
2010-01-22 15:00:53 -06:00 |
Slava Pestov
|
cf21edd415
|
compiler: fix docs
|
2010-01-23 00:46:04 +13:00 |
Slava Pestov
|
81967cab35
|
compiler.test: fix
|
2010-01-23 00:40:56 +13:00 |
Slava Pestov
|
0cbf9c9b50
|
Move compile-call and related words only meant to be used for debugging to compiler.test
|
2010-01-23 00:39:56 +13:00 |
Daniel Ehrenberg
|
8b04f0f417
|
Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
basis/compiler/tree/propagation/transforms/transforms.factor
|
2010-01-20 00:15:55 -06:00 |
Daniel Ehrenberg
|
2e5f16da00
|
Adding compiler transforms in propagation
|
2010-01-20 00:10:49 -06:00 |
Slava Pestov
|
875053d645
|
compiler.tree.propagation.call-effect: eliminate some dispatch from call( expansion
|
2010-01-19 21:08:45 +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
|
e19c6fd76f
|
compiler.tree.escape-analysis: make tests a bit more robust; a change to boa constructors recently meant dead curries were showing up on certain expansions, this was throwing off the escape-analysis test's unboxed allocation counting. Fix this by having the test run DCE first, and remove a few tests that no longer make sense now
|
2010-01-18 23:32:34 +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
|
4bf62e6b41
|
compiler.tree.propagation: ensure that we don't call 'equal?' or 'hashcode' on literals in words being compiled
|
2010-01-16 20:00:48 +13:00 |
Slava Pestov
|
ce05955693
|
stack-checker: add inputs and outputs words, since 'infer (in>>|out>>) length' was coming up a lot
|
2010-01-15 08:04:14 +13:00 |
Doug Coleman
|
7521807b55
|
random is generic now -- iota random -> random
|
2010-01-14 12:48:57 -06:00 |
Slava Pestov
|
880fb747fc
|
Removing integers-as-sequences
|
2010-01-15 07:15:33 +13:00 |
Slava Pestov
|
5770a5f9b3
|
Fix input-classes of /i and mod, and add some regression tests with various reductions of the original test-case from the terrain demo
|
2010-01-14 18:15:51 +13:00 |
Slava Pestov
|
1c9afb4ccf
|
compiler.codegen.fixup: cache symbol names, reducing image size by ~200Kb
|
2010-01-13 23:18:43 +13:00 |
Slava Pestov
|
005db61ad6
|
Rework min and max so that behavior with floats and NaNs is consistent between generic arithmetic and open-coded float intrinsics
|
2010-01-13 22:20:16 +13:00 |
Slava Pestov
|
790674cf89
|
Rename kernel.private:getenv/setenv to special-object/set-special-object to mirror recent renaming on the VM side
|
2010-01-13 18:08:18 +13:00 |