--- a/Behavior.st Fri Nov 24 14:02:02 1995 +0100
+++ b/Behavior.st Fri Nov 24 14:02:53 1995 +0100
@@ -12,7 +12,7 @@
Object subclass:#Behavior
instanceVariableNames:'superclass flags selectorArray methodArray otherSuperclasses
- instSize'
+ instSize'
classVariableNames:'SubclassInfo'
poolDictionaries:''
category:'Kernel-Classes'
@@ -87,7 +87,7 @@
!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Behavior.st,v 1.53 1995-11-23 10:45:04 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Behavior.st,v 1.54 1995-11-24 13:02:53 cg Exp $'
!
virtualMachineRelationship
@@ -2515,10 +2515,11 @@
%{ /* NOCONTEXT */
- REGISTER int flags;
-
- RETURN ( (((flags = (_intVal(_INST(flags)) & ARRAYMASK)) == BYTEARRAY)
- || (flags == WORDARRAY)) ? true : false );
+ REGISTER int what;
+
+ what = (INT)(_INST(flags)) & __MASKSMALLINT(ARRAYMASK);
+ RETURN (( (what == __MASKSMALLINT(BYTEARRAY))
+ || (what == __MASKSMALLINT(WORDARRAY))) ? true : false );
%}
!
@@ -2530,7 +2531,7 @@
"
%{ /* NOCONTEXT */
- RETURN ( ((_intVal(_INST(flags)) & ARRAYMASK) == BYTEARRAY) ? true : false );
+ RETURN ( (((INT)(_INST(flags)) & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(BYTEARRAY)) ? true : false );
%}
!
@@ -2542,7 +2543,7 @@
"
%{ /* NOCONTEXT */
- RETURN ( ((_intVal(_INST(flags)) & ARRAYMASK) == DOUBLEARRAY) ? true : false );
+ RETURN ( (((INT)(_INST(flags)) & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(DOUBLEARRAY)) ? true : false );
%}
!
@@ -2555,7 +2556,7 @@
%{ /* NOCONTEXT */
- RETURN ( (_intVal(_INST(flags)) & ARRAYMASK) ? false : true );
+ RETURN ( ((INT)(_INST(flags)) & __MASKSMALLINT(ARRAYMASK)) ? false : true );
%}
!
@@ -2567,10 +2568,31 @@
"
%{ /* NOCONTEXT */
- RETURN ( ((_intVal(_INST(flags)) & ARRAYMASK) == FLOATARRAY) ? true : false );
+ RETURN ( (((INT)(_INST(flags)) & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(FLOATARRAY)) ? true : false );
%}
!
+isFloatsOrDoubles
+ "return true, if instances have indexed float or double instance variables"
+
+%{ /* NOCONTEXT */
+
+ int what;
+
+ what = (INT)(_INST(flags)) & __MASKSMALLINT(ARRAYMASK);
+ RETURN (( (what == __MASKSMALLINT(FLOATARRAY))
+ || (what == __MASKSMALLINT(DOUBLEARRAY))) ? true : false );
+%}
+ "
+ (Object new) class isFloatsOrDoubles
+ (Point new) class isFloatsOrDoubles
+ (Array new) class isFloatsOrDoubles
+ (ByteArray new) class isFloatsOrDoubles
+ (FloatArray new) class isFloatsOrDoubles
+ (DoubleArray new) class isFloatsOrDoubles
+ "
+!
+
isLongs
"return true, if instances have indexed long instance variables"
@@ -2579,7 +2601,7 @@
"
%{ /* NOCONTEXT */
- RETURN ( ((_intVal(_INST(flags)) & ARRAYMASK) == LONGARRAY) ? true : false );
+ RETURN ( (((INT)(_INST(flags)) & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(LONGARRAY)) ? true : false );
%}
!
@@ -2648,7 +2670,7 @@
%{ /* NOCONTEXT */
- RETURN ( (_intVal(_INST(flags)) & ARRAYMASK) ? true : false );
+ RETURN ( ((INT)(_INST(flags)) & __MASKSMALLINT(ARRAYMASK)) ? true : false );
%}
!
@@ -2660,7 +2682,7 @@
"
%{ /* NOCONTEXT */
- RETURN ( ((_intVal(_INST(flags)) & ARRAYMASK) == WORDARRAY) ? true : false );
+ RETURN ( (((INT)(_INST(flags)) & __MASKSMALLINT(ARRAYMASK)) == __MASKSMALLINT(WORDARRAY)) ? true : false );
%}
!