Nick Barnes
b860ecfa50
Back out changes to master mps sources made inadvertently during a branch change.
...
Copied from Perforce
Change: 182891
ServerID: perforce.ravenbrook.com
2013-07-02 15:53:46 +01:00
Nick Barnes
4afe5e9b6c
Branch for ap creation key development.
...
Copied from Perforce
Change: 182888
ServerID: perforce.ravenbrook.com
2013-07-02 14:48:25 +01:00
Gareth Rees
2cf1861e8d
Improvements to clarity of weak hash table implementation:
...
* TAG_SIZE was changed to TAG_COUNT in the code, so make the corresponding change in the manual.
* Avoid the "+= 2" hack: use TAG_COUNT(UNTAG_COUNT(...) + 1). Clarity is more important than speed here.
* Use obj_unused for unused hash table entries so that there can be no confusion between NULL meaning "unused" and NULL meaning "splatted by the garbage collector".
* Add references from the example code to the notes.
Copied from Perforce
Change: 182804
ServerID: perforce.ravenbrook.com
2013-06-19 12:59:49 +01:00
Richard Brooksby
725fd962bf
Adding the scheme example to the xcode project.
...
Adding a simple Scheme benchmark program to stress the MPS mildly.
Copied from Perforce
Change: 182711
ServerID: perforce.ravenbrook.com
2013-06-12 23:30:28 +01:00
Richard Brooksby
e1eaef56c8
Additional merges accidentally left out of changelist 182578. oops.
...
Copied from Perforce
Change: 182580
ServerID: perforce.ravenbrook.com
2013-06-06 15:11:45 +01:00
Richard Brooksby
d14b8bbc81
Merging branch/2013-05-01/keyword-arguments to pick up keyword arguments for object formats.
...
Copied from Perforce
Change: 182562
ServerID: perforce.ravenbrook.com
2013-06-06 12:55:04 +01:00
Gareth Rees
1cea0ed1f6
Prefer -pthread to -lpthread.
...
Copied from Perforce
Change: 182550
ServerID: perforce.ravenbrook.com
2013-06-05 17:46:51 +01:00
Gareth Rees
faaf7d1ae9
Need to specify -std=c99 to get a declaration of vsnprintf.
...
Copied from Perforce
Change: 182548
ServerID: perforce.ravenbrook.com
2013-06-05 17:30:27 +01:00
Gareth Rees
daeb7e76ae
Need -lpthread when building the toy scheme interpreter.
...
Copied from Perforce
Change: 182547
ServerID: perforce.ravenbrook.com
2013-06-05 17:13:07 +01:00
Gareth Rees
37e3e2dfac
Suppress "variable may be used uninitialized" warnings.
...
Copied from Perforce
Change: 182545
ServerID: perforce.ravenbrook.com
2013-06-05 16:44:35 +01:00
Gareth Rees
aaf6e8b13b
New public function mps_fmt_create_k creates an object format using the keyword argument interface.
...
Deprecate the format variant structures (mps_fmt_A_s, mps_fmt_B_s, mps_fmt_auto_header_s, mps_fmt_fixed_s) and the old interface (mps_fmt_create_A, mps_fmt_create_B, mps_fmt_create_auto_header, mps_fmt_create_fixed).
Copied from Perforce
Change: 182277
ServerID: perforce.ravenbrook.com
2013-05-28 16:10:08 +01:00
Gareth Rees
7972a386c9
Document the way to safely destroy automatically managed pools.
...
Copied from Perforce
Change: 182166
ServerID: perforce.ravenbrook.com
2013-05-24 16:17:51 +01:00
Gareth Rees
73ef341250
Files to ignore in example/scheme.
...
Copied from Perforce
Change: 182097
ServerID: perforce.ravenbrook.com
2013-05-22 22:22:34 +01:00
Gareth Rees
56b78ef7b9
Remove mps_arg from mps.h.
...
Use MPS_ARGS_BEGIN etc in the Scheme example and in the manual.
Use MPS_BEGIN and MPS_END instead of BEGIN and END.
The _FIELD macros don't need to be function-like macros.
Restore TODO comments in mps.h.
Scheme example compiles with -std=c89.
Copied from Perforce
Change: 181749
ServerID: perforce.ravenbrook.com
2013-05-13 21:01:38 +01:00
Gareth Rees
cce6ee29c8
New macro mps_arg and revised macro mps_args_add mean that client programs no longer need to know which keyword argument goes in which field. revise documentation accordingly.
...
Copied from Perforce
Change: 181736
ServerID: perforce.ravenbrook.com
2013-05-12 17:21:03 +01:00
Gareth Rees
acc7a67349
Use keyword argument interface in scheme-advanced.c.
...
Copied from Perforce
Change: 181726
ServerID: perforce.ravenbrook.com
2013-05-11 19:36:20 +01:00
Gareth Rees
56a9679997
Integrate change 181724 (keyword arguments) from scheme.c to scheme-advanced.c.
...
Copied from Perforce
Change: 181725
ServerID: perforce.ravenbrook.com
2013-05-11 19:29:29 +01:00
Gareth Rees
5c2019e386
Use the new keyword argument interface in the example scheme interpreter.
...
Copied from Perforce
Change: 181724
ServerID: perforce.ravenbrook.com
2013-05-11 19:24:41 +01:00
Gareth Rees
7c01a639d8
Integrate change 181452 from scheme.c to scheme-advanced.c.
...
Copied from Perforce
Change: 181453
ServerID: perforce.ravenbrook.com
2013-04-25 20:20:44 +01:00
Gareth Rees
84237a2b79
Clarify comment about why the 'start' function call is necessary.
...
Copied from Perforce
Change: 181452
ServerID: perforce.ravenbrook.com
2013-04-25 20:19:34 +01:00
Gareth Rees
2d19eadefb
Integrate typo fix (change 181392) from scheme.c to scheme-advanced.c.
...
Copied from Perforce
Change: 181393
ServerID: perforce.ravenbrook.com
2013-04-15 14:09:23 +01:00
Gareth Rees
720fe3cc59
Fix typo.
...
Copied from Perforce
Change: 181392
ServerID: perforce.ravenbrook.com
2013-04-15 14:06:32 +01:00
Gareth Rees
d197ab697d
Integrate removal of $id$ from scheme.c to scheme-advanced.c.
...
Copied from Perforce
Change: 181167
ServerID: perforce.ravenbrook.com
2013-03-18 15:13:01 +00:00
Gareth Rees
0caf9a76f9
Integrate removal of $id$ from scheme-malloc.c to scheme-boehm.c and scheme.c
...
Copied from Perforce
Change: 181166
ServerID: perforce.ravenbrook.com
2013-03-18 15:12:13 +00:00
Gareth Rees
341783a70c
Remove $id$: this causes sphinx to wrongly think that the download has changed.
...
Copied from Perforce
Change: 181165
ServerID: perforce.ravenbrook.com
2013-03-18 15:08:15 +00:00
Richard Brooksby
88ad39840e
Deprecating the mps trampoline by using vectored exception handling on windows.
...
Copied from Perforce
Change: 180961
ServerID: perforce.ravenbrook.com
2013-02-20 12:11:40 +00:00
Richard Brooksby
0ff56c73fd
Fixing typos in comments.
...
Copied from Perforce
Change: 180959
ServerID: perforce.ravenbrook.com
2013-02-19 16:52:44 +00:00
Gareth Rees
b31cda511d
Undo changes 180370 and 180390 (which supported interior pointers by checking all nails in an object), as these changes are not suitable for release. work around job003359 for the example scheme interpreter by setting the compilation option -fno-inline-functions.
...
Copied from Perforce
Change: 180941
ServerID: perforce.ravenbrook.com
2013-02-08 15:36:50 +00:00
Richard Brooksby
8c17bdd095
Integrate documentation fix from scheme.c.
...
Copied from Perforce
Change: 180915
ServerID: perforce.ravenbrook.com
2013-02-05 16:22:41 +00:00
Richard Brooksby
5e26931702
Corrected statement about forwarding objects being used for padding.
...
Copied from Perforce
Change: 180914
ServerID: perforce.ravenbrook.com
2013-02-05 16:17:40 +00:00
Gareth Rees
2f4c618ffb
Add some casts so that visual studio c++ 2010 express does not complain about loss of data and signed/unsigned comparison.
...
Copied from Perforce
Change: 180499
ServerID: perforce.ravenbrook.com
2012-11-19 15:10:30 +00:00
Gareth Rees
d522e73711
Integrate gcc compatibility fixes from scheme.c to scheme-advanced.c.
...
Copied from Perforce
Change: 180476
ServerID: perforce.ravenbrook.com
2012-11-15 11:40:09 +00:00
Gareth Rees
af8e1aad91
Integrate gcc compatibility from scheme-malloc.c to scheme.c and scheme-boehm.c.
...
Copied from Perforce
Change: 180475
ServerID: perforce.ravenbrook.com
2012-11-15 11:39:08 +00:00
Gareth Rees
4133528ded
Avoid warnings under gcc:
...
* Use <errno.h> instead of "extern int errno;".
* Can't cast function pointer to object pointer.
* GCC's dataflow analysis wrongly thinks "end" can be used uninitialized.
Copied from Perforce
Change: 180474
ServerID: perforce.ravenbrook.com
2012-11-15 11:35:33 +00:00
Gareth Rees
4e75e51472
Need -std=c99 in order to use vsnprintf.
...
Copied from Perforce
Change: 180473
ServerID: perforce.ravenbrook.com
2012-11-15 11:33:54 +00:00
Gareth Rees
5e9f42cd44
Use three generations and 32 mb of address space.
...
Copied from Perforce
Change: 180467
ServerID: perforce.ravenbrook.com
2012-11-14 14:12:12 +00:00
Gareth Rees
38000922fc
Typo.
...
Copied from Perforce
Change: 180461
ServerID: perforce.ravenbrook.com
2012-11-13 15:07:49 +00:00
Gareth Rees
323e12294f
Merge documentation changes.
...
Copied from Perforce
Change: 180445
ServerID: perforce.ravenbrook.com
2012-11-11 20:44:19 +00:00
Gareth Rees
d298fea296
Document more of the entry points.
...
Copied from Perforce
Change: 180444
ServerID: perforce.ravenbrook.com
2012-11-11 20:42:56 +00:00
Gareth Rees
2974145d2d
Merge "do" implementation from scheme.c into scheme-advanced.c.
...
Copied from Perforce
Change: 180443
ServerID: perforce.ravenbrook.com
2012-11-11 19:41:01 +00:00
Gareth Rees
717c7e32e4
Merge "do" implementation into scheme-boehm.c and scheme.c.
...
Copied from Perforce
Change: 180442
ServerID: perforce.ravenbrook.com
2012-11-11 19:40:17 +00:00
Gareth Rees
fd03ed65aa
Implement "do".
...
Copied from Perforce
Change: 180441
ServerID: perforce.ravenbrook.com
2012-11-11 19:34:46 +00:00
Gareth Rees
6f81d69df3
Add two new events:
...
* ArenaAccess for handling barrier hits;
* ArenaPoll for choosing a quantum of work.
Copied from Perforce
Change: 180432
ServerID: perforce.ravenbrook.com
2012-11-09 15:19:35 +00:00
Gareth Rees
d17e0165e4
(a very little) support for building scheme-boehm.
...
Copied from Perforce
Change: 180419
ServerID: perforce.ravenbrook.com
2012-11-08 16:11:08 +00:00
Gareth Rees
0603aac21a
Frequent garbage collection often turns up problems.
...
Copied from Perforce
Change: 180418
ServerID: perforce.ravenbrook.com
2012-11-08 15:22:09 +00:00
Gareth Rees
7c32a70133
One more test case implemented.
...
Copied from Perforce
Change: 180417
ServerID: perforce.ravenbrook.com
2012-11-08 15:21:51 +00:00
Gareth Rees
57b2c283b2
Integrate promise fix from scheme to scheme-advanced.
...
Copied from Perforce
Change: 180416
ServerID: perforce.ravenbrook.com
2012-11-08 15:20:57 +00:00
Gareth Rees
efb6eb325a
Oops, forgot to scan and skip promises!
...
Copied from Perforce
Change: 180415
ServerID: perforce.ravenbrook.com
2012-11-08 15:20:11 +00:00
Gareth Rees
95389d01d0
Add (gc) stub to scheme-malloc.c so we can call it from the test suite.
...
Copied from Perforce
Change: 180414
ServerID: perforce.ravenbrook.com
2012-11-08 15:19:46 +00:00
Gareth Rees
c7ef8089ab
Implement full "map" and "for-each" behaviour and run test cases.
...
Copied from Perforce
Change: 180410
ServerID: perforce.ravenbrook.com
2012-11-08 14:01:51 +00:00