src/HOL/MicroJava/JVM/JVMInstructions.thy
changeset 10897 697fab84709e
parent 10591 6d6cb845e841
child 12519 a955fe2879ba
equal deleted inserted replaced
10896:23386a5b63eb 10897:697fab84709e
    11 
    11 
    12 
    12 
    13 datatype 
    13 datatype 
    14   instr = Load nat                  (* load from local variable *)
    14   instr = Load nat                  (* load from local variable *)
    15         | Store nat                 (* store into local variable *)
    15         | Store nat                 (* store into local variable *)
    16         | Bipush int                (* push int *)
    16         | LitPush val               (* push a literal (constant) *)
    17         | Aconst_null               (* push null *)
       
    18         | New cname                 (* create object *)
    17         | New cname                 (* create object *)
    19         | Getfield vname cname	  	(* Fetch field from object *)
    18         | Getfield vname cname	  	(* Fetch field from object *)
    20         | Putfield vname cname		  (* Set field in object     *)
    19         | Putfield vname cname		  (* Set field in object     *)
    21         | Checkcast cname	          (* Check whether object is of given type *)
    20         | Checkcast cname	          (* Check whether object is of given type *)
    22         | Invoke cname mname "(ty list)"  (* inv. instance meth of an object *)
    21         | Invoke cname mname "(ty list)"  (* inv. instance meth of an object *)