Matthew Flatt
a60bfe9b7f
remove some obsolete Mac OS X compiler flags for gracket
2011-05-09 07:27:04 -06:00
Matthew Flatt
979ea867a5
experiment (unsuccessfully) with inlining heuristic
...
and minor code clean-up
2011-05-08 17:04:27 -06:00
Matthew Flatt
9188e36ef1
try to fix thread-local variables for Max OS X Lion
2011-05-08 08:00:46 -06:00
Matthew Flatt
695039626c
fixes for non-JIT build
2011-05-08 06:26:04 -06:00
Matthew Flatt
09046b46dd
split up mzmark output
2011-05-08 06:26:04 -06:00
Matthew Flatt
01193652b0
internal reorganization of bytecode compiler and other bytecode tasks
...
--- organize by task instead of (weakly) by bytecode form; source
files are smaller with fewer global functions and datatypes
2011-05-08 06:26:04 -06:00
Matthew Flatt
240d95ada6
fix closure GC handling when closure is only half-formed
2011-05-06 09:20:56 -06:00
Eli Barzilay
503485b5a4
New Racket version 5.1.1.5.
2011-05-06 09:48:07 -04: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
Matthew Flatt
047c21edb4
add missing Win64 library to get-libs script
2011-05-06 06:56:22 -06:00
Matthew Flatt
34b8dc249e
fix documented contracts for path functions
...
and make `cleanse-path' work for any platform's paths
while fixing `resolve-path' checking to disallow paths
for other platforms
Closes PR 11891
2011-05-04 11:40:01 -06:00
Matthew Flatt
086d582c0f
fix module-code cache to key on `current-load-relative-directory'
...
since that parameter affects the way that code is read
2011-05-03 16:22:05 -06:00
Matthew Flatt
4ee24d1c21
fix non-places, non-futures build again
2011-05-03 16:04:59 -06:00
Matthew Flatt
a91d79201b
fix potential bug in printing error message
2011-05-03 16:04:33 -06:00
Eli Barzilay
e2255e3f88
New Racket version 5.1.1.4.
2011-05-03 16:34:50 -04:00
Matthew Flatt
be524ade36
minor code clean-ups
2011-05-03 10:22:02 -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
6c1ec25016
win32: fix page counting in memory manager
2011-04-30 14:02:20 -06:00
Matthew Flatt
68d235378f
places: trigger GC after many message pages adopted
2011-04-30 14:01:55 -06:00
Matthew Flatt
4377d88e86
win32: increase stack size to 8 MB
...
and double safety margin for Win64
2011-04-30 11:12:04 -06:00
Matthew Flatt
ddbb3b02a1
win32 places: make break-signal semaphore place-local
2011-04-30 07:42:17 -06:00
Matthew Flatt
b5f86a26e6
fixes for kFreeBSD
2011-04-29 01:24:38 -06:00
Matthew Flatt
030eb185bc
fix non-futures, non-places build
2011-04-28 19:22:10 -06:00
Matthew Flatt
ddc9213fbb
allocate shared JIT code on pages shared by places
2011-04-28 10:16:35 -06:00
Matthew Flatt
651655f7bc
fix memory counting on orphaned message pages
2011-04-28 09:53:29 -06:00
Matthew Flatt
9f50228db8
fix #include for fpsetmask()
2011-04-28 09:16:57 -06:00
Matthew Flatt
3dc38f25ee
adjust GC logging, include JIT pages size
2011-04-28 07:43:42 -06:00
Matthew Flatt
aaf74636c2
another __FreeBSD_kernel__ fix
2011-04-28 06:58:14 -06:00
Matthew Flatt
7648000608
fix alloc_cache page counting
2011-04-28 06:51:36 -06:00
Matthew Flatt
5114f5973c
remove unneeded places prefab-key conversions
...
(second try)
2011-04-28 06:35:33 -06:00
Kevin Tew
1689ccee47
Fix places dying.
2011-04-27 21:30:37 -06:00
Kevin Tew
5a01e9ddb8
Revert "remove unneeded places prefab-key conversions"
...
Well try again tomorrow to clean this up.
This reverts commit bd1c47cce1
.
2011-04-27 20:18:15 -06:00
Matthew Flatt
5881005e18
tune GC parameter
2011-04-27 19:02:08 -06:00
Matthew Flatt
9cf7f88606
fix `procedure-arity-includes?' for non-futures, non-places builds
2011-04-27 14:57:16 -06:00
Matthew Flatt
0e229529c0
JIT-inline `procedure-arity-includes?'
2011-04-27 14:10:21 -06:00
Kevin Tew
d3b014ba42
[Places] copy pair flags
2011-04-27 11:50:44 -06:00
Matthew Flatt
bd1c47cce1
remove unneeded places prefab-key conversions
2011-04-27 11:03:22 -06:00
Matthew Flatt
a2e3116494
fix code page unchaining
2011-04-26 19:35:12 -06:00
Matthew Flatt
50509c10dc
free JIT & FFI code pages when a place exits
2011-04-26 19:21:14 -06:00
Matthew Flatt
d28d42a46f
fix validator bug (to allow flonum-consuming proc to be cleared)
...
Closes PR 11879
2011-04-26 19:21:14 -06:00
Kevin Tew
a589ea42b6
[Places] added place-break primitive
2011-04-26 18:41:19 -06:00
Matthew Flatt
8679afed60
clean up C part of build
...
- no more attempt to support places with the Boehm GC
- no more libatomic (which was for places + Boehm GC)
- remove unsupported configuration options
- strip Racket-specific configure options before libffi configure
- port two leftover Perl scripts to Racket scripts
2011-04-26 17:14:55 -06:00
Matthew Flatt
604960f5f5
places: re-enable (and re-ignore) SIGCHLD in a fork()ed process
...
Relevant to PR 11877
2011-04-26 11:12:32 -06:00
Matthew Flatt
40090307c1
Boehm GC: remove some obsolete customization
2011-04-25 15:50:41 -06:00
Matthew Flatt
5ae4b00168
fix CGC ephemeron bug
...
Merge to 5.1.1
2011-04-25 15:50:41 -06:00
Matthew Flatt
e999e0666c
minor code-format adjustment
2011-04-25 15:50:41 -06:00
Kevin Tew
f8d761226d
Remove FIXME_LATER gcc attribute
2011-04-25 08:18:27 -06:00
Kevin Tew
fd93e502e1
keygen can be shared see comment
2011-04-25 08:18:26 -06:00
Kevin Tew
2c02d9ff8d
Finish load_extension places FIXME_LATER
2011-04-25 08:18:23 -06:00
Kevin Tew
44bf21a907
make group_member_cache place local
2011-04-25 08:18:15 -06:00
Matthew Flatt
187e483204
fix inline `eqv?' (affects PPC)
2011-04-25 07:25:53 -06:00
Matthew Flatt
4aabaeb7af
fix configure error that can cause CFLAGS to be ignored
...
Merge to 5.1.1
2011-04-24 19:11:57 -06:00
Matthew Flatt
ac5d4cd401
x86 JIT: keep call & ret paired
...
even for a non-tail call from native code to native code;
this change provides huge performance improvements for
some microbenchmarks
Merge to 5.1.1
2011-04-24 16:46:04 -06:00
Matthew Flatt
ae714593cd
JIT: shorter x86 code for type tests, further streamline loop wrapper
...
--- but it doesn't actually speed up the target `assq' function
2011-04-24 15:18:09 -06:00
Matthew Flatt
253aff3e16
fix cached-module lookup
2011-04-24 09:04:58 -06:00
Matthew Flatt
09dbfee792
kFreeBSD configuration fixes
...
and use "uconfig.h" for default configuration
2011-04-24 08:54:53 -06:00
Matthew Flatt
dd8bd1c137
fix prototype
2011-04-24 08:54:35 -06:00
Matthew Flatt
6078013e32
JIT improvement: more direct path through loop wrappers
2011-04-24 07:55:33 -06:00
Matthew Flatt
3dffd5fbe6
faster JIT-generated path to `equal?' when futures are enabled
2011-04-24 07:55:33 -06:00
Matthew Flatt
f4303cbef8
faster JITted path to `equal?'
2011-04-24 07:55:33 -06:00
Matthew Flatt
45d7635188
fix non-places build
2011-04-24 07:55:33 -06:00
Matthew Flatt
feac196a31
minor JIT back-end improvements to avoid redundant loads
2011-04-24 07:55:33 -06:00
Matthew Flatt
b1ac25023d
allow additional arguments to `raise-mismatch-error'
...
because it's often useful to show more values, and a
tail `raise-mismatch-error' instead of a nested `format'
can avoid some safe-for-space work in the JIT output
2011-04-24 07:55:33 -06:00
Matthew Flatt
f54d977de1
JIT-inline `eqv?'
2011-04-24 07:55:32 -06:00
Matthew Flatt
b7639e5a15
clean up futures at place termination
2011-04-22 15:59:33 -06:00
Matthew Flatt
0754ad0114
safe-for-space repairs for functions with rest args
2011-04-22 15:59:33 -06:00
Kevin Tew
f4307c65a7
[Places] free mark stack when place terminates
2011-04-22 15:33:17 -06:00
Kevin Tew
dc2c16058b
[Places] free alloc_cache and page_range on place termination
2011-04-22 12:20:09 -06:00
Kevin Tew
012868e491
[Places] free nursery on place termination
2011-04-22 12:20:04 -06:00
Matthew Flatt
3f9a4c49fa
fix `#define's that are used in more configurations than originally
2011-04-21 19:34:07 -06:00
Matthew Flatt
c4dbbdfaf3
fix C declaration
2011-04-21 19:34:07 -06:00
Matthew Flatt
f761be02be
fix logging for master GC
2011-04-21 19:34:07 -06:00
Kevin Tew
8b049bb2ff
Missed old code removal during recent refactor
2011-04-21 18:16:47 -06:00
Kevin Tew
d197d39d2c
[Places] free gcs when places terminate
2011-04-21 14:27:27 -06:00
Matthew Flatt
c280b19ee2
remove unused var
2011-04-21 11:45:34 -06:00
Matthew Flatt
5e24a6d37c
improve logging related to GC and places
2011-04-21 11:42:20 -06:00
Kevin Tew
c00a85edf8
Free msg_memory when place channel is finalized
2011-04-21 11:20:53 -06:00
Kevin Tew
8e2c09ac2f
Add finalizer for place-channel's mutexes
2011-04-21 11:20:53 -06:00
Kevin Tew
113918e85a
Revert "disable places-by-default for now"
...
This reverts commit 8760d38a95
.
2011-04-21 10:18:29 -06:00
Kevin Tew
b1cd60213f
Test all allowed types in place messages
2011-04-21 06:14:27 -06:00
Matthew Flatt
8760d38a95
disable places-by-default for now
...
--- pending further investigation of memory consumption
2011-04-21 06:12:31 -06:00
Matthew Flatt
2177681336
remove leftover(?) place GC-switching code on prefab lookup
2011-04-20 21:13:21 -06:00
Matthew Flatt
275d4a7a05
future scheduling fix and tweak
...
- put an atomic action on the atomic queue, even if the future
was locally suspended
- try local allocation for a multiple-values buffer
2011-04-20 20:01:29 -06:00
Matthew Flatt
e9dd7580a8
win32: fix incorrectly shared path-conversion buffer
2011-04-20 12:25:48 -06:00
Matthew Flatt
231cf7db48
win32: create threads in the right way for C library
2011-04-20 11:25:15 -06:00
Matthew Flatt
714df5598c
restore needed forcing of hash codes
2011-04-20 08:22:01 -06:00
Matthew Flatt
5969524bd4
remove debugging leftovers(?)
2011-04-20 07:37:12 -06:00
Matthew Flatt
e47c9a2f9d
allow cyclic values over place channels
2011-04-20 07:21:10 -06:00
Matthew Flatt
e1fced4897
places: clean up bad-message reporting, simplify some code
2011-04-20 06:55:37 -06:00
Eli Barzilay
0d021aacd2
New Racket version 5.1.1.3.
2011-04-20 03:50:42 -04:00
Kevin Tew
4749ae9d8a
Fix places message to correctly say place-channel-send, add support for
...
windows paths in place channels
2011-04-19 22:44:13 -06:00
Matthew Flatt
1932a453a8
enable inlining of calls to `case-lambda' procedures
...
which includes calls to procedures with optional (but no keyword)
arguments
2011-04-19 21:28:14 -06:00
Kevin Tew
fbb3926e07
Fix drracket crash on mflatt field.rkt test
2011-04-19 13:00:35 -06:00
Kevin Tew
4fd6144e3d
[Places] place are now turned on by default
2011-04-19 09:15:17 -06:00
Matthew Flatt
2032ec910f
better error message for bad command-line argument
2011-04-19 07:00:45 -06:00
Kevin Tew
49c73d767b
[Places] improve small message performance
2011-04-19 03:31:51 -06:00
Matthew Flatt
586478a241
fix `namespace-attach-module' at phases above 0
...
Closes PR 11863
Merge to 5.1.1
2011-04-18 15:48:14 -06:00
Matthew Flatt
2fa35a2a5c
fix bug in thread'-based implementation of
place'
...
which is used when parallel places are unavailable
2011-04-18 13:06:03 -06:00
Matthew Flatt
0c1348ee03
fix module-code cache for non-futures, non-places build
2011-04-18 06:34:50 -06:00
Matthew Flatt
6b2219b9e5
write proper ELF section for Unix launchers/executables
2011-04-17 18:04:00 -06:00