[pypy-svn] r44874 - pypy/extradoc/talk/ep2007/pypy_10_and_jit

arigo at codespeak.net arigo at codespeak.net
Mon Jul 9 12:38:33 CEST 2007


Author: arigo
Date: Mon Jul  9 12:38:32 2007
New Revision: 44874

Added:
   pypy/extradoc/talk/ep2007/pypy_10_and_jit/tlc1.dot
   pypy/extradoc/talk/ep2007/pypy_10_and_jit/tlc2.dot
Modified:
   pypy/extradoc/talk/ep2007/pypy_10_and_jit/talk.txt
Log:
- add the source of the factorial-in-TLC
- check in graphs for the TLC results


Modified: pypy/extradoc/talk/ep2007/pypy_10_and_jit/talk.txt
==============================================================================
--- pypy/extradoc/talk/ep2007/pypy_10_and_jit/talk.txt	(original)
+++ pypy/extradoc/talk/ep2007/pypy_10_and_jit/talk.txt	Mon Jul  9 12:38:32 2007
@@ -348,7 +348,22 @@
 Virtuals + Promotion
 =====================
 
-* Example from the Toy Language interpreter
+| *The factorial for the Toy Language interpreter:*
+|                                  ``PUSH 1   #  accumulator``
+|                                  ``PUSHARG``
+|                              ``start:``
+|                                  ``PICK 0``
+|                                  ``PUSH 1``
+|                                  ``LE``
+|                                  ``BR_COND exit``
+|                                  ``SWAP``
+|                                  ``PICK 1``
+|                                  ``MUL``
+|                                  ``SWAP``
+|                                  ``PUSH 1``
+|                                  ``SUB``
+|                                  ``PUSH 1``
+|                                  ``BR_COND start``
 
 .. tlc example results
 

Added: pypy/extradoc/talk/ep2007/pypy_10_and_jit/tlc1.dot
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/ep2007/pypy_10_and_jit/tlc1.dot	Mon Jul  9 12:38:32 2007
@@ -0,0 +1,19 @@
+digraph _generated__graph {
+subgraph _generated__ {
+_generated__ [shape="box", label="generated", color="black", fillcolor="#a5e6f0", style="filled", width="0.75"];
+edge [label="startblock", style="dashed", color="black", dir="forward", weight="5"];
+_generated__ -> _generated____1
+_generated____1 [shape="box", label="generated__1\ninputargs: v6024\n\nv6025 = cast_pointer(v6024)\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v6025", style="solid", color="black", dir="forward", weight="5"];
+_generated____1 -> _generated____2
+_generated____2 [shape="box", label="generated__2\ninputargs: v6026\n\nv6027 = getfield(v6026, ('typeptr'))\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v6026 v6027", style="solid", color="black", dir="forward", weight="5"];
+_generated____2 -> _generated____3
+_generated____3 [shape="box", label="generated__3\ninputargs: v6030 v6028\n\nv6029 = cast_ptr_to_int(v6028)\l\lexitswitch: v6029", color="black", fillcolor="#e5ffff", style="filled", width="0.75"];
+edge [label="'default': v6028 v6030", style="dotted", color="red", dir="forward", weight="5"];
+_generated____3 -> _generated____4
+_generated____4 [shape="box", label="generated__4\ninputargs: v6035 v6039\n\nv6031 = getfield((<* struct ExcData { ex...=... }>), ('exc_type'))\lv6032 = getfield((<* struct ExcData { ex...=... }>), ('exc_value'))\lv6033 = setfield((<* struct ExcData { ex...=... }>), ('exc_type'), (<* None>))\lv6034 = setfield((<* struct ExcData { ex...=... }>), ('exc_value'), (<* None>))\lv6036 = direct_call((<* fn ll_continue_comp...blePtr>), (<* struct object { typ...=... }>), v6035)\lv6037 = setfield((<* struct ExcData { ex...=... }>), ('exc_type'), v6031)\lv6038 = setfield((<* struct ExcData { ex...=... }>), ('exc_value'), v6032)\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v6039 v6035", style="solid", color="black", dir="forward", weight="5"];
+_generated____4 -> _generated____3
+}
+}
\ No newline at end of file

Added: pypy/extradoc/talk/ep2007/pypy_10_and_jit/tlc2.dot
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/ep2007/pypy_10_and_jit/tlc2.dot	Mon Jul  9 12:38:32 2007
@@ -0,0 +1,90 @@
+digraph _generated__graph {
+subgraph _generated__ {
+_generated__ [shape="box", label="generated", color="black", fillcolor="#a5e6f0", style="filled", width="0.75"];
+edge [label="startblock", style="dashed", color="black", dir="forward", weight="5"];
+_generated__ -> _generated____1
+_generated____1 [shape="box", label="generated__1\ninputargs: v6024\n\nv6025 = cast_pointer(v6024)\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v6025", style="solid", color="black", dir="forward", weight="5"];
+_generated____1 -> _generated____2
+_generated____2 [shape="box", label="generated__2\ninputargs: v6026\n\nv6027 = getfield(v6026, ('typeptr'))\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v6026 v6027", style="solid", color="black", dir="forward", weight="5"];
+_generated____2 -> _generated____3
+_generated____3 [shape="octagon", label="generated__3\ninputargs: v6030 v6028\n\nv6029 = cast_ptr_to_int(v6028)\l\lexitswitch: v6029", color="red", fillcolor="#e5ffff", style="filled", width="0.75"];
+edge [label="-1219596420: v6028 v6030", style="dotted", color="red", dir="forward", weight="5"];
+_generated____3 -> _generated____4
+edge [label="'default': v6028 v6030", style="dotted", color="red", dir="forward", weight="5"];
+_generated____3 -> _generated____5
+_generated____4 [shape="box", label="generated__4\ninputargs: v10226 v10223\n\nv10224 = cast_pointer(v10223)\lv10225 = getfield(v10224, ('inst_value'))\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10225 v10223", style="solid", color="black", dir="forward", weight="5"];
+_generated____4 -> _generated____6
+_generated____6 [shape="box", label="generated__6\ninputargs: v10227 v10229\n\nv10228 = int_lt((1), v10227)\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10228 v10229", style="solid", color="black", dir="forward", weight="5"];
+_generated____6 -> _generated____7
+_generated____7 [shape="octagon", label="generated__7\ninputargs: v10230 v10231\n\n\lexitswitch: v10230", color="red", fillcolor="white", style="filled", width="0.75"];
+edge [label="False: (1)", style="dotted", color="red", dir="forward", weight="5"];
+_generated____7 -> _generated____8
+edge [label="True: v10231", style="dotted", color="red", dir="forward", weight="5"];
+_generated____7 -> _generated____9
+_generated____8 [shape="box", label="generated__8\ninputargs: v10236\n\nv10232 = malloc((GcStruct pypy.jit.tl.tlc.IntObj))\lv10233 = cast_pointer(v10232)\lv10234 = setfield(v10233, ('typeptr'), (<* struct object_vtabl...=... }>))\lv10235 = cast_pointer(v10233)\lv10237 = setfield(v10235, ('inst_value'), v10236)\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10233", style="solid", color="black", dir="forward", weight="5"];
+_generated____8 -> _generated____10
+_generated____10 [shape="box", label="generated__10\ninputargs: v10238\n\nv10239 = cast_pointer(v10238)\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10239", style="solid", color="black", dir="forward", weight="5"];
+_generated____10 -> _generated____11
+_generated____11 [shape="box", label="generated__11\ninputargs: v10240\n\nreturn v10240", color="black", fillcolor="green", style="filled", width="0.75"];
+_generated____9 [shape="box", label="generated__9\ninputargs: v10242\n\nv10241 = same_as((0))\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10242 v10241", style="solid", color="black", dir="forward", weight="5"];
+_generated____9 -> _generated____12
+_generated____12 [shape="box", label="generated__12\ninputargs: v10245 v10243\n\nv10244 = int_is_true(v10243)\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10244 v10245", style="solid", color="black", dir="forward", weight="5"];
+_generated____12 -> _generated____13
+_generated____13 [shape="octagon", label="generated__13\ninputargs: v10246 v10247\n\n\lexitswitch: v10246", color="red", fillcolor="white", style="filled", width="0.75"];
+edge [label="False: v10247", style="dotted", color="red", dir="forward", weight="5"];
+_generated____13 -> _generated____14
+edge [label="True: v10247", style="dotted", color="red", dir="forward", weight="5"];
+_generated____13 -> _generated____15
+_generated____14 [shape="box", label="generated__14\ninputargs: v10248\n\nv10249 = cast_pointer(v10248)\lv10250 = getfield(v10249, ('inst_value'))\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10250 v10248", style="solid", color="black", dir="forward", weight="5"];
+_generated____14 -> _generated____16
+_generated____16 [shape="box", label="generated__16\ninputargs: v10251 v10253\n\nv10252 = int_mul((1), v10251)\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10253 v10252", style="solid", color="black", dir="forward", weight="5"];
+_generated____16 -> _generated____17
+_generated____17 [shape="box", label="generated__17\ninputargs: v10254 v10257\n\nv10255 = cast_pointer(v10254)\lv10256 = getfield(v10255, ('inst_value'))\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10256 v10257 v10254", style="solid", color="black", dir="forward", weight="5"];
+_generated____17 -> _generated____18
+_generated____18 [shape="box", label="generated__18\ninputargs: v10258 v10260 v10261\n\nv10259 = int_sub(v10258, (1))\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10259 v10260 v10261", style="solid", color="black", dir="forward", weight="5"];
+_generated____18 -> _generated____19
+_generated____19 [shape="box", label="generated__19\ninputargs: v10262 v10264 v10265\n\nv10263 = int_lt((1), v10262)\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10263 v10264 v10262 v10265", style="solid", color="black", dir="forward", weight="5"];
+_generated____19 -> _generated____20
+_generated____20 [shape="octagon", label="generated__20\ninputargs: v10266 v10267 v10268 v10269\n\n\lexitswitch: v10266", color="red", fillcolor="white", style="filled", width="0.75"];
+edge [label="False: v10267", style="dotted", color="red", dir="forward", weight="5"];
+_generated____20 -> _generated____8
+edge [label="True: v10267 v10269 v10268", style="dotted", color="red", dir="forward", weight="5"];
+_generated____20 -> _generated____21
+_generated____21 [shape="box", label="generated__21\ninputargs: v10271 v10272 v10273\n\nv10270 = same_as((0))\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10272 v10271 v10273 v10270", style="solid", color="black", dir="forward", weight="5"];
+_generated____21 -> _generated____22
+_generated____22 [shape="box", label="generated__22\ninputargs: v10276 v10277 v10278 v10274\n\nv10275 = int_is_true(v10274)\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10275 v10277 v10278 v10276", style="solid", color="black", dir="forward", weight="5"];
+_generated____22 -> _generated____23
+_generated____23 [shape="octagon", label="generated__23\ninputargs: v10279 v10280 v10281 v10282\n\n\lexitswitch: v10279", color="red", fillcolor="white", style="filled", width="0.75"];
+edge [label="False: v10281 v10280 v10282", style="dotted", color="red", dir="forward", weight="5"];
+_generated____23 -> _generated____24
+edge [label="True: v10280", style="dotted", color="red", dir="forward", weight="5"];
+_generated____23 -> _generated____8
+_generated____24 [shape="box", label="generated__24\ninputargs: v10284 v10283 v10286\n\nv10285 = int_mul(v10283, v10284)\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10284 v10285 v10286", style="solid", color="black", dir="forward", weight="5"];
+_generated____24 -> _generated____25
+_generated____25 [shape="box", label="generated__25\ninputargs: v10287 v10289 v10290\n\nv10288 = int_sub(v10287, (1))\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10288 v10289 v10290", style="solid", color="black", dir="forward", weight="5"];
+_generated____25 -> _generated____19
+_generated____15 [shape="box", label="generated__15\ninputargs: v10292\n\nv10291 = same_as((1))\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v10291", style="solid", color="black", dir="forward", weight="5"];
+_generated____15 -> _generated____8
+_generated____5 [shape="box", label="generated__5\ninputargs: v6035 v6039\n\nv6031 = getfield((<* struct ExcData { ex...=... }>), ('exc_type'))\lv6032 = getfield((<* struct ExcData { ex...=... }>), ('exc_value'))\lv6033 = setfield((<* struct ExcData { ex...=... }>), ('exc_type'), (<* None>))\lv6034 = setfield((<* struct ExcData { ex...=... }>), ('exc_value'), (<* None>))\lv6036 = direct_call((<* fn ll_continue_comp...blePtr>), (<* struct object { typ...=... }>), v6035)\lv6037 = setfield((<* struct ExcData { ex...=... }>), ('exc_type'), v6031)\lv6038 = setfield((<* struct ExcData { ex...=... }>), ('exc_value'), v6032)\l", color="black", fillcolor="white", style="filled", width="0.75"];
+edge [label="v6039 v6035", style="solid", color="black", dir="forward", weight="5"];
+_generated____5 -> _generated____3
+}
+}
\ No newline at end of file



More information about the Pypy-commit mailing list