IRETURN non fa nessun assegnamento a TOS poiche' lo stack viene considerato inizialmente vuoto come era stato detto. Il comando IRETURN presuppone che alla fine del metodo in TOS sia contenuto il top dello stack (relativo al Local Varible Frame utilizzato dal metodo),quindi non e' IRETURN ad occuparsi di mantenere l'invariante su TOS (cioe' che TOS contenga la testa dello stack), ma e' il metodo stesso invocato che alla fine della sua esecuzione inserira' in TOS la testa dello stack relativo al Local Variable Frame su cui ha operato. Infine c'e' da dire che il metodo invocato lavora supponendo lo stack vuoto, quindi come prima istruzione non potra' essere utilizzato un comando che prevede l'utilizzo della variabile contenuta in TOS.