Package org.mozilla.javascript.optimizer

## Class OptRuntime

- java.lang.Object
- - org.mozilla.javascript.ScriptRuntime
  - - org.mozilla.javascript.optimizer.OptRuntime

-     public final class OptRuntime
      extends ScriptRuntime

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `OptRuntime.GeneratorState` |

    - ### Nested classes/interfaces inherited from class org.mozilla.javascript.ScriptRuntime

      `ScriptRuntime.MessageProvider`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.Double` | `minusOneObj` |
    `static java.lang.Double` | `oneObj` |
    `static java.lang.Double` | `zeroObj` |

    - ### Fields inherited from class org.mozilla.javascript.ScriptRuntime

      `BooleanClass, ByteClass, CharacterClass, ClassClass, ContextClass, ContextFactoryClass, DateClass, DoubleClass, emptyArgs, emptyStrings, ENUMERATE_ARRAY, ENUMERATE_ARRAY_NO_ITERATOR, ENUMERATE_KEYS, ENUMERATE_KEYS_NO_ITERATOR, ENUMERATE_VALUES, ENUMERATE_VALUES_IN_ORDER, ENUMERATE_VALUES_NO_ITERATOR, FloatClass, FunctionClass, IntegerClass, LongClass, messageProvider, NaN, NaNobj, negativeZero, NumberClass, ObjectClass, ROOT_LOCALE, ScriptableClass, ScriptableObjectClass, ShortClass, StringClass`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `OptRuntime()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static java.lang.Object` | `add​(double val1, java.lang.Object val2)` |
    `static java.lang.Object` | `add​(java.lang.Object val1, double val2)` |
    `static Function` | `bindThis​(NativeFunction fn, Context cx, Scriptable scope, Scriptable thisObj)` |
    `static java.lang.Object` | `call0​(Callable fun, Scriptable thisObj, Context cx, Scriptable scope)` | Implement ....() call shrinking optimizer code.
    `static java.lang.Object` | `call1​(Callable fun, Scriptable thisObj, java.lang.Object arg0, Context cx, Scriptable scope)` | Implement ....(arg) call shrinking optimizer code.
    `static java.lang.Object` | `call2​(Callable fun, Scriptable thisObj, java.lang.Object arg0, java.lang.Object arg1, Context cx, Scriptable scope)` | Implement ....(arg0, arg1) call shrinking optimizer code.
    `static java.lang.Object` | `callN​(Callable fun, Scriptable thisObj, java.lang.Object[] args, Context cx, Scriptable scope)` | Implement ....(arg0, arg1, ...) call shrinking optimizer code.
    `static java.lang.Object` | `callName​(java.lang.Object[] args, java.lang.String name, Context cx, Scriptable scope)` | Implement name(args) call shrinking optimizer code.
    `static java.lang.Object` | `callName0​(java.lang.String name, Context cx, Scriptable scope)` | Implement name() call shrinking optimizer code.
    `static java.lang.Object` | `callProp0​(java.lang.Object value, java.lang.String property, Context cx, Scriptable scope)` | Implement x.property() call shrinking optimizer code.
    `static java.lang.Object` | `callSpecial​(Context cx, Callable fun, Scriptable thisObj, java.lang.Object[] args, Scriptable scope, Scriptable callerThis, int callType, java.lang.String fileName, int lineNumber)` |
    `static Scriptable` | `createNativeGenerator​(NativeFunction funObj, Scriptable scope, Scriptable thisObj, int maxLocals, int maxStack)` |
    `static java.lang.Object` | `elemIncrDecr​(java.lang.Object obj, double index, Context cx, int incrDecrMask)` | Deprecated. Use `elemIncrDecr(Object, double, Context, Scriptable, int)` instead
    `static java.lang.Object` | `elemIncrDecr​(java.lang.Object obj, double index, Context cx, Scriptable scope, int incrDecrMask)` |
    `static java.lang.Object[]` | `getGeneratorLocalsState​(java.lang.Object obj)` |
    `static java.lang.Object[]` | `getGeneratorStackState​(java.lang.Object obj)` |
    `static void` | `initFunction​(NativeFunction fn, int functionType, Scriptable scope, Context cx)` |
    `static void` | `main​(Script script, java.lang.String[] args)` |
    `static Scriptable` | `newArrayLiteral​(java.lang.Object[] objects, java.lang.String encodedInts, int skipCount, Context cx, Scriptable scope)` |
    `static java.lang.Object` | `newObjectSpecial​(Context cx, java.lang.Object fun, java.lang.Object[] args, Scriptable scope, Scriptable callerThis, int callType)` |
    `static java.lang.Object[]` | `padStart​(java.lang.Object[] currentArgs, int count)` |
    `static void` | `throwStopIteration​(java.lang.Object obj)` |
    `static java.lang.Double` | `wrapDouble​(double num)` |

    - ### Methods inherited from class org.mozilla.javascript.ScriptRuntime

      `add, add, add, addInstructionCount, applyOrCall, bind, call, callRef, checkRegExpProxy, cmp_LE, cmp_LT, constructError, constructError, constructError, createArrowFunctionActivation, createFunctionActivation, createFunctionActivation, delete, delete, delete, deleteObjectElem, doTopCall, doTopCall, elemIncrDecr, elemIncrDecr, enterActivationFunction, enterDotQuery, enterWith, enumId, enumInit, enumInit, enumInit, enumNext, enumValue, eq, escapeAttributeValue, escapeString, escapeString, escapeTextValue, evalSpecial, exitActivationFunction, getArrayElements, getElemFunctionAndThis, getElemFunctionAndThis, getGlobal, getLibraryScopeOrNull, getMessage, getMessage0, getMessage1, getMessage2, getMessage3, getMessage4, getNameFunctionAndThis, getObjectElem, getObjectElem, getObjectElem, getObjectIndex, getObjectIndex, getObjectIndex, getObjectProp, getObjectProp, getObjectProp, getObjectPropNoWarn, getObjectPropNoWarn, getPropFunctionAndThis, getPropFunctionAndThis, getRegExpProxy, getTopCallScope, getTopLevelProp, getValueFunctionAndThis, hasObjectElem, hasTopCall, in, indexFromString, initFunction, initSafeStandardObjects, initScript, initStandardObjects, instanceOf, isArrayObject, isJSLineTerminator, isJSWhitespaceOrLineTerminator, isNaN, isPrimitive, isRhinoRuntimeType, jsDelegatesTo, lastStoredScriptable, lastUint32Result, leaveDotQuery, leaveWith, memberRef, memberRef, name, nameIncrDecr, nameIncrDecr, nameRef, nameRef, newArrayLiteral, newBuiltinObject, newCatchScope, newObject, newObject, newObjectLiteral, newObjectLiteral, newSpecial, notFoundError, notFunctionError, notFunctionError, notFunctionError, numberToString, padArguments, propIncrDecr, propIncrDecr, rangeError, refDel, refGet, refIncrDecr, refIncrDecr, refSet, refSet, same, searchDefaultNamespace, setBuiltinProtoAndParent, setConst, setDefaultNamespace, setEnumNumbers, setFunctionProtoAndParent, setName, setObjectElem, setObjectElem, setObjectElem, setObjectIndex, setObjectIndex, setObjectIndex, setObjectProp, setObjectProp, setObjectProp, setObjectProtoAndParent, setRegExpProxy, shallowEq, specialRef, specialRef, storeUint32Result, strictSetName, testUint32String, throwCustomError, throwError, toBoolean, toCharSequence, toInt32, toInt32, toInt32, toInteger, toInteger, toInteger, toIterator, toNumber, toNumber, toNumber, toObject, toObject, toObject, toObject, toObjectOrNull, toObjectOrNull, toPrimitive, toPrimitive, toString, toString, toString, toUint16, toUint32, toUint32, typeError, typeError0, typeError1, typeError2, typeError3, typeErrorThrower, typeErrorThrower, typeof, typeofName, undefCallError, undefReadError, undefWriteError, updateDotQuery, wrapBoolean, wrapException, wrapInt, wrapNumber, wrapRegExp`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### zeroObj

          public static final java.lang.Double zeroObj

    - #### oneObj

          public static final java.lang.Double oneObj

    - #### minusOneObj

          public static final java.lang.Double minusOneObj

  - ### Constructor Detail

    - #### OptRuntime

          public OptRuntime()

  - ### Method Detail

    - #### call0

          public static java.lang.Object call0​(Callable fun,
                                               Scriptable thisObj,
                                               Context cx,
                                               Scriptable scope)

      Implement ....() call shrinking optimizer code.

    - #### call1

          public static java.lang.Object call1​(Callable fun,
                                               Scriptable thisObj,
                                               java.lang.Object arg0,
                                               Context cx,
                                               Scriptable scope)

      Implement ....(arg) call shrinking optimizer code.

    - #### call2

          public static java.lang.Object call2​(Callable fun,
                                               Scriptable thisObj,
                                               java.lang.Object arg0,
                                               java.lang.Object arg1,
                                               Context cx,
                                               Scriptable scope)

      Implement ....(arg0, arg1) call shrinking optimizer code.

    - #### callN

          public static java.lang.Object callN​(Callable fun,
                                               Scriptable thisObj,
                                               java.lang.Object[] args,
                                               Context cx,
                                               Scriptable scope)

      Implement ....(arg0, arg1, ...) call shrinking optimizer code.

    - #### callName

          public static java.lang.Object callName​(java.lang.Object[] args,
                                                  java.lang.String name,
                                                  Context cx,
                                                  Scriptable scope)

      Implement name(args) call shrinking optimizer code.

    - #### callName0

          public static java.lang.Object callName0​(java.lang.String name,
                                                   Context cx,
                                                   Scriptable scope)

      Implement name() call shrinking optimizer code.

    - #### callProp0

          public static java.lang.Object callProp0​(java.lang.Object value,
                                                   java.lang.String property,
                                                   Context cx,
                                                   Scriptable scope)

      Implement x.property() call shrinking optimizer code.

    - #### add

          public static java.lang.Object add​(java.lang.Object val1,
                                             double val2)

    - #### add

          public static java.lang.Object add​(double val1,
                                             java.lang.Object val2)

    - #### elemIncrDecr

          @Deprecated
          public static java.lang.Object elemIncrDecr​(java.lang.Object obj,
                                                      double index,
                                                      Context cx,
                                                      int incrDecrMask)

      Deprecated.
      Use `elemIncrDecr(Object, double, Context, Scriptable, int)` instead

    - #### elemIncrDecr

          public static java.lang.Object elemIncrDecr​(java.lang.Object obj,
                                                      double index,
                                                      Context cx,
                                                      Scriptable scope,
                                                      int incrDecrMask)

    - #### padStart

          public static java.lang.Object[] padStart​(java.lang.Object[] currentArgs,
                                                    int count)

    - #### initFunction

          public static void initFunction​(NativeFunction fn,
                                          int functionType,
                                          Scriptable scope,
                                          Context cx)

    - #### bindThis

          public static Function bindThis​(NativeFunction fn,
                                          Context cx,
                                          Scriptable scope,
                                          Scriptable thisObj)

    - #### callSpecial

          public static java.lang.Object callSpecial​(Context cx,
                                                     Callable fun,
                                                     Scriptable thisObj,
                                                     java.lang.Object[] args,
                                                     Scriptable scope,
                                                     Scriptable callerThis,
                                                     int callType,
                                                     java.lang.String fileName,
                                                     int lineNumber)

    - #### newObjectSpecial

          public static java.lang.Object newObjectSpecial​(Context cx,
                                                          java.lang.Object fun,
                                                          java.lang.Object[] args,
                                                          Scriptable scope,
                                                          Scriptable callerThis,
                                                          int callType)

    - #### wrapDouble

          public static java.lang.Double wrapDouble​(double num)

    - #### newArrayLiteral

          public static Scriptable newArrayLiteral​(java.lang.Object[] objects,
                                                   java.lang.String encodedInts,
                                                   int skipCount,
                                                   Context cx,
                                                   Scriptable scope)

    - #### main

          public static void main​(Script script,
                                  java.lang.String[] args)

    - #### throwStopIteration

          public static void throwStopIteration​(java.lang.Object obj)

    - #### createNativeGenerator

          public static Scriptable createNativeGenerator​(NativeFunction funObj,
                                                         Scriptable scope,
                                                         Scriptable thisObj,
                                                         int maxLocals,
                                                         int maxStack)

    - #### getGeneratorStackState

          public static java.lang.Object[] getGeneratorStackState​(java.lang.Object obj)

    - #### getGeneratorLocalsState

          public static java.lang.Object[] getGeneratorLocalsState​(java.lang.Object obj)