1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 16:51:46 -07:00
Commit graph

118 commits

Author SHA1 Message Date
Gareth Rees
4b8601ff78 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
0bdfcbbede Typo.
Copied from Perforce
 Change: 180461
 ServerID: perforce.ravenbrook.com
2012-11-13 15:07:49 +00:00
Gareth Rees
f54b26e6a1 Merge documentation changes.
Copied from Perforce
 Change: 180445
 ServerID: perforce.ravenbrook.com
2012-11-11 20:44:19 +00:00
Gareth Rees
952700c3fa 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
006af61ec3 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
045d54a9e6 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
c9ff7ccb2f Implement "do".
Copied from Perforce
 Change: 180441
 ServerID: perforce.ravenbrook.com
2012-11-11 19:34:46 +00:00
Gareth Rees
f4c255c9a4 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
f7db760934 (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
f75869dd86 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
1178f213ba One more test case implemented.
Copied from Perforce
 Change: 180417
 ServerID: perforce.ravenbrook.com
2012-11-08 15:21:51 +00:00
Gareth Rees
3c6b97d65a 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
3e48dcaeec 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
b4c529461e 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
c5be9edd31 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
Gareth Rees
6cd3e4fda7 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
c8ad6b46dc Integrate "apply" fix into scheme-boehm.c and scheme.c.
Copied from Perforce
 Change: 180408
 ServerID: perforce.ravenbrook.com
2012-11-08 13:55:43 +00:00
Gareth Rees
c4486a5381 Operators need to be self-evaluating.
"apply" needs to quote the arguments to avoid them being doubly evaluated.

Copied from Perforce
 Change: 180407
 ServerID: perforce.ravenbrook.com
2012-11-08 13:53:49 +00:00
Gareth Rees
4731069f72 Implement lots more r4rs.
Copied from Perforce
 Change: 180377
 ServerID: perforce.ravenbrook.com
2012-11-06 22:37:53 +00:00
Gareth Rees
54f5897c28 Oops, forgot to remove mps-specific comment.
Copied from Perforce
 Change: 180376
 ServerID: perforce.ravenbrook.com
2012-11-06 19:43:21 +00:00
Gareth Rees
c2abe5baaa Boehm port of the scheme interpreter.
Copied from Perforce
 Change: 180375
 ServerID: perforce.ravenbrook.com
2012-11-06 19:25:31 +00:00
Gareth Rees
fafb913dc1 Branch scheme-malloc.c to scheme-boehm.c.
Copied from Perforce
 Change: 180374
 ServerID: perforce.ravenbrook.com
2012-11-06 18:37:46 +00:00
Gareth Rees
d02f172de0 "make clean" now idempotent.
Copied from Perforce
 Change: 180366
 ServerID: perforce.ravenbrook.com
2012-11-06 13:52:59 +00:00
Gareth Rees
f4d7511316 More r4rs, r5rs.
Copied from Perforce
 Change: 180365
 ServerID: perforce.ravenbrook.com
2012-11-06 12:16:59 +00:00
Gareth Rees
b6300a3af4 Avoid type pun.
Copied from Perforce
 Change: 180364
 ServerID: perforce.ravenbrook.com
2012-11-06 12:16:46 +00:00
Gareth Rees
1c937a1915 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
c06a2a56ac Need to check hash table for staleness when deleting a key.
Copied from Perforce
 Change: 180354
 ServerID: perforce.ravenbrook.com
2012-11-05 23:29:23 +00:00
Gareth Rees
5498084781 Targets depend on the makefile.
Copied from Perforce
 Change: 180308
 ServerID: perforce.ravenbrook.com
2012-11-04 23:06:56 +00:00
Gareth Rees
67f310ef48 Oops, forgot to check in advanced.rst.
Copied from Perforce
 Change: 180304
 ServerID: perforce.ravenbrook.com
2012-11-03 18:28:36 +00:00
Gareth Rees
d1bc2a6855 Write "advanced topics" chapter of the user guide.
Copied from Perforce
 Change: 180303
 ServerID: perforce.ravenbrook.com
2012-11-03 17:38:57 +00:00
Gareth Rees
f16a8b3629 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
88d5827d32 Fix typo in make_port.
Hash tables only depend on the location of keys if they are hashed by address.
Port objects are registered for finalization when created, and definalized when closed.
New function load handles loading a file in both cases (and calls mps_chat to ensure finalization).
Avoid calling fclose multiple times on a file handle.
Merge main loop improvements from scheme-malloc.c.

Copied from Perforce
 Change: 180301
 ServerID: perforce.ravenbrook.com
2012-11-03 17:30:25 +00:00
Gareth Rees
3169429b36 Fix bug: actually close the file in entry_close_port.
Copied from Perforce
 Change: 180300
 ServerID: perforce.ravenbrook.com
2012-11-03 17:08:15 +00:00
Gareth Rees
b191edc1e5 Separate the interactive and non-interactive loops for clarity.
New function "load" loads a file; call this in the non-interactive case.
Fix bug: close file handle after loading (if no error).

Copied from Perforce
 Change: 180299
 ServerID: perforce.ravenbrook.com
2012-11-03 15:49:59 +00:00
Gareth Rees
7bde2ba145 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
0ec61243f9 Integrate quasiquote improvements.
Copied from Perforce
 Change: 180296
 ServerID: perforce.ravenbrook.com
2012-11-02 22:39:26 +00:00
Gareth Rees
4df0a7d528 Improve quasiquote implementation.
Copied from Perforce
 Change: 180295
 ServerID: perforce.ravenbrook.com
2012-11-02 22:38:05 +00:00
Gareth Rees
2eb56323e1 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
e0d552ff66 Integrate error implementation from scheme-malloc.c.
Copied from Perforce
 Change: 180293
 ServerID: perforce.ravenbrook.com
2012-11-02 19:12:58 +00:00
Gareth Rees
f4fccc5cef Implement "error".
Copied from Perforce
 Change: 180292
 ServerID: perforce.ravenbrook.com
2012-11-02 19:07:55 +00:00
Gareth Rees
f35be3c83e New test case for weak hash tables (doesn't pass yet).
Copied from Perforce
 Change: 180291
 ServerID: perforce.ravenbrook.com
2012-11-02 17:35:39 +00:00
Gareth Rees
ec1375852d Refactor test code now that we can load it.
Copied from Perforce
 Change: 180290
 ServerID: perforce.ravenbrook.com
2012-11-02 17:35:05 +00:00
Gareth Rees
d4fbbdfb6d 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
73f266ef56 Integrate load from scheme-malloc.c.
Copied from Perforce
 Change: 180288
 ServerID: perforce.ravenbrook.com
2012-11-02 16:40:22 +00:00
Gareth Rees
fb09e1a364 Implement load.
Copied from Perforce
 Change: 180287
 ServerID: perforce.ravenbrook.com
2012-11-02 16:38:44 +00:00
Gareth Rees
0756e9d42a Integrate eq-hash and eqv-hash from scheme-malloc.c.
Copied from Perforce
 Change: 180285
 ServerID: perforce.ravenbrook.com
2012-11-02 16:04:06 +00:00
Gareth Rees
ef98f2a9c6 Support more kinds of hashtable via make-hashtable.
Fix bug in eqv (character objects now test equal if they represent the same character).

Copied from Perforce
 Change: 180284
 ServerID: perforce.ravenbrook.com
2012-11-02 16:02:05 +00:00
Gareth Rees
4922259f66 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
05dacb91bb Integrate string=?, make-eqv-hashtable, make-hashtable from scheme-malloc.c.
Copied from Perforce
 Change: 180282
 ServerID: perforce.ravenbrook.com
2012-11-02 15:43:07 +00:00
Gareth Rees
d984d32588 New constructor make_bool avoids boilerplate.
Hash function takes a length so that it (1) it can support strings containing NULs; (2) it doesn't have to check for NULs so runs a bit faster; and (3) it performs OK on addresses (which often contain zero bytes).
Hash tables have hash and comparison functions.
Implement string=?, make-eqv-hashtable and make-hashtable.

Copied from Perforce
 Change: 180281
 ServerID: perforce.ravenbrook.com
2012-11-02 15:39:19 +00:00