summaryrefslogtreecommitdiff
path: root/libguile/frames.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2015-11-12 21:16:33 +0100
committerAndy Wingo <wingo@pobox.com>2015-11-12 21:22:19 +0100
commit3e5d4131d2b8eecf72568bc94d626a7cdced7f5b (patch)
tree37d623419abba42239df7230a3410f9d2f2bf2d5 /libguile/frames.c
parent92ed7f69894316247e78c29b953bb59b5c3953d7 (diff)
downloadguile-3e5d4131d2b8eecf72568bc94d626a7cdced7f5b.tar.gz
Don't compile equal? to br-if-equal
* module/language/cps/compile-bytecode.scm (compile-function): * module/language/cps/primitives.scm (*branching-primcall-arities*): * module/language/cps/type-fold.scm (equal?): * module/language/cps/types.scm (equal?): * module/language/tree-il/compile-cps.scm (convert): `equal?' is no longer a branching primcall, because it isn't inline. The implementation could lead to bad backtraces also, as it didn't save the IP, and actually could lead to segfaults as it didn't reload the SP after the return. There is an eqv? fast-path, though. * module/system/vm/assembler.scm (br-if-equal): Remove interface. * module/system/vm/disassembler.scm (code-annotation): (compute-labels): No need to handle br-if-equal.
Diffstat (limited to 'libguile/frames.c')
0 files changed, 0 insertions, 0 deletions