<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<font face="Georgia">Just type<br>
<br>
PositionableStream>>#fileInAnnouncing:<br>
<br>
and explore it. Look for the literal pointing to the compiler
(literal8 here). Toggle that open and toggle open the value. Look
at the instanceVariables - does it still have sourceStream?<br>
<br>
As to the explorer, did you open one? Is it still open? (The PointerFinder
says it is) Could it have been open when the image was last saved?<br>
<br>
<br>
Also, you could do<br>
<br>
Behavior allSubInstances select: [ :e | (e asString findString:
'Compiler') > 0] <br>
<br>
Do you get: an OrderedCollection(ClosureCompilerTest CompilerTest
CompilerExceptionsTest CompilerNotifyingTest
CompilerSyntaxErrorNotifyingTest Compiler ClosureCompilerTest
class CompilerTest class CompilerExceptionsTest class
CompilerNotifyingTest class CompilerSyntaxErrorNotifyingTest class
Compiler class)<br>
<br>
<br>
Cheers,<br>
Bob<br>
<br>
</font>
<div class="moz-cite-prefix">On 9/25/13 7:31 AM, Frank Shearar
wrote:<br>
</div>
<blockquote
cite="mid:CAJbhyREfMUsMH0swyGFru-=bMgwtNh1tz=2s_9=auaRAtm-x3Q@mail.gmail.com"
type="cite">
<pre wrap="">I don't know how I would do that. The bytecode just says pushLit: Compiler.
But if I say Compiler allInstances collect: [:c | c instVarNamed:
'cue'] I see {nil . a CompilationCue . a CompilationCue}. That first
one's a problem! Further, my image has an ObjectExplorer (!) hanging
onto that Compiler, coming from I don't know where.
frank
On 25 September 2013 11:53, Bob Arning <a class="moz-txt-link-rfc2396E" href="mailto:arning315@comcast.net"><arning315@comcast.net></a> wrote:
</pre>
<blockquote type="cite">
<pre wrap="">If you inspect
PositionableStream>>#fileInAnnouncing:
and look at the literal for Compiler, does it look to be pointing to the new
or old Compiler?
Cheers,
Bob
On 9/25/13 6:12 AM, Frank Shearar wrote:
I'm running with Compiler-nice.274.
What's weirder is in that top stack frame (Compiler >>
#evaluate:in:to:notifying:ifFailed:logged: the following all show up
as red, because they're references to instvars that don't exist:
class, sourceStream, context, requestor.
That's because the CompiledMethod that's running is not actually the
right CompiledMethod! It's from some ancient pre-CompilationCue
Compiler instance. Or at least so I suspect because that Compiler
instance has a nil 'cue' instvar.
If it helps, the PointerFinder says this of the offending context:
globals: Environment
declarations: IdentityDictionary
#World -> PasteUpMorph
submorphs: Array
1: SystemWindow
model: ObjectExplorer
currentSelection: ObjectExplorerWrapper
item: CompiledMethod
In contrast, PointerFinder on: (Compiler >>
#evaluate:in:to:notifying:ifFail:logged:) says:
CLASS: SmalltalkImage class
superclass: Object class
subclasses: Array
445: Compiler class
methodDict: MethodDictionary
array: Array
39: CompiledMethod.
</pre>
</blockquote>
<pre wrap="">
</pre>
</blockquote>
<br>
</body>
</html>