1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 08:41:47 -07:00
Commit graph

3830 commits

Author SHA1 Message Date
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
Gareth Rees
0c2ac9a398 Deprecate mv. make deprecation notices consistent.
Copied from Perforce
 Change: 180280
 ServerID: perforce.ravenbrook.com
2012-11-02 14:26:55 +00:00
Gareth Rees
979961ecd7 Fix the dependent object.
Copied from Perforce
 Change: 180279
 ServerID: perforce.ravenbrook.com
2012-11-02 14:25:09 +00:00
Gareth Rees
2d3f334a72 Document that the dependent object needs to be fixed (and might be splatted). update the example code accordingly.
Copied from Perforce
 Change: 180278
 ServerID: perforce.ravenbrook.com
2012-11-02 14:23:10 +00:00
Gareth Rees
18f85f59aa Actions from meeting with rb.
Copied from Perforce
 Change: 180277
 ServerID: perforce.ravenbrook.com
2012-11-02 14:15:36 +00:00
Gareth Rees
64b873a2bc New test case for leaf objects.
Copied from Perforce
 Change: 180276
 ServerID: perforce.ravenbrook.com
2012-11-02 13:40:20 +00:00
Gareth Rees
90e19d01b9 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
9d47c8fd46 Integrate apply from scheme-malloc.c.
Copied from Perforce
 Change: 180270
 ServerID: perforce.ravenbrook.com
2012-11-02 12:45:22 +00:00
Gareth Rees
74494e0a38 Implement apply.
Copied from Perforce
 Change: 180269
 ServerID: perforce.ravenbrook.com
2012-11-02 12:44:20 +00:00
Gareth Rees
10b15a188c Integrate references to documentation.
Copied from Perforce
 Change: 180258
 ServerID: perforce.ravenbrook.com
2012-11-02 11:58:38 +00:00
Gareth Rees
42755dedcc Add references to documentation.
Copied from Perforce
 Change: 180256
 ServerID: perforce.ravenbrook.com
2012-11-02 11:57:16 +00:00
Gareth Rees
ddb4cc823c 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
6c7e10b9aa Integrate changes from scheme-malloc to scheme.
Add test target to Makefile.

Copied from Perforce
 Change: 180253
 ServerID: perforce.ravenbrook.com
2012-11-02 11:19:45 +00:00
Gareth Rees
1c7c0acc5c Make sure that probe sequence visits all buckets in the hash table by (a) ensuring that hash tables are a power of 2 in size; (b) ensuring that the probe step is odd.
Copied from Perforce
 Change: 180252
 ServerID: perforce.ravenbrook.com
2012-11-02 11:16:10 +00:00
Gareth Rees
54da8d4bc3 Chatter only if interactive.
Copied from Perforce
 Change: 180251
 ServerID: perforce.ravenbrook.com
2012-11-02 10:58:29 +00:00
Gareth Rees
efe5998a62 Add non-interactive execution.
Implement list-tail and list-ref.

Copied from Perforce
 Change: 180249
 ServerID: perforce.ravenbrook.com
2012-11-02 10:24:39 +00:00
Gareth Rees
daf132a970 Implement string-hash and correct error messages.
Copied from Perforce
 Change: 180244
 ServerID: perforce.ravenbrook.com
2012-11-01 22:07:33 +00:00
Gareth Rees
4245b9766f Merge changes from scheme-malloc.c to scheme.c.
Copied from Perforce
 Change: 180242
 ServerID: perforce.ravenbrook.com
2012-11-01 19:16:34 +00:00
Gareth Rees
a8a6b4ab5c 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
f8d48677d0 Fix bug in "define": no implied "begin" around function body.
Implement open-output-file, close-input-port, close-output-port, write, write-string, and newline.
Add Scheme test cases.

Copied from Perforce
 Change: 180238
 ServerID: perforce.ravenbrook.com
2012-11-01 18:05:34 +00:00
Gareth Rees
e11e83d909 Amc can't omit the guard "segrankset(seg) != ranksetempty" for calling segsetgrey, because amcz uses segments with an empty rank set.
It's OK to call SegSetGrey on a segment with an empty rank set so long as you are not actually setting it to be grey for any traces, so correct the AVER accordingly.

Copied from Perforce
 Change: 180236
 ServerID: perforce.ravenbrook.com
2012-11-01 17:21:57 +00:00
Gareth Rees
768d4870bb Merge new hashtable stuff from scheme-malloc.c.
Fix bug in scheme.c (characters were only 8 bytes on 64-bit platforms, so can't be forwarded).

Copied from Perforce
 Change: 180231
 ServerID: perforce.ravenbrook.com
2012-11-01 15:37:43 +00:00
Gareth Rees
9f43a0a241 Add more hashtable features, including deletion (which we'll need for weak hashtables).
Copied from Perforce
 Change: 180225
 ServerID: perforce.ravenbrook.com
2012-11-01 14:37:45 +00:00
Gareth Rees
308a03b9b7 Document mfs pool class
Copied from Perforce
 Change: 180220
 ServerID: perforce.ravenbrook.com
2012-11-01 12:14:47 +00:00
Gareth Rees
ba139a8b85 Glossary entry for "splat".
Copied from Perforce
 Change: 180217
 ServerID: perforce.ravenbrook.com
2012-11-01 11:34:07 +00:00
Gareth Rees
3b2f40019d Typo.
Copied from Perforce
 Change: 180213
 ServerID: perforce.ravenbrook.com
2012-11-01 00:59:25 +00:00
Gareth Rees
f0fe69af0d What happens when all weak references have been splatted.
Copied from Perforce
 Change: 180212
 ServerID: perforce.ravenbrook.com
2012-11-01 00:56:32 +00:00
Gareth Rees
589c4390f0 Typos.
Copied from Perforce
 Change: 180211
 ServerID: perforce.ravenbrook.com
2012-11-01 00:54:17 +00:00
Gareth Rees
8cdceed6da Try segregating leaf objects.
Copied from Perforce
 Change: 180209
 ServerID: perforce.ravenbrook.com
2012-10-31 22:52:39 +00:00
Gareth Rees
37c725f76b Weak hash tables in scheme-advanced.c.
Copied from Perforce
 Change: 180208
 ServerID: perforce.ravenbrook.com
2012-10-31 22:13:46 +00:00
Gareth Rees
b0ba4e098d Correct pool names in property list.
Copied from Perforce
 Change: 180207
 ServerID: perforce.ravenbrook.com
2012-10-31 22:11:45 +00:00
Gareth Rees
38a47fdecd Branch scheme.c to scheme-advanced.c.
Copied from Perforce
 Change: 180204
 ServerID: perforce.ravenbrook.com
2012-10-31 19:10:58 +00:00
Gareth Rees
bb634a394b Mention dependent objects in weak references chapter.
Copied from Perforce
 Change: 180203
 ServerID: perforce.ravenbrook.com
2012-10-31 18:02:09 +00:00
Gareth Rees
65167c2124 Write weak references chapter.
Copied from Perforce
 Change: 180202
 ServerID: perforce.ravenbrook.com
2012-10-31 17:45:35 +00:00
Gareth Rees
788449a646 Deprecate allocation frames along with snc.
Copied from Perforce
 Change: 180201
 ServerID: perforce.ravenbrook.com
2012-10-31 17:26:36 +00:00
Gareth Rees
158caeaf66 Actions from meeting with rb and from rb's e-mail.
Copied from Perforce
 Change: 180200
 ServerID: perforce.ravenbrook.com
2012-10-31 17:22:43 +00:00
Gareth Rees
10960b9195 Finish updating links from the bibliography.
Copied from Perforce
 Change: 180190
 ServerID: perforce.ravenbrook.com
2012-10-31 13:16:24 +00:00
Gareth Rees
832a2d0f33 Mvff alignment is configurable.
Consistent order for ranks in pool choice table.

Copied from Perforce
 Change: 180187
 ServerID: perforce.ravenbrook.com
2012-10-31 12:09:42 +00:00
Gareth Rees
32c1243880 Use plain "sphinx-build" for cross-platform compatibility.
(Run "port select --set sphinx py27-sphinx" on OS X.)

Copied from Perforce
 Change: 180186
 ServerID: perforce.ravenbrook.com
2012-10-31 12:04:13 +00:00
Gareth Rees
07782b09d6 Move old scheme to example/scheme/scheme-malloc.c
Provide instructions to build it.

Copied from Perforce
 Change: 180185
 ServerID: perforce.ravenbrook.com
2012-10-31 12:02:11 +00:00
Gareth Rees
57846b3f16 Improve the scheme example hashtable implementation:
1. Follow R6RS for naming of functions and arguments.
2. Grow the hashtable when half full.

Copied from Perforce
 Change: 180184
 ServerID: perforce.ravenbrook.com
2012-10-31 11:54:25 +00:00
Gareth Rees
55616178fe More bibliography checking.
Copied from Perforce
 Change: 180183
 ServerID: perforce.ravenbrook.com
2012-10-31 11:53:15 +00:00
Gareth Rees
1a9d05284d Improve bibliography references.
Copied from Perforce
 Change: 180181
 ServerID: perforce.ravenbrook.com
2012-10-30 22:28:19 +00:00