Merge branch 'master' of git://factorcode.org/git/factor

db4
Joe Groff 2009-02-18 16:57:38 -06:00
commit 64a37ffde7
407 changed files with 18680 additions and 584 deletions

View File

@ -0,0 +1 @@
Code generation for C99 complex number support

View File

@ -0,0 +1 @@
Utilities used in implementation of alien parsing words

View File

@ -0,0 +1 @@
Prettyprinting aliens and DLLs

View File

@ -0,0 +1 @@
Passing Factor strings as C strings and vice versa

View File

@ -0,0 +1 @@
Default string encoding on Unix

View File

@ -0,0 +1 @@
Default string encoding on Windows

View File

@ -0,0 +1 @@
Struct field implementation and reflection support

View File

@ -0,0 +1 @@
Priority queue with fast insertion, removal of first element, and lookup of arbitrary elements by key

View File

@ -0,0 +1 @@
Reading sequences of bits from a byte stream

View File

@ -5,12 +5,13 @@ IN: bootstrap.help
: load-help ( -- )
"help.lint" require
"tools.vocabs.browser" require
"alien.syntax" require
"compiler" require
t load-help? set-global
[ drop ] load-vocab-hook [
[ vocab ] load-vocab-hook [
dictionary get values
[ docs-loaded?>> not ] filter
[ load-docs ] each

View File

@ -93,9 +93,9 @@ SYMBOL: bootstrap-time
"tools.deploy.shaker" run
] [
"staging" get [
"resource:basis/bootstrap/finish-staging.factor" run-file
"vocab:bootstrap/finish-staging.factor" run-file
] [
"resource:basis/bootstrap/finish-bootstrap.factor" run-file
"vocab:bootstrap/finish-bootstrap.factor" run-file
] if
"output-image" get save-image-and-exit
@ -104,6 +104,6 @@ SYMBOL: bootstrap-time
drop
[
load-help? off
"resource:basis/bootstrap/bootstrap-error.factor" run-file
"vocab:bootstrap/bootstrap-error.factor" run-file
] with-scope
] recover

View File

@ -1,9 +1,8 @@
USING: arrays byte-arrays help.markup help.syntax kernel
byte-vectors.private combinators ;
USING: arrays byte-arrays help.markup help.syntax kernel combinators ;
IN: byte-vectors
ARTICLE: "byte-vectors" "Byte vectors"
"A byte vector is a resizable mutable sequence of unsigned bytes. Byte vector words are found in the " { $vocab-link "byte-vectors" } " vocabulary."
"The " { $vocab-link "byte-vectors" } " vocabulary implements resizable mutable sequence of unsigned bytes. Byte vectors implement the " { $link "sequence-protocol" } " and thus all " { $link "sequences" } " can be used with them."
$nl
"Byte vectors form a class:"
{ $subsection byte-vector }

View File

@ -0,0 +1 @@
Low-level alien interface to Cairo library

View File

@ -0,0 +1 @@
UI gadget for rendering graphics with Cairo

View File

@ -51,6 +51,11 @@ IN: calendar.format.tests
timestamp>string
] unit-test
[ "20080504070000" ] [
"Sun May 04 07:00:00 2008 GMT" cookie-string>timestamp
timestamp>mdtm
] unit-test
[
T{ timestamp f
2008
@ -74,3 +79,5 @@ IN: calendar.format.tests
{ gmt-offset T{ duration f 0 0 0 0 0 0 } }
}
] [ "Thursday, 02-Oct-2008 23:59:59 GMT" cookie-string>timestamp ] unit-test

View File

@ -78,6 +78,9 @@ M: integer year. ( n -- )
M: timestamp year. ( timestamp -- )
year>> year. ;
: timestamp>mdtm ( timestamp -- str )
[ { YYYY MM DD hh mm ss } formatted ] with-string-writer ;
: (timestamp>string) ( timestamp -- )
{ DAY ", " D " " MONTH " " YYYY " " hh ":" mm ":" ss } formatted ;

View File

@ -0,0 +1 @@
Implementation details for calendar.format

View File

@ -0,0 +1 @@
Unix-specific timezone support and C library time data types

View File

@ -0,0 +1 @@
Windows-specific timezone support

1
basis/call/summary.txt Normal file
View File

@ -0,0 +1 @@
Calling arbitrary quotations and executing arbitrary words with a static stack effect

View File

@ -0,0 +1 @@
Adler-32 checksum algorithm

View File

@ -0,0 +1 @@
MD5 checksum algorithm

View File

@ -0,0 +1 @@
Dummy checksum algorithm

View File

@ -0,0 +1 @@
OpenSSL's MD5 and SHA1 checksums

View File

@ -0,0 +1 @@
SHA1 checksum algorithm

View File

@ -0,0 +1 @@
SHA2 checksum algorithm

View File

@ -0,0 +1 @@
Computing checksums of streaming data

View File

@ -0,0 +1 @@
Support for iterating over NSFastEnumerations

View File

@ -0,0 +1 @@
Reading and writing Cocoa property lists

View File

@ -0,0 +1 @@
Grayscale colors

View File

@ -0,0 +1 @@
Hue-saturation-value colors

View File

@ -0,0 +1 @@
Short-circuiting logical operations which infer the arity

View File

@ -0,0 +1 @@
Short-circuiting logical operations

View File

@ -0,0 +1 @@
Combinators which infer arities

View File

@ -0,0 +1 @@
Common code used for analysis and code generation of alien bindings

View File

@ -0,0 +1 @@
Alias analysis for stack operations, array elements and tuple slots

View File

@ -55,7 +55,7 @@ GENERIC: emit-node ( node -- next )
: begin-word ( -- )
#! We store the basic block after the prologue as a loop
#! labelled by the current word, so that self-recursive
#! labeled by the current word, so that self-recursive
#! calls can skip an epilogue/prologue.
##prologue
##branch

View File

@ -0,0 +1 @@
Common code used by several passes to perform copy propagation

View File

@ -0,0 +1 @@
Dead-code elimination

View File

@ -0,0 +1 @@
Tools for debugging low-level optimizer

View File

@ -0,0 +1 @@
Common code used by several passes for def-use analysis

View File

@ -0,0 +1 @@
Utility for constructing basic blocks

View File

@ -0,0 +1 @@
Stack height normalization coalesces height changes at start of basic block

View File

@ -0,0 +1 @@
Basic block instructions

View File

@ -0,0 +1 @@
Parsing word for defining instructions

View File

@ -0,0 +1 @@
Generating instructions for alien calls

View File

@ -0,0 +1 @@
Generating instructions for inline memory allocation

View File

@ -0,0 +1 @@
Generating instructions for fixnum arithmetic

View File

@ -0,0 +1 @@
Generating instructions for floating point arithmetic

View File

@ -0,0 +1 @@
Generating instructions for miscellaneous primitives

View File

@ -0,0 +1 @@
Generating instructions for slot access

View File

@ -0,0 +1 @@
Generating instructions from certain primitives

View File

@ -0,0 +1 @@
Utility for iterating for high-level IR

View File

@ -0,0 +1 @@
Allocating registers for live intervals

View File

@ -0,0 +1 @@
Assigning registers to live intervals

View File

@ -0,0 +1 @@
Tools for debugging register allocator

View File

@ -0,0 +1 @@
Live intervals

View File

@ -0,0 +1 @@
Linear-scan register allocation

View File

@ -0,0 +1 @@
Flattening CFG into MR (machine representation)

View File

@ -0,0 +1 @@
Top-level harness for CFG optimization

View File

@ -0,0 +1 @@
Computing predecessors of basic blocks in CFG

View File

@ -0,0 +1 @@
Virtual single-assignment registers

View File

@ -0,0 +1 @@
Reverse post-order linearization of CFG

View File

@ -0,0 +1 @@
Computing stack frame size and layout

View File

@ -0,0 +1 @@
Generating instructions for accessing the data and retain stacks

View File

@ -0,0 +1 @@
Low-level control flow graph IR

View File

@ -0,0 +1 @@
Converting three-operand instructions into two-operand form

View File

@ -0,0 +1 @@
Eliminating unreachable basic blocks and unconditional jumps

View File

@ -0,0 +1 @@
Utility words used by CFG optimization

View File

@ -0,0 +1 @@
Value numbering expressions

View File

@ -0,0 +1 @@
Value numbering expression graph

View File

@ -0,0 +1 @@
Propagation pass to update code after value numbering

View File

@ -0,0 +1 @@

View File

@ -0,0 +1 @@
Algebraic simplification of expressions

View File

@ -0,0 +1 @@
Local value numbering for common subexpression elimination

View File

@ -0,0 +1 @@
Write barrier elimination

View File

@ -0,0 +1 @@
Code generation from MR (machine representation)

View File

@ -0,0 +1 @@
Constructing high-level tree IR

View File

@ -0,0 +1 @@
Debugging tool for checking various invariants of tree IR

View File

@ -0,0 +1 @@
Finalizing speculative inlining and constant folding from propagation pass

View File

@ -0,0 +1 @@
Combinators for iterating over tree IR

View File

@ -0,0 +1 @@
Utilities for working with binary comparison operations

View File

@ -0,0 +1 @@
Dead branch elimination

View File

@ -0,0 +1 @@
Liveness analysis

View File

@ -0,0 +1 @@
Dead code elimination for inline recursive combinators

View File

@ -0,0 +1 @@
Dead code elimination for straight-line code

View File

@ -0,0 +1 @@
Dead code elimination

View File

@ -0,0 +1 @@
Tools for debugging high-level optimizer

View File

@ -0,0 +1 @@
Variant form of def-use chains used by modular arithmetic optimization

View File

@ -0,0 +1 @@
Tracking memory allocations

View File

@ -0,0 +1 @@
Escape analysis for conditionals

View File

@ -0,0 +1 @@
Skipping escape analysis pass for code which does not allocate

View File

@ -0,0 +1 @@
Per-node dispatch for escape analysis

View File

@ -0,0 +1 @@
Escape analysis for inline recursive combinators

View File

@ -0,0 +1 @@
Escape analysis for straight-line code

View File

@ -0,0 +1 @@
Escape analysis for tuple unboxing

View File

@ -0,0 +1 @@
Final pass cleans up high-level IR

View File

@ -0,0 +1 @@
Applying arithmetic identities to integer code

View File

@ -0,0 +1 @@
Utilities used by several optimization passes run in the later stages

View File

@ -0,0 +1 @@
Modular arithmetic optimization

Some files were not shown because too many files have changed in this diff Show More