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
Gareth Rees
2fb8140c68
Merge changes from scheme.c into scheme-advanced.c:
...
1. Deletion of keys in hash tables.
2. Forwarding of character objects on 64-bit platforms.
3. Fix to hash table probe sequence.
4. Comments in Scheme source.
5. Fix to define (implicit begin).
6. Extend equal? to vectors and strings.
7. Add references to R4RS documentation.
8. Implement list-tail, list-ref, open-output-file, close-input-port, close-output-port, write, write-string, newline, hashtable?, hashtable-size, hashtable-delete!, hashtable-contains?, hashtable-keys.
9. Fix bug (buckets might be scanned before dependent object is set).
10. Non-interactive mode.
Copied from Perforce
Change: 180255
ServerID: perforce.ravenbrook.com
2012-11-02 11:50:33 +00:00
Gareth Rees
57859a8d1a
Segregate leaf objects into an amcz pool.
...
Copied from Perforce
Change: 180240
ServerID: perforce.ravenbrook.com
2012-11-01 18:14:41 +00:00
Gareth Rees
a8d8e95934
Try segregating leaf objects.
...
Copied from Perforce
Change: 180209
ServerID: perforce.ravenbrook.com
2012-10-31 22:52:39 +00:00
Gareth Rees
13af2f01a4
Weak hash tables in scheme-advanced.c.
...
Copied from Perforce
Change: 180208
ServerID: perforce.ravenbrook.com
2012-10-31 22:13:46 +00:00