Merge patches to tip
authorbenjamin@smedbergs.us
Thu, 20 Dec 2007 11:17:54 -0500
changeset 28 70c871a7a5e6
parent 27 c1c4660628af
child 29 2437f06f3df6
push id1
push userbsmedberg@mozilla.com
push dateMon, 21 Apr 2008 01:54:18 +0000
Merge patches to tip
const-workitem.patch
gcstack-access
series
--- a/const-workitem.patch
+++ b/const-workitem.patch
@@ -1,12 +1,12 @@
 diff --git a/MMgc/GC.h b/MMgc/GC.h
 --- a/MMgc/GC.h
 +++ b/MMgc/GC.h
-@@ -901,7 +901,7 @@ namespace MMgc
+@@ -932,7 +932,7 @@ namespace MMgc
+ 		uintptr	GetStackTop() const;
  
- 		uintptr	GetStackTop() const;		
- 		
+ 		// for deciding a tree of things should be scanned from presweep
 -		void PushWorkItem(GCWorkItem &item) { PushWorkItem(m_incrementalWork, item); }
 +		void PushWorkItem(const GCWorkItem &item) { PushWorkItem(m_incrementalWork, item); }
  
  	private:
  
--- a/gcstack-access
+++ b/gcstack-access
@@ -1,66 +1,67 @@
 diff --git a/MMgc/GC.cpp b/MMgc/GC.cpp
 --- a/MMgc/GC.cpp
 +++ b/MMgc/GC.cpp
 @@ -1,3 +1,4 @@
 +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
  /* ***** BEGIN LICENSE BLOCK *****
   * Version: MPL 1.1/GPL 2.0/LGPL 2.1
   *
-@@ -458,6 +459,8 @@ namespace MMgc
+@@ -614,6 +615,8 @@ namespace MMgc
  		SAMPLE_CHECK();
  
  		GCStack<GCWorkItem> work;
 +
 +		m_currentQueue = &work;
  		{
  #ifdef GCHEAP_LOCK
  			GCAcquireSpinlock lock(m_rootListLock);
-@@ -484,6 +487,8 @@ namespace MMgc
+@@ -643,6 +646,8 @@ namespace MMgc
  			Mark(work);
  		}
  		
 +		m_currentQueue = NULL;
 +
  		SAMPLE_CHECK();
  	}
- 
-@@ -2376,6 +2381,8 @@ bail:
+ #endif
+@@ -2702,6 +2707,8 @@ bail:
  			return;
  		} 
  
 +		m_currentQueue = &m_incrementalWork;
 +
  #ifdef DEBUGGER
  		StartGCActivity();
  #endif
-@@ -2409,6 +2416,8 @@ bail:
+@@ -2735,6 +2742,8 @@ bail:
  
  		lastMarkTicks = GetPerformanceCounter();
  		markTicks += lastMarkTicks - start;
 +
 +		m_currentQueue = NULL;
  
  #ifdef DEBUGGER
  		if(GC::gcstats) {
 diff --git a/MMgc/GC.h b/MMgc/GC.h
 --- a/MMgc/GC.h
 +++ b/MMgc/GC.h
-@@ -548,6 +548,9 @@ namespace MMgc
- 
+@@ -678,6 +678,9 @@ namespace MMgc
+ 		 */
  		bool incremental;
  
 +		// This member is only available during tracing
 +		GCStack<GCWorkItem> *m_currentQueue;
 +
  		// -- Interface
  		GC(GCHeap *heap);
  		virtual ~GC();
-@@ -901,7 +904,7 @@ namespace MMgc
+@@ -1177,8 +1180,7 @@ namespace MMgc
  
- 		uintptr	GetStackTop() const;		
- 		
+ 		uintptr	GetStackTop() const;
+ 
+-		// for deciding a tree of things should be scanned from presweep
 -		void PushWorkItem(const GCWorkItem &item) { PushWorkItem(m_incrementalWork, item); }
 +		void PushWorkItem(const GCWorkItem &item) { PushWorkItem(*m_currentQueue, item); }
  
  	private:
  
--- a/series
+++ b/series
@@ -1,15 +1,15 @@
+# unmerged-edits-to-mmgc-threadsafe #+threadsafe
+mmgc-threadsafe #+threadsafe
+mmgc-threadsafe-gctests #+threadsafe
+mmgc-maybegc #+threadsafe
+mmgc-graphviz #+jorendorff-graphviz
+mmgc-bit-checks #+threadsafe
 tweak-esc-main.sh
 const-workitem.patch
 gcstack-access
 workitems-notgc-noassert
 gc-graph #+graphviz
 alloc-backtrace #+graphviz
-unmerged-edits-to-mmgc-threadsafe #+threadsafe
-mmgc-threadsafe #+threadsafe
-mmgc-threadsafe-gctests #+threadsafe
-mmgc-maybegc #+threadsafe
-mmgc-graphviz #+jorendorff-graphviz
-mmgc-bit-checks #+threadsafe
 enable-traces
 debug-print-finalizers
 finalizable-merge-fixup