Gareth Rees
da382f4859
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
d26b337ee4
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
c7b589c777
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
9a8591c544
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
e6a9f19c6d
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
19fb3a41dc
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
4251c1e1db
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
6ef4b6e0c6
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
6971bee496
Make mps_args_done obsolete.
...
Copied from Perforce
Change: 184543
ServerID: perforce.ravenbrook.com
2014-02-26 12:47:27 +00:00
Gareth Rees
6d30195657
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
8c076d0619
Fix typo.
...
Copied from Perforce
Change: 183987
ServerID: perforce.ravenbrook.com
2014-01-14 10:44:17 +00:00
Gareth Rees
38b1ef8506
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
803f61a271
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
e631a7521a
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
dd7a13e5cb
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
1772a17e72
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
e88bcc5184
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
2cf1861e8d
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
6fede51a87
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
d14b8bbc81
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
09de82d52d
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
aaf6e8b13b
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
7972a386c9
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
2ddd8357c7
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
f8e0a62b74
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
56b78ef7b9
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
cce6ee29c8
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
fe1d4b5638
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
3c325c0297
Fix typo.
...
Copied from Perforce
Change: 181591
ServerID: perforce.ravenbrook.com
2013-05-07 19:01:59 +01:00
Gareth Rees
202d4e79c6
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
e6e08382b6
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
e15ae067cf
Fix typo.
...
Copied from Perforce
Change: 181102
ServerID: perforce.ravenbrook.com
2013-03-08 18:09:24 +00:00
Gareth Rees
99c01f9fbe
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
e2b7b1b99c
Remove mps_tramp from backtraces.
...
Copied from Perforce
Change: 180964
ServerID: perforce.ravenbrook.com
2013-02-20 16:57:12 +00:00
Richard Brooksby
88ad39840e
Deprecating the mps trampoline by using vectored exception handling on windows.
...
Copied from Perforce
Change: 180961
ServerID: perforce.ravenbrook.com
2013-02-20 12:11:40 +00:00
Richard Brooksby
87fb54485f
Merging spelling corrections contributed by bruce mitchener and rebuilding manual.
...
See <7d0a9d6204 >.
Copied from Perforce
Change: 180957
ServerID: perforce.ravenbrook.com
2013-02-18 15:52:46 +00:00
Gareth Rees
dee2dd5d8d
Actions from rb's e-mail < https://info.ravenbrook.com/mail/2012/11/16/13-21-30/0/ >.
...
Copied from Perforce
Change: 180492
ServerID: perforce.ravenbrook.com
2012-11-16 14:57:56 +00:00
Gareth Rees
2cc40665bb
Effect of address space up to 2**40.
...
Copied from Perforce
Change: 180485
ServerID: perforce.ravenbrook.com
2012-11-16 12:46:41 +00:00
Gareth Rees
188c288055
More knobs to tune.
...
Copied from Perforce
Change: 180466
ServerID: perforce.ravenbrook.com
2012-11-14 14:10:17 +00:00
Gareth Rees
9af9a934b4
Minor edits.
...
Copied from Perforce
Change: 180439
ServerID: perforce.ravenbrook.com
2012-11-10 20:29:20 +00:00
Gareth Rees
675a07679e
Avoid type pun.
...
Copied from Perforce
Change: 180364
ServerID: perforce.ravenbrook.com
2012-11-06 12:16:46 +00:00
Gareth Rees
85558f88b8
Minor edits.
...
Copied from Perforce
Change: 180357
ServerID: perforce.ravenbrook.com
2012-11-06 00:55:11 +00:00
Gareth Rees
c0418abe08
Mps_fix_call not need for a call to the skip method, since it doesn't take a scan state argument.
...
Copied from Perforce
Change: 180356
ServerID: perforce.ravenbrook.com
2012-11-06 00:37:13 +00:00
Gareth Rees
62ec3013e8
Need to check hash table for staleness when deleting a key.
...
Copied from Perforce
Change: 180354
ServerID: perforce.ravenbrook.com
2012-11-05 23:29:23 +00:00
Gareth Rees
3dd5b9da1d
Minor edits.
...
Copied from Perforce
Change: 180350
ServerID: perforce.ravenbrook.com
2012-11-05 22:29:36 +00:00
Gareth Rees
43fa76f8bf
Write (draft of) perf chapter.
...
Copied from Perforce
Change: 180333
ServerID: perforce.ravenbrook.com
2012-11-05 16:26:19 +00:00
Gareth Rees
657d3d83fc
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
1152e286f7
Minor edits.
...
Copied from Perforce
Change: 180309
ServerID: perforce.ravenbrook.com
2012-11-04 23:07:05 +00:00
Gareth Rees
01f052d63e
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
31c5b39795
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