31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
* TY_MARK: A mark; u is always zero.
* TY_ARRAY: An array reference. The low 16-bits of u are the starting
index of the array (pointed by array_data), the next 10-bits and the high
6-bits indicate the size of the array.
* TY_CODE: Currently only used in case blocks; there are no values of this
type in local or global variables.
* Numbers more than TY_MAXTYPE (15) means it is a generation number of an
object, and u is the index number of that object. In the internal code,
VOIDLINK means no object; this is represented in a Value structure as
t=0 (TY_NUMBER) and u=0. (Generation numbers are internally used so that
it can detect invalid references; once a reference becomes invalid, it
can never become valid again.)
|
|
|
>
|
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
* TY_MARK: A mark; u is always zero.
* TY_ARRAY: An array reference. The low 16-bits of u are the starting
index of the array (pointed by array_data), the next 10-bits and the high
6-bits indicate the size of the array.
* TY_CODE: Used in case blocks to denote a branch to another address. Also
used for link values; the high 16-bits are the class number and the low
16-bits are the address within the class codes for that class.
* Numbers more than TY_MAXTYPE (15) means it is a generation number of an
object, and u is the index number of that object. In the internal code,
VOIDLINK means no object; this is represented in a Value structure as
t=0 (TY_NUMBER) and u=0. (Generation numbers are internally used so that
it can detect invalid references; once a reference becomes invalid, it
can never become valid again.)
|