From d533cf6910b5ac9e99bb575f5550292b029280ff Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Tue, 9 May 2017 21:44:26 +0000 Subject: [PATCH] Use double_type as ptr type for UDF inlines Cannot use common_type as it leads to segfaults when running the gcbench benchmark. There must be an alignment problem or such that seems to work most of the time but is ultimately unstable. --- scheme/cyclone/primitives.sld | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scheme/cyclone/primitives.sld b/scheme/cyclone/primitives.sld index bf0749a2..d4db074f 100644 --- a/scheme/cyclone/primitives.sld +++ b/scheme/cyclone/primitives.sld @@ -698,11 +698,11 @@ ;; Determine if primitive receives a pointer to a local C variable (define (prim/c-var-pointer p) (cond - ((eq? p 'Cyc-fast-plus) "common_type") - ((eq? p 'Cyc-fast-sub) "common_type") - ((eq? p 'Cyc-fast-mul) "common_type") - ((eq? p 'Cyc-fast-div) "common_type") - ((member p *udf-prims*) "common_type") + ((eq? p 'Cyc-fast-plus) "double_type") + ((eq? p 'Cyc-fast-sub) "double_type") + ((eq? p 'Cyc-fast-mul) "double_type") + ((eq? p 'Cyc-fast-div) "double_type") + ((member p *udf-prims*) "double_type") (else #f))) ;; Determine if primitive assigns (allocates) a C variable