From ac405df3f196d58f6a5a2003afd8f48f490300df Mon Sep 17 00:00:00 2001 From: Stas Boukarev Date: Sun, 2 Jun 2013 23:18:20 +0400 Subject: [PATCH] Make %coerce-callable-to-fun static on x86oids. It's called a lot when doing funcall or apply. --- src/compiler/x86-64/parms.lisp | 3 ++- src/compiler/x86-64/subprim.lisp | 2 ++ src/compiler/x86/parms.lisp | 3 ++- src/compiler/x86/subprim.lisp | 2 ++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/compiler/x86-64/parms.lisp b/src/compiler/x86-64/parms.lisp index 7d90673..8d14f7e 100644 --- a/src/compiler/x86-64/parms.lisp +++ b/src/compiler/x86-64/parms.lisp @@ -203,7 +203,8 @@ sb!kernel:two-arg-ior sb!kernel:two-arg-xor sb!kernel:two-arg-gcd - sb!kernel:two-arg-lcm)) + sb!kernel:two-arg-lcm + sb!kernel:%coerce-callable-to-fun)) #!+sb-simd-pack (defvar *simd-pack-element-types* '(integer single-float double-float)) diff --git a/src/compiler/x86-64/subprim.lisp b/src/compiler/x86-64/subprim.lisp index b30b3d1..2079764 100644 --- a/src/compiler/x86-64/subprim.lisp +++ b/src/compiler/x86-64/subprim.lisp @@ -80,3 +80,5 @@ DONE)) (define-static-fun length (object) :translate length) +(define-static-fun %coerce-callable-to-fun (callable) + :translate %coerce-callable-to-fun) diff --git a/src/compiler/x86/parms.lisp b/src/compiler/x86/parms.lisp index 5502afd..cf6ebb2 100644 --- a/src/compiler/x86/parms.lisp +++ b/src/compiler/x86/parms.lisp @@ -287,7 +287,8 @@ sb!kernel:two-arg-ior sb!kernel:two-arg-xor sb!kernel:two-arg-gcd - sb!kernel:two-arg-lcm)) + sb!kernel:two-arg-lcm + sb!kernel:%coerce-callable-to-fun)) ;;;; stuff added by jrd diff --git a/src/compiler/x86/subprim.lisp b/src/compiler/x86/subprim.lisp index a922c85..44fa889 100644 --- a/src/compiler/x86/subprim.lisp +++ b/src/compiler/x86/subprim.lisp @@ -80,3 +80,5 @@ DONE)) (define-static-fun length (object) :translate length) +(define-static-fun %coerce-callable-to-fun (callable) + :translate %coerce-callable-to-fun) -- 1.7.10.4