summaryrefslogtreecommitdiff
path: root/module/Makefile.am
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-07-25 13:08:05 +0200
committerAndy Wingo <wingo@pobox.com>2018-07-29 15:47:07 +0200
commita6b5049aa8476408e452603bf2171789ddaac9ea (patch)
tree82403072a3c1a9ead85b8f4be4dbbf9725efd004 /module/Makefile.am
parent87da1c8d20591a9a7dad28eb106161c4f508a2b6 (diff)
downloadguile-a6b5049aa8476408e452603bf2171789ddaac9ea.tar.gz
Emit instrument-loop in loops.
* am/bootstrap.am (SOURCES): * module/Makefile.am (SOURCES): Handle renamve of handle-interrupts.scm to loop-instrumentation.scm. * libguile/jit.h (SCM_JIT_COUNTER_ENTRY_INCREMENT): Rename from SCM_JIT_COUNTER_CALL_INCREMENT. * libguile/vm-engine.c (instrument-entry): Rename from instrument-call. * module/language/cps/compile-bytecode.scm (compile-function): Add handle-interrupts code before calls and returns. Compile the "instrument-loop" primcall to an "instrument-loop" instruction and a "handle-interrupts" instruction. (lower-cps): Adapt to add-loop-instrumentation name change. * module/language/cps/loop-instrumentation.scm: Rename from handle-interrupts.scm and just add "instrument-loop" primcalls in loops. The compiler will add handle-interrupts primcalls as appropriate. * module/system/vm/assembler.scm (<jit-data>): New data type, for emitting embedded JIT data. (<meta>): Add field for current JIT data. (make-meta): Initialize current JIT data. (emit-instrument-entry*, emit-instrument-loop*): New instruction emitters that reference the current JIT data. (end-program): Now that all labels are known, arrange to serialize the JIT data. (link-data): Reserve space for JIT data, and add relocs to initialize the "start" / "end" fields.
Diffstat (limited to 'module/Makefile.am')
-rw-r--r--module/Makefile.am2
1 files changed, 1 insertions, 1 deletions
diff --git a/module/Makefile.am b/module/Makefile.am
index 3d105f11b..8c43ff59e 100644
--- a/module/Makefile.am
+++ b/module/Makefile.am
@@ -136,10 +136,10 @@ SOURCES = \
language/cps/dce.scm \
language/cps/devirtualize-integers.scm \
language/cps/effects-analysis.scm \
- language/cps/handle-interrupts.scm \
language/cps/intmap.scm \
language/cps/intset.scm \
language/cps/licm.scm \
+ language/cps/loop-instrumentation.scm \
language/cps/optimize.scm \
language/cps/peel-loops.scm \
language/cps/prune-top-level-scopes.scm \