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
Slava Pestov
6a2cf3516d
Bootstrap and mason now record times in nanoseconds
2009-11-19 23:50:30 -06:00
Doug Coleman
2711456935
use nano-count for timing bootstrap
2009-11-19 18:24:34 -06:00
Doug Coleman
b388d2a34b
report times in ms again
2009-11-19 04:05:57 -06:00
Doug Coleman
35695b6ff8
print correct time on bootstrap
2009-11-19 03:22:43 -06:00
Slava Pestov
a3cb03548c
bootstrap.stage2: fix bootstrap time reporting
2009-11-19 02:08:28 -06:00
Doug Coleman
f4450653a9
remove system-millis and update vocabs to use system-micros or nano-count
2009-11-18 20:56:09 -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
Slava Pestov
64c209b5c9
Fixes to bootstrap-error.factor and finish-staging.factor
2009-11-16 01:14:24 -06:00
Doug Coleman
cc194416f9
Merge branch 'master' into startup
...
Conflicts:
core/bootstrap/primitives.factor
vm/run.hpp
2009-11-15 02:52:50 -06:00
Slava Pestov
064c00f78d
New identity-hashcode primitive
2009-11-10 21:18:54 -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
Slava Pestov
c05affdce3
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-30 21:00:26 -05:00
Slava Pestov
8d613a8c9a
bootstrap.image: small speedup
2009-10-30 20:53:18 -05:00
Joe Groff
6bcd6c68dd
no need to pre-compile roll/-roll since they're not used in core or basis anymore
2009-10-30 18:00:47 -05:00
Joe Groff
3f15e028f7
exile roll and -roll to basis/shuffle and mark them deprecated
2009-10-30 17:11:45 -05:00
Slava Pestov
6f9336c29e
Merge branch 'master' into new_gc
2009-10-30 03:03:05 -05:00
Doug Coleman
bd13e018dd
memq? -> member-eq?, sorted-memq? -> sorted-member-eq?
2009-10-28 15:02:00 -05:00
Slava Pestov
08e7d25dc5
change-each -> map!, deep-change-each -> deep-map!
2009-10-27 22:32:56 -05:00
Slava Pestov
9abe29bebc
Merge branch 'master' into new_gc
2009-10-24 01:31:15 -05:00
Slava Pestov
2b142dabae
Re-organize a few things to reduce '-include=' image size
2009-10-23 04:32:17 -05:00
Doug Coleman
5b4c1aea5d
run bootstrap and startup hooks inside a with-destructors. use &dispose instead of setting shutdown hooks in a couple of places
2009-10-20 18:26:10 -04:00
Slava Pestov
d85d84697a
Change data heap alignment to 16 bytes
2009-10-20 12:45:00 -05:00
Doug Coleman
6b6e56a179
change add-init-hook to add-startup-hook, new add-shutdown-hook word
2009-10-19 22:17:02 -04:00
Slava Pestov
107c96f642
vm: code heap compaction at runtime using compact-gc primitive
2009-10-16 11:39:35 -05:00
Slava Pestov
38d120f92e
vm: rt-vm relocation now supports accessing a field directly
2009-10-14 19:24:23 -05:00
Keith Lazuka
405e5d015b
docs: change $subsection to $subsections
2009-10-02 12:15:48 -04:00
Slava Pestov
b14c683b32
vm: ignore 'declare' calls in non-optimizing compiler
2009-09-25 18:08:21 -05:00
Slava Pestov
7f2e2b1777
Specialized array overhaul
...
- Replace hand-written specialized-arrays.* subvocabularies with new system; instead of USE:ing specialized-arrays.T, do SPECIALIZED-ARRAY: T
- Ditto for specialized-vectors; use SPECIALIZED-VECTOR:
- io.mmap.functor: removed entirely, use <mapped-array> instead
- struct-arrays and struct-vectors have been removed because specialized arrays and vectors subsume them entirely
2009-09-09 22:33:34 -05:00
Slava Pestov
46045c882e
Disposables are now registered in a global disposables set. To take advantage of this, subclass disposable instead of providing a disposed slot and call new-disposable instead of new. tools.disposables defines two words, 'disposable.' and 'leaks', to help track down resource lifetime problems
2009-08-24 02:26:13 -05:00
Slava Pestov
5e8e83c645
bootstrap.image: smarter object folding; 500kb boot image size reduction on 64-bit
2009-08-22 17:56:58 -05:00
Joe Groff
93c93a392b
Merge branch 'master' of git://factorcode.org/git/factor
2009-08-20 16:21:58 -05:00
Joe Groff
6ca45f07b4
load tools.deprecation from bootstrap.tools
2009-08-20 16:18:28 -05:00
Joe Groff
6089251574
move deprecation to tools.deprecation; load with bootstrap.tools
2009-08-20 16:17:36 -05:00
Slava Pestov
a3631f1878
bootstrap.compiler: add -debug-compiler switch which loads compiler but doesn't compile any words
2009-08-20 03:48:03 -05:00
Doug Coleman
7c92ab1ea5
move if-zero etc to math, remove 1-/1+ from math
2009-08-14 14:27:23 -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
Slava Pestov
e5114aa510
bootstrap.compiler.timing: fix load error
2009-08-03 13:34:28 -05:00
Slava Pestov
c1c8424605
Compiler speedups
2009-08-02 09:16:21 -05:00
Slava Pestov
47920a7a0c
Passing -profile-compiler switch to bootstrap collects timing information from optimizer passes
2009-07-30 21:27:52 -05:00
Slava Pestov
e1caaca6df
bootstrap.compiler: compile a few more words early, for a big bootstrap speed boost
2009-07-30 02:45:29 -05:00
Doug Coleman
407377fc98
rename peek -> last and update all usages
2009-05-25 16:38:33 -05:00
Slava Pestov
a0eb60906d
Fix even more usings
2009-05-16 10:45:17 -05:00
Slava Pestov
fb6df472a2
Cleaning up USING: lists for new strict semantics
2009-05-14 16:54:16 -05:00
Slava Pestov
1877a5ddd5
bootstrap.stage2: strip out UTF16 encoding. It will only be loaded again if needed. This reduces deployed binary size
2009-05-12 04:02:08 -05:00
Slava Pestov
6e08e29a3a
Remove compiled slot from quotations since its not needed
2009-05-12 03:09:15 -05:00
Slava Pestov
4ee4357e75
Fix negative zero smashing with bootstrap
2009-05-09 18:17:30 -05:00
Slava Pestov
4915e1ced7
Clean up bootstrap.image, and implement new calling convention for tail calls; tail call sites now have PICs
2009-05-06 22:04:01 -05:00
Slava Pestov
12a34d81f7
JIT now supports multiple relocations per code template. This simplifies non-optimizing compiler backends
2009-05-06 20:04:49 -05:00
Slava Pestov
581d017b46
Working on inline caching for tail call sites
2009-05-06 19:22:22 -05:00
Slava Pestov
e68a4df399
bootstrap.compiler: clean up
2009-05-05 15:57:08 -05:00
Slava Pestov
b2c3183b21
Split up tools.vocabs. Note that load-everything is now named load-all
2009-05-04 06:44:17 -05:00
Slava Pestov
a63ad6a7a5
Remove cruddy string encoding/decoding code from VM
2009-05-02 13:45:38 -05:00
Slava Pestov
e9e095f240
Rename enable/disable-compiler to enable/disable-optimizer, and add with-optimizer and without-optimizer combinators
2009-05-01 05:52:05 -05:00
Slava Pestov
742d574162
Non-optimizing compiler doesn't need to optimize 'dispatch' primitive anymore since its rarely used
2009-04-30 19:42:08 -05:00
Slava Pestov
f9ec0a07c5
Fix PICs for x86-64
2009-04-30 18:00:49 -05:00
Slava Pestov
5fb5c19d61
Machine code is now stored in a byte array instead of an array for add_code_block()
2009-04-30 04:34:35 -05:00
Slava Pestov
515c619202
Non-optimizing compiler now open-codes megamorphic dispatch fast path
2009-04-30 03:37:07 -05:00
Slava Pestov
3bbfc57de3
bootstrap.image: remove some duplication from emit-object callers
2009-04-29 23:35:02 -05:00
Slava Pestov
62db617927
Get rid of two instructions from tag pics and one instruction from all others
2009-04-29 22:24:28 -05:00
Slava Pestov
bd186b6320
Eliminate 3 instructions from PIC fast path
2009-04-29 21:32:05 -05:00
Slava Pestov
9243316489
Debugging inline caching
2009-04-28 23:05:18 -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
4d10105802
Working on inline caching
2009-04-28 03:48:37 -05:00
Slava Pestov
7e84daf0f1
Move (execute) to kernel.private
2009-04-26 02:42:37 -05:00
Slava Pestov
76281235e7
bootstrap.image: clean up jit-define and define-sub-primitive so that
2009-04-25 22:35:19 -05:00
Slava Pestov
27c84e89fe
Working on faster (execute)
2009-04-25 21:14:59 -05:00
Slava Pestov
2630c4a95f
Add local caching
2009-04-25 20:33:52 -05:00
Slava Pestov
5649cc7a0a
Compiler warnings are no more
2009-04-23 22:17:25 -05:00
Slava Pestov
48e70b65fa
Move cross-referencing stuff to tools.crossref since compiler doesn't depend on it anymore, and compute cross-referencing index as needed; reduces image size by ~4Mb
2009-04-22 04:20:38 -05:00
Slava Pestov
8e1499ab79
Load tools.errors in stage2 so that bootstrap errors print correctly
2009-04-21 23:02:11 -05:00
Slava Pestov
057f75e9a1
Refactor compiler.tree.builder to fix various regressions
2009-04-21 23:02:00 -05:00
Slava Pestov
05f3f9dcb9
Fixing unit tests for stack effect inference changes
2009-04-20 21:15:19 -05:00
Slava Pestov
cd97d3f590
Fix -e switch
2009-04-17 15:49:36 -05:00
Slava Pestov
e52be965f0
Finish moving compiler.errors to basis
2009-04-13 02:50:23 -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
deae1d7bbb
Fix bootstrap
2009-04-10 04:41:26 -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
42f3b0e16e
Fix bootstrap errors
2009-04-06 01:10:34 -05:00
Slava Pestov
474e74a232
Re-organize things so that bootstrap.ui doesn't load ui.text
2009-03-31 23:44:38 -05:00
Slava Pestov
637d06a4f8
Add silly 'tip of the day' feature, and 'recently visited' list to UI browser home page
2009-03-24 04:11:08 -05:00
Slava Pestov
51f9da378c
bootstrap.image: when serializing a tuple whose tuple layout doesn't exist in the target, throw an error instead of generating an image which crashes the VM on startup. Fix some inference warnings
2009-03-22 17:50:13 -05:00
Slava Pestov
786475102d
Make more code infer
2009-03-17 02:19:50 -05:00
Slava Pestov
be4fb1e7d9
Move call( and execute( to core
2009-03-16 20:11:36 -05:00
Slava Pestov
bf41b187b0
Re-organize code so that with-compilation-unit can infer
...
Fix with-compilation-unit to work in deployed code
2009-03-13 19:39:32 -05:00
U-SLAVA-DFB8FF805\Slava
5ff2b19ffe
Use Pango text rendering on Windows
2009-03-02 01:18:27 -06:00
Slava Pestov
f12c0eb2ba
Use pango text backend by default on X11
2009-03-01 20:10:33 -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
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
421ee726b8
Merge branch 'master' into new_ui
2009-02-16 21:22:12 -06:00
Slava Pestov
6b25e99470
Add summary for heaps more vocabs
2009-02-16 21:05:13 -06:00
Slava Pestov
4a639033fa
Merge branch 'master' into new_ui
2009-02-15 21:06:55 -06:00
Slava Pestov
6b99b04531
Add vocab: for vocab-relative paths
2009-02-15 19:53:21 -06:00
Slava Pestov
312bf5939e
Fix conflict
2009-02-12 04:45:45 -06:00
Slava Pestov
421631eebb
bootstrap.image: update documentation (found by mnestic)
2009-02-12 04:16:08 -06:00
Slava Pestov
0a0431e6ab
Fix conflict
2009-01-30 02:24:34 -06:00
Doug Coleman
3c408342ef
renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail
2009-01-29 22:19:07 -06:00
Slava Pestov
505c9a77c2
Merge branch 'master' into new_ui
2009-01-29 22:11:34 -06:00
Doug Coleman
1a1ed1b7a3
split-last "." on windows
2009-01-29 21:11:35 -06:00
Slava Pestov
eaad0c7660
Updating code to use CONSTANT: instead of : foo 123 ; inline
2009-02-23 21:40:17 -06:00
Slava Pestov
348984b3d6
Fix bootstrap.ui.tools to load ui.backend.cocoa.tools on Mac OS X
2009-01-28 00:31:11 -06:00
Slava Pestov
d8e135a4d3
Merge branch 'master' into new_ui
2009-01-27 00:08:52 -06:00
Slava Pestov
1dca238581
make-image can now generate images with Unicode strings
2009-01-27 00:03:19 -06:00
Slava Pestov
d48a175207
Merge branch 'master' into new_ui
2009-01-26 15:45:29 -06:00
Slava Pestov
c440b889ea
Fix make-image
2009-01-26 04:51:59 -06:00
Slava Pestov
4f5a927afb
Move UI text backends to ui.text.*, move UI backends to ui.backend.*, add font datatype
2009-01-26 00:36:37 -06:00
Slava Pestov
acd49fa557
Merge branch 'master' into new_ui
2009-01-25 23:20:52 -06:00
Slava Pestov
7851aac222
Replace some usages of prepose with fry
2009-01-25 23:04:35 -06:00
Slava Pestov
d4122b5715
Update Unicode docs
2009-01-25 23:03:49 -06:00
Slava Pestov
ef223f26d5
Fix conflict
2009-01-24 23:56:33 -06:00
Slava Pestov
f34c14a0f5
Remove some usages of tuck
2009-01-23 18:20:47 -06:00
Slava Pestov
a8d1459c08
Rename compiled slot of words to optimized, to reflect what it really means (all words are compiled)
2009-01-23 00:37:02 -06:00
Slava Pestov
25b0512fd6
Move fonts to basis/bitstream-vera
...
Use ui.cocoa.text instead of ui.freetype on Mac OS X
Update deploy tool to not copy fonts/ directory on Mac OS X
2009-01-20 14:31:09 -06:00
Slava Pestov
d6e7eefde3
Fix mnestic's bug and remove math.complex.prettyprint hack
2009-01-14 01:02:27 -06:00
Slava Pestov
4204fd495f
Move formatted stream output words to io.styles; they didn't belong in core, and this reduces deployed image size
2009-01-13 17:12:43 -06:00
Daniel Ehrenberg
8d8efb6dce
Fixing Unicode bootstrap issue (hopefully)
2009-01-08 22:49:24 -06:00
Slava Pestov
977837143b
Load help.lint by default
2009-01-08 17:03:06 -06:00
Daniel Ehrenberg
501fb3ccf1
Unicode docs
2009-01-07 17:59:01 -06:00
Slava Pestov
c5160d76e9
Merge qualified, alias, symbols, constants into core
2008-12-17 18:10:01 -06:00
Slava Pestov
daf2857d7b
define-inline now takes an effect parameter
...
C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words
2008-12-15 19:44:56 -06:00
Slava Pestov
59a5e554d4
Split up io.directories further, move file types to io.files.types. Bunny demo no longer pulls in file-info and file-system-info code, reducing image size by 35kb
2008-12-15 00:01:06 -06:00
Slava Pestov
50e214c152
io.files split up and general refactoring work in progress
2008-12-14 20:03:00 -06:00
Slava Pestov
93b7215f1b
Returning from boot quotation wouldn't exit Factor if run loop MX was in use
2008-12-13 04:10:39 -06:00
Slava Pestov
b3428c61e6
Better bootstrap error handling
2008-12-12 21:06:16 -06:00
Slava Pestov
ec23584f48
Finish up O(1) byte array allocation
2008-12-09 18:17:04 -06:00
Slava Pestov
7940020491
Untangling more dependencies
2008-12-08 16:02:31 -06:00
Slava Pestov
4f0a9f311e
Untangling some dependencies
2008-12-08 14:58:00 -06:00
Doug Coleman
14fb58f448
swap ... 3append -> surround in basis
2008-12-06 18:58:45 -06:00
Slava Pestov
145b635eb6
More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser
...
- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR
2008-12-06 11:17:19 -06:00
Slava Pestov
e256846acd
Tweak string representation; high bit indicates if character has high bits in aux vector. Avoids memory access in common case. Split set-string-nth into two primitives; set-string-nth-fast is open-coded by optimizing compiler. 13% improvement on reverse-complement
2008-12-05 06:38:51 -06:00
Slava Pestov
a558f91d5d
Better command-line processing
2008-12-01 16:10:48 -06:00
Doug Coleman
ed2c3a22fe
remove >r r>
2008-11-29 13:40:43 -06:00
Slava Pestov
ab689c098b
Clean up direct literal code and make a first attempt at PowerPC support
2008-11-24 08:16:14 -06:00
Slava Pestov
d86524f4bc
Non-optimizing compiler now compiles dip, 2dip, 3dip, if, with direct branches instead of indirect branches. 8% bootstrap time improvement on Core Duo 2
2008-11-24 00:23:17 -06:00
Slava Pestov
7788b3e0db
Merge branch 'master' into microseconds
2008-11-23 03:06:32 -06:00
Slava Pestov
a4d9cdfeb3
Refactor all usages of >r/r> in core to use dip, 2dip, 3dip
...
Non-optimizing compiler now special-cases dip, 2dip, 3dip following a
literal quotation: this allows us to break the dip/slip meta-circle
without explicit calls to >r/r>
2008-11-23 02:44:56 -06:00
Slava Pestov
7c61cf190f
Circularity between vocabularies no longer causes an infinite loop; loading a vocabulary like json or furnace no longer loads certain files twice
2008-11-23 00:04:18 -06:00
Slava Pestov
f5513877ec
Don't load listener into deployment image
2008-11-22 19:58:05 -06:00
Slava Pestov
8819f23312
Replace millis primitive with micros primitive
...
Add millis as a library word
sleep now takes either a duration or a microsecond count; code using durations doens't need to be updated, code using millisecond counts updated to use durations for the most part
2008-11-19 01:50:05 -06:00
unknown
93c8f5a2f4
Use our MD5 library instead of OpenSSL so that we can run builder without OpenSSL being installed
2008-11-17 18:43:59 -06:00
Slava Pestov
cfa82cb474
New calling convention for VM primitives:
...
instead of the Factor side passing the stack pointer as the first parameter, and having the VM save it to stack_chain->top, we instead have the Factor side save it. Eliminates a lot of crud in the VM
2008-11-13 03:20:34 -06:00
Eduardo Cavazos
2489ac5205
bootstrap.stage2: Factor out 'print-time'
2008-11-10 21:27:48 -06:00
Eduardo Cavazos
78d9452b7e
basis/bootstrap/stage2: Show core bootstrap time in report
2008-11-10 20:05:50 -06:00
Slava Pestov
9cc193ea5b
Add unportable tags and fix my-arch word
2008-11-07 22:37:40 -06:00