V8 Project
arguments.h File Reference
#include "src/allocation.h"
#include "src/isolate.h"
+ Include dependency graph for arguments.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::BASE_EMBEDDED< Visitor >
 
class  v8::internal::CustomArgumentsBase< kArrayLength >
 
class  v8::internal::CustomArguments< T >
 
class  v8::internal::PropertyCallbackArguments
 
class  v8::internal::FunctionCallbackArguments
 

Namespaces

 v8
 Debugger support for the V8 JavaScript engine.
 
 v8::internal
 

Macros

#define FOR_EACH_CALLBACK_TABLE_MAPPING_0(F)    F(IndexedPropertyEnumeratorCallback, v8::Array) \
 
#define FOR_EACH_CALLBACK_TABLE_MAPPING_1(F)
 
#define FOR_EACH_CALLBACK_TABLE_MAPPING_2(F)
 
#define FOR_EACH_CALLBACK_TABLE_MAPPING_2_VOID_RETURN(F)
 
#define WRITE_CALL_0(Function, ReturnValue)    v8::Handle<ReturnValue> Call(Function f); \
 
#define WRITE_CALL_1(Function, ReturnValue, Arg1)    v8::Handle<ReturnValue> Call(Function f, Arg1 arg1); \
 
#define WRITE_CALL_2(Function, ReturnValue, Arg1, Arg2)    v8::Handle<ReturnValue> Call(Function f, Arg1 arg1, Arg2 arg2); \
 
#define WRITE_CALL_2_VOID(Function, ReturnValue, Arg1, Arg2)    void Call(Function f, Arg1 arg1, Arg2 arg2); \
 
#define CLOBBER_DOUBLE_REGISTERS()
 
#define DECLARE_RUNTIME_FUNCTION(Name)   Object* Name(int args_length, Object** args_object, Isolate* isolate)
 
#define RUNTIME_FUNCTION_RETURNS_TYPE(Type, Name)
 
#define RUNTIME_FUNCTION(Name)   RUNTIME_FUNCTION_RETURNS_TYPE(Object*, Name)
 
#define RUNTIME_FUNCTION_RETURN_PAIR(Name)    RUNTIME_FUNCTION_RETURNS_TYPE(ObjectPair, Name)
 
#define RUNTIME_ARGUMENTS(isolate, args)    args.length(), args.arguments(), isolate
 

Functions

double v8::internal::ClobberDoubleRegisters (double x1, double x2, double x3, double x4)
 

Macro Definition Documentation

◆ CLOBBER_DOUBLE_REGISTERS

#define CLOBBER_DOUBLE_REGISTERS ( )

Definition at line 279 of file arguments.h.

◆ DECLARE_RUNTIME_FUNCTION

#define DECLARE_RUNTIME_FUNCTION (   Name)    Object* Name(int args_length, Object** args_object, Isolate* isolate)

Definition at line 283 of file arguments.h.

◆ FOR_EACH_CALLBACK_TABLE_MAPPING_0

#define FOR_EACH_CALLBACK_TABLE_MAPPING_0 (   F)     F(IndexedPropertyEnumeratorCallback, v8::Array) \

Definition at line 72 of file arguments.h.

◆ FOR_EACH_CALLBACK_TABLE_MAPPING_1

#define FOR_EACH_CALLBACK_TABLE_MAPPING_1 (   F)
Value:
#define F(name, str)
A primitive boolean value (ECMA-262, 4.3.14).
Definition: v8.h:1731
A JavaScript value representing a signed integer.
Definition: v8.h:2176
The superclass of all JavaScript values and objects.
Definition: v8.h:1440
void(* IndexedPropertyGetterCallback)(uint32_t index, const PropertyCallbackInfo< Value > &info)
Returns the value of the property if the getter intercepts the request.
Definition: v8.h:3474
void(* NamedPropertyGetterCallback)(Local< String > property, const PropertyCallbackInfo< Value > &info)
NamedProperty[Getter|Setter] are used as interceptors on object.
Definition: v8.h:3427
void(* IndexedPropertyDeleterCallback)(uint32_t index, const PropertyCallbackInfo< Boolean > &info)
Returns a non-empty handle if the deleter intercepts the request.
Definition: v8.h:3503
void(* AccessorNameGetterCallback)(Local< Name > property, const PropertyCallbackInfo< Value > &info)
Definition: v8.h:2248
void(* IndexedPropertyQueryCallback)(uint32_t index, const PropertyCallbackInfo< Integer > &info)
Returns a non-empty handle if the interceptor intercepts the request.
Definition: v8.h:3493
void(* NamedPropertyDeleterCallback)(Local< String > property, const PropertyCallbackInfo< Boolean > &info)
Returns a non-empty handle if the deleter intercepts the request.
Definition: v8.h:3457
void(* NamedPropertyQueryCallback)(Local< String > property, const PropertyCallbackInfo< Integer > &info)
Returns a non-empty handle if the interceptor intercepts the request.
Definition: v8.h:3447

Definition at line 75 of file arguments.h.

◆ FOR_EACH_CALLBACK_TABLE_MAPPING_2

#define FOR_EACH_CALLBACK_TABLE_MAPPING_2 (   F)
Value:
void(* IndexedPropertySetterCallback)(uint32_t index, Local< Value > value, const PropertyCallbackInfo< Value > &info)
Returns the value if the setter intercepts the request.
Definition: v8.h:3483
void(* NamedPropertySetterCallback)(Local< String > property, Local< Value > value, const PropertyCallbackInfo< Value > &info)
Returns the value if the setter intercepts the request.
Definition: v8.h:3436

Definition at line 94 of file arguments.h.

◆ FOR_EACH_CALLBACK_TABLE_MAPPING_2_VOID_RETURN

#define FOR_EACH_CALLBACK_TABLE_MAPPING_2_VOID_RETURN (   F)
Value:
void, \
void(* AccessorNameSetterCallback)(Local< Name > property, Local< Value > value, const PropertyCallbackInfo< void > &info)
Definition: v8.h:2257

Definition at line 104 of file arguments.h.

◆ RUNTIME_ARGUMENTS

#define RUNTIME_ARGUMENTS (   isolate,
  args 
)     args.length(), args.arguments(), isolate

Definition at line 300 of file arguments.h.

◆ RUNTIME_FUNCTION

#define RUNTIME_FUNCTION (   Name)    RUNTIME_FUNCTION_RETURNS_TYPE(Object*, Name)

Definition at line 296 of file arguments.h.

◆ RUNTIME_FUNCTION_RETURN_PAIR

#define RUNTIME_FUNCTION_RETURN_PAIR (   Name)     RUNTIME_FUNCTION_RETURNS_TYPE(ObjectPair, Name)

Definition at line 297 of file arguments.h.

◆ RUNTIME_FUNCTION_RETURNS_TYPE

#define RUNTIME_FUNCTION_RETURNS_TYPE (   Type,
  Name 
)
Value:
static INLINE(Type __RT_impl_##Name(Arguments args, Isolate* isolate)); \
Type Name(int args_length, Object** args_object, Isolate* isolate) { \
CLOBBER_DOUBLE_REGISTERS(); \
Arguments args(args_length, args_object); \
return __RT_impl_##Name(args, isolate); \
} \
static Type __RT_impl_##Name(Arguments args, Isolate* isolate)
#define INLINE(declarator)
Definition: macros.h:261
TypeImpl< ZoneTypeConfig > Type
kSerializedDataOffset Object
Definition: objects-inl.h:5322

Definition at line 286 of file arguments.h.

◆ WRITE_CALL_0

#define WRITE_CALL_0 (   Function,
  ReturnValue 
)     v8::Handle<ReturnValue> Call(Function f); \

Definition at line 191 of file arguments.h.

◆ WRITE_CALL_1

#define WRITE_CALL_1 (   Function,
  ReturnValue,
  Arg1 
)     v8::Handle<ReturnValue> Call(Function f, Arg1 arg1); \

Definition at line 194 of file arguments.h.

◆ WRITE_CALL_2

#define WRITE_CALL_2 (   Function,
  ReturnValue,
  Arg1,
  Arg2 
)     v8::Handle<ReturnValue> Call(Function f, Arg1 arg1, Arg2 arg2); \

Definition at line 197 of file arguments.h.

◆ WRITE_CALL_2_VOID

#define WRITE_CALL_2_VOID (   Function,
  ReturnValue,
  Arg1,
  Arg2 
)     void Call(Function f, Arg1 arg1, Arg2 arg2); \

Definition at line 200 of file arguments.h.