Deleted Added
full compact
asmacros.h (156699) asmacros.h (163722)
1/*-
2 * Copyright (c) 1993 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 *
1/*-
2 * Copyright (c) 1993 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 *
29 * $FreeBSD: head/sys/amd64/include/asmacros.h 156699 2006-03-14 00:01:56Z peter $
29 * $FreeBSD: head/sys/amd64/include/asmacros.h 163722 2006-10-27 14:17:50Z bde $
30 */
31
32#ifndef _MACHINE_ASMACROS_H_
33#define _MACHINE_ASMACROS_H_
34
35#include <sys/cdefs.h>
36
37/* XXX too much duplication in various asm*.h's. */

--- 65 unchanged lines hidden (view full) ---

103#define CROSSJUMP(jtrue, label, jfalse) \
104 jfalse 8f; MEXITCOUNT; jmp __CONCAT(to,label); 8:
105#define CROSSJUMPTARGET(label) \
106 ALIGN_TEXT; __CONCAT(to,label): ; MCOUNT; jmp label
107#define ENTRY(name) GEN_ENTRY(name) ; 9: ; MCOUNT
108#define FAKE_MCOUNT(caller) pushq caller ; call __mcount ; popq %rcx
109#define MCOUNT call __mcount
110#define MCOUNT_LABEL(name) GEN_ENTRY(name) ; nop ; ALIGN_TEXT
30 */
31
32#ifndef _MACHINE_ASMACROS_H_
33#define _MACHINE_ASMACROS_H_
34
35#include <sys/cdefs.h>
36
37/* XXX too much duplication in various asm*.h's. */

--- 65 unchanged lines hidden (view full) ---

103#define CROSSJUMP(jtrue, label, jfalse) \
104 jfalse 8f; MEXITCOUNT; jmp __CONCAT(to,label); 8:
105#define CROSSJUMPTARGET(label) \
106 ALIGN_TEXT; __CONCAT(to,label): ; MCOUNT; jmp label
107#define ENTRY(name) GEN_ENTRY(name) ; 9: ; MCOUNT
108#define FAKE_MCOUNT(caller) pushq caller ; call __mcount ; popq %rcx
109#define MCOUNT call __mcount
110#define MCOUNT_LABEL(name) GEN_ENTRY(name) ; nop ; ALIGN_TEXT
111#ifdef GUPROF
111#define MEXITCOUNT call HIDENAME(mexitcount)
112#define ret MEXITCOUNT ; NON_GPROF_RET
112#define MEXITCOUNT call HIDENAME(mexitcount)
113#define ret MEXITCOUNT ; NON_GPROF_RET
114#else
115#define MEXITCOUNT
116#endif
113
114#else /* !GPROF */
115/*
116 * ALTENTRY() has to align because it is before a corresponding ENTRY().
117 * ENTRY() has to align to because there may be no ALTENTRY() before it.
118 * If there is a previous ALTENTRY() then the alignment code for ENTRY()
119 * is empty.
120 */

--- 74 unchanged lines hidden ---
117
118#else /* !GPROF */
119/*
120 * ALTENTRY() has to align because it is before a corresponding ENTRY().
121 * ENTRY() has to align to because there may be no ALTENTRY() before it.
122 * If there is a previous ALTENTRY() then the alignment code for ENTRY()
123 * is empty.
124 */

--- 74 unchanged lines hidden ---