code: func newRuntimeVM(path string) RuntimeImpl {
  	logrus.Debug("oci.newRuntimeVM() start")
  	defer logrus.Debug("oci.newRuntimeVM() end")
  
  	// FIXME: We need to register those types for now, but this should be
  	// defined as a specific package that would be shared both by CRI-O and
  	// containerd. This would allow shim implementation to import a single
  	// package to do the proper registration.
  	const prefix = "types.containerd.io"
  	// register TypeUrls for commonly marshaled external types
  	major := strconv.Itoa(rspec.VersionMajor)
  	typeurl.Register(&rspec.Spec{}, prefix, "opencontainers/runtime-spec", major, "Spec")
  	typeurl.Register(&rspec.Process{}, prefix, "opencontainers/runtime-spec", major, "Process")
  	typeurl.Register(&rspec.LinuxResources{}, prefix, "opencontainers/runtime-spec", major, "LinuxResources")
  	typeurl.Register(&rspec.WindowsResources{}, prefix, "opencontainers/runtime-spec", major, "WindowsResources")
  
  	return &runtimeVM{
  		path: path,
  		ctx:  context.Background(),
  		ctrs: make(map[string]containerInfo),
  	}
  }
docs: // newRuntimeVM creates a new runtimeVM instance