The Racket repository
![]() The rule for using generation 1/2is based on the current memory use versus the maximum size of generation 0. Recent changes to the GC have caused that size to vary during a collection, which means that the choice to use generation 1/2 or not can change within a collection. Partial use of generation 1/2 doesn't inherently cause problems, but it can cause a generation-1 object to point to a generation-1/2 object even though the former was allocated after the latter. That's a problem on if getting generations out of order relative to allocation order can create problems. As it happens, reset_finalizer_tree() checks the generation of the finalization record and not the finalized pointer, because the record is always allocated after the pointer. Merge to v6.3 |
||
---|---|---|
pkgs | ||
racket | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.travis.yml | ||
appveyor.yml | ||
INSTALL.txt | ||
Makefile | ||
README.txt |
This is the source code for the main Racket distribution. See "INSTALL.txt" for information on building Racket. License ------- Racket Copyright (c) 2010-2015 PLT Design Inc. Racket is distributed under the GNU Lesser General Public License (LGPL). This implies that you may link Racket into proprietary applications, provided you follow the rules stated in the LGPL. You can also modify Racket; if you distribute a modified version, you must distribute it under the terms of the LGPL, which in particular states that you must release the source code for the modified software. See racket/src/COPYING_LESSER.txt for more information.