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

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

?? config.py

?? linux下基于c++的處理器仿真平臺。具有處理器流水線
?? PY
?? 第 1 頁 / 共 5 頁
字號:
# Copyright (c) 2005# The Regents of The University of Michigan# All Rights Reserved## This code is part of the M5 simulator, developed by Nathan Binkert,# Erik Hallnor, Steve Raasch, and Steve Reinhardt, with contributions# from Ron Dreslinski, Dave Greene, Lisa Hsu, Kevin Lim, Ali Saidi,# and Andrew Schultz.## Permission is granted to use, copy, create derivative works and# redistribute this software and such derivative works for any# purpose, so long as the copyright notice above, this grant of# permission, and the disclaimer below appear in all copies made; and# so long as the name of The University of Michigan is not used in any# advertising or publicity pertaining to the use or distribution of# this software without specific, written prior authorization.## THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE# UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND# WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER# EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR# PURPOSE. THE REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE# LIABLE FOR ANY DAMAGES, INCLUDING DIRECT, SPECIAL, INDIRECT,# INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM# ARISING OUT OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN# IF IT HAS BEEN OR IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH# DAMAGES.import sysstring_data = {}def AddModule(path, name, type, filename, data):    fullpath = path    if name != '__init__':        fullpath += [name]    fullpath = '.'.join(fullpath)    string_data[fullpath] = name,type,data,path,filenameclass StringImporter:    def find_module(self, fullname, path=None):        if string_data.has_key(fullname):            name,type,data,path,filename = string_data[fullname]            if type == 'py':                return self        return None    def load_module(self, fullname):        import imp        mod = imp.new_module(fullname)        sys.modules[fullname] = mod        name,type,data,path,filename = string_data[fullname]        mod.__file__ = "<embed: %s>" % filename        mod.__loader__ = self        if name == '__init__':            mod.__path__ = path        if type == 'py':            code = compile(data, mod.__file__, "exec")            exec code in mod.__dict__        else:            raise AttributeError, "File of the wrong type!"        return modsys.meta_path.append(StringImporter())AddModule([], 'jobfile', 'py', 'm5/util/pbs/jobfile.py', '''\import sysclass ternary(object):    def __new__(cls, *args):        if len(args) > 1:            raise TypeError, \\                  '%s() takes at most 1 argument (%d given)' % \\                  (cls.__name__, len(args))        if args:            if not isinstance(args[0], (bool, ternary)):                raise TypeError, \\                      '%s() argument must be True, False, or Any' % \\                      cls.__name__            return args[0]        return super(ternary, cls).__new__(cls)    def __bool__(self):        return True    def __neg__(self):        return self    def __eq__(self, other):        return True        def __ne__(self, other):        return False    def __str__(self):        return 'Any'    def __repr__(self):        return 'Any'Any = ternary()    class Flags(dict):    def __init__(self, *args, **kwargs):        super(Flags, self).__init__()        self.update(*args, **kwargs)    def __getattr__(self, attr):        return self[attr]    def __setattr__(self, attr, value):        self[attr] = value    def __setitem__(self, item, value):        return super(Flags, self).__setitem__(item, ternary(value))    def __getitem__(self, item):        if item not in self:            return False        return super(Flags, self).__getitem__(item)    def update(self, *args, **kwargs):        for arg in args:            if isinstance(arg, Flags):                super(Flags, self).update(arg)            elif isinstance(arg, dict):                for key,val in kwargs.iteritems():                    self[key] = val            else:                raise AttributeError, \\                      'flags not of type %s or %s, but %s' % \\                      (Flags, dict, type(arg))        for key,val in kwargs.iteritems():            self[key] = val    def match(self, *args, **kwargs):        match = Flags(*args, **kwargs)        for key,value in match.iteritems():            if self[key] != value:                return False        return Truedef crossproduct(items):    if not isinstance(items, (list, tuple)):        raise AttributeError, 'crossproduct works only on sequences'    if not items:        yield None        return    current = items[0]    remainder = items[1:]    if not hasattr(current, '__iter__'):        current = [ current ]        for item in current:        for rem in crossproduct(remainder):            data = [ item ]            if rem:                data += rem            yield datadef flatten(items):    if not isinstance(items, (list, tuple)):        yield items        return    for item in items:        for flat in flatten(item):            yield flatclass Data(object):    def __init__(self, name, desc, **kwargs):        self.name = name        self.desc = desc        self.system = None        self.flags = Flags()        self.env = {}        for k,v in kwargs.iteritems():            setattr(self, k, v)    def update(self, obj):        if not isinstance(obj, Data):            raise AttributeError, "can only update from Data object"        self.env.update(obj.env)        self.flags.update(obj.flags)        if obj.system:            if self.system and self.system != obj.system:                raise AttributeError, \\                      "conflicting values for system: '%s'/'%s'" % \\                      (self.system, obj.system)            self.system = obj.system    def printinfo(self):        if self.name:            print 'name: %s' % self.name        if self.desc:            print 'desc: %s' % self.desc        if self.system:            print 'system: %s' % self.system    def printverbose(self):        print 'flags:'        keys = self.flags.keys()        keys.sort()        for key in keys:            print '    %s = %s' % (key, self.flags[key])        print 'env:'        keys = self.env.keys()        keys.sort()        for key in keys:            print '    %s = %s' % (key, self.env[key])        print    def __str__(self):        return self.nameclass Job(Data):    def __init__(self, options):        super(Job, self).__init__('', '')        self.setoptions(options)        self.checkpoint = False        opts = []        for opt in options:            cpt = opt.group.checkpoint            if not cpt:                self.checkpoint = True                continue            if isinstance(cpt, Option):                opt = cpt.clone(suboptions=False)            else:                opt = opt.clone(suboptions=False)            opts.append(opt)        if not opts:            self.checkpoint = False        if self.checkpoint:            self.checkpoint = Job(opts)    def clone(self):        return Job(self.options)    def __getattribute__(self, attr):        if attr == 'name':            names = [ ]            for opt in self.options:                if opt.name:                    names.append(opt.name)            return ':'.join(names)        if attr == 'desc':            descs = [ ]            for opt in self.options:                if opt.desc:                    descs.append(opt.desc)            return ', '.join(descs)        return super(Job, self).__getattribute__(attr)                def setoptions(self, options):        config = options[0].config        for opt in options:            if opt.config != config:                raise AttributeError, \\                      "All options are not from the same Configuration"                    self.config = config        self.groups = [ opt.group for opt in options ]        self.options = options        self.update(self.config)        for group in self.groups:            self.update(group)                        for option in self.options:            self.update(option)            if option._suboption:                self.update(option._suboption)    def printinfo(self):        super(Job, self).printinfo()        if self.checkpoint:            print 'checkpoint: %s' % self.checkpoint.name        print 'config: %s' % self.config.name        print 'groups: %s' % [ g.name for g in self.groups ]        print 'options: %s' % [ o.name for o in self.options ]        super(Job, self).printverbose()class SubOption(Data):    def __init__(self, name, desc, **kwargs):        super(SubOption, self).__init__(name, desc, **kwargs)        self.number = Noneclass Option(Data):    def __init__(self, name, desc, **kwargs):        super(Option, self).__init__(name, desc, **kwargs)        self._suboptions = []        self._suboption = None        self.number = None    def __getattribute__(self, attr):        if attr == 'name':            name = self.__dict__[attr]            if self._suboption is not None:                name = '%s:%s' % (name, self._suboption.name)            return name        if attr == 'desc':            desc = self.__dict__[attr]            if self._suboption is not None:                desc = '%s, %s' % (desc, self._suboption.desc)            return desc        return super(Option, self).__getattribute__(attr)    def suboption(self, name, desc, **kwargs):        subo = SubOption(name, desc, **kwargs)        subo.config = self.config        subo.group = self.group        subo.option = self        subo.number = len(self._suboptions)        self._suboptions.append(subo)        return subo    def clone(self, suboptions=True):        option = Option(self.__dict__['name'], self.__dict__['desc'])        option.update(self)        option.group = self.group        option.config = self.config        option.number = self.number        if suboptions:            option._suboptions.extend(self._suboptions)            option._suboption = self._suboption        return option    def subopts(self):        if not self._suboptions:            return [ self ]        subopts = []        for subo in self._suboptions:            option = self.clone()            option._suboption = subo            subopts.append(option)        return subopts    def printinfo(self):        super(Option, self).printinfo()        print 'config: %s' % self.config.name        super(Option, self).printverbose()class Group(Data):     def __init__(self, name, desc, **kwargs):        super(Group, self).__init__(name, desc, **kwargs)        self._options = []        self.checkpoint = False        self.number = None    def option(self, name, desc, **kwargs):        opt = Option(name, desc, **kwargs)        opt.config = self.config        opt.group = self        opt.number = len(self._options)        self._options.append(opt)        return opt    def options(self):        return self._options    def subopts(self):        subopts = []        for opt in self._options:            for subo in opt.subopts():

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av性久久久久蜜臀aⅴ| 日韩欧美一二三四区| 久久久夜色精品亚洲| 成人免费的视频| 亚洲一区在线观看免费观看电影高清| 欧美精品在线一区二区三区| 国产在线麻豆精品观看| 亚洲天堂2016| 久久久国产一区二区三区四区小说 | 亚洲高清久久久| 国产日韩欧美高清| 欧美欧美欧美欧美| 东方aⅴ免费观看久久av| 亚瑟在线精品视频| 一区二区中文视频| 国产精品嫩草久久久久| 26uuu精品一区二区三区四区在线| 色综合久久综合网| 国产激情一区二区三区桃花岛亚洲| 亚洲国产综合色| 日韩一区精品视频| 亚洲图片欧美色图| 久久精品国产秦先生| 亚洲国产aⅴ成人精品无吗| 无码av免费一区二区三区试看| 国产精品女主播在线观看| 亚洲欧洲日韩av| 天堂蜜桃一区二区三区| 国产一区二区在线免费观看| 青青草97国产精品免费观看无弹窗版| 亚洲视频免费观看| 午夜精品国产更新| 国产成人在线视频网址| 欧美无乱码久久久免费午夜一区 | 欧美精品精品一区| 久久久久综合网| 一区二区三区四区高清精品免费观看| 国产亚洲短视频| 日本一区二区三区国色天香 | 亚洲日本在线视频观看| 午夜精品福利久久久| 大陆成人av片| 91精品国产入口在线| 欧美日韩国产小视频| 久久午夜电影网| 性欧美大战久久久久久久久| 成人免费看的视频| 精品国产乱码久久久久久牛牛| 日韩三级在线观看| 精品国产一区a| 一区二区三区在线观看网站| 国产一区二区精品久久99| 欧美一区二区三区系列电影| 国产精品久久久久三级| 亚洲日本va在线观看| 国产专区欧美精品| 这里只有精品免费| 精品国产99国产精品| 亚洲国产一区视频| 99精品视频中文字幕| 欧美视频精品在线| 亚洲日本va午夜在线影院| 国产精品1区2区3区在线观看| 成人在线视频一区| 久久久久久99精品| 美女视频黄a大片欧美| 欧美日韩国产不卡| 亚洲一区二区三区国产| 91色九色蝌蚪| 精品少妇一区二区三区免费观看 | 国产69精品久久777的优势| 日韩视频一区二区三区| 亚洲成人久久影院| 欧美亚洲综合另类| 天堂在线一区二区| 日韩精品一区二区三区老鸭窝 | 亚洲一线二线三线视频| 日本电影欧美片| 日韩亚洲电影在线| 日本午夜一本久久久综合| 97精品久久久久中文字幕| 中文字幕av一区二区三区免费看 | 国产一区二区三区av电影| 精品福利二区三区| 国产精品538一区二区在线| 国产人成亚洲第一网站在线播放| 国产激情偷乱视频一区二区三区 | 欧美最新大片在线看 | 日本一区二区三区免费乱视频| 国产一区二区在线影院| 国产精品日日摸夜夜摸av| 91丨porny丨国产入口| 亚洲美女在线一区| 不卡视频在线看| 精品对白一区国产伦| 国产传媒久久文化传媒| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 91美女在线看| 亚洲va国产va欧美va观看| 欧美电视剧免费观看| 成人免费观看视频| 亚洲大型综合色站| 欧美va亚洲va国产综合| 波多野结衣精品在线| 欧美mv和日韩mv国产网站| 高清在线不卡av| 亚洲丰满少妇videoshd| 久久精品一区二区三区av| 欧美中文字幕亚洲一区二区va在线| 三级一区在线视频先锋| 国产亚洲一区二区在线观看| 欧美日韩国产乱码电影| 福利电影一区二区三区| 亚洲一卡二卡三卡四卡| 精品成人佐山爱一区二区| 91最新地址在线播放| 免费看欧美女人艹b| 亚洲图片激情小说| 精品日韩欧美在线| 在线看不卡av| 成人黄色软件下载| 久久99久久99| 亚洲精品一区二区三区在线观看| 成人黄色电影在线| 久久99国产精品麻豆| 一区二区久久久| 中文字幕不卡三区| 久久夜色精品国产噜噜av| 精品视频免费在线| 免费观看在线综合色| 中文字幕日韩欧美一区二区三区| 日韩色视频在线观看| 欧美专区在线观看一区| 99久久久精品| 成人免费黄色在线| 国产成人免费高清| 久久99国产精品成人| 亚洲成av人片观看| 亚洲综合在线电影| 一区二区免费看| 亚洲女与黑人做爰| 中文文精品字幕一区二区| 国产色产综合色产在线视频 | 色综合一区二区| 亚洲国产精品久久不卡毛片| 国产精品伦一区| 久久精品男人天堂av| 国产日韩亚洲欧美综合| 国产女主播一区| 中文字幕国产一区| 中文字幕免费在线观看视频一区| 欧美精品一区二区三区高清aⅴ| 欧美一级艳片视频免费观看| 欧美日韩成人综合天天影院 | 亚洲男人电影天堂| 亚洲乱码国产乱码精品精的特点| 6080日韩午夜伦伦午夜伦| 色久优优欧美色久优优| 色综合久久综合| 欧美在线啊v一区| 欧美视频日韩视频在线观看| 欧美精品一二三| 欧美一区二区性放荡片| 精品福利一区二区三区免费视频| 国产亚洲综合av| 亚洲色图视频免费播放| 亚洲精选视频免费看| 亚洲成av人在线观看| 韩国av一区二区三区四区| 国产精品中文字幕一区二区三区| 成人免费视频一区| 在线亚洲欧美专区二区| 欧美精品第1页| 久久久久久久久一| 亚洲人吸女人奶水| 免费成人你懂的| www.爱久久.com| 欧美精品乱码久久久久久按摩| 精品少妇一区二区三区在线视频| 国产色产综合产在线视频| 一区二区三区在线观看网站| 免费在线看成人av| 91免费看片在线观看| 日韩一区和二区| 中文字幕五月欧美| 久久精品久久精品| 91久久精品午夜一区二区| 欧美不卡一区二区| 亚洲最新视频在线播放| 国内不卡的二区三区中文字幕| 91网页版在线| 久久蜜桃av一区精品变态类天堂 | 国产一区二区三区在线观看精品| 白白色 亚洲乱淫| 91精品蜜臀在线一区尤物| 1024亚洲合集| 国产一区二区三区国产| 欧美日韩中文字幕一区二区| 国产精品美女久久久久久2018 | 国产免费观看久久|