«« ( Date ) »» // «« ( Thread ) »» // ri4pp - 2005

Re: zna li neko zasto je ovo ovako

by Marko Ninkovic
petak, 08. jul 2005 - 10:22.

Dana Fri, 08 Jul 2005 09:13:27 +0200, Aleksandar Vujic <aleksandar.vujic@gmail.com> napisa:

Jeste li sigurni u vezi ovoga? U Run.java (VM) piše:

case enter:
int psize = next(true);
int lsize = next(true);
PUSH(fp);
fp = sp;
for (i = 0; i < lsize; i++) PUSH(0);
for (i = psize - 1; i >= 0; i--) local[fp + i] = pop();
break;


Da, nisi u pravu.

Na Proc steku stoji aktivacioni zapis za metodu koji ima rezervisano lsize reci za parametre i lokalne promenljive. (prva for petlja)
Prvih psize reci su stvarni parametri koje druga for petlja skida sa Expression steka, a ostalih (lsize-psize), koje je prva for petlja inicijalizovala na 0, su lokalne promenljive.

Dakle: enter 2,3