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

Public Member Functions

 EffectContext (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 IsEffect () const
 

Detailed Description

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

Constructor & Destructor Documentation

◆ EffectContext()

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

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

813  : ExpressionContext(codegen) { }

Member Function Documentation

◆ DropAndPlug()

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

◆ IsEffect()

virtual bool v8::internal::FullCodeGenerator::EffectContext::IsEffect ( ) const
inlinevirtual

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

828 { return true; }

◆ Plug() [1/6]

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

◆ Plug() [2/6]

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

◆ Plug() [3/6]

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

◆ Plug() [4/6]

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

◆ Plug() [5/6]

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

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

488  {
489 }

◆ Plug() [6/6]

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

◆ PlugTOS()

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

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

510  {
511  __ Drop(1);
512 }
#define __

References __.

◆ PrepareTest()

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

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

537  {
538  // In an effect context, the true and the false case branch to the
539  // same label.
540  *if_true = *if_false = *fall_through = materialize_true;
541 }

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