Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://github.com/Unipisa/CMM
13 July 2022, 09:41:13 UTC
  • Code
  • Branches (2)
  • Releases (8)
  • Visits
    • Branches
    • Releases
    • HEAD
    • refs/heads/SourceCode
    • refs/heads/master
    • 1.9
    • 1.8
    • 1.7
    • 1.6
    • 1.5
    • 1.4
    • 1.3
    • 1.1
  • 1df4d1d
  • /
  • cmm
  • /
  • ChangeLog
Raw File Download
Take a new snapshot of a software origin

If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.

Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.
swh spinner

Processing "take a new snapshot" request ...

Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
  • revision
  • snapshot
  • release
origin badgecontent badge Iframe embedding
swh:1:cnt:eb93f7c4d7fdfb50ded23707e4cd38f0566d7c0a
origin badgedirectory badge Iframe embedding
swh:1:dir:4549c386a96c10164d8b192b20d0454d10f51ace
origin badgerevision badge
swh:1:rev:29c7c5881c0ff2ef9e3a96be37e6eaef9b33a201
origin badgesnapshot badge
swh:1:snp:4ac4ed834489429d51fc0fd004f10ddbf78d807a
origin badgerelease badge
swh:1:rel:a0ca5ea66637a9bd5af87d8c2410eef9f08129e3
Citations

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
  • revision
  • snapshot
  • release
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Tip revision: 29c7c5881c0ff2ef9e3a96be37e6eaef9b33a201 authored by Giuseppe Attardi on 07 November 1994, 16:36:34 UTC
1.3 -
Tip revision: 29c7c58
ChangeLog
Mon Nov  7 17:36:34 1994  Giuseppe Attardi  <attardi@omega>

	* machine.H: #undef STACK_GROWS_DOWNWARD for hp pa architecture

Thu Oct 27 12:26:20 1994  Giuseppe Attardi  (attardi@omega)

	* cmm.H: renamed STATIC_0 as DATASTART
	DATASTART is defined for many architectures

	* cmm.C, cmm.H: updated for g++ 2.6

Thu Oct 20 11:11:16 1994  Giuseppe Attardi  (attardi@omega)

	* HeapStack.C (scavenge): 
	use OUTSIDE_HEAP instead of !inside

Wed Oct 19 11:39:50 1994  Giuseppe Attardi  (attardi@omega)

	* cmm.H (DefaultHeap::scavenge): 
	moved to cmm.C

	* cmm.C (allocate_page): 
	removed bzero of page

Thu Oct 13 09:07:15 1994  Giuseppe Attardi  (attardi@omega)

	* cmm.H (CmmHeap): 
	DefaultHeap -> theDefaultHeap
	gcmove -> CmmMove

	* cmm.C (reserve_pages):
	maintain reservedPages instead of unusedPages

	* cmm.C ():
	UNALLOCATEDPAGE -> UNALLOCATEDSPACE with value 1 to ensure it is
	not STABLE()

Tue Oct 11 09:44:33 1994  Giuseppe Attardi  (attardi@omega)

	* cmm.C (reserve_page): 
	restricted search for unused pages to pages between
	firstReservedPage and lastReservedPage

	* cmm.C:
	use memset (STD C) instead of bzero (BSD) when not GCC
	(bzero is 3 times faster than memset)

Mon Oct 10 10:24:06 1994  Giuseppe Attardi  (attardi@omega)

	* cmm.C (collect): 
	#ifdef STACK_GROWS_DOWNWARD
	    register unsigned *lim = (unsigned *)regs;
	#else
	    register unsigned *lim = (unsigned *)regs + sizeof(regs);
	#endif    

Fri Oct  7 18:49:27 1994  Giuseppe Attardi  (attardi@omega)

	* cmm.C (collect): 
	  while (cp < nextcp ||
	   inCurrentPage && cp < (nextcp = (cp <= freep && freep < nextPage) ?
				  freep : nextPage)) {
	was: cp < freep

	* cmm.C : restored working version with HEADER_SIZE = 1,
	Revised DOUBLE_SIZE handling with HEADER_SIZE = 1.

Tue Oct  4 11:52:29 1994  Giuseppe Attardi  (attardi@igor)

	* HeapStack.C (scavenge): eliminated Heapstack::outside

Mon Oct  3 20:15:02 1994  Giuseppe Attardi  (attardi@igor)

	* HeapStack.C (collect): added
	   SET_OBJECTMAP(ToSpace->current());
	   SET_OBJECTMAP(container->current());
	  to ensure that we stop at the end of the container.

	* cmm.C (allocate_page): 
	set pageGroup for the benefit of words() in non default heap

Fri Sep 30 16:20:00 1994  Giuseppe Attardi  (attardi@igor)

	* cmm.C (collect): 
	Added
	  if (freePages + unusedPages < usedPages)
	      expandHeap();
	to ensure that expandHeap is not called within gcmove.
	
	* cmm.C (CmmInitEarly): 
	#ifdef STACK_GROWS_DOWNWARD
	#else
	    stackBottom = (unsigned)&i & ~STACKBOTTOM_ALIGNMENT_M1;
	#endif

	* HeapStack.C (scavenge): 
	Added cast for correct offset computation:
	    *ptr = (GcObject *)((char *)newObj + offset);

	Moved #include <iostream.h> to HeapStack.C to avoid unnecessary
	inclusion

Fri Sep 30 09:55:24 1994  Giuseppe Attardi  (attardi@omega)

	* HeapStack.C (scan): 
	modified so that it the argument heap is used in traversal

	* HeapStack.H ():
	insert -> copy
	ContainerStack -> Container
	WordsInUse -> usedWords
	used -> usedBytes
	entryNump -> entrypNum
	BBStack::top -> BBStack::current

Thu Sep 29 14:27:17 1994  Giuseppe Attardi  (attardi@omega)

	* HeapStack.C: 
	HeapStack::scavenge() and BBStack::scavenge() use just MARKED(p)
	(rather than p->forwarded()) to determine whether object is forwarded
	added resetLiveMap to clear LiveMap at beginning of collection

	* cmm.H: 
	SetForward() marks object

Tue Sep 20 20:37:17 1994  Giuseppe Attardi  (attardi@neuron)

	* Makefile.schema (HFILES): added machine,h,
	new file containing processor parameters.
	
	* cmm.C (alloc): added alignment support
	On processors requiring double alignment, objects of size > 12
	are aligned to double words boundaries.
	A padding is added when a large object is adjacent to a small one.

Fri Sep 16 14:41:17 1994  Giuseppe Attardi  (attardi@omega)

	* cmm.C (collect): 
	Added STACK_GROWS_DOWNWARD for stack limit identification.

Thu Sep 15 10:30:59 1994  Giuseppe Attardi  (attardi@omega)

	* Makefile.schema (demo): eliminated LCFLAGS

Tue Sep  6 11:40:40 1994  Giuseppe Attardi  (attardi@omega)

	* cmm.H: added #define VirtualBase(A)

Fri Aug 12 13:18:56 1994  Giuseppe Attardi  (attardi@igor)

	* cmm.H (GcObject): 
	Can't use IS_OBJECT(++nextObj), since macro evaluates arg twice:

	    while (! IS_OBJECT(nextObj) && nextObj < lastObj)
	          nextObj++;

Wed Aug 10 14:36:28 1994  Giuseppe Attardi  (attardi@omega)

	* cmm.C (collect):
	Bartlett discards current page after sweeping it.
	We continue using it instead.

	* cmm.C (collect):
	  With traversal of uncollected heap:
	   valla   207.5     1.30    2150400
	  Without:
           valla   166.94    1.9     2146304

Thu Aug  4 17:49:50 1994  Giuseppe Attardi  (attardi@posso)

	* Gr13/gc/cmm/cmm.H (MARK): 
	MARK operates on pointer to object, not to header
	
	Eliminated flag GCHEAPMAP

Thu Aug  4 07:47:19 1994  Giuseppe Attardi  (attardi@omega)

	* Gr13/groebner/groebner.C (ShowTime):
	Display name of problem and results on a single line so that it
	can be pasted in a result file.

	* Gr13/gc/cmm/cmm.C:
	Eliminated callbacks.
	HEADER_CALLBACK -> HEADER_TAG
	freespace_callback -> freespace_tag

	* Gr12a/gc/cmm/cmm.H (CmmHeap): 
	Eliminated CmmHeap()

	* Gr12a/configure.in: 
	bartlett -> default
	heapzone -> heap
	with- ->

	* Gr12a/gc/cmm/cmm.C (new): 
	Eliminated heap->id();

Wed Aug  3 12:07:01 1994  Giuseppe Attardi  (attardi@omega)

	* Gr12a/gc/cmm/cmm.C (reserve_pages): 
	moved call to queue in gcmove

	* Gr12a/gc/cmm/cmm.C:
	Eliminated
	 #include <sys/time.h>
	 #include <sys/ioctl.h>
	 #include <machine/vmparam.h>

	 #include <machine/param.h> -> <sys/param.h>

Tue Aug  2 11:16:51 1994  Giuseppe Attardi  (attardi@omega)

	* Gr12a/gc/cmm/cmm.C:
	Introduced flag STACK_GROWS_DOWNWARD

	* Gr12a/gc/cmm/cmm.C (alloc): 
	Should be better that alloc would return (object+1), i.e. pointer
	to data, rather than to header.

Mon Aug  1 08:52:27 1994  Giuseppe Attardi  (attardi@omega)

	* Gr12a/gc/cmm/cmm.H (CmmHeap): 
	  alloc returns GCP instead of GcObject*

	* Gr12a/gc/cmm/interface.H (IsAnObject): eliminated

	* Gr12a/gc/cmm/cmm.H (scavenge): 
	  We must distinguish membership among several heaps.
	  So we use the following:

	  OUSIDE_HEAP			outside any heap
	  gcobject			recognised GcObject (to which traverse
	  				can be applied)
	  CmmHeap::outside		outside this heap

	  OutsideHeap -> !gcobject

Sat Jul 30 11:25:15 1994  Giuseppe Attardi  (attardi@omega)

	* Gr12a/gc/cmm/ecl.doc: 

	  /* Shifting by 32 is noop, so we must do it in two steps: */
	  MTword(p) |= (~0 << MTbit(p)) & ~(~0 << MTbit(q) << 1);

	* Rename:

	  Bartlett -> DefaultHeap
	  reclaimer -> reclaim
	  zone() -> heap()
	  firstword -> ObjectMap
	  GetBeginning -> basePointer
	  makecurrentstableset -> stableset_to_current
	  gcallpercent -> gcFullGcThreshold
	  GCALLPERCENT -> GCFULLGCTHRESHOLD
	  MARKED -> MARKING
	  IS_MARKED -> MARKED
	  IsMarked -> Marked

	* Gr12a/Makefile (Makefiles):
	  Added:
	     rm -f junk.c \

Fri Jul 29 11:43:20 1994  Giuseppe Attardi  (attardi@omega)

	* Gr12a/gc/cmm/cmm.C: 
	  GcObject -> gcobject (according to what mentioned in header file)

	* Eliminated _gcinit: initialization is done by _CmmInit() in
	  interface.H

	* stackbase is aligned to segment boundary:

	  stackbase = (((unsigned)&i + NBPG - 1) / NBPG) * NBPG;
	  ->
	  stackbase = ((unsigned)&i + STACKBOTTOM_ALIGNMENT_M1)
	        & ~STACKBOTTOM_ALIGNMENT_M1;

	* Eliminated STACKINC

Thu Jul 28 21:37:14 1994  Giuseppe Attardi  (attardi@omega)

	* Gr12a/gc/cmm/cmm.C (expand_heap): 

	   new_firstword[i + (firstHeapPage-new_firstHeapPage)*BITSxWORD] = firstword[i];
	   ->
	   new_firstword[i] = firstword[i];


	* Gr12a/greobner/Makefile.schema (bench): 
	Added dependencies:
	H = BaseItem.H gdiv.H pair.H algebra.H groebner.H poly.H util.H ../util/List.H
	groebner:	$(OBJS) $(GC_LIBS)

	groebner.o: groebner.C  $(H)

Thu Jul 28 12:09:26 1994  Giuseppe Attardi  (attardi@omega)

	* Gr12a/gc/cmm/cmm.C (promote_page): 
	  Eliminated guess_pointer_count, guess_pointers and GCGUESSPTRS

	* Gr12a/gc/cmm/cmm.H: 
	  Eliminated  __GCVariable and gcvnew

	  Introduced new flag TRACE: only when defined logging and
	  tracing are performed.

	* Gr12a/gc/cmm/cmm.C (gccollect): 
	  Serious error in Bartlett code:

	   for  (int i = 0; i < roots_count; i++)  {
	     fp = roots[i].addr;
	     for  (int j = roots[i].bytes; j > 0; j = j-STACKINC)  {
	       promote_page((GCP)*fp);
	     }
	     fp++;  <- should be inside previous for loop
	   }

	  Serious error in Bartlett code:

	   if  (gcflags & GCHEAPROOTS  ||  gcflags & GCHEAPLOG)  {
	     if  (gcflags & GCHEAPLOG)
	       fprintf(stderr, "non-GC heap roots:\n");
	     unsigned*  heapend = (unsigned*)sbrk(0);
	     while  (fp < heapend)  {
		     ^^ is not initialized

	* Gr12a/gc/cmm/interface.H: 

	  follow -> visit

	* Gr12a/gc/cmm/cmm.C

	  (allocate_page):
	  bzero((char*)&firstword[firstpage*BITSxWORD],
		 	BIT_BYTES*pages);
	  ->

	  bzero((char*)&firstword[WORD_INDEX(firstpage*BYTESxPAGE)],
		 	pages*(WORDSxPAGE/BITSxWORD));

  	  (gccollect): 
	  bzero((char*)&marked[firstHeapPage*BITSxWORD],
	       BIT_BYTES*heapspanpages);
	  ->

	  bzero((char*)&marked[WORD_INDEX(firstHeapPage*BYTESxWORD)],
	       heapspanpages*(WORDSxPAGE/BITSxWORD));

	* Global renaming:

	  BIT_WORDS -> BITSxWORD
	  WORDBYTES -> BYTESxWORD
	  PAGEBYTES -> BYTESxPAGE
	  PAGEWORDS -> WORDSxPAGE

	  HeapZone  -> CmmHeap

	* Gr12a/gc/cmm/cmm.C (GcObject): 

	  firstword = firstword - WORD_INDEX(firstHeapPage*BYTESxPAGE);
	  marked = marked - WORD_INDEX(firstHeapPage*BYTESxPAGE);

	  corretto di nuovo GcObjectect -> GcObject

Wed Jul 27 21:44:23 1994  Giuseppe Attardi  (attardi@posso)

	* Gr12a/config.h.in:
	  BARTLETT -> __BARTLETT
	  BOEHM -> __BOEHM

	* Gr12a/groebner/main.H: added #ifdef __CMM before
	  extern HeapZone *hs;

	* Gr12a/gc/cmm/gcalloc.C (gccollect):
	  replaced gcregisters with setjmp/longjmp

Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Contact— JavaScript license information— Web API

back to top