[BUG] 2.5test primitiveTable changes?

Tim Rowledge rowledge at interval.com
Wed Jul 28 23:08:59 UTC 1999


On Wed 28 Jul, Tim Rowledge wrote:
> The prim table for the latest 2.5test has a couple of odd seeming changes
> related to sound prims.
[snip]
Aside from the obvious temporary fix to allow me to continue, I also need
#splObj: to dodge the reaper during #pruneUnreachableMethods since it is
intimately involved in the display handling.

tim

-- 
Useful Latin Phrases:- Noli me vocare, ego te vocabo.
Don't call me, I'll call you.
Tim Rowledge:  rowledge at interval.com (w)  +1 (650) 842-6110 (w)
 tim at sumeru.stanford.edu (h)  <http://sumeru.stanford.edu/tim>

'From Squeak 2.4c of May 10, 1999 on 28 July 1999 at 4:07:54 pm'!

!CCodeGenerator methodsFor: 'inlining' stamp: 'TPR 7/28/1999 15:17'!
pruneUnreachableMethods
	"Remove any methods that are not reachable. Retain methods needed by the BitBlt operation table, primitives, plug-ins, or interpreter support code."
 
	| retain |
	"Build a set of selectors for methods that should be output even though they have no apparent callers. Some of these are stored in tables for indirect lookup, some are called by the C support code or by primitives."
	retain _ BitBltSimulation opTable asSet.
	#(checkedLongAt: fullDisplayUpdate interpret nullCompilerHook printCallStack readImageFromFile:HeapSize:StartingAt: setCompilerInitialized: success: 
		"Windows needs the following two for startup and debug"
		readableFormat: getCurrentBytecode
		"Acorn needs this for display setup"
		splObj:)
		do: [:sel | retain add: sel].
	InterpreterProxy organization categories do: [:cat |
		((cat ~= 'initialize') and: [cat ~= 'private']) ifTrue: [
			retain addAll: (InterpreterProxy organization listAtCategoryNamed: cat)]].

	"Remove all the unreachable methods that aren't retained for the reasons above."
	self unreachableMethods do: [:sel |
		(retain includes: sel) ifFalse: [
			methods removeKey: sel ifAbsent: []]].
! !





More information about the Squeak-dev mailing list