Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Friends

JSObject Struct Reference

#include <jsobj.h>

Inheritance diagram for JSObject:
Collaboration diagram for JSObject:

List of all members.

Public Types

enum  {
  DELEGATE = 0x01, SYSTEM = 0x02, NOT_EXTENSIBLE = 0x04, BRANDED = 0x08,
  GENERIC = 0x10, METHOD_BARRIER = 0x20, INDEXED = 0x40, OWN_SHAPE = 0x80,
  BOUND_FUNCTION = 0x100, HAS_EQUALITY = 0x200, METHOD_THRASH_COUNT_MASK = 0xc00, METHOD_THRASH_COUNT_SHIFT = 10,
  METHOD_THRASH_COUNT_MAX = METHOD_THRASH_COUNT_MASK >> METHOD_THRASH_COUNT_SHIFT
}
enum  { NSLOTS_BITS = 29, NSLOTS_LIMIT = ((JSUint32)1 << ( NSLOTS_BITS )) }
enum  EnsureDenseResult { ED_OK, ED_FAILED, ED_SPARSE }

Public Member Functions

const js::ShapelastProperty () const
js::Shape ** nativeSearch (jsid id, bool adding=false)
const js::ShapenativeLookup (jsid id)
bool nativeContains (jsid id)
bool nativeContains (const js::Shape &shape)
bool canProvideEmptyShape (js::Class *clasp)
js::EmptyShapegetEmptyShape (JSContext *cx, js::Class *aclasp, unsigned kind)
bool isNative () const
js::ClassgetClass () const
JSClassgetJSClass () const
bool hasClass (const js::Class *c) const
const js::ObjectOpsgetOps () const
void trace (JSTracer *trc)
uint32 shape () const
bool isDelegate () const
void setDelegate ()
void clearDelegate ()
bool isBoundFunction () const
bool isSystem () const
void setSystem ()
bool branded ()
bool brand (JSContext *cx)
bool unbrand (JSContext *cx)
bool generic ()
void setGeneric ()
uintN getMethodThrashCount () const
void setMethodThrashCount (uintN count)
bool hasSpecialEquality () const
void assertSpecialEqualitySynced () const
void syncSpecialEquality ()
bool nativeEmpty () const
bool hasOwnShape () const
void setMap (const JSObjectMap *amap)
void setSharedNonNativeMap ()
void deletingShapeChange (JSContext *cx, const js::Shape &shape)
const js::ShapemethodShapeChange (JSContext *cx, const js::Shape &shape)
bool methodShapeChange (JSContext *cx, uint32 slot)
void protoShapeChange (JSContext *cx)
void shadowingShapeChange (JSContext *cx, const js::Shape &shape)
bool globalObjectOwnShapeChange (JSContext *cx)
void extensibleShapeChange (JSContext *cx)
bool hasMethodBarrier ()
void setMethodBarrier ()
bool brandedOrHasMethodBarrier ()
bool methodReadBarrier (JSContext *cx, const js::Shape &shape, js::Value *vp)
const js::ShapemethodWriteBarrier (JSContext *cx, const js::Shape &shape, const js::Value &v)
bool methodWriteBarrier (JSContext *cx, uint32 slot, const js::Value &v)
bool isIndexed () const
void setIndexed ()
bool inDictionaryMode () const
uint32 propertyCount () const
bool hasPropertyTable () const
unsigned finalizeKind () const
uint32 numSlots () const
size_t slotsAndStructSize (uint32 nslots) const
size_t slotsAndStructSize () const
js::ValuefixedSlots () const
size_t numFixedSlots () const
bool allocSlots (JSContext *cx, size_t nslots)
bool growSlots (JSContext *cx, size_t nslots)
void shrinkSlots (JSContext *cx, size_t nslots)
bool ensureSlots (JSContext *cx, size_t nslots)
bool ensureInstanceReservedSlots (JSContext *cx, size_t nreserved)
js::ValuegetSlots () const
bool ensureClassReservedSlotsForEmptyObject (JSContext *cx)
bool ensureClassReservedSlots (JSContext *cx)
uint32 slotSpan () const
bool containsSlot (uint32 slot) const
js::ValuegetSlotRef (uintN slot)
js::ValuenativeGetSlotRef (uintN slot)
const js::ValuegetSlot (uintN slot) const
const js::ValuenativeGetSlot (uintN slot) const
void setSlot (uintN slot, const js::Value &value)
void nativeSetSlot (uintN slot, const js::Value &value)
js::Value getReservedSlot (uintN index) const
void updateShape (JSContext *cx)
void updateFlags (const js::Shape *shape, bool isDefinitelyAtom=false)
void extend (JSContext *cx, const js::Shape *shape, bool isDefinitelyAtom=false)
JSObjectgetProto () const
void clearProto ()
void setProto (JSObject *newProto)
JSObjectgetParent () const
void clearParent ()
void setParent (JSObject *newParent)
JSObjectgetGlobal () const
bool isGlobal () const
void * getPrivate () const
void setPrivate (void *data)
bool isExtensible () const
bool preventExtensions (JSContext *cx, js::AutoIdVector *props)
bool seal (JSContext *cx)
bool freeze (JSContext *cx)
const js::ValuegetPrimitiveThis () const
void setPrimitiveThis (const js::Value &pthis)
uint32 getArrayLength () const
void setArrayLength (uint32 length)
uint32 getDenseArrayCapacity ()
js::ValuegetDenseArrayElements ()
const js::ValuegetDenseArrayElement (uintN idx)
js::ValueaddressOfDenseArrayElement (uintN idx)
void setDenseArrayElement (uintN idx, const js::Value &val)
void shrinkDenseArrayElements (JSContext *cx, uintN cap)
EnsureDenseResult ensureDenseArrayElements (JSContext *cx, uintN index, uintN extra)
bool willBeSparseDenseArray (uintN requiredCapacity, uintN newElementsHint)
JSBool makeDenseArraySlow (JSContext *cx)
void setArgsLength (uint32 argc)
uint32 getArgsInitialLength () const
void setArgsLengthOverridden ()
bool isArgsLengthOverridden () const
js::ArgumentsDatagetArgsData () const
void setArgsData (js::ArgumentsData *data)
const js::ValuegetArgsCallee () const
void setArgsCallee (const js::Value &callee)
const js::ValuegetArgsElement (uint32 i) const
js::ValuegetArgsElements () const
js::ValueaddressOfArgsElement (uint32 i)
void setArgsElement (uint32 i, const js::Value &v)
bool callIsForEval () const
JSStackFramemaybeCallObjStackFrame () const
JSObjectgetCallObjCallee () const
JSFunctiongetCallObjCalleeFunction () const
void setCallObjCallee (JSObject *callee)
const js::ValuegetCallObjArguments () const
void setCallObjArguments (const js::Value &v)
const js::ValuecallObjArg (uintN i) const
js::ValuecallObjArg (uintN i)
const js::ValuecallObjVar (uintN i) const
js::ValuecallObjVar (uintN i)
const js::ValuegetDateUTCTime () const
void setDateUTCTime (const js::Value &pthis)
JSFunctiongetFunctionPrivate () const
js::ValuegetFlatClosureUpvars () const
js::Value getFlatClosureUpvar (uint32 i) const
js::ValuegetFlatClosureUpvar (uint32 i)
void setFlatClosureUpvars (js::Value *upvars)
bool hasMethodObj (const JSObject &obj) const
void setMethodObj (JSObject &obj)
bool initBoundFunction (JSContext *cx, const js::Value &thisArg, const js::Value *args, uintN argslen)
JSObjectgetBoundFunctionTarget () const
const js::ValuegetBoundFunctionThis () const
const js::ValuegetBoundFunctionArguments (uintN &argslen) const
const js::ValuegetRegExpLastIndex () const
void setRegExpLastIndex (const js::Value &v)
void setRegExpLastIndex (jsdouble d)
void zeroRegExpLastIndex ()
js::NativeIteratorgetNativeIterator () const
void setNativeIterator (js::NativeIterator *)
JSLinearStringgetNamePrefix () const
jsval getNamePrefixVal () const
void setNamePrefix (JSLinearString *prefix)
void clearNamePrefix ()
JSLinearStringgetNameURI () const
jsval getNameURIVal () const
void setNameURI (JSLinearString *uri)
jsval getNamespaceDeclared () const
void setNamespaceDeclared (jsval decl)
JSLinearStringgetQNameLocalName () const
jsval getQNameLocalNameVal () const
void setQNameLocalName (JSLinearString *name)
js::JSProxyHandlergetProxyHandler () const
const js::ValuegetProxyPrivate () const
void setProxyPrivate (const js::Value &priv)
const js::ValuegetProxyExtra () const
void setProxyExtra (const js::Value &extra)
JSObjectgetWithThis () const
void setWithThis (JSObject *thisp)
bool isCallable ()
void init (JSContext *cx, js::Class *aclasp, JSObject *proto, JSObject *parent, void *priv, bool useHoles)
void finish (JSContext *cx)
void finalize (JSContext *cx)
bool initSharingEmptyShape (JSContext *cx, js::Class *clasp, JSObject *proto, JSObject *parent, void *priv, unsigned kind)
bool hasSlotsArray () const
void freeSlotsArray (JSContext *cx)
void revertToFixedSlots (JSContext *cx)
bool hasProperty (JSContext *cx, jsid id, bool *foundp, uintN flags=0)
bool allocSlot (JSContext *cx, uint32 *slotp)
bool freeSlot (JSContext *cx, uint32 slot)
bool reportReadOnly (JSContext *cx, jsid id, uintN report=0x0)
bool reportNotConfigurable (JSContext *cx, jsid id, uintN report=0x0)
bool reportNotExtensible (JSContext *cx, uintN report=0x0)
const js::ShapeaddProperty (JSContext *cx, jsid id, js::PropertyOp getter, js::PropertyOp setter, uint32 slot, uintN attrs, uintN flags, intN shortid)
const js::ShapeaddDataProperty (JSContext *cx, jsid id, uint32 slot, uintN attrs)
const js::ShapeputProperty (JSContext *cx, jsid id, js::PropertyOp getter, js::PropertyOp setter, uint32 slot, uintN attrs, uintN flags, intN shortid)
const js::ShapechangeProperty (JSContext *cx, const js::Shape *shape, uintN attrs, uintN mask, js::PropertyOp getter, js::PropertyOp setter)
bool removeProperty (JSContext *cx, jsid id)
void clear (JSContext *cx)
JSBool lookupProperty (JSContext *cx, jsid id, JSObject **objp, JSProperty **propp)
JSBool defineProperty (JSContext *cx, jsid id, const js::Value &value, js::PropertyOp getter=js::PropertyStub, js::PropertyOp setter=js::PropertyStub, uintN attrs=0x01)
JSBool getProperty (JSContext *cx, JSObject *receiver, jsid id, js::Value *vp)
JSBool getProperty (JSContext *cx, jsid id, js::Value *vp)
JSBool setProperty (JSContext *cx, jsid id, js::Value *vp, JSBool strict)
JSBool getAttributes (JSContext *cx, jsid id, uintN *attrsp)
JSBool setAttributes (JSContext *cx, jsid id, uintN *attrsp)
JSBool deleteProperty (JSContext *cx, jsid id, js::Value *rval, JSBool strict)
JSBool enumerate (JSContext *cx, JSIterateOp iterop, js::Value *statep, jsid *idp)
JSType typeOf (JSContext *cx)
JSObjectthisObject (JSContext *cx)
JSCompartmentgetCompartment () const
JSObjectgetThrowTypeError () const
JSObjectclone (JSContext *cx, JSObject *proto, JSObject *parent)
bool copyPropertiesFrom (JSContext *cx, JSObject *obj)
bool swap (JSContext *cx, JSObject *other)
const js::ShapedefineBlockVariable (JSContext *cx, jsid id, intN index)
bool canHaveMethodBarrier () const
bool isArguments () const
bool isNormalArguments () const
bool isStrictArguments () const
bool isArray () const
bool isDenseArray () const
bool isSlowArray () const
bool isNumber () const
bool isBoolean () const
bool isString () const
bool isPrimitive () const
bool isDate () const
bool isFunction () const
bool isObject () const
bool isWith () const
bool isBlock () const
bool isStaticBlock () const
bool isClonedBlock () const
bool isCall () const
bool isRegExp () const
bool isXML () const
bool isXMLId () const
bool isNamespace () const
bool isQName () const
bool isProxy () const
bool isObjectProxy () const
bool isFunctionProxy () const
bool isWrapper () const
JSObjectunwrap (uintN *flagsp=NULL)
void initArrayClass ()

Static Public Member Functions

static void setDelegateNullSafe (JSObject *obj)
static size_t getFixedSlotOffset (size_t slot)
static bool thisObject (JSContext *cx, const js::Value &v, js::Value *vp)

Public Attributes

union {
   js::Shape *   lastProp
   JSObjectMap *   map
}; 
js::Classclasp
uint32 flags
uint32 objShape
js::EmptyShape ** emptyShapes
JSObjectproto
JSObjectparent
void * privateData
jsuword capacity
js::Valueslots

Static Public Attributes

static const uint32 SLOT_CAPACITY_MIN = 8
static const uint32 JSSLOT_ARGS_LENGTH = 0
static const uint32 ARGS_CLASS_RESERVED_SLOTS = 2
static const uint32 ARGS_FIRST_FREE_SLOT = ARGS_CLASS_RESERVED_SLOTS + 1
static const uint32 ARGS_LENGTH_OVERRIDDEN_BIT = 0x1
static const uint32 ARGS_PACKED_BITS_COUNT = 1
static const uint32 CALL_RESERVED_SLOTS = 2
static const uint32 JSSLOT_DATE_UTC_TIME = 0
static const uint32 JSSLOT_DATE_COMPONENTS_START = 1
static const uint32 JSSLOT_DATE_LOCAL_TIME = 1
static const uint32 JSSLOT_DATE_LOCAL_YEAR = 2
static const uint32 JSSLOT_DATE_LOCAL_MONTH = 3
static const uint32 JSSLOT_DATE_LOCAL_DATE = 4
static const uint32 JSSLOT_DATE_LOCAL_DAY = 5
static const uint32 JSSLOT_DATE_LOCAL_HOURS = 6
static const uint32 JSSLOT_DATE_LOCAL_MINUTES = 7
static const uint32 JSSLOT_DATE_LOCAL_SECONDS = 8
static const uint32 DATE_CLASS_RESERVED_SLOTS = 9
static const uint32 FUN_CLASS_RESERVED_SLOTS = 2
static const uint32 REGEXP_CLASS_RESERVED_SLOTS = 1
static const uint32 NAMESPACE_CLASS_RESERVED_SLOTS = 3
static const uint32 QNAME_CLASS_RESERVED_SLOTS = 3

Friends

class js::TraceRecorder
class nanojit::ValidateWriter
class GetPropCompiler
struct JSFunction
class js::mjit::Compiler

Member Enumeration Documentation

anonymous enum
Enumerator:
DELEGATE 
SYSTEM 
NOT_EXTENSIBLE 
BRANDED 
GENERIC 
METHOD_BARRIER 
INDEXED 
OWN_SHAPE 
BOUND_FUNCTION 
HAS_EQUALITY 
METHOD_THRASH_COUNT_MASK 
METHOD_THRASH_COUNT_SHIFT 
METHOD_THRASH_COUNT_MAX 
anonymous enum
Enumerator:
NSLOTS_BITS 
NSLOTS_LIMIT 
Enumerator:
ED_OK 
ED_FAILED 
ED_SPARSE 

Member Function Documentation

const js::Shape* JSObject::addDataProperty ( JSContext cx,
jsid  id,
uint32  slot,
uintN  attrs 
) [inline]
const js::Shape* JSObject::addProperty ( JSContext cx,
jsid  id,
js::PropertyOp  getter,
js::PropertyOp  setter,
uint32  slot,
uintN  attrs,
uintN  flags,
intN  shortid 
)
js::Value * JSObject::addressOfArgsElement ( uint32  i  )  [inline]
js::Value * JSObject::addressOfDenseArrayElement ( uintN  idx  )  [inline]
bool JSObject::allocSlot ( JSContext cx,
uint32 slotp 
)
bool JSObject::allocSlots ( JSContext cx,
size_t  nslots 
)
void JSObject::assertSpecialEqualitySynced (  )  const [inline]
bool JSObject::brand ( JSContext cx  )  [inline]
bool JSObject::branded (  )  [inline]
bool JSObject::brandedOrHasMethodBarrier (  )  [inline]
bool JSObject::callIsForEval (  )  const [inline]
js::Value & JSObject::callObjArg ( uintN  i  )  [inline]
const js::Value & JSObject::callObjArg ( uintN  i  )  const [inline]
const js::Value & JSObject::callObjVar ( uintN  i  )  const [inline]
js::Value & JSObject::callObjVar ( uintN  i  )  [inline]
bool JSObject::canHaveMethodBarrier (  )  const [inline]
bool JSObject::canProvideEmptyShape ( js::Class clasp  )  [inline]
const js::Shape* JSObject::changeProperty ( JSContext cx,
const js::Shape shape,
uintN  attrs,
uintN  mask,
js::PropertyOp  getter,
js::PropertyOp  setter 
)
void JSObject::clear ( JSContext cx  ) 
void JSObject::clearDelegate (  )  [inline]
void JSObject::clearNamePrefix (  )  [inline]
void JSObject::clearParent (  )  [inline]
void JSObject::clearProto (  )  [inline]
JSObject* JSObject::clone ( JSContext cx,
JSObject proto,
JSObject parent 
)
bool JSObject::containsSlot ( uint32  slot  )  const [inline]
bool JSObject::copyPropertiesFrom ( JSContext cx,
JSObject obj 
)
const js::Shape* JSObject::defineBlockVariable ( JSContext cx,
jsid  id,
intN  index 
)
JSBool JSObject::defineProperty ( JSContext cx,
jsid  id,
const js::Value value,
js::PropertyOp  getter = js::PropertyStub,
js::PropertyOp  setter = js::PropertyStub,
uintN  attrs = 0x01 
) [inline]
JSBool JSObject::deleteProperty ( JSContext cx,
jsid  id,
js::Value rval,
JSBool  strict 
) [inline]
void JSObject::deletingShapeChange ( JSContext cx,
const js::Shape shape 
)
bool JSObject::ensureClassReservedSlots ( JSContext cx  )  [inline]
bool JSObject::ensureClassReservedSlotsForEmptyObject ( JSContext cx  ) 
JSObject::EnsureDenseResult JSObject::ensureDenseArrayElements ( JSContext cx,
uintN  index,
uintN  extra 
) [inline]
bool JSObject::ensureInstanceReservedSlots ( JSContext cx,
size_t  nreserved 
)
bool JSObject::ensureSlots ( JSContext cx,
size_t  nslots 
) [inline]
JSBool JSObject::enumerate ( JSContext cx,
JSIterateOp  iterop,
js::Value statep,
jsid idp 
) [inline]
void JSObject::extend ( JSContext cx,
const js::Shape shape,
bool  isDefinitelyAtom = false 
) [inline]
void JSObject::extensibleShapeChange ( JSContext cx  )  [inline]
void JSObject::finalize ( JSContext cx  )  [inline]
unsigned JSObject::finalizeKind (  )  const [inline]
void JSObject::finish ( JSContext cx  )  [inline]
js::Value * JSObject::fixedSlots (  )  const [inline]
bool JSObject::freeSlot ( JSContext cx,
uint32  slot 
)
void JSObject::freeSlotsArray ( JSContext cx  )  [inline]
bool JSObject::freeze ( JSContext cx  )  [inline]
bool JSObject::generic (  )  [inline]
const js::Value & JSObject::getArgsCallee (  )  const [inline]
js::ArgumentsData * JSObject::getArgsData (  )  const [inline]
const js::Value & JSObject::getArgsElement ( uint32  i  )  const [inline]
js::Value * JSObject::getArgsElements (  )  const [inline]
uint32 JSObject::getArgsInitialLength (  )  const [inline]
uint32 JSObject::getArrayLength (  )  const [inline]
JSBool JSObject::getAttributes ( JSContext cx,
jsid  id,
uintN attrsp 
) [inline]
const js::Value* JSObject::getBoundFunctionArguments ( uintN argslen  )  const [inline]
JSObject* JSObject::getBoundFunctionTarget (  )  const [inline]
const js::Value& JSObject::getBoundFunctionThis (  )  const [inline]
const js::Value & JSObject::getCallObjArguments (  )  const [inline]
JSObject * JSObject::getCallObjCallee (  )  const [inline]
JSFunction * JSObject::getCallObjCalleeFunction (  )  const [inline]
js::Class* JSObject::getClass (  )  const [inline]
JSCompartment * JSObject::getCompartment (  )  const [inline]
const js::Value & JSObject::getDateUTCTime (  )  const [inline]
uint32 JSObject::getDenseArrayCapacity (  )  [inline]
const js::Value & JSObject::getDenseArrayElement ( uintN  idx  )  [inline]
js::Value * JSObject::getDenseArrayElements (  )  [inline]
js::EmptyShape* JSObject::getEmptyShape ( JSContext cx,
js::Class aclasp,
unsigned  kind 
) [inline]
size_t JSObject::getFixedSlotOffset ( size_t  slot  )  [inline, static]
js::Value JSObject::getFlatClosureUpvar ( uint32  i  )  const [inline]
js::Value & JSObject::getFlatClosureUpvar ( uint32  i  )  [inline]
js::Value * JSObject::getFlatClosureUpvars (  )  const [inline]
JSFunction * JSObject::getFunctionPrivate (  )  const [inline]
JSObject* JSObject::getGlobal (  )  const
JSClass* JSObject::getJSClass (  )  const [inline]
uintN JSObject::getMethodThrashCount (  )  const [inline]
JSLinearString * JSObject::getNamePrefix (  )  const [inline]
jsval JSObject::getNamePrefixVal (  )  const [inline]
jsval JSObject::getNamespaceDeclared (  )  const [inline]
JSLinearString * JSObject::getNameURI (  )  const [inline]
jsval JSObject::getNameURIVal (  )  const [inline]
js::NativeIterator * JSObject::getNativeIterator (  )  const [inline]
const js::ObjectOps* JSObject::getOps (  )  const [inline]
JSObject* JSObject::getParent (  )  const [inline]
const js::Value & JSObject::getPrimitiveThis (  )  const [inline]
void* JSObject::getPrivate (  )  const [inline]
JSBool JSObject::getProperty ( JSContext cx,
JSObject receiver,
jsid  id,
js::Value vp 
) [inline]
JSBool JSObject::getProperty ( JSContext cx,
jsid  id,
js::Value vp 
) [inline]
JSObject* JSObject::getProto (  )  const [inline]
const js::Value & JSObject::getProxyExtra (  )  const [inline]
js::JSProxyHandler * JSObject::getProxyHandler (  )  const [inline]
const js::Value & JSObject::getProxyPrivate (  )  const [inline]
JSLinearString * JSObject::getQNameLocalName (  )  const [inline]
jsval JSObject::getQNameLocalNameVal (  )  const [inline]
const js::Value & JSObject::getRegExpLastIndex (  )  const [inline]
js::Value JSObject::getReservedSlot ( uintN  index  )  const [inline]
const js::Value& JSObject::getSlot ( uintN  slot  )  const [inline]
js::Value& JSObject::getSlotRef ( uintN  slot  )  [inline]
js::Value* JSObject::getSlots (  )  const [inline]
JSObject* JSObject::getThrowTypeError (  )  const [inline]
JSObject * JSObject::getWithThis (  )  const [inline]
bool JSObject::globalObjectOwnShapeChange ( JSContext cx  ) 
bool JSObject::growSlots ( JSContext cx,
size_t  nslots 
)
bool JSObject::hasClass ( const js::Class c  )  const [inline]
bool JSObject::hasMethodBarrier (  )  [inline]
bool JSObject::hasMethodObj ( const JSObject obj  )  const [inline]
bool JSObject::hasOwnShape (  )  const [inline]
bool JSObject::hasProperty ( JSContext cx,
jsid  id,
bool foundp,
uintN  flags = 0 
) [inline]
bool JSObject::hasPropertyTable (  )  const [inline]
bool JSObject::hasSlotsArray (  )  const [inline]
bool JSObject::hasSpecialEquality (  )  const [inline]
bool JSObject::inDictionaryMode (  )  const [inline]
void JSObject::init ( JSContext cx,
js::Class aclasp,
JSObject proto,
JSObject parent,
void *  priv,
bool  useHoles 
) [inline]
void JSObject::initArrayClass (  )  [inline]
bool JSObject::initBoundFunction ( JSContext cx,
const js::Value thisArg,
const js::Value args,
uintN  argslen 
) [inline]
bool JSObject::initSharingEmptyShape ( JSContext cx,
js::Class clasp,
JSObject proto,
JSObject parent,
void *  priv,
unsigned  kind 
) [inline]
bool JSObject::isArgsLengthOverridden (  )  const [inline]
bool JSObject::isArguments (  )  const [inline]
bool JSObject::isArray (  )  const [inline]
bool JSObject::isBlock (  )  const [inline]
bool JSObject::isBoolean (  )  const [inline]
bool JSObject::isBoundFunction (  )  const [inline]
bool JSObject::isCall (  )  const [inline]
bool JSObject::isCallable (  )  [inline]
bool JSObject::isClonedBlock (  )  const [inline]
bool JSObject::isDate (  )  const [inline]
bool JSObject::isDelegate (  )  const [inline]
bool JSObject::isDenseArray (  )  const [inline]
bool JSObject::isExtensible (  )  const [inline]
bool JSObject::isFunction (  )  const [inline]
bool JSObject::isFunctionProxy (  )  const [inline]
bool JSObject::isGlobal (  )  const [inline]
bool JSObject::isIndexed (  )  const [inline]
bool JSObject::isNamespace (  )  const [inline]
bool JSObject::isNative (  )  const [inline]

Reimplemented in JSFunction.

bool JSObject::isNormalArguments (  )  const [inline]
bool JSObject::isNumber (  )  const [inline]
bool JSObject::isObject (  )  const [inline]
bool JSObject::isObjectProxy (  )  const [inline]
bool JSObject::isPrimitive (  )  const [inline]
bool JSObject::isProxy (  )  const [inline]
bool JSObject::isQName (  )  const [inline]
bool JSObject::isRegExp (  )  const [inline]
bool JSObject::isSlowArray (  )  const [inline]
bool JSObject::isStaticBlock (  )  const [inline]
bool JSObject::isStrictArguments (  )  const [inline]
bool JSObject::isString (  )  const [inline]
bool JSObject::isSystem (  )  const [inline]
bool JSObject::isWith (  )  const [inline]
bool JSObject::isWrapper (  )  const
bool JSObject::isXML (  )  const [inline]
bool JSObject::isXMLId (  )  const [inline]
const js::Shape * JSObject::lastProperty (  )  const [inline]
JSBool JSObject::lookupProperty ( JSContext cx,
jsid  id,
JSObject **  objp,
JSProperty **  propp 
) [inline]
JSBool JSObject::makeDenseArraySlow ( JSContext cx  ) 
JSStackFrame * JSObject::maybeCallObjStackFrame (  )  const [inline]
bool JSObject::methodReadBarrier ( JSContext cx,
const js::Shape shape,
js::Value vp 
) [inline]
const js::Shape* JSObject::methodShapeChange ( JSContext cx,
const js::Shape shape 
)
bool JSObject::methodShapeChange ( JSContext cx,
uint32  slot 
)
const js::Shape * JSObject::methodWriteBarrier ( JSContext cx,
const js::Shape shape,
const js::Value v 
) [inline]
bool JSObject::methodWriteBarrier ( JSContext cx,
uint32  slot,
const js::Value v 
) [inline]
bool JSObject::nativeContains ( jsid  id  )  [inline]
bool JSObject::nativeContains ( const js::Shape shape  )  [inline]
bool JSObject::nativeEmpty (  )  const [inline]
const js::Value& JSObject::nativeGetSlot ( uintN  slot  )  const [inline]
js::Value& JSObject::nativeGetSlotRef ( uintN  slot  )  [inline]
const js::Shape * JSObject::nativeLookup ( jsid  id  )  [inline]
js::Shape ** JSObject::nativeSearch ( jsid  id,
bool  adding = false 
) [inline]
void JSObject::nativeSetSlot ( uintN  slot,
const js::Value value 
) [inline]
size_t JSObject::numFixedSlots (  )  const [inline]
uint32 JSObject::numSlots (  )  const [inline]
bool JSObject::preventExtensions ( JSContext cx,
js::AutoIdVector props 
) [inline]
uint32 JSObject::propertyCount (  )  const [inline]
void JSObject::protoShapeChange ( JSContext cx  ) 
const js::Shape* JSObject::putProperty ( JSContext cx,
jsid  id,
js::PropertyOp  getter,
js::PropertyOp  setter,
uint32  slot,
uintN  attrs,
uintN  flags,
intN  shortid 
)
bool JSObject::removeProperty ( JSContext cx,
jsid  id 
)
bool JSObject::reportNotConfigurable ( JSContext cx,
jsid  id,
uintN  report = 0x0 
)
bool JSObject::reportNotExtensible ( JSContext cx,
uintN  report = 0x0 
)
bool JSObject::reportReadOnly ( JSContext cx,
jsid  id,
uintN  report = 0x0 
)
void JSObject::revertToFixedSlots ( JSContext cx  )  [inline]
bool JSObject::seal ( JSContext cx  )  [inline]
void JSObject::setArgsCallee ( const js::Value callee  )  [inline]
void JSObject::setArgsData ( js::ArgumentsData data  )  [inline]
void JSObject::setArgsElement ( uint32  i,
const js::Value v 
) [inline]
void JSObject::setArgsLength ( uint32  argc  )  [inline]
void JSObject::setArgsLengthOverridden (  )  [inline]
void JSObject::setArrayLength ( uint32  length  )  [inline]
JSBool JSObject::setAttributes ( JSContext cx,
jsid  id,
uintN attrsp 
) [inline]
void JSObject::setCallObjArguments ( const js::Value v  )  [inline]
void JSObject::setCallObjCallee ( JSObject callee  )  [inline]
void JSObject::setDateUTCTime ( const js::Value pthis  )  [inline]
void JSObject::setDelegate (  )  [inline]
static void JSObject::setDelegateNullSafe ( JSObject obj  )  [inline, static]
void JSObject::setDenseArrayElement ( uintN  idx,
const js::Value val 
) [inline]
void JSObject::setFlatClosureUpvars ( js::Value upvars  )  [inline]
void JSObject::setGeneric (  )  [inline]
void JSObject::setIndexed (  )  [inline]
void JSObject::setMap ( const JSObjectMap amap  )  [inline]
void JSObject::setMethodBarrier (  )  [inline]
void JSObject::setMethodObj ( JSObject obj  )  [inline]
void JSObject::setMethodThrashCount ( uintN  count  )  [inline]
void JSObject::setNamePrefix ( JSLinearString prefix  )  [inline]
void JSObject::setNamespaceDeclared ( jsval  decl  )  [inline]
void JSObject::setNameURI ( JSLinearString uri  )  [inline]
void JSObject::setNativeIterator ( js::NativeIterator ni  )  [inline]
void JSObject::setParent ( JSObject newParent  )  [inline]
void JSObject::setPrimitiveThis ( const js::Value pthis  )  [inline]
void JSObject::setPrivate ( void *  data  )  [inline]
JSBool JSObject::setProperty ( JSContext cx,
jsid  id,
js::Value vp,
JSBool  strict 
) [inline]
void JSObject::setProto ( JSObject newProto  )  [inline]
void JSObject::setProxyExtra ( const js::Value extra  )  [inline]
void JSObject::setProxyPrivate ( const js::Value priv  )  [inline]
void JSObject::setQNameLocalName ( JSLinearString name  )  [inline]
void JSObject::setRegExpLastIndex ( jsdouble  d  )  [inline]
void JSObject::setRegExpLastIndex ( const js::Value v  )  [inline]
void JSObject::setSharedNonNativeMap (  )  [inline]
void JSObject::setSlot ( uintN  slot,
const js::Value value 
) [inline]
void JSObject::setSystem (  )  [inline]
void JSObject::setWithThis ( JSObject thisp  )  [inline]
void JSObject::shadowingShapeChange ( JSContext cx,
const js::Shape shape 
)
uint32 JSObject::shape (  )  const [inline]
void JSObject::shrinkDenseArrayElements ( JSContext cx,
uintN  cap 
) [inline]
void JSObject::shrinkSlots ( JSContext cx,
size_t  nslots 
)
size_t JSObject::slotsAndStructSize ( uint32  nslots  )  const [inline]
size_t JSObject::slotsAndStructSize (  )  const [inline]
uint32 JSObject::slotSpan (  )  const [inline]
bool JSObject::swap ( JSContext cx,
JSObject other 
)
void JSObject::syncSpecialEquality (  )  [inline]
JSObject* JSObject::thisObject ( JSContext cx  )  [inline]
static bool JSObject::thisObject ( JSContext cx,
const js::Value v,
js::Value vp 
) [static]
void JSObject::trace ( JSTracer trc  )  [inline]
JSType JSObject::typeOf ( JSContext cx  )  [inline]
bool JSObject::unbrand ( JSContext cx  )  [inline]
JSObject* JSObject::unwrap ( uintN flagsp = NULL  ) 
void JSObject::updateFlags ( const js::Shape shape,
bool  isDefinitelyAtom = false 
) [inline]
void JSObject::updateShape ( JSContext cx  )  [inline]
bool JSObject::willBeSparseDenseArray ( uintN  requiredCapacity,
uintN  newElementsHint 
)
void JSObject::zeroRegExpLastIndex (  )  [inline]

Friends And Related Function Documentation

friend class GetPropCompiler [friend]
friend class js::mjit::Compiler [friend]
friend class js::TraceRecorder [friend]
friend struct JSFunction [friend]
friend class nanojit::ValidateWriter [friend]

Member Data Documentation

union { ... }

Reimplemented in JSFunction.

const uint32 JSObject::SLOT_CAPACITY_MIN = 8 [static]

The documentation for this struct was generated from the following files: