Slava Pestov
26cae00eeb
Add code heap introspection primitive to VM, and make a code-blocks word in tools.memory that wraps a useful interface around this. Add a lookup-return-address word and use this in tools.disassembler.utils
2010-02-03 23:11:32 +13:00
Slava Pestov
0b278adb5a
Test fixes
2010-02-03 23:11:31 +13:00
Slava Pestov
f8474c3856
Documentation improvements
2010-02-03 23:11:30 +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
0b207caa87
combinators: fix typo
2010-02-03 23:11:28 +13:00
Slava Pestov
3e8d21b493
Clarify documentation for compilation units and 'undefined' error
2010-02-03 23:11:28 +13:00
Slava Pestov
2879299999
combinators: ricing call-effect
2010-02-03 23:11:26 +13:00
Slava Pestov
a005e678db
classes.tuple: make error slots read only for small space savings
2010-02-03 23:11:25 +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
fbf078d4b3
words: undefined error now contains the word in question
2010-02-03 23:11:23 +13:00
Slava Pestov
e32d5fd0ac
Minor updates to string documentation
2010-02-03 23:07:53 +13:00
Slava Pestov
080609c281
Minor doc fixes
2010-02-03 22:56:32 +13:00
Brad Christensen
7381d47103
More documentation cleanup.
2010-02-03 00:05:04 -07:00
Brad Christensen
9b9322ea1e
A number of documentation fixes and cleanup.
2010-02-03 00:05:03 -07:00
Brad Christensen
1404bf71d5
Minor doc cleanup.
2010-02-03 00:05:02 -07:00
Slava Pestov
e929d906ce
classes: If a tuple class with subclasses is redefined into something that's not a tuple class, subclasses are changed to inherit from 'tuple' instead of being forgotten. Also, changing the metaclass of a union or intersection member no longer removes it from the union or intersection. Finally, make some internal words private
2010-02-01 02:48:39 +13:00
Slava Pestov
3addfcc2ad
classes: more robust code for detecting circular inheritance, move it out of classes.tuple since predicate classes need the same check too
2010-02-01 00:08:18 +13:00
Slava Pestov
8432f4c459
Fix a couple of unit tests that were relying on the old compiler crossref structures
2010-01-31 23:26:55 +13:00
erikc
0770b940b0
Merge up
2010-01-30 20:48:06 -08:00
erikc
f33c73bf94
Merge up
2010-01-30 20:39:43 -08:00
Slava Pestov
5ed0bc72aa
Merge git://github.com/littledan/Factor into littledan
2010-01-31 02:54:58 +13:00
Slava Pestov
a22fadaee4
words: fix unit test
2010-01-31 02:50:47 +13:00
Slava Pestov
2c63161c84
stack-checker.dependencies: make conditional dependencies more robust
2010-01-31 01:55:35 +13:00
Slava Pestov
e45816cf9b
math: docs fix
2010-01-30 21:14:41 +13:00
Slava Pestov
7189342c19
compiler.units: fix call-next-method call site recompilation
2010-01-30 09:29:01 +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
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
29fc287618
classes.tuple: documentation fix
2010-01-30 09:28:56 +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
Slava Pestov
4f68808a72
Rename predicate-word to create-predicate-word and add a new predicate-word word
2010-01-30 09:28:55 +13:00
Slava Pestov
bd479db2f8
Fix regression when forgetting classes
2010-01-30 09:28:55 +13:00
Slava Pestov
34287fd9d6
Minor documentation updates
2010-01-30 09:28:54 +13:00
Slava Pestov
8b19b56a1c
classes.mixin: privacy please
2010-01-30 09:28:53 +13:00
Slava Pestov
830e25c70b
More changes so that mixins trigger even less recompilation
2010-01-30 09:28:53 +13:00
Slava Pestov
066bf9a42f
classes.algebra: couple more tests
2010-01-30 09:28:53 +13:00
Slava Pestov
e6d1388dcc
Clean up class algebra a bit, and change mixins to recompile less, taking advantage of new semantics
2010-01-30 09:28:52 +13:00
Slava Pestov
af41dc6169
Trying to fix mixin semantics
2010-01-30 09:28:51 +13:00
Doug Coleman
1f76ab2d45
try-find is just attempt-all. oops
2010-01-28 23:28:11 -06:00
Doug Coleman
88e20af800
add some unit tests for try-find
2010-01-28 23:12:31 -06:00
Doug Coleman
46f2515ba8
add try-find for random.windows
2010-01-28 22:44:31 -06:00
Slava Pestov
6cdf4de4eb
Fix and clean up stage1 bootstrap
2010-01-28 17:30:35 +13:00
Slava Pestov
d215c108f3
core: fix bad interaction between stage1 bootstrap and manifest update code
2010-01-28 03:02:54 +13:00
Slava Pestov
73cbf46760
vocabs.parser: a couple of fixes
2010-01-27 23:20:17 +13:00
Slava Pestov
ca19d44350
Throw a nice error at parse time if an attempt is made to declare a GENERIC: or MACRO: word inline. Such words cannot be inlined, and doing this before previously result in confusing error messages
2010-01-27 21:00:10 +13:00
Slava Pestov
3237e48b2d
vocabs.parser: The manifest is now a definition observer, and updates itself when compilation units complete. This helps keep listener's search path up to date if vocabularies and words are renamed, defined, and undefined
...
- This makes forget-vocab more reliable in the listener
- It also fixes the problem of listener sessions where QUALIFIED: was used referring to outdated words if the vocabulary in question was reloaded
2010-01-27 20:49:26 +13:00
Slava Pestov
b63ec30449
classes.tuple: tests were changing superclass of vocab tuple
2010-01-27 20:24:33 +13:00
Slava Pestov
94c93f0bc7
vm: 'become' primitive needs to update literal references in code blocks
2010-01-27 18:42:31 +13:00
Daniel Ehrenberg
19d551a544
Merge branch 'master' of git://factorcode.org/git/factor
2010-01-26 14:14:05 -06:00
Daniel Ehrenberg
52f2ac2bb9
Tests for propagation additions; making fixnum-bit? inline
2010-01-25 20:15:17 -06:00
Slava Pestov
de3168ad71
Various documentation improvements
2010-01-26 01:01:12 +13:00
Doug Coleman
a16d8db145
move sequence-hashcode-step to private
2010-01-22 16:30:22 -06:00
Doug Coleman
1519e0ba69
move (accumulate) to sequences.private
2010-01-22 15:04:13 -06:00
Doug Coleman
8c1d202b4c
Rename accumulator to collector, pusher to selector
2010-01-22 15:00:53 -06:00
Doug Coleman
40cf302d2d
Fix image save on Windows
2010-01-22 12:59:36 -06: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
Daniel Ehrenberg
fbe3add21d
Merge branch 'master' of git://factorcode.org/git/factor
2010-01-20 00:16:55 -06:00
Daniel Ehrenberg
d3590ea210
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
Slava Pestov
ee71f87cfd
kernel: remove bogus test
2010-01-20 19:13:58 +13:00
Daniel Ehrenberg
aa1651032d
Adding compiler transforms in propagation
2010-01-20 00:10:49 -06:00
Slava Pestov
00328c85e0
vm: remove vm-ptr primitive
2010-01-20 17:06:49 +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
8836ce2581
Fix performance regression in vector ops on specialized arrays, tweak definition of <slice> and 2map-reduce to generate fewer conditionals
2010-01-19 17:48:10 +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
9bc328b50d
slots: fix declaration unit test
2010-01-17 00:30:36 +13:00
Slava Pestov
d0dc6ba8af
slots, classes.tuple: make 'integer'-declared slots call >integer on the new value before storing it in, and remove code duplication between type checks in writer methods and boa constructors
2010-01-16 19:29:19 +13:00
Slava Pestov
dd0571e69a
io.buffers: fix buffer-until for iota (reported by Sascha Matzke)
2010-01-16 18:44:24 +13:00
Slava Pestov
7f7e1e4e1d
Help lint fixes for iota
2010-01-15 17:04:14 +13:00
Doug Coleman
4e6a5a772f
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
core/sequences/sequences-docs.factor
2010-01-14 17:22:02 -06:00
Doug Coleman
9356da6fb3
Fix a few integers-as-sequences in docs
2010-01-14 17:20:43 -06:00
Slava Pestov
4cce9259e1
math.parser: fix docs -- maximum radix is 16 not 36
2010-01-15 08:36:40 +13:00
Slava Pestov
ed37ed6b70
parser: make 'CONSTANT: foo<newline>3' work in the listener
2010-01-15 08:30:26 +13:00
Slava Pestov
e8378b3dc6
generic, sequences: update docs for iota
2010-01-15 08:23:27 +13:00
Doug Coleman
4c71d71907
random is generic now -- iota random -> random
2010-01-14 12:48:57 -06:00
Slava Pestov
df4fb4a3ee
Removing integers-as-sequences
2010-01-15 07:15:33 +13:00
Slava Pestov
47a5e96547
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
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
9471fd1a33
alien: fix help lint
2010-01-07 20:54:27 +13:00
Slava Pestov
46a1b1cc46
alien: document alien-assembly
2010-01-07 17:57:48 +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
1219040865
compiler.units: fix faulty unit test
2010-01-06 23:52:14 +13:00
Slava Pestov
c04fef10c7
vm: ensure that non-optimized calls to generic words which have not yet been compiled can still work
2010-01-06 23:49:14 +13:00
Slava Pestov
36d2ac8921
vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64
2010-01-06 15:47:36 +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
38f06b8558
continuations: remove outdated comment
2009-12-28 12:42:25 +13:00
Slava Pestov
63023ae227
kernel: fix set-callstack docs
2009-12-28 12:41:45 +13:00
Slava Pestov
819e46f42b
kernel: fix stack effect declarations of call-clear and set-callstack, and add a unit test for call-clear
2009-12-26 15:38:01 +13:00
Slava Pestov
08cd0df788
primitives.factor: move call-clear into kernel.private since its unsafe
2009-12-26 15:27:39 +13:00
Slava Pestov
eb0a28aa54
Merge branch 'master' of git://factorcode.org/git/factor
2009-12-15 07:21:17 -05:00
Slava Pestov
f6c0c64518
threads, io.streams.c: cleanups
2009-12-15 07:20:41 -05:00
Slava Pestov
0068bce934
vm: big overhaul of non-optimizing compiler
...
- change some primitives into sub-primitives: fixnum+ fixnum- fixnum* inline-cache-miss inline-cache-miss-tail
- rename some relocation types for clarity
- some other minor re-organizations and cleanups
2009-12-15 07:20:09 -05:00
Doug Coleman
9fea67f3ff
triyng to rice crc32 a bit
2009-12-13 02:03:06 -06:00
Slava Pestov
4cea294cfd
sequences: fix map-reduce and 2map-reduce docs, reported by Ben Schlingelhof
2009-12-12 15:16:11 -05:00
Doug Coleman
26de809d57
link pusher and accumulator in docs
2009-12-07 16:26:24 -06:00
Joe Groff
67cc1c01be
Merge branch 'master' into simd-cleanup
2009-11-26 16:14:46 -08:00
Slava Pestov
0612bc6177
Factor source files should not be executable
2009-11-21 17:50:43 -06:00
Slava Pestov
24c3ddbbde
Clean up startup/shutdown hook code
2009-11-20 00:57:49 -06:00
Doug Coleman
adcb0df0c4
fix stack effects for nanosseconds, update io backends for nanos
2009-11-19 04:51:47 -06:00
Slava Pestov
40348ed0ce
combinators: fix typo in docs
2009-11-19 02:08:14 -06:00