⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 md.h

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 H
字号:
/* * m68k/netbsd/md.h * netbsd/m68k specific functions. * * Copyright (c) 1996 Matthias Hopf <mshopf@informatik.uni-erlangen.de> * netbsd/m68k version  Erik Johannessen <erjohann@sn.no> * * Permission granted for Tim Wilkinson to include this source in his * Kaffe system. * * Copyright (c) 1996, 1997 *	Transvirtual Technologies, Inc.  All rights reserved. * * See the file "license.terms" for information on usage and redistribution  * of this file.  */#ifndef __m68k_openbsd_md_h#define __m68k_openbsd_md_h#include "m68k/common.h"#include "m68k/threads.h"/* * Stack offset. * This is the offset into the setjmp buffer  * where the stack pointer is stored. */#undef	SP_OFFSET#define	SP_OFFSET		2/**//* Extra exception handling information. *//**/#include <signal.h>#define	SIGNAL_ARGS(sig, sc) int sig, siginfo_t* code, struct sigcontext *sc#define SIGNAL_CONTEXT_POINTER(scp) struct sigcontext *scp#define GET_SIGNAL_CONTEXT_POINTER(scp) (scp)#define SIGNAL_PC(scp) ((uintp)(scp)->sc_pc)#define STACK_STRUCT struct sigaltstack#include "kaffe-unix-stack.h"#if defined(TRANSLATOR)#include "jit-md.h"#endif#define	sysdepCallMethod(CALL)					  \	asm volatile (						\	"1:							\n"\	"	cmpl	#0,%0					\n"\	"	beq	3f					\n"\	"	subql	#1,%0					\n"\	"	cmpb	#0,%2@(%0:l)				\n"\	"	beq	1b					\n"\	"	cmpb	#1,%2@(%0:l)				\n"\	"	beq	2f					\n"\	"	movel	%1@(4,%0:l:8),sp@-			\n"\	"2:							\n"\	"	movel	%1@(%0:l:8),sp@-			\n"\	"	jmp	1b					\n"\	"3:							\n"\	"	jsr	%3@					\n"\        :							  \	: "r" ((CALL)->nrargs),					  \	  "a" ((CALL)->args),					  \	  "a" ((CALL)->callsize),				  \	  "a" ((CALL)->function)				  \	: "d0", "d1", "fp0", "cc", "memory");			  \	asm volatile (						\	"	cmpb	#2,%0					\n"\	"	bne	5f					\n"\	"	cmpb	#0x44,%1				\n"\	"	bne	4f					\n"\	"	fmoved	fp0,%2@					\n"\	"	jmp	7f					\n"\	"4:							\n"\	"	movel	d1,%2@(4)				\n"\	"	movel	d0,%2@					\n"\	"	jmp	7f					\n"\	"5:							\n"\	"	cmpb	#1,%0					\n"\	"	bne	7f					\n"\	"	cmpb	#0x46,%1				\n"\	"	bne	6f					\n"\	"	fmoves	fp0,%2@					\n"\	"	jmp	7f					\n"\	"6:							\n"\	"	movel	d0,%2@					\n"\	"7:							\n"\        :							  \	: "m" ((CALL)->retsize),				  \	  "m" ((CALL)->rettype),				  \	  "a" ((CALL)->ret)					  \	: "d0", "d1", "fp0", "cc", "memory");			  \	asm volatile ("addw %0,sp" 				  \	: : "r" ((CALL)->argsize * sizeof(jint)) : "cc")#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -