update README.md

This commit is contained in:
wangxiang
2023-07-26 09:35:32 +08:00
parent d7fdc95cf9
commit 390cc1559a
5 changed files with 68 additions and 624 deletions

627
README.md

File diff suppressed because it is too large Load Diff

View File

@@ -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);

View File

@@ -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");
}
}

View File

@@ -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");
}
}

View File

@@ -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");
}
}