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