mirror of
https://github.com/FranzHaidnor/haidnorJVM.git
synced 2026-03-13 21:43:42 +08:00
update
This commit is contained in:
@@ -5,7 +5,7 @@ import haidnor.jvm.classloader.JVMClassLoader;
|
||||
import haidnor.jvm.core.JavaExecutionEngine;
|
||||
import haidnor.jvm.rtda.Metaspace;
|
||||
import haidnor.jvm.runtime.JVMThread;
|
||||
import haidnor.jvm.util.JVMThreadHolder;
|
||||
import haidnor.jvm.core.JVMThreadHolder;
|
||||
import lombok.SneakyThrows;
|
||||
import org.apache.commons.cli.*;
|
||||
|
||||
@@ -84,7 +84,8 @@ public class HaidnorJVM {
|
||||
public static void testRun(Class<?> mainClass) {
|
||||
JVMThreadHolder.set(new JVMThread());
|
||||
JVMClassLoader bootClassLoader = new JVMClassLoader("ApplicationClassLoader");
|
||||
JavaClass mainMeteKlass = bootClassLoader.loadWithClassPath(mainClass.getName().replace('.', '/'));
|
||||
JavaExecutionEngine.callMain(mainMeteKlass);
|
||||
JavaClass javaClass = bootClassLoader.loadWithClassPath(mainClass.getName().replace('.', '/'));
|
||||
JavaExecutionEngine.callMain(javaClass);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package haidnor.jvm.util;
|
||||
package haidnor.jvm.core;
|
||||
|
||||
|
||||
import haidnor.jvm.bcel.classfile.Code;
|
||||
@@ -1,4 +1,4 @@
|
||||
package haidnor.jvm.util;
|
||||
package haidnor.jvm.core;
|
||||
|
||||
import haidnor.jvm.runtime.JVMThread;
|
||||
|
||||
@@ -9,8 +9,6 @@ import haidnor.jvm.instruction.control.ReturnableInstruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.JVMThread;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.util.JVMThreadHolder;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package haidnor.jvm.instruction;
|
||||
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import haidnor.jvm.instruction.math.*;
|
||||
import haidnor.jvm.instruction.references.*;
|
||||
import haidnor.jvm.instruction.stack.*;
|
||||
import haidnor.jvm.instruction.stores.*;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public abstract class InstructionFactory {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* @author wang xiang
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* @author wang xiang
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
/**
|
||||
* @author wang xiang
|
||||
*/
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
/**
|
||||
* @author wang xiang
|
||||
*/
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class IFEQ extends Instruction {
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class IFGE extends Instruction {
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class IFGT extends Instruction {
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class IFLE extends Instruction {
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class IFLT extends Instruction {
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class IFNE extends Instruction {
|
||||
/**
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
/**
|
||||
* @author wang xiang
|
||||
*/
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
/**
|
||||
* @author wang xiang
|
||||
*/
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* Java VM opcode.
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* Java VM opcode.
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* Java VM opcode.
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* Java VM opcode.
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* Java VM opcode.
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* Java VM opcode.
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.comparisons;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class LCMP extends Instruction {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import haidnor.jvm.bcel.Const;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class ACONST_NULL extends Instruction {
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,7 +5,7 @@ import haidnor.jvm.bcel.classfile.*;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,7 +8,7 @@ import haidnor.jvm.bcel.classfile.ConstantPool;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* 将 long 或 double 型常量从常量池中推送至栈顶 (宽索引)
|
||||
|
||||
@@ -5,7 +5,7 @@ import haidnor.jvm.bcel.classfile.*;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.constants;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* Java VM opcode.
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.constants;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,8 +2,8 @@ package haidnor.jvm.instruction.control;
|
||||
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.util.JVMThreadHolder;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.core.JVMThreadHolder;
|
||||
|
||||
public class ARETURN extends ReturnableInstruction {
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ package haidnor.jvm.instruction.control;
|
||||
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.util.JVMThreadHolder;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.core.JVMThreadHolder;
|
||||
|
||||
public class DRETURN extends ReturnableInstruction {
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ package haidnor.jvm.instruction.control;
|
||||
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.util.JVMThreadHolder;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.core.JVMThreadHolder;
|
||||
|
||||
public class FRETURN extends ReturnableInstruction {
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ package haidnor.jvm.instruction.control;
|
||||
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.util.JVMThreadHolder;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.core.JVMThreadHolder;
|
||||
|
||||
public class IRETURN extends ReturnableInstruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.control;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class LOOKUPSWITCH extends Instruction {
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ package haidnor.jvm.instruction.control;
|
||||
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.util.JVMThreadHolder;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.core.JVMThreadHolder;
|
||||
|
||||
public class LRETURN extends ReturnableInstruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.control;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* RET(Return)指令是 Java 虚拟机中的一条指令,用于从方法中返回并将控制流转移到调用该方法的位置。
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package haidnor.jvm.instruction.control;
|
||||
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.util.JVMThreadHolder;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.core.JVMThreadHolder;
|
||||
|
||||
public class RETURN extends ReturnableInstruction {
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package haidnor.jvm.instruction.control;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* return 系列字节码指令的抽象类
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.control;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class TABLESWITCH extends Instruction {
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class D2F extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class D2I extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class D2L extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class F2D extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class F2I extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class F2L extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* JVM中的I2B指令是用于执行将整数类型(int)转换为字节类型(byte)的指令。该指令将一个int类型的数值从操作数栈中弹出,并将其转换为一个字节(byte)。
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* char 类型的数据是以 int 形式存在的,因此不需要做任何处理
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class I2D extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class I2F extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class I2L extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class I2S extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class L2D extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class L2F extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.conversions;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class L2I extends Instruction {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.extended;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
/**
|
||||
* Java VM opcode.
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.extended;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class GOTO_W extends Instruction {
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.extended;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class IFNONNULL extends Instruction {
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.extended;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class IFNULL extends Instruction {
|
||||
/**
|
||||
|
||||
@@ -2,7 +2,7 @@ package haidnor.jvm.instruction.extended;
|
||||
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class MULTIANEWARRAY extends Instruction {
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import haidnor.jvm.instruction.loads.*;
|
||||
import haidnor.jvm.instruction.math.IINC;
|
||||
import haidnor.jvm.instruction.stores.*;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
public class WIDE extends Instruction {
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.rtda.Instance;
|
||||
import haidnor.jvm.rtda.InstanceArray;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
|
||||
public class AALOAD extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
public class ALOAD_0 extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
public class ALOAD_1 extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
public class ALOAD_2 extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
public class ALOAD_3 extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.rtda.BasicTypeArray;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
|
||||
public class BALOAD extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.rtda.BasicTypeArray;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
|
||||
public class CALOAD extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.rtda.BasicTypeArray;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
|
||||
public class DALOAD extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
public class DLOAD_0 extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
public class DLOAD_1 extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
public class DLOAD_2 extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
public class DLOAD_3 extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.rtda.BasicTypeArray;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
|
||||
public class FALOAD extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
public class FLOAD_0 extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
public class FLOAD_1 extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
public class FLOAD_2 extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
public class FLOAD_3 extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.rtda.BasicTypeArray;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
|
||||
|
||||
public class IALOAD extends Instruction {
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@ package haidnor.jvm.instruction.loads;
|
||||
import haidnor.jvm.instruction.Instruction;
|
||||
import haidnor.jvm.runtime.Frame;
|
||||
import haidnor.jvm.runtime.StackValue;
|
||||
import haidnor.jvm.util.CodeStream;
|
||||
import haidnor.jvm.core.CodeStream;
|
||||
import haidnor.jvm.bcel.Const;
|
||||
|
||||
/**
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user