Merge branch 'master' of git://factorcode.org/git/factor
commit
64a37ffde7
|
@ -0,0 +1 @@
|
||||||
|
Code generation for C99 complex number support
|
|
@ -0,0 +1 @@
|
||||||
|
Utilities used in implementation of alien parsing words
|
|
@ -0,0 +1 @@
|
||||||
|
Prettyprinting aliens and DLLs
|
|
@ -0,0 +1 @@
|
||||||
|
Passing Factor strings as C strings and vice versa
|
|
@ -0,0 +1 @@
|
||||||
|
Default string encoding on Unix
|
|
@ -0,0 +1 @@
|
||||||
|
Default string encoding on Windows
|
|
@ -0,0 +1 @@
|
||||||
|
Struct field implementation and reflection support
|
|
@ -0,0 +1 @@
|
||||||
|
Priority queue with fast insertion, removal of first element, and lookup of arbitrary elements by key
|
|
@ -0,0 +1 @@
|
||||||
|
Reading sequences of bits from a byte stream
|
|
@ -5,12 +5,13 @@ IN: bootstrap.help
|
||||||
|
|
||||||
: load-help ( -- )
|
: load-help ( -- )
|
||||||
"help.lint" require
|
"help.lint" require
|
||||||
|
"tools.vocabs.browser" require
|
||||||
"alien.syntax" require
|
"alien.syntax" require
|
||||||
"compiler" require
|
"compiler" require
|
||||||
|
|
||||||
t load-help? set-global
|
t load-help? set-global
|
||||||
|
|
||||||
[ drop ] load-vocab-hook [
|
[ vocab ] load-vocab-hook [
|
||||||
dictionary get values
|
dictionary get values
|
||||||
[ docs-loaded?>> not ] filter
|
[ docs-loaded?>> not ] filter
|
||||||
[ load-docs ] each
|
[ load-docs ] each
|
||||||
|
|
|
@ -93,9 +93,9 @@ SYMBOL: bootstrap-time
|
||||||
"tools.deploy.shaker" run
|
"tools.deploy.shaker" run
|
||||||
] [
|
] [
|
||||||
"staging" get [
|
"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
|
] if
|
||||||
|
|
||||||
"output-image" get save-image-and-exit
|
"output-image" get save-image-and-exit
|
||||||
|
@ -104,6 +104,6 @@ SYMBOL: bootstrap-time
|
||||||
drop
|
drop
|
||||||
[
|
[
|
||||||
load-help? off
|
load-help? off
|
||||||
"resource:basis/bootstrap/bootstrap-error.factor" run-file
|
"vocab:bootstrap/bootstrap-error.factor" run-file
|
||||||
] with-scope
|
] with-scope
|
||||||
] recover
|
] recover
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
USING: arrays byte-arrays help.markup help.syntax kernel
|
USING: arrays byte-arrays help.markup help.syntax kernel combinators ;
|
||||||
byte-vectors.private combinators ;
|
|
||||||
IN: byte-vectors
|
IN: byte-vectors
|
||||||
|
|
||||||
ARTICLE: "byte-vectors" "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
|
$nl
|
||||||
"Byte vectors form a class:"
|
"Byte vectors form a class:"
|
||||||
{ $subsection byte-vector }
|
{ $subsection byte-vector }
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Low-level alien interface to Cairo library
|
|
@ -0,0 +1 @@
|
||||||
|
UI gadget for rendering graphics with Cairo
|
|
@ -51,6 +51,11 @@ IN: calendar.format.tests
|
||||||
timestamp>string
|
timestamp>string
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
|
[ "20080504070000" ] [
|
||||||
|
"Sun May 04 07:00:00 2008 GMT" cookie-string>timestamp
|
||||||
|
timestamp>mdtm
|
||||||
|
] unit-test
|
||||||
|
|
||||||
[
|
[
|
||||||
T{ timestamp f
|
T{ timestamp f
|
||||||
2008
|
2008
|
||||||
|
@ -74,3 +79,5 @@ IN: calendar.format.tests
|
||||||
{ gmt-offset T{ duration f 0 0 0 0 0 0 } }
|
{ gmt-offset T{ duration f 0 0 0 0 0 0 } }
|
||||||
}
|
}
|
||||||
] [ "Thursday, 02-Oct-2008 23:59:59 GMT" cookie-string>timestamp ] unit-test
|
] [ "Thursday, 02-Oct-2008 23:59:59 GMT" cookie-string>timestamp ] unit-test
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -78,6 +78,9 @@ M: integer year. ( n -- )
|
||||||
M: timestamp year. ( timestamp -- )
|
M: timestamp year. ( timestamp -- )
|
||||||
year>> year. ;
|
year>> year. ;
|
||||||
|
|
||||||
|
: timestamp>mdtm ( timestamp -- str )
|
||||||
|
[ { YYYY MM DD hh mm ss } formatted ] with-string-writer ;
|
||||||
|
|
||||||
: (timestamp>string) ( timestamp -- )
|
: (timestamp>string) ( timestamp -- )
|
||||||
{ DAY ", " D " " MONTH " " YYYY " " hh ":" mm ":" ss } formatted ;
|
{ DAY ", " D " " MONTH " " YYYY " " hh ":" mm ":" ss } formatted ;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Implementation details for calendar.format
|
|
@ -0,0 +1 @@
|
||||||
|
Unix-specific timezone support and C library time data types
|
|
@ -0,0 +1 @@
|
||||||
|
Windows-specific timezone support
|
|
@ -0,0 +1 @@
|
||||||
|
Calling arbitrary quotations and executing arbitrary words with a static stack effect
|
|
@ -0,0 +1 @@
|
||||||
|
Adler-32 checksum algorithm
|
|
@ -0,0 +1 @@
|
||||||
|
MD5 checksum algorithm
|
|
@ -0,0 +1 @@
|
||||||
|
Dummy checksum algorithm
|
|
@ -0,0 +1 @@
|
||||||
|
OpenSSL's MD5 and SHA1 checksums
|
|
@ -0,0 +1 @@
|
||||||
|
SHA1 checksum algorithm
|
|
@ -0,0 +1 @@
|
||||||
|
SHA2 checksum algorithm
|
|
@ -0,0 +1 @@
|
||||||
|
Computing checksums of streaming data
|
|
@ -0,0 +1 @@
|
||||||
|
Support for iterating over NSFastEnumerations
|
|
@ -0,0 +1 @@
|
||||||
|
Reading and writing Cocoa property lists
|
|
@ -0,0 +1 @@
|
||||||
|
Grayscale colors
|
|
@ -0,0 +1 @@
|
||||||
|
Hue-saturation-value colors
|
|
@ -0,0 +1 @@
|
||||||
|
Short-circuiting logical operations which infer the arity
|
|
@ -0,0 +1 @@
|
||||||
|
Short-circuiting logical operations
|
|
@ -0,0 +1 @@
|
||||||
|
Combinators which infer arities
|
|
@ -0,0 +1 @@
|
||||||
|
Common code used for analysis and code generation of alien bindings
|
|
@ -0,0 +1 @@
|
||||||
|
Alias analysis for stack operations, array elements and tuple slots
|
|
@ -55,7 +55,7 @@ GENERIC: emit-node ( node -- next )
|
||||||
|
|
||||||
: begin-word ( -- )
|
: begin-word ( -- )
|
||||||
#! We store the basic block after the prologue as a loop
|
#! 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.
|
#! calls can skip an epilogue/prologue.
|
||||||
##prologue
|
##prologue
|
||||||
##branch
|
##branch
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Common code used by several passes to perform copy propagation
|
|
@ -0,0 +1 @@
|
||||||
|
Dead-code elimination
|
|
@ -0,0 +1 @@
|
||||||
|
Tools for debugging low-level optimizer
|
|
@ -0,0 +1 @@
|
||||||
|
Common code used by several passes for def-use analysis
|
|
@ -0,0 +1 @@
|
||||||
|
Utility for constructing basic blocks
|
|
@ -0,0 +1 @@
|
||||||
|
Stack height normalization coalesces height changes at start of basic block
|
|
@ -0,0 +1 @@
|
||||||
|
Basic block instructions
|
|
@ -0,0 +1 @@
|
||||||
|
Parsing word for defining instructions
|
|
@ -0,0 +1 @@
|
||||||
|
Generating instructions for alien calls
|
|
@ -0,0 +1 @@
|
||||||
|
Generating instructions for inline memory allocation
|
|
@ -0,0 +1 @@
|
||||||
|
Generating instructions for fixnum arithmetic
|
|
@ -0,0 +1 @@
|
||||||
|
Generating instructions for floating point arithmetic
|
|
@ -0,0 +1 @@
|
||||||
|
Generating instructions for miscellaneous primitives
|
|
@ -0,0 +1 @@
|
||||||
|
Generating instructions for slot access
|
|
@ -0,0 +1 @@
|
||||||
|
Generating instructions from certain primitives
|
|
@ -0,0 +1 @@
|
||||||
|
Utility for iterating for high-level IR
|
|
@ -0,0 +1 @@
|
||||||
|
Allocating registers for live intervals
|
|
@ -0,0 +1 @@
|
||||||
|
Assigning registers to live intervals
|
|
@ -0,0 +1 @@
|
||||||
|
Tools for debugging register allocator
|
|
@ -0,0 +1 @@
|
||||||
|
Live intervals
|
|
@ -0,0 +1 @@
|
||||||
|
Linear-scan register allocation
|
|
@ -0,0 +1 @@
|
||||||
|
Flattening CFG into MR (machine representation)
|
|
@ -0,0 +1 @@
|
||||||
|
Top-level harness for CFG optimization
|
|
@ -0,0 +1 @@
|
||||||
|
Computing predecessors of basic blocks in CFG
|
|
@ -0,0 +1 @@
|
||||||
|
Virtual single-assignment registers
|
|
@ -0,0 +1 @@
|
||||||
|
Reverse post-order linearization of CFG
|
|
@ -0,0 +1 @@
|
||||||
|
Computing stack frame size and layout
|
|
@ -0,0 +1 @@
|
||||||
|
Generating instructions for accessing the data and retain stacks
|
|
@ -0,0 +1 @@
|
||||||
|
Low-level control flow graph IR
|
|
@ -0,0 +1 @@
|
||||||
|
Converting three-operand instructions into two-operand form
|
|
@ -0,0 +1 @@
|
||||||
|
Eliminating unreachable basic blocks and unconditional jumps
|
|
@ -0,0 +1 @@
|
||||||
|
Utility words used by CFG optimization
|
|
@ -0,0 +1 @@
|
||||||
|
Value numbering expressions
|
|
@ -0,0 +1 @@
|
||||||
|
Value numbering expression graph
|
|
@ -0,0 +1 @@
|
||||||
|
Propagation pass to update code after value numbering
|
|
@ -0,0 +1 @@
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Algebraic simplification of expressions
|
|
@ -0,0 +1 @@
|
||||||
|
Local value numbering for common subexpression elimination
|
|
@ -0,0 +1 @@
|
||||||
|
Write barrier elimination
|
|
@ -0,0 +1 @@
|
||||||
|
Code generation from MR (machine representation)
|
|
@ -0,0 +1 @@
|
||||||
|
Constructing high-level tree IR
|
|
@ -0,0 +1 @@
|
||||||
|
Debugging tool for checking various invariants of tree IR
|
|
@ -0,0 +1 @@
|
||||||
|
Finalizing speculative inlining and constant folding from propagation pass
|
|
@ -0,0 +1 @@
|
||||||
|
Combinators for iterating over tree IR
|
|
@ -0,0 +1 @@
|
||||||
|
Utilities for working with binary comparison operations
|
|
@ -0,0 +1 @@
|
||||||
|
Dead branch elimination
|
|
@ -0,0 +1 @@
|
||||||
|
Liveness analysis
|
|
@ -0,0 +1 @@
|
||||||
|
Dead code elimination for inline recursive combinators
|
|
@ -0,0 +1 @@
|
||||||
|
Dead code elimination for straight-line code
|
|
@ -0,0 +1 @@
|
||||||
|
Dead code elimination
|
|
@ -0,0 +1 @@
|
||||||
|
Tools for debugging high-level optimizer
|
|
@ -0,0 +1 @@
|
||||||
|
Variant form of def-use chains used by modular arithmetic optimization
|
|
@ -0,0 +1 @@
|
||||||
|
Tracking memory allocations
|
|
@ -0,0 +1 @@
|
||||||
|
Escape analysis for conditionals
|
|
@ -0,0 +1 @@
|
||||||
|
Skipping escape analysis pass for code which does not allocate
|
|
@ -0,0 +1 @@
|
||||||
|
Per-node dispatch for escape analysis
|
|
@ -0,0 +1 @@
|
||||||
|
Escape analysis for inline recursive combinators
|
|
@ -0,0 +1 @@
|
||||||
|
Escape analysis for straight-line code
|
|
@ -0,0 +1 @@
|
||||||
|
Escape analysis for tuple unboxing
|
|
@ -0,0 +1 @@
|
||||||
|
Final pass cleans up high-level IR
|
|
@ -0,0 +1 @@
|
||||||
|
Applying arithmetic identities to integer code
|
|
@ -0,0 +1 @@
|
||||||
|
Utilities used by several optimization passes run in the later stages
|
|
@ -0,0 +1 @@
|
||||||
|
Modular arithmetic optimization
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue