2 Boxed structure of BigInts
6 | Pointer passed to BigNum package
9 Info2 Size Integer ....
11 (size excludes info ptr & size field)
13 Unboxed (Compiler must place on pointer stack not data stack
14 Must also tell GC if it is in a register when GC invoked)
16 ----> Info2 Size Integer
21 SPEC_INFO_TABLE(Info1, BigNum_entry, 1, 1); (Min Size 2 ?)
23 Entering this returns the BigNum using agreed return convention
26 DATA_INFO_TABLE(Info2, Dummy_entry);
28 This never actually entered -- just required for GC.
30 ------------------------------------------------------------------------------
32 Boxed structure of BigInts (the alternative one)
34 Pointer passed to BigNum package
37 ----> Info Size Integer ....
39 (size excludes info ptr & size field)
41 Unboxed (Compiler must place on pointer stack not data stack
42 Must also tell GC if it is in a register when GC invoked)
46 DATA_INFO_TABLE(Info, BigNum_entry);
48 Entering this returns the BigNum using agreed return convention
52 Note that the Boxed and Unboxed representation are identical !!!
54 (unboxing represents evaluationhood, not pointerhood)