src/HOL/MicroJava/JVM/JVMExecInstr.thy
changeset 9550 19a6d1289f5e
parent 9376 c32c5696ec2a
child 10042 7164dc0d24d8
equal deleted inserted replaced
9549:40d64cb4f4e6 9550:19a6d1289f5e
    54 	     xp'	= raise_xcpt (\\<not> cast_ok G C hp oref) ClassCast; 
    54 	     xp'	= raise_xcpt (\\<not> cast_ok G C hp oref) ClassCast; 
    55 	     stk'	= if xp'=None then stk else tl stk
    55 	     stk'	= if xp'=None then stk else tl stk
    56 	 in
    56 	 in
    57       (xp', hp, (stk', vars, Cl, sig, pc+1)#frs))"
    57       (xp', hp, (stk', vars, Cl, sig, pc+1)#frs))"
    58 
    58 
    59  "exec_instr (Invoke mn ps) G hp stk vars Cl sig pc frs =
    59  "exec_instr (Invoke C mn ps) G hp stk vars Cl sig pc frs =
    60 	(let n		= length ps;
    60 	(let n		= length ps;
    61 	     argsoref	= take (n+1) stk;
    61 	     argsoref	= take (n+1) stk;
    62 	     oref	= last argsoref;
    62 	     oref	= last argsoref;
    63 	     xp'	= raise_xcpt (oref=Null) NullPointer;
    63 	     xp'	= raise_xcpt (oref=Null) NullPointer;
    64 	     dynT	= fst(the(hp(the_Addr oref)));
    64 	     dynT	= fst(the(hp(the_Addr oref)));