亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jit.h

?? kaffe Java 解釋器語言,源碼,Java的子集系統,開放源代碼
?? H
字號:
/* * mips/jit.h * Common MIPS JIT configuration information. * * 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. * * Written by Christian Krusel <chrkr@uni-paderborn.de>, 1997. * Modified by Michael Chen <mikey@hydra.stanford.edu>, 1998. * last changed 2.15.98 */#ifndef __mips_jit_h#define __mips_jit_h#if defined (_MIPS_SIM) && (_MIPS_SIM != _MIPS_SIM_ABI32)#error "Calling convention other than o32 not supported"#endif/**//* Exception handling information. *//**//* Structure of exception frame on stack */typedef struct _exceptionFrame {	char*	return_frame;	char*	return_pc;} exceptionFrame;extern void __mipsGetNextFrame(struct _exceptionFrame*);#define	STACK_NEXT_FRAME(F)	__mipsGetNextFrame(F)#define	FIRSTFRAME(F,O)		(F).return_frame = 0; \				__mipsGetNextFrame(&F)#define	NEXTFRAME(F)		((F)->return_frame)#define	PCFRAME(F)		((F)->return_pc)#define	FPFRAME(F)		((F)->return_frame)/* Extract the object argument from given frame */#define FRAMEOBJECT(obj, f, einfo)					\	(obj) = (*(Hjava_lang_Object**)(f))/**//* Method dispatch.  *//**/#define HAVE_TRAMPOLINE/* The layout of this struct is know by inline assembly.  */typedef struct _methodTrampoline {	unsigned code[5];	struct _methods *meth;	void** where;	unsigned pad[1];} methodTrampoline;extern void mips_do_fixup_trampoline(void);/* We must construct jump address since jal can not hold absolute address */#define FILL_IN_TRAMPOLINE(t,m,w)					\	do {								\		uint32 pc = (unsigned int)mips_do_fixup_trampoline;	\		(t)->code[0] = 0x001f1021;	/* addu $2,$31,$0 */	\		(t)->code[1] = 0x3c190000 | (pc >> 16);	/* lui $25,addr(high) */ \		(t)->code[2] = 0x37390000 | (pc & 0xffff);/* ori $25,$25,addr(low) */ \		(t)->code[3] = 0x0320f809;	/* jalr $31,$25 */		\		(t)->code[4] = 0x00000000;	/* nop */		\		(t)->meth = (m);					\		(t)->where = (w);					\	} while (0)#define FIXUP_TRAMPOLINE_DECL	Method *_meth, void* _where#define FIXUP_TRAMPOLINE_INIT	meth = _meth; where = _where;/**//* Register management information. *//**/#define	RIL	(Rint|Rref)#define	RFD	(Rfloat|Rdouble)#define	RG	(Rglobal|Rnosaveoncall)/* Define the register set, bereits an mips angepasst*/#define	REGISTER_SET							\	{ /* i0 */	0, 0, Reserved,		0, 0, 0   },		\	{ /* i1 */	0, 0, Reserved,		0, 0, 1   },		\	{ /* i2 */	0, 0, RIL|Reserved,	0, 0, 2   },		\	{ /* i3 */	0, 0, RIL|Reserved,	0, 0, 3   },		\	{ /* i4 */	0, 0, RIL,		0, 0, 4   },		\	{ /* i5 */	0, 0, RIL,		0, 0, 5   },		\	{ /* i6 */	0, 0, RIL,		0, 0, 6   },		\	{ /* i7 */	0, 0, RIL,		0, 0, 7   },		\	{ /* i8 */	0, 0, RIL,		0, 0, 8   },		\	{ /* i9 */	0, 0, RIL,		0, 0, 9   },		\	{ /* i10 */	0, 0, RIL,		0, 0, 10   },		\	{ /* i11 */	0, 0, RIL,		0, 0, 11   },		\	{ /* i12 */	0, 0, RIL,		0, 0, 12   },		\	{ /* i13 */	0, 0, RIL,		0, 0, 13   },		\	{ /* i14 */	0, 0, RIL,		0, 0, 14   },		\	{ /* i15 */	0, 0, RIL,		0, 0, 15   },		\	{ /* i16 */	0, 0, RIL,		RG, 0, 16   },\	{ /* i17 */	0, 0, RIL,		RG, 0, 17   },\	{ /* i18 */	0, 0, RIL,		RG, 0, 18   },\	{ /* i19 */	0, 0, RIL,		RG, 0, 19   },\	{ /* i20 */	0, 0, RIL,		RG, 0, 20   },\	{ /* i21 */	0, 0, RIL,		RG, 0, 21   },\	{ /* i22 */	0, 0, RIL,		RG, 0, 22   },\	{ /* i23 */	0, 0, RIL,		RG, 0, 23   },\	{ /* i24 */	0, 0, RIL,		0, 0, 24   },		\	{ /* i25 */	0, 0, RIL,		0, 0, 25   },		\	{ /* i26 */	0, 0, Reserved,		0, 0, 26   },		\	{ /* i27 */	0, 0, Reserved,		0, 0, 27   },		\	{ /* i28/gp */	0, 0, Reserved,		0, 0, 28   },\	{ /* i29 */	0, 0, Reserved, 	Rnosaveoncall, 0, 29   },\	{ /* i30 */	0, 0, Reserved,		Rnosaveoncall, 0, 30   },\	{ /* i31 */	0, 0, Reserved,		Rnosaveoncall, 0, 31   },\	{ /* f0 */	0, 0, RFD|Reserved,	0, 0, 0   },		\	{ /* f1 */	0, 0, Reserved,		0, 0, 1   },		\	{ /* f2 */	0, 0, Reserved,		0, 0, 2   },		\	{ /* f3 */	0, 0, Reserved,		0, 0, 3   },		\	{ /* f4 */	0, 0, RFD,		0, 0, 4   },		\	{ /* f5 */	0, 0, Reserved,		0, 0, 5   },		\	{ /* f6 */	0, 0, RFD,		0, 0, 6   },		\	{ /* f7 */	0, 0, Reserved,		0, 0, 7   },		\	{ /* f8 */	0, 0, RFD,		0, 0, 8   },		\	{ /* f9 */	0, 0, Reserved,		0, 0, 9   },		\	{ /* f10 */	0, 0, RFD,		0, 0, 10   },		\	{ /* f11 */	0, 0, Reserved,		0, 0, 11   },		\	{ /* f12 */	0, 0, RFD,		0, 0, 12   },		\	{ /* f13 */	0, 0, Reserved,		0, 0, 13   },		\	{ /* f14 */	0, 0, RFD,		0, 0, 14   },		\	{ /* f15 */	0, 0, Reserved,		0, 0, 15   },		\	{ /* f16 */	0, 0, RFD,		0, 0, 16   },		\	{ /* f17 */	0, 0, Reserved,		0, 0, 17   },		\	{ /* f18 */	0, 0, RFD,		0, 0, 18   },		\	{ /* f19 */	0, 0, Reserved,		0, 0, 19   },		\	{ /* f20 */	0, 0, RFD,		0, 0, 20   },		\	{ /* f21 */	0, 0, Reserved,		0, 0, 21   },		\	{ /* f22 */	0, 0, RFD,		0, 0, 22   },		\	{ /* f23 */	0, 0, Reserved,		0, 0, 23   },		\	{ /* f24 */	0, 0, RFD,		0, 0, 24   },		\	{ /* f25 */	0, 0, Reserved,		0, 0, 25   },		\	{ /* f26 */	0, 0, RFD,		0, 0, 26   },		\	{ /* f27 */	0, 0, Reserved,		0, 0, 27   },		\	{ /* f28 */	0, 0, RFD,		0, 0, 28   },		\	{ /* f29 */	0, 0, Reserved,		0, 0, 29   },		\	{ /* f30 */	0, 0, RFD,		0, 0, 30   },		\	{ /* f31 */	0, 0, Reserved,		0, 0, 31   },		\/* Number of registers in the register set */#define	NR_REGISTERS	64/**//* We must setup the incoming argument state *//**/#define NR_ARGUMENTS	4/**//* Number of global registers *//**/#define	NR_GLOBALS	8/**//* Define to use the constant pool. *//**/#define	USE_JIT_CONSTANT_POOL	1/**//* Define to use stack limit checking - give it the place to find the limit *//**/#define	STACK_LIMIT()	SLOT2ARGOFFSET(maxArgs)/**//* Number of registers saved in the prologue. *//**/#define	REGISTERS_SAVED	12/**//* Opcode generation. *//**//* Extra label types */#define Llong16b	(Larchdepend+0)#define Llong16x16	(Larchdepend+1)#define Llong26		(Larchdepend+2)#define Lexception	(Larchdepend+3)#define Llong16		(Larchdepend+4)/* HACK XXX - We add in a little extra space to stop the JIT from breaking */#define	EXTRASPACE	2#define	FRAMESIZE \	STACKALIGN(((maxLocal-maxArgs) + maxStack + maxTemp + \		REGISTERS_SAVED + EXTRASPACE + max_args) * SLOTSIZE)#define	LABEL_Lframe(P,V,L) \	{ \		int framesize = FRAMESIZE; \		assert((framesize & 0xFFFFF000) == 0); \		*(P) = (*(P) & 0xFFFF0000) | ((-framesize) & 0xFFFF); \	}#define	LABEL_Lnegframe(P,V,L) \	{ \		int framesize = FRAMESIZE; \		assert((framesize & 0xFFFFF000) == 0); \		*(P) = (*(P) & 0xFFFF0000) | ((framesize) & 0xFFFF); \	}#define	LABEL_Llong16b(P,V,L)	(P)[0]=((P)[0]&0xFFFF0000)|((((V)-4)>>2)&0xFFFF)#define	LABEL_Llong16(P,V,L)	(P)[0]=((P)[0]&0xFFFF0000)|(((V))&0xFFFF)#define LABEL_Llong16x16(P,V,L) (P)[1]=((P)[1]&0xFFFF0000)|((V) & 0xFFFF); \                                (P)[0]=((P)[0]&0xFFFF0000)|(((V)>>16)&0xFFFF)#if defined(USE_JIT_CONSTANT_POOL)#define	LABEL_Lexception(P,V,L)	LABEL_Lframe(P,V,L); \				LABEL_Llong16x16((P)+1,codebase,L)#else#define	LABEL_Lexception(P,V,L)	LABEL_Lframe(P,V,L)#endif#define	EXTRA_LABELS(P,D,L)						\	case Lframe:		LABEL_Lframe(P,D,L);		break;	\	case Lnegframe:		LABEL_Lnegframe(P,D,L);		break;	\	case Llong16b:		LABEL_Llong16b(P,D,L);		break;	\	case Llong16x16:	LABEL_Llong16x16(P,D,L);	break;	\	case Lexception:	LABEL_Lexception(P,D,L);	break;	\	case Llong16:		LABEL_Llong16(P,D,L);		break;/**//* Slot management information. *//**//* Size of each slot */#define	SLOTSIZE		4#define	FRAMEALIGN		16#define	STACKALIGN(v)		(((v) + FRAMEALIGN - 1) & -FRAMEALIGN)/* We push arguments low to high. */#define	PUSHARG_FORWARDS	1/* * A mips stack frame looks like: * * *      |  caller's frame               | *      |-------------------------------| *      |  incoming                     | *      |  arguments                    | * $fp->|-------------------------------| *      |  locals and                   | *      |  temporaries                  | *      |-------------------------------| *      |  callee-saved registers       | *      |                               | *      |-------------------------------|  - *      |  outgoing                     |  | max *      |  arguments                    |  | Push * $sp->|-------------------------------|  - *      |  callee's frame               | * *//* We need to do some special initialization for the MIPS JIT */struct _methods;extern void __mipsInitJit(struct _methods*);#define	INIT_JIT_MD(M)		__mipsInitJit(M)/* Generate slot offset for an argument relative to the frame pointer */#define SLOT2ARGOFFSET(N)	(argMap[N] * SLOTSIZE)/* Generate slot offset for a local (non-argument) */#define SLOT2LOCALOFFSET(N) \	(-SLOTSIZE * (REGISTERS_SAVED + (N) - maxArgs + EXTRASPACE))/* Generate slot offset for an argument push (relative to $sp) */#define SLOT2PUSHOFFSET(N)	((N) * SLOTSIZE)/* Wrap up a native call for the JIT */#define KAFFEJIT_TO_NATIVE(_m)/* On the mips we need to flush the data cache after generating new code */#if defined(__NetBSD__)#include <mips/cachectl.h>#else#include <sys/cachectl.h>#endif#define	FLUSH_DCACHE(_start,_end) cacheflush((_start), (uintp)(_end) - (uintp)(_start), BCACHE)/* Argument register mapping */extern int* argMap;extern int totalMaxArgs;extern int max_args;#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
岛国av在线一区| 欧美大白屁股肥臀xxxxxx| 久久精品男人天堂av| 黄页视频在线91| 国产69精品久久777的优势| 精品精品欲导航| 国产一区中文字幕| 日本一区二区三区dvd视频在线| 亚洲最大的成人av| 成人福利视频在线看| 亚洲色图另类专区| 国产一区二区在线电影| 国产喷白浆一区二区三区| 日韩av在线播放中文字幕| 一本一道久久a久久精品综合蜜臀| 精品国产乱码久久| 丰满放荡岳乱妇91ww| 亚洲女人的天堂| 欧美一区二区精品久久911| 国内精品久久久久影院一蜜桃| 国产喂奶挤奶一区二区三区| 一本色道久久综合亚洲91| 性做久久久久久免费观看欧美| 欧美一区二区三区播放老司机| 国产精品18久久久久久久久| 亚洲男人天堂av网| 国产美女一区二区三区| 亚洲视频一二三区| 99热国产精品| 免费欧美日韩国产三级电影| 国产女人aaa级久久久级| 欧美日韩中文字幕一区二区| 亚洲自拍偷拍麻豆| 精品福利av导航| 91亚洲午夜精品久久久久久| 亚洲人妖av一区二区| 欧美精品在线一区二区| 午夜一区二区三区视频| 久久精品亚洲一区二区三区浴池 | 成人av资源在线| 午夜精品久久久久久久久久久| 国产亚洲综合色| 欧美人xxxx| 91免费观看国产| 亚洲视频 欧洲视频| 91香蕉视频污| 国产精品一卡二卡在线观看| 亚洲综合在线视频| 欧美日韩免费一区二区三区视频| 亚洲国产欧美日韩另类综合| 欧美日韩电影在线播放| 99久久综合国产精品| 精彩视频一区二区三区| 久久综合九色综合久久久精品综合| 欧日韩精品视频| 成人视屏免费看| 亚洲人成网站色在线观看| 欧美成人一区二区| 韩国一区二区视频| 免费观看一级特黄欧美大片| 洋洋成人永久网站入口| 欧美激情在线一区二区| 日韩天堂在线观看| 欧美婷婷六月丁香综合色| 天堂资源在线中文精品| 亚洲精品第1页| 欧美日韩aaa| 色综合色综合色综合| 日韩中文字幕91| 久久久久久久久久久久电影| 日韩美女在线视频| 51精品视频一区二区三区| 国内外成人在线视频| 中文字幕一区二区在线播放| 中文字幕精品综合| 精品视频123区在线观看| 激情图区综合网| 久久精品国产免费看久久精品| 中文字幕 久热精品 视频在线| 欧美在线色视频| 91福利视频网站| 欧美在线你懂的| 欧美日韩精品一区二区| 国产精品一二三| 国产成人精品一区二区三区网站观看| 精品一区二区日韩| 国产美女在线精品| 国产福利视频一区二区三区| 狠狠色狠狠色合久久伊人| 夜夜操天天操亚洲| 欧美国产一区二区| 欧美一区二区三区色| 91久久精品一区二区三| 国产成人8x视频一区二区 | 国产亚洲欧美日韩日本| 久久久久久97三级| 国产精品每日更新| www国产精品av| 国产欧美va欧美不卡在线| 一区二区中文字幕在线| 亚洲精品国久久99热| 国产农村妇女毛片精品久久麻豆| 欧美日韩国产高清一区二区三区| 欧美一区二区三区在线视频| 欧美mv日韩mv国产网站app| 欧美在线一区二区三区| 日本精品免费观看高清观看| 欧美美女一区二区在线观看| 91亚洲国产成人精品一区二三| 欧美伊人精品成人久久综合97| 91精品一区二区三区在线观看| 欧美电影免费观看高清完整版在线观看| 在线观看www91| 99久久er热在这里只有精品15| 在线免费观看视频一区| 欧美一级一区二区| 欧美精品丝袜久久久中文字幕| 欧美精品一区二区三区很污很色的| 国产精品乱人伦| 丝袜美腿一区二区三区| 亚洲午夜久久久| 国产美女精品在线| 在线观看欧美黄色| 欧美中文字幕一区二区三区| 欧美va日韩va| 亚洲国产日韩av| 同产精品九九九| 午夜精品成人在线| 成人国产在线观看| 99久免费精品视频在线观看| 91在线观看免费视频| 精品欧美一区二区在线观看| 精品久久国产97色综合| 一区二区日韩av| 岛国一区二区三区| 884aa四虎影成人精品一区| 国产精品麻豆99久久久久久| 亚洲色图欧美激情| 国产精品1区2区3区| 91精品国产免费| 亚洲一区二区三区四区在线 | 久久久久久久综合色一本| 亚洲成人在线免费| 成人国产电影网| av在线免费不卡| 精品国产一二三区| 日韩高清欧美激情| 欧美专区亚洲专区| 国产精品成人一区二区艾草| 精品视频1区2区| 欧美96一区二区免费视频| 欧美日韩一区三区四区| 国产精品一卡二卡在线观看| 欧美日本国产一区| 国产乱对白刺激视频不卡| 成人美女在线视频| 亚洲精选视频免费看| 99久久婷婷国产综合精品| 精品久久五月天| 美女看a上一区| 东方欧美亚洲色图在线| 色国产综合视频| 中文字幕一区二区三区色视频| 国产麻豆精品theporn| 91麻豆福利精品推荐| 国产精品久久久久久久久免费桃花 | 国产91精品免费| 久久久无码精品亚洲日韩按摩| 久久国产精品72免费观看| 日韩一级二级三级精品视频| 天堂一区二区在线| 宅男在线国产精品| 日本欧美一区二区三区乱码| 欧美一区二区三区的| 日韩国产欧美一区二区三区| 成人午夜在线免费| 欧美激情在线观看视频免费| 国产精品18久久久久久久网站| 久久免费视频色| 高清国产一区二区| 国产精品久久久一区麻豆最新章节| 亚洲va欧美va人人爽午夜| 欧美人与禽zozo性伦| 欧美国产综合一区二区| 丝瓜av网站精品一区二区 | 国产精品久久久久久一区二区三区| 国产91丝袜在线观看| 中文字幕一区不卡| 久久国产成人午夜av影院| 久久婷婷久久一区二区三区| 天堂午夜影视日韩欧美一区二区| 波多野结衣一区二区三区| 亚洲欧美日韩国产一区二区三区 | 久久久久久久综合日本| 成人av资源站| 国产性做久久久久久| 色综合天天天天做夜夜夜夜做| 午夜精品久久久久久久蜜桃app| 日韩一区二区中文字幕| 国产91富婆露脸刺激对白|