[pypy-svn] r50784 - pypy/dist/pypy/doc/image

cfbolz at codespeak.net cfbolz at codespeak.net
Sat Jan 19 17:45:54 CET 2008


Author: cfbolz
Date: Sat Jan 19 17:45:53 2008
New Revision: 50784

Added:
   pypy/dist/pypy/doc/image/jitdata-interpreter.dot
   pypy/dist/pypy/doc/image/merge-split.dot
Log:
(cfbolz, arigo around) two graphs about the JIT


Added: pypy/dist/pypy/doc/image/jitdata-interpreter.dot
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/doc/image/jitdata-interpreter.dot	Sat Jan 19 17:45:53 2008
@@ -0,0 +1,46 @@
+digraph jitdata {
+    shape=box;
+
+    interpreter [label = "Interpreter", shape=box]
+    jitstate [label = "JITState", shape=box]
+    subgraph frames {
+        rank=same
+        frame0 [label = "           PC\nVirtualFrame 1", shape=box]
+        frame1 [label = "\nVirtualFrame 2", shape=box]
+        frame0 -> frame1 [label="back"]
+        frame2 [label = "\nVirtualFrame 3", shape=box]
+        frame1 -> frame2 [label="back"]
+        frame3 [label = "...", color=white, shape=BUH]
+        frame3 -> frame2 [label="back"]
+    }
+    gvars [label = "list of green vars\n(GenConsts)", shape=box]
+    rvars [label = "list of red vars\n(RedBox)", shape=box]
+    bc [label = "bytecode", shape=box]
+    interpreter -> jitstate
+    jitstate -> frame0
+    frame0 -> gvars
+    frame0 -> rvars
+    frame0 -> bc
+
+    rvars -> ptrbox [label = "contains"]
+    ptrbox [label = "PtrBox", shape=box]
+    rvars -> intbox [label = "contains"]
+    intbox [label = "IntBox", shape=box]
+    container [label = "VirtualContainer", shape=box]
+    ptrbox -> container [label = "content"]
+    ptrbox -> genvarorconst0 [label= "genvar"];
+    intbox -> genvarorconst1 [label= "genvar"];
+    genvarorconst0 [label = "GenVarOrConst", shape=box]
+    genvarorconst1 [label = "GenVarOrConst", shape=box]
+    container -> ptrbox [label = "ownbox"]
+    contentboxes [label = "list of content\n(boxes)", shape=box]
+    container -> contentboxes [label = "contentboxes"]
+    contentboxes -> box0 [label = "contains"]
+    contentboxes -> box1 [label = "contains"]
+    contentboxes -> box2 [label = "contains"]
+    contentboxes -> box3 [label = "contains"]
+    box0 [label = "RedBox", shape=box]
+    box1 [label = "RedBox", shape=box]
+    box2 [label = "RedBox", shape=box]
+    box3 [label = "RedBox", shape=box]
+}

Added: pypy/dist/pypy/doc/image/merge-split.dot
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/doc/image/merge-split.dot	Sat Jan 19 17:45:53 2008
@@ -0,0 +1,14 @@
+digraph JIT {
+
+    block0 [label = "...\nsplit", shape=octagon]
+    block0 -> block1 [label="False"]
+    block0 -> block2 [label="True"]
+    
+    block1 [label = "...", shape=box]
+    block2 [label = "...", shape=box]
+    block3 [label = "merge\n...", shape=box]
+
+    block1 -> block3;
+    block2 -> block3;
+
+}



More information about the Pypy-commit mailing list