Commit Graph

546 Commits

Author SHA1 Message Date
Robby Findler
32becaf860 added a #:security-guard argument to:
managed-compile-zo
  make-caching-managed-compile-zo
  make-compilation-manager-load/use-compiled-handler
that gets used when compiled files, dep files, and compiled/ directories are created.
2011-08-02 16:28:10 -05:00
Robby Findler
a672704e5e add support for thread-safe compilation to compiler/cm (and use it in drracket) 2011-07-30 09:01:46 -04:00
Matthew Flatt
42f41d868a fix compiler/zo-parse for sequence splice
Merge to 5.1.2
2011-07-22 22:19:58 -04:00
Matthew Flatt
8504996862 fix `raco ctool -e' for syntax taints
Merge to 5.1.2
2011-07-20 14:09:38 -06:00
Matthew Flatt
ab0e78122c revert unnecessary refactoring
--- intended to avoid creating a dependency that already exists

 Merge 5.1.2
2011-07-16 21:02:41 -06:00
Matthew Flatt
7af5d490ad fix cm to configure reader when reading .dep files
Merge to 5.1.2
2011-07-16 19:29:28 -06:00
Matthew Flatt
07a9cdd2a8 fix zo-parse of rename tables 2011-07-13 10:45:19 -06:00
Matthew Flatt
5e49e0adea improve decompiler handling of syntax object 2011-07-08 06:22:40 -06:00
Matthew Flatt
5bc8b67eba fix decompile of define-values-for-syntax 2011-07-07 07:25:48 -06:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Matthew Flatt
98740390fa adapt demodularizer to `compiler/zo-struct' change 2011-07-01 22:46:20 -06:00
Ryan Culpepper
1b702a2ae3 docs reorganization
added tutorial, racket categories
  relabeled some other categories
  normalized manual names: de-bolded, changed some names
2011-07-01 17:16:53 -06:00
Robby Findler
69b5daa9e6 remove docs tests that no one was interested in 2011-07-01 11:38:09 +08:00
Matthew Flatt
69ad39d45c fix `compiler/zo-parse' & co. 2011-06-30 08:24:41 -06:00
Matthew Flatt
1160d3df62 remove syntax certificates; add syntax taints 2011-06-29 19:15:48 -06:00
Eli Barzilay
40124a0619 A long overdue scan to eliminate files without terminating newlines.
(DrRacket should really do that.)
2011-06-28 02:01:41 -04:00
Eli Barzilay
ac26fe7554 A ton of @scheme*' -> @racket*' and related updates.
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.
2011-06-25 04:08:47 -04:00
Eli Barzilay
debd1f9f1e Recketizing much in `net/*', mass ".ss" -> ".rkt" conversion in .scrbl files.
(Some other minor things here and there.)
2011-06-20 04:27:14 -04:00
Matthew Flatt
c7d86ed3a6 mach-o: fix generating embedding executables
aimed at fixing DrRacket startup on Lion
2011-06-17 08:46:09 -06:00
Eli Barzilay
fc1b974cd2 Fix "zo-parse.rkt" wrt the inclusion of `identity' in mzlib/etc, and
switch to racket (making `begin-with-definitions' redundant).
2011-06-07 13:06:13 -04:00
Matthew Flatt
8ad8d5b7f7 fix tl-map parse & marshal 2011-05-09 12:24:05 -06:00
Matthew Flatt
a4da2a3f4c fix varref' in compiler/zo-structs', etc.
and sync docs better with implementation
2011-05-09 09:43:32 -06:00
Matthew Flatt
db75dddf87 fix decompiler's listing of captured top- and module-level variables 2011-05-08 17:01:23 -06:00
Matthew Flatt
e9721058fb reorgnize datatypes of less common bytecode forms
removing a layer of indirection, and setting up
 for an internal reorganization of the compiler code
2011-05-06 06:56:23 -06:00
Robby Findler
507b1cd8fd moved the docs-complete library into rackunit
to avoid having a separate, new manual for the
  one library
2011-05-05 16:10:42 -05:00
Matthew Flatt
87a4132b40 fix zo-marshal' for #f toplevel-map in lam' 2011-05-03 14:43:27 -06:00
Matthew Flatt
2ada6d0e89 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.
2011-05-03 06:57:49 -06:00
Matthew Flatt
1b14c6a38e fix mistakes uncovered by optimizer warnings 2011-05-03 06:57:48 -06:00
Matthew Flatt
982503b083 share a timestamp cache across all collections during `raco setup' 2011-04-27 19:02:08 -06:00
Robby Findler
e7d0029aea added lots of new tests that our documentation is complete 2011-04-25 13:24:43 -05:00
Matthew Flatt
0754ad0114 safe-for-space repairs for functions with rest args 2011-04-22 15:59:33 -06:00
Matthew Flatt
6b2219b9e5 write proper ELF section for Unix launchers/executables 2011-04-17 18:04:00 -06:00
Matthew Flatt
97ce26b182 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
2011-04-16 13:24:58 -06:00
Eli Barzilay
0f14c6aa67 Use proper raco command name in make and pack.
Fixes PR 11719.
2011-02-09 21:13:55 -05:00
Robby Findler
e096e4d5a4 moved find-exe to its own top-level file 2011-02-08 15:38:11 -06:00
David Van Horn
760a58b65d Fixes more spelling errors. 2011-02-04 19:44:13 -07:00
David Van Horn
c9519fd113 Fixed various spelling errors. 2011-02-03 17:42:33 -05:00
Kevin Tew
2e1dffbfcc raco make -j 2011-02-01 08:27:56 -07:00
Matthew Flatt
b70e1eca60 fix problem with `raco exe'
Merge to 5.1
2011-02-01 08:01:16 -07:00
Robby Findler
23012928a6 added a log-info call to incidate when a compilation finishes 2011-01-22 16:06:45 -06:00
Matthew Flatt
ac99c69f0c fix a `raco exe' problem with finding shared-library paths 2011-01-20 21:17:36 -07:00
Kevin Tew
a42ea71113 Scribble with-compile-output fix 2011-01-20 15:57:39 -07:00
Kevin Tew
e7a24a6b41 Parallel Locking 2011-01-11 12:44:09 -07:00
Eli Barzilay
1f49e35b21 2010 -> 2011 2010-12-31 15:59:39 -05:00
Robby Findler
ede60de584 Make it so that DrRacket deletes .zo files when the corresponding source file isn't present anymore
(when in the DrRAcket-compiles-my-zo-files mode)
2010-12-16 16:12:54 -06:00
Matthew Flatt
d4158cfc9c win64: remove unneeded command-line parsing hack 2010-12-04 05:20:40 -07:00
Matthew Flatt
5065f39dec win64: racket3m 2010-12-03 22:35:38 -07:00
Matthew Flatt
8b8dd77ad6 change nearly all long's to intptr_t'
and also changed vector, string, and byte string counts to
   `intptr_t' instead of `int'.

   Except for the vector count, etc. change, this is not really a
   change for any currently supported platform, where `intptr_t'
   is the same as `long'. It's a step to suporting Win64, though,
   where `long' is the same as `int' instead of `intptr_t'.
2010-12-03 08:48:33 -07:00
Robby Findler
bc3bd77e19 move the #lang line to the beginning of the file 2010-12-03 06:30:57 -06:00
Matthew Flatt
0a8e5e604e restore gen-id gensym so that decompiler works 2010-11-11 14:39:45 -07:00
Eli Barzilay
e3592e10a8 Remove all mentions of UnicoWS.
Also, get rid of "uniplt.c", and fix "src/racket/src/string.c" and
"src/gracket/grmain.c" to use CharLowerBuffW().
2010-11-10 23:48:35 -05:00
Matthew Flatt
75a6bfe119 improve runtime-path support for building stand-alone gui exes 2010-11-05 15:54:44 -06:00
Matthew Flatt
44847f8278 adjust exe creation of GRacket2 binaries for Mac OS X 2010-11-05 15:53:56 -06:00
Blake Johnson
199a63772a scrbl file and longer command name 2010-10-30 12:49:27 -06:00
Jay McCarthy
26c7625c79 Exposing more values to GC by not making them toplevels 2010-10-30 09:14:58 -06:00
Jay McCarthy
255489e0af Saving time by only reading zos once and saving space by limiting the extent of the hash tables 2010-10-30 08:54:13 -06:00
Jay McCarthy
46e2e7931a Removing newlines from debug messages 2010-10-30 08:31:23 -06:00
Jay McCarthy
8516001c08 Removing dead file 2010-10-29 22:24:50 -06:00
Jay McCarthy
7c43846b4e Removing old tests 2010-10-29 21:24:11 -06:00
Blake Johnson
783418ce37 only creating zo file 2010-10-29 19:50:12 -06:00
Blake Johnson
a315f79ebd rolling back some unnecessary changes 2010-10-29 19:50:12 -06:00
Blake Johnson
b2b5875e3e replacing self modidx refs and tests 2010-10-29 19:50:12 -06:00
Blake Johnson
0688c18593 fixing logging and running code in zo-exs 2010-10-29 19:50:11 -06:00
Blake Johnson
43e151f340 using hasheq in zo-marshal 2010-10-29 19:50:11 -06:00
Blake Johnson
77c46d07ee debugging 2010-10-29 19:50:11 -06:00
Blake Johnson
7bffbc31a2 Avoiding cycles in everything but closures 2010-10-29 19:50:11 -06:00
Blake Johnson
d84b78daab offset calculation fix 2010-10-29 19:50:11 -06:00
Blake Johnson
3ddda200e8 changed eprintfs to log-debug 2010-10-29 19:50:11 -06:00
Blake Johnson
4676662e4b moved demodularizer from github to collects and added it to raco 2010-10-29 19:50:10 -06:00
Jay McCarthy
089e99fac6 Removing debugging aid 2010-09-16 12:45:38 -06:00
Blake Johnson
c88eb704c7 removing indirects from zo handling 2010-09-16 12:45:37 -06:00
Eli Barzilay
41812ace0f Use "<path>" instead of a misleading "<file>",
improve doc line for `--collect'.
2010-09-12 01:53:52 -04:00
Blake Johnson
3433af0a30 fixing pr11175, added only-rest-arg-not-used flag 2010-09-10 14:46:04 -06:00
Blake Johnson
170ab47dc2 fixing pr11036 by adding plain certificates 2010-09-10 14:46:04 -06:00
Blake Johnson
6338a97e0a removing debugging information 2010-09-10 14:46:04 -06:00
Blake Johnson
0d136ba4c7 never sharing hashes and trace debugging 2010-09-10 14:46:03 -06:00
Blake Johnson
32a9e60abe traversing inside closures and using a seen set for lists 2010-09-10 14:46:03 -06:00
Blake Johnson
2dfaab00f4 fixing closure problem 2010-09-10 14:46:03 -06:00
Blake Johnson
ecc9ceb842 zo-marshal fixes and switching back to prefabs 2010-09-10 14:46:03 -06:00
Blake Johnson
c2fee2a2f0 handling closures while writing symbol table 2010-09-10 14:46:03 -06:00
Blake Johnson
893294674a quoting parameter and not prefab structs 2010-09-10 14:46:02 -06:00
Blake Johnson
54f2d34a2e encoding wraps and fixes for zo-marshal sharing 2010-09-10 14:46:02 -06:00
Blake Johnson
88dcab6b5a traverse while writing rather than a separate step 2010-09-10 14:46:02 -06:00
Blake Johnson
9599304ca9 zo-marshal fixes and read.c fix for hash tables in symbol table 2010-09-10 14:46:02 -06:00
Blake Johnson
37f07cb68b zo-marshal single out-anything function and zo-parse debugging 2010-09-10 14:46:01 -06:00
Blake Johnson
f27fe3d5c9 zo-parse debugging and read in zo-exs 2010-09-10 14:46:01 -06:00
Matthew Flatt
76c3c76214 fix yet more ss<->rkt problems that interfered with *SL executables
Closes PR 11106
2010-08-30 14:35:18 -06:00
Eli Barzilay
7dc4d2e5a6 Change a bunch of "~%" and "~n" in format strings to "\n". 2010-08-25 17:17:01 -04:00
Eli Barzilay
606b7f60dc Lots of "~e" to "~.s" changes. 2010-08-25 17:17:01 -04:00
Matthew Flatt
9be0559936 teach decompiler about literal prims from `#%futures' 2010-08-25 14:58:27 -06:00
Matthew Flatt
0d9f5016ba fix bytecode-writing inconsistencies related to syntax objects and paths
and improve organization of the docs
2010-08-17 17:18:24 -06:00
Blake Johnson
f4abd35f5c better traversal for more sharing in zo-marshal and some refactoring. 2010-08-04 17:09:57 -06:00
Blake Johnson
b062c900a1 cases for more complicated lexical renames 2010-08-03 15:40:41 -06:00
Blake Johnson
551ef5ba30 applying make-prefab-struct 2010-08-02 19:27:28 -06:00
Blake Johnson
7653ce037b another all-from-module fix 2010-08-02 19:26:32 -06:00
Blake Johnson
63c6cc5d2c Added case in zo-marshal for prefab structs
Made quoted not-prefab so it isn't captured by prefab case
2010-07-30 15:44:52 -06:00
Blake Johnson
80c6ba482d better certificate handling in zo-parse and zo-marshal 2010-07-30 14:37:17 -06:00
Eli Barzilay
14de7399bd typo 2010-07-30 04:20:46 -04:00
Blake Johnson
2dfd340031 added another case for all-from-module renames 2010-07-28 14:45:07 -06:00
Blake Johnson
53fdc09e7a Do not use CPT_ESCAPE for every CPT_QUOTE, instead if it was a protect-quote, then just put the CPT_QUOTE in. 2010-07-27 13:39:43 -06:00
Jay McCarthy
8d36dfad81 Fixing parts of zo-marshal re protect-quote; parallelizing zo-test; there is no the path error again in zo-marshal though 2010-07-27 11:10:54 -06:00
Jay McCarthy
28432037af Fixing up a few things in zo-parse/etc 2010-07-26 12:18:01 -06:00
Blake Johnson
8eeed89982 zo-marshal wrap fixes, optional port for zo-parse 2010-07-26 12:06:02 -06:00
Matthew Flatt
264ec77abd another fix for CM+DrRacket interaction 2010-07-26 09:43:55 -05:00
Matthew Flatt
5f1aa418f3 add collection-file-path and splace collection trees at the file level 2010-07-25 11:01:09 -05:00
Matthew Flatt
4359783d8b fix CM+DrRacket cdr bug 2010-07-25 06:17:23 -05:00
Matthew Flatt
7c4eddc708 fix `file-stamp-in-paths', which affects DrRacket's auto compilation
Merge to 5.0.1
2010-07-22 18:46:35 -05:00
Kevin Tew
5bb2e148de Parallel docs build 2010-07-22 02:39:57 -06:00
Matthew Flatt
90ec44f65c CM: report bad dependencies clearly; fix file-stamp-in-paths
for when `use-compile-file-paths' has multiple subpaths
  Probably merge to 5.0.1
2010-07-21 15:50:22 -06:00
Matthew Flatt
ce03a34318 another ss->rkt repair to exe creator
Merge to 5.0.1
2010-07-20 06:37:02 -06:00
Matthew Flatt
5cc0baa01e extend decompiler to handle #%variable-reference 2010-07-20 06:35:58 -06:00
Matthew Flatt
f602d11a7f raco exe: fix missing ss->rkt conversion and remove debugging printf
Merge to 5.0.1
2010-07-19 14:00:23 -06:00
Blake Johnson
8df94dd746 handling top-level-renames and mark-barriers 2010-07-15 15:53:02 -06:00
Matthew Flatt
32552fc4c2 revert cm refactoring
Reverts commit fe60da72c8.

 Something about the recfatoring was broken. For example, modify
 "racket/contract.rkt" and then run `raco setup -D -j 1 racket'.
 Another `raco setup -D -j 1 racket' re-builds a file in
 "mred", but a second run shouldn't have built anything. (Using
 `-j 1' demonstrates that it's not related to parallel builds.)
 Reverting the refactoring fixes the problem.

 I don't know what the bug was, but Kevin says that the refactoring
 wasn't needed after all.
2010-07-14 10:05:51 -06:00
Ryan Culpepper
07f57aac9b Added uses of unstable/struct 2010-07-13 12:07:47 -06:00
Matthew Flatt
195b37831b fix `planet'-path bug in module-name resolver for generated eecutables 2010-07-09 09:48:41 -06:00
Matthew Flatt
c7c8f56e11 fix validation of module .zo exp-time content, and fix zo-marshal 2010-07-08 17:17:42 -06:00
Matthew Flatt
a8062dc37d fix docs on `raco make --no-deps'
Closes PR 11018
2010-07-07 13:56:16 -06:00
Kevin Tew
35c28f4f66 Parallel collects build (process-based) "raco setup -u" 2010-07-02 14:27:08 -06:00
Ryan Culpepper
a543c2137e unstable: removed byte-counting-port.rkt (use open-output-nowhere instead)
updated test to verify that open-output-nowhere has same behavior
2010-07-01 17:05:06 -06:00
Matthew Flatt
f478b74ed6 fix ++lib flag for raco ctool --c-mods 2010-06-30 16:22:32 -06:00
Matthew Flatt
e78b5d722e repairs to cm refactoring 2010-06-28 17:01:57 -06:00
Kevin Tew
c320d63f01 get-compile-directory-srcs returns list of sources to compile 2010-06-28 14:55:33 -06:00
Kevin Tew
fe60da72c8 Refactor compile manager check-cache function 2010-06-28 14:50:50 -06:00
Robby Findler
7bb8c876b6 fixed an obvious bug with the wrong arity to get-compiled-file-sha1 (but this may still be broken in a more subtle way) 2010-06-20 07:42:32 -05:00
Matthew Flatt
3638ea4963 enable longer command line for embedding 2010-06-11 15:18:00 -04:00
Matthew Flatt
ea7c34568c fix mach-o munging of 64-bit executables 2010-06-11 15:18:00 -04:00
Matthew Flatt
535c8e0a09 tweak decompiler to use a different name for boxed locals 2010-06-10 07:32:11 -04:00
Matthew Flatt
347e0da798 restore and document #:collects-dest arg to create-embedding-exe
fixed `raco make'
2010-06-05 17:59:41 -06:00
Robby Findler
31367705bb actually switched the language to racket/base this time 2010-06-05 17:23:40 -05:00
Robby Findler
ccfa9c254f fixed the contract for create-embedding-executable (and changed the file to the racket/base language) 2010-06-05 17:23:39 -05:00
Robby Findler
db0f73bc4f added contract to create-embedding-executable 2010-06-05 17:23:38 -05:00
Matthew Flatt
32297601b6 use simple-form-path more consistently for path normalization
--- a reversal of opinion from my earlier commit; the problem
 with syntactic simplification is that it may not refer to the
 same file, due to soft links; given that true normalization is
 impossible, simplify-path and simple-form-path provide a good
 compromise between preserving paths as given and exanding
 soft links as neede
2010-06-03 17:23:14 -06:00
Matthew Flatt
26835bedd1 change cm to accept the case of an uncompiled dependency
Merge to 5.0
2010-06-03 14:02:19 -06:00
Matthew Flatt
eec92017c4 fix problems with distributing unix executables Merge to v5.0 2010-05-28 10:37:18 -06:00
Matthew Flatt
7f2d57e827 build changes aimed at making Sun tools work
Merge to v5.0
2010-05-28 07:17:24 -06:00
Jay McCarthy
7e485b8d28 Documenting make-hasheqv and using it 2010-05-27 12:35:30 -06:00
Jay McCarthy
035ee93911 Using placeholders in zo-parse for more cyclic datums 2010-05-27 12:35:26 -06:00
Jay McCarthy
4088448317 Dealing with cyclic hashes 2010-05-27 12:33:26 -06:00
Jay McCarthy
5833f7cba4 Unifying some code 2010-05-27 12:33:26 -06:00
Matthew Flatt
7442f14305 fix problems with raco exe
Merge to v5.0
2010-05-26 17:07:09 -06:00
Jay McCarthy
2a934cb053 Do not read the entire zo at once 2010-05-24 13:14:36 -06:00
Jay McCarthy
f67177f740 Separating bytes usage for next change 2010-05-24 13:14:36 -06:00
Jay McCarthy
40e1ba95fc Making zo-marshal more like C and not with large byte strings 2010-05-24 13:14:35 -06:00
Jay McCarthy
325ac1ae88 Reformating 2010-05-24 13:14:35 -06:00
Jay McCarthy
63f546a080 Reformating 2010-05-24 13:14:35 -06:00
Jay McCarthy
b892c276ff Streaming final output from zo-marshal 2010-05-24 13:14:35 -06:00
Jay McCarthy
3c19657848 Fixing precomps on OS X 2010-05-21 16:04:12 -06:00
Eli Barzilay
4279fe3c4f Some "org.plt-scheme" -> "org.racket-lang"s 2010-05-17 09:54:17 -04:00
Eli Barzilay
a46743211b A lot of "plt-scheme.org" -> "racket-lang.org"s. 2010-05-17 00:53:12 -04:00