Classes | Public Member Functions | Static Public Attributes | Friends

js::StackSpace Class Reference

#include <jscntxt.h>

Collaboration diagram for js::StackSpace:

List of all members.

Classes

struct  EnsureSpaceCheck
struct  LimitCheck

Public Member Functions

bool init ()
void finish ()
bool ensureEnoughSpaceToEnterTrace ()
void mark (JSTracer *trc)
bool pushInvokeArgs (JSContext *cx, uintN argc, InvokeArgsGuard *ag)
bool getInvokeFrame (JSContext *cx, const CallArgs &args, JSFunction *fun, JSScript *script, uint32 *flags, InvokeFrameGuard *fg) const
void pushInvokeFrame (JSContext *cx, const CallArgs &args, InvokeFrameGuard *fg)
bool getExecuteFrame (JSContext *cx, JSScript *script, ExecuteFrameGuard *fg) const
void pushExecuteFrame (JSContext *cx, JSObject *initialVarObj, ExecuteFrameGuard *fg)
JSStackFramegetInlineFrame (JSContext *cx, Value *sp, uintN nactual, JSFunction *fun, JSScript *script, uint32 *flags) const
void pushInlineFrame (JSContext *cx, JSScript *script, JSStackFrame *fp, JSFrameRegs *regs)
void popInlineFrame (JSContext *cx, JSStackFrame *prev, js::Value *newsp)
bool getGeneratorFrame (JSContext *cx, uintN vplen, uintN nfixed, GeneratorFrameGuard *fg)
void pushGeneratorFrame (JSContext *cx, JSFrameRegs *regs, GeneratorFrameGuard *fg)
bool pushDummyFrame (JSContext *cx, JSObject &scopeChain, DummyFrameGuard *fg)
JSStackFramegetInlineFrameWithinLimit (JSContext *cx, Value *sp, uintN nactual, JSFunction *fun, JSScript *script, uint32 *flags, JSStackFrame *base, Value **limit) const
ValuegetStackLimit (JSContext *cx)
bool bumpCommitAndLimit (JSStackFrame *base, Value *from, uintN nvals, Value **limit) const
bool ensureSpace (JSContext *maybecx, Value *from, ptrdiff_t nvals) const

Static Public Attributes

static const size_t CAPACITY_VALS = 512 * 1024
static const size_t CAPACITY_BYTES = CAPACITY_VALS * sizeof(Value)
static const size_t COMMIT_VALS = 16 * 1024
static const size_t COMMIT_BYTES = COMMIT_VALS * sizeof(Value)
static const size_t STACK_QUOTA
static const ptrdiff_t MAX_TRACE_SPACE_VALS

Friends

class InvokeArgsGuard
class InvokeFrameGuard
class FrameGuard
class AllFramesIter

Member Function Documentation

bool js::StackSpace::bumpCommitAndLimit ( JSStackFrame base,
Value from,
uintN  nvals,
Value **  limit 
) const
bool js::StackSpace::ensureEnoughSpaceToEnterTrace (  )  [inline]
bool js::StackSpace::ensureSpace ( JSContext maybecx,
Value from,
ptrdiff_t  nvals 
) const [inline]
void js::StackSpace::finish (  ) 
bool js::StackSpace::getExecuteFrame ( JSContext cx,
JSScript script,
ExecuteFrameGuard fg 
) const
bool js::StackSpace::getGeneratorFrame ( JSContext cx,
uintN  vplen,
uintN  nfixed,
GeneratorFrameGuard fg 
)
JSStackFrame* js::StackSpace::getInlineFrame ( JSContext cx,
Value sp,
uintN  nactual,
JSFunction fun,
JSScript script,
uint32 flags 
) const [inline]
JSStackFrame* js::StackSpace::getInlineFrameWithinLimit ( JSContext cx,
Value sp,
uintN  nactual,
JSFunction fun,
JSScript script,
uint32 flags,
JSStackFrame base,
Value **  limit 
) const [inline]
bool js::StackSpace::getInvokeFrame ( JSContext cx,
const CallArgs args,
JSFunction fun,
JSScript script,
uint32 flags,
InvokeFrameGuard fg 
) const
Value* js::StackSpace::getStackLimit ( JSContext cx  )  [inline]
bool js::StackSpace::init (  ) 
void js::StackSpace::mark ( JSTracer trc  ) 
void js::StackSpace::popInlineFrame ( JSContext cx,
JSStackFrame prev,
js::Value newsp 
) [inline]
bool js::StackSpace::pushDummyFrame ( JSContext cx,
JSObject scopeChain,
DummyFrameGuard fg 
)
void js::StackSpace::pushExecuteFrame ( JSContext cx,
JSObject initialVarObj,
ExecuteFrameGuard fg 
)
void js::StackSpace::pushGeneratorFrame ( JSContext cx,
JSFrameRegs regs,
GeneratorFrameGuard fg 
)
void js::StackSpace::pushInlineFrame ( JSContext cx,
JSScript script,
JSStackFrame fp,
JSFrameRegs regs 
) [inline]
bool js::StackSpace::pushInvokeArgs ( JSContext cx,
uintN  argc,
InvokeArgsGuard ag 
)
void js::StackSpace::pushInvokeFrame ( JSContext cx,
const CallArgs args,
InvokeFrameGuard fg 
)

Friends And Related Function Documentation

friend class AllFramesIter [friend]
friend class FrameGuard [friend]
friend class InvokeArgsGuard [friend]
friend class InvokeFrameGuard [friend]

Member Data Documentation

const size_t js::StackSpace::CAPACITY_BYTES = CAPACITY_VALS * sizeof(Value) [static]
const size_t js::StackSpace::CAPACITY_VALS = 512 * 1024 [static]
const size_t js::StackSpace::COMMIT_BYTES = COMMIT_VALS * sizeof(Value) [static]
const size_t js::StackSpace::COMMIT_VALS = 16 * 1024 [static]
const ptrdiff_t js::StackSpace::MAX_TRACE_SPACE_VALS [static]
Initial value:
      MAX_NATIVE_STACK_SLOTS + MAX_CALL_STACK_ENTRIES * VALUES_PER_STACK_FRAME +
      (VALUES_PER_STACK_SEGMENT + VALUES_PER_STACK_FRAME )
const size_t js::StackSpace::STACK_QUOTA [static]
Initial value:
 (VALUES_PER_STACK_FRAME + 18) *
                                          3000

The documentation for this class was generated from the following file: