gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control systemdiff --git a/src/mjc2wsl.java b/src/mjc2wsl.java
--- a/src/mjc2wsl.java
+++ b/src/mjc2wsl.java
return res;
}
return res;
}
+ private String cmdPopEStack() {
+ String res = "mjvm_estack := TAIL(mjvm_estack);";
+ if (genPrintEStackOnChange) res +="PRINT(\"eStack\",mjvm_estack);";
+ return res;
+ }
+
+
private String getTopTwo(){
return cmdFromEStack("tempa") + "\n" + cmdFromEStack("tempb");
}
private String getTopTwo(){
return cmdFromEStack("tempa") + "\n" + cmdFromEStack("tempb");
}
break;
}
//TODO getfield, putfield
break;
}
//TODO getfield, putfield
+ case getfield:
+ case putfield:{
+ prl(createComment("fields are not processed properly", C_ERR));
+ message("fields are not processed properly", M_ERR);
+ get2();
+ break;
+ }
case const_: {
prl(cmdToEStack(get4()));
case const_: {
prl(cmdToEStack(get4()));
//TODO neg, shl, shr, inc
//TODO new_ newarray
//TODO neg, shl, shr, inc
//TODO new_ newarray
+ case new_ :
+ get();//needs a short, but a byte will be taken bellow as well
+ case newarray :{
+ prl(createComment("memory allocation not processed properly", C_ERR));
+ message("memory allocation not processed properly", M_ERR);
+ get();
+ break;
+ }
//TODO aload, asstore, baload, bastore
//TODO arraylength
//TODO aload, asstore, baload, bastore
//TODO arraylength
- //TODO pop, dup, dup2
+ //TODO dup, dup2
+
+ case pop : {
+ prl(cmdPopEStack());
+ break;
+ }
case jmp: {
prl("CALL a" + (counter + get2()) + ";");
case jmp: {
prl("CALL a" + (counter + get2()) + ";");