Raw File
diff -c /home/omega/attardi/posso/cmm/ChangeLog /local/disc2/project/posso/cmm/curr/cmm/ChangeLog
*** /home/omega/attardi/posso/cmm/ChangeLog	Wed Nov  5 11:12:03 1997
--- /local/disc2/project/posso/cmm/curr/cmm/ChangeLog	Sun Oct 19 12:40:14 1997
***************
*** 1,18 ****
- Wed Nov  5 10:17:36 1997  Giuseppe Attardi  <attardi@omega>
- 
- 	* test7.cpp: VC++ 5.0 accepts operator new[] but gives
- 	error LNK2001: unresolved external symbol
- 	"public: static void __cdecl CmmObject::operator>>=[](void *)" (??_VCmmObject@@SAXPAX@Z)
- 	when linking
- 
- 	* msw.pre (mswMarkRegisteredRoots): fix for butcher-split and
- 	gerdt-split2
- 
- Tue Oct 21 22:58:28 1997  Giuseppe Attardi  <attardi@omega>
- 
- 	* cmm.cpp (collect): moved setjmp from promotionPhase() to collect()
- 	to solve problem with SGI compiler. See test3.
- 
  Sun Oct 19 12:39:42 1997  Giuseppe Attardi  <attardi@omega>
  
  	* Released version 1.9c
--- 1,3 ----
Common subdirectories: /home/omega/attardi/posso/cmm/Parallel and /local/disc2/project/posso/cmm/curr/cmm/Parallel
diff -c /home/omega/attardi/posso/cmm/cmm.cpp /local/disc2/project/posso/cmm/curr/cmm/cmm.cpp
*** /home/omega/attardi/posso/cmm/cmm.cpp	Wed Nov  5 10:18:21 1997
--- /local/disc2/project/posso/cmm/curr/cmm/cmm.cpp	Sun Oct 19 12:38:47 1997
***************
*** 54,60 ****
  
  /* Version tag */
  
! char*  Cmm::version = "CMM 1.9d";
  
  /*---------------------------------------------------------------------------*
   *
--- 54,60 ----
  
  /* Version tag */
  
! char*  Cmm::version = "CMM 1.9c";
  
  /*---------------------------------------------------------------------------*
   *
***************
*** 1285,1301 ****
    bool totalCollection = queueHead == 0;
  
    // promote pages to StableSpace
-   /*
-      Ensure flushing of register caches.
- 
-      This must be done before entering promotionPhase since the SGI compiler
-      saves registers used by a routine below the position on the stack
-      of the first local variable. Some register is clobbered before setjmp
-      is called, but promotionPhase can't see the saved value.
-      */
-   jmp_buf regs;
-   if (_setjmp(regs) == 0) _longjmp(regs, 1);
- 
    promotionPhase();
  
    WHEN_VERBOSE (CMM_STATS, {
--- 1285,1290 ----
***************
*** 1349,1362 ****
  
    void CmmExamineStaticArea(GCP, GCP);
  
    /* Examine the stack:		*/
    register GCP fp;
-   Word sp;
  
  # ifdef STACK_GROWS_DOWNWARD
!   for (fp = (GCP)(&sp+1); fp < (GCP)stackBottom; fp++)
  # else
!     for (fp = (GCP)(&sp-1); fp > (GCP)stackBottom; fp--)
  # endif
        {
  	WHEN_VERBOSE (CMM_ROOTLOG, logRoot(fp));
--- 1338,1357 ----
  
    void CmmExamineStaticArea(GCP, GCP);
  
+   /* ensure flushing of register caches	*/
+   jmp_buf regs;
+   if (_setjmp(regs) == 0) _longjmp(regs, 1);
+ # ifdef __mips
+   for (int i=0; i < 1; i++);	// force saving a0: see test3
+ # endif
+ 
    /* Examine the stack:		*/
    register GCP fp;
  
  # ifdef STACK_GROWS_DOWNWARD
!   for (fp = (GCP)(&regs); fp < (GCP)stackBottom; fp++)
  # else
!     for (fp = (GCP)(&regs+1); fp > (GCP)stackBottom; fp--)
  # endif
        {
  	WHEN_VERBOSE (CMM_ROOTLOG, logRoot(fp));
Common subdirectories: /home/omega/attardi/posso/cmm/doc and /local/disc2/project/posso/cmm/curr/cmm/doc
Only in /home/omega/attardi/posso/cmm: msw.pre
back to top