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

3857 commits

Author SHA1 Message Date
Gareth Rees
027ec23a5c Write (draft of) perf chapter.
Copied from Perforce
 Change: 180333
 ServerID: perforce.ravenbrook.com
2012-11-05 16:26:19 +00:00
Gareth Rees
333a8fd5bc The padding method always receives a base pointer.
Copied from Perforce
 Change: 180330
 ServerID: perforce.ravenbrook.com
2012-11-05 14:36:51 +00:00
Gareth Rees
633cdf10f2 Added 'drj' and 'rhsk' to past users.
Copied from Perforce
 Change: 180329
 ServerID: perforce.ravenbrook.com
2012-11-05 14:09:31 +00:00
Gareth Rees
d376530ef6 Oops: fix cross-references.
Copied from Perforce
 Change: 180328
 ServerID: perforce.ravenbrook.com
2012-11-05 13:55:21 +00:00
Gareth Rees
7157934113 Cite johnstone (1997) for weak and strong tri-colour invariants, following <http://info.ravenbrook.com/mail/2009/11/03/02-02-29/0/>.
Copied from Perforce
 Change: 180327
 ServerID: perforce.ravenbrook.com
2012-11-05 13:35:59 +00:00
Gareth Rees
e3ade43296 Add names to credits: hans feldt (suggested "huge page"); walter spector (corrections to "fortran").
Copied from Perforce
 Change: 180326
 ServerID: perforce.ravenbrook.com
2012-11-05 13:21:33 +00:00
Gareth Rees
8c3949ae87 Add glossary entry for "huge page" (aka "large page", "superpage") as requested by hans feldt <http://info.ravenbrook.com/mail/2003/11/19/13-48-55/0.txt>
Copied from Perforce
 Change: 180325
 ServerID: perforce.ravenbrook.com
2012-11-05 13:19:57 +00:00
Gareth Rees
23782a204d Correct description of allocation in fortran based on e-mail from walter spector <http://info.ravenbrook.com/mail/2002/10/07/18-47-03/0.txt>.
Copied from Perforce
 Change: 180324
 ServerID: perforce.ravenbrook.com
2012-11-05 13:04:53 +00:00
Gareth Rees
832fd288e4 Compiler toolchain is important part of platform.
Copied from Perforce
 Change: 180317
 ServerID: perforce.ravenbrook.com
2012-11-05 12:25:40 +00:00
Gareth Rees
faec655a6f Pool reference for mfs.
Copied from Perforce
 Change: 180310
 ServerID: perforce.ravenbrook.com
2012-11-05 10:08:23 +00:00
Gareth Rees
e1f32d0382 Minor edits.
Copied from Perforce
 Change: 180309
 ServerID: perforce.ravenbrook.com
2012-11-04 23:07:05 +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
f407b99fb3 More wise papers are online.
Copied from Perforce
 Change: 180307
 ServerID: perforce.ravenbrook.com
2012-11-04 23:06:22 +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
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