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

📄 config-jthreads.h

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 H
字号:
/* * config.h * * Thread support using internal system. * * Copyright (c) 1996, 1997, 1998 *      Transvirtual Technologies, Inc.  All rights reserved. * * See the file "license.terms" for information on usage and redistribution * of this file. * * Written by Godmar Back <gback@cs.utah.edu> and *            Tim Wilkinson <tim@transvirtual.com> *//* * Note: this file get included only when jthreads are used outside *       the context of the virtual machine.  * *       The virtual machines uses definitions from the config directory *	 for the specific processor.	 */#ifndef __config_jthreads_h#define __config_jthreads_h#include "config.h"#include <assert.h>#include <setjmp.h>#include <sys/types.h>#include <sys/signal.h>#include <sys/time.h>#include <sys/socket.h>#include <sys/wait.h>#include <sys/socket.h>#include <signal.h>#include <errno.h>#include <string.h>#include <fcntl.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>#define HAVE_SETITIMER	1#define HAVE_WAITPID	1#define THREADSTACKSIZE         (32 * 1024)#if defined(__FreeBSD__)/* * Stack offset. * This is the offset into the setjmp buffer where the stack pointer is * stored.  In FreeBSD, that's 2 - normally it's 4 for a i386 * On NetBSD and OpenBSD it's 2 as well. */#define SP_OFFSET               2#define HAVE_SYS_FILIO_H 1#elif defined(__linux__) && defined(mc68000)#define SP_OFFSET		14#elif defined(__linux__) && defined(i386)#define SP_OFFSET		4#elif defined(__svr4__) && defined(__sparc__)/* Solaris */#define SP_OFFSET		1#define HAVE_SYS_FILIO_H 1#elif defined(_AIX) && defined(_POWER)/* AIX on IBM PowerPC */#define SP_OFFSET		3#include <sys/select.h>		/* another AIX oddity */#elif defined(hpux)/* HPUX */#define STACK_GROWS_UP  	1#define SP_OFFSET		1#elif defined(hppa) && !defined(hpux)/* HP-BSD - this is a Utah thing */#define STACK_GROWS_UP  	1#define SP_OFFSET		2/* We will clear all signals rather than just the ones we want. * This is okay because of how sigprocmask is used - but it's not a * general solition. */#define sigprocmask(op, nsig, osig)     sigsetmask(0)typedef int sigset_t;#elif defined(sgi) && defined(mips)/* SGI running IRIX 6.2 */#define SP_OFFSET		2#define FP_OFFSET		13#define SIGALTSTACK_NEEDS_END   1#elif defined(arm32) && defined(__NetBSD__)#define SP_OFFSET		23#elif defined(arm) && defined(linux)#define SP_OFFSET		20#define FP_OFFSET		19#else#error Your system was not yet tested#endif#if HAVE_SYS_FILIO_H#include <sys/filio.h>#endif#ifndef FD_COPY#define FD_COPY(from, to)	memcpy(to, from, sizeof(*(from)))#endif/* define our own jlong and NOTIMEOUT */typedef signed long long	jlong;#define NOTIMEOUT	-1#define true		1#define false		0#define catchSignal(s, h)	signal(s, h)  /* XXX use sigaction()? */static jlong currentTime(){    struct timeval tm;    gettimeofday(&tm, 0);    return (((jlong)tm.tv_sec * 1000L) + ((jlong)tm.tv_usec / 1000L));}/* debug.h stuff */#ifdef KAFFE_VMDEBUG#define DBG(x, y)       	y#define DBGEXPR(x, t, f)        t#define DBGIF(x)        	x#else#define DBG(x, y)#define DBGEXPR(x, t, f)        f#define DBGIF(x)      #endif#endif /* __config_jthreads_h */

⌨️ 快捷键说明

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