1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-31 17:30:54 -08:00
Commit graph

141 commits

Author SHA1 Message Date
Gareth Rees
e5b175a961 Catch-up merge from master sources at changelevel 194484 to branch/2014-10-26/sc.
Copied from Perforce
 Change: 194487
2018-07-06 21:42:35 +01:00
Gareth Rees
169b8dcaf6 Avoid using deprecated function mps_fix and deprecated macro mps_fix in the test cases; use mps_fix12 instead.
Copied from Perforce
 Change: 193726
2018-06-13 13:59:14 +01:00
Gareth Rees
0f4564a71b Merge design.mps.class-interface into design.mps.pool (as suggested by pekka p. pirinen on 1999-07-20).
Bring pool class method descriptions up to date.
Document bufferClass, bufferFill, bufferEmpty, totalSize, freeSize methods.
Document generic instance methods at design.mps.protocol.method.

Copied from Perforce
 Change: 192642
 ServerID: perforce.ravenbrook.com
2016-10-19 15:34:35 +01:00
Gareth Rees
d83934de69 Remove return statements that have no effect.
Copied from Perforce
 Change: 192529
 ServerID: perforce.ravenbrook.com
2016-10-13 15:17:50 +01:00
Gareth Rees
d43cc4ef35 Fix problems noted in review.
Copied from Perforce
 Change: 192357
 ServerID: perforce.ravenbrook.com
2016-09-13 17:19:07 +01:00
Gareth Rees
01c13bf1b5 New functions mps_arena_busy and mps_arena_postmortem, plus test coverage.
Copied from Perforce
 Change: 192247
 ServerID: perforce.ravenbrook.com
2016-09-08 13:55:43 +01:00
Gareth Rees
e3951fca1e Add _critical to assertions on the critical path for manual-allocation-bound programs using mvff. this brings the hot/rash ratio for "djbench mvff" down from over 150% to about 130%.
Copied from Perforce
 Change: 192148
 ServerID: perforce.ravenbrook.com
2016-09-04 19:20:05 +01:00
Gareth Rees
c737a08bc2 Fix assertion text in the manual.
Place a cross-reference by each assertion the appears in the manual, to assist in keeping the manual up to date.

Copied from Perforce
 Change: 192097
 ServerID: perforce.ravenbrook.com
2016-09-02 14:11:08 +01:00
Gareth Rees
77b12d3ee7 Catch-up merge from master sources to branch/2014-10-11/snc.
Copied from Perforce
 Change: 191065
 ServerID: perforce.ravenbrook.com
2016-04-13 13:07:19 +01:00
Gareth Rees
13f8353d6e A lightweight pop is not safe for automatically managed pools, so check attrgc first.
Copied from Perforce
 Change: 191055
 ServerID: perforce.ravenbrook.com
2016-04-13 11:55:35 +01:00
Richard Brooksby
3de3827d47 Catch-up merge from master sources to branch/2014-10-26/sc.
Copied from Perforce
 Change: 190118
 ServerID: perforce.ravenbrook.com
2016-03-16 17:36:35 +00:00
Richard Brooksby
9583c0f68a Merging branch mps/branch/2016-03-13/without-reservation into master sources.
Copied from Perforce
 Change: 190106
 ServerID: perforce.ravenbrook.com
2016-03-15 13:19:27 +00:00
Richard Brooksby
684126cebf Updates from review by dl <https://info.ravenbrook.com/mail/2016/03/15/12-36-53/0/>.
Copied from Perforce
 Change: 190105
 ServerID: perforce.ravenbrook.com
2016-03-15 13:02:40 +00:00
Richard Brooksby
e3ce327e23 Catch-up merge from master sources to branch/2014-10-26/sc.
Copied from Perforce
 Change: 190092
 ServerID: perforce.ravenbrook.com
2016-03-15 11:18:27 +00:00
Richard Brooksby
effbe427e2 Removing obsolete comment about the reservoir.
Copied from Perforce
 Change: 190043
 ServerID: perforce.ravenbrook.com
2016-03-15 05:04:38 +00:00
Richard Brooksby
07987ab579 Eliminating withreservoirpermit and all its variants.
Copied from Perforce
 Change: 190005
 ServerID: perforce.ravenbrook.com
2016-03-13 21:04:01 +00:00
Richard Brooksby
ca7dcd913e Basic removal of the reservoir pool from code and design.
Copied from Perforce
 Change: 190000
 ServerID: perforce.ravenbrook.com
2016-03-13 20:32:24 +00:00
Gareth Rees
f9041d9a20 Documentation and interface for pause time control (no implementation yet).
Copied from Perforce
 Change: 189915
 ServerID: perforce.ravenbrook.com
2016-03-12 20:25:33 +00:00
Richard Brooksby
275adfe651 Storing the pointer to the stack frame where setjmp was invoked, rather than the address of the jump buffer, as the hot end of the mutator state, because callee-save registered might be stored on either side of the jump buffer by the compiler.
Removing the unnecessary assumption that the stack ends are word-aligned.

Copied from Perforce
 Change: 189582
 ServerID: perforce.ravenbrook.com
2016-03-03 17:12:43 +00:00
Richard Brooksby
f11eb2ef8c Catch-up merge from master sources to branch/2014-10-26/sc.
Includes hairy merging of stack manipulation code and may need further work on each platform.

Copied from Perforce
 Change: 189545
 ServerID: perforce.ravenbrook.com
2016-03-02 17:55:25 +00:00
Richard Brooksby
6a1b956a73 Expanding tabs.
Copied from Perforce
 Change: 189516
 ServerID: perforce.ravenbrook.com
2016-03-02 08:58:45 +00:00
Richard Brooksby
07a1290f3e Eliminating closure_size from area scanners and root registration functions, as it isn't all that useful.
Copied from Perforce
 Change: 189491
 ServerID: perforce.ravenbrook.com
2016-03-01 15:59:06 +00:00
Richard Brooksby
cce61c51de Removing assumption that area scanners take pointers to words. the client is at liberty to encode references in other ways.
Copied from Perforce
 Change: 189484
 ServerID: perforce.ravenbrook.com
2016-03-01 13:57:13 +00:00
Richard Brooksby
2f025ea5d2 Deprecating table roots.
Copied from Perforce
 Change: 189483
 ServerID: perforce.ravenbrook.com
2016-03-01 13:36:30 +00:00
Richard Brooksby
b771a2112a Implementing mps_root_create_area_tagged as documented.
Copied from Perforce
 Change: 189324
 ServerID: perforce.ravenbrook.com
2016-02-19 00:23:54 +00:00
Richard Brooksby
266228be7c Renaming "bottom" and "top" of stack to "cold" and "hot" end, to prevent confusion about descending stacks.
Correcting design documentation relating to stacks.
Referencing hot and cold end concepts from glossary entry for control stacks.

Copied from Perforce
 Change: 189320
 ServerID: perforce.ravenbrook.com
2016-02-18 23:49:58 +00:00
Richard Brooksby
44664b7cc7 Removing check that pattern fits within mask, as this restricts the generality of scan_area.
Copied from Perforce
 Change: 189312
 ServerID: perforce.ravenbrook.com
2016-02-18 20:49:21 +00:00
Richard Brooksby
0f8bee3762 Detabifying code and restructuredtext files.
Copied from Perforce
 Change: 189309
 ServerID: perforce.ravenbrook.com
2016-02-18 19:58:13 +00:00
Richard Brooksby
855719a568 Documenting mps_root_create_area and mps_root_create_area_tagged.
Copied from Perforce
 Change: 189243
 ServerID: perforce.ravenbrook.com
2016-02-16 16:03:28 +00:00
Richard Brooksby
553093f3ed Documenting thread root registration functions.
Copied from Perforce
 Change: 189207
 ServerID: perforce.ravenbrook.com
2016-02-16 00:34:10 +00:00
Richard Brooksby
525e7dc95b Making mps_root_create_thread a convenience function for the common case.
Copied from Perforce
 Change: 189205
 ServerID: perforce.ravenbrook.com
2016-02-15 23:30:12 +00:00
Richard Brooksby
8140fab4dd Creating general mps_root_create_thread and renaming mps_root_create_stack as a specialised version of it, mps_root_create_thread_tagged.
Copied from Perforce
 Change: 189198
 ServerID: perforce.ravenbrook.com
2016-02-15 19:12:59 +00:00
Richard Brooksby
a759889048 Reimplementing mps_root_create_reg in terms of rootcreatethreadtagged and abolishing rootreg. yay!
Copied from Perforce
 Change: 189197
 ServerID: perforce.ravenbrook.com
2016-02-15 18:19:30 +00:00
Richard Brooksby
53ce574bfe Renaming rootreg_masked to rootthread_tagged with corresponding changes to other identifiers.
Copied from Perforce
 Change: 189196
 ServerID: perforce.ravenbrook.com
2016-02-15 17:57:06 +00:00
Richard Brooksby
2ad27f73b1 Lifting stack and register area scanner into mps interface to allow generalisation of stack format.
Copied from Perforce
 Change: 189195
 ServerID: perforce.ravenbrook.com
2016-02-15 17:46:45 +00:00
Richard Brooksby
b04dbd8677 Generalising roottable to rootarea and using it to implement mps_root_create_table_* and mps_root_create_area.
Copied from Perforce
 Change: 189193
 ServerID: perforce.ravenbrook.com
2016-02-15 17:30:45 +00:00
Richard Brooksby
3b33c0808b Generalising roottable_masked to rootarea_tagged and lifting scanner assumption.
Copied from Perforce
 Change: 189192
 ServerID: perforce.ravenbrook.com
2016-02-15 16:56:42 +00:00
Richard Brooksby
6b7c5f3d74 Lifting assumptions about area scanners closer to interface.
Copied from Perforce
 Change: 189191
 ServerID: perforce.ravenbrook.com
2016-02-15 16:46:09 +00:00
Richard Brooksby
a3fdda4678 Lifting and generalising area scanners to allow flexible tagging schemes.
Copied from Perforce
 Change: 189189
 ServerID: perforce.ravenbrook.com
2016-02-15 15:30:08 +00:00
Richard Brooksby
d8d5ebbe91 Separating arenaenter from stack_context_begin and arenaleave from stack_context_end as they are not conceptually nested that way.
Copied from Perforce
 Change: 189446
 ServerID: perforce.ravenbrook.com
2016-02-12 15:22:34 +00:00
Richard Brooksby
acc5857820 Catch-up merge from master sources.
Copied from Perforce
 Change: 189445
 ServerID: perforce.ravenbrook.com
2016-02-12 14:54:04 +00:00
Richard Brooksby
9c0c184728 Adding mps_root_create_table_tagged as an interface to more generally tagged roots.
Deprecating the less general mps_root_create_table_masked.

Copied from Perforce
 Change: 189131
 ServerID: perforce.ravenbrook.com
2016-02-11 20:28:39 +00:00
Gareth Rees
6ce57eb2ed Demote fixme to todo with reference to job003947.
Copied from Perforce
 Change: 188336
 ServerID: perforce.ravenbrook.com
2015-09-16 20:01:22 +01:00
Gareth Rees
7d43cfa380 Rename mps_root_create_reg_masked to mps_root_create_stack, and deprecate mps_root_create_reg, as suggested in review by nb <https://info.ravenbrook.com/mail/2015/09/09/16-18-10/0/>.
Copied from Perforce
 Change: 188312
 ServerID: perforce.ravenbrook.com
2015-09-14 20:16:14 +01:00
Gareth Rees
881c594458 Correct type for rootcreateregmasked.
Copied from Perforce
 Change: 188233
 ServerID: perforce.ravenbrook.com
2015-09-04 12:28:49 +01:00
Gareth Rees
edf30c06b4 New function mps_root_create_reg_masked applies a mask and pattern test to all words in registers and on the stack when scanning them. this supports tagged references in these locations.
Consistently use the type "Word *" for pointers into the stack or into saved registers.
Remove TraceScanAreaTagged.

Copied from Perforce
 Change: 188231
 ServerID: perforce.ravenbrook.com
2015-09-04 12:22:03 +01:00
Gareth Rees
38f07daa3d Fix broken link to design/thread-safety
Copied from Perforce
 Change: 188158
 ServerID: perforce.ravenbrook.com
2015-08-21 11:20:20 +01:00
Gareth Rees
55b13ab5b5 The stack pointer passed to mps_root_create_reg must be word-aligned.
Copied from Perforce
 Change: 187946
 ServerID: perforce.ravenbrook.com
2015-06-15 22:11:48 +01:00
Gareth Rees
5315baa846 The "remember" parameters to arenaexposeremember is a boolean, not an integer.
Copied from Perforce
 Change: 187467
 ServerID: perforce.ravenbrook.com
2014-11-06 12:03:18 +00:00
Gareth Rees
8ae4684c37 Check the result of calling setjmp.
Avoid "might be clobbered by ‘longjmp’ or ‘vfork’" error from gcc.
Explain why we don't use assembly language to spill the registers.

Copied from Perforce
 Change: 187423
 ServerID: perforce.ravenbrook.com
2014-10-31 14:09:40 +00:00