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 |
Brad Christensen
|
c37b4f5f61
|
A number of documentation fixes and cleanup.
|
2010-02-03 00:05:03 -07:00 |
Slava Pestov
|
8e2e869ec5
|
stack-checker.dependencies: make conditional dependencies more robust
|
2010-01-31 01:55:35 +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
|
3632e97376
|
compiler.crossref: add next-method dependency
|
2010-01-30 09:29:01 +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
|
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 |
Doug Coleman
|
9502f6f091
|
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
|
952a0784a7
|
vm: remove vm-ptr primitive
|
2010-01-20 17:06:49 +13:00 |
Slava Pestov
|
184d286d29
|
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
|
88004434ec
|
vm: remove primitive table, non-optimizing compiler now looks up primitives with dlsym()
|
2010-01-19 20:00:33 +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
|
bf0de9f7ee
|
Help lint fixes for iota
|
2010-01-15 17:04:14 +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 |
Slava Pestov
|
792e6dbd5d
|
stack-checker.errors.prettyprint: fix prettyprinting of unbalanced-branches-error
|
2010-01-15 07:51:36 +13:00 |
Slava Pestov
|
880fb747fc
|
Removing integers-as-sequences
|
2010-01-15 07:15:33 +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 |
Slava Pestov
|
ecb9137675
|
stack-checker: fix unit test
|
2010-01-07 17:40:23 +13:00 |
Slava Pestov
|
1e2c0327ee
|
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
|
9399a68786
|
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
|
08b6ebc7fa
|
Factor source files should not be executable
|
2009-11-21 17:50:43 -06:00 |
Slava Pestov
|
058be8ca47
|
stack-checker: fix error message printed when do-primitive is inferred
|
2009-11-19 19:43:41 -06:00 |
Doug Coleman
|
addb1c90bb
|
rename millis to system-millis, micros to system-micros, add nano-count
|
2009-11-18 15:58:48 -06:00 |
Doug Coleman
|
1861dd2705
|
initial commit to nanos branch to replace micros
|
2009-11-18 04:20:05 -06:00 |
Slava Pestov
|
ab7583ac37
|
Fix bootstrap
|
2009-11-13 07:55:47 -06:00 |
Slava Pestov
|
68f3087c1c
|
Faster identity-hashcode primitive; fast path now opencoded by the compiler
|
2009-11-11 02:27:19 -06:00 |
Slava Pestov
|
4168ffbcee
|
New identity-hashcode primitive
|
2009-11-10 21:18:54 -06:00 |
Slava Pestov
|
d6cb95718f
|
stack-checker: fix help lint
|
2009-11-10 19:19:59 -06:00 |
Slava Pestov
|
0de1335d88
|
Fix some test failures
|
2009-11-10 16:48:06 -06:00 |
Slava Pestov
|
e0d3878c00
|
stack-checker: tighten some screws in error reporting
|
2009-11-09 00:17:24 -06:00 |
Slava Pestov
|
8f9d4e3d2c
|
stack-checker: split off stack-checker.dependencies from stack-checker.state
|
2009-11-08 20:34:46 -06:00 |
Slava Pestov
|
5dc20ef385
|
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
|
32f85587a8
|
stack-checker.known-words: fix declared output type for dispatch-stats primitive
|
2009-11-06 04:36:46 -06:00 |
Slava Pestov
|
f07bb13e88
|
Fix some test failures
|
2009-11-06 02:35:43 -06:00 |
Joe Groff
|
f780bbddc3
|
deprimitivize tuck and put it to pasture
|
2009-11-05 22:47:05 -06:00 |
Slava Pestov
|
065dac3736
|
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
|
40a82aba19
|
tools.time: overhaul
|
2009-11-05 01:07:59 -06:00 |
Slava Pestov
|
d65296b334
|
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
|
5da0b1a22e
|
Merge branch 'master' into new_gc
|
2009-10-30 21:04:37 -05:00 |
Joe Groff
|
9a891b4ab6
|
add missing USING: to stack-checker tests
|
2009-10-30 20:49:09 -05:00 |
Slava Pestov
|
051dcb6849
|
Merge branch 'master' into new_gc
|
2009-10-30 03:03:05 -05:00 |
Joe Groff
|
33f373162d
|
fix load errors from bootstrapping
|
2009-10-28 12:51:03 -05:00 |
Joe Groff
|
8b6665c57e
|
update existing code for [let change
|
2009-10-27 22:05:37 -05:00 |
Slava Pestov
|
61c2ff4fff
|
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
|
772c5483dc
|
vm: get GC events working, -verbosegc switch now produces more info
|
2009-10-26 23:57:26 -05:00 |
Slava Pestov
|
d3dede5599
|
vm: room. now prints mark stack size, and total/contiguous free space
|
2009-10-25 13:18:06 -05:00 |
Joe Groff
|
65a2f803d5
|
remove the monocle from inference docs and clarify it a bit
|
2009-10-24 20:57:49 -05:00 |
Slava Pestov
|
e882db0524
|
peg.ebnf: turn $unchecked-examples into $examples
|
2009-10-19 03:44:50 -05:00 |
Slava Pestov
|
030d035e94
|
vm: code heap compaction at runtime using compact-gc primitive
|
2009-10-16 11:39:35 -05:00 |
Keith Lazuka
|
8f79ea91ba
|
docs: change $subsection to $subsections
|
2009-10-02 12:15:48 -04:00 |
Slava Pestov
|
3024810dfa
|
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
|
44ea686cba
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-09-17 15:31:43 -05:00 |
Slava Pestov
|
6a77bf8e69
|
stack-checker.errors: improve documentation a bit
|
2009-09-17 13:27:15 -07:00 |
Joe Groff
|
334e93bbbf
|
get things to a point where they bootstrap again
|
2009-09-15 21:43:18 -05:00 |
Slava Pestov
|
427bfb4ab8
|
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
|
55b5b63b63
|
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
|
bee6fa641e
|
Add inline declarations for various assorted methods
|
2009-08-17 22:32:21 -05:00 |
Doug Coleman
|
d1ce837569
|
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
|
4c570faa91
|
Throw typed errors instead of strings for calling/executing non-callables
|
2009-08-11 22:40:29 -05:00 |
Slava Pestov
|
324d78f757
|
combinators.short-circuit: speed up in non-optimized code
|
2009-07-18 03:33:45 -05:00 |
Daniel Ehrenberg
|
a295b28652
|
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
|
ad301b07ae
|
new is inlined in the propagation pass when the class is known
|
2009-07-14 14:16:39 -05:00 |
Daniel Ehrenberg
|
87ad376e44
|
Unit tests for inference behavior of call( and execute(
|
2009-07-14 01:23:21 -05:00 |
Daniel Ehrenberg
|
c6c5be4eb0
|
call( and execute( inline known quotations/words in the propagation pass
|
2009-07-14 01:12:45 -05:00 |
Daniel Ehrenberg
|
d890a71349
|
Minor reorganization of stack-checker.call-effect
|
2009-07-10 01:05:03 -05:00 |
Daniel Ehrenberg
|
0eb0496699
|
stack-checker.known-words:infer-special uses a word property
|
2009-07-10 00:52:08 -05:00 |
Slava Pestov
|
71e285c080
|
stack-checker: fix doc typo reported by OneEyed
|
2009-06-21 15:11:41 -05:00 |
Doug Coleman
|
8da9d0f203
|
rename peek -> last and update all usages
|
2009-05-25 16:38:33 -05:00 |
Slava Pestov
|
c2499cdd55
|
stack-checker: fix case where invalid code could infer
|
2009-05-23 15:50:35 -05:00 |
Slava Pestov
|
ba04d5af1e
|
Update documentation for stricter vocabulary search path semantics
|
2009-05-16 00:29:21 -05:00 |
Slava Pestov
|
d7db5edadc
|
Cleaning up USING: lists for new strict semantics
|
2009-05-14 16:54:16 -05:00 |
Slava Pestov
|
70deacb900
|
Fix unit tests and load errors for slip removal
|
2009-05-10 17:03:41 -05:00 |
Slava Pestov
|
dfb7514a02
|
Removing slip usage from basis
|
2009-05-10 15:28:22 -05:00 |
Slava Pestov
|
1e2561f863
|
Make walker work better with call( and breakpoints which are nested inside combinators
|
2009-05-05 09:12:32 -05:00 |
Slava Pestov
|
4d438a3edd
|
Remove cruddy string encoding/decoding code from VM
|
2009-05-02 13:45:38 -05:00 |
Slava Pestov
|
5f6fcef8a0
|
macro call sites don't need an inlined-dependency on the macro
|
2009-05-01 05:52:34 -05:00 |
Slava Pestov
|
c281342ac7
|
Some gold plating
|
2009-05-01 02:03:22 -05:00 |
Slava Pestov
|
23b5888da6
|
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 |