txt: ## vm.md
  class VM
  
  Raku Virtual Machine related information
  
  ```raku
  class VM does Systemic { }
  ```
  
  Built-in class for providing information about the virtual machine in which Raku is running. Usually accessed through the [$\*VM](/language/variables#index-entry-%24*VM) dynamic variable.
  
  # [Methods](#class_VM "go to top of document")[§](#Methods "direct link")
  
  ## [method osname](#class_VM "go to top of document")[§](#method_osname "direct link")
  
  ```raku
  multi method osname(VM:U:)
  multi method osname(VM:D:)
  ```
  
  Instance / Class method returning the name of the Operating System, as known by the configuration of the VM object / currently running virtual machine.
  
  ## [method precomp-ext](#class_VM "go to top of document")[§](#method_precomp-ext "direct link")
  
  Instance method returning a string of the extension that should be used for precompiled files of the VM object.
  
  ## [method precomp-target](#class_VM "go to top of document")[§](#method_precomp-target "direct link")
  
  Instance method returning a string of the value of the compilation target that should be used when precompiling source-files with the VM object.
  
  ## [method prefix](#class_VM "go to top of document")[§](#method_prefix "direct link")
  
  Instance method returning a string of the path in which the virtual machine of the VM object is installed.
  
  ## [method request-garbage-collection](#class_VM "go to top of document")[§](#method_request-garbage-collection "direct link")
  
  Available as of the 2020.05 release of the Rakudo compiler.
  
  Class method that tells the virtual machine on which Raku is running, to perform a garbage collect run when possible. Issues a warning if such a request is not supported by the virtual machine.
  
  Provides no guarantee that the process will actually use less memory after a garbage collect. In fact, calling this method repeatedly, may actually cause more memory to be used due to memory fragmentation.
  
  Mainly intended as a debugging aid for module / core developers.
  
  # [Typegraph](# "go to top of document")[§](#typegraphrelations "direct link")
  
  Type relations for `VM`
  
  
  
  raku-type-graph
  
  
  
  VM
  VM
  
  
  Any
  Any
  
  
  VM->Any
  
  
  
  Systemic
  Systemic
  
  
  VM->Systemic
  
  
  
  Mu
  Mu
  
  
  Any->Mu
  
  [Expand chart above](/assets/typegraphs/VM.svg)
  