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

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

?? stackframe.java

?? 《深入java虛擬機(jī)》一書的光盤
?? JAVA
字號(hào):
/** Copyright (c) 1996-1999 Bill Venners. All Rights Reserved.** This Java source file is part of the Interactive Illustrations Web* Site, which is delivered in the applets directory of the CD-ROM* that accompanies the book "Inside the Java 2 Virtual Machine" by Bill* Venners, published by McGraw-Hill, 1999, ISBN: 0-07-135093-4. This* source file is provided for evaluation purposes only, but you can* redistribute it under certain conditions, described in the full* copyright notice below.** Full Copyright Notice:** All the web pages and Java applets delivered in the applets* directory of the CD-ROM, consisting of ".html," ".gif," ".class,"* and ".java" files, are copyrighted (c) 1996-1999 by Bill* Venners, and all rights are reserved.  This material may be copied* and placed on any commercial or non-commercial web server on any* network (including the internet) provided that the following* guidelines are followed:** a. All the web pages and Java Applets (".html," ".gif," ".class,"* and ".java" files), including the source code, that are delivered* in the applets directory of the CD-ROM that* accompanies the book must be published together on the same web* site.** b. All the web pages and Java Applets (".html," ".gif," ".class,"* and ".java" files) must be published "as is" and may not be altered* in any way.** c. All use and access to this web site must be free, and no fees* can be charged to view these materials, unless express written* permission is obtained from Bill Venners.** d. The web pages and Java Applets may not be distributed on any* media, other than a web server on a network, and may not accompany* any book or publication.** BILL VENNERS MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE* SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING* BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY,* FITNESS FOR PARTICULAR PURPOSE, OR NON-INFRINGEMENT.  BILL VENNERS* SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY A LICENSEE AS A* RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS* DERIVATIVES.*/package COM.artima.jvmsim;/*** This class represents the stack frame of the executing* method.** @author  Bill Venners*/class StackFrame {    // optop is pointer to top of operand stack. Always points    // to next location.    private int optop = 0;    private Object[] operandStack;    private Object[] localVars;    StackFrame(int maxStack, int maxLocals) {        if (maxStack > 65535 || maxLocals > 65535) {            throw new JVMSimError("maxStack = " + maxStack             + "maxLocals = " + maxLocals);        }        operandStack = new Object[maxStack];        localVars = new Object[maxLocals];    }    void resetState() {        optop = 0;        for (int i = 0; i < operandStack.length; ++i) {            operandStack[i] = null;        }        for (int i = 0; i < localVars.length; ++i) {            localVars[i] = null;        }    }    int getOptop() {        return optop;    }    Object[] getOperandStack() {        return operandStack;    }    Object[] getLocalVars() {        return localVars;    }    void setLocalDouble(int i, double theDouble) {        if (i + 1 >= localVars.length) { // use i + 1 because doubles take two            throw new JVMSimError();        }        localVars[i] = new Double(theDouble);        localVars[i + 1] = null;    }    void setLocalFloat(int i, float val) {        if (i >= localVars.length) {            throw new JVMSimError();        }        localVars[i] = new Float(val);    }    void setLocalInt(int i, int val) {        if (i >= localVars.length) {            throw new JVMSimError();        }        localVars[i] = new Integer(val);    }    void setLocalLong(int i, long theLong) {        if (i + 1 >= localVars.length) { // use i + 1 because longs take two            throw new JVMSimError();        }        localVars[i] = new Long(theLong);        localVars[i + 1] = null;    }    void setLocalObject(int i, Object val) {        if (i >= localVars.length) {            throw new JVMSimError();        }        localVars[i] = val;    }    double getLocalDouble(int i) { // untested        if (i >= localVars.length) {            throw new JVMSimError();        }        return ((Double) localVars[i]).doubleValue();    }    float getLocalFloat(int i) {        if (i >= localVars.length) {            throw new JVMSimError();        }        return ((Float) localVars[i]).floatValue();    }    int getLocalInt(int i) {        if (i >= localVars.length) {            throw new JVMSimError();        }        return ((Integer) localVars[i]).intValue();    }    long getLocalLong(int i) { // untested        if (i >= localVars.length) {            throw new JVMSimError();        }        return ((Long) localVars[i]).longValue();    }    Object getLocalObject(int i) {        if (i >= localVars.length) {            throw new JVMSimError();        }        return localVars[i];    }    void pushDouble(double theDouble) { // untested        if (optop >= operandStack.length) {            throw new JVMSimError("optop = " + optop);        }        operandStack[optop] = new Double(theDouble);        operandStack[optop + 1] = null;        optop += 2; // A double occupies two words on the stack    }    void pushFloat(float f) {        if (optop >= operandStack.length) {            throw new JVMSimError("optop = " + optop);        }        operandStack[optop] = new Float(f);        ++optop;    }    void pushInt(int val) {        if (optop >= operandStack.length) {            throw new JVMSimError("optop = " + optop);        }        operandStack[optop] = new Integer(val);        ++optop;    }    void pushLong(long theLong) { // untested        if (optop >= operandStack.length) {            throw new JVMSimError("optop = " + optop);        }        operandStack[optop] = new Long(theLong);        operandStack[optop + 1] = null;        optop += 2; // A long occupies two words on the stack    }    void pushObject(Object theObject) {        if (optop >= operandStack.length) {            throw new JVMSimError("optop = " + optop);        }        operandStack[optop] = theObject;        ++optop;    }    void pushReturnAddress(ReturnAddress retAddr) {        if (optop >= operandStack.length) {            throw new JVMSimError("optop = " + optop);        }        operandStack[optop] = retAddr;        ++optop;    }    double popDouble() {        if (optop <= 1) { // Use 1 because double occupies two slots            throw new JVMSimError();        }        optop -= 2;        double theDouble = ((Double) operandStack[optop]).doubleValue();        operandStack[optop] = null; // make available for gc        return theDouble;    }    float popFloat() {        if (optop <= 0) {            throw new JVMSimError();        }        --optop;        float f = ((Float) operandStack[optop]).floatValue();        operandStack[optop] = null; // make available for gc        return f;    }    int popInt() {        if (optop <= 0) {            throw new JVMSimError();        }        --optop;        int val = ((Integer) operandStack[optop]).intValue();        operandStack[optop] = null; // make available for gc        return val;    }    long popLong() {        if (optop <= 1) { // Use 1 because long occupies two slots            throw new JVMSimError();        }        optop -= 2;        long theLong = ((Long) operandStack[optop]).longValue();        operandStack[optop] = null; // make available for gc        return theLong;    }    Object popObject() {        if (optop <= 0) {            throw new JVMSimError();        }        --optop;        Object theObject = operandStack[optop];        operandStack[optop] = null; // make available for gc        return theObject;    }    ReturnAddress popReturnAddress() {        if (optop <= 0) {            throw new JVMSimError();        }        --optop;        ReturnAddress retAddr = (ReturnAddress) operandStack[optop];        operandStack[optop] = null; // make available for gc        return retAddr;    }	void pop() {        if (optop <= 0) {            throw new JVMSimError();        }        --optop;        operandStack[optop] = null; // make available for gc	}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久理论电影网| 97精品国产露脸对白| 欧美成人欧美edvon| 久久草av在线| 亚洲国产经典视频| 91黄色免费看| 日本伊人色综合网| 久久综合久久久久88| 国产成人精品免费在线| 日韩毛片视频在线看| 91伊人久久大香线蕉| 午夜av一区二区| 26uuu亚洲婷婷狠狠天堂| 成人综合激情网| 亚洲国产一区二区三区青草影视| 正在播放一区二区| 国产成人精品免费网站| 一区二区三区四区av| 日韩一级片网站| 99久久99精品久久久久久| 亚洲第一电影网| 国产亚洲va综合人人澡精品| 91浏览器入口在线观看| 日本亚洲三级在线| 国产精品美女久久久久久久久久久 | 不卡的电影网站| 亚洲成年人网站在线观看| 2014亚洲片线观看视频免费| 91视频www| 久久99久国产精品黄毛片色诱| 中文字幕一区二区三区乱码在线 | 国产福利不卡视频| 亚洲国产人成综合网站| 国产欧美一区二区精品久导航 | 国产精品毛片高清在线完整版| 在线观看日韩一区| 国产精品中文字幕欧美| 午夜精品123| 国产精品毛片无遮挡高清| 欧美一区二区三区日韩视频| 91农村精品一区二区在线| 国产在线精品一区二区不卡了| 亚洲九九爱视频| 国产午夜精品久久久久久久| 欧美乱妇15p| 91色婷婷久久久久合中文| 精品一区二区国语对白| 一区二区三区在线看| 国产精品欧美久久久久无广告 | 国产精品拍天天在线| 欧美videossexotv100| 欧美日韩国产美女| 色婷婷久久久综合中文字幕| 国产suv一区二区三区88区| 免费国产亚洲视频| 亚洲大片精品永久免费| 亚洲黄色免费电影| 国产精品国产三级国产普通话蜜臀| 日韩午夜在线观看| 制服丝袜中文字幕亚洲| 在线观看视频一区二区欧美日韩| 国产盗摄一区二区| 国产在线精品国自产拍免费| 日本不卡的三区四区五区| 亚洲h在线观看| 亚洲一区二区美女| 一区二区三区在线视频观看| 1区2区3区精品视频| 国产精品国产三级国产aⅴ入口 | 一区二区三区蜜桃| 亚洲天堂中文字幕| 亚洲女同女同女同女同女同69| 国产女主播视频一区二区| 亚洲精品一区在线观看| 欧美xxx久久| 精品国产精品网麻豆系列| 精品国产网站在线观看| www激情久久| 国产亚洲一二三区| 中文字幕国产精品一区二区| 国产欧美综合在线观看第十页 | 国产精品久久久久久久岛一牛影视| 精品免费日韩av| 久久久亚洲高清| 亚洲国产精品成人综合| 中文字幕av不卡| 国产亚洲欧美日韩俺去了| 欧美一激情一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲成人综合在线| 青草av.久久免费一区| 久久精品国产澳门| 国产精品中文字幕日韩精品| 成人福利视频在线| 日本久久电影网| 欧美另类变人与禽xxxxx| 日韩欧美国产一区二区三区| 2020国产精品自拍| 国产精品美女视频| 亚洲一区二区偷拍精品| 理论电影国产精品| 国产91高潮流白浆在线麻豆| 成人av资源网站| 欧美日韩国产一区| 久久亚洲精品国产精品紫薇| 中文字幕亚洲一区二区av在线| 夜夜揉揉日日人人青青一国产精品 | 91精品国产欧美日韩| 久久精品一区八戒影视| 亚洲精品成人天堂一二三| 97久久超碰国产精品电影| 欧美日韩免费观看一区二区三区| 777奇米成人网| 国产精品伦一区二区三级视频| 亚洲6080在线| 国产高清精品网站| 欧美丝袜丝nylons| 国产欧美日韩在线看| 亚洲国产精品自拍| 高清国产午夜精品久久久久久| 欧美视频精品在线观看| 久久伊99综合婷婷久久伊| 一区二区三区在线观看国产 | 国产精品嫩草影院com| 亚洲h动漫在线| 成人开心网精品视频| 欧美一区二区三区视频在线观看| 中文字幕成人av| 久久精品国产免费看久久精品| www.亚洲免费av| 久久久亚洲国产美女国产盗摄| 日韩一卡二卡三卡国产欧美| 日韩欧美国产成人一区二区| 亚洲视频一区在线观看| 精品无码三级在线观看视频 | 欧美人狂配大交3d怪物一区| 国产日产精品1区| 看片的网站亚洲| 色94色欧美sute亚洲线路二| 国产午夜精品在线观看| 久久99久久精品| 777午夜精品免费视频| 一区二区三区 在线观看视频| 国产精品一区免费在线观看| 日韩一区二区精品在线观看| 亚洲国产美女搞黄色| 91丨国产丨九色丨pron| 欧美激情艳妇裸体舞| 国产一区二区三区高清播放| 欧美浪妇xxxx高跟鞋交| 一区二区在线免费| 91麻豆福利精品推荐| 国产精品不卡一区| a级高清视频欧美日韩| 欧美激情资源网| 国产成人丝袜美腿| 国产色产综合产在线视频| 精品午夜久久福利影院| 精品欧美黑人一区二区三区| 热久久久久久久| 日韩视频不卡中文| 老色鬼精品视频在线观看播放| 日韩一区和二区| 九九视频精品免费| 精品99999| 国产成人综合视频| 国产女人aaa级久久久级| 懂色av一区二区三区免费观看| 国产日韩av一区| 不卡在线观看av| 有坂深雪av一区二区精品| 欧美主播一区二区三区美女| 夜夜精品浪潮av一区二区三区| 欧美影院午夜播放| 五月综合激情婷婷六月色窝| 欧美一区二区视频免费观看| 久久99这里只有精品| 精品sm在线观看| www.色精品| 夜夜亚洲天天久久| 欧美一级爆毛片| 丁香激情综合国产| 一区二区三区日本| 91精品国产乱码| 国产电影精品久久禁18| 国产精品视频麻豆| 欧美在线观看视频一区二区 | 亚洲欧美自拍偷拍| 在线看国产一区| 麻豆成人综合网| 国产精品福利一区二区三区| 欧美伊人久久大香线蕉综合69| 欧美96一区二区免费视频| 国产亚洲欧美一区在线观看| heyzo一本久久综合| 日韩精品亚洲一区二区三区免费| 欧美精品一区二区三区高清aⅴ | 欧美精选午夜久久久乱码6080| 免费观看30秒视频久久| 国产精品视频一二三|