diff options
Diffstat (limited to 'src/cmd/gc/subr.c')
-rw-r--r-- | src/cmd/gc/subr.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c index 2df3fc168..87bd2f20a 100644 --- a/src/cmd/gc/subr.c +++ b/src/cmd/gc/subr.c @@ -880,6 +880,11 @@ Jconv(Fmt *fp) strncat(buf, buf1, sizeof(buf)); } + if(n->xoffset != 0) { + snprint(buf1, sizeof(buf1), " x(%lld)", n->xoffset); + strncat(buf, buf1, sizeof(buf)); + } + if(n->class != 0) { snprint(buf1, sizeof(buf1), " class(%d)", n->class); strncat(buf, buf1, sizeof(buf)); @@ -890,6 +895,12 @@ Jconv(Fmt *fp) strncat(buf, buf1, sizeof(buf)); } + if(n->funcdepth != 0) { + snprint(buf1, sizeof(buf1), " f(%d)", n->funcdepth); + strncat(buf, buf1, sizeof(buf)); + } + + return fmtstrcpy(fp, buf); } @@ -2070,6 +2081,8 @@ ullmancalc(Node *n) case OLITERAL: case ONAME: ul = 1; + if(n->class == PPARAMREF || (n->class & PHEAP)) + ul++; goto out; case OCALL: case OCALLMETH: |