Ravenbrook / Projects / Memory Pool System

Memory Pool System Project


Task branches

Nick Levine, Ravenbrook Limited, 2001-08-17

Contents

Introduction

This document lists the task branches for the Memory Pool System project. Task branches are used to carry out a specific body of work. See [RB 2000-09-05] for the decision on the location and naming of these branches for the P4DTI project, which has been followed here.)

This document will be modified when task branches are created or change their status.

Readership of this document is anyone interested in the project.

This document is not confidential. However, almost all of the branches referenced from this document are Ravenbrook company confidential and these cannot be accessed from outside the Ravenbrook domain. At present the only development branch which is not confidential is the open-source preparation branch.

Active branches

The following table lists the branches which are currently active.
Branch Purpose Status
2006-12-15/unfixed-summary MPS development branch to investigate job001548 and generally improve AVERs etc to ensure accuracy of summaries. in development
2007-09-27/awldiag MPS development branch: Investigating poolawl.c, improving diagnostic output. in development
2007-12-19/vmarenagrow MPS development branch: Better VM arena growth, feedback. Gangsets Gangset (and other) work to be completed and merged.
2010-03-11/vmem MPS development branch for work on vmem. in development
2012-09-08/doxygen Evaluating doxygen for maintaining the MPS reference manual and possibly other documentation. in development
2012-09-13/compat-c++ Investigating whether the MPS can be build as C++. in development

Dormant branches

The following table lists task branches which are not active.
Branch Purpose Status
2001-09-24/MMconfigura-no-dongle/ Removing dongle dependency for release to Configura. Merged by changelist 28248.
2001-09-24/freebsd-port/ Port to FreeBSD. Merged by changelist 23681.
2001-11-23/MMconfigura-in-arena/ Configura request for mps_arena_has_addr(); Port to FreeBSD. Merged by changelist 24163.
2001-12-17/MMconfigura-shield-fix/ Fix for job000441. Merged by changelist 25379.
2002-02-15/MMconfigura-awl/ Fix for job000462. Merged by changelist 26536 and changelist 28247.
2002-04-11/MMconfigura-awl-auto/ Fix for job000502. Merged by changelist 28076 and changelist 28082.
2002-04-15/MMconfigura-ams-auto/ Fix for job000506. Merged by changelist 29147.
2002-05-14/MMconfigura-incremental-step/ Fix for job000531. Merged by changelist 29464 and changelist 29465.
2002-05-22/open-source-prep/ Preparing the master sources for open source release. Merged
2002-12-30/opportunism Configura opportunistic GC improvements Merged by changelist 39673
2003-02-17/gcgenmsg Per generation GC message to say what each one is doing. Fix for job000666. Merged by changelist 161204
2006-05-31/feedback More feedback on what the MPS is doing and has done. Fix for job001150. Contains unfinished example/hw-gc (example code for formats and GC). No longer for code development (rebranch to continue).
2008-03-11/auto_header MPS development branch: Fix AMC pool + auto_header format nailboard leak. Fix pad retention. Merged (@164508 and @164885)
2008-08-14/vc9 MPS development branch: New clone platform for VC9; fix omitted mps_arena_vm_growth DLL export; provide mps-fns.def. Merged (latest was @166536)
2008-10-30/timing MPS development branch for work on messages, notably: mps-message_clock() (job001969); MessageType now fn of MessageClass; correct _gc_start & _gc message lifecycle (job001989). Synchronous collection alerts (job001968). Better randomize() and rnd() for internal tests. Some investigation of ambiguous interior pointers. Merged to master (most recently @167392, 2009-02-17)
2010-11-06/transform MPS development branch for mps_arena_transfrom_objects et al. Refactored in 2012-06-23/cet-transform (q.v.)
2012-03-26/build-w3i6 Build with Microsoft C on 64-bit Windows. Mostly API updates, since the MPS was already prepared for 64-bit since the DEC Alpha. Merged to master
2012-03-27/longest Removing test program assumption that "unsigned long" is the longest integer type, unfortunately violated by Microsoft C on x86_64. Merged to master
2012-05-21/build-xci6ll Build with Clang on 64-bit Mac OS X. Essentially a re-port of the MPS to modern Mac OS X. Easy. Merged to master
2012-06-23/cet-transform Refactoring and productizing of Transforms for long term support for Configura, and on 64-bit platforms. General improvements merged to master. Transforms merged to CET custom mainline.
2012-07-26/linux-catchup Bring up to date with Linux. Essentially this is a re-port of the MPS to Linux, developing against Ubuntu 11 and 12 as references. Merged to master
2012-08-15/variety-reform Reducing the number of varieties back to the original design of two (ish) with a hot variety that is fast with some checking and a cool variety that runs in reasonable time with plenty of checking. Merged to master
2012-08-21/diagnostic-telemetry Reforming the way telemetry events are defined, generated, logged, and output, in order to make them easier to use for both developers and users. Merged to master
2012-09-10/scheme-example Integrating Richard Brooksby's simple scheme interpreter with the MPS to provide a better example of use than the previous "Hello world" program. Merged into master
2012-10-09/user-guide Writing a user guide and improving the existing documentation. Merged into master in change 180943.
2012-10-10/measurement Working on better MPS measurement. Merged into master in change 180943.

Undocumented branches

The following branches exist but have not been previously mentioned in this document.
2009-02-17/movalot
May be unfinished work. No experimental releases have been made.
2009-03-31/padding
Last change 169891 on 2010-03-02. There are releases from this codeline:
MMconfigura-exp-167699.zip   5,859,858   2009/04/01 17:14
MMconfigura-exp-167703.zip   5,861,858   2009/04/01 18:10
MMconfigura-exp-167727.zip   5,869,937   2009/04/02 17:40
MMconfigura-exp-168764.zip   5,583,821   2009/09/25 16:11
MMconfigura-exp-168778.zip   5,583,552   2009/09/28 14:19
MMconfigura-exp-169819.zip   5,586,987   2010/02/12 17:30
MMconfigura-exp-169863.zip   5,590,411   2010/02/26 17:05
2009-05-18/vc9exit
Last change 168341 on 2009/07/22. There are releases:
MMconfigura-exp-168120.zip   5,723,479   2009/05/28 17:01
MMconfigura-exp-168126.zip   5,725,062   2009/05/29 14:51
MMconfigura-exp-168128.zip   5,850,782   2009/05/29 15:55
MMconfigura-exp-168275.zip   3,370,036   2009/07/08 14:28

Historical branches

The branches listed in this section predate our acquisition of the MPS on 2001-08-13. They were derived from the HOPE/RCS hierarchy by the procedure described in [NDL 2001-08-15].

The trunk branch was integrated into master sources on 2001-10-31 by changelist 23678.

See section 3 for development branches which postdate our acquisition of the MPS.

Branch
1995-11-09/MMdevel_dsm_0/
1995-12-11/MMdevel_protoposm_0/
1996-01-22/MMdevel_protoposm_1/
1996-03-01/MM_dylan_incremental/
1996-03-12/MMdevel_restr/
1996-04-12/MMdevel_restr2/
1996-04-15/MMdevel_drjweak/
1996-04-16/MMdevel_remem/
1996-04-29/MMdevel_trace/
1996-05-14/MMdevel_drj_swint/
1996-07-05/MM_epcore_eval/
1996-08-08/MMdevel_lclint/
1996-09-03/MMdevel_lib/
1996-09-10/MMdevel_event/
1996-11-01/MMdevel_trace2/
1996-12-02/MMdevel_sw_eq/
1997-02-10/MMdevel_action/
1997-02-12/MMepcore_keyarg_test/
1997-02-13/MMdevel_amcsimp/
1997-02-25/MMdevel_bitset/
1997-02-27/MMdevel_drjfinal/
1997-02-28/MMdevel_config/
1997-03-03/MMdevel_action2/
1997-03-04/MMdevel_drj_bt/
1997-03-12/MM_dylan_buffalo/
1997-04-11/MMdevel_lint/
1997-04-18/MMdevel_gens/
1997-04-24/MMdevel_arenaclass/
1997-04-28/MMdevel_bufferscan/
1997-04-28/MMdevel_event2/
1997-05-06/MMdevel_remem2/
1997-05-13/MMdevel_gens2/
1997-05-29/MMdevel_assertid/
1997-06-10/MMdevel_segiter/
1997-06-16/MMdevel_gens3/
1997-06-18/MMdevel_segabs/
1997-06-25/MM_dylan_sunflower/
1997-07-03/MMdevel_dropin/
1997-07-07/MMdevel_event_format/
1997-07-10/MMdevel_control/
1997-07-10/MMdevel_event_string/
1997-07-16/MMdevel_drj_message/
1997-07-18/MMdevel_control2/
1997-07-18/MMdevel_partial_page/
1997-07-24/MMdevel_control3/
1997-07-30/MMdevel_config_thread/
1997-08-02/MMdevel_remem_root/
1997-08-05/MMdevel_annotation/
1997-08-12/MMdevel_greylist/
1997-08-13/MMdevel_poolams/
1997-08-21/MMdevel_clamp/
1997-08-29/MMdevel_shieldclass/
1997-09-01/MMdevel_gens4/
1997-09-02/MMdevel_gens5/
1997-09-04/MMdevel_lclint_23h/
1997-09-05/MMdevel_irix_vm/
1997-09-08/MM_dylan_sunflower_patch_10a/
1997-09-17/MMdevel_collect/
1997-09-19/MM_dylan_honeybee/
1997-10-07/MMdevel_anal_cotton/
1997-10-21/MMdevel_drj_fmtdy_speed/
1997-10-23/MMdevel_drj_root_node/
1997-10-24/MMdevel_metrics/
1997-10-30/MMdevel_fixfast/
1997-10-31/MMdevel_metrics_fix/
1997-11-04/MMdevel_progress/
1997-11-14/MMdevel_honeybee_ambig/
1997-11-14/MMdevel_honeybee_ambig2/
1997-12-09/MM_dylan_cottonwood/
1997-12-19/MMdevel_gavinm_bt/
1997-12-28/MMepcore_pilchard/
1998-01-06/MMdevel_telemetry/
1998-01-09/MMdevel_drj_action_hack/
1998-01-12/MMdevel_drj_trace_abort/
1998-01-19/MMdevel_telemetry_intern/
1998-01-20/MMdevel_telemetry_intern2/
1998-01-26/MMdevel_telemetry_fmt/
1998-02-16/MMdevel_drj_gensize/
1998-02-18/MM_dylan_meadowlark/
1998-02-28/MMdevel_gavinm_zone/
1998-03-10/MMdevel_drj_amcz/
1998-03-13/MM_dylan_boxturtle/
1998-03-30/MM_dylan_salamander/
1998-04-06/MMdevel_drj_buffer_logging/
1998-04-24/MM_epcore_sardine/
1998-04-30/MMdevel_gavinm_splay/
1998-05-26/MMdevel_pekka_rate/
1998-06-08/MMdevel_drj_commit_limit/
1998-06-10/MMdevel_drj_vmli/
1998-06-12/MM_epcore_minnow/
1998-06-25/MM_dylan_blackbird/
1998-06-26/MMdevel_tony_lifetime/
1998-07-08/MMdevel_ramp_alloc/
1998-07-10/MMdevel_drj_coop_arena/
1998-07-21/MM_dylan_crow/
1998-07-22/MMdevel_mv2_rework/
1998-07-29/MMdevel_reservoir/
1998-08-04/MM_dylan_dove/
1998-08-26/MMdevel_gavinm_160033/
1998-08-28/MMdevel_fencepost/
1998-09-03/MMdevel_gavinm_mvff/
1998-09-03/MMdevel_ptw_pseudoloci/
1998-09-14/MM_epcore_anchovy/
1998-09-23/MMdevel_gavinm_cbs/
1998-09-24/MMdevel_tony_inheritance/
1998-10-19/MM_dylan_jackdaw/
1998-12-11/MMdevel_tony_segments/
1998-12-18/MMdevel_drj_arena_hysteresis/
1998-12-21/MMdevel_color_pool/
1999-01-03/MMdevel_pekka_mvbt/
1999-01-19/MM_epcore_brisling/
1999-02-23/MMdevel_tony_sunset/
1999-05-07/MMdevel_alloc_replay/
1999-05-18/MMQA_harness_dev/
1999-08-17/MMdevel_martin_simplemov/
1999-08-19/MMdevel_tony_lock/
2000-02-04/MMdevel_pekka_locus/
2000-05-16/MM_dylan_kinglet/
2000-06-07/MMdevel_configura/
2000-09-22/MMconfigura_eval_fast/
2001-05-24/MMdevel_pekka_locus2/
2001-08-13/trunk/

A. References

[NDL 2001-08-15] "MPS/MMREF import procedures"; Nick Levine; Ravenbrook Limited; 2001-08-15.
[RB 2000-09-05] "Re: Location for development branches" (e-mail message); Richard Brooksby; Ravenbrook Limited; 2000-09-05 11:41:30 GMT.

B. Document History

2001-08-17 NDL Created.
2001-09-13 NDL Updated in the light of revisions to the RCS import.
2001-10-31 NDL Add MMConfigura-no-dongle and freebsd-port branches.
2001-12-17 NB Add MMconfigura-in-arena and MMconfigura-shield-fix branches.
2002-02-15 NB Add MMconfigura-awl branch, and note on merge of MMconfigura-shield-fix branch, .
2002-04-15 NB Add MMconfigura-awl-auto and MMconfigura-ams-auto branches, and note on merge of MMconfigura-shield-fix and MMconfigura-awl-auto branches.
2002-05-14 NB Add MMconfigura-incremental-step branch.
2002-05-24 NB Added merge note for MMconfigura-incremental-step branch.
2002-05-24 RB Added 2002-05-22/open-source-prep branch.
2002-06-20 NDL Removed confidentiality notice, explained that almost all development branches are confidential, and updated the copyright / license.
2003-02-13 DRJ Added 2002-12-30/opportunism branch.
2006-06-02 RHSK Fixed duplicate html anchor ids/names, by adding suffix "b" to get eg. id="ref-GlobalGraphics-1997-04-28b".
2006-06-02 RHSK Added mps/branch/2006-05-31/feedback.
2006-12-15 RHSK Merged mps/branch/2003-02-17/gcgenmsg. Noted that open-source has been merged too.
2006-12-15 RHSK Added mps/branch/2006-12-15/unfixed-summary
2006-12-15 RHSK mps/branch/2006-05-31/feedback contains documentation only; code is no longer live
2006-12-29 RHSK integrate documentation from mps/branch/2006-05-31/feedback to master: it now contains unfinished example/hw-gc only; code is no longer live
2007-09-27 RHSK 2007-09-27/awldiag: Investigating poolawl.c, improving diagnostic output.
2008-10-23 RHSK vmarenagrow, auto_header, and vc9 branches
2009-02-17 RHSK timing branch
2010-03-15 RHSK vmem branch
2010-11-06 RHSK transform branch
2011-08-16 PNJ Altered the document style to make it more readable and practical. Provided a contents list and re ordered the sections so that the most current information is at the top. Removed the section numbering.
2011-08-17 PNJ Added a list of recent branches that don't seem to have been documented.
2012-10-09 GDR Added 2012-10-09/user-guide.
2013-02-08 GDR The 2012-10-09/user-guide and 2012-10-10/measurement branches were merged into the master sources.

Copyright and License

This document is copyright © 2001-2003, 2006-2011 Ravenbrook Limited. All rights reserved. This is an open source license. Contact Ravenbrook for commercial licensing options.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Redistributions in any form must be accompanied by information on how to obtain complete source code for this software and any accompanying software that uses this software. The source code must either be included in the distribution or be available for no more than the cost of distribution plus a nominal fee, and must be freely redistributable under reasonable conditions. For an executable file, complete source code means the source code for all modules it contains. It does not include source code for modules or files that typically accompany the major components of the operating system on which the executable file runs.

This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement, are disclaimed. In no event shall the copyright holders and contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.


$Id: //info.ravenbrook.com/project/mps/branch/index.html#32 $

Ravenbrook / Projects / Memory Pool System