Commit Graph

140 Commits

Author SHA1 Message Date
Matthew Flatt
6e7ad71ae5 ffi/unsafe: handle out-of-memory on malloc
Also fix some int vs. intpt_t problems.
2011-11-04 15:29:28 -06:00
Eli Barzilay
9ade64cc84 Some "Scheme" -> "Racket" changes and similar. 2011-10-16 18:53:30 -04:00
Matthew Flatt
0229e762bc fix place-unfriendly static in ffi
Lazy initialization of statics shared across places doesn't work.
Also, each static must be registered with the GC exactly once;
I'm not sure why regstering on every callback didn't cause more
problems.
2011-09-08 18:29:37 -06:00
Matthew Flatt
345b06838d FFI: add C arrays and unions 2011-08-20 10:24:32 -06:00
Matthew Flatt
2d4e14dca8 fix a kill-safety problem in the module name resolver 2011-08-06 08:25:36 -06:00
Matthew Flatt
49d8274662 darwin ppc patch from libffi 2011-06-19 11:10:42 -06:00
Matthew Flatt
a96fe882f8 ffi: fix race condition in in-original-place support 2011-05-13 08:55:06 -06:00
Matthew Flatt
49aadc599a ffi: add `#:in-original-place?' to deal with thread-unsafe libs
and use it for Pango, which is not thread-safe at the C level
2011-05-13 08:55:04 -06:00
Matthew Flatt
75753e6891 make --disable-foreign build work, at least for plain `racket' 2011-04-10 19:58:04 -06:00
Matthew Flatt
f3c3bb4441 Use installed libffi, if any, instead of building own
and add --disable-libffi to get old, always-build behavior
2011-04-10 19:26:15 -06:00
Matthew Flatt
7679e91de3 win32: fix ffi-lib' for non-ASCII in ffi/unsafe' 2011-03-10 07:35:49 -07:00
Matthew Flatt
be9f13011a fix `make clean' with --disable-foreign
Closes PR 11770
2011-02-25 06:57:48 -07:00
David Van Horn
c9519fd113 Fixed various spelling errors. 2011-02-03 17:42:33 -05:00
Matthew Flatt
ff0a591b7b change FFI `_float' to coerce to Racket double-precision flonum 2011-01-31 19:33:07 -07:00
Matthew Flatt
1e09a544a6 adjust _float' and _double' FFI types to accept any inexact real
whether single-precision or double-precision
2011-01-31 18:04:05 -07:00
Matthew Flatt
e7b52bf10f fix ffi handling of non-GCable pointers with offsets
Closes PR 11567
2010-12-25 09:34:07 -06:00
Matthew Flatt
7f5ac2b7f9 restore Win64 fix to FFI
that I had improperly added to "foreign.c" instead of the source
2010-12-14 07:53:19 -07:00
Matthew Flatt
3b4a1c4e94 fix some GC-related problems
due to pointer fields in GC-allocated structures that do not refer
 to GC-allocated memory; if the corresponding memory is free()ed and
 then the GC later takes over the same page of memory, then bad
 things can happen; some of the problems were crashing the Windows
 port while running the 2htdp image tests
2010-12-14 05:53:48 -07:00
Matthew Flatt
5065f39dec win64: racket3m 2010-12-03 22:35:38 -07:00
Matthew Flatt
7319b539f0 win64: initial CGC build 2010-12-03 20:11:53 -07:00
Matthew Flatt
8388f28f33 switch windows build to main libffi sources 2010-12-03 14:21:31 -07:00
Matthew Flatt
116d88577e restore old behavior of _fixint' and _ufixint'
Closes PR 11492
2010-12-03 14:20: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
Matthew Flatt
bd28f2ab54 make `equal?' equate C pointers that refer to the same address 2010-11-24 13:41:11 -07:00
Matthew Flatt
142cdb800f fix GC interaction for non-Racket thread and #:async-apply callbacks 2010-11-23 09:39:38 -07:00
Matthew Flatt
a8b318da7a fix ffi issue with pointer vs. gcpointer
- don't put a non-gcpointer into a pointer array during ffi call setup
 - fix GCness of pointers to structs inside of structs
2010-11-14 15:54:17 -07:00
Matthew Flatt
58e1e37734 fix bug in ffi struct alignment 2010-11-05 15:54:51 -06:00
Matthew Flatt
d2275f4179 level-2 finalization from ffi/unsafe and late-weak references 2010-11-05 15:54:47 -06:00
Matthew Flatt
40a65a46d2 overhaul GC finalization 2010-11-05 15:54:47 -06:00
Matthew Flatt
55d3647965 fix _string/utf-16 terminator handling 2010-09-20 12:29:51 -06:00
Matthew Flatt
3e5c7fefdd add scheme_add_gc_callback() hook for gc notification in a way that lets you describe a foreign function to call without allocating or the call; the allowed protocols are contrained and ad hoc, but it will be enough for GRacket2 2010-09-14 09:21:47 -06:00
Matthew Flatt
6ac15688b2 add alignment option to ffi's cstruct support 2010-09-10 06:59:52 -06:00
Matthew Flatt
b32a0b8401 fix ffi extraction of substruct from GC-managed struct 2010-08-15 11:02:31 -06:00
Matthew Flatt
cf9912c811 fix malloc-immobile-cell 2010-08-15 11:02:30 -06:00
Matthew Flatt
15aeee98e9 fix some file exe permissions 2010-07-14 08:04:20 -06:00
Matthew Flatt
a530109d17 adjust libffi hacks that avoid warnings 2010-07-14 06:24:49 -06:00
Matthew Flatt
90b586365f upgrade to latest libffi from git repo (between v3.0.9 and v3.0.10) 2010-07-13 21:12:59 -06:00
Matthew Flatt
a306a646e6 fix build for disabled FFI 2010-07-13 16:07:03 -06:00
Matthew Flatt
768a3721f9 add async-apply support to FFI 2010-07-11 14:59:40 -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
387f915f24 Adding local change note 2010-05-24 11:33:16 -06:00
Eli Barzilay
c64704742c Fixing some tab damage from Jay's commit 2010-05-21 21:10:53 -04:00
Jay McCarthy
b5ee4ac21b Observing ftruncate results to remove error, adding comments to have better eyes look at a better way to recover from the problems 2010-05-21 16:04:11 -06:00
Eli Barzilay
285e9b5279 Use ".rktc" for the C-generated foreign file. 2010-05-17 01:48:39 -04:00
Eli Barzilay
2d9601089d A lot of "MzScheme" -> "Racket"s. 2010-05-16 18:26:26 -04:00
Eli Barzilay
6b664e0308 More mzscheme -> racket changes. 2010-05-15 18:52:46 -04:00
Matthew Flatt
202b38a4f4 rackety readme 2010-05-10 06:35:47 -06:00
Kevin Tew
e3e8a54ee9 [Places] THREAD_LOCAL opened_libs 2010-05-04 15:49:36 -06:00
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
Matthew Flatt
3f8d1dc34d more scheme -> racket source renaming 2010-04-20 09:22:29 -06:00