mirror of
https://github.com/FranzHaidnor/haidnorJVM.git
synced 2026-04-27 13:36:42 +00:00
update README.md
This commit is contained in:
@@ -529,10 +529,10 @@ public abstract class InstructionFactory {
|
|||||||
return new RET(codeStream);
|
return new RET(codeStream);
|
||||||
}
|
}
|
||||||
case Const.TABLESWITCH -> {
|
case Const.TABLESWITCH -> {
|
||||||
throw new Error("Not support JavaVM opcode TABLESWITCH");
|
return new TABLESWITCH(codeStream); // TODO
|
||||||
}
|
}
|
||||||
case Const.LOOKUPSWITCH -> {
|
case Const.LOOKUPSWITCH -> {
|
||||||
throw new Error("Not support JavaVM opcode LOOKUPSWITCH");
|
return new LOOKUPSWITCH(codeStream); // TODO
|
||||||
}
|
}
|
||||||
case Const.IRETURN -> {
|
case Const.IRETURN -> {
|
||||||
return new IRETURN(codeStream);
|
return new IRETURN(codeStream);
|
||||||
@@ -577,7 +577,7 @@ public abstract class InstructionFactory {
|
|||||||
return new INVOKEINTERFACE(codeStream);
|
return new INVOKEINTERFACE(codeStream);
|
||||||
}
|
}
|
||||||
case Const.INVOKEDYNAMIC -> {
|
case Const.INVOKEDYNAMIC -> {
|
||||||
throw new Error("Not support JavaVM opcode INVOKEDYNAMIC");
|
return new INVOKEDYNAMIC(codeStream); // TODO
|
||||||
}
|
}
|
||||||
case Const.NEW -> {
|
case Const.NEW -> {
|
||||||
return new NEW(codeStream);
|
return new NEW(codeStream);
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package haidnor.jvm.instruction.control;
|
||||||
|
|
||||||
|
import haidnor.jvm.instruction.Instruction;
|
||||||
|
import haidnor.jvm.runtime.Frame;
|
||||||
|
import haidnor.jvm.util.CodeStream;
|
||||||
|
|
||||||
|
public class LOOKUPSWITCH extends Instruction {
|
||||||
|
|
||||||
|
public LOOKUPSWITCH(CodeStream codeStream) {
|
||||||
|
super(codeStream);
|
||||||
|
throw new UnsupportedOperationException("LOOKUPSWITCH");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(Frame frame) {
|
||||||
|
throw new UnsupportedOperationException("LOOKUPSWITCH");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package haidnor.jvm.instruction.control;
|
||||||
|
|
||||||
|
import haidnor.jvm.instruction.Instruction;
|
||||||
|
import haidnor.jvm.runtime.Frame;
|
||||||
|
import haidnor.jvm.util.CodeStream;
|
||||||
|
|
||||||
|
public class TABLESWITCH extends Instruction {
|
||||||
|
|
||||||
|
public TABLESWITCH(CodeStream codeStream) {
|
||||||
|
super(codeStream);
|
||||||
|
throw new UnsupportedOperationException("TABLESWITCH");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(Frame frame) {
|
||||||
|
throw new UnsupportedOperationException("TABLESWITCH");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package haidnor.jvm.instruction.references;
|
||||||
|
|
||||||
|
import haidnor.jvm.instruction.Instruction;
|
||||||
|
import haidnor.jvm.runtime.Frame;
|
||||||
|
import haidnor.jvm.util.CodeStream;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
|
|
||||||
|
public class INVOKEDYNAMIC extends Instruction {
|
||||||
|
|
||||||
|
public INVOKEDYNAMIC(CodeStream codeStream) {
|
||||||
|
super(codeStream);
|
||||||
|
throw new UnsupportedOperationException("INVOKEDYNAMIC");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SneakyThrows
|
||||||
|
public void execute(Frame frame) {
|
||||||
|
throw new UnsupportedOperationException("INVOKEDYNAMIC");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user