V8 Project
v8::internal::CustomArguments< T > Class Template Reference

#include <arguments.h>

+ Inheritance diagram for v8::internal::CustomArguments< T >:
+ Collaboration diagram for v8::internal::CustomArguments< T >:

Public Types

typedef CustomArgumentsBase< T::kArgsLength > Super
 

Public Member Functions

 ~CustomArguments ()
 
- Public Member Functions inherited from v8::internal::CustomArgumentsBase< T::kArgsLength >
virtual void IterateInstance (ObjectVisitor *v)
 

Static Public Attributes

static const int kReturnValueOffset = T::kReturnValueIndex
 

Protected Member Functions

 CustomArguments (Isolate *isolate)
 
template<typename V >
v8::Handle< VGetReturnValue (Isolate *isolate)
 
Isolateisolate ()
 
- Protected Member Functions inherited from v8::internal::CustomArgumentsBase< T::kArgsLength >
Object ** begin ()
 
 CustomArgumentsBase (Isolate *isolate)
 

Additional Inherited Members

- Protected Attributes inherited from v8::internal::CustomArgumentsBase< T::kArgsLength >
Objectvalues_ [kArrayLength]
 

Detailed Description

template<typename T>
class v8::internal::CustomArguments< T >

Definition at line 129 of file arguments.h.

Member Typedef Documentation

◆ Super

template<typename T >
typedef CustomArgumentsBase<T::kArgsLength> v8::internal::CustomArguments< T >::Super

Definition at line 133 of file arguments.h.

Constructor & Destructor Documentation

◆ ~CustomArguments()

template<typename T >
v8::internal::CustomArguments< T >::~CustomArguments ( )
inline

Definition at line 134 of file arguments.h.

134  {
135  this->begin()[kReturnValueOffset] =
136  reinterpret_cast<Object*>(kHandleZapValue);
137  }
static const int kReturnValueOffset
Definition: arguments.h:131
const Address kHandleZapValue
Definition: globals.h:270
kSerializedDataOffset Object
Definition: objects-inl.h:5322

References v8::internal::CustomArgumentsBase< T::kArgsLength >::begin(), v8::internal::kHandleZapValue, and v8::internal::CustomArguments< T >::kReturnValueOffset.

+ Here is the call graph for this function:

◆ CustomArguments()

template<typename T >
v8::internal::CustomArguments< T >::CustomArguments ( Isolate isolate)
inlineexplicitprotected

Definition at line 140 of file arguments.h.

140 : Super(isolate) {}
CustomArgumentsBase< T::kArgsLength > Super
Definition: arguments.h:133

Member Function Documentation

◆ GetReturnValue()

template<typename T >
template<typename V >
v8::Handle< V > v8::internal::CustomArguments< T >::GetReturnValue ( Isolate isolate)
protected

Definition at line 16 of file arguments.cc.

16  {
17  // Check the ReturnValue.
18  Object** handle = &this->begin()[kReturnValueOffset];
19  // Nothing was set, return empty handle as per previous behaviour.
20  if ((*handle)->IsTheHole()) return v8::Handle<V>();
21  return Utils::Convert<Object, V>(Handle<Object>(handle));
22 }
An object reference managed by the v8 garbage collector.
Definition: v8.h:198
Handle< T > handle(T *t, Isolate *isolate)
Definition: handles.h:146

References v8::internal::handle().

+ Here is the call graph for this function:

◆ isolate()

template<typename T >
Isolate* v8::internal::CustomArguments< T >::isolate ( )
inlineprotected

Definition at line 145 of file arguments.h.

145  {
146  return reinterpret_cast<Isolate*>(this->begin()[T::kIsolateIndex]);
147  }

References v8::internal::CustomArgumentsBase< T::kArgsLength >::begin().

+ Here is the call graph for this function:

Member Data Documentation

◆ kReturnValueOffset

template<typename T >
const int v8::internal::CustomArguments< T >::kReturnValueOffset = T::kReturnValueIndex
static

Definition at line 131 of file arguments.h.

Referenced by v8::internal::CustomArguments< T >::~CustomArguments().


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