diff options
author | Andy Wingo <wingo@pobox.com> | 2018-07-25 13:08:05 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-07-29 15:47:07 +0200 |
commit | a6b5049aa8476408e452603bf2171789ddaac9ea (patch) | |
tree | 82403072a3c1a9ead85b8f4be4dbbf9725efd004 /module/Makefile.am | |
parent | 87da1c8d20591a9a7dad28eb106161c4f508a2b6 (diff) | |
download | guile-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.am | 2 |
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 \ |