Commit Graph

490 Commits

Author SHA1 Message Date
Matthew Flatt
f17d94056f fix tl-map parse & marshal
original commit: 8ad8d5b7f7
2011-05-09 12:24:05 -06:00
Matthew Flatt
ee407d6610 fix varref' in compiler/zo-structs', etc.
and sync docs better with implementation

original commit: a4da2a3f4c
2011-05-09 09:43:32 -06:00
Matthew Flatt
13e715ef44 fix decompiler's listing of captured top- and module-level variables
original commit: db75dddf87
2011-05-08 17:01:23 -06:00
Matthew Flatt
87373a2e0c reorgnize datatypes of less common bytecode forms
removing a layer of indirection, and setting up
 for an internal reorganization of the compiler code

original commit: e9721058fb
2011-05-06 06:56:23 -06:00
Matthew Flatt
805b8627f3 fix zo-marshal' for #f toplevel-map in lam'
original commit: 87a4132b40
2011-05-03 14:43:27 -06:00
Matthew Flatt
1955c935ff break link to namespaces from from closures over top-/module-level vars
- the `lam' structure from `compiler/zo-struct' changed to include a
   `toplevel-map' field

 This change helps solve a finalization problem in `racket/draw',
 which in turn sigificantly reduces the peak memory use of `raco setup'
 during the doc-building phase (because some documents load `racket/draw'
 to render images, and multiple copies of `racket/draw' were retained
 before finalization was fixed).

 The change is an extreme way to solve a specific finalization
 problem, but it's a kind of space-safety improvement; space safety
 almost never matters, but when it does, then working around a lack of
 space safety is practically impossible. In this case, it's not clear
 how to otherwise solve the `racket/draw' finalization problem.

 The improvement doesn't change the representation of closures, but it
 requires special cooperation with the GC. All closures in a module
 continue to share the same array of globals (plus syntax objects);
 that is, instead of completely flat closures, Racket uses a two-level
 environment where top-/module-level variables are grouped
 together. The code half of a closure now records which
 top-/module-level variables the body code actually uses, and the mark
 phase of GC consults this information to retain only parts of the
 top-/module-level environment frame that are actually used by some
 closure (or all of the frame if it is accessible through some other
 route).  In other words, the GC supports a kind of "dependent
 reference" to an array that is indexed by positions into the array
 --- except that the code is more in the "Racket" directory instead of
 the "GC" directory, since it's so specific to the closure
 representation.

original commit: 2ada6d0e89
2011-05-03 06:57:49 -06:00
Matthew Flatt
9f2fba9625 safe-for-space repairs for functions with rest args
original commit: 0754ad0114
2011-04-22 15:59:33 -06:00
Matthew Flatt
b3fd71415d cache loaded compiled modules
using a SHA1 hash stored in the marshaled bytecode; this cache
 lowers the cost of sandboxes or other uses of multiple namespaces
 when the code inspector doesn't change; the caching is almost
 transparent, but an eval handler might be called with compiled
 code that cannot be written

original commit: 97ce26b182
2011-04-16 13:24:58 -06:00
Eli Barzilay
a3b9b386fe Use proper raco command name in make and pack.
Fixes PR 11719.

original commit: 0f14c6aa67
2011-02-09 21:13:55 -05:00
Kevin Tew
80de0713e8 raco make -j
original commit: 2e1dffbfcc
2011-02-01 08:27:56 -07:00
Jay McCarthy
00134af67b Removing test because we reintroduced gensym
original commit: b686cc84a9
2010-11-24 23:33:42 -05:00
Matthew Flatt
37f822ccb2 restore gen-id gensym so that decompiler works
original commit: 0a8e5e604e
2010-11-11 14:39:45 -07:00
Blake Johnson
74c7025e6e scrbl file and longer command name
original commit: 199a63772a
2010-10-30 12:49:27 -06:00
Jay McCarthy
c428f6cafe Exposing more values to GC by not making them toplevels
original commit: 26c7625c79
2010-10-30 09:14:58 -06:00
Jay McCarthy
5f064063f5 Saving time by only reading zos once and saving space by limiting the extent of the hash tables
original commit: 255489e0af
2010-10-30 08:54:13 -06:00
Jay McCarthy
e5b1e20529 Removing newlines from debug messages
original commit: 46e2e7931a
2010-10-30 08:31:23 -06:00
Jay McCarthy
aae51fbb87 Repairing tests
original commit: ec7157744f
2010-10-29 21:32:31 -06:00
Blake Johnson
8ae1cd0c3e only creating zo file
original commit: 783418ce37
2010-10-29 19:50:12 -06:00
Blake Johnson
345f30f7e5 rolling back some unnecessary changes
original commit: a315f79ebd
2010-10-29 19:50:12 -06:00
Blake Johnson
969c0f4d58 replacing self modidx refs and tests
original commit: b2b5875e3e
2010-10-29 19:50:12 -06:00
Blake Johnson
8392dd8fa4 fixing logging and running code in zo-exs
original commit: 0688c18593
2010-10-29 19:50:11 -06:00
Blake Johnson
b8122efb82 using hasheq in zo-marshal
original commit: 43e151f340
2010-10-29 19:50:11 -06:00
Blake Johnson
7e97041b8d debugging
original commit: 77c46d07ee
2010-10-29 19:50:11 -06:00
Blake Johnson
6b8a9b0861 Avoiding cycles in everything but closures
original commit: 7bffbc31a2
2010-10-29 19:50:11 -06:00
Blake Johnson
7aac10e938 offset calculation fix
original commit: d84b78daab
2010-10-29 19:50:11 -06:00
Blake Johnson
e0e144e210 changed eprintfs to log-debug
original commit: 3ddda200e8
2010-10-29 19:50:11 -06:00
Blake Johnson
1f2e1c6647 moved demodularizer from github to collects and added it to raco
original commit: 4676662e4b
2010-10-29 19:50:10 -06:00
Jay McCarthy
52163c7f17 Describing architecture a little
original commit: 039fc7095a
2010-10-21 22:29:27 -07:00
Jay McCarthy
4830a2d141 Removing debugging aid
original commit: 089e99fac6
2010-09-16 12:45:38 -06:00
Blake Johnson
d2ad91ae38 removing indirects from zo handling
original commit: c88eb704c7
2010-09-16 12:45:37 -06:00
Eli Barzilay
be19dcb79d Use "<path>" instead of a misleading "<file>",
improve doc line for `--collect'.

original commit: 41812ace0f
2010-09-12 01:53:52 -04:00
Blake Johnson
aa0d3e18ae fixing pr11175, added only-rest-arg-not-used flag
original commit: 3433af0a30
2010-09-10 14:46:04 -06:00
Blake Johnson
4c5dfd88af fixing pr11036 by adding plain certificates
original commit: 170ab47dc2
2010-09-10 14:46:04 -06:00
Blake Johnson
428d1d383d re-enabling tests
original commit: 1cb11ce6cc
2010-09-10 14:46:04 -06:00
Blake Johnson
1f08f65282 removing debugging information
original commit: 6338a97e0a
2010-09-10 14:46:04 -06:00
Blake Johnson
4d82ab734e Changing memory limit
original commit: 407a36c9d2
2010-09-10 14:46:04 -06:00
Blake Johnson
785033b880 Removing pieces of zo-test-worker we dont care about
original commit: e94823b82c
2010-09-10 14:46:03 -06:00
Blake Johnson
78d5856d4d never sharing hashes and trace debugging
original commit: 0d136ba4c7
2010-09-10 14:46:03 -06:00
Blake Johnson
070d86473d traversing inside closures and using a seen set for lists
original commit: 32a9e60abe
2010-09-10 14:46:03 -06:00
Blake Johnson
b8fe95cd26 fixing closure problem
original commit: 2dfaab00f4
2010-09-10 14:46:03 -06:00
Blake Johnson
a5f557b90e zo-marshal fixes and switching back to prefabs
original commit: ecc9ceb842
2010-09-10 14:46:03 -06:00
Blake Johnson
46f22d2882 handling closures while writing symbol table
original commit: c2fee2a2f0
2010-09-10 14:46:03 -06:00
Blake Johnson
b816da148d quoting parameter and not prefab structs
original commit: 893294674a
2010-09-10 14:46:02 -06:00
Blake Johnson
b63f532735 encoding wraps and fixes for zo-marshal sharing
original commit: 54f2d34a2e
2010-09-10 14:46:02 -06:00
Blake Johnson
4379002ddc traverse while writing rather than a separate step
original commit: 88dcab6b5a
2010-09-10 14:46:02 -06:00
Blake Johnson
ae4b770939 zo-marshal fixes and read.c fix for hash tables in symbol table
original commit: 9599304ca9
2010-09-10 14:46:02 -06:00
Blake Johnson
817b3186d9 zo-marshal single out-anything function and zo-parse debugging
original commit: 37f07cb68b
2010-09-10 14:46:01 -06:00
Blake Johnson
1d54bf17a5 zo-parse debugging and read in zo-exs
original commit: f27fe3d5c9
2010-09-10 14:46:01 -06:00
Matthew Flatt
1b3843bd9c fix yet more ss<->rkt problems that interfered with *SL executables
Closes PR 11106

original commit: 76c3c76214
2010-08-30 14:35:18 -06:00
Eli Barzilay
f38ec26ea5 More "~n" -> "\n" changes
original commit: 8e0f8dd39c
2010-08-26 12:11:00 -04:00