Commit Graph

574 Commits

Author SHA1 Message Date
Matthew Flatt
b6a9330bf1 more `raco exe' cycle repairs 2011-10-07 10:32:49 -06:00
Matthew Flatt
add50ab436 cocoa: undo hack of "-64" suffix on app names
Commit 60101618db seems to address the real problem.
2011-10-07 08:05:25 -06:00
Matthew Flatt
7680adf486 fix compiler bug related to lifting and unbox flonums
As variables are dropped for lifted functions, the bitmap
for flonum closure variables was not shifted down by the
number of dropped variables.

Closes PR 12259
2011-10-05 19:25:59 -06:00
Matthew Flatt
902ea5f7a5 fix `raco exe' for ELF starter 2011-10-04 12:59:18 -06:00
Matthew Flatt
e640041dd6 fix raco exe' for cycles created via define-runtime-module-path' 2011-10-03 08:59:30 -06:00
Kevin Tew
a7b0c33896 QNX porting 2011-09-30 17:03:50 -06:00
Matthew Flatt
0ab6637539 remove obsolete and unused Racket-to-C compiler
Removes `raco ctool -e/-c', `mzc -e/-c', `compile-extensions',
`compile-extensions-to-c', `compile-c-extensions', `compiler/cffi',
`compiler/comp-unit', `compiler:inner^', and most options in
`compiler/option'.
2011-09-20 15:26:39 -06:00
Matthew Flatt
0197902309 add var-ref->mod-decl-insp' and switch cur-code-insp' uses
Macros and other tools that need syntax privilege used
`(current-code-inspector)' at the module top-level to try to
capture the right code inspector at load time. It's more
consistent to instead use the enclosing module's declaration-time
inspector, and `var-ref->mod-decl-insp' provides that. The
new function works only on references to anonymous variables,
which limits access to the inspector.

The real function name is longer, of course.
2011-09-20 13:50:36 -06:00
Kevin Tew
099e89a297 Fix pr 12205 pass --disable-inline and --vv options through to parallel make 2011-09-20 11:10:56 -06:00
Eli Barzilay
623c7493ed Some selective #:when (not ...)' -> #:unless ...'. 2011-09-16 10:48:18 -04:00
Matthew Flatt
28afc4490e cocoa: distinguish CFBundleIdentifier for 64-bit vs. 32-bit apps
This is another attempt at fixing PR 12135
2011-09-10 10:53:43 -06:00
Matthew Flatt
446fb89af1 avoid clang warnings
The main change is to use C99 flexible array declarations
in structs, instead of declaring single-element arrays.
There are still a few -Wtautological-compare warnings
in 3m due to marco expansion.
2011-09-09 20:45:43 -06:00
Matthew Flatt
ca0d7b5ef4 add ++aux' flag to raco exe' 2011-09-09 17:03:18 -06:00
Matthew Flatt
b1eab296f4 fix demod for `begin-for-syntax' changes 2011-09-08 19:19:14 -06:00
Matthew Flatt
d3c56c9f13 generalized `begin-for-syntax' 2011-09-08 14:06:00 -06:00
Robby Findler
bb71539233 remove extraneous path->string conversion 2011-09-05 08:30:48 -05:00
Matthew Flatt
c5588f87e3 fix mach-o updating 2011-09-01 07:14:05 -06:00
Robby Findler
a98fd7f60b fixed a leak in the compile locking protocol implementation and added better logging 2011-08-31 19:05:08 -05:00
Robby Findler
61aaf584c5 adjust the threading protocol for compilings files to be kill safe 2011-08-30 07:59:33 -05:00
Matthew Flatt
ecc058de4a change `raco exe' to disable collection lookup by default 2011-08-25 09:15:30 -06:00
Matthew Flatt
2dbaa45e1b add `raco unpack'
Although the ".plt" format is going to be replaced, the format is
currently viable for distributing collections, and I have wanted
a raw `unpack' command for a while. It was useful today to fix
problems with `raco pack' and collection links.
2011-08-24 20:08:18 -06:00
Matthew Flatt
a7855e20a8 add `raco link'
includes a rewrite the "Module Basics" section of the Guide
2011-08-24 09:07:14 -06:00
Matthew Flatt
bdadc453e0 fix `compile-collection-zos' 2011-08-21 11:43:59 -06:00
Matthew Flatt
7eb2042bd9 fix compiler handling of top-/module-level constants
The JIT and bytecode compiler disagreed on the definition of
"constant". Now there are two levels: "constant" means constant across
all instantiations, and "fixed" means constant for a given instantation.
The JIT uses this distinction to generate direct-primitive calls
or not. (Without the distinction, a direct jump to `reverse' could
be wrong, because `racket/base' might get instantiated with the
JIT disabled or not.)

Also, fixed a bug in the JIT's `vector-set!' code in the case that
the target vector is a top-/module-level reference that is ready,
fixed, or constant.
2011-08-19 06:32:44 -06:00
Matthew Flatt
f46a0e2519 make compile-omit-paths' apply to scribblings' sources 2011-08-13 07:43:56 -06:00
Robby Findler
e043297ef8 use the supplied security guard in one more place where compiler/cm needs write permission 2011-08-10 07:45:14 -05:00
Matthew Flatt
5352d670c4 generalize #%variable-reference' and add variable-reference-constant?'
Use the new functions to make the expansion of keyword applications
to known procedure work  with mutation.
2011-08-09 16:33:17 -06:00
Robby Findler
337dbf8540 try to use the given security guard when deleting files, too 2011-08-03 23:40:51 -07:00
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