V8 Project
v8::internal::FullCodeGenerator::StackValueContext Class Reference
+ Inheritance diagram for v8::internal::FullCodeGenerator::StackValueContext:
+ Collaboration diagram for v8::internal::FullCodeGenerator::StackValueContext:

Public Member Functions

 StackValueContext (FullCodeGenerator *codegen)
 
virtual void Plug (bool flag) const
 
virtual void Plug (Register reg) const
 
virtual void Plug (Label *materialize_true, Label *materialize_false) const
 
virtual void Plug (Variable *var) const
 
virtual void Plug (Handle< Object > lit) const
 
virtual void Plug (Heap::RootListIndex) const
 
virtual void PlugTOS () const
 
virtual void DropAndPlug (int count, Register reg) const
 
virtual void PrepareTest (Label *materialize_true, Label *materialize_false, Label **if_true, Label **if_false, Label **fall_through) const
 
virtual bool IsStackValue () const
 

Detailed Description

Definition at line 744 of file full-codegen.h.

Constructor & Destructor Documentation

◆ StackValueContext()

v8::internal::FullCodeGenerator::StackValueContext::StackValueContext ( FullCodeGenerator codegen)
inlineexplicit

Definition at line 746 of file full-codegen.h.

747  : ExpressionContext(codegen) { }

Member Function Documentation

◆ DropAndPlug()

virtual void v8::internal::FullCodeGenerator::StackValueContext::DropAndPlug ( int  count,
Register  reg 
) const
virtual

◆ IsStackValue()

virtual bool v8::internal::FullCodeGenerator::StackValueContext::IsStackValue ( ) const
inlinevirtual

Definition at line 762 of file full-codegen.h.

762 { return true; }

◆ Plug() [1/6]

virtual void v8::internal::FullCodeGenerator::StackValueContext::Plug ( bool  flag) const
virtual

◆ Plug() [2/6]

virtual void v8::internal::FullCodeGenerator::StackValueContext::Plug ( Handle< Object lit) const
virtual

◆ Plug() [3/6]

virtual void v8::internal::FullCodeGenerator::StackValueContext::Plug ( Heap::RootListIndex  ) const
virtual

◆ Plug() [4/6]

virtual void v8::internal::FullCodeGenerator::StackValueContext::Plug ( Label *  materialize_true,
Label *  materialize_false 
) const
virtual

◆ Plug() [5/6]

void v8::internal::FullCodeGenerator::StackValueContext::Plug ( Register  reg) const
virtual

Definition at line 497 of file full-codegen.cc.

497  {
498  __ Push(reg);
499 }
#define __
static int Push(SpecialRPOStackFrame *stack, int depth, BasicBlock *child, int unvisited)
Definition: scheduler.cc:773

References __, and v8::internal::compiler::Push().

+ Here is the call graph for this function:

◆ Plug() [6/6]

virtual void v8::internal::FullCodeGenerator::StackValueContext::Plug ( Variable var) const
virtual

◆ PlugTOS()

void v8::internal::FullCodeGenerator::StackValueContext::PlugTOS ( ) const
virtual

Definition at line 520 of file full-codegen.cc.

520  {
521 }

◆ PrepareTest()

void v8::internal::FullCodeGenerator::StackValueContext::PrepareTest ( Label *  materialize_true,
Label *  materialize_false,
Label **  if_true,
Label **  if_false,
Label **  fall_through 
) const
virtual

Definition at line 555 of file full-codegen.cc.

560  {
561  *if_true = *fall_through = materialize_true;
562  *if_false = materialize_false;
563 }

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