SnapShotImageMemory.st
changeset 1423 5bb61f51152d
parent 1422 948a90b76e72
child 1440 f3eda2f72399
equal deleted inserted replaced
1422:948a90b76e72 1423:5bb61f51152d
     1 "{ Package: 'stx:libtool' }"
     1 "{ Package: 'stx:libtool2' }"
     2 
     2 
     3 Object subclass:#SnapShotImageMemory
     3 Object subclass:#SnapShotImageMemory
     4 	instanceVariableNames:'image stream msb ptrSize intSize intTag spaceInfos symbolEntries
     4 	instanceVariableNames:'image stream msb ptrSize intSize intTag spaceInfos symbolEntries
     5 		globalEntries addrToObjectMapping'
     5 		globalEntries addrToObjectMapping'
     6 	classVariableNames:''
     6 	classVariableNames:''
    13 	classVariableNames:''
    13 	classVariableNames:''
    14 	poolDictionaries:''
    14 	poolDictionaries:''
    15 	privateIn:SnapShotImageMemory
    15 	privateIn:SnapShotImageMemory
    16 !
    16 !
    17 
    17 
    18 SnapShotImageMemory::ImageHeader variableByteSubclass:#ImageByteObject
    18 Object subclass:#SpaceInfo
    19 	instanceVariableNames:''
    19 	instanceVariableNames:'start end size flags imageBase'
    20 	classVariableNames:''
    20 	classVariableNames:''
    21 	poolDictionaries:''
    21 	poolDictionaries:''
    22 	privateIn:SnapShotImageMemory
    22 	privateIn:SnapShotImageMemory
    23 !
    23 !
    24 
    24 
    34 	classVariableNames:''
    34 	classVariableNames:''
    35 	poolDictionaries:''
    35 	poolDictionaries:''
    36 	privateIn:SnapShotImageMemory
    36 	privateIn:SnapShotImageMemory
    37 !
    37 !
    38 
    38 
    39 Object subclass:#SpaceInfo
    39 SnapShotImageMemory::ImageHeader variableByteSubclass:#ImageByteObject
    40 	instanceVariableNames:'start end size flags imageBase'
    40 	instanceVariableNames:''
    41 	classVariableNames:''
    41 	classVariableNames:''
    42 	poolDictionaries:''
    42 	poolDictionaries:''
    43 	privateIn:SnapShotImageMemory
    43 	privateIn:SnapShotImageMemory
    44 !
    44 !
    45 
    45 
   399 
   399 
   400         msb := false.
   400         msb := false.
   401         order := stream nextUnsignedLongMSB:msb.        
   401         order := stream nextUnsignedLongMSB:msb.        
   402         order = 16r076543210 ifTrue:[
   402         order = 16r076543210 ifTrue:[
   403         ] ifFalse:[
   403         ] ifFalse:[
   404             order = 16r01234567 ifTrue:[
   404             order = 16r10325476 ifTrue:[
   405                 msb := true.
   405                 msb := true.
   406             ] ifFalse:[
   406             ] ifFalse:[
   407                 self error:'unhandled byteorder'
   407                 self error:'unhandled byteorder'
   408             ].
   408             ].
   409         ].
   409         ].
   805 
   805 
   806 isString                               
   806 isString                               
   807     ^ classRef name = 'String'
   807     ^ classRef name = 'String'
   808 ! !
   808 ! !
   809 
   809 
   810 !SnapShotImageMemory::ImageByteObject methodsFor:'queries'!
   810 !SnapShotImageMemory::SpaceInfo methodsFor:'accessing'!
       
   811 
       
   812 end
       
   813     "return the value of the instance variable 'end' (automatically generated)"
       
   814 
       
   815     ^ end!
       
   816 
       
   817 end:something
       
   818     "set the value of the instance variable 'end' (automatically generated)"
       
   819 
       
   820     end := something.!
       
   821 
       
   822 flags
       
   823     "return the value of the instance variable 'flags' (automatically generated)"
       
   824 
       
   825     ^ flags!
       
   826 
       
   827 flags:something
       
   828     "set the value of the instance variable 'flags' (automatically generated)"
       
   829 
       
   830     flags := something.!
       
   831 
       
   832 imageBase
       
   833     "return the value of the instance variable 'imageBase' (automatically generated)"
       
   834 
       
   835     ^ imageBase!
       
   836 
       
   837 imageBase:something
       
   838     "set the value of the instance variable 'imageBase' (automatically generated)"
       
   839 
       
   840     imageBase := something.!
   811 
   841 
   812 size
   842 size
   813     ^ byteSize
   843     "return the value of the instance variable 'size' (automatically generated)"
   814 ! !
   844 
       
   845     ^ size!
       
   846 
       
   847 size:something
       
   848     "set the value of the instance variable 'size' (automatically generated)"
       
   849 
       
   850     size := something.!
       
   851 
       
   852 start
       
   853     "return the value of the instance variable 'start' (automatically generated)"
       
   854 
       
   855     ^ start!
       
   856 
       
   857 start:something
       
   858     "set the value of the instance variable 'start' (automatically generated)"
       
   859 
       
   860     start := something.! !
   815 
   861 
   816 !SnapShotImageMemory::ImageObject methodsFor:'method protocol'!
   862 !SnapShotImageMemory::ImageObject methodsFor:'method protocol'!
   817 
   863 
   818 byteCode
   864 byteCode
   819     |byteCodeSlotOffset byteCodePtr byteCodeRef byteCode|
   865     |byteCodeSlotOffset byteCodePtr byteCodeRef byteCode|
  1372 
  1418 
  1373 commentSlot
  1419 commentSlot
  1374     ^ self at:(Class instVarOffsetOf:'comment')!
  1420     ^ self at:(Class instVarOffsetOf:'comment')!
  1375 
  1421 
  1376 flags
  1422 flags
  1377     |flags|
  1423     |flags amount|
  1378 
  1424 
  1379     flags := self flagsSlot.
  1425     flags := self flagsSlot.
  1380 
  1426 
  1381     (SnapShotImageMemory isSmallIntegerOOP:flags) ifFalse:[
  1427     (SnapShotImageMemory isSmallIntegerOOP:flags) ifFalse:[
  1382         self halt
  1428         self halt
  1383     ].
  1429     ].
  1384     ^ flags bitShift:-1.
  1430     amount := -1.
       
  1431     ^ flags bitShift:amount.
  1385 !
  1432 !
  1386 
  1433 
  1387 flagsSlot
  1434 flagsSlot
  1388     ^ self at:(Class instVarOffsetOf:'flags')!
  1435     ^ self at:(Class instVarOffsetOf:'flags')!
  1389 
  1436 
  3576 
  3623 
  3577 wasAutoloaded
  3624 wasAutoloaded
  3578     ^ false 
  3625     ^ false 
  3579 ! !
  3626 ! !
  3580 
  3627 
  3581 !SnapShotImageMemory::SpaceInfo methodsFor:'accessing'!
  3628 !SnapShotImageMemory::ImageByteObject methodsFor:'queries'!
  3582 
       
  3583 end
       
  3584     "return the value of the instance variable 'end' (automatically generated)"
       
  3585 
       
  3586     ^ end!
       
  3587 
       
  3588 end:something
       
  3589     "set the value of the instance variable 'end' (automatically generated)"
       
  3590 
       
  3591     end := something.!
       
  3592 
       
  3593 flags
       
  3594     "return the value of the instance variable 'flags' (automatically generated)"
       
  3595 
       
  3596     ^ flags!
       
  3597 
       
  3598 flags:something
       
  3599     "set the value of the instance variable 'flags' (automatically generated)"
       
  3600 
       
  3601     flags := something.!
       
  3602 
       
  3603 imageBase
       
  3604     "return the value of the instance variable 'imageBase' (automatically generated)"
       
  3605 
       
  3606     ^ imageBase!
       
  3607 
       
  3608 imageBase:something
       
  3609     "set the value of the instance variable 'imageBase' (automatically generated)"
       
  3610 
       
  3611     imageBase := something.!
       
  3612 
  3629 
  3613 size
  3630 size
  3614     "return the value of the instance variable 'size' (automatically generated)"
  3631     ^ byteSize
  3615 
  3632 ! !
  3616     ^ size!
       
  3617 
       
  3618 size:something
       
  3619     "set the value of the instance variable 'size' (automatically generated)"
       
  3620 
       
  3621     size := something.!
       
  3622 
       
  3623 start
       
  3624     "return the value of the instance variable 'start' (automatically generated)"
       
  3625 
       
  3626     ^ start!
       
  3627 
       
  3628 start:something
       
  3629     "set the value of the instance variable 'start' (automatically generated)"
       
  3630 
       
  3631     start := something.! !
       
  3632 
  3633 
  3633 !SnapShotImageMemory class methodsFor:'documentation'!
  3634 !SnapShotImageMemory class methodsFor:'documentation'!
  3634 
  3635 
  3635 version
  3636 version
  3636     ^ '$Header$'
  3637     ^ '$Header$'