From 8e64bb73b74d327fa6ec9a8b86751bf777d8bae0 Mon Sep 17 00:00:00 2001 From: Phil Date: Sun, 1 Dec 2024 14:16:52 -0800 Subject: [PATCH] - Preparing for SafePoints --- Source/Docs/mosa-runtime-tables.dot | 18 ++++++++++++++---- Source/Docs/runtime-tables.rst | 12 ++++++++++++ 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/Source/Docs/mosa-runtime-tables.dot b/Source/Docs/mosa-runtime-tables.dot index 00d78f68e3..1927aec29e 100644 --- a/Source/Docs/mosa-runtime-tables.dot +++ b/Source/Docs/mosa-runtime-tables.dot @@ -11,7 +11,7 @@ digraph "MOSA Runtime Tables" ]; "NameString" [ - label = "String Object|Object Header|Pointer to Method Table|String Length|Unicode String" + label = "Internal String Object|Object Header|Pointer to Method Table|String Length|Unicode String" shape = "record" color = "red" ]; @@ -209,7 +209,7 @@ digraph "MOSA Runtime Tables" ]; "MethodDefinition" [ - label = "Method Definition|Pointer to Method Name|~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 SafePoint Table|Number of Parameters|Pointer to Parameter Definition 1|...|Pointer to Parameter Definition N" + label = "Method Definition|Pointer to Method Name|~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|...|Pointer to Parameter Definition N" shape = "record" color = "purple" ]; @@ -232,7 +232,7 @@ digraph "MOSA Runtime Tables" color = "blue" ]; - "MethodDefinition":f8 -> "SafePointTable":f0 [ + "MethodDefinition":f8 -> "Method GC Data":f0 [ id = 0 ]; @@ -258,6 +258,16 @@ digraph "MOSA Runtime Tables" id = 0 color = "blue" ]; + + "Method GC Data" [ + label = "Method GC Data|Pointer to SafePoint Table|Pointer to Method GC Stack Data" + shape = "record" + ]; + + "Method GC Data":f1 -> "SafePoint":f0 [ + id = 0 + style = "dotted" + ]; "SafePointTable" [ label = "SafePoint Table|Number of SafePoints|SafePoint 1|..|SafePoint N" @@ -265,7 +275,7 @@ digraph "MOSA Runtime Tables" ]; "SafePoint" [ - label = "SafePoint|Address Offset|Address Range (signed)|Breakpoint Indicator|CPU Registers Bitmap (64 bit)" + label = "SafePoint|Address Offset|Address Range (signed)|Breakpoint Indicator|CPU Registers Bitmap (32 bit)" shape = "record" ]; diff --git a/Source/Docs/runtime-tables.rst b/Source/Docs/runtime-tables.rst index 08ba0b06bc..40f6e2dcca 100644 --- a/Source/Docs/runtime-tables.rst +++ b/Source/Docs/runtime-tables.rst @@ -5,3 +5,15 @@ MOSA Runtime Tables This diagram represents the internal runtime tables within the MOSA virtual machine: .. graphviz:: mosa-runtime-tables.dot + +Internal String Object +---------------------- + +.. csv-table:: + :header: "Fields" + :widths: 200 + + Object Header + Pointer to Method Table + String Length + Unicode String