private static ExecutionContext buildInitializedContext( VirtualMachine vm, String methodSignature, VMState state) { VirtualMethod method = vm.getClassManager().getMethod(methodSignature); ExecutionContext context = vm.spawnRootContext(method); int registerCount = context.getMethodState().getRegisterCount(); setupMethodState(context, state.getRegisters(), registerCount); setupClassStates(context, vm, state.getFields()); return context; }
@Override public void execute(ExecutionNode node, ExecutionContext ectx) { HeapItem item = vm.getStaticFieldAccessor().getField(ectx, fieldDescriptor); MethodState mState = ectx.getMethodState(); mState.assignRegister(destRegister, item); }