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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pixie64fmt.c

?? 這是個trace drive的Cache模擬器
?? C
字號:
/* * Code to read 64-bit pixie -idtrace_ext output from IRIX systems * Written by Jan Edler * * Copyright (C) 1997 NEC Research Institute, Inc. and Mark D. Hill. * All rights reserved. * Copyright (C) 1985, 1989 Mark D. Hill.  All rights reserved. *  * Permission to use, copy, modify, and distribute this software and * its associated documentation for non-commercial purposes is hereby * granted (for commercial purposes see below), provided that the above * copyright notice appears in all copies, derivative works or modified * versions of the software and any portions thereof, and that both the * copyright notice and this permission notice appear in the documentation. * NEC Research Institute Inc. and Mark D. Hill shall be given a copy of * any such derivative work or modified version of the software and NEC * Research Institute Inc.  and any of its affiliated companies (collectively * referred to as NECI) and Mark D. Hill shall be granted permission to use, * copy, modify, and distribute the software for internal use and research. * The name of NEC Research Institute Inc. and its affiliated companies * shall not be used in advertising or publicity related to the distribution * of the software, without the prior written consent of NECI.  All copies, * derivative works, or modified versions of the software shall be exported * or reexported in accordance with applicable laws and regulations relating * to export control.  This software is experimental.  NECI and Mark D. Hill * make no representations regarding the suitability of this software for * any purpose and neither NECI nor Mark D. Hill will support the software. *  * Use of this software for commercial purposes is also possible, but only * if, in addition to the above requirements for non-commercial use, written * permission for such use is obtained by the commercial user from NECI or * Mark D. Hill prior to the fabrication and distribution of the software. *  * THE SOFTWARE IS PROVIDED AS IS.  NECI AND MARK D. HILL DO NOT MAKE * ANY WARRANTEES EITHER EXPRESS OR IMPLIED WITH REGARD TO THE SOFTWARE. * NECI AND MARK D. HILL ALSO DISCLAIM ANY WARRANTY THAT THE SOFTWARE IS * FREE OF INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OF OTHERS. * NO OTHER LICENSE EXPRESS OR IMPLIED IS HEREBY GRANTED.  NECI AND MARK * D. HILL SHALL NOT BE LIABLE FOR ANY DAMAGES, INCLUDING GENERAL, SPECIAL, * INCIDENTAL, OR CONSEQUENTIAL DAMAGES, ARISING OUT OF THE USE OR INABILITY * TO USE THE SOFTWARE. * * $Header: /home/edler/dinero/d4/RCS/pixie64fmt.c,v 1.4 1997/12/11 16:59:49 edler Exp $ */#include <stddef.h>#include <stdio.h>#include <unistd.h>#include <string.h>#include <errno.h>#include <assert.h>#include "d4.h"#include "cmdd4.h"#include "tracein.h"/* * Acknowledgements: * Mark Hill (markhill@cs.wisc.edu) wrote and documented the * din input format for dineroIII * Mike Smith (smith@eecs.harvard.edu) documented pixie, * including the trace format. * Mike Uhler (uhler@gmu.mti.sgi.com) and * Marty Itzkowitz (martyi@nubbins.engr.sgi.com) * provided updated information about the pixie trace output formats. *//* * 64-bit pixie trace format consists of 64-bit words, * the most significant 8 bits is a count, * the next 8 bits are a reference type, and * the remaining 48 bits are the address. * The address for basic blocks is a word offset * from the beginning of the DSO (i.e., (address - dso start)/4). * The addresses for loads and stores are byte addresses. * The count field for basic blocks tells how many sequential * instructions to fetch before doing something else. * The count field for loads and stores tells how many ifetches * to do after the load or store, before doing something else. * * We currently assume the "n32" execution mode, and therefore * truncate all addresses to their low 32 bits (sizeof(int)==4). * * We currently only support nonshared executables, although the * format supports full use of DSOs.  Also, to be perfectly legitimate, * we should map data addresses to correspond to what they would have been * in the unpixified program (they may well have been displaced * in the pixified version); we don't do that either. * * We could automatically distinquish between 32-bit and 64-bit formats, * but we don't. */#define LW	0	/* load word */#define LD	1	/* load double */#define SW	2	/* store word */#define SD	3	/* store double */#define SB	4	/* store byte */#define SH	5	/* store half-word */#define SWR	6	/* store word right */#define SWL	7	/* store word left */#define LWC1	8	/* load word coprocessor 1 */#define LDC1	9	/* load double coprocessor 1 */#define SWC1	10	/* store word coprocessor 1 */#define SDC1	11	/* store double coprocessor 1 */#define BB	12	/* enter basic block */#define ANNUL	13	/* annul conditional delay slot */#define SYSCALL	14	/* system call */#define REF_UNDEF 15	/* undefined; can distinguish between 32 and 64 bit */#define DSO_OPEN 16	/* DSO number */#define DSO_MAP_HI 17	/* high part of DSO "quick start" address */#define DSO_MAP_LO 18	/* low part of DSO "quick start" address */#define DSO_NAME 19	/* 1 character of DSO name */#define DSO_CLOSE 20	/* close DSO by number */#define DSO_MAX_IOFFSET 25 /* max instruction offset from text start */#define SEGMENT_MOVED_STATIC 26 /* amount pixie moved the data segment */#define DSO_MOVED_DYNAMIC 27 /* amount rld moved the DSO */#define NUM_DATA_SEGMENTS 28 /* number of data segments in the DSO */#define SEGMENT_MAP_HI 29 /* high part of "quick start" address of segment */#define SEGMENT_MAP_LO 30 /* low part */#define SEGMENT_SIZE 31	/* size of data segment in bytes */#define MIN(a,b)	((a)<(b)?(a):(b))#ifndef PIXIE_SWAB#define PIXIE_SWAB 0#endif/* We need a way to keep deferred references */#define NSTACK 300static d4memref stack[NSTACK];	/* to store deferred references */static d4memref *sptr = stack;	/* stack pointer */#define push_ref(atype,addr,sz) do {					\		assert (sptr < &stack[NSTACK]);				\		sptr->accesstype = atype;				\		sptr->address = addr;					\		sptr++->size = sz;					\	} while (0)	/* expect semicolon */#define pop_ref()	*--sptrd4memreftracein_pixie64(){	static char dynlib[] = "pixie64 input (reftype %d): dynamically linked executable not supported\n";	static int once = 1;	static unsigned char inbuf[4096];	static unsigned char *inptr = NULL;	static unsigned char *endptr = NULL;	static unsigned int iaddr = ~0;	/* current instr address */	static unsigned int textbase = 0;	unsigned int addr;		/* address from pixie */	int reftype, count;		/* from pixie */	int c;				/* iterator for ifetching */	int size;	d4memref r;	if (sptr > stack)		return pop_ref();again:	if (inptr == NULL) {	/* need to fill inbuf */		int nread = read (0, inbuf, sizeof inbuf);		if (nread < 0)			die ("pixie64 input error: %s\n", strerror (errno));		if (nread <= 0) {			r.address = 0;			r.size = 0;			r.accesstype = D4TRACE_END;			return r;		}		if ((nread % 8) != 0)			die ("pixie64 trace input not double word aligned\n");		inptr = inbuf;		endptr = inbuf + nread;		if (once) {			once = 0;			if (inptr[PIXIE_SWAB ? 7 : 0] != REF_UNDEF)				die ("pixie64 input: header format %d instead of %d\n",				     inptr[PIXIE_SWAB ? 7 : 0], REF_UNDEF);			inptr += 8;			if (inptr >= endptr)				inptr = NULL;			goto again;		}	}#if PIXIE_SWAB /* maybe this will work for trace from little endian machine */	count = inptr[7];	reftype = inptr[6];	addr = 0;	for (c = MIN(6,sizeof(addr))-1;  c >= 0;  c--)		addr = (addr<<8) | inptr[c];#else /* SGI MIPS-based machines are big-endian */	count = inptr[0];	reftype = inptr[1];	addr = 0;	for (c = MIN(6,sizeof(addr))-1;  c >= 0;  c--)		addr = (addr<<8) | inptr[7-c];#endif	inptr += 8;	if (inptr >= endptr)		inptr = NULL;	/* cause refill on next call */	switch (reftype) {	case REF_UNDEF:	/* should not happen */	default:		fprintf (stderr,			"%s: unknown pixie64 reftype=%u\n", progname, reftype);		goto again;	case DSO_OPEN:	case DSO_NAME:	case DSO_CLOSE:	case DSO_MAX_IOFFSET:	case SEGMENT_MOVED_STATIC:	case SEGMENT_MAP_HI:	case SEGMENT_MAP_LO:	case SEGMENT_SIZE:		goto again;	/* ignore these */	case DSO_MAP_HI:#if INT_MAX > 0x7fffffff		textbase |= ((addr&0xffffffff)<<32);#endif		goto again;	case DSO_MAP_LO:		textbase |= (addr & 0xffffffff);		goto again;	case DSO_MOVED_DYNAMIC:		if (addr != 0)			die (dynlib, reftype);		goto again;	case NUM_DATA_SEGMENTS:		if (addr != 1)			die (dynlib, reftype);		goto again;	case BB:		iaddr = addr << 2;	/* convert word address to byte */		iaddr += textbase;	/* base address for DSO 0 */		if (count == 0)			goto again;	/* 1st instr is load/store/whatever */		size = 4;		count--;	/* counteract increment, below */		break;	case LD:	case LDC1:	case SD:	case SDC1:		size = 8;		addr &= ~7;		break;	case SYSCALL:	case LW:	case LWC1:	case SW:	case SWC1:	case ANNUL:		size = 4;		addr &= ~3;		break;	case SH:		size = 2;		addr &= ~1;		break;	case SB:		size = 1;		break;	case SWR:	/* assume big endian */		size = addr%4 + 1;		addr &= ~3;		break;	case SWL:	/* assume big endian */		size = 4 - (addr%4);		break;	}	count++;	/* allow for current instruction */	/* push excess instructions onto stack in reverse order */	for (c = count;  c > 1;  c--)		push_ref (D4XINSTRN, iaddr + c*4 - 4, 4);	switch (reftype) {	default:		/* fall through */	case SYSCALL:		push_ref (D4XMISC, addr, size);		break;	case LW:	case LD:	case LWC1:	case LDC1:		push_ref (D4XREAD, addr, size);		break;	case SWL:	case SWR:	case SW:	case SD:	case SB:	case SH:	case SWC1:	case SDC1:		push_ref (D4XWRITE, addr, size);		break;	case ANNUL:	/* annulled instruction; just do the ifetch */	case BB:	/* leading instruction of basic block */		break;	}	r.accesstype = D4XINSTRN;	r.address = iaddr;	r.size = 4;	/* MIPS instructions are all 4 bytes */	iaddr += count*4;	return r;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
jlzzjlzz亚洲日本少妇| 在线精品视频一区二区三四| 欧美丰满一区二区免费视频 | 成人在线综合网| 中文字幕的久久| av一本久道久久综合久久鬼色| 欧美极品美女视频| 色婷婷亚洲综合| 人人精品人人爱| 26uuu久久综合| fc2成人免费人成在线观看播放| 中文字幕在线视频一区| 欧美综合一区二区三区| 视频一区在线播放| 欧美第一区第二区| 亚洲国产精品成人综合| 91在线丨porny丨国产| 欧美电视剧在线看免费| 粉嫩av一区二区三区粉嫩| 亚洲欧洲www| 欧美精品乱人伦久久久久久| 狠狠色综合色综合网络| 专区另类欧美日韩| 欧美成人性战久久| av影院午夜一区| 美女脱光内衣内裤视频久久网站| 久久综合资源网| 一本到三区不卡视频| 欧美96一区二区免费视频| 久久奇米777| 欧美肥大bbwbbw高潮| 国产精品中文字幕欧美| 亚洲国产精品一区二区久久| 精品国产一区二区精华| 91香蕉视频在线| 国产麻豆视频精品| 亚洲国产成人va在线观看天堂| 欧美精品一区二区三| 91黄色免费看| 国产精品久久久久久久久动漫| 亚洲自拍欧美精品| 色综合色综合色综合| 久久久久97国产精华液好用吗| 极品瑜伽女神91| 亚洲美女视频一区| 国产午夜亚洲精品午夜鲁丝片| 色欧美日韩亚洲| 国产激情偷乱视频一区二区三区| 亚洲成人在线免费| 亚洲女同一区二区| 国产蜜臀av在线一区二区三区| 欧美理论电影在线| 一本在线高清不卡dvd| 国产成人精品免费| 成人网页在线观看| 免费视频一区二区| 午夜视频在线观看一区二区 | 国产成人精品影视| 日韩精品福利网| 亚洲一区二区三区四区的| 久久久91精品国产一区二区精品| 91在线观看高清| 一区二区三区资源| 99久久精品免费看国产| 国产真实精品久久二三区| 午夜精品国产更新| 一区二区三区日韩欧美| 亚洲日本在线天堂| 中文字幕亚洲欧美在线不卡| 26uuu精品一区二区| 欧美一级生活片| 欧美日本国产视频| 9191国产精品| 欧美日韩在线播放三区| 在线精品视频一区二区三四| 一本大道久久a久久精品综合| 91在线看国产| 91丨九色丨蝌蚪丨老版| 97精品电影院| 色伊人久久综合中文字幕| 在线视频中文字幕一区二区| 色婷婷激情久久| 欧美日本一道本| 欧美一区二区视频在线观看2022 | 亚洲视频在线一区二区| 亚洲欧美欧美一区二区三区| 中文字幕五月欧美| 亚洲午夜一区二区| 日本美女一区二区| 国产综合成人久久大片91| 精品制服美女久久| 国产电影一区在线| 91麻豆精品国产91久久久资源速度| 日韩精品一区二区三区在线播放 | 51午夜精品国产| 91精品欧美一区二区三区综合在| 国产校园另类小说区| 国产午夜精品美女毛片视频| 国产婷婷精品av在线| 国产欧美日韩不卡| 亚洲男人的天堂在线观看| 亚洲国产精品天堂| 蜜桃传媒麻豆第一区在线观看| 极品销魂美女一区二区三区| 风间由美一区二区三区在线观看 | 国产毛片精品视频| 99久久久久免费精品国产| 欧美日韩一本到| 久久欧美一区二区| 一区二区三区在线免费播放| 青青青伊人色综合久久| 国产精品一区2区| 欧美亚洲一区二区三区四区| 精品久久久久久最新网址| 最新日韩在线视频| 久久se这里有精品| 91免费看片在线观看| 欧美xxxxxxxx| 一区二区成人在线视频| 久88久久88久久久| 色婷婷亚洲综合| 久久夜色精品国产欧美乱极品| 亚洲视频小说图片| 狠狠色综合日日| 欧美在线综合视频| 久久精品视频一区二区| 亚洲午夜精品久久久久久久久| 国产黄色91视频| 欧美三级韩国三级日本一级| 久久久91精品国产一区二区三区| 亚洲mv在线观看| 成人av电影在线播放| 欧美xxxx在线观看| 亚洲国产精品久久一线不卡| 成人美女在线视频| 精品国内片67194| 香港成人在线视频| jizz一区二区| 国产午夜精品美女毛片视频| 免费黄网站欧美| 欧美日韩国产a| 亚洲视频在线观看三级| 国产成人鲁色资源国产91色综 | 国产精品一区在线观看你懂的| 欧美性色黄大片| 亚洲欧美另类小说| 国产成人午夜电影网| 欧美一区二区在线不卡| 亚洲1区2区3区4区| 日本高清无吗v一区| 国产精品青草久久| 国产精品一区二区视频| 精品免费日韩av| 蜜桃91丨九色丨蝌蚪91桃色| 欧美日韩的一区二区| 亚洲网友自拍偷拍| 欧美伊人久久久久久午夜久久久久| 国产精品久久久久久妇女6080| 国产一区二区在线观看免费| 日韩一级片网址| 蜜臀久久99精品久久久久宅男| 欧美日韩高清影院| 亚洲成a人v欧美综合天堂下载| 色婷婷精品大视频在线蜜桃视频| 1000精品久久久久久久久| 成人黄色免费短视频| 中文字幕一区二区三区蜜月| 91在线观看下载| 一区二区三区中文字幕在线观看| 色哟哟在线观看一区二区三区| 亚洲人成影院在线观看| 在线观看91精品国产入口| 亚洲综合色网站| 91精品在线麻豆| 美女在线视频一区| 精品成人免费观看| 国产精品 欧美精品| 欧美国产日本视频| 99re热这里只有精品免费视频| 成人免费小视频| 欧美无人高清视频在线观看| 日韩国产在线一| 欧美不卡在线视频| 国产精品123区| 国产精品福利影院| 在线观看日产精品| 蜜臀精品一区二区三区在线观看 | 日本一区二区电影| 一本到不卡精品视频在线观看| 悠悠色在线精品| 91麻豆精品国产综合久久久久久| 麻豆成人免费电影| 久久精品无码一区二区三区| 不卡av在线免费观看| 亚洲一区二区三区激情| 日韩一区二区三| 成人97人人超碰人人99| 亚洲一区二区三区激情| 亚洲精品一区二区精华| 99久久精品99国产精品|