summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>2006-10-27 14:17:50 +0000
committerbde <bde@FreeBSD.org>2006-10-27 14:17:50 +0000
commitf3dd13700bb000a0c99cb0996d1f6c9df117b656 (patch)
treecc1bab4d53c3e6c38a88d9d908f4e7581449fe5b /sys/i386
parent849676e291fd7ded8bde77730c8a4e6c76ee52ea (diff)
downloadFreeBSD-src-f3dd13700bb000a0c99cb0996d1f6c9df117b656.zip
FreeBSD-src-f3dd13700bb000a0c99cb0996d1f6c9df117b656.tar.gz
Don't call mexitcount or provide a stub mexitcount to call when
profiling is configured but high resolution profiling is not configured. Only functions in *.[Ss] called the stub, so efficiency was not significantly affected.
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/include/asmacros.h4
-rw-r--r--sys/i386/isa/prof_machdep.c11
2 files changed, 4 insertions, 11 deletions
diff --git a/sys/i386/include/asmacros.h b/sys/i386/include/asmacros.h
index b9f027e..a95eff0 100644
--- a/sys/i386/include/asmacros.h
+++ b/sys/i386/include/asmacros.h
@@ -108,8 +108,12 @@
#define FAKE_MCOUNT(caller) pushl caller ; call __mcount ; popl %ecx
#define MCOUNT call __mcount
#define MCOUNT_LABEL(name) GEN_ENTRY(name) ; nop ; ALIGN_TEXT
+#ifdef GUPROF
#define MEXITCOUNT call HIDENAME(mexitcount)
#define ret MEXITCOUNT ; NON_GPROF_RET
+#else
+#define MEXITCOUNT
+#endif
#else /* !GPROF */
/*
diff --git a/sys/i386/isa/prof_machdep.c b/sys/i386/isa/prof_machdep.c
index b286d7b..0f399a3 100644
--- a/sys/i386/isa/prof_machdep.c
+++ b/sys/i386/isa/prof_machdep.c
@@ -349,15 +349,4 @@ stopguprof(gp)
}
#endif
}
-
-#else /* !GUPROF */
-#ifdef __GNUCLIKE_ASM
-__asm(" \n\
- .text \n\
- .p2align 4,0x90 \n\
- .globl " __XSTRING(HIDENAME(mexitcount)) " \n\
-" __XSTRING(HIDENAME(mexitcount)) ": \n\
- ret \n\
-");
-#endif /* __GNUCLIKE_ASM */
#endif /* GUPROF */
OpenPOWER on IntegriCloud