MOSA runtime tables
This diagram represents the internal runtime tables within the MOSA virtual machine:
Table Definitions
Internal String Object |
---|
Pointer to Method Table |
String Length |
Unicode String |
Assembly Table |
---|
Number of Assemblies |
Pointer to Assembly 1..N |
Assembly |
---|
Pointer to Assembly Name |
Pointer to Custom Attributes |
Flags: IsReflectionOnly |
Number of Types |
Pointer to Type Definition 1..N |
Type Definition |
---|
Pointer to Typeame |
Pointer to Custom Attributes |
Type Code & Attributes |
Type Size |
Pointer to Assembly |
Pointer to Parent Type |
Pointer to Declaring Type |
Pointer to Element Type |
Pointer to Default Constructor Method |
Pointer to Properties Table |
Pointer to Fields Table |
Pointer to Interface Slot Table |
Pointer to Interface Bitmap |
Number of Methods |
Pointer to Method 1..N |
Pointer to Method Definition 1..N |
Fields Table |
---|
Number of Fields |
Pointer to Field Definition 1..N |
Field Definition |
---|
Pointer to Fieldame |
Pointer to Custom Attributes |
Field Attributes |
Pointer to Field Type |
Address |
Offset / Size |
Properties Table |
---|
Number of Properties |
Pointer to Property Definition 1..N |
Property Definition |
---|
Pointer to Propertyame |
Pointer to Custom Attributes |
Property Attributes |
Pointer to Property Type |
Pointer to Getter Method Definition |
Pointer to Setter Method Defiinition |
Method Lookup Table |
---|
Number of Methods |
Pointer to Method (Starting Address) |
Method Size |
Pointer to Method Definition |
Protected Region Table |
---|
Number of Regions |
Pointer to Protected Region Definition 1..N |
Protected Region Definition |
---|
Region Start |
Region End |
Region Handler |
Exception Handler Type |
Pointer to Exception Type |
Interface Slot Table |
---|
Number of Interface Method Tables |
Pointer to Interface Method Table 1..N |
Interface Method Table |
---|
Pointer to Interface Type |
Number of Methods |
Pointer to Method Definition 1..N |
Method Definition |
---|
Pointer to Methodame |
Pointer to Custom Attributes |
Method Attributes |
Local & Parameter Stack Size |
Pointer to Method |
Pointer to Return Type Definition |
Pointer to Protected Region Table |
Pointer to Method GC Data |
Number of Parameters |
Pointer to Parameter Definition 1..N |
Property Definition |
---|
Pointer to Parameterame |
Pointer to Custom Attributes |
Parameter Attributes |
Pointer to Parameter Type |
Custom Attributes Table |
---|
Number of Attributes |
Pointer to Custom Attribute 1..N |
Custom Attribute |
---|
Pointer to Attribute Type |
Pointer to Constructor Method |
Number of Arguments |
Pointer to Argument 1..N |
Custom Attribute Argument |
---|
Pointer to Argumentame |
Is Argument a Field |
Pointer to Argument Type |
Argument Size |
Argument |
Method GC Data |
---|
Pointer to SafePoint Table |
Pointer to Method GC Stack Data |
Method GC Stack Data |
---|
Number of Method GC Stack Entries |
Pointer to Method GC Stack Entry 1..N |
Method GC Stack Entry |
---|
Stack Offset |
Type (0=Object/1=Managed Pointer) |
Live Ranges 1..N |
. Address Offset |
. Address Range |
Method SafePoint Table |
---|
Number of SafePoints |
SafePoint 1..N |
. Address Offset |
. Address Range |
. CPU Registers Bitmap (32 bit) |
. Type Bitmap (32 bit) |
. Breakpoint Indicator |