Gareth Rees
7bca0dfad5
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
3dcc9800ad
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
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
1b5fffe0dc
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
700291e07c
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
8ac34f5fd4
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
c0b04cd3ff
Fix the dependent object.
...
Copied from Perforce
Change: 180279
ServerID: perforce.ravenbrook.com
2012-11-02 14:25:09 +00:00
Gareth Rees
96db37906a
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
16c207aa0f
Actions from meeting with rb.
...
Copied from Perforce
Change: 180277
ServerID: perforce.ravenbrook.com
2012-11-02 14:15:36 +00:00
Gareth Rees
6a14ac6631
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
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
aaf7920007
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
a33c71a346
Implement apply.
...
Copied from Perforce
Change: 180269
ServerID: perforce.ravenbrook.com
2012-11-02 12:44:20 +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
045c45a18c
Add references to documentation.
...
Copied from Perforce
Change: 180256
ServerID: perforce.ravenbrook.com
2012-11-02 11:57:16 +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
0d17ceb416
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
e42bab4f76
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
bf1480c169
Chatter only if interactive.
...
Copied from Perforce
Change: 180251
ServerID: perforce.ravenbrook.com
2012-11-02 10:58:29 +00:00
Gareth Rees
879231be2d
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
b68fc45c4a
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
d3d7372e88
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
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
5b50c401c3
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
99bca8b5e2
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
f9acc18caa
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
5e275103ed
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
e724dc3889
Document mfs pool class
...
Copied from Perforce
Change: 180220
ServerID: perforce.ravenbrook.com
2012-11-01 12:14:47 +00:00
Gareth Rees
f44e475247
Glossary entry for "splat".
...
Copied from Perforce
Change: 180217
ServerID: perforce.ravenbrook.com
2012-11-01 11:34:07 +00:00
Gareth Rees
0d65f20291
Typo.
...
Copied from Perforce
Change: 180213
ServerID: perforce.ravenbrook.com
2012-11-01 00:59:25 +00:00
Gareth Rees
6abdd5c534
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
f63407caf4
Typos.
...
Copied from Perforce
Change: 180211
ServerID: perforce.ravenbrook.com
2012-11-01 00:54:17 +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
Gareth Rees
757af3fb86
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
760d198ea9
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
5e4ff91b28
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
a00f33a4fd
Write weak references chapter.
...
Copied from Perforce
Change: 180202
ServerID: perforce.ravenbrook.com
2012-10-31 17:45:35 +00:00
Gareth Rees
53c263ec0b
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
5028b63849
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
ea1242048c
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
9b2f5a0f32
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
4d0d20a5a0
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
5e62407261
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
d894dd466a
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
4de2a8eb46
More bibliography checking.
...
Copied from Perforce
Change: 180183
ServerID: perforce.ravenbrook.com
2012-10-31 11:53:15 +00:00
Gareth Rees
683969dc69
Improve bibliography references.
...
Copied from Perforce
Change: 180181
ServerID: perforce.ravenbrook.com
2012-10-30 22:28:19 +00:00
Gareth Rees
a7fc10f273
Fix typos.
...
Copied from Perforce
Change: 180175
ServerID: perforce.ravenbrook.com
2012-10-30 18:40:44 +00:00
Gareth Rees
20cee92f6c
Put sense in superscript even if glossary cross-ref spans multiple lines.
...
Copied from Perforce
Change: 180174
ServerID: perforce.ravenbrook.com
2012-10-30 18:40:32 +00:00
Gareth Rees
787759cb38
Expand bibliography todo.
...
Copied from Perforce
Change: 180173
ServerID: perforce.ravenbrook.com
2012-10-30 17:53:18 +00:00