CaretForm mystery

Vassili Bykov vassili at objectpeople.com
Tue Feb 3 04:32:32 UTC 1998


Matthew Rosen writes:
 > I'm _very_ puzzled about a strange little critter in the Squeak 1.30
 > image (and earlier images for that matter).  I ran across it in the
 > method:
 > [...typical my-pool-has-lost-its-association symptoms...]

The solution to your mystery used to lie in the TextConstants pool
that Paragraph is using.  As it has been discussed here, the pool is
damaged in 1.3, with all the Associations it used to contain lost.
Recompilation, inspection, and explain do not work because of that
(the compiler cannot find the name anymore).

The method still runs fine because the CompiledMethod object still
references the Association that used to be in the pool. Inspect

  (Paragraph compiledMethodAt: #caretFormForDepth:) literals

and you will see "CaretForm->a Form" somewhere in the result.

The pool is OK in 1.23 image, BTW, and explain and everything else
works.

 > Granted, I only have eight years of Smalltalk experience, but even I
 > know that something outside the normal Smalltalk rules is happening
 > here.

This is a normal Smalltalk behavior in abnormal cirumstances. :-)

<...painfully struggling against the temptation to comment on the
reference to years as a measure of knowledge...>

 > Please, I want to sleep nights again.  Can someone shed light on this
 > mysterious phenomena?

Good night, 
(don't let the Squeak bugs bite)

--Vassili

-- 
Vassili Bykov        vassili at objectpeople.com
The Object People    http://www.objectpeople.com
+1(613)225-8812





More information about the Squeak-dev mailing list