Gareth Rees
7d43cfa380
Rename mps_root_create_reg_masked to mps_root_create_stack, and deprecate mps_root_create_reg, as suggested in review by nb < https://info.ravenbrook.com/mail/2015/09/09/16-18-10/0/ >.
...
Copied from Perforce
Change: 188312
ServerID: perforce.ravenbrook.com
2015-09-14 20:16:14 +01:00
Gareth Rees
2b424af0a5
Remove unused argument 'buckets' from scheme table_find. (this broke the xcode build on os x.)
...
Copied from Perforce
Change: 187116
ServerID: perforce.ravenbrook.com
2014-10-02 11:42:33 +01:00
Gareth Rees
5681e48d58
Must test a key for staleness with respect to a location dependency before setting it (not just before looking it up or deleting it).
...
Copied from Perforce
Change: 187079
ServerID: perforce.ravenbrook.com
2014-09-28 23:32:37 +01:00
Gareth Rees
5107ea0a53
Bring xcode project up to date.
...
Fix signed/unsigned integer comparison warning in Scheme example.
Copied from Perforce
Change: 186629
ServerID: perforce.ravenbrook.com
2014-06-14 16:08:31 +01:00
Gareth Rees
2b313decf1
Catch-up merge from master sources @186519 to branch/2014-05-17/chunk-tree.
...
Copied from Perforce
Change: 186520
ServerID: perforce.ravenbrook.com
2014-06-12 11:43:56 +01:00
Gareth Rees
6e72fe4da3
Synchronize stdout and stderr (for the benefit of windows).
...
Copied from Perforce
Change: 186519
ServerID: perforce.ravenbrook.com
2014-06-12 11:37:50 +01:00
Gareth Rees
e93033f289
Must fflush stderr too--it's buffered on windows!
...
Copied from Perforce
Change: 186517
ServerID: perforce.ravenbrook.com
2014-06-12 11:28:41 +01:00
Gareth Rees
e79e0ee1dd
Need to synchronize stdout and stdin for the benefit of windows.
...
Copied from Perforce
Change: 186516
ServerID: perforce.ravenbrook.com
2014-06-12 11:22:55 +01:00
Gareth Rees
4dc70cba7c
All versions of the scheme interpreter now take multiple files on the command line.
...
Integrate change 186243 to scheme-{advanced,malloc,boehm}.c.
Copied from Perforce
Change: 186244
ServerID: perforce.ravenbrook.com
2014-05-22 13:16:29 +01:00
Gareth Rees
f025b00534
Turn on -wunreachable-code for gcc and clang.
...
Remove unreachable code:
* No need to have different debug options or structured allocation classes for different platforms.
* Don't use STATISTIC_BEGIN, use STATISTIC_STAT.
* #ifdef away the unused code in zmess.c for testing ControlAlloc failure.
* Remove unused code from the example Scheme interpreter.
Copied from Perforce
Change: 185089
ServerID: perforce.ravenbrook.com
2014-03-30 14:26:02 +01:00
Gareth Rees
6971bee496
Make mps_args_done obsolete.
...
Copied from Perforce
Change: 184543
ServerID: perforce.ravenbrook.com
2014-02-26 12:47:27 +00:00
Gareth Rees
8d956f1dc9
Add missing mps_args_done.
...
Copied from Perforce
Change: 184404
ServerID: perforce.ravenbrook.com
2014-02-20 16:10:55 +00:00
Gareth Rees
426561a8b3
Avoid "discard qualifiers" error from xcode.
...
Copied from Perforce
Change: 184401
ServerID: perforce.ravenbrook.com
2014-02-20 14:45:10 +00:00
Gareth Rees
a889f62ded
Merge change 184399 (avoid warnings from xcode) from scheme.c to scheme-advanced.c.
...
Copied from Perforce
Change: 184400
ServerID: perforce.ravenbrook.com
2014-02-20 14:41:05 +00:00
Gareth Rees
12ea27d7e2
Merge change 184105 (addition of const) from scheme.c to scheme-advanced.c.
...
Copied from Perforce
Change: 184397
ServerID: perforce.ravenbrook.com
2014-02-20 14:20:41 +00:00
Gareth Rees
dd7a13e5cb
Rename align_up and align macros in the scheme example as align_word and align_obj respectively.
...
Copied from Perforce
Change: 183392
ServerID: perforce.ravenbrook.com
2013-09-05 08:15:56 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
ce1d9fe08f
Integrate "apply" fix into scheme-advanced.c.
...
Copied from Perforce
Change: 180409
ServerID: perforce.ravenbrook.com
2012-11-08 14:01:10 +00:00
Gareth Rees
675a07679e
Avoid type pun.
...
Copied from Perforce
Change: 180364
ServerID: perforce.ravenbrook.com
2012-11-06 12:16:46 +00:00
Gareth Rees
bd5f4e6e67
Integrate table_delete bugfix from scheme.c.
...
Copied from Perforce
Change: 180355
ServerID: perforce.ravenbrook.com
2012-11-05 23:57:21 +00:00
Gareth Rees
493989efb7
Merge improvements from scheme.c.
...
TAG_COUNT is a better name than TAG_LENGTH.
Handle splat correctly even if no dependent object.
Copied from Perforce
Change: 180302
ServerID: perforce.ravenbrook.com
2012-11-03 17:38:37 +00:00
Gareth Rees
2ee1746ea8
Integrate quasiquote improvements from scheme.c.
...
Copied from Perforce
Change: 180297
ServerID: perforce.ravenbrook.com
2012-11-02 22:45:41 +00:00
Gareth Rees
7f34f0e8cb
Implement the global symbol table as a weak-value hash table from strings to symbols.
...
Copied from Perforce
Change: 180294
ServerID: perforce.ravenbrook.com
2012-11-02 21:23:12 +00:00
Gareth Rees
3633d3b64a
Merge scheme.c changes (load, eqv) into scheme-advanced.c.
...
Improve weak hash table interface.
Fix a couple of bugs in handling of dependent objects.
Copied from Perforce
Change: 180289
ServerID: perforce.ravenbrook.com
2012-11-02 17:34:49 +00:00
Gareth Rees
dabc0e0ecf
Integrate string=?, make-eqv-hashtable, and make-hashtable.
...
Copied from Perforce
Change: 180283
ServerID: perforce.ravenbrook.com
2012-11-02 15:54:41 +00:00
Gareth Rees
c0b04cd3ff
Fix the dependent object.
...
Copied from Perforce
Change: 180279
ServerID: perforce.ravenbrook.com
2012-11-02 14:25:09 +00:00
Gareth Rees
8c84469650
Merge change from scheme.c (implementation apply).
...
Share generation chain between pools.
No need for leaf_fmt at the moment.
Copied from Perforce
Change: 180275
ServerID: perforce.ravenbrook.com
2012-11-02 13:40:08 +00:00
Gareth Rees
468a79a99c
Integrate references to documentation.
...
Copied from Perforce
Change: 180258
ServerID: perforce.ravenbrook.com
2012-11-02 11:58:38 +00:00