Kann mir jemand diese IJVM Methode erklären?

1 Antwort

Das sieht anders aus als alles, was sich im Internet zu IJVM finden lässt. Ich könnte lediglich raten, was die Zahlen bedeuten könnten.

Die 3 könnte für die Zahl der Parameter stehen (this-Referenz, erstes Parameter und zweites Parameter) aber auch für die Maximalzahl der verwendeten lokalen Variablen (auch wenn der Store und Load nach/von 3 hier ziemlich unsinnig ist).

Wofür die 1 stehen soll weiß ich nicht. Stackgröße macht keinen Sinn, denn der Stack ist hier zwei groß.

Weitere Recherchen gaben mir folgendes:

https://www.studocu.com/de/document/universitat-mannheim/praktische-informatik-ii/blatt-08-handschriftliche-ubungsblattern-auf-deutsch-und-chinesisch/20486769

Ich zitiere:

; 3 arguments:0=OBJREF ,1=x , 2=y
; 1 local variable:3=sum (not really needed here ,for illustration \
purposes)
;returns result on top of stack
add 3 1
ILOAD 1
ILOAD 2
IADD
ISTORE 3
ILOAD 3
IRETURN

Demnach liege ich mit meiner vermutung bezüglich der Parameter richtig. Die zweite Zahl steht aber wohl für die zahl der lokalen Variablen (die Parameter werden hier nicht mitgezählt). Zudem ist das Load und das Store tatsächlich unnötig und hier nur zur Verdeutlichung vorhanden.