Quick Search:

Mode

Context

Displaying 3 lines of context. None | Less | More | Full

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.66
 
1.67
 
MAIN:ragge:20120908155821
 
code.c
_>920920 {
 921921         return 0;
 922922 }
<_ 923+
  924+/*
  925+ * Return return as given by a.
  926+ */
  927+NODE *
  928+builtin_return_address(const struct bitable *bt, NODE *a)
  929+{
  930+        int nframes;
  931+        NODE *f;
  932+
  933+        nframes = a->n_lval;
  934+        tfree(a);
  935+
  936+        f = block(REG, NIL, NIL, PTR+VOID, 0, 0);
  937+        regno(f) = FPREG;
  938+
  939+        while (nframes--)
  940+                f = block(UMUL, f, NIL, PTR+VOID, 0, 0);
  941+
  942+        f = block(PLUS, f, bcon(8), INCREF(PTR+VOID), 0, 0);
  943+        f = buildtree(UMUL, f, NIL);
  944+
  945+        return f;
  946+}
  947+
  948+/*
  949+ * Return frame as given by a.
  950+ */
  951+NODE *
  952+builtin_frame_address(const struct bitable *bt, NODE *a)
  953+{
  954+        int nframes;
  955+        NODE *f;
  956+
  957+        nframes = a->n_lval;
  958+        tfree(a);
  959+
  960+        f = block(REG, NIL, NIL, PTR+VOID, 0, 0);
  961+        regno(f) = FPREG;
  962+
  963+        while (nframes--)
  964+                f = block(UMUL, f, NIL, PTR+VOID, 0, 0);
  965+
  966+        return f;
  967+}
  968+
  969+/*
  970+ * Return "canonical frame address".
  971+ */
  972+NODE *
  973+builtin_cfa(const struct bitable *bt, NODE *a)
  974+{
  975+        NODE *f;
  976+
  977+        f = block(REG, NIL, NIL, PTR+VOID, 0, 0);
  978+        regno(f) = FPREG;
  979+        return block(PLUS, f, bcon(16), INCREF(PTR+VOID), 0, 0);
  980+}
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-09-19 01:45 +0200