summaryrefslogtreecommitdiffstatshomepage
path: root/py
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-12-28 07:44:09 +0200
committerDamien George <damien.p.george@gmail.com>2014-12-29 00:07:47 +0000
commit23f1b5ff66d94400ed629487d0893946cdf0a175 (patch)
tree7852be2a2a95b95f01b3ffeb4531621c0994a4b9 /py
parent96e22154d7fbdd4fe5a130ed8c009647d747b79d (diff)
downloadmicropython-23f1b5ff66d94400ed629487d0893946cdf0a175.tar.gz
micropython-23f1b5ff66d94400ed629487d0893946cdf0a175.zip
py: Add note about -fno-crossjumping when compiling vm.c.
Diffstat (limited to 'py')
-rw-r--r--py/py.mk8
1 files changed, 8 insertions, 0 deletions
diff --git a/py/py.mk b/py/py.mk
index 99fc0223ce..f54c06cbcf 100644
--- a/py/py.mk
+++ b/py/py.mk
@@ -162,3 +162,11 @@ $(PY_BUILD)/gc.o: CFLAGS += $(CSUPEROPT)
# optimising vm for speed, adds only a small amount to code size but makes a huge difference to speed (20% faster)
$(PY_BUILD)/vm.o: CFLAGS += $(CSUPEROPT)
+# Optimizing vm.o for modern deeply pipelined CPUs with branch predictors
+# may require disabling tail jump optimization. This will make sure that
+# each opcode has its own dispatching jump which will improve branch
+# branch predictor efficiency.
+# http://article.gmane.org/gmane.comp.lang.lua.general/75426
+# http://hg.python.org/cpython/file/b127046831e2/Python/ceval.c#l828
+# http://www.emulators.com/docs/nx25_nostradamus.htm
+#-fno-crossjumping