Commit Graph

281 Commits (dff051696eb3ecda883a12e3f056257cf50406e8)

Author SHA1 Message Date
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