summary refs log tree commit diff stats
path: root/compiler/vmgen.nim
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2014-06-30 19:39:57 +0200
committerAraq <rumpf_a@web.de>2014-06-30 19:39:57 +0200
commitb89495ef0f6bb60a3296fbaa7c4397dcd269f73d (patch)
treeed34f27dee3d1152d29711ee75f774f0d4e5cbfe /compiler/vmgen.nim
parent1d5938a0ef17923da9cbae0b838f312211a95b52 (diff)
downloadNim-b89495ef0f6bb60a3296fbaa7c4397dcd269f73d.tar.gz
corrected backends.txt
Diffstat (limited to 'compiler/vmgen.nim')
-rw-r--r--compiler/vmgen.nim7
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/vmgen.nim b/compiler/vmgen.nim
index b3f05c713..3819bed98 100644
--- a/compiler/vmgen.nim
+++ b/compiler/vmgen.nim
@@ -9,6 +9,13 @@
 
 ## This module implements the code generator for the VM.
 
+# Important things to remember:
+# - The VM does not distinguish between definitions ('var x = y') and
+#   assignments ('x = y'). For simple data types that fit into a register
+#   this doesn't matter. However it matters for strings and other complex
+#   types that use the 'node' field; the reason is that slots are
+#   re-used in a register based VM. XXX Come up with an example.
+
 import
   unsigned, strutils, ast, astalgo, types, msgs, renderer, vmdef, 
   trees, intsets, rodread, magicsys, options, lowerings