Classes | Namespaces | Defines | Typedefs | Enumerations | Functions | Variables

jscntxt.h File Reference

#include "jsarena.h"
#include "jsclist.h"
#include "jslong.h"
#include "jsatom.h"
#include "jsversion.h"
#include "jsdhash.h"
#include "jsgc.h"
#include "jsinterp.h"
#include "jsobj.h"
#include "jsprvtd.h"
#include "jspubtd.h"
#include "jsregexp.h"
#include "jsutil.h"
#include "jsarray.h"
#include "jstask.h"
#include "jsvector.h"
#include "js.msg"
Include dependency graph for jscntxt.h:

Classes

struct  JSGSNCache
struct  InterpState
struct  TraceNativeStorage
struct  GlobalState
struct  JSTraceMonitor
struct  JSLocalRootChunk
struct  JSLocalRootStack
struct  JSThreadData
struct  JSThread
struct  JSThreadsHashEntry
struct  JSPropertyTreeEntry
struct  JSSetSlotRequest
struct  JSRuntime
struct  JSStackHeader
struct  JSResolvingKey
struct  JSResolvingEntry
struct  JSContext
class  js::ContextAllocPolicy

Namespaces

namespace  nanojit
 

Fundamentally, the arguments to the various operands can be grouped along two dimensions.


namespace  js

Defines

#define GSN_CACHE_METER(cache, cnt)
#define js_FinishGSNCache(cache)   js_PurgeGSNCache(cache)
#define JS_PURGE_GSN_CACHE(cx)   js_PurgeGSNCache(&JS_GSN_CACHE(cx))
#define JS_METER_GSN_CACHE(cx, cnt)   GSN_CACHE_METER(&JS_GSN_CACHE(cx), cnt)
#define JS_ON_TRACE(cx)   (JS_TRACE_MONITOR(cx).tracecx != NULL)
#define JS_EVAL_CACHE_SHIFT   6
#define JS_EVAL_CACHE_SIZE   JS_BIT(JS_EVAL_CACHE_SHIFT)
#define JSLRS_CHUNK_SHIFT   8
#define JSLRS_CHUNK_SIZE   JS_BIT(JSLRS_CHUNK_SHIFT)
#define JSLRS_CHUNK_MASK   JS_BITMASK(JSLRS_CHUNK_SHIFT)
#define NATIVE_ENUM_CACHE_LOG2   8
#define NATIVE_ENUM_CACHE_MASK   JS_BITMASK(NATIVE_ENUM_CACHE_LOG2)
#define NATIVE_ENUM_CACHE_SIZE   JS_BIT(NATIVE_ENUM_CACHE_LOG2)
#define NATIVE_ENUM_CACHE_HASH(shape)   ((((shape) >> NATIVE_ENUM_CACHE_LOG2) ^ (shape)) & NATIVE_ENUM_CACHE_MASK)
#define JS_THREAD_DATA(cx)   (&(cx)->thread->data)
#define NO_TITLE_SHARING_TODO   ((JSTitle *) 0xfeedbeef)
#define ENUM_CACHE_METER(name)   ((void) 0)
#define JS_GSN_CACHE(cx)   (JS_THREAD_DATA(cx)->gsnCache)
#define JS_PROPERTY_CACHE(cx)   (JS_THREAD_DATA(cx)->propertyCache)
#define JS_TRACE_MONITOR(cx)   (JS_THREAD_DATA(cx)->traceMonitor)
#define JS_SCRIPTS_TO_GC(cx)   (JS_THREAD_DATA(cx)->scriptsToGC)
#define EVAL_CACHE_METER(x)   ((void) 0)
#define JS_RUNTIME_METER(rt, which)
#define JS_RUNTIME_UNMETER(rt, which)
#define JS_KEEP_ATOMS(rt)   JS_ATOMIC_INCREMENT(&(rt)->gcKeepAtoms);
#define JS_UNKEEP_ATOMS(rt)   JS_ATOMIC_DECREMENT(&(rt)->gcKeepAtoms);
#define JS_STACK_SEGMENT(sh)   ((jsval *)(sh) + 2)
#define JSRESFLAG_LOOKUP   0x1
#define JSRESFLAG_WATCH   0x2
#define JSTVU_SINGLE   (-1)
#define JSTVU_TRACE   (-2)
#define JSTVU_SPROP   (-3)
#define JSTVU_WEAK_ROOTS   (-4)
#define JSTVU_COMPILER   (-5)
#define JSTVU_SCRIPT   (-6)
#define JSTVU_ENUMERATOR   (-7)
#define JS_PUSH_TEMP_ROOT_COMMON(cx, x, tvr, cnt, kind)
#define JS_POP_TEMP_ROOT(cx, tvr)
#define JS_PUSH_TEMP_ROOT(cx, cnt, arr, tvr)
#define JS_PUSH_SINGLE_TEMP_ROOT(cx, val, tvr)   JS_PUSH_TEMP_ROOT_COMMON(cx, val, tvr, JSTVU_SINGLE, value)
#define JS_PUSH_TEMP_ROOT_OBJECT(cx, obj, tvr)   JS_PUSH_TEMP_ROOT_COMMON(cx, obj, tvr, JSTVU_SINGLE, object)
#define JS_PUSH_TEMP_ROOT_STRING(cx, str, tvr)   JS_PUSH_SINGLE_TEMP_ROOT(cx, str ? STRING_TO_JSVAL(str) : JSVAL_NULL, tvr)
#define JS_PUSH_TEMP_ROOT_XML(cx, xml_, tvr)   JS_PUSH_TEMP_ROOT_COMMON(cx, xml_, tvr, JSTVU_SINGLE, xml)
#define JS_PUSH_TEMP_ROOT_TRACE(cx, trace_, tvr)   JS_PUSH_TEMP_ROOT_COMMON(cx, trace_, tvr, JSTVU_TRACE, trace)
#define JS_PUSH_TEMP_ROOT_SPROP(cx, sprop_, tvr)   JS_PUSH_TEMP_ROOT_COMMON(cx, sprop_, tvr, JSTVU_SPROP, sprop)
#define JS_PUSH_TEMP_ROOT_WEAK_COPY(cx, weakRoots_, tvr)   JS_PUSH_TEMP_ROOT_COMMON(cx, weakRoots_, tvr, JSTVU_WEAK_ROOTS, weakRoots)
#define JS_PUSH_TEMP_ROOT_COMPILER(cx, pc, tvr)   JS_PUSH_TEMP_ROOT_COMMON(cx, pc, tvr, JSTVU_COMPILER, compiler)
#define JS_PUSH_TEMP_ROOT_SCRIPT(cx, script_, tvr)   JS_PUSH_TEMP_ROOT_COMMON(cx, script_, tvr, JSTVU_SCRIPT, script)
#define JSRESOLVE_INFER   0xffff
#define JS_DISPLAY_SIZE   16U
#define CX_FROM_THREAD_LINKS(tl)   ((JSContext *)((char *)(tl) - offsetof(JSContext, threadLinks)))
#define CREATE_BODY(parms)
#define JS_THREAD_ID(cx)   ((cx)->thread ? (cx)->thread->id : 0)
#define JS_HAS_OPTION(cx, option)   (((cx)->options & (option)) != 0)
#define JS_HAS_STRICT_OPTION(cx)   JS_HAS_OPTION(cx, JSOPTION_STRICT)
#define JS_HAS_WERROR_OPTION(cx)   JS_HAS_OPTION(cx, JSOPTION_WERROR)
#define JS_HAS_COMPILE_N_GO_OPTION(cx)   JS_HAS_OPTION(cx, JSOPTION_COMPILE_N_GO)
#define JS_HAS_ATLINE_OPTION(cx)   JS_HAS_OPTION(cx, JSOPTION_ATLINE)
#define JSVERSION_MASK   0x0FFF
#define JSVERSION_HAS_XML   0x1000
#define JSVERSION_ANONFUNFIX   0x2000
#define JSVERSION_NUMBER(cx)
#define JS_HAS_XML_OPTION(cx)
#define js_LeaveLocalRootScope(cx)   js_LeaveLocalRootScopeWithResult(cx, JSVAL_NULL)
#define MSG_DEF(name, number, count, exception, format)   name = number,
#define JS_CHECK_RECURSION(cx, onerror)
#define js_ReportValueError(cx, errorNumber, spindex, v, fallback)
#define js_ReportValueError2(cx, errorNumber, spindex, v, fallback, arg1)
#define js_ReportValueError3(cx, errorNumber, spindex, v, fallback, arg1, arg2)
#define JS_CHECK_STACK_SIZE(cx, lval)   ((jsuword)&(lval) > (cx)->stackLimit)
#define JS_CHECK_OPERATION_LIMIT(cx)   (!(cx)->operationCallbackFlag || js_InvokeOperationCallback(cx))

Typedefs

typedef struct JSGSNCache JSGSNCache
typedef Queue< uint16SlotList
typedef nanojit::HashMap
< REHashKey, REFragment
*, REHashFn > 
REHashMap
typedef struct InterpStruct InterpStruct
typedef enum JSDestroyContextMode JSDestroyContextMode
typedef enum JSRuntimeState JSRuntimeState
typedef enum JSBuiltinFunctionId JSBuiltinFunctionId
typedef struct JSPropertyTreeEntry JSPropertyTreeEntry
typedef struct JSSetSlotRequest JSSetSlotRequest
typedef struct JSResolvingKey JSResolvingKey
typedef struct JSResolvingEntry JSResolvingEntry
typedef enum JSErrNum JSErrNum

Enumerations

enum  JSDestroyContextMode { JSDCM_NO_GC, JSDCM_MAYBE_GC, JSDCM_FORCE_GC, JSDCM_NEW_FAILED }
enum  JSRuntimeState { JSRTS_DOWN, JSRTS_LAUNCHING, JSRTS_UP, JSRTS_LANDING }
enum  JSBuiltinFunctionId { JSBUILTIN_ObjectToIterator, JSBUILTIN_CallIteratorNext, JSBUILTIN_LIMIT }
enum  JSErrNum

Functions

void js_PurgeGSNCache (JSGSNCache *cache)
JSThreadjs_CurrentThread (JSRuntime *rt)
JSBool js_InitContextThread (JSContext *cx)
void js_ClearContextThread (JSContext *cx)
JSThreadDatajs_CurrentThreadData (JSRuntime *rt)
JSBool js_InitThreads (JSRuntime *rt)
void js_FinishThreads (JSRuntime *rt)
void js_PurgeThreads (JSContext *cx)
void js_TraceThreads (JSRuntime *rt, JSTracer *trc)
void js_SyncOptionsToVersion (JSContext *cx)
void js_OnVersionChange (JSContext *cx)
void js_SetVersion (JSContext *cx, JSVersion version)
JSContextjs_NewContext (JSRuntime *rt, size_t stackChunkSize)
void js_DestroyContext (JSContext *cx, JSDestroyContextMode mode)
JSBool js_ValidContextPointer (JSRuntime *rt, JSContext *cx)
JSContextjs_ContextIterator (JSRuntime *rt, JSBool unlocked, JSContext **iterp)
JSContextjs_NextActiveContext (JSRuntime *, JSContext *)
uint32 js_CountThreadRequests (JSContext *cx)
void js_WaitForGC (JSRuntime *rt)
uint32 js_DiscountRequestsForGC (JSContext *cx)
void js_RecountRequestsAfterGC (JSRuntime *rt, uint32 requestDebit)
JSBool js_StartResolving (JSContext *cx, JSResolvingKey *key, uint32 flag, JSResolvingEntry **entryp)
void js_StopResolving (JSContext *cx, JSResolvingKey *key, uint32 flag, JSResolvingEntry *entry, uint32 generation)
JSBool js_EnterLocalRootScope (JSContext *cx)
void js_LeaveLocalRootScopeWithResult (JSContext *cx, jsval rval)
void js_ForgetLocalRoot (JSContext *cx, jsval v)
int js_PushLocalRoot (JSContext *cx, JSLocalRootStack *lrs, jsval v)
 MSG_DEF (JSMSG_PAREN_AFTER_LET, 52, 0, JSEXN_SYNTAXERR,"missing ) after let head") MSG_DEF(JSMSG_UNMATCHED_RIGHT_PAREN
unmatched in regular expression MSG_DEF (JSMSG_PAREN_AFTER_FORMAL, 71, 0, JSEXN_SYNTAXERR,"missing ) after formal parameters") MSG_DEF(JSMSG_PAREN_AFTER_COND
unmatched in regular
expression missing after
condition 
MSG_DEF (JSMSG_PAREN_AFTER_SWITCH, 81, 0, JSEXN_SYNTAXERR,"missing ) after switch expression") MSG_DEF(JSMSG_PAREN_AFTER_FOR_CTRL
unmatched in regular
expression missing after
condition missing after for
loop control 
MSG_DEF (JSMSG_PAREN_AFTER_CATCH, 93, 0, JSEXN_SYNTAXERR,"missing ) after catch") MSG_DEF(JSMSG_PAREN_AFTER_WITH
unmatched in regular
expression missing after
condition missing after for
loop control missing after
with statement object 
MSG_DEF (JSMSG_PAREN_AFTER_ARGS, 104, 0, JSEXN_SYNTAXERR,"missing ) after argument list") MSG_DEF(JSMSG_PAREN_IN_PAREN
unmatched in regular
expression missing after
condition missing after for
loop control missing after
with statement object missing
in parenthetical 
MSG_DEF (JSMSG_EQUAL_AS_ASSIGN, 112, 1, JSEXN_SYNTAXERR,"test for equality (==) mistyped as assignment (=)?{0}") JSErr_Limit
const JSErrorFormatStringjs_GetErrorMessage (void *userRef, const char *locale, const uintN errorNumber)
void js_ReportOutOfMemory (JSContext *cx)
void js_ReportOutOfScriptQuota (JSContext *cx)
void js_ReportOverRecursed (JSContext *cx)
void js_ReportAllocationOverflow (JSContext *cx)
void js_ReportErrorAgain (JSContext *cx, const char *message, JSErrorReport *report)
void js_ReportIsNotDefined (JSContext *cx, const char *name)
JSBool js_ReportIsNullOrUndefined (JSContext *cx, intN spindex, jsval v, JSString *fallback)
void js_ReportMissingArg (JSContext *cx, jsval *vp, uintN arg)
JSBool js_ReportValueErrorFlags (JSContext *cx, uintN flags, const uintN errorNumber, intN spindex, jsval v, JSString *fallback, const char *arg1, const char *arg2)
JSBool js_InvokeOperationCallback (JSContext *cx)
void js_TriggerAllOperationCallbacks (JSRuntime *rt, JSBool gcLocked)
JSStackFramejs_GetScriptedCaller (JSContext *cx, JSStackFrame *fp)
jsbytecodejs_GetCurrentBytecodePC (JSContext *cx)
bool js_CurrentPCIsInImacro (JSContext *cx)
void js_DeepBail (JSContext *cx)

Variables

const uint32 JSLRS_NULL_MARK = uint32(-1)
const size_t JS_GC_THREAD_MALLOC_LIMIT = 1 << 19
JSErrorFormatString js_ErrorFormatString [JSErr_Limit]

Define Documentation

#define CREATE_BODY (   parms  ) 
Value:
void *memory = this->malloc(sizeof(T));                                   \
    if (!memory)                                                              \
        return NULL;                                                          \
    return new(memory) T parms;
#define CX_FROM_THREAD_LINKS (   tl  )     ((JSContext *)((char *)(tl) - offsetof(JSContext, threadLinks)))
#define ENUM_CACHE_METER (   name  )     ((void) 0)
#define EVAL_CACHE_METER (   x  )     ((void) 0)
#define GSN_CACHE_METER (   cache,
  cnt 
)
#define JS_CHECK_OPERATION_LIMIT (   cx  )     (!(cx)->operationCallbackFlag || js_InvokeOperationCallback(cx))
#define JS_CHECK_RECURSION (   cx,
  onerror 
)
Value:
JS_BEGIN_MACRO                                                            \
        int stackDummy_;                                                      \
                                                                              \
        if (!JS_CHECK_STACK_SIZE(cx, stackDummy_)) {                          \
            js_ReportOverRecursed(cx);                                        \
            onerror;                                                          \
        }                                                                     \
    JS_END_MACRO
#define JS_CHECK_STACK_SIZE (   cx,
  lval 
)    ((jsuword)&(lval) > (cx)->stackLimit)
#define JS_DISPLAY_SIZE   16U
#define JS_EVAL_CACHE_SHIFT   6
#define JS_EVAL_CACHE_SIZE   JS_BIT(JS_EVAL_CACHE_SHIFT)
#define js_FinishGSNCache (   cache  )     js_PurgeGSNCache(cache)
#define JS_GSN_CACHE (   cx  )     (JS_THREAD_DATA(cx)->gsnCache)
#define JS_HAS_ATLINE_OPTION (   cx  )     JS_HAS_OPTION(cx, JSOPTION_ATLINE)
#define JS_HAS_COMPILE_N_GO_OPTION (   cx  )     JS_HAS_OPTION(cx, JSOPTION_COMPILE_N_GO)
#define JS_HAS_OPTION (   cx,
  option 
)    (((cx)->options & (option)) != 0)
#define JS_HAS_STRICT_OPTION (   cx  )     JS_HAS_OPTION(cx, JSOPTION_STRICT)
#define JS_HAS_WERROR_OPTION (   cx  )     JS_HAS_OPTION(cx, JSOPTION_WERROR)
#define JS_HAS_XML_OPTION (   cx  ) 
Value:
((cx)->version & JSVERSION_HAS_XML || \
                                         JSVERSION_NUMBER(cx) >= JSVERSION_1_6)
#define JS_KEEP_ATOMS (   rt  )     JS_ATOMIC_INCREMENT(&(rt)->gcKeepAtoms);
#define js_LeaveLocalRootScope (   cx  )     js_LeaveLocalRootScopeWithResult(cx, JSVAL_NULL)
#define JS_METER_GSN_CACHE (   cx,
  cnt 
)    GSN_CACHE_METER(&JS_GSN_CACHE(cx), cnt)
#define JS_ON_TRACE (   cx  )     (JS_TRACE_MONITOR(cx).tracecx != NULL)
#define JS_POP_TEMP_ROOT (   cx,
  tvr 
)
Value:
JS_BEGIN_MACRO                                                            \
        JS_ASSERT((cx)->tempValueRooters == (tvr));                           \
        (cx)->tempValueRooters = (tvr)->down;                                 \
    JS_END_MACRO
#define JS_PROPERTY_CACHE (   cx  )     (JS_THREAD_DATA(cx)->propertyCache)
#define JS_PURGE_GSN_CACHE (   cx  )     js_PurgeGSNCache(&JS_GSN_CACHE(cx))
#define JS_PUSH_SINGLE_TEMP_ROOT (   cx,
  val,
  tvr 
)    JS_PUSH_TEMP_ROOT_COMMON(cx, val, tvr, JSTVU_SINGLE, value)
#define JS_PUSH_TEMP_ROOT (   cx,
  cnt,
  arr,
  tvr 
)
Value:
JS_BEGIN_MACRO                                                            \
        JS_ASSERT((int)(cnt) >= 0);                                           \
        JS_PUSH_TEMP_ROOT_COMMON(cx, arr, tvr, (ptrdiff_t) (cnt), array);     \
    JS_END_MACRO
#define JS_PUSH_TEMP_ROOT_COMMON (   cx,
  x,
  tvr,
  cnt,
  kind 
)
Value:
JS_BEGIN_MACRO                                                            \
        JS_ASSERT((cx)->tempValueRooters != (tvr));                           \
        (tvr)->count = (cnt);                                                 \
        (tvr)->u.kind = (x);                                                  \
        (tvr)->down = (cx)->tempValueRooters;                                 \
        (cx)->tempValueRooters = (tvr);                                       \
    JS_END_MACRO
#define JS_PUSH_TEMP_ROOT_COMPILER (   cx,
  pc,
  tvr 
)    JS_PUSH_TEMP_ROOT_COMMON(cx, pc, tvr, JSTVU_COMPILER, compiler)
#define JS_PUSH_TEMP_ROOT_OBJECT (   cx,
  obj,
  tvr 
)    JS_PUSH_TEMP_ROOT_COMMON(cx, obj, tvr, JSTVU_SINGLE, object)
#define JS_PUSH_TEMP_ROOT_SCRIPT (   cx,
  script_,
  tvr 
)    JS_PUSH_TEMP_ROOT_COMMON(cx, script_, tvr, JSTVU_SCRIPT, script)
#define JS_PUSH_TEMP_ROOT_SPROP (   cx,
  sprop_,
  tvr 
)    JS_PUSH_TEMP_ROOT_COMMON(cx, sprop_, tvr, JSTVU_SPROP, sprop)
#define JS_PUSH_TEMP_ROOT_STRING (   cx,
  str,
  tvr 
)    JS_PUSH_SINGLE_TEMP_ROOT(cx, str ? STRING_TO_JSVAL(str) : JSVAL_NULL, tvr)
#define JS_PUSH_TEMP_ROOT_TRACE (   cx,
  trace_,
  tvr 
)    JS_PUSH_TEMP_ROOT_COMMON(cx, trace_, tvr, JSTVU_TRACE, trace)
#define JS_PUSH_TEMP_ROOT_WEAK_COPY (   cx,
  weakRoots_,
  tvr 
)    JS_PUSH_TEMP_ROOT_COMMON(cx, weakRoots_, tvr, JSTVU_WEAK_ROOTS, weakRoots)
#define JS_PUSH_TEMP_ROOT_XML (   cx,
  xml_,
  tvr 
)    JS_PUSH_TEMP_ROOT_COMMON(cx, xml_, tvr, JSTVU_SINGLE, xml)
#define js_ReportValueError (   cx,
  errorNumber,
  spindex,
  v,
  fallback 
)
Value:
((void)js_ReportValueErrorFlags(cx, JSREPORT_ERROR, errorNumber,          \
                                    spindex, v, fallback, NULL, NULL))
#define js_ReportValueError2 (   cx,
  errorNumber,
  spindex,
  v,
  fallback,
  arg1 
)
Value:
((void)js_ReportValueErrorFlags(cx, JSREPORT_ERROR, errorNumber,          \
                                    spindex, v, fallback, arg1, NULL))
#define js_ReportValueError3 (   cx,
  errorNumber,
  spindex,
  v,
  fallback,
  arg1,
  arg2 
)
Value:
((void)js_ReportValueErrorFlags(cx, JSREPORT_ERROR, errorNumber,          \
                                    spindex, v, fallback, arg1, arg2))
#define JS_RUNTIME_METER (   rt,
  which 
)
#define JS_RUNTIME_UNMETER (   rt,
  which 
)
#define JS_SCRIPTS_TO_GC (   cx  )     (JS_THREAD_DATA(cx)->scriptsToGC)
#define JS_STACK_SEGMENT (   sh  )     ((jsval *)(sh) + 2)
#define JS_THREAD_DATA (   cx  )     (&(cx)->thread->data)
#define JS_THREAD_ID (   cx  )     ((cx)->thread ? (cx)->thread->id : 0)
#define JS_TRACE_MONITOR (   cx  )     (JS_THREAD_DATA(cx)->traceMonitor)
#define JS_UNKEEP_ATOMS (   rt  )     JS_ATOMIC_DECREMENT(&(rt)->gcKeepAtoms);
#define JSLRS_CHUNK_MASK   JS_BITMASK(JSLRS_CHUNK_SHIFT)
#define JSLRS_CHUNK_SHIFT   8
#define JSLRS_CHUNK_SIZE   JS_BIT(JSLRS_CHUNK_SHIFT)
#define JSRESFLAG_LOOKUP   0x1
#define JSRESFLAG_WATCH   0x2
#define JSRESOLVE_INFER   0xffff
#define JSTVU_COMPILER   (-5)
#define JSTVU_ENUMERATOR   (-7)
#define JSTVU_SCRIPT   (-6)
#define JSTVU_SINGLE   (-1)
#define JSTVU_SPROP   (-3)
#define JSTVU_TRACE   (-2)
#define JSTVU_WEAK_ROOTS   (-4)
#define JSVERSION_ANONFUNFIX   0x2000
#define JSVERSION_HAS_XML   0x1000
#define JSVERSION_MASK   0x0FFF
#define JSVERSION_NUMBER (   cx  ) 
Value:
((JSVersion)((cx)->version &          \
                                                     JSVERSION_MASK))
#define MSG_DEF (   name,
  number,
  count,
  exception,
  format 
)    name = number,
#define NATIVE_ENUM_CACHE_HASH (   shape  )     ((((shape) >> NATIVE_ENUM_CACHE_LOG2) ^ (shape)) & NATIVE_ENUM_CACHE_MASK)
#define NATIVE_ENUM_CACHE_LOG2   8
#define NATIVE_ENUM_CACHE_MASK   JS_BITMASK(NATIVE_ENUM_CACHE_LOG2)
#define NATIVE_ENUM_CACHE_SIZE   JS_BIT(NATIVE_ENUM_CACHE_LOG2)
#define NO_TITLE_SHARING_TODO   ((JSTitle *) 0xfeedbeef)

Typedef Documentation

typedef struct InterpStruct InterpStruct
typedef enum JSErrNum JSErrNum
typedef struct JSGSNCache JSGSNCache
typedef nanojit::HashMap<REHashKey, REFragment*, REHashFn> REHashMap
typedef Queue<uint16> SlotList

Enumeration Type Documentation

Enumerator:
JSBUILTIN_ObjectToIterator 
JSBUILTIN_CallIteratorNext 
JSBUILTIN_LIMIT 
Enumerator:
JSDCM_NO_GC 
JSDCM_MAYBE_GC 
JSDCM_FORCE_GC 
JSDCM_NEW_FAILED 
enum JSErrNum
Enumerator:
JSRTS_DOWN 
JSRTS_LAUNCHING 
JSRTS_UP 
JSRTS_LANDING 

Function Documentation

void js_ClearContextThread ( JSContext cx  ) 
JSContext* js_ContextIterator ( JSRuntime rt,
JSBool  unlocked,
JSContext **  iterp 
)
uint32 js_CountThreadRequests ( JSContext cx  ) 
bool js_CurrentPCIsInImacro ( JSContext cx  ) 
JSThread* js_CurrentThread ( JSRuntime rt  ) 
JSThreadData* js_CurrentThreadData ( JSRuntime rt  ) 
void js_DeepBail ( JSContext cx  ) 
void js_DestroyContext ( JSContext cx,
JSDestroyContextMode  mode 
)
uint32 js_DiscountRequestsForGC ( JSContext cx  ) 
JSBool js_EnterLocalRootScope ( JSContext cx  ) 
void js_FinishThreads ( JSRuntime rt  ) 
void js_ForgetLocalRoot ( JSContext cx,
jsval  v 
)
jsbytecode* js_GetCurrentBytecodePC ( JSContext cx  ) 
const JSErrorFormatString* js_GetErrorMessage ( void *  userRef,
const char *  locale,
const uintN  errorNumber 
)
JSStackFrame* js_GetScriptedCaller ( JSContext cx,
JSStackFrame fp 
)
JSBool js_InitContextThread ( JSContext cx  ) 
JSBool js_InitThreads ( JSRuntime rt  ) 
JSBool js_InvokeOperationCallback ( JSContext cx  ) 
void js_LeaveLocalRootScopeWithResult ( JSContext cx,
jsval  rval 
)
JSContext* js_NewContext ( JSRuntime rt,
size_t  stackChunkSize 
)
JSContext* js_NextActiveContext ( JSRuntime ,
JSContext  
)
void js_OnVersionChange ( JSContext cx  ) 
void js_PurgeGSNCache ( JSGSNCache cache  ) 
void js_PurgeThreads ( JSContext cx  ) 
int js_PushLocalRoot ( JSContext cx,
JSLocalRootStack lrs,
jsval  v 
)
void js_RecountRequestsAfterGC ( JSRuntime rt,
uint32  requestDebit 
)
void js_ReportAllocationOverflow ( JSContext cx  ) 
void js_ReportErrorAgain ( JSContext cx,
const char *  message,
JSErrorReport report 
)
void js_ReportIsNotDefined ( JSContext cx,
const char *  name 
)
JSBool js_ReportIsNullOrUndefined ( JSContext cx,
intN  spindex,
jsval  v,
JSString fallback 
)
void js_ReportMissingArg ( JSContext cx,
jsval vp,
uintN  arg 
)
void js_ReportOutOfMemory ( JSContext cx  ) 
void js_ReportOutOfScriptQuota ( JSContext cx  ) 
void js_ReportOverRecursed ( JSContext cx  ) 
JSBool js_ReportValueErrorFlags ( JSContext cx,
uintN  flags,
const uintN  errorNumber,
intN  spindex,
jsval  v,
JSString fallback,
const char *  arg1,
const char *  arg2 
)
void js_SetVersion ( JSContext cx,
JSVersion  version 
)
JSBool js_StartResolving ( JSContext cx,
JSResolvingKey key,
uint32  flag,
JSResolvingEntry **  entryp 
)
void js_StopResolving ( JSContext cx,
JSResolvingKey key,
uint32  flag,
JSResolvingEntry entry,
uint32  generation 
)
void js_SyncOptionsToVersion ( JSContext cx  ) 
void js_TraceThreads ( JSRuntime rt,
JSTracer trc 
)
void js_TriggerAllOperationCallbacks ( JSRuntime rt,
JSBool  gcLocked 
)
JSBool js_ValidContextPointer ( JSRuntime rt,
JSContext cx 
)
void js_WaitForGC ( JSRuntime rt  ) 
unmatched in regular expression missing after condition missing after for loop control missing after with statement object missing in parenthetical JSErrNum::MSG_DEF ( JSMSG_EQUAL_AS_ASSIGN  ,
112  ,
,
JSEXN_SYNTAXERR   
)
unmatched in regular expression missing after condition missing after for loop control JSErrNum::MSG_DEF ( JSMSG_PAREN_AFTER_CATCH  ,
93  ,
,
JSEXN_SYNTAXERR  ,
missing 
)
unmatched in regular expression missing after condition JSErrNum::MSG_DEF ( JSMSG_PAREN_AFTER_SWITCH  ,
81  ,
,
JSEXN_SYNTAXERR  ,
missing 
)
unmatched in regular expression missing after condition missing after for loop control missing after with statement object JSErrNum::MSG_DEF ( JSMSG_PAREN_AFTER_ARGS  ,
104  ,
,
JSEXN_SYNTAXERR  ,
missing 
)
JSErrNum::MSG_DEF ( JSMSG_PAREN_AFTER_LET  ,
52  ,
,
JSEXN_SYNTAXERR  ,
missing 
)
unmatched in regular expression JSErrNum::MSG_DEF ( JSMSG_PAREN_AFTER_FORMAL  ,
71  ,
,
JSEXN_SYNTAXERR  ,
missing 
)

Variable Documentation

const size_t JS_GC_THREAD_MALLOC_LIMIT = 1 << 19