X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fdocs%2FNOTES.arbitary-ints;fp=ghc%2Fdocs%2FNOTES.arbitary-ints;h=0000000000000000000000000000000000000000;hb=5eb1c77c795f92ed0f4c8023847e9d4be1a4fd0d;hp=964a2cf5be22246c407d73ce990824e9a079d7fa;hpb=f7ecf7234c224489be8a5e63fced903b655d92ee;p=ghc-hetmet.git diff --git a/ghc/docs/NOTES.arbitary-ints b/ghc/docs/NOTES.arbitary-ints deleted file mode 100644 index 964a2cf..0000000 --- a/ghc/docs/NOTES.arbitary-ints +++ /dev/null @@ -1,54 +0,0 @@ - -Boxed structure of BigInts - - -----> Info1 Pointer - | Pointer passed to BigNum package - | | - \/ \/ - Info2 Size Integer .... - - (size excludes info ptr & size field) - -Unboxed (Compiler must place on pointer stack not data stack - Must also tell GC if it is in a register when GC invoked) - -----> Info2 Size Integer - - - -Info1: - SPEC_INFO_TABLE(Info1, BigNum_entry, 1, 1); (Min Size 2 ?) - - Entering this returns the BigNum using agreed return convention - -Info2: - DATA_INFO_TABLE(Info2, Dummy_entry); - - This never actually entered -- just required for GC. - ------------------------------------------------------------------------------- - -Boxed structure of BigInts (the alternative one) - - Pointer passed to BigNum package - | - \/ -----> Info Size Integer .... - - (size excludes info ptr & size field) - -Unboxed (Compiler must place on pointer stack not data stack - Must also tell GC if it is in a register when GC invoked) - - -Info: - DATA_INFO_TABLE(Info, BigNum_entry); - - Entering this returns the BigNum using agreed return convention - - - -Note that the Boxed and Unboxed representation are identical !!! - -(unboxing represents evaluationhood, not pointerhood)