SnapShotImageMemory.st
changeset 3089 994863569542
parent 3088 5a5e9b9b5138
child 3091 4ec02687f35f
equal deleted inserted replaced
3088:5a5e9b9b5138 3089:994863569542
   259             ]
   259             ]
   260         ].
   260         ].
   261         o memory:self.
   261         o memory:self.
   262         o address:baseAddr.
   262         o address:baseAddr.
   263         o classRef:classRef.
   263         o classRef:classRef.
   264 size > 8000 ifTrue:[self halt].
   264         "/ size > 8000 ifTrue:[self halt].
   265         o byteSize:size.
   265         o byteSize:size.
   266         o bits:bits.
   266         o bits:bits.
   267         addrToObjectMapping at:(baseAddr bitShift:-2) put:o.
   267         addrToObjectMapping at:(baseAddr bitShift:-2) put:o.
   268 
   268 
   269         1 to:nInsts do:[:idx |
   269         1 to:nInsts do:[:idx |
  1321             ]
  1321             ]
  1322         ].                
  1322         ].                
  1323 
  1323 
  1324         ^ nil
  1324         ^ nil
  1325     ].
  1325     ].
  1326     self halt.
  1326     ^ nil
  1327 ! !
  1327 ! !
  1328 
  1328 
  1329 !SnapShotImageMemory::ImageObject methodsFor:'methodDictionary protocol'!
  1329 !SnapShotImageMemory::ImageObject methodsFor:'methodDictionary protocol'!
  1330 
  1330 
  1331 at:aSelector ifAbsent:exceptionValue
  1331 at:aSelector ifAbsent:exceptionValue
  1611 classVarsSlot
  1611 classVarsSlot
  1612     ^ self at:(Class instVarOffsetOf:'classvars')
  1612     ^ self at:(Class instVarOffsetOf:'classvars')
  1613 !
  1613 !
  1614 
  1614 
  1615 comment
  1615 comment
  1616     |commentRef comment|
  1616     |commentRef comment stream string|
  1617 
  1617 
  1618     commentRef := self commentSlot.
  1618     commentRef := self commentSlot.
  1619     commentRef isInteger ifTrue:[
  1619     commentRef isInteger ifTrue:[
       
  1620         (SnapShotImageMemory isSmallIntegerOOP:commentRef) ifTrue:[
       
  1621             "/ comment points into file.
       
  1622             stream := self sourceStream.
       
  1623             stream notNil ifTrue:[
       
  1624                 Stream positionErrorSignal handle:[:ex |
       
  1625                     ^ nil
       
  1626                 ] do:[
       
  1627                     stream position:(commentRef bitShift:-1).
       
  1628                     string := String readFrom:stream.
       
  1629                     stream close.
       
  1630                 ].
       
  1631                 ^ string
       
  1632             ].
       
  1633             ^ nil
       
  1634         ].
  1620         commentRef := memory fetchObjectAt:commentRef.
  1635         commentRef := memory fetchObjectAt:commentRef.
  1621     ].
  1636     ].
  1622     commentRef notNil ifTrue:[
  1637     commentRef notNil ifTrue:[
  1623         comment := memory fetchStringFor:commentRef.
  1638         comment := memory fetchStringFor:commentRef.
  1624     ].
  1639     ].
  4302 
  4317 
  4303 !SnapShotImageMemory class methodsFor:'documentation'!
  4318 !SnapShotImageMemory class methodsFor:'documentation'!
  4304 
  4319 
  4305 version
  4320 version
  4306     ^ '$Header$'
  4321     ^ '$Header$'
       
  4322 !
       
  4323 
       
  4324 version_CVS
       
  4325     ^ '$Header$'
  4307 ! !
  4326 ! !
  4308 
  4327