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

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

?? interpreter.java

?? 主要的怎么樣結合java 和 javascript!
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * The contents of this file are subject to the Netscape Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/NPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is Rhino code, released * May 6, 1999. * * The Initial Developer of the Original Code is Netscape * Communications Corporation.  Portions created by Netscape are * Copyright (C) 1997-2000 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): * Patrick Beard * Norris Boyd * Igor Bukanov * Ethan Hugg * Terry Lucas * Roger Lawrence * Milen Nankov * * Alternatively, the contents of this file may be used under the * terms of the GNU Public License (the "GPL"), in which case the * provisions of the GPL are applicable instead of those above. * If you wish to allow use of your version of this file only * under the terms of the GPL and not to allow others to use your * version of this file under the NPL, indicate your decision by * deleting the provisions above and replace them with the notice * and other provisions required by the GPL.  If you do not delete * the provisions above, a recipient may use your version of this * file under either the NPL or the GPL. */package org.mozilla.javascript;import java.io.PrintStream;import java.io.Serializable;import org.mozilla.javascript.continuations.Continuation;import org.mozilla.javascript.debug.DebugFrame;public class Interpreter{// Additional interpreter-specific codes    private static final int    // Stack: ... value1 -> ... value1 value1        Icode_DUP                       = -1,    // Stack: ... value2 value1 -> ... value2 value1 value2 value1        Icode_DUP2                      = -2,    // Stack: ... value2 value1 -> ... value1 value2        Icode_SWAP                      = -3,    // Stack: ... value1 -> ...        Icode_POP                       = -4,    // Store stack top into return register and then pop it        Icode_POP_RESULT                = -5,    // To jump conditionally and pop additional stack value        Icode_IFEQ_POP                  = -6,    // various types of ++/--        Icode_VAR_INC_DEC               = -7,        Icode_NAME_INC_DEC              = -8,        Icode_PROP_INC_DEC              = -9,        Icode_ELEM_INC_DEC              = -10,        Icode_REF_INC_DEC               = -11,    // load/save scope from/to local        Icode_SCOPE_LOAD                = -12,        Icode_SCOPE_SAVE                = -13,        Icode_TYPEOFNAME                = -14,    // helper for function calls        Icode_NAME_AND_THIS             = -15,        Icode_PROP_AND_THIS             = -16,        Icode_ELEM_AND_THIS             = -17,        Icode_VALUE_AND_THIS            = -18,    // Create closure object for nested functions        Icode_CLOSURE_EXPR              = -19,        Icode_CLOSURE_STMT              = -20,    // Special calls        Icode_CALLSPECIAL               = -21,    // To return undefined value        Icode_RETUNDEF                  = -22,    // Exception handling implementation        Icode_GOSUB                     = -23,        Icode_STARTSUB                  = -24,        Icode_RETSUB                    = -25,    // To indicating a line number change in icodes.        Icode_LINE                      = -26,    // To store shorts and ints inline        Icode_SHORTNUMBER               = -27,        Icode_INTNUMBER                 = -28,    // To create and populate array to hold values for [] and {} literals        Icode_LITERAL_NEW               = -29,        Icode_LITERAL_SET               = -30,    // Array literal with skipped index like [1,,2]        Icode_SPARE_ARRAYLIT            = -31,    // Load index register to prepare for the following index operation        Icode_REG_IND_C0                = -32,        Icode_REG_IND_C1                = -33,        Icode_REG_IND_C2                = -34,        Icode_REG_IND_C3                = -35,        Icode_REG_IND_C4                = -36,        Icode_REG_IND_C5                = -37,        Icode_REG_IND1                  = -38,        Icode_REG_IND2                  = -39,        Icode_REG_IND4                  = -40,    // Load string register to prepare for the following string operation        Icode_REG_STR_C0                = -41,        Icode_REG_STR_C1                = -42,        Icode_REG_STR_C2                = -43,        Icode_REG_STR_C3                = -44,        Icode_REG_STR1                  = -45,        Icode_REG_STR2                  = -46,        Icode_REG_STR4                  = -47,    // Version of getvar/setvar that read var index directly from bytecode        Icode_GETVAR1                   = -48,        Icode_SETVAR1                   = -49,    // Load unefined        Icode_UNDEF                     = -50,        Icode_ZERO                      = -51,        Icode_ONE                       = -52,    // entrance and exit from .()       Icode_ENTERDQ                    = -53,       Icode_LEAVEDQ                    = -54,       Icode_TAIL_CALL                  = -55,       // Clear local to allow GC its context       Icode_LOCAL_CLEAR                = -56,    // Last icode        MIN_ICODE                       = -56;    // data for parsing    private CompilerEnvirons compilerEnv;    private boolean itsInFunctionFlag;    private InterpreterData itsData;    private ScriptOrFnNode scriptOrFn;    private int itsICodeTop;    private int itsStackDepth;    private int itsLineNumber;    private int itsDoubleTableTop;    private ObjToIntMap itsStrings = new ObjToIntMap(20);    private int itsLocalTop;    private static final int MIN_LABEL_TABLE_SIZE = 32;    private static final int MIN_FIXUP_TABLE_SIZE = 40;    private int[] itsLabelTable;    private int itsLabelTableTop;// itsFixupTable[i] = (label_index << 32) | fixup_site    private long[] itsFixupTable;    private int itsFixupTableTop;    private ObjArray itsLiteralIds = new ObjArray();    private int itsExceptionTableTop;    private static final int EXCEPTION_TRY_START_SLOT  = 0;    private static final int EXCEPTION_TRY_END_SLOT    = 1;    private static final int EXCEPTION_HANDLER_SLOT    = 2;    private static final int EXCEPTION_TYPE_SLOT       = 3;    private static final int EXCEPTION_LOCAL_SLOT      = 4;    private static final int EXCEPTION_SCOPE_SLOT      = 5;    // SLOT_SIZE: space for try start/end, handler, start, handler type,    //            exception local and scope local    private static final int EXCEPTION_SLOT_SIZE       = 6;// ECF_ or Expression Context Flags constants: for now only TAIL is available    private static final int ECF_TAIL = 1 << 0;    /**     * Class to hold data corresponding to one interpreted call stack frame.     */    private static class CallFrame implements Cloneable, Serializable    {        static final long serialVersionUID = -2843792508994958978L;        CallFrame parentFrame;        // amount of stack frames before this one on the interpretation stack        int frameIndex;        // If true indicates read-only frame that is a part of continuation        boolean frozen;        InterpretedFunction fnOrScript;        InterpreterData idata;// Stack structure// stack[0 <= i < localShift]: arguments and local variables// stack[localShift <= i <= emptyStackTop]: used for local temporaries// stack[emptyStackTop < i < stack.length]: stack data// sDbl[i]: if stack[i] is UniqueTag.DOUBLE_MARK, sDbl[i] holds the number value        Object[] stack;        double[] sDbl;        CallFrame varSource; // defaults to this unless continuation frame        int localShift;        int emptyStackTop;        DebugFrame debuggerFrame;        boolean useActivation;        Scriptable thisObj;        Scriptable[] scriptRegExps;// The values that change during interpretation        Object result;        double resultDbl;        int pc;        int pcPrevBranch;        int pcSourceLineStart;        Scriptable scope;        int savedStackTop;        int savedCallOp;        CallFrame cloneFrozen()        {            if (!frozen) Kit.codeBug();            CallFrame copy;            try {                copy = (CallFrame)clone();            } catch (CloneNotSupportedException ex) {                throw new IllegalStateException();            }            // clone stack but keep varSource to point to values            // from this frame to share variables.            copy.stack = (Object[])stack.clone();            copy.sDbl = (double[])sDbl.clone();            copy.frozen = false;            return copy;        }    }    private static final class ContinuationJump implements Serializable    {        static final long serialVersionUID = 7687739156004308247L;        CallFrame capturedFrame;        CallFrame branchFrame;        Object result;        double resultDbl;        ContinuationJump(Continuation c, CallFrame current)        {            this.capturedFrame = (CallFrame)c.getImplementation();            if (this.capturedFrame == null || current == null) {                // Continuation and current execution does not share                // any frames if there is nothing to capture or                // if there is no currently executed frames                this.branchFrame = null;            } else {                // Search for branch frame where parent frame chains starting                // from captured and current meet.                CallFrame chain1 = this.capturedFrame;                CallFrame chain2 = current;                // First work parents of chain1 or chain2 until the same                // frame depth.                int diff = chain1.frameIndex - chain2.frameIndex;                if (diff != 0) {                    if (diff < 0) {                        // swap to make sure that                        // chain1.frameIndex > chain2.frameIndex and diff > 0                        chain1 = current;                        chain2 = this.capturedFrame;                        diff = -diff;                    }                    do {                        chain1 = chain1.parentFrame;                    } while (--diff != 0);                    if (chain1.frameIndex != chain2.frameIndex) Kit.codeBug();                }                // Now walk parents in parallel until a shared frame is found                // or until the root is reached.                while (chain1 != chain2 && chain1 != null) {                    chain1 = chain1.parentFrame;                    chain2 = chain2.parentFrame;                }                this.branchFrame = chain1;                if (this.branchFrame != null && !this.branchFrame.frozen)                    Kit.codeBug();            }        }    }    static {        // Checks for byte code consistencies, good compiler can eliminate them        if (Token.LAST_BYTECODE_TOKEN > 127) {            String str = "Violation of Token.LAST_BYTECODE_TOKEN <= 127";            System.err.println(str);            throw new IllegalStateException(str);        }        if (MIN_ICODE < -128) {            String str = "Violation of Interpreter.MIN_ICODE >= -128";            System.err.println(str);            throw new IllegalStateException(str);        }    }    private static String bytecodeName(int bytecode)    {        if (!validBytecode(bytecode)) {            throw new IllegalArgumentException(String.valueOf(bytecode));        }        if (!Token.printICode) {            return String.valueOf(bytecode);        }        if (validTokenCode(bytecode)) {            return Token.name(bytecode);        }        switch (bytecode) {          case Icode_DUP:              return "DUP";          case Icode_DUP2:             return "DUP2";          case Icode_SWAP:             return "SWAP";          case Icode_POP:              return "POP";          case Icode_POP_RESULT:       return "POP_RESULT";          case Icode_IFEQ_POP:         return "IFEQ_POP";          case Icode_VAR_INC_DEC:      return "VAR_INC_DEC";          case Icode_NAME_INC_DEC:     return "NAME_INC_DEC";          case Icode_PROP_INC_DEC:     return "PROP_INC_DEC";          case Icode_ELEM_INC_DEC:     return "ELEM_INC_DEC";          case Icode_REF_INC_DEC:      return "REF_INC_DEC";          case Icode_SCOPE_LOAD:       return "SCOPE_LOAD";          case Icode_SCOPE_SAVE:       return "SCOPE_SAVE";          case Icode_TYPEOFNAME:       return "TYPEOFNAME";          case Icode_NAME_AND_THIS:    return "NAME_AND_THIS";          case Icode_PROP_AND_THIS:    return "PROP_AND_THIS";          case Icode_ELEM_AND_THIS:    return "ELEM_AND_THIS";          case Icode_VALUE_AND_THIS:   return "VALUE_AND_THIS";          case Icode_CLOSURE_EXPR:     return "CLOSURE_EXPR";          case Icode_CLOSURE_STMT:     return "CLOSURE_STMT";          case Icode_CALLSPECIAL:      return "CALLSPECIAL";          case Icode_RETUNDEF:         return "RETUNDEF";          case Icode_GOSUB:            return "GOSUB";          case Icode_STARTSUB:         return "STARTSUB";          case Icode_RETSUB:           return "RETSUB";          case Icode_LINE:             return "LINE";          case Icode_SHORTNUMBER:      return "SHORTNUMBER";          case Icode_INTNUMBER:        return "INTNUMBER";          case Icode_LITERAL_NEW:      return "LITERAL_NEW";          case Icode_LITERAL_SET:      return "LITERAL_SET";          case Icode_SPARE_ARRAYLIT:   return "SPARE_ARRAYLIT";

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
性欧美疯狂xxxxbbbb| 91美女精品福利| 国内精品伊人久久久久av一坑| 2024国产精品| 91精品国产免费| 日本道精品一区二区三区| jlzzjlzz亚洲女人18| 极品尤物av久久免费看| 亚洲已满18点击进入久久| xnxx国产精品| 精品国产免费人成在线观看| 欧美一级在线免费| 欧美日韩亚洲高清一区二区| 色综合色狠狠综合色| 丁香婷婷综合激情五月色| 久久国产精品色| 美女久久久精品| 午夜精品久久久久久久久| 亚洲黄一区二区三区| 亚洲色图欧美偷拍| 国产欧美一区二区在线| 精品福利视频一区二区三区| 91精品国产色综合久久| 欧美日韩国产影片| 欧美视频一区二区三区四区| 欧洲精品中文字幕| 色欧美88888久久久久久影院| 福利电影一区二区| 97国产一区二区| 一本大道av一区二区在线播放| 99re热视频精品| 91亚洲国产成人精品一区二三| 国内精品国产成人| 国产河南妇女毛片精品久久久| 国产高清精品网站| av成人免费在线| 在线观看不卡一区| 69久久99精品久久久久婷婷| 精品盗摄一区二区三区| 精品国产免费人成在线观看| 国产亚洲精品资源在线26u| 国产精品免费视频一区| 亚洲美女在线一区| 懂色av一区二区三区免费看| 不卡视频在线看| 欧美日韩久久久| 欧美xxxxx牲另类人与| 国产午夜精品理论片a级大结局| 一区二区三区在线免费视频| 日韩精品五月天| 成人一区二区在线观看| 在线这里只有精品| 日韩美一区二区三区| 国产欧美一区二区三区网站| 午夜国产精品影院在线观看| 国产精品原创巨作av| 色猫猫国产区一区二在线视频| 欧美久久一二三四区| 国产精品女主播av| 久久www免费人成看片高清| 91麻豆产精品久久久久久| 56国语精品自产拍在线观看| 日韩一区在线看| 精品综合免费视频观看| www.在线欧美| 日韩免费电影一区| 亚洲一区在线电影| 奇米在线7777在线精品| 日本韩国欧美在线| 中文字幕不卡在线播放| 久久成人久久爱| 7777女厕盗摄久久久| 一级精品视频在线观看宜春院 | 麻豆91免费看| 91精品福利视频| 久久婷婷成人综合色| 日本va欧美va精品发布| 91久久精品网| 亚洲美女屁股眼交| 91美女精品福利| 国产精品福利一区| 丁香六月综合激情| 久久综合成人精品亚洲另类欧美| 日韩精品亚洲专区| 久久久精品蜜桃| 狂野欧美性猛交blacked| 这里只有精品电影| 日韩成人免费看| 91精品国产入口| 九一九一国产精品| 精品国产露脸精彩对白| 视频一区二区三区中文字幕| 911精品国产一区二区在线| 亚洲图片欧美一区| 欧美理论电影在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美理论片在线| 蜜桃视频在线一区| 日韩视频一区二区三区在线播放 | 精品一区二区三区在线播放视频| 日韩精品一区二区在线观看| 国产一区二区福利| 中文字幕高清一区| 99久久er热在这里只有精品15| 亚洲精品久久7777| 色综合激情五月| 五月天婷婷综合| 久久综合久久鬼色中文字| 激情偷乱视频一区二区三区| www国产精品av| 99久久婷婷国产| 狠狠色丁香婷婷综合久久片| 欧美三电影在线| 免费成人在线影院| 国产精品久久久久久久久动漫| 色婷婷综合视频在线观看| 日韩av中文字幕一区二区| 久久久三级国产网站| 欧美色网站导航| 美女在线观看视频一区二区| 国产亚洲一区二区三区在线观看| 99视频精品在线| 激情综合色综合久久| 一区二区三区在线免费| 精品欧美黑人一区二区三区| 99国内精品久久| 国产一区视频在线看| 亚洲国产乱码最新视频| 国产丝袜在线精品| 91精品国产免费| 日韩一区二区三区电影在线观看| 成人白浆超碰人人人人| 久久99精品久久只有精品| 亚洲成a人片综合在线| 中文字幕欧美区| 精品国产欧美一区二区| 欧美日韩成人一区二区| av一区二区三区四区| 视频一区在线播放| 亚洲一区二区三区四区在线免费观看 | 在线精品视频一区二区三四| 成人国产精品免费观看动漫| 国产精品自拍av| 美女一区二区视频| 蜜桃av噜噜一区| 青青国产91久久久久久| 亚洲电影一区二区| 亚洲国产精品一区二区久久| 一区二区在线观看视频在线观看| 亚洲特级片在线| 国产精品另类一区| 一区二区免费视频| 久久97超碰国产精品超碰| 国产成人精品www牛牛影视| 91社区在线播放| 精品国产一区二区三区av性色| 精品国产网站在线观看| 国产精品福利在线播放| 天天综合日日夜夜精品| 国产乱一区二区| 欧美精选午夜久久久乱码6080| 久久久久久9999| 亚洲成人免费在线| 成人性生交大片免费看在线播放| 在线视频国产一区| 国产性色一区二区| 日韩电影免费一区| 色综合色综合色综合色综合色综合 | 欧美日韩中文一区| 91精品国产入口| 国产精品素人视频| 亚洲国产一区二区三区| 激情文学综合网| 播五月开心婷婷综合| 91精品国产91久久久久久最新毛片 | 九九视频精品免费| 99久久精品免费看国产免费软件| 欧美日韩综合在线| 久久久九九九九| 亚洲成av人综合在线观看| 国内一区二区视频| 欧美亚洲国产一区二区三区va | 一区二区三区精品视频| 玖玖九九国产精品| 欧日韩精品视频| 欧美激情在线一区二区| 亚洲成年人影院| 99麻豆久久久国产精品免费优播| 欧美一区二区视频在线观看2020 | 欧美一区二区三区免费大片| 欧美一级国产精品| 亚洲精品一区二区在线观看| 欧美激情一区二区三区四区| 久久综合久久综合九色| 亚洲日本护士毛茸茸| 久久国产剧场电影| 91看片淫黄大片一级在线观看| 3d动漫精品啪啪| 一区二区久久久久久| 成人短视频下载|