[pypy-commit] pypy ppc-jit-backend: added new layout for PyPy stackframes

hager noreply at buildbot.pypy.org
Thu Dec 1 14:41:16 CET 2011


Author: hager <sven.hager at uni-duesseldorf.de>
Branch: ppc-jit-backend
Changeset: r50037:cfa0b6e8653e
Date: 2011-12-01 14:40 +0100
http://bitbucket.org/pypy/pypy/changeset/cfa0b6e8653e/

Log:	added new layout for PyPy stackframes

diff --git a/pypy/jit/backend/ppc/ppcgen/test/test_stackframe.py b/pypy/jit/backend/ppc/ppcgen/test/test_stackframe.py
new file mode 100644
--- /dev/null
+++ b/pypy/jit/backend/ppc/ppcgen/test/test_stackframe.py
@@ -0,0 +1,45 @@
+"""
+
+                PyPy PPC Stackframe
+
+
+            ---------------------------         --
+            |                         |          |
+            |      FPR SAVE AREA      |          |>> len(NONVOLATILES_FPR) * WORD
+            |                         |          |
+            ---------------------------         --
+            |                         |          |
+            |      GPR SAVE AREA      |          |>> len(NONVOLATILES) * WORD
+            |                         |          |
+            ---------------------------         --
+            |                         |          |
+            |   FLOAT/INT CONVERSION  |          |>> ? * WORD
+            |                         |          |
+            ---------------------------         --
+            |                         |          |
+            |       SPILLING AREA     |          |>> regalloc.frame_manager.frame_depth * WORD
+            |  (LOCAL VARIABLE SPACE) |          |
+            ---------------------------         --
+            |                         |          |
+            |      ENCODING AREA      |          |>> len(MANAGED_REGS) * WORD
+            |      (ALLOCA AREA)      |          |
+            ---------------------------         --
+            |                         |          |
+            |   PARAMETER SAVE AREA   |          |>> use MAX(number of parameters 
+            |                         |          |   passed on stack in emit_call) * WORD
+            ---------------------------         --  
+            |        TOC POINTER      | WORD     |
+            ---------------------------          |
+            |       < RESERVED >      | WORD     |
+            ---------------------------          |
+            |       < RESERVED >      | WORD     |
+            ---------------------------          |>> 6 WORDS
+            |         SAVED LR        | WORD     |
+            ---------------------------          |
+            |         SAVED CR        | WORD     |
+            ---------------------------          |
+            |        BACK CHAIN       | WORD     |
+     SP ->  ---------------------------         --
+
+
+"""


More information about the pypy-commit mailing list