[pypy-commit] extradoc extradoc: hopefully make this clearer

gutworth noreply at buildbot.pypy.org
Wed Mar 7 18:51:17 CET 2012


Author: Benjamin Peterson <benjamin at python.org>
Branch: extradoc
Changeset: r4132:94a9d12b04c9
Date: 2012-03-07 11:50 -0600
http://bitbucket.org/pypy/extradoc/changeset/94a9d12b04c9/

Log:	hopefully make this clearer

diff --git a/talk/pycon2012/jit/slides.tex b/talk/pycon2012/jit/slides.tex
--- a/talk/pycon2012/jit/slides.tex
+++ b/talk/pycon2012/jit/slides.tex
@@ -207,6 +207,7 @@
 \begin{verbatim}
 # arguments to loop
 [p0, p1, p2, p3, i4, p5, i6, i7, p8, p9, p10, p11, p12, p13]
+# while i < limit
 #25 LOAD_FAST
 guard_value(i6, 3)
 guard_nonnull(p10)
@@ -228,12 +229,13 @@
 \begin{frame}[fragile]{JIT IR example - computing modulo}
 \footnotesize{
 \begin{verbatim}
+# n % i
 #37 LOAD_FAST
 guard_nonnull(p8)
 #40 LOAD_FAST
 #43 BINARY_MODULO
 guard_class(p8, W_IntObject)
-i22 = getfield_gc_pure(p8, <W_IntObject.inst_intval>)
+i22 = ((W_IntObject)p8)->inst_intval)
 i23 = int_is_zero(i18)
 guard_false(i23)
 i25 = int_eq(i22, -9223372036854775808)
@@ -245,7 +247,7 @@
 i31 = int_and(i18, i30)
 i32 = int_add(i26, i31)
 p34 = new_with_vtable(W_IntObject)
-setfield_gc(p34, i32, <W_IntObject.inst_intval>)
+((W_IntObject)p34)->inst_intval = i32
 \end{verbatim}
 }
 \end{frame}
@@ -253,6 +255,7 @@
 \begin{frame}[fragile]{JIT IR example - check modulo}
 \footnotesize{
 \begin{verbatim}
+# if <modulo> == 0:
 #44 LOAD_CONST
 guard_value(p3, ConstPtr(ptr35))
 #47 COMPARE_OP')
@@ -266,14 +269,15 @@
 \begin{frame}[fragile]{JIT IR example - finish loop}
 \footnotesize{
 \begin{verbatim}
+# i += 1
 #57 LOAD_FAST
 #60 LOAD_FAST
 #63 INPLACE_ADD
-i38 = getfield_gc_pure(p10, <W_IntObject.inst_intval>)
+i38 = ((W_IntObject)p10)->inst_intval
 i40 = int_add_ovf(i38, 1)
 guard_no_overflow()
 p42 = new_with_vtable(W_IntObject)
-setfield_gc(p42, i40, <W_IntObject.inst_intval>)
+((W_IntObject)p42)->inst_inval = i40
 #64 STORE_FAST
 #67 JUMP_ABSOLUTE
 \end{verbatim}


More information about the pypy-commit mailing list