Versteht jemand, was diese beiden Zahlen bei dem IJVM Code zu bedeuten haben?

berserkerdq2

Bekanntes Mitglied
1659892310553.png
Ich verstehe, dass ich die Methode add aufrufe oben, aber wass ist dann dieses 3 und 1 neben add, beziehungsweise, warum schreibe ich das mit?
 
Aber mit dem Kommentar ist alles klar? Die Werte sind ja auf dem Stack:
  • die Parameter - das sind 3 Stück. (die OBJREF und die 2 Parameter, die da übergeben werden sollen)
  • die lokalen Variablen - da will man eine haben.
==> 3 1

Und die Elemente auf dem Stack sind durchnummeriert: Erst die Parameter (0, 1 und 2) und dann die lokalen Variablen (3)
 
Aber mit dem Kommentar ist alles klar? Die Werte sind ja auf dem Stack:
  • die Parameter - das sind 3 Stück. (die OBJREF und die 2 Parameter, die da übergeben werden sollen)
  • die lokalen Variablen - da will man eine haben.
==> 3 1

Und die Elemente auf dem Stack sind durchnummeriert: Erst die Parameter (0, 1 und 2) und dann die lokalen Variablen (3)
Achsoo, danke!

Was ich mich jedoch noch frage, wir machen bipush 4 und bipush 2, dadurch wird automatisch x=4 und y=2 angelegt, aber müsste man das zuvor nicht bestimmen? Also irgendwie sagen, dass x=4 ist und y=2? Inwiefern passiert das automatisch?
 
Vielleicht willst Du Dir einfach einmal folgenden Link ansehen:
==> Da wird sehr anschaulich gezeigt, wo was auf dem Stack landet.

Verwirrend mag sein, dass es bei ijvm mehrere Spezifikationen gibt. Die Seite oben nutzt bei der Angabe von Methoden eine andere Notation als das, was Du nutzt.

Was Du nutzt dürfte das nutzen. was Andrew Tannenbaum mit mic1 erstellt hat. Du scheinst als Interpreter auf
zurück zu greifen und nicht auf die Variante, die ich im anderen Thread von Dir benutzt habe.

Aber der Ablauf / Reihenfolge ist gleich.
 

Zurück
Oben