Author: Armin Rigo <[email protected]> Branch: extradoc Changeset: r5631:2645adce9224 Date: 2016-04-06 08:05 +0300 http://bitbucket.org/pypy/extradoc/changeset/2645adce9224/
Log: tweaks diff --git a/talk/bucharest2016/jit-backend-8vhY1ArTsh.txt b/talk/bucharest2016/jit-backend-8vhY1ArTsh.txt --- a/talk/bucharest2016/jit-backend-8vhY1ArTsh.txt +++ b/talk/bucharest2016/jit-backend-8vhY1ArTsh.txt @@ -1,4 +1,6 @@ -pypy's assembler backend +======================== +PyPy's assembler backend +======================== input: linear sequence of instructions, called a "trace". @@ -76,9 +78,9 @@ ## GC pointers -Around most CALL instructions, we need to record a description of where the GC pointers are (registers and stack frame). This is needed in case the CALL invokes a garbage collection. The GC pointers can move; the positions in the registers and stack frame are fixed by the GC. That's a reason for why we don't have explicit interior pointers. +Around most CALL instructions, we need to record a description of where the GC pointers are (registers and stack frame). This is needed in case the CALL invokes a garbage collection. The GC pointers can move; the pointers in the registers and stack frame are updated by the GC. That's a reason for why we don't have explicit interior pointers. -GC pointers can appear as constants in the trace. We are busy changing that to use a constant table and MOV REG, (%RIP+offset). The "constant" table can actually change if the GC objects move. +GC pointers can appear as constants in the trace. We are busy changing that to use a constant table and MOV REG, (%RIP+offset). The "constant" in the table is actually updated by the GC if the object move. ## Vectorization _______________________________________________ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
