Defines | Typedefs | Functions | Variables

jsarray.h File Reference

#include "jsprvtd.h"
#include "jspubtd.h"
#include "jsobj.h"
Include dependency graph for jsarray.h:
This graph shows which files directly or indirectly include this file:

Defines

#define ARRAY_CAPACITY_MIN   7
#define OBJ_IS_DENSE_ARRAY(cx, obj)   (obj)->isDenseArray()
#define OBJ_IS_ARRAY(cx, obj)   (obj)->isArray()
#define JSSLOT_ARRAY_LENGTH   JSSLOT_PRIVATE
#define JSSLOT_ARRAY_COUNT   (JSSLOT_ARRAY_LENGTH + 1)
#define JSSLOT_ARRAY_UNUSED   (JSSLOT_ARRAY_COUNT + 1)

Typedefs

typedef JSBool(* JSComparator )(void *arg, const void *a, const void *b, int *result)

Functions

JSBool js_IdIsIndex (jsval id, jsuint *indexp)
JSObjectjs_InitArrayClass (JSContext *cx, JSObject *obj)
bool js_InitContextBusyArrayTable (JSContext *cx)
JSObjectjs_NewArrayWithSlots (JSContext *cx, JSObject *proto, uint32 len)
JSObjectjs_NewArrayObject (JSContext *cx, jsuint length, jsval *vector, JSBool holey=(JSIntn) 0)
JSObjectjs_NewSlowArrayObject (JSContext *cx)
JSBool js_MakeArraySlow (JSContext *cx, JSObject *obj)
JSBool js_GetLengthProperty (JSContext *cx, JSObject *obj, jsuint *lengthp)
JSBool js_SetLengthProperty (JSContext *cx, JSObject *obj, jsdouble length)
JSBool js_HasLengthProperty (JSContext *cx, JSObject *obj, jsuint *lengthp)
JSBool js_IndexToId (JSContext *cx, jsuint index, jsid *idp)
JSBool js_IsArrayLike (JSContext *cx, JSObject *obj, JSBool *answerp, jsuint *lengthp)
JSBool js_MergeSort (void *vec, size_t nel, size_t elsize, JSComparator cmp, void *arg, void *tmp)
JSBool js_ArrayCompPush (JSContext *cx, JSObject *obj, jsval v)
JSBool js_CoerceArrayToCanvasImageData (JSObject *obj, jsuint offset, jsuint count, JSUint8 *dest)
JSBool js_PrototypeHasIndexedProperties (JSContext *cx, JSObject *obj)
JSBool js_GetDenseArrayElementValue (JSContext *cx, JSObject *obj, JSProperty *prop, jsval *vp)
JSBool js_Array (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
JSObjectjs_NewArrayObjectWithCapacity (JSContext *cx, jsuint capacity, jsval **vector)

Variables

JSClass js_ArrayClass
JSClass js_SlowArrayClass

Define Documentation

#define ARRAY_CAPACITY_MIN   7
#define JSSLOT_ARRAY_COUNT   (JSSLOT_ARRAY_LENGTH + 1)
#define JSSLOT_ARRAY_LENGTH   JSSLOT_PRIVATE
#define JSSLOT_ARRAY_UNUSED   (JSSLOT_ARRAY_COUNT + 1)
#define OBJ_IS_ARRAY (   cx,
  obj 
)    (obj)->isArray()
#define OBJ_IS_DENSE_ARRAY (   cx,
  obj 
)    (obj)->isDenseArray()

Typedef Documentation

typedef JSBool(* JSComparator)(void *arg, const void *a, const void *b, int *result)

Function Documentation

JSBool js_Array ( JSContext cx,
JSObject obj,
uintN  argc,
jsval argv,
jsval rval 
)
JSBool js_ArrayCompPush ( JSContext cx,
JSObject obj,
jsval  v 
)
JSBool js_CoerceArrayToCanvasImageData ( JSObject obj,
jsuint  offset,
jsuint  count,
JSUint8 dest 
)
JSBool js_GetDenseArrayElementValue ( JSContext cx,
JSObject obj,
JSProperty prop,
jsval vp 
)
JSBool js_GetLengthProperty ( JSContext cx,
JSObject obj,
jsuint lengthp 
)
JSBool js_HasLengthProperty ( JSContext cx,
JSObject obj,
jsuint lengthp 
)
JSBool js_IdIsIndex ( jsval  id,
jsuint indexp 
)
JSBool js_IndexToId ( JSContext cx,
jsuint  index,
jsid idp 
)
JSObject* js_InitArrayClass ( JSContext cx,
JSObject obj 
)
bool js_InitContextBusyArrayTable ( JSContext cx  ) 
JSBool js_IsArrayLike ( JSContext cx,
JSObject obj,
JSBool answerp,
jsuint lengthp 
)
JSBool js_MakeArraySlow ( JSContext cx,
JSObject obj 
)
JSBool js_MergeSort ( void *  vec,
size_t  nel,
size_t  elsize,
JSComparator  cmp,
void *  arg,
void *  tmp 
)
JSObject* js_NewArrayObject ( JSContext cx,
jsuint  length,
jsval vector,
JSBool  holey = (JSIntn) 0 
)
JSObject* js_NewArrayObjectWithCapacity ( JSContext cx,
jsuint  capacity,
jsval **  vector 
)
JSObject* js_NewArrayWithSlots ( JSContext cx,
JSObject proto,
uint32  len 
)
JSObject* js_NewSlowArrayObject ( JSContext cx  ) 
JSBool js_PrototypeHasIndexedProperties ( JSContext cx,
JSObject obj 
)
JSBool js_SetLengthProperty ( JSContext cx,
JSObject obj,
jsdouble  length 
)

Variable Documentation