2008-02-21 Mark Probst <mark.probst@gmail.com>
authorMark Probst <mark.probst@gmail.com>
Thu, 21 Feb 2008 21:38:33 +0000 (21:38 -0000)
committerMark Probst <mark.probst@gmail.com>
Thu, 21 Feb 2008 21:38:33 +0000 (21:38 -0000)
commit83a521d093955e66fe4fcd8c3c5fbe997bd6abd6
tree7c49e06fd8dd6ba16bc891635db51a440f259bcc
parent66916dc69672ecabc6df0d7a3a320fae2d29db15
2008-02-21  Mark Probst  <mark.probst@gmail.com>

* object.c, generic-sharing.c: Moved some generic sharing code
from object.c to generic-sharing.c.

* generic-sharing.c: Added support for extensible runtime generic
context.

* metadata-internals.h: Two new hash tables in MonoImage for
extensible runtime generic context support.

* domain.c: Unregister generic vtables upon domain unloading.

* image.c: Destroy new hash tables upon image unloading.

* metadata.c: Unregister generic subclasses upon image unloading.

* class-internals.h: New data structure for runtime generic
context template.  New fields in the runtime generic context for
extensible part.

* Makefile.am: Added generic-sharing.c.

2008-02-21  Mark Probst  <mark.probst@gmail.com>

* mini.c: Fetch data out of the extensible part of the runtime
generic context instead of calling a helper function.

* generic-sharing.c: Some functions moved into
metadata/generic-sharing.c.  Helper function for fetching other
types now checks and asserts against extensible rgctx (just for
debugging purposes - the helper function isn't called anymore
unless for debugging).

2008-02-21  Mark Probst  <mark.probst@gmail.com>

* generics-sharing.2.cs: Improved tests.

svn path=/trunk/mono/; revision=96397
15 files changed:
mono/metadata/ChangeLog
mono/metadata/Makefile.am
mono/metadata/class-internals.h
mono/metadata/domain.c
mono/metadata/generic-sharing.c [new file with mode: 0644]
mono/metadata/image.c
mono/metadata/metadata-internals.h
mono/metadata/metadata.c
mono/metadata/object.c
mono/mini/ChangeLog
mono/mini/generic-sharing.c
mono/mini/mini.c
mono/mini/mini.h
mono/tests/ChangeLog
mono/tests/generics-sharing.2.cs