![]()  | 
  
    v8
    3.14.5(node0.10.28)
    
   V8 is Google's open source JavaScript engine 
   | 
 
#include <lithium.h>


Data Structures | |
| class | LifetimeField | 
| class | PolicyField | 
| class | VirtualRegisterField | 
Public Types | |
| enum | Policy {  NONE, ANY, FIXED_REGISTER, FIXED_DOUBLE_REGISTER, FIXED_SLOT, MUST_HAVE_REGISTER, WRITABLE_REGISTER, SAME_AS_FIRST_INPUT }  | 
| enum | Lifetime { USED_AT_START, USED_AT_END } | 
  Public Types inherited from LOperand | |
| enum | Kind {  INVALID, UNALLOCATED, CONSTANT_OPERAND, STACK_SLOT, DOUBLE_STACK_SLOT, REGISTER, DOUBLE_REGISTER, ARGUMENT }  | 
Public Member Functions | |
| LUnallocated (Policy policy) | |
| LUnallocated (Policy policy, int fixed_index) | |
| LUnallocated (Policy policy, Lifetime lifetime) | |
| STATIC_ASSERT (kFixedIndexWidth > 5) | |
| bool | HasAnyPolicy () const | 
| bool | HasFixedPolicy () const | 
| bool | HasRegisterPolicy () const | 
| bool | HasSameAsInputPolicy () const | 
| Policy | policy () const | 
| void | set_policy (Policy policy) | 
| int | fixed_index () const | 
| int | virtual_register () const | 
| void | set_virtual_register (unsigned id) | 
| LUnallocated * | CopyUnconstrained (Zone *zone) | 
| bool | IsUsedAtStart () | 
  Public Member Functions inherited from LOperand | |
| LOperand () | |
| Kind | kind () const | 
| int | index () const | 
| bool | Equals (LOperand *other) const | 
| void | PrintTo (StringStream *stream) | 
| void | ConvertTo (Kind kind, int index) | 
  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) | 
Static Public Member Functions | |
| static LUnallocated * | cast (LOperand *op) | 
  Static Public Member Functions inherited from LOperand | |
| static void | SetUpCaches () | 
| static void | TearDownCaches () | 
Static Public Attributes | |
| static const int | kPolicyWidth = 3 | 
| static const int | kLifetimeWidth = 1 | 
| static const int | kVirtualRegisterWidth = 15 | 
| static const int | kPolicyShift = kKindFieldWidth | 
| static const int | kLifetimeShift = kPolicyShift + kPolicyWidth | 
| static const int | kVirtualRegisterShift = kLifetimeShift + kLifetimeWidth | 
| static const int | kFixedIndexShift | 
| static const int | kFixedIndexWidth = 32 - kFixedIndexShift | 
| static const int | kMaxVirtualRegisters = 1 << kVirtualRegisterWidth | 
| static const int | kMaxFixedIndex = (1 << kFixedIndexWidth) - 1 | 
| static const int | kMinFixedIndex = -(1 << kFixedIndexWidth) | 
Additional Inherited Members | |
  Protected Member Functions inherited from LOperand | |
| LOperand (Kind kind, int index) | |
  Protected Attributes inherited from LOperand | |
| unsigned | value_ | 
  Static Protected Attributes inherited from LOperand | |
| static const int | kKindFieldWidth = 3 | 
| enum Policy | 
      
  | 
  inlineexplicit | 
Definition at line 120 of file lithium.h.
References LUnallocated::USED_AT_END.
Referenced by LUnallocated::CopyUnconstrained().
      
  | 
  inline | 
Definition at line 124 of file lithium.h.
References LUnallocated::USED_AT_END.
      
  | 
  inline | 
      
  | 
  inlinestatic | 
Definition at line 198 of file lithium.h.
References ASSERT.
Referenced by LOperand::PrintTo(), and UsePosition::UsePosition().
      
  | 
  inline | 
Definition at line 192 of file lithium.h.
References LUnallocated::ANY, LUnallocated::LUnallocated(), LUnallocated::set_virtual_register(), and LUnallocated::virtual_register().
      
  | 
  inline | 
Definition at line 180 of file lithium.h.
References LUnallocated::kFixedIndexShift, and LOperand::value_.
Referenced by LOperand::PrintTo().
      
  | 
  inline | 
Definition at line 162 of file lithium.h.
References LUnallocated::ANY, and LUnallocated::policy().
Referenced by UsePosition::UsePosition().
      
  | 
  inline | 
Definition at line 165 of file lithium.h.
References LUnallocated::FIXED_DOUBLE_REGISTER, LUnallocated::FIXED_REGISTER, LUnallocated::FIXED_SLOT, and LUnallocated::policy().
      
  | 
  inline | 
Definition at line 170 of file lithium.h.
References LUnallocated::MUST_HAVE_REGISTER, LUnallocated::policy(), and LUnallocated::WRITABLE_REGISTER.
Referenced by UsePosition::UsePosition().
      
  | 
  inline | 
Definition at line 173 of file lithium.h.
References LUnallocated::policy(), and LUnallocated::SAME_AS_FIRST_INPUT.
      
  | 
  inline | 
Definition at line 203 of file lithium.h.
References BitField< Lifetime, kLifetimeShift, kLifetimeWidth >::decode(), LUnallocated::USED_AT_START, and LOperand::value_.
      
  | 
  inline | 
Definition at line 176 of file lithium.h.
References BitField< Policy, kPolicyShift, kPolicyWidth >::decode(), and LOperand::value_.
Referenced by LUnallocated::HasAnyPolicy(), LUnallocated::HasFixedPolicy(), LUnallocated::HasRegisterPolicy(), LUnallocated::HasSameAsInputPolicy(), and LOperand::PrintTo().
      
  | 
  inline | 
Definition at line 177 of file lithium.h.
References BitField< Policy, kPolicyShift, kPolicyWidth >::update(), and LOperand::value_.
      
  | 
  inline | 
Definition at line 188 of file lithium.h.
References BitField< unsigned, kVirtualRegisterShift, kVirtualRegisterWidth >::update(), and LOperand::value_.
Referenced by LUnallocated::CopyUnconstrained(), and LiveRange::CreateAssignedOperand().
| STATIC_ASSERT | ( | kFixedIndexWidth | , | 
| 5 | |||
| ) | 
      
  | 
  inline | 
Definition at line 184 of file lithium.h.
References BitField< unsigned, kVirtualRegisterShift, kVirtualRegisterWidth >::decode(), and LOperand::value_.
Referenced by LUnallocated::CopyUnconstrained(), and LOperand::PrintTo().
      
  | 
  static | 
Definition at line 141 of file lithium.h.
Referenced by LUnallocated::fixed_index().
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
Definition at line 159 of file lithium.h.
Referenced by OptimizingCompiler::CreateGraph().
      
  | 
  static | 
Definition at line 158 of file lithium.h.
Referenced by BASE_EMBEDDED< Visitor >::GetVirtualRegister(), and LChunk::NewChunk().
      
  | 
  static | 
Definition at line 160 of file lithium.h.
Referenced by OptimizingCompiler::CreateGraph().
      
  | 
  static | 
      
  | 
  static |