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

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

?? bcontextsynch.nc

?? tinios的 源碼
?? NC
字號:
/*									tab:4 * * * "Copyright (c) 2000-2002 The Regents of the University  of California.   * All rights reserved. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without written agreement is * hereby granted, provided that the above copyright notice, the following * two paragraphs and the author appear in all copies of this software. *  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." * *//*									tab:4 *  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.  By *  downloading, copying, installing or using the software you agree to *  this license.  If you do not agree to this license, do not download, *  install, copy or use the software. * *  Intel Open Source License  * *  Copyright (c) 2002 Intel Corporation  *  All rights reserved.  *  Redistribution and use in source and binary forms, with or without *  modification, are permitted provided that the following conditions are *  met: *  *	Redistributions of source code must retain the above copyright *  notice, this list of conditions and the following disclaimer. *	Redistributions in binary form must reproduce the above copyright *  notice, this list of conditions and the following disclaimer in the *  documentation and/or other materials provided with the distribution. *      Neither the name of the Intel Corporation nor the names of its *  contributors may be used to endorse or promote products derived from *  this software without specific prior written permission. *   *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *  PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE INTEL OR ITS *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *  *  *//* * Authors:   Philip Levis * History:   July 19, 2002 *	      * *//** * @author Philip Levis */includes Bombilla;module BContextSynch {  provides {    interface BombillaContextSynch as Synch;    interface BombillaAnalysis as Analysis;    interface StdControl;  }  uses {    interface BombillaError;    interface BombillaLocks as Locks;    interface BombillaInstruction as Instruction;    interface BombillaQueue as Queue;     interface BombillaStacks as Stacks;  }}implementation {  BombillaQueue readyQueue;    command result_t StdControl.init() {    call Queue.init(&readyQueue);    return SUCCESS;  }    command result_t StdControl.start() {    return SUCCESS;  }    command result_t StdControl.stop() {    return SUCCESS;  }  command void Synch.reboot() {    call Queue.init(&readyQueue);    call Locks.reboot();  }	  command bool Synch.isRunnable(BombillaContext* context) {     int8_t i;    uint16_t neededLocks = (context->acquireSet);    dbg(DBG_USR2, "VM: Checking whether context %i runnable: ", (int)context->which);    for (i = 0; i < BOMB_HEAPSIZE; i++) {      if (neededLocks & (1 << i)) {	if (call Locks.isLocked(i)) {	  dbg_clear(DBG_USR2, "no\n");	  return FALSE;	}      }    }    dbg_clear(DBG_USR2, "yes\n");    return TRUE;  }  command result_t Synch.obtainLocks(BombillaContext* caller,                                      BombillaContext* obtainer) {     int8_t i;    uint16_t neededLocks = (obtainer->acquireSet);    dbg(DBG_USR2, "VM: Attempting to obtain necessary locks for context %i\n", obtainer->which);    for (i = 0; i < BOMB_HEAPSIZE; i++) {      if (neededLocks & (1 << i)) {	call Locks.lock(obtainer, i);      }    }    obtainer->acquireSet = 0;    return SUCCESS;		  }  command result_t Synch.releaseLocks(BombillaContext* caller,                                       BombillaContext* releaser) {    int8_t i;    uint16_t lockSet = (releaser->releaseSet);    dbg(DBG_USR2, "VM: Attempting to release specified locks for context %i.\n", releaser->which);    for (i = 0; i < BOMB_HEAPSIZE; i++) {      if (lockSet & (1 << i)) {	call Locks.unlock(releaser, i);      }    }    releaser->releaseSet = 0;    return SUCCESS;		  }  command result_t Synch.releaseAllLocks(BombillaContext* caller,                                         BombillaContext* releaser) {    int8_t i;    uint16_t lockSet = (releaser->heldSet);    dbg(DBG_USR2, "VM: Attempting to release all locks for context %i.\n", releaser->which);    for (i = 0; i < BOMB_HEAPSIZE; i++) {      if (lockSet & (1 << i)) {	call Locks.unlock(releaser, i);      }    }    releaser->releaseSet = 0;    return SUCCESS;  }  command void Analysis.analyzeCapsuleVars(BombillaCapsuleBuffer* buf) {    int i;    dbg(DBG_USR2, "VM: Analyzing capsule vars for context %i: ", buf->capsule.type);    buf->usedVars = 0;    for (i = 0; i < BOMB_PGMSIZE; i++) {      if (call  Instruction.isVClass(buf->capsule.code[i])) {	uint8_t arg = (buf->capsule.code[i]) & VARG_MASK;	dbg_clear(DBG_USR2, "%i ", (int)arg);	buf->usedVars |= (1 << arg);      }    }    dbg_clear(DBG_USR2, "\n");    buf->haveSeen = 0;  } uint16_t capsuleCallsDeep(BombillaCapsuleBuffer* capsules[], int which) {    int i;    BombillaCapsuleBuffer* buf = capsules[which];    if (buf->haveSeen) {      return buf->usedVars;    }    buf->haveSeen = 1;    for (i = 0; i < BOMB_PGMSIZE; i++) {      if ((buf->capsule.code[i] & 0xfc) == OPcall0) {        uint8_t arg = (buf->capsule.code[i]) & 0x3;        buf->usedVars |= capsuleCallsDeep(capsules, arg);      }    }    return buf->usedVars; } command void Analysis.analyzeCapsuleCalls(BombillaCapsuleBuffer* capsules[]) {   int i;   int numCapsules = uniqueCount("Capsule");   for (i = 0; i < numCapsules; i++) {     capsuleCallsDeep(capsules, i);   } }  command void Synch.initializeContext(BombillaContext* context) {   context->heldSet = 0;   context->releaseSet = 0;   context->currentCapsule = &context->rootCapsule;   context->acquireSet = context->currentCapsule->usedVars;   context->pc = 0;   call Stacks.resetStacks(context);   context->queue = 0;   context->state = BOMB_STATE_HALT; } command void Synch.yieldContext(BombillaContext* context) {   BombillaContext* start = NULL;   BombillaContext* current = NULL;   dbg(DBG_USR2, "VM (%i): Yielding.\n", (int)context->which);   if (!call Queue.empty(&readyQueue)) {     do {       current = call Queue.dequeue(context, &readyQueue);       if (!call Synch.resumeContext(context, current)) {         dbg(DBG_USR2, "VM (%i): Context %i not runnable.\n", (int)context->which, (int)current->which);         if (start == NULL) {           start = current;         }         else if (start == current) {           dbg(DBG_USR2, "VM (%i): Looped on ready queue. End checks.\n", (int)context->which);           break;         }       }     }     while (!call Queue.empty(&readyQueue));   }   else {     dbg(DBG_USR2, "VM (%i): Ready queue empty.\n", (int)context->which);   } }  command bool Synch.resumeContext(BombillaContext* caller,                                  BombillaContext* context) {   context->state = BOMB_STATE_RESUMING;   if (call Synch.isRunnable(context)) {     call Synch.obtainLocks(caller, context);     signal Synch.makeRunnable(context);     dbg(DBG_USR2, "VM (%i): Resumption of %i successful.\n", (int)caller->which, (int)context->which);     return TRUE;   }   else {     dbg(DBG_USR2, "VM (%i): Resumption of %i unsuccessful, putting on the queue.\n", (int)caller->which, (int)context->which);      call Queue.enqueue(caller, &readyQueue, context);      return FALSE;    }	 } command void Synch.haltContext(BombillaContext* context) {   call Synch.releaseAllLocks(context, context);   call Synch.yieldContext(context);   context->state = BOMB_STATE_HALT;    // !!! Need something better here... it should    // dequeue a waiting context from any waiting situation    /*    if ((context->which == BOMB_CAPSULE_SEND_INDEX) &&	!call Queue.empty(&state->sendrWaitQueue)) {      BombillaContext* waiter = call Queue.dequeue(context, &state->sendrWaitQueue);      call Synch.resumeContext(context, waiter, &(state->readyQueue), state->locks);      }*/  }}            

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品每日更新| 国产精品免费视频一区| 在线亚洲精品福利网址导航| 不卡视频在线看| 国产**成人网毛片九色| av高清不卡在线| 波多野结衣视频一区| 91一区一区三区| 在线欧美日韩精品| 欧美高清精品3d| 日韩一区二区三区视频| 欧美videofree性高清杂交| 日韩免费视频线观看| 亚洲精品在线三区| 中文字幕二三区不卡| 国产精品久久二区二区| 亚洲美女在线一区| 亚洲成av人片在www色猫咪| 久久精品国产色蜜蜜麻豆| 精品一区免费av| 成人妖精视频yjsp地址| 99re成人精品视频| 91麻豆精品在线观看| 欧美偷拍一区二区| 日韩欧美色电影| 国产精品久久久久久久久免费樱桃 | 精品国产乱码久久久久久老虎| 欧美大黄免费观看| 中文字幕中文字幕一区| 亚洲综合一区二区三区| 免费成人美女在线观看| 成人精品视频一区二区三区 | 日韩欧美高清一区| 国产精品美女久久久久久2018| 亚洲男人的天堂一区二区| 五月天视频一区| 国产精品123| 欧洲生活片亚洲生活在线观看| 欧美日本在线看| 欧美韩国日本不卡| 日本伊人色综合网| 91视频免费看| 日本一区二区视频在线| 日本在线不卡视频| 91传媒视频在线播放| 2020国产精品自拍| 亚洲va韩国va欧美va| 99久久伊人精品| 精品奇米国产一区二区三区| 一区二区三区国产| av中文字幕一区| 国产人伦精品一区二区| 午夜影院久久久| 欧美主播一区二区三区| 国产精品成人一区二区艾草 | 亚洲色图视频网| 国产一区二区剧情av在线| 欧美日韩国产大片| 亚洲男人天堂av网| 国产高清一区日本| 亚洲精品在线免费观看视频| 三级欧美韩日大片在线看| 色综合天天天天做夜夜夜夜做| 国产日韩欧美激情| 国产乱子轮精品视频| 日韩一卡二卡三卡| 日韩国产高清在线| 91精品国产手机| 午夜精品成人在线| 欧美高清视频www夜色资源网| 亚洲国产视频在线| 欧美在线一二三| 亚洲精品国产精华液| 91麻豆福利精品推荐| 国产精品的网站| 97国产精品videossex| 国产精品高潮久久久久无| 国产成人av在线影院| 久久精品视频在线免费观看| 国产一区二区不卡| 国产片一区二区| 成人伦理片在线| 亚洲视频一区二区在线观看| 色综合久久久久久久久久久| 亚洲视频图片小说| 欧美性生活影院| 天堂在线一区二区| 精品国产免费视频| 国产成人精品一区二区三区四区| 精品国产乱码久久久久久牛牛| 国产一级精品在线| 国产精品免费久久久久| 色噜噜狠狠一区二区三区果冻| 亚洲综合一二区| 日韩视频在线观看一区二区| 国内精品久久久久影院薰衣草| 国产校园另类小说区| 色综合天天视频在线观看| 日日夜夜免费精品| 日本一区二区三区久久久久久久久不 | 亚洲男同性恋视频| 91精品国产色综合久久不卡电影| 精品亚洲国内自在自线福利| 国产亚洲精品7777| 欧美日韩在线综合| 国产麻豆成人传媒免费观看| 国产精品国产三级国产普通话蜜臀| 欧美亚洲综合另类| 麻豆成人av在线| 综合色天天鬼久久鬼色| 91精品国产美女浴室洗澡无遮挡| 国产成a人亚洲精品| 亚洲chinese男男1069| 久久嫩草精品久久久精品一| 一本大道av伊人久久综合| 青青草国产成人99久久| 亚洲女人****多毛耸耸8| 久久亚洲影视婷婷| 欧美巨大另类极品videosbest | 日本美女一区二区| 亚洲欧洲色图综合| 欧美电影免费观看高清完整版在线观看| 精品一区二区免费在线观看| 亚洲人成亚洲人成在线观看图片| 欧美一区二区精美| 欧美在线视频你懂得| 成人在线视频首页| 久久9热精品视频| 一区二区三区免费在线观看| 欧美精品一区二区三区久久久| 日本精品一区二区三区高清 | 制服丝袜亚洲色图| a级高清视频欧美日韩| 国产美女一区二区三区| 日韩一区精品视频| 亚洲图片欧美色图| 亚洲色图视频网站| 中文字幕在线一区| 国产午夜精品美女毛片视频| 91精品国产色综合久久| 欧美日韩三级一区二区| 色天使久久综合网天天| 91网上在线视频| av爱爱亚洲一区| 99久久精品久久久久久清纯| 成人精品免费视频| 国产69精品久久久久毛片| 美女视频黄免费的久久 | 午夜伦理一区二区| 亚洲成人免费影院| 婷婷综合另类小说色区| 亚洲影院在线观看| 亚洲国产一区二区视频| 日韩精品一级中文字幕精品视频免费观看 | www国产精品av| 久久美女高清视频| 国产欧美中文在线| 久久久99精品久久| 国产精品丝袜黑色高跟| 国产欧美精品国产国产专区| 中文字幕精品三区| 亚洲品质自拍视频| 午夜久久久久久久久| 日本最新不卡在线| 国产精品综合二区| 96av麻豆蜜桃一区二区| 99久久婷婷国产综合精品电影| 日本韩国精品在线| 91精品啪在线观看国产60岁| 欧美tickling挠脚心丨vk| 国产喂奶挤奶一区二区三区| **欧美大码日韩| 五月天激情小说综合| 精品在线观看视频| 色狠狠色狠狠综合| 日韩免费视频一区| 国产精品久久久久久久浪潮网站 | 日韩女优av电影| 国产精品美女久久久久av爽李琼 | 日韩成人午夜电影| 国产精品18久久久久| 91色porny在线视频| 欧美亚洲动漫制服丝袜| 欧美成人精品二区三区99精品| 国产欧美一区二区精品仙草咪| 亚洲乱码精品一二三四区日韩在线| 天天综合天天综合色| 国产99一区视频免费| 欧美群妇大交群中文字幕| 久久久久久久久久久久久女国产乱| 国产精品久久久久久久第一福利 | 国产乱对白刺激视频不卡| 91麻豆自制传媒国产之光| 日韩欧美一区在线观看| 亚洲视频 欧洲视频| 国产一区二区三区四区五区美女 | 欧美国产日本韩| 美女久久久精品| 欧美日韩一级黄| 欧美国产精品久久|