Clean up GC2 docs
This commit is contained in:
parent
2cffc7ede7
commit
e38d15df41
|
@ -70,7 +70,7 @@ Determines if @racket[v] is a root.
|
||||||
|
|
||||||
@defproc[(heap-value? [v any/c]) boolean?]{
|
@defproc[(heap-value? [v any/c]) boolean?]{
|
||||||
A value that may be stored on the heap. Roughly corresponds to the contract
|
A value that may be stored on the heap. Roughly corresponds to the contract
|
||||||
@racket[(or/c boolean? number? procedure? symbol? empty?)].
|
@racket[(or/c boolean? number? symbol? empty?)].
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -185,11 +185,6 @@ store a tag, etc. You are also welcome to pre-allocate common constants (e.g.,
|
||||||
the empty list). This procedure may need to perform a garbage-collection. If
|
the empty list). This procedure may need to perform a garbage-collection. If
|
||||||
there is still insufficient space, it should signal an error.
|
there is still insufficient space, it should signal an error.
|
||||||
|
|
||||||
Note that closures are flat values. The environment of a closure is internally
|
|
||||||
managed, but contains references to values on the heap. Therefore, during
|
|
||||||
garbage collection, the environment of reachable closures must be updated. The
|
|
||||||
language exposes the environment via the @racket[procedure-roots] function.
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@defproc[(gc:cons (first root?) (rest root?)) location?]{
|
@defproc[(gc:cons (first root?) (rest root?)) location?]{
|
||||||
|
|
|
@ -13,14 +13,13 @@
|
||||||
exact-positive-integer?)
|
exact-positive-integer?)
|
||||||
(only-in racket/contract/base
|
(only-in racket/contract/base
|
||||||
or/c listof any/c)
|
or/c listof any/c)
|
||||||
(only-in plai/collector
|
(only-in plai/gc2/collector
|
||||||
root?
|
root?
|
||||||
heap-size
|
heap-size
|
||||||
location?
|
location?
|
||||||
heap-value?
|
heap-value?
|
||||||
heap-set! heap-ref with-heap
|
heap-set! heap-ref with-heap
|
||||||
get-root-set read-root set-root!
|
get-root-set read-root set-root!)
|
||||||
procedure-roots)
|
|
||||||
plai/scribblings/fake-collector2
|
plai/scribblings/fake-collector2
|
||||||
plai/scribblings/fake-mutator2
|
plai/scribblings/fake-mutator2
|
||||||
plai/random-mutator
|
plai/random-mutator
|
||||||
|
@ -33,12 +32,13 @@
|
||||||
|
|
||||||
@defmodulelang[plai/gc2/mutator]
|
@defmodulelang[plai/gc2/mutator]
|
||||||
|
|
||||||
The @MUTATE-LANG language is used to test garbage collectors written with the
|
The @MUTATE-LANG language is used to test garbage collectors written
|
||||||
@secref["collector"] language. Since collectors support a subset of Racket's
|
with the @secref["gc2-collector"] language. Since collectors support
|
||||||
values, the @MUTATE-LANG language supports a subset of procedures and syntax.
|
a subset of Racket's values, the @MUTATE-LANG language supports a
|
||||||
In addition, many procedures that can be written in the mutator are omitted as
|
subset of procedures and syntax. In addition, many procedures that
|
||||||
they make good test cases. Therefore, the mutator language provides only
|
can be written in the mutator are omitted as they make good test
|
||||||
primitive procedures, such as @racket[+], @racket[cons], etc.
|
cases. Therefore, the mutator language provides only primitive
|
||||||
|
procedures, such as @racket[+], @racket[cons], etc.
|
||||||
|
|
||||||
@section{Building Mutators for GC2}
|
@section{Building Mutators for GC2}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user