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 |
Brad Christensen
|
9b9322ea1e
|
A number of documentation fixes and cleanup.
|
2010-02-03 00:05:03 -07:00 |
Slava Pestov
|
2c63161c84
|
stack-checker.dependencies: make conditional dependencies more robust
|
2010-01-31 01:55:35 +13:00 |
Slava Pestov
|
ea9dbf2ea1
|
compiler.crossref: more space-efficient storage of dependency information
|
2010-01-30 09:29:02 +13:00 |
Slava Pestov
|
fa4f7d8ccf
|
Clean up some code in preparation for a refactoring
|
2010-01-30 09:29:02 +13:00 |
Slava Pestov
|
c438e84bd0
|
compiler.crossref: add next-method dependency
|
2010-01-30 09:29:01 +13:00 |
Slava Pestov
|
6cc68e889e
|
stack-checker.dependencies: add tuple layout dependencies for use by 'new' and 'boa'
|
2010-01-30 09:29:00 +13:00 |
Slava Pestov
|
09ead56652
|
Re-work flushed dependencies into new compiler cross-referencing framework
|
2010-01-30 09:29:00 +13:00 |
Slava Pestov
|
c058343167
|
Add some utility words to stack-checker.dependencies in preparation for a refactoring
|
2010-01-30 09:28:59 +13:00 |
Slava Pestov
|
26f311279c
|
Re-defining a tuple class now invalidates cached quotation stack effects
|
2010-01-30 09:28:59 +13:00 |
Slava Pestov
|
c027046857
|
New 'conditional dependency' mechanism for more accurate recording of recompilation information
|
2010-01-30 09:28:57 +13:00 |
Slava Pestov
|
817bc02392
|
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
|
f031a97084
|
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 |
Doug Coleman
|
bb2f455747
|
Save images to a temporary file first, then call MOVE_FILE to avoid writing incomplete and truncated images.
|
2010-01-22 12:59:20 -06:00 |
Slava Pestov
|
00328c85e0
|
vm: remove vm-ptr primitive
|
2010-01-20 17:06:49 +13:00 |
Slava Pestov
|
580cbe75c6
|
Make stack-checker throw proper errors for primitives that do not have static stack effects
|
2010-01-20 16:37:58 +13:00 |
Slava Pestov
|
5606825e8b
|
vm: remove primitive table, non-optimizing compiler now looks up primitives with dlsym()
|
2010-01-19 20:00:33 +13:00 |
Slava Pestov
|
637a77c018
|
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
|
7f7e1e4e1d
|
Help lint fixes for iota
|
2010-01-15 17:04:14 +13:00 |
Slava Pestov
|
7155447aed
|
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 |
Slava Pestov
|
e4c53f67b0
|
stack-checker.errors.prettyprint: fix prettyprinting of unbalanced-branches-error
|
2010-01-15 07:51:36 +13:00 |
Slava Pestov
|
df4fb4a3ee
|
Removing integers-as-sequences
|
2010-01-15 07:15:33 +13:00 |
Slava Pestov
|
1c10196c43
|
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 |
Slava Pestov
|
e8892d9cde
|
stack-checker: fix unit test
|
2010-01-07 17:40:23 +13:00 |
Slava Pestov
|
235f3238f5
|
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
|
ba5b90e063
|
Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM
- Simplify calculation of offset in relocation table
- Open-code %alien-callback
- Remove magic_frame hack from context objects
- Move magical return instruction from optimizing compiler backend into callback entry stub
|
2010-01-03 01:11:51 +13:00 |
Slava Pestov
|
0612bc6177
|
Factor source files should not be executable
|
2009-11-21 17:50:43 -06:00 |
Slava Pestov
|
1d16152057
|
stack-checker: fix error message printed when do-primitive is inferred
|
2009-11-19 19:43:41 -06:00 |
Doug Coleman
|
6f7ec206a1
|
rename millis to system-millis, micros to system-micros, add nano-count
|
2009-11-18 15:58:48 -06:00 |
Doug Coleman
|
b4206f5252
|
initial commit to nanos branch to replace micros
|
2009-11-18 04:20:05 -06:00 |
Slava Pestov
|
ea36783fb3
|
Fix bootstrap
|
2009-11-13 07:55:47 -06:00 |
Slava Pestov
|
2afd7ce244
|
Faster identity-hashcode primitive; fast path now opencoded by the compiler
|
2009-11-11 02:27:19 -06:00 |
Slava Pestov
|
064c00f78d
|
New identity-hashcode primitive
|
2009-11-10 21:18:54 -06:00 |
Slava Pestov
|
aed9dcff53
|
stack-checker: fix help lint
|
2009-11-10 19:19:59 -06:00 |
Slava Pestov
|
425e9d0dde
|
Fix some test failures
|
2009-11-10 16:48:06 -06:00 |
Slava Pestov
|
473cc7db4a
|
stack-checker: tighten some screws in error reporting
|
2009-11-09 00:17:24 -06:00 |
Slava Pestov
|
cd2e226afa
|
stack-checker: split off stack-checker.dependencies from stack-checker.state
|
2009-11-08 20:34:46 -06:00 |
Slava Pestov
|
5d79450d9d
|
Use a more compact representation for "compiled-uses" and "compiled-generic-uses" word-props; reduces image size
|
2009-11-08 06:08:04 -06:00 |
Slava Pestov
|
1d4ec1959d
|
stack-checker.known-words: fix declared output type for dispatch-stats primitive
|
2009-11-06 04:36:46 -06:00 |
Slava Pestov
|
ba31abb301
|
Fix some test failures
|
2009-11-06 02:35:43 -06:00 |
Joe Groff
|
00ce8b6a33
|
deprimitivize tuck and put it to pasture
|
2009-11-05 22:47:05 -06:00 |
Slava Pestov
|
4061951d1c
|
vm: simpler object space implementation. begin-scan/next-object/end-scan primitives replaced by a single all-instances primitive
|
2009-11-05 21:49:03 -06:00 |
Slava Pestov
|
47df580081
|
tools.time: overhaul
|
2009-11-05 01:07:59 -06:00 |
Slava Pestov
|
e4ad642134
|
vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)
|
2009-11-02 04:25:54 -06:00 |
Slava Pestov
|
37abac7407
|
Merge branch 'master' into new_gc
|
2009-10-30 21:04:37 -05:00 |
Joe Groff
|
32450a0575
|
add missing USING: to stack-checker tests
|
2009-10-30 20:49:09 -05:00 |
Slava Pestov
|
6f9336c29e
|
Merge branch 'master' into new_gc
|
2009-10-30 03:03:05 -05:00 |
Joe Groff
|
2ecf3fb568
|
fix load errors from bootstrapping
|
2009-10-28 12:51:03 -05:00 |
Joe Groff
|
935c0797c3
|
update existing code for [let change
|
2009-10-27 22:05:37 -05:00 |
Slava Pestov
|
d95a98eb9c
|
vm: add primitives for getting at GC events, data-room and code-room primitives now return structs instead of arrays
|
2009-10-27 03:32:28 -05:00 |
Slava Pestov
|
91cec17e52
|
vm: get GC events working, -verbosegc switch now produces more info
|
2009-10-26 23:57:26 -05:00 |
Slava Pestov
|
cf247c23a2
|
vm: room. now prints mark stack size, and total/contiguous free space
|
2009-10-25 13:18:06 -05:00 |
Joe Groff
|
372718304c
|
remove the monocle from inference docs and clarify it a bit
|
2009-10-24 20:57:49 -05:00 |
Slava Pestov
|
bf5d0de840
|
peg.ebnf: turn $unchecked-examples into $examples
|
2009-10-19 03:44:50 -05:00 |
Slava Pestov
|
107c96f642
|
vm: code heap compaction at runtime using compact-gc primitive
|
2009-10-16 11:39:35 -05:00 |
Keith Lazuka
|
405e5d015b
|
docs: change $subsection to $subsections
|
2009-10-02 12:15:48 -04:00 |
Slava Pestov
|
ab8c6e9978
|
Word hashcodes are now computed from the word's name/vocabulary, removing a source of non-determinism
|
2009-09-27 21:09:11 -05:00 |
Joe Groff
|
0354ab60ba
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-09-17 15:31:43 -05:00 |
Slava Pestov
|
7f1c33f363
|
stack-checker.errors: improve documentation a bit
|
2009-09-17 13:27:15 -07:00 |
Joe Groff
|
3b4330fcf6
|
get things to a point where they bootstrap again
|
2009-09-15 21:43:18 -05:00 |
Slava Pestov
|
32b95c2cdf
|
math: add unordered comparison operators u< u<= u> u>= which behave exactly like < <= > >= except no floating point exceptions are set if one or both inputs are NaNs; also add efficient intrinsic for unordered? predicate, and fix propagation type functions for abs, absq, and bitnot
|
2009-09-12 22:20:13 -05:00 |
Slava Pestov
|
7cf4e608e5
|
alien: move code for supporting CONSTANT: foo 123 { "int" foo } C types into one place instead of the old scattershot approach
|
2009-08-27 21:49:25 -05:00 |
Slava Pestov
|
030b1b816c
|
Add inline declarations for various assorted methods
|
2009-08-17 22:32:21 -05:00 |
Doug Coleman
|
3f3d57032b
|
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring
|
2009-08-13 19:21:44 -05:00 |
Doug Coleman
|
379c17a284
|
Throw typed errors instead of strings for calling/executing non-callables
|
2009-08-11 22:40:29 -05:00 |
Slava Pestov
|
60f4f4c16e
|
combinators.short-circuit: speed up in non-optimized code
|
2009-07-18 03:33:45 -05:00 |
Daniel Ehrenberg
|
ee3e84a1f8
|
define-partial-eval framework in propagation pass makes it easy to add transforms; moving some transforms from stack checker to propagation, making them stronger
|
2009-07-16 00:34:50 -05:00 |
Daniel Ehrenberg
|
bb06facb01
|
new is inlined in the propagation pass when the class is known
|
2009-07-14 14:16:39 -05:00 |
Daniel Ehrenberg
|
4aa3e2135a
|
Unit tests for inference behavior of call( and execute(
|
2009-07-14 01:23:21 -05:00 |
Daniel Ehrenberg
|
47500fad06
|
call( and execute( inline known quotations/words in the propagation pass
|
2009-07-14 01:12:45 -05:00 |
Daniel Ehrenberg
|
500c784bd7
|
Minor reorganization of stack-checker.call-effect
|
2009-07-10 01:05:03 -05:00 |
Daniel Ehrenberg
|
23b8f48267
|
stack-checker.known-words:infer-special uses a word property
|
2009-07-10 00:52:08 -05:00 |
Slava Pestov
|
0068a3d965
|
stack-checker: fix doc typo reported by OneEyed
|
2009-06-21 15:11:41 -05:00 |
Doug Coleman
|
407377fc98
|
rename peek -> last and update all usages
|
2009-05-25 16:38:33 -05:00 |
Slava Pestov
|
43a1834e0b
|
stack-checker: fix case where invalid code could infer
|
2009-05-23 15:50:35 -05:00 |
Slava Pestov
|
66a9416473
|
Update documentation for stricter vocabulary search path semantics
|
2009-05-16 00:29:21 -05:00 |
Slava Pestov
|
fb6df472a2
|
Cleaning up USING: lists for new strict semantics
|
2009-05-14 16:54:16 -05:00 |
Slava Pestov
|
65faa3fda3
|
Fix unit tests and load errors for slip removal
|
2009-05-10 17:03:41 -05:00 |
Slava Pestov
|
a366909c25
|
Removing slip usage from basis
|
2009-05-10 15:28:22 -05:00 |
Slava Pestov
|
029d93a838
|
Make walker work better with call( and breakpoints which are nested inside combinators
|
2009-05-05 09:12:32 -05:00 |
Slava Pestov
|
a63ad6a7a5
|
Remove cruddy string encoding/decoding code from VM
|
2009-05-02 13:45:38 -05:00 |
Slava Pestov
|
05ecd04e2f
|
macro call sites don't need an inlined-dependency on the macro
|
2009-05-01 05:52:34 -05:00 |
Slava Pestov
|
9d1c4f39a8
|
Some gold plating
|
2009-05-01 02:03:22 -05:00 |
Slava Pestov
|
a70a2c0e31
|
Fix some test failures and add an unportable tag
|
2009-04-30 22:56:15 -05:00 |
Slava Pestov
|
e5cdb7ac2d
|
call( fast-path now supports curry and compose
|
2009-04-30 21:08:29 -05:00 |
Slava Pestov
|
a79e3eb687
|
Passing an invalid parameter to 'declare' doesn't break the compiler anymore
|
2009-04-30 20:40:47 -05:00 |
Slava Pestov
|
fc4894fbdf
|
Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags
|
2009-04-30 00:27:35 -05:00 |
Slava Pestov
|
5f6c074edd
|
Split up types.c/h into smaller files, remove optimized slot from F_WORD struct
|
2009-04-28 17:26:11 -05:00 |
Slava Pestov
|
e940f6fd8b
|
Add method dispatch statistics
|
2009-04-28 16:58:05 -05:00 |
Slava Pestov
|
7e84daf0f1
|
Move (execute) to kernel.private
|
2009-04-26 02:42:37 -05:00 |
Slava Pestov
|
356537593e
|
Get rid of execute-unsafe now that (execute) is more versatile
|
2009-04-25 21:50:34 -05:00 |
Slava Pestov
|
7aa65b5b5f
|
Fixing new method dispatch implementation
|
2009-04-25 19:41:27 -05:00 |
Slava Pestov
|
3dc9fdf9db
|
Fleshed out new dispatch code
|
2009-04-24 20:43:01 -05:00 |
Slava Pestov
|
8c5b0373a8
|
Working on new method dispatch system
|
2009-04-24 15:31:06 -05:00 |
Slava Pestov
|
5649cc7a0a
|
Compiler warnings are no more
|
2009-04-23 22:17:25 -05:00 |
Slava Pestov
|
c2fe2a4fea
|
Improve stack checker documentation
|
2009-04-23 03:48:32 -05:00 |
Slava Pestov
|
57e1de5181
|
stack-checker.transforms doesn't need make anymore
|
2009-04-22 21:26:55 -05:00 |
Slava Pestov
|
d3cffcbee2
|
Slightly more efficient compilation of 'new'
|
2009-04-22 21:26:22 -05:00 |
Slava Pestov
|
1dd3ed519f
|
Revert part of an earlier ccompiler.tree.checker hange to fix smalltalk.eval regression
|
2009-04-22 21:03:53 -05:00 |
Slava Pestov
|
20ca578ed1
|
stack-checker.transforms: fix tests
|
2009-04-22 04:21:15 -05:00 |
Slava Pestov
|
28b9e474dd
|
Set more no-compile word props
|
2009-04-21 23:18:19 -05:00 |
Slava Pestov
|
057f75e9a1
|
Refactor compiler.tree.builder to fix various regressions
|
2009-04-21 23:02:00 -05:00 |
Slava Pestov
|
469c9ee21d
|
Debugging stack checking
|
2009-04-21 16:09:53 -05:00 |
Slava Pestov
|
f38d2f91f6
|
Words which didn't compile cannot be run at all
|
2009-04-20 22:05:41 -05:00 |
Slava Pestov
|
05f3f9dcb9
|
Fixing unit tests for stack effect inference changes
|
2009-04-20 21:15:19 -05:00 |
Slava Pestov
|
8414693142
|
stack-checker: trust word declarations instead of recursively checking them
|
2009-04-20 18:44:45 -05:00 |
Slava Pestov
|
5165d811d5
|
Changing the stack effect of a generic word could break the compiler
|
2009-04-20 04:21:00 -05:00 |
Doug Coleman
|
7a1841f59b
|
(( -- )) eval -> eval( -- )
|
2009-04-17 15:49:21 -05:00 |
Doug Coleman
|
dba4c0d589
|
fixing compiler errors in basis
|
2009-04-17 12:46:04 -05:00 |
Slava Pestov
|
65b27354ad
|
Merge branch 'master' into smarter_error_list
|
2009-04-14 15:07:22 -05:00 |
Slava Pestov
|
e595576dc3
|
Make more words infer
|
2009-04-12 23:01:14 -05:00 |
Slava Pestov
|
c4be8bd65a
|
Refactor error code so that error types are registered; listener prints a summary of errors
|
2009-04-12 16:08:46 -05:00 |
Slava Pestov
|
0fda643ab1
|
Optimizing string>number
|
2009-04-11 20:30:51 -05:00 |
Slava Pestov
|
8290624733
|
Macro expansion errors are now wrapped
|
2009-04-10 07:08:16 -05:00 |
Slava Pestov
|
0a7485190b
|
compile-error-type => source-error-type; make test failures global
|
2009-04-10 03:52:12 -05:00 |
Slava Pestov
|
7adb76aaf4
|
Factor out some compiler error code into source-files.errors
|
2009-04-09 04:50:38 -05:00 |
Slava Pestov
|
2b384a7742
|
Re-organize some error-related code, three-pane look for compiler errors tool, add Joe's icons
|
2009-04-08 23:05:45 -05:00 |
Slava Pestov
|
07f585a81d
|
Error list tool work in progress
|
2009-04-06 15:24:21 -05:00 |
Slava Pestov
|
9907bd9fe2
|
Add fseek primitive so that c-streams can seek. This lets the UI work without native IO
|
2009-04-03 10:16:25 -05:00 |
Slava Pestov
|
b53960dace
|
Add compiler transform for index with a literal sequenc
|
2009-03-27 20:05:23 -05:00 |
Doug Coleman
|
8b7fcce399
|
update code for usages of add-library
|
2009-03-25 23:00:19 -05:00 |
Slava Pestov
|
8385e9d9f5
|
Fixing compile errors, test failures and help lint failures
|
2009-03-23 17:12:41 -05:00 |
Slava Pestov
|
385892be64
|
Make the member? transform better
|
2009-03-21 03:10:21 -05:00 |
Slava Pestov
|
bb92336fb8
|
Change a throw to a rethrow
|
2009-03-18 19:44:38 -05:00 |
Slava Pestov
|
2ed97f5a24
|
Various fixes for call(
|
2009-03-17 18:53:44 -05:00 |
Slava Pestov
|
786475102d
|
Make more code infer
|
2009-03-17 02:19:50 -05:00 |
Slava Pestov
|
e981090045
|
Inline caching for call(
|
2009-03-16 23:02:55 -05:00 |
Slava Pestov
|
be4fb1e7d9
|
Move call( and execute( to core
|
2009-03-16 20:11:36 -05:00 |
Slava Pestov
|
1559b74640
|
Add new check-datastack primitive and re-implement call( with it, instead of using with-datastack. call( is now 5x faster
|
2009-03-16 06:16:51 -05:00 |
Slava Pestov
|
06f29ab7e4
|
give-up-transform now uses a cached stack effect. Slight performance improvement when compiling calls to member? with a non-literal quotation
|
2009-03-13 04:28:24 -05:00 |
Slava Pestov
|
8f1240cf96
|
Forgetting a word doesn't call reset-word anymore, fixing an issue where a word calling a forgotten word wouldn't compile because the 'declared-effect' word prop was not set
|
2009-03-13 00:40:18 -05:00 |
Slava Pestov
|
21f8ba2917
|
Change another throw to rethrow in stack checker
|
2009-03-11 03:17:06 -05:00 |
Slava Pestov
|
52fef83061
|
Fix various unit tests
|
2009-03-07 15:58:14 -06:00 |
Slava Pestov
|
7b9491066c
|
Fix conflict in images vocab
|
2009-03-04 21:43:56 -06:00 |
Slava Pestov
|
74573c65f5
|
Change a throw to rethrow so that we don't lose the original stack trace
|
2009-03-04 21:38:05 -06:00 |
Slava Pestov
|
ca7a155b72
|
Merge branch 'master' into new_ui
|
2009-03-01 20:13:05 -06:00 |
Slava Pestov
|
03cb32ad9c
|
Make execute( faster, add execute-unsafe( and make effect tuple slots read only
|
2009-03-01 20:12:35 -06:00 |
Slava Pestov
|
25a877e50b
|
Merge OneEyed's patch
|
2009-02-28 17:06:55 -06:00 |
Slava Pestov
|
cd53c2bd37
|
produce and produce-as: don't need third quotation either
|
2009-02-28 15:31:34 -06:00 |
Slava Pestov
|
78ce670101
|
Merge branch 'for-slava' of git://git.rfc1149.net/factor
|
2009-02-28 14:42:56 -06:00 |
Slava Pestov
|
45dae72f4a
|
Merge branch 'master' into new_ui
|
2009-02-26 23:31:36 -06:00 |
Slava Pestov
|
11117648ea
|
Fix stack checker regressions
|
2009-02-26 23:30:48 -06:00 |
Slava Pestov
|
e0cfad4676
|
Merge branch 'master' into new_ui
|
2009-02-26 14:27:55 -06:00 |
Slava Pestov
|
3f70bb3b22
|
Update docs for improved error reporting
|
2009-02-26 13:41:50 -06:00 |
Slava Pestov
|
c8d5e98898
|
Fix conflicts
|
2009-02-26 03:12:19 -06:00 |
Slava Pestov
|
efede19571
|
Make some errors better in the stack checker
|
2009-02-26 01:25:13 -06:00 |
Slava Pestov
|
ce1bc1d6ed
|
Fixing conflicts from stack checker changes
|
2009-02-24 01:21:10 -06:00 |
Slava Pestov
|
91d0c4ed1f
|
Fix conflict
|
2009-02-22 20:02:13 -06:00 |
Doug Coleman
|
990513db60
|
use CONSTANT: in basis
|
2009-02-22 19:13:08 -06:00 |
Slava Pestov
|
b4a61114e1
|
Merge branch 'master' into new_ui
|
2009-02-19 13:36:32 -06:00 |