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

133 commits

Author SHA1 Message Date
Richard Brooksby
4487895475 Detabifying code and restructuredtext files.
Copied from Perforce
 Change: 189309
 ServerID: perforce.ravenbrook.com
2016-02-18 19:58:13 +00:00
Richard Brooksby
7464a68949 Documenting thread root registration functions.
Copied from Perforce
 Change: 189207
 ServerID: perforce.ravenbrook.com
2016-02-16 00:34:10 +00:00
Richard Brooksby
aff58a3f60 Catch up merge from master sources.
Copied from Perforce
 Change: 189130
 ServerID: perforce.ravenbrook.com
2016-02-10 21:10:25 +00:00
Richard Brooksby
1ac6033058 Catch-up merge from masters.
Copied from Perforce
 Change: 188928
 ServerID: perforce.ravenbrook.com
2016-01-20 11:04:09 +00:00
Gareth Rees
68edb16949 Need to pass sizeof(mps_word_t) - 1 for the mask argument to get the old behaviour.
Copied from Perforce
 Change: 188317
 ServerID: perforce.ravenbrook.com
2015-09-14 21:17:19 +01:00
Gareth Rees
08873c6c3a 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
86a933a581 Emphasize the right line in the finalization example.
Copied from Perforce
 Change: 187466
 ServerID: perforce.ravenbrook.com
2014-11-06 11:01:11 +00:00
Gareth Rees
cb3f6ce768 Minor documentation improvements.
Copied from Perforce
 Change: 187407
 ServerID: perforce.ravenbrook.com
2014-10-26 12:44:58 +00:00
Gareth Rees
ce7dc08514 Add a section to the guide explaining how to implement malloc and free.
Copied from Perforce
 Change: 187399
 ServerID: perforce.ravenbrook.com
2014-10-25 22:31:07 +01:00
Gareth Rees
e7220f2ad7 Fix rest syntax.
Copied from Perforce
 Change: 187286
 ServerID: perforce.ravenbrook.com
2014-10-19 09:39:41 +01:00
Gareth Rees
a5806a0623 Don't call mps_definalize in the example scheme interpreter: it's not actually an optimization because of the inefficient implementation.
Copied from Perforce
 Change: 187123
 ServerID: perforce.ravenbrook.com
2014-10-02 13:49:28 +01:00
Gareth Rees
bd03fb5a46 Remove unused argument 'buckets' from scheme table_find. (this broke the xcode build on os x.)
Copied from Perforce
 Change: 187116
 ServerID: perforce.ravenbrook.com
2014-10-02 11:42:33 +01:00
Gareth Rees
7ede9ffdb7 Arenafinalize now asserts that the object belongs to a finalizable (attrgc) pool. (it's a programming error to try to register a non-finalizable object for finalization.)
Can't test this behaviour via the smoke tests, unfortunately.
Document the performance problem with mps_definalize, so that users aren't tempted into using it inappropriately.

Copied from Perforce
 Change: 187109
 ServerID: perforce.ravenbrook.com
2014-10-02 10:27:57 +01:00
Gareth Rees
466081d0f2 Must test a key for staleness with respect to a location dependency before setting it (not just before looking it up or deleting it).
Copied from Perforce
 Change: 187079
 ServerID: perforce.ravenbrook.com
2014-09-28 23:32:37 +01:00
Gareth Rees
a26ef830b7 Synchronize the readme and the overview in the guide.
Copied from Perforce
 Change: 187052
 ServerID: perforce.ravenbrook.com
2014-09-26 20:38:41 +01:00
Gareth Rees
4750cb6790 Microsoft has issued a hotfix for the wow64 bug; explain this in the overview.
Supported platform now described as "Linux 2.4 or later" rather than "Linux (some distros known good)".

Copied from Perforce
 Change: 187044
 ServerID: perforce.ravenbrook.com
2014-09-26 13:07:49 +01:00
Gareth Rees
e9dddf19de New chapter of the guide discusses the "stretchy vector" problem.
Copied from Perforce
 Change: 186305
 ServerID: perforce.ravenbrook.com
2014-05-26 12:39:38 +01:00
Gareth Rees
cc43fd2a1c Add aslr test program to the repository.
Explain how to disable ASLR for a single process on Linux (better than disabling it for the whole system).
Organize the ASLR documentation more clearly.

Copied from Perforce
 Change: 186236
 ServerID: perforce.ravenbrook.com
2014-05-21 16:08:15 +01:00
Gareth Rees
85bb536fa5 Glossary entry and guide to address space layout randomization.
Copied from Perforce
 Change: 186234
 ServerID: perforce.ravenbrook.com
2014-05-21 14:47:11 +01:00
Gareth Rees
b0f1837ea9 Cross-reference from debugging chapter of the guide to "common assertions and their causes".
Copied from Perforce
 Change: 186232
 ServerID: perforce.ravenbrook.com
2014-05-21 12:20:40 +01:00
Gareth Rees
62eafbbb47 Add note about consequences of running frequent collections.
Copied from Perforce
 Change: 186134
 ServerID: perforce.ravenbrook.com
2014-05-16 12:31:47 +01:00
Gareth Rees
8146121134 Strength the tear-down advice: you "should" park the arena (not just "good practice").
Copied from Perforce
 Change: 186066
 ServerID: perforce.ravenbrook.com
2014-05-13 10:57:35 +01:00
Gareth Rees
e58b421e1b Fix typo: the general root scanning function type is mps_root_scan_t, not mps_reg_scan_t.
Copied from Perforce
 Change: 186065
 ServerID: perforce.ravenbrook.com
2014-05-13 10:48:51 +01:00
Gareth Rees
71d9ea47b8 Explain how to call mps_root_create_table() safely (avoiding type punning). fix example for mps_root_create_table_masked(). use the recommended approach in qs.c.
Copied from Perforce
 Change: 185223
 ServerID: perforce.ravenbrook.com
2014-04-04 11:49:19 +01:00
Gareth Rees
32d10cd02a Make mps_args_done obsolete.
Copied from Perforce
 Change: 184543
 ServerID: perforce.ravenbrook.com
2014-02-26 12:47:27 +00:00
Gareth Rees
d2220c5c16 Better user documentation for generation chains:
* In the pool class properties table, note whether a pool class uses generational garbage collection.
* The arena has a default generation chain.
* The MPS_KEY_CHAIN keyword argument is now optional when creating an AMC, AMCZ or AMS pool.
* The pool classes AWL and LO now take an optional MPS_KEY_CHAIN keyword argument.
* The pool classes AMS, AWL and LO now take an optional MPS_KEY_GEN keyword argument specifying the generation for new objects.
* Remove material about generation chains from the user guide (just use the arena's default generation chain).

Copied from Perforce
 Change: 184273
 ServerID: perforce.ravenbrook.com
2014-01-31 16:23:04 +00:00
Gareth Rees
b264bc1b5c Fix typo.
Copied from Perforce
 Change: 183987
 ServerID: perforce.ravenbrook.com
2014-01-14 10:44:17 +00:00
Gareth Rees
b5eac5fb83 Use #. for numbered lists instead of 1. 2. 3. to make these documents easier to edit.
Copied from Perforce
 Change: 183913
 ServerID: perforce.ravenbrook.com
2014-01-10 09:58:44 +00:00
Gareth Rees
f9257638d8 Make it clear that the forwarding object must be the same size as the object it replaces.
Copied from Perforce
 Change: 183602
 ServerID: perforce.ravenbrook.com
2013-10-29 12:45:20 +00:00
Gareth Rees
ecd974df8f Bring guide up to date by using mps_fmt_create_k instead of mps_fmt_create in the exaple code.
Copied from Perforce
 Change: 183509
 ServerID: perforce.ravenbrook.com
2013-10-01 15:11:39 +01:00
Gareth Rees
ae39473509 Rename align_up and align macros in the scheme example as align_word and align_obj respectively.
Copied from Perforce
 Change: 183392
 ServerID: perforce.ravenbrook.com
2013-09-05 08:15:56 +01:00
Richard Brooksby
fdab3a6795 Documentation and commentary clarifications in response to code review <https://info.ravenbrook.com/mail/2013/07/11/13-17-56/0/>.
Copied from Perforce
 Change: 182999
 ServerID: perforce.ravenbrook.com
2013-07-11 15:44:19 +01:00
Gareth Rees
09d0dfc481 Document the intention behind mps_ld_isstale rather than the implementation: it captures the intention of testing whether a particular dependency is stale (even though the implementation in fact tests whether any dependency is stale). add new function mps_ls_isstale_any for expressing the intention of testing whether any dependencey is stale. the two functions have the same implementation at present, but the separation gives us the freedom to return a more precise result from mps_ld_isstale in future.
Copied from Perforce
 Change: 182816
 ServerID: perforce.ravenbrook.com
2013-06-20 16:25:08 +01:00
Gareth Rees
514d0bea39 Improvements to clarity of weak hash table implementation:
* TAG_SIZE was changed to TAG_COUNT in the code, so make the corresponding change in the manual.
* Avoid the "+= 2" hack: use TAG_COUNT(UNTAG_COUNT(...) + 1). Clarity is more important than speed here.
* Use obj_unused for unused hash table entries so that there can be no confusion between NULL meaning "unused" and NULL meaning "splatted by the garbage collector".
* Add references from the example code to the notes.

Copied from Perforce
 Change: 182804
 ServerID: perforce.ravenbrook.com
2013-06-19 12:59:49 +01:00
Richard Brooksby
bafc15444a Merging branch/2013-05-21/final-destroy. now we can finally destroy things.
Copied from Perforce
 Change: 182578
 ServerID: perforce.ravenbrook.com
2013-06-06 15:04:30 +01:00
Richard Brooksby
e181376dd0 Merging branch/2013-05-01/keyword-arguments to pick up keyword arguments for object formats.
Copied from Perforce
 Change: 182562
 ServerID: perforce.ravenbrook.com
2013-06-06 12:55:04 +01:00
Gareth Rees
aa71bfe1bc Describe the fact that the collector works across pools in several places where people are likely to look for this information.
Improve wording of assertion handling section.

Copied from Perforce
 Change: 182278
 ServerID: perforce.ravenbrook.com
2013-05-28 16:47:58 +01:00
Gareth Rees
fa63d63b23 New public function mps_fmt_create_k creates an object format using the keyword argument interface.
Deprecate the format variant structures (mps_fmt_A_s, mps_fmt_B_s, mps_fmt_auto_header_s, mps_fmt_fixed_s) and the old interface (mps_fmt_create_A, mps_fmt_create_B, mps_fmt_create_auto_header, mps_fmt_create_fixed).

Copied from Perforce
 Change: 182277
 ServerID: perforce.ravenbrook.com
2013-05-28 16:10:08 +01:00
Gareth Rees
2ba7c5e08f Document the way to safely destroy automatically managed pools.
Copied from Perforce
 Change: 182166
 ServerID: perforce.ravenbrook.com
2013-05-24 16:17:51 +01:00
Gareth Rees
29378fe033 Convert arenavm, buffer, lib, and poolmrg to restructuredtext.
Convert [notes in square brackets] to .. note:: to make them stand out more and be easier to find and fix.
Modernize config a bit.

Copied from Perforce
 Change: 182162
 ServerID: perforce.ravenbrook.com
2013-05-24 15:30:38 +01:00
Gareth Rees
010fb7c45b Need to handle sigsegv on linux and freebsd.
Copied from Perforce
 Change: 182133
 ServerID: perforce.ravenbrook.com
2013-05-23 20:19:01 +01:00
Gareth Rees
9e9c0e3990 Remove mps_arg from mps.h.
Use MPS_ARGS_BEGIN etc in the Scheme example and in the manual.
Use MPS_BEGIN and MPS_END instead of BEGIN and END.
The _FIELD macros don't need to be function-like macros.
Restore TODO comments in mps.h.
Scheme example compiles with -std=c89.

Copied from Perforce
 Change: 181749
 ServerID: perforce.ravenbrook.com
2013-05-13 21:01:38 +01:00
Gareth Rees
10c13b2a54 New macro mps_arg and revised macro mps_args_add mean that client programs no longer need to know which keyword argument goes in which field. revise documentation accordingly.
Copied from Perforce
 Change: 181736
 ServerID: perforce.ravenbrook.com
2013-05-12 17:21:03 +01:00
Gareth Rees
052e5ec39c Update user guide to use the new keyword argument interface.
Copied from Perforce
 Change: 181727
 ServerID: perforce.ravenbrook.com
2013-05-11 19:42:31 +01:00
Gareth Rees
ff11f1798d Fix typo.
Copied from Perforce
 Change: 181591
 ServerID: perforce.ravenbrook.com
2013-05-07 19:01:59 +01:00
Gareth Rees
72656a4f9c Avoid sentence-initial "which", for ndl.
Copied from Perforce
 Change: 181384
 ServerID: perforce.ravenbrook.com
2013-04-13 17:31:33 +01:00
Gareth Rees
39d57d4cf5 Fix broken link reported by ndl.
Copied from Perforce
 Change: 181383
 ServerID: perforce.ravenbrook.com
2013-04-13 17:02:53 +01:00
Gareth Rees
0f418f12e0 Fix typo.
Copied from Perforce
 Change: 181102
 ServerID: perforce.ravenbrook.com
2013-03-08 18:09:24 +00:00
Gareth Rees
4cee27b97f Minor documentation improvements:
* Use "OS X" consistently (not "Mac OS X").
* Explain how to avoid GDB from stopping on barrier hits on Linux.
* Bring HTML up to date.

Copied from Perforce
 Change: 181077
 ServerID: perforce.ravenbrook.com
2013-03-07 15:22:41 +00:00
Gareth Rees
7144669a84 Remove mps_tramp from backtraces.
Copied from Perforce
 Change: 180964
 ServerID: perforce.ravenbrook.com
2013-02-20 16:57:12 +00:00