Commit Graph

77 Commits

Author SHA1 Message Date
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
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
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
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
Kevin Tew
e3e8a54ee9 [Places] THREAD_LOCAL opened_libs 2010-05-04 15:49:36 -06:00
Matthew Flatt
e713e27eee fix allocation bug in ffi
svn: r18530
2010-03-13 16:03:27 +00:00
Eli Barzilay
cda2d12914 better text generation
svn: r17373
2009-12-21 05:46:16 +00:00
Matthew Flatt
87f05fed95 add #:save-errno option for foreign-function types
svn: r17299
2009-12-14 23:52:23 +00:00
Matthew Flatt
c880b2119c fix problems with recent FFI changes
svn: r16565
2009-11-05 20:29:18 +00:00
Matthew Flatt
c49b22fa2c change _pointer to mean a reference to non-GCed memory; add _gcpointer (v4.2.2.6)
svn: r16546
2009-11-04 19:28:04 +00:00
Kevin Tew
02c658eaba Foreign.ssc comment
svn: r15057
2009-06-02 17:43:14 +00:00
Eli Barzilay
6562b6ac6f change foreign.ssc to match foreign.c
svn: r15054
2009-06-02 17:08:51 +00:00
Kevin Tew
27215bcbca Move global foreign creations to before MASTER GC switchout
svn: r15049
2009-06-02 16:24:19 +00:00
Eli Barzilay
e9bcf8b15f work around xform parsing issue
svn: r14766
2009-05-09 23:21:13 +00:00
Eli Barzilay
cd6fbedfa8 dont take sizeof(void), fix function typecase (both PR10234), fix error message
svn: r14764
2009-05-09 19:39:17 +00:00
Eli Barzilay
d39ff7e079 fix other comment terminator in .ssc, reflow comment
svn: r14163
2009-03-17 22:41:13 +00:00
Matthew Flatt
e8dba7c7b1 fix comment closer: merge to 4.1.5
svn: r14159
2009-03-17 20:49:04 +00:00
Eli Barzilay
c20a9ab7a8 yet more formattings
svn: r14078
2009-03-12 18:59:37 +00:00
Eli Barzilay
e59b597753 minor change to an error message
svn: r14070
2009-03-12 09:07:41 +00:00
Eli Barzilay
813e16489e more minor formattings
svn: r14069
2009-03-12 08:48:04 +00:00
Eli Barzilay
60a421e9ab reformatting, moving some undefs, etc -- preparing for a new preprocessor version
svn: r14067
2009-03-12 05:51:42 +00:00
Matthew Flatt
0663588ee1 change _string/utf-16 and _string/ucs-4 so that #f = NULL (for consistency with other pointer types), and drop the /null variants
svn: r13031
2009-01-07 17:49:14 +00:00
Matthew Flatt
61685c72f9 revised Mac OS X sleeping; optional atomic mode for FFI callbacks
svn: r13016
2009-01-06 13:07:45 +00:00
Matthew Flatt
d596401804 scheme/foreign: allow #f as NULL function pointer, allow callback as cpointer
svn: r12992
2009-01-03 18:51:15 +00:00
Matthew Flatt
82ead03b92 change _fpointer handling to work with function pointers in structs and other such uses; add 'function-ptr' casting operation
svn: r12913
2008-12-20 05:09:35 +00:00
Matthew Flatt
7dc56df949 add FFI types _string/utf-16/null and _string/ucs-4/null
svn: r12911
2008-12-19 23:59:33 +00:00
Matthew Flatt
9ea047a05e fix ptr-set! to allow installing function points into an offset cpointer
svn: r12910
2008-12-19 23:39:55 +00:00
Eli Barzilay
d1e5dd842e use symbols for printout of primitive types
svn: r12894
2008-12-19 01:44:08 +00:00
Matthew Flatt
2c95f77c31 ctype->layout in scheme/foreign; prototype Objective-C binding in ffi collection
svn: r12890
2008-12-18 20:05:21 +00:00
Eli Barzilay
6283205982 ctype-basetype now holds:
* a symbol naming the type for primitive types
* a list of ctypes for cstruct types
* another ctype for user-defined ctypes

svn: r12882
2008-12-18 06:48:10 +00:00
Matthew Flatt
ab18970f67 fix ffi passing offset null pointer
svn: r12879
2008-12-17 20:44:28 +00:00