The Trunk: System-dtl.222.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: System-dtl.222.mcz

commits-2
David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.222.mcz

==================== Summary ====================

Name: System-dtl.222
Author: dtl
Time: 4 January 2010, 9:43:42 am
UUID: 25b61403-8ba1-485d-a359-5c89792f595f
Ancestors: System-ar.221

Cache Smalltalk wordSize in class var in SystemDictionary..

Reference Mantis 7430: CompiledMethod>> initialPC calculation is wrong for 64bit images

=============== Diff against System-ar.221 ===============

Item was changed:
  ----- Method: SystemDictionary>>wordSize (in category 'sources, change log') -----
  wordSize
+ "Answer the size in bytes of an object pointer or word in the object memory.
+ The value does not change for a given image, but may be modified by a SystemTracer
+ when converting the image to another format. The value is cached in WordSize to
+ avoid the performance overhead of repeatedly consulting the VM."
+
- "Answer the size (in bytes) of an object pointer."
  "Smalltalk wordSize"
 
+ ^ WordSize ifNil: [WordSize := [SmalltalkImage current vmParameterAt: 40] on: Error do: [4]]!
- ^[SmalltalkImage current vmParameterAt: 40] on: Error do: [4]!

Item was changed:
  IdentityDictionary subclass: #SystemDictionary
  instanceVariableNames: 'cachedClassNames'
+ classVariableNames: 'LastImageName LastQuitLogPosition LowSpaceProcess LowSpaceSemaphore MemoryHogs ShutDownList SpecialSelectors StartUpList StartupStamp SystemChanges WordSize'
- classVariableNames: 'LastImageName LastQuitLogPosition LowSpaceProcess LowSpaceSemaphore MemoryHogs ShutDownList SpecialSelectors StartUpList StartupStamp SystemChanges'
  poolDictionaries: ''
  category: 'System-Support'!
 
  !SystemDictionary commentStamp: '<historical>' prior: 0!
  I represent a special dictionary that supports protocol for asking questions about the structure of the system. Other than class names, I contain (print this)...
  Smalltalk keys select: [:k | ((Smalltalk at: k) isKindOf: Class) not]
  thenCollect: [:k | k -> (Smalltalk at: k) class]
  !