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

📄 callkaffeexception.h

📁 kaffe Java 解释器语言,源码,Java的子集系统,开放源代码
💻 H
字号:
/* * sparc/callKaffeException.h * Common SPARC JIT exception calling. * * Copyright (c) 1996, 1997 *	Transvirtual Technologies, Inc.  All rights reserved. * * Copyright (c) 2003 *	Kaffe.org contributors, see ChangeLogs for details.  All rights reserved. * * See the file "license.terms" for information on usage and redistribution  * of this file.  */#ifndef __sparc_callKaffeException_h#define __sparc_callKaffeException_hstruct Hjava_lang_Throwable;/* Call the relevant exception handler (rewinding the stack as   necessary). */#define CALL_KAFFE_EXCEPTION(FramePointer, Handler, EObj)  callKaffeException(FramePointer, Handler, EObj)static inline void callKaffeException(uintp fp, 				      uintp handler, 				      struct Hjava_lang_Throwable* eobj) {	register int o1 asm("o1"), o2 asm("o2"), o3 asm("o3");	asm volatile(		     "		ta 3 \n"		     "		sub %%sp,64,%%sp \n"		     "		mov %2,%%fp \n"		     "		jmpl %1,%%g0 \n"		     "		restore	%0,0,%%o0 \n"		     : : "r" (o1=(int)(eobj)), "r" (o2=(int)(handler)), "r" (o3=(int)(fp)));        asm volatile("" : : "r"(o1), "r"(o2), "r"(o3));}#endif /* __sparc_callKaffeException_h */

⌨️ 快捷键说明

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