v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <objects.h>
Public Types | |
typedef FixedBodyDescriptor < kHandlerOffset, kPaddingOffset, kSize > | BodyDescriptor |
Public Types inherited from JSReceiver | |
enum | DeleteMode { NORMAL_DELETION, STRICT_DELETION, FORCE_DELETION } |
enum | StoreFromKeyed { MAY_BE_STORE_FROM_KEYED, CERTAINLY_NOT_STORE_FROM_KEYED } |
enum | ExtensibilityCheck { PERFORM_EXTENSIBILITY_CHECK, OMIT_EXTENSIBILITY_CHECK } |
Static Public Member Functions | |
static JSProxy * | cast (Object *obj) |
Static Public Member Functions inherited from JSReceiver | |
static JSReceiver * | cast (Object *obj) |
static Handle< Object > | SetProperty (Handle< JSReceiver > object, Handle< String > key, Handle< Object > value, PropertyAttributes attributes, StrictModeFlag strict_mode) |
Static Public Member Functions inherited from HeapObject | |
static HeapObject * | FromAddress (Address address) |
static Object ** | RawField (HeapObject *obj, int offset) |
static HeapObject * | cast (Object *obj) |
Static Public Member Functions inherited from Object | |
static Handle< Object > | GetProperty (Handle< Object > object, Handle< Object > receiver, LookupResult *result, Handle< String > key, PropertyAttributes *attributes) |
static Handle< Object > | GetElement (Handle< Object > object, uint32_t index) |
static Object * | cast (Object *value) |
Static Public Attributes | |
static const int | kHandlerOffset = HeapObject::kHeaderSize |
static const int | kHashOffset = kHandlerOffset + kPointerSize |
static const int | kPaddingOffset = kHashOffset + kPointerSize |
static const int | kSize = JSObject::kHeaderSize |
static const int | kHeaderSize = kPaddingOffset |
static const int | kPaddingSize = kSize - kPaddingOffset |
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 JSReceiver | |
Smi * | GenerateIdentityHash () |
Protected Member Functions inherited from HeapObject | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
MUST_USE_RESULT Handle< Object > CallTrap | ( | const char * | name, |
Handle< Object > | derived_trap, | ||
int | argc, | ||
Handle< Object > | args[] | ||
) |
Definition at line 2770 of file objects.cc.
References ARRAY_SIZE, Execution::Call(), Isolate::factory(), HeapObject::GetIsolate(), v8::internal::GetProperty(), v8::internal::HandleVector(), Isolate::has_pending_exception(), Handle< T >::is_null(), Factory::LookupAsciiSymbol(), Factory::NewTypeError(), and Isolate::Throw().
Referenced by JSProxy::GetPropertyWithHandler().
Referenced by JSReceiver::DeleteElement(), JSReceiver::DeleteProperty(), Object::GetElementWithReceiver(), JSReceiver::GetIdentityHash(), v8::internal::GetKeysInFixedArrayFor(), JSReceiver::HasElement(), JSObject::HasElementWithInterceptor(), JSObject::HasElementWithReceiver(), JSReceiver::HasLocalProperty(), JSReceiver::HasProperty(), JSReceiver::LocalLookup(), JSObject::LookupRealNamedPropertyInPrototypes(), BASE_EMBEDDED< Visitor >::proxy(), JSReceiver::SetElement(), JSObject::SetElementWithCallbackSetterInPrototypes(), Runtime::SetObjectProperty(), StoreIC::Store(), and KeyedStoreIC::Store().
MUST_USE_RESULT MaybeObject * DeleteElementWithHandler | ( | uint32_t | index, |
DeleteMode | mode | ||
) |
Definition at line 2672 of file objects.cc.
References JSProxy::DeletePropertyWithHandler(), Isolate::factory(), HeapObject::GetIsolate(), and Factory::Uint32ToString().
Referenced by JSReceiver::DeleteElement().
MUST_USE_RESULT MaybeObject * DeletePropertyWithHandler | ( | String * | name, |
DeleteMode | mode | ||
) |
Definition at line 2646 of file objects.cc.
References ARRAY_SIZE, Failure::Exception(), Isolate::factory(), HeapObject::GetHeap(), HeapObject::GetIsolate(), v8::internal::HandleVector(), Isolate::has_pending_exception(), Factory::LookupAsciiSymbol(), Factory::NewTypeError(), JSReceiver::STRICT_DELETION, and Isolate::Throw().
Referenced by JSProxy::DeleteElementWithHandler(), and JSReceiver::DeleteProperty().
void Fix | ( | ) |
Definition at line 2745 of file objects.cc.
References ASSERT, Factory::BecomeJSFunction(), Factory::BecomeJSObject(), Smi::cast(), JSObject::cast(), Isolate::factory(), JSObject::GetIdentityHash(), HeapObject::GetIsolate(), v8::internal::OMIT_CREATION, and Factory::SetIdentityHash().
MUST_USE_RESULT PropertyAttributes GetElementAttributeWithHandler | ( | JSReceiver * | receiver, |
uint32_t | index | ||
) |
Definition at line 2735 of file objects.cc.
References Isolate::factory(), HeapObject::GetIsolate(), and Factory::Uint32ToString().
Referenced by JSObject::HasElementWithInterceptor(), and JSObject::HasElementWithReceiver().
MaybeObject * GetElementWithHandler | ( | Object * | receiver, |
uint32_t | index | ||
) |
Definition at line 258 of file objects.cc.
References HeapObject::GetHeap(), JSProxy::GetPropertyWithHandler(), and Heap::Uint32ToString().
Referenced by Object::GetElementWithReceiver().
MaybeObject * GetIdentityHash | ( | CreationFlag | flag | ) |
Definition at line 3558 of file objects.cc.
References v8::internal::ALLOW_CREATION, and JSReceiver::GenerateIdentityHash().
Referenced by JSReceiver::GetIdentityHash().
MUST_USE_RESULT PropertyAttributes GetPropertyAttributeWithHandler | ( | JSReceiver * | receiver, |
String * | name | ||
) |
Definition at line 2682 of file objects.cc.
References ABSENT, ARRAY_SIZE, Execution::Call(), DONT_DELETE, DONT_ENUM, Isolate::factory(), HeapObject::GetIsolate(), v8::internal::GetProperty(), v8::internal::HandleVector(), Isolate::has_pending_exception(), Factory::LookupAsciiSymbol(), Factory::NewTypeError(), NONE, READ_ONLY, and Isolate::Throw().
Definition at line 234 of file objects.cc.
References ARRAY_SIZE, JSProxy::CallTrap(), Failure::Exception(), HeapObject::GetIsolate(), and Isolate::has_pending_exception().
Referenced by JSProxy::GetElementWithHandler().
bool HasElementWithHandler | ( | uint32_t | index | ) |
Definition at line 278 of file objects.cc.
References HeapObject::GetHeap(), JSProxy::HasPropertyWithHandler(), and Heap::Uint32ToString().
Referenced by JSReceiver::HasElement().
bool HasPropertyWithHandler | ( | String * | name | ) |
Definition at line 2522 of file objects.cc.
References ARRAY_SIZE, HeapObject::GetIsolate(), and Isolate::has_pending_exception().
Referenced by JSProxy::HasElementWithHandler(), JSReceiver::HasLocalProperty(), and JSReceiver::HasProperty().
|
inline |
Definition at line 4562 of file objects-inl.h.
References ASSERT, HeapObject::GetHeap(), Heap::InNewSpace(), FixedArrayBase::kHeaderSize, v8::internal::kPointerSize, and WRITE_FIELD.
Referenced by Heap::AllocateJSFunctionProxy(), and Heap::AllocateJSProxy().
MaybeObject * SetElementWithHandler | ( | JSReceiver * | receiver, |
uint32_t | index, | ||
Object * | value, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 267 of file objects.cc.
References HeapObject::GetHeap(), NONE, JSProxy::SetPropertyWithHandler(), and Heap::Uint32ToString().
Referenced by JSReceiver::SetElement().
MUST_USE_RESULT MaybeObject * SetPropertyViaPrototypesWithHandler | ( | JSReceiver * | receiver, |
String * | name, | ||
Object * | value, | ||
PropertyAttributes | attributes, | ||
StrictModeFlag | strict_mode, | ||
bool * | done | ||
) |
Definition at line 2557 of file objects.cc.
References ARRAY_SIZE, ASSERT, Execution::Call(), JSReceiver::cast(), Failure::Exception(), Isolate::factory(), HeapObject::GetHeap(), HeapObject::GetIsolate(), v8::internal::GetProperty(), v8::internal::HandleVector(), Isolate::has_pending_exception(), v8::internal::kNonStrictMode, Factory::LookupAsciiSymbol(), Factory::NewTypeError(), and Isolate::Throw().
Referenced by JSObject::SetElementWithCallbackSetterInPrototypes().
MUST_USE_RESULT MaybeObject * SetPropertyWithHandler | ( | JSReceiver * | receiver, |
String * | name, | ||
Object * | value, | ||
PropertyAttributes | attributes, | ||
StrictModeFlag | strict_mode | ||
) |
Definition at line 2537 of file objects.cc.
References ARRAY_SIZE, Failure::Exception(), HeapObject::GetIsolate(), and Isolate::has_pending_exception().
Referenced by JSProxy::SetElementWithHandler().
STATIC_CHECK | ( | kPaddingSize >= | 0 | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 8113 of file objects.h.
Referenced by Heap::AllocateJSProxy(), and StaticVisitorBase::GetVisitorId().