Skip to content

Commit c21880a

Browse files
committed
Mutant pharo-project#563, Installing [ Replaces a literal with its float value ] on method [ set:classIndexTo:formatTo: ] 36 test cases.
1 parent 8eb01ce commit c21880a

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

smalltalksrc/VMMaker/Spur64BitMemoryManager.class.st

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -907,6 +907,7 @@ Spur64BitMemoryManager >> rtRefCountOf: obj put: refCount [
907907

908908
{ #category : #'header access' }
909909
Spur64BitMemoryManager >> set: objOop classIndexTo: classIndex formatTo: format [
910+
910911
"0 = 0 sized objects (UndefinedObject True False et al)
911912
1 = non-indexable objects with inst vars (Point et al)
912913
2 = indexable objects with no inst vars (Array et al)
@@ -921,13 +922,13 @@ Spur64BitMemoryManager >> set: objOop classIndexTo: classIndex formatTo: format
921922
12 - 15 16-bit indexable
922923
16 - 23 byte indexable
923924
24 - 31 compiled method"
925+
924926
<inline: true>
925927
self assert: (classIndex between: 0 and: self classIndexMask).
926-
self assert: (format between: 0 and: self formatMask).
927-
self longAt: objOop
928-
put: ((self longAt: objOop) bitAnd: (self formatMask << self formatShift + self classIndexMask) bitInvert64)
929-
+ (classIndex
930-
+ (format << self formatShift))
928+
self assert: (format between: 0.0 and: self formatMask).
929+
self longAt: objOop put: ((self longAt: objOop) bitAnd:
930+
(self formatMask << self formatShift + self classIndexMask)
931+
bitInvert64) + (classIndex + (format << self formatShift))
931932
]
932933

933934
{ #category : #'header access' }

0 commit comments

Comments
 (0)