Skip to Main Content
Shared Source CLI Essentials
book

Shared Source CLI Essentials

by David Stutz, Geoff Shilling, Ted Neward
March 2003
Intermediate to advanced content levelIntermediate to advanced
384 pages
10h 55m
English
O'Reilly Media, Inc.
Content preview from Shared Source CLI Essentials

Chapter 8. Interlude: Enabling Component Integration with Metadata

We’ve now met all of the major actors in the CLI component model . Types, which are programmers’ specifications about component structure and behavior, are the core around which the CLI is built. Transforming these types into processor-specific values and weaving these values into the native instruction stream is the runtime task of the CLI’s execution engine , and is done using a combination of loaders, runtime services, and the JIT compiler.

In the data-driven world of the CLI, the representation of types constantly unfolds during the process of loading and execution. There is an incremental, but constant, build-up of data associated with types. This build-up is caused by the collaboration between the facilities of the execution engine as type metadata is poked, prodded, transformed, augmented, and annotated. While the CLI lays out data and creates code, and ushers types and their instances through their lifecycles, the execution engine not only consumes metadata, but also produces large volumes of it.

Altering Metadata Representation

Consider the process of moving type information into and out of assemblies. If you carefully examine the code that makes up the metadata implementation, you will discover that there are two completely different codepaths: one for creating and modifying editable metadata, and another for mapping read-only metadata into memory. Programmers know that the existence of two implementations ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

.NET IL Assembler

.NET IL Assembler

Serge Lidin

Publisher Resources

ISBN: 059600351XCatalog PageErrata