[Mono-list] Unknown heap type?

Paolo Molaro lupus@ximian.com
Tue, 20 Aug 2002 11:31:10 +0200

On 08/19/02 Serge wrote:
> It's indeed uncompressed data stream, it's mentioned briefly in Part II, 23.2.2
> "Some compilers store metadata in a #- stream, which holds an uncompressed, or non-optimized, representation of metadata tables;
> this includes extra metadata "pointer" tables."
> Those pointer tables are:
>     FieldPtr
>     MethodPtr
>     ParamPtr
>     EventPtr
>     PropertyPtr
>     TypeTyPar
>     MethodTyPar
> There are also ENCLog, ENCMap tables, not sure what it is.
> The stream is pretty straight-forward to reverse-engineer, 
> but I don't think it's useful to add support for the stream.

Well, I'm not even considering it until I can create such a stream with
a command-line tool. I was wondering if the *Ptr table are something
like the token pointers I wanted to use to implement the runtime use of
types created with Reflection.Emit, like I proposed a while ago on the
Anyway, if the #- is just like the #~ stream only with the columns in
the tables uncompressed, it will be easy to support it (i.e. can I just
ignore the existance of the *Ptr tables? I guess I need to know their
format anyway, if their ID is lower than one of the currently used
tables IDs, since the metadata tables format was designed without
thinking about compatibility with future versions...).

Thanks for the info.


lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better