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
Call Class Reference

#include <ast.h>

Inheritance diagram for Call:
Collaboration diagram for Call:

Public Member Functions

Expressionexpression () const
 
ZoneList< Expression * > * arguments () const
 
virtual int position () const
 
TypeFeedbackId CallFeedbackId () const
 
void RecordTypeFeedback (TypeFeedbackOracle *oracle, CallKind call_kind)
 
virtual SmallMapListGetReceiverTypes ()
 
virtual bool IsMonomorphic ()
 
CheckType check_type () const
 
Handle< JSFunctiontarget ()
 
Handle< JSObjectholder ()
 
Handle< JSGlobalPropertyCellcell ()
 
bool ComputeTarget (Handle< Map > type, Handle< String > name)
 
bool ComputeGlobalTarget (Handle< GlobalObject > global, LookupResult *lookup)
 
BailoutId ReturnId () const
 
- Public Member Functions inherited from Expression
virtual bool IsValidLeftHandSide ()
 
virtual bool ToBooleanIsTrue ()
 
virtual bool ToBooleanIsFalse ()
 
virtual bool IsPropertyName ()
 
virtual bool ResultOverwriteAllowed ()
 
bool IsSmiLiteral ()
 
bool IsStringLiteral ()
 
bool IsNullLiteral ()
 
Handle< MapGetMonomorphicReceiverType ()
 
BailoutId id () const
 
TypeFeedbackId test_id () const
 
- Public Member Functions inherited from AstNode
void * operator new (size_t size, Zone *zone)
 
 AstNode ()
 
virtual ~AstNode ()
 
virtual void Accept (AstVisitor *v)=0
 
virtual Type node_type () const =0
 
virtual TargetCollectorAsTargetCollector ()
 
virtual BreakableStatementAsBreakableStatement ()
 
virtual IterationStatementAsIterationStatement ()
 
virtual MaterializedLiteralAsMaterializedLiteral ()
 
- Public Member Functions inherited from ZoneObject
 INLINE (void *operator new(size_t size, Zone *zone))
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)
 

Protected Member Functions

 Call (Isolate *isolate, Expression *expression, ZoneList< Expression * > *arguments, int pos)
 
- Protected Member Functions inherited from Expression
 Expression (Isolate *isolate)
 

Additional Inherited Members

- Public Types inherited from Expression
enum  Context { kUninitialized, kEffect, kValue, kTest }
 
- Public Types inherited from AstNode
enum  Type { kInvalid = -1 }
 
- Static Protected Member Functions inherited from AstNode
static int GetNextId (Isolate *isolate)
 
static int ReserveIdRange (Isolate *isolate, int n)
 
static TypeFeedbackId reuse (BailoutId id)
 

Detailed Description

Definition at line 1501 of file ast.h.

Constructor & Destructor Documentation

Call ( Isolate isolate,
Expression expression,
ZoneList< Expression * > *  arguments,
int  pos 
)
inlineprotected

Definition at line 1535 of file ast.h.

Member Function Documentation

ZoneList<Expression*>* arguments ( ) const
inline

Definition at line 1506 of file ast.h.

Referenced by TypeFeedbackOracle::CallReceiverTypes().

Handle<JSGlobalPropertyCell> cell ( )
inline

Definition at line 1522 of file ast.h.

CheckType check_type ( ) const
inline

Definition at line 1514 of file ast.h.

bool ComputeGlobalTarget ( Handle< GlobalObject global,
LookupResult *  lookup 
)

Definition at line 537 of file ast.cc.

References ASSERT, JSFunction::cast(), HEAP, v8::internal::NORMAL, and Handle< T >::null().

Expression* expression ( ) const
inline

Definition at line 1505 of file ast.h.

virtual SmallMapList* GetReceiverTypes ( )
inlinevirtual

Reimplemented from Expression.

Definition at line 1512 of file ast.h.

Handle<JSObject> holder ( )
inline

Definition at line 1520 of file ast.h.

virtual bool IsMonomorphic ( )
inlinevirtual

Reimplemented from Expression.

Definition at line 1513 of file ast.h.

virtual int position ( ) const
inlinevirtual

Reimplemented from Expression.

Definition at line 1507 of file ast.h.

BailoutId ReturnId ( ) const
inline

Definition at line 1527 of file ast.h.

Handle<JSFunction> target ( )
inline

Definition at line 1515 of file ast.h.


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