v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Context Class Reference

#include <contexts.h>

Inheritance diagram for Context:
Collaboration diagram for Context:

Public Types

enum  {
  CLOSURE_INDEX, PREVIOUS_INDEX, EXTENSION_INDEX, GLOBAL_OBJECT_INDEX,
  MIN_CONTEXT_SLOTS, THROWN_OBJECT_INDEX = MIN_CONTEXT_SLOTS, GLOBAL_PROXY_INDEX = MIN_CONTEXT_SLOTS, SECURITY_TOKEN_INDEX,
  ARGUMENTS_BOILERPLATE_INDEX, ALIASED_ARGUMENTS_BOILERPLATE_INDEX, STRICT_MODE_ARGUMENTS_BOILERPLATE_INDEX, REGEXP_RESULT_MAP_INDEX,
  FUNCTION_MAP_INDEX, STRICT_MODE_FUNCTION_MAP_INDEX, FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX, STRICT_MODE_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX,
  FUNCTION_INSTANCE_MAP_INDEX, STRICT_MODE_FUNCTION_INSTANCE_MAP_INDEX, INITIAL_OBJECT_PROTOTYPE_INDEX, BOOLEAN_FUNCTION_INDEX,
  NUMBER_FUNCTION_INDEX, STRING_FUNCTION_INDEX, STRING_FUNCTION_PROTOTYPE_MAP_INDEX, OBJECT_FUNCTION_INDEX,
  INTERNAL_ARRAY_FUNCTION_INDEX, ARRAY_FUNCTION_INDEX, JS_ARRAY_MAPS_INDEX, DATE_FUNCTION_INDEX,
  JSON_OBJECT_INDEX, REGEXP_FUNCTION_INDEX, CREATE_DATE_FUN_INDEX, TO_NUMBER_FUN_INDEX,
  TO_STRING_FUN_INDEX, TO_DETAIL_STRING_FUN_INDEX, TO_OBJECT_FUN_INDEX, TO_INTEGER_FUN_INDEX,
  TO_UINT32_FUN_INDEX, TO_INT32_FUN_INDEX, TO_BOOLEAN_FUN_INDEX, GLOBAL_EVAL_FUN_INDEX,
  INSTANTIATE_FUN_INDEX, CONFIGURE_INSTANCE_FUN_INDEX, MESSAGE_LISTENERS_INDEX, MAKE_MESSAGE_FUN_INDEX,
  GET_STACK_TRACE_LINE_INDEX, CONFIGURE_GLOBAL_INDEX, FUNCTION_CACHE_INDEX, JSFUNCTION_RESULT_CACHES_INDEX,
  NORMALIZED_MAP_CACHE_INDEX, RUNTIME_CONTEXT_INDEX, CALL_AS_FUNCTION_DELEGATE_INDEX, CALL_AS_CONSTRUCTOR_DELEGATE_INDEX,
  SCRIPT_FUNCTION_INDEX, OPAQUE_REFERENCE_FUNCTION_INDEX, CONTEXT_EXTENSION_FUNCTION_INDEX, OUT_OF_MEMORY_INDEX,
  CONTEXT_DATA_INDEX, ALLOW_CODE_GEN_FROM_STRINGS_INDEX, ERROR_MESSAGE_FOR_CODE_GEN_FROM_STRINGS_INDEX, TO_COMPLETE_PROPERTY_DESCRIPTOR_INDEX,
  DERIVED_HAS_TRAP_INDEX, DERIVED_GET_TRAP_INDEX, DERIVED_SET_TRAP_INDEX, PROXY_ENUMERATE,
  RANDOM_SEED_INDEX, OPTIMIZED_FUNCTIONS_LIST, MAP_CACHE_INDEX, NEXT_CONTEXT_LINK,
  NATIVE_CONTEXT_SLOTS, FIRST_WEAK_SLOT = OPTIMIZED_FUNCTIONS_LIST
}
 
typedef FixedBodyDescriptor
< kHeaderSize, kSize, kSize
ScavengeBodyDescriptor
 
typedef FixedBodyDescriptor
< kHeaderSize, kHeaderSize+FIRST_WEAK_SLOT
*kPointerSize, kSize
MarkCompactBodyDescriptor
 

Public Member Functions

JSFunctionclosure ()
 
void set_closure (JSFunction *closure)
 
Contextprevious ()
 
void set_previous (Context *context)
 
bool has_extension ()
 
Objectextension ()
 
void set_extension (Object *object)
 
JSModulemodule ()
 
void set_module (JSModule *module)
 
Contextdeclaration_context ()
 
GlobalObjectglobal_object ()
 
void set_global_object (GlobalObject *object)
 
JSObjectglobal_proxy ()
 
void set_global_proxy (JSObject *global)
 
JSBuiltinsObjectbuiltins ()
 
Contextnative_context ()
 
bool IsFunctionContext ()
 
bool IsCatchContext ()
 
bool IsWithContext ()
 
bool IsBlockContext ()
 
bool IsModuleContext ()
 
bool IsGlobalContext ()
 
bool has_out_of_memory ()
 
void mark_out_of_memory ()
 
void AddOptimizedFunction (JSFunction *function)
 
void RemoveOptimizedFunction (JSFunction *function)
 
ObjectOptimizedFunctionsListHead ()
 
void ClearOptimizedFunctions ()
 
Handle< ObjectErrorMessageForCodeGenerationFromStrings ()
 
Handle< ObjectLookup (Handle< String > name, ContextLookupFlags flags, int *index, PropertyAttributes *attributes, BindingFlags *binding_flags)
 
- Public Member Functions inherited from FixedArray
Objectget (int index)
 
void set (int index, Object *value)
 
bool is_the_hole (int index)
 
void set (int index, Smi *value)
 
void set (int index, Object *value, WriteBarrierMode mode)
 
void set_undefined (int index)
 
void set_undefined (Heap *heap, int index)
 
void set_null (int index)
 
void set_null (Heap *heap, int index)
 
void set_the_hole (int index)
 
void set_unchecked (int index, Smi *value)
 
void set_null_unchecked (Heap *heap, int index)
 
void set_unchecked (Heap *heap, int index, Object *value, WriteBarrierMode mode)
 
Object ** data_start ()
 
Object ** GetFirstElementAddress ()
 
bool ContainsOnlySmisOrHoles ()
 
MUST_USE_RESULT MaybeObject * Copy ()
 
MUST_USE_RESULT MaybeObject * CopySize (int new_length)
 
MUST_USE_RESULT MaybeObject * AddKeysFromJSArray (JSArray *array)
 
MUST_USE_RESULT MaybeObject * UnionOfKeys (FixedArray *other)
 
void CopyTo (int pos, FixedArray *dest, int dest_pos, int len)
 
void SwapPairs (FixedArray *numbers, int i, int j)
 
void SortPairs (FixedArray *numbers, uint32_t len)
 
- Public Member Functions inherited from FixedArrayBase
int length ()
 
void set_length (int value)
 
- Public Member Functions inherited from HeapObject
Mapmap ()
 
void set_map (Map *value)
 
void set_map_no_write_barrier (Map *value)
 
MapWord map_word ()
 
void set_map_word (MapWord map_word)
 
HeapGetHeap ()
 
IsolateGetIsolate ()
 
Address address ()
 
void Iterate (ObjectVisitor *v)
 
void IterateBody (InstanceType type, int object_size, ObjectVisitor *v)
 
int Size ()
 
int SizeFromMap (Map *map)
 
WriteBarrierMode GetWriteBarrierMode (const AssertNoAllocation &)
 
void HeapObjectShortPrint (StringStream *accumulator)
 
 STATIC_CHECK (kMapOffset==Internals::kHeapObjectMapOffset)
 
- Public Member Functions inherited from Object
bool IsObject ()
 
bool IsFixedArrayBase ()
 
bool IsInstanceOf (FunctionTemplateInfo *type)
 
bool IsStruct ()
 
 INLINE (bool IsSpecObject())
 
 INLINE (bool IsSpecFunction())
 
 INLINE (bool IsUndefined())
 
 INLINE (bool IsNull())
 
 INLINE (bool IsTheHole())
 
 INLINE (bool IsTrue())
 
 INLINE (bool IsFalse())
 
bool IsArgumentsMarker ()
 
bool NonFailureIsHeapObject ()
 
bool IsFiller ()
 
double Number ()
 
bool IsNaN ()
 
bool HasValidElements ()
 
bool HasSpecificClassOf (String *name)
 
MUST_USE_RESULT MaybeObject * ToObject ()
 
ObjectToBoolean ()
 
MUST_USE_RESULT MaybeObject * ToObject (Context *native_context)
 
MUST_USE_RESULT MaybeObject * ToSmi ()
 
void Lookup (String *name, LookupResult *result)
 
MUST_USE_RESULT MaybeObject * GetProperty (String *key)
 
MUST_USE_RESULT MaybeObject * GetProperty (String *key, PropertyAttributes *attributes)
 
MUST_USE_RESULT MaybeObject * GetPropertyWithReceiver (Object *receiver, String *key, PropertyAttributes *attributes)
 
MUST_USE_RESULT MaybeObject * GetProperty (Object *receiver, LookupResult *result, String *key, PropertyAttributes *attributes)
 
MUST_USE_RESULT MaybeObject * GetPropertyWithDefinedGetter (Object *receiver, JSReceiver *getter)
 
MUST_USE_RESULT MaybeObject * GetElement (uint32_t index)
 
ObjectGetElementNoExceptionThrown (uint32_t index)
 
MUST_USE_RESULT MaybeObject * GetElementWithReceiver (Object *receiver, uint32_t index)
 
ObjectGetPrototype ()
 
MUST_USE_RESULT MaybeObject * GetHash (CreationFlag flag)
 
bool SameValue (Object *other)
 
bool ToArrayIndex (uint32_t *index)
 
bool IsStringObjectWithCharacterAt (uint32_t index)
 
void VerifyApiCallResultType ()
 
void ShortPrint ()
 
void ShortPrint (FILE *out)
 
void ShortPrint (StringStream *accumulator)
 

Static Public Member Functions

static Contextcast (Object *context)
 
static int SlotOffset (int index)
 
- Static Public Member Functions inherited from FixedArray
static int SizeFor (int length)
 
static int OffsetOfElementAt (int index)
 
static FixedArraycast (Object *obj)
 
- Static Public Member Functions inherited from FixedArrayBase
static FixedArrayBasecast (Object *object)
 
- Static Public Member Functions inherited from HeapObject
static HeapObjectFromAddress (Address address)
 
static Object ** RawField (HeapObject *obj, int offset)
 
static HeapObjectcast (Object *obj)
 
- Static Public Member Functions inherited from Object
static Handle< ObjectGetProperty (Handle< Object > object, Handle< Object > receiver, LookupResult *result, Handle< String > key, PropertyAttributes *attributes)
 
static Handle< ObjectGetElement (Handle< Object > object, uint32_t index)
 
static Objectcast (Object *value)
 

Static Public Attributes

static const int kSize = kHeaderSize + NATIVE_CONTEXT_SLOTS * kPointerSize
 
- Static Public Attributes inherited from FixedArray
static const int kMaxSize = 128 * MB * kPointerSize
 
static const int kMaxLength = (kMaxSize - kHeaderSize) / kPointerSize
 
- Static Public Attributes inherited from FixedArrayBase
static const int kLengthOffset = HeapObject::kHeaderSize
 
static const int kHeaderSize = kLengthOffset + kPointerSize
 
- Static Public Attributes inherited from HeapObject
static const int kMapOffset = Object::kHeaderSize
 
static const int kHeaderSize = kMapOffset + kPointerSize
 
- Static Public Attributes inherited from Object
static const int kHeaderSize = 0
 

Additional Inherited Members

- Protected Member Functions inherited from HeapObject
void IteratePointers (ObjectVisitor *v, int start, int end)
 
void IteratePointer (ObjectVisitor *v, int offset)
 
- Static Protected Member Functions inherited from FixedArray
static void NoWriteBarrierSet (FixedArray *array, int index, Object *value)
 
static void NoIncrementalWriteBarrierSet (FixedArray *array, int index, Object *value)
 

Detailed Description

Definition at line 209 of file contexts.h.

Member Typedef Documentation

Member Enumeration Documentation

anonymous enum
Enumerator
CLOSURE_INDEX 
PREVIOUS_INDEX 
EXTENSION_INDEX 
GLOBAL_OBJECT_INDEX 
MIN_CONTEXT_SLOTS 
THROWN_OBJECT_INDEX 
GLOBAL_PROXY_INDEX 
SECURITY_TOKEN_INDEX 
ARGUMENTS_BOILERPLATE_INDEX 
ALIASED_ARGUMENTS_BOILERPLATE_INDEX 
STRICT_MODE_ARGUMENTS_BOILERPLATE_INDEX 
REGEXP_RESULT_MAP_INDEX 
FUNCTION_MAP_INDEX 
STRICT_MODE_FUNCTION_MAP_INDEX 
FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX 
STRICT_MODE_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX 
FUNCTION_INSTANCE_MAP_INDEX 
STRICT_MODE_FUNCTION_INSTANCE_MAP_INDEX 
INITIAL_OBJECT_PROTOTYPE_INDEX 
BOOLEAN_FUNCTION_INDEX 
NUMBER_FUNCTION_INDEX 
STRING_FUNCTION_INDEX 
STRING_FUNCTION_PROTOTYPE_MAP_INDEX 
OBJECT_FUNCTION_INDEX 
INTERNAL_ARRAY_FUNCTION_INDEX 
ARRAY_FUNCTION_INDEX 
JS_ARRAY_MAPS_INDEX 
DATE_FUNCTION_INDEX 
JSON_OBJECT_INDEX 
REGEXP_FUNCTION_INDEX 
CREATE_DATE_FUN_INDEX 
TO_NUMBER_FUN_INDEX 
TO_STRING_FUN_INDEX 
TO_DETAIL_STRING_FUN_INDEX 
TO_OBJECT_FUN_INDEX 
TO_INTEGER_FUN_INDEX 
TO_UINT32_FUN_INDEX 
TO_INT32_FUN_INDEX 
TO_BOOLEAN_FUN_INDEX 
GLOBAL_EVAL_FUN_INDEX 
INSTANTIATE_FUN_INDEX 
CONFIGURE_INSTANCE_FUN_INDEX 
MESSAGE_LISTENERS_INDEX 
MAKE_MESSAGE_FUN_INDEX 
GET_STACK_TRACE_LINE_INDEX 
CONFIGURE_GLOBAL_INDEX 
FUNCTION_CACHE_INDEX 
JSFUNCTION_RESULT_CACHES_INDEX 
NORMALIZED_MAP_CACHE_INDEX 
RUNTIME_CONTEXT_INDEX 
CALL_AS_FUNCTION_DELEGATE_INDEX 
CALL_AS_CONSTRUCTOR_DELEGATE_INDEX 
SCRIPT_FUNCTION_INDEX 
OPAQUE_REFERENCE_FUNCTION_INDEX 
CONTEXT_EXTENSION_FUNCTION_INDEX 
OUT_OF_MEMORY_INDEX 
CONTEXT_DATA_INDEX 
ALLOW_CODE_GEN_FROM_STRINGS_INDEX 
ERROR_MESSAGE_FOR_CODE_GEN_FROM_STRINGS_INDEX 
TO_COMPLETE_PROPERTY_DESCRIPTOR_INDEX 
DERIVED_HAS_TRAP_INDEX 
DERIVED_GET_TRAP_INDEX 
DERIVED_SET_TRAP_INDEX 
PROXY_ENUMERATE 
RANDOM_SEED_INDEX 
OPTIMIZED_FUNCTIONS_LIST 
MAP_CACHE_INDEX 
NEXT_CONTEXT_LINK 
NATIVE_CONTEXT_SLOTS 
FIRST_WEAK_SLOT 

Definition at line 218 of file contexts.h.

Member Function Documentation

void ClearOptimizedFunctions ( )
Context * declaration_context ( )
Handle< Object > ErrorMessageForCodeGenerationFromStrings ( )
JSObject * global_proxy ( )
bool has_extension ( )
inline
bool has_out_of_memory ( )
inline

Definition at line 1440 of file isolate.h.

References Context::native_context().

bool IsBlockContext ( )
inline

Definition at line 362 of file contexts.h.

References HeapObject::GetHeap(), and HeapObject::map().

Referenced by Scope::DeserializeScopeChain().

bool IsCatchContext ( )
inline
bool IsFunctionContext ( )
inline
bool IsGlobalContext ( )
inline
bool IsModuleContext ( )
inline
bool IsWithContext ( )
inline

Definition at line 358 of file contexts.h.

References HeapObject::GetHeap(), and HeapObject::map().

Referenced by Scope::DeserializeScopeChain().

JSModule* module ( )
inline

Definition at line 321 of file contexts.h.

References JSModule::cast(), and Context::EXTENSION_INDEX.

Referenced by Scope::DeserializeScopeChain().

Object * OptimizedFunctionsListHead ( )
Context* previous ( )
inline

Definition at line 310 of file contexts.h.

References ASSERT.

Referenced by Context::declaration_context(), and Scope::DeserializeScopeChain().

void RemoveOptimizedFunction ( JSFunction function)
void set_global_proxy ( JSObject global)

Definition at line 82 of file contexts.cc.

References Context::native_context().

void set_module ( JSModule module)
inline

Definition at line 322 of file contexts.h.

References Context::EXTENSION_INDEX, and FixedArray::set().

static int SlotOffset ( int  index)
inlinestatic

Field Documentation

const int kSize = kHeaderSize + NATIVE_CONTEXT_SLOTS * kPointerSize
static

Definition at line 429 of file contexts.h.


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