v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <lithium-allocator.h>
Static Public Attributes | |
static const int | kInvalidAssignment = 0x7fffffff |
Definition at line 276 of file lithium-allocator.h.
Definition at line 129 of file lithium-allocator.cc.
void AddUseInterval | ( | LifetimePosition | start, |
LifetimePosition | end, | ||
Zone * | zone | ||
) |
Definition at line 413 of file lithium-allocator.cc.
References ASSERT, UseInterval::end(), v8::internal::NULL, UseInterval::start(), and LifetimePosition::Value().
UsePosition * AddUsePosition | ( | LifetimePosition | pos, |
LOperand * | operand, | ||
Zone * | zone | ||
) |
Definition at line 443 of file lithium-allocator.cc.
References UsePosition::next(), v8::internal::NULL, UsePosition::pos(), and LifetimePosition::Value().
|
inline |
Definition at line 292 of file lithium-allocator.h.
Referenced by LiveRange::CreateAssignedOperand().
bool CanBeSpilled | ( | LifetimePosition | pos | ) |
Definition at line 208 of file lithium-allocator.cc.
References LiveRange::HasRegisterAssigned(), LifetimePosition::InstructionEnd(), LifetimePosition::NextInstruction(), LiveRange::NextRegisterPosition(), v8::internal::NULL, UsePosition::pos(), LiveRange::Start(), and LifetimePosition::Value().
bool CanCover | ( | LifetimePosition | position | ) | const |
Definition at line 486 of file lithium-allocator.cc.
References LiveRange::End(), LiveRange::IsEmpty(), LiveRange::Start(), and LifetimePosition::Value().
Referenced by LiveRange::Covers().
bool Covers | ( | LifetimePosition | position | ) |
Definition at line 493 of file lithium-allocator.cc.
References ASSERT, LiveRange::CanCover(), v8::internal::NULL, and LifetimePosition::Value().
Definition at line 228 of file lithium-allocator.cc.
References ASSERT, LiveRange::assigned_register(), LRegister::Create(), LDoubleRegister::Create(), LiveRange::GetSpillOperand(), LiveRange::HasRegisterAssigned(), LiveRange::IsDouble(), LiveRange::IsSpilled(), LUnallocated::NONE, v8::internal::NULL, LUnallocated::set_virtual_register(), and LiveRange::TopLevel().
|
inline |
Definition at line 341 of file lithium-allocator.h.
References ASSERT, UseInterval::end(), and LiveRange::IsEmpty().
Referenced by LiveRange::CanCover(), and LiveRange::FirstIntersection().
void EnsureInterval | ( | LifetimePosition | start, |
LifetimePosition | end, | ||
Zone * | zone | ||
) |
Definition at line 388 of file lithium-allocator.cc.
References UseInterval::end(), UseInterval::next(), v8::internal::NULL, UseInterval::start(), and LifetimePosition::Value().
|
inline |
Definition at line 282 of file lithium-allocator.h.
Referenced by LiveRange::FirstIntersection(), LiveRange::IsEmpty(), and LiveRange::Start().
|
inline |
Definition at line 283 of file lithium-allocator.h.
Referenced by LiveRange::NextUsePosition(), and LiveRange::ShouldBeAllocatedBefore().
|
inline |
Definition at line 330 of file lithium-allocator.h.
References LiveRange::FirstPosWithHint(), UsePosition::hint(), and v8::internal::NULL.
LifetimePosition FirstIntersection | ( | LiveRange * | other | ) |
Definition at line 509 of file lithium-allocator.cc.
References LiveRange::End(), LiveRange::first_interval(), UseInterval::Intersect(), LifetimePosition::Invalid(), LifetimePosition::IsValid(), UseInterval::next(), v8::internal::NULL, UseInterval::start(), and LifetimePosition::Value().
UsePosition * FirstPosWithHint | ( | ) | const |
Definition at line 221 of file lithium-allocator.cc.
References UsePosition::HasHint(), UsePosition::next(), and v8::internal::NULL.
Referenced by LiveRange::FirstHint(), and LiveRange::ShouldBeAllocatedBefore().
|
inline |
Definition at line 347 of file lithium-allocator.h.
Referenced by LiveRange::CreateAssignedOperand().
bool HasAllocatedSpillOperand | ( | ) | const |
Definition at line 164 of file lithium-allocator.cc.
References ASSERT, and v8::internal::NULL.
Referenced by LiveRange::MakeSpilled().
|
inline |
Definition at line 324 of file lithium-allocator.h.
References LiveRange::kInvalidAssignment.
Referenced by LiveRange::CanBeSpilled(), LiveRange::CreateAssignedOperand(), and LiveRange::set_assigned_register().
|
inline |
Definition at line 288 of file lithium-allocator.h.
|
inline |
Definition at line 287 of file lithium-allocator.h.
References v8::internal::NULL, and LiveRange::parent().
|
inline |
Definition at line 323 of file lithium-allocator.h.
Referenced by LiveRange::CreateAssignedOperand().
|
inline |
Definition at line 290 of file lithium-allocator.h.
References LiveRange::first_interval(), and v8::internal::NULL.
Referenced by LiveRange::CanCover(), LiveRange::End(), LiveRange::SplitAt(), and LiveRange::Start().
|
inline |
Definition at line 289 of file lithium-allocator.h.
|
inline |
Definition at line 327 of file lithium-allocator.h.
Referenced by LiveRange::CreateAssignedOperand(), LiveRange::MakeSpilled(), and LiveRange::set_assigned_register().
void MakeSpilled | ( | Zone * | zone | ) |
Definition at line 155 of file lithium-allocator.cc.
References ASSERT, LiveRange::HasAllocatedSpillOperand(), LiveRange::IsSpilled(), LiveRange::kInvalidAssignment, and LiveRange::TopLevel().
|
inline |
Definition at line 286 of file lithium-allocator.h.
Referenced by LiveRange::SplitAt().
UsePosition * NextRegisterPosition | ( | LifetimePosition | start | ) |
Definition at line 199 of file lithium-allocator.cc.
References UsePosition::next(), LiveRange::NextUsePosition(), v8::internal::NULL, and UsePosition::RequiresRegister().
Referenced by LiveRange::CanBeSpilled().
UsePosition * NextUsePosition | ( | LifetimePosition | start | ) |
Definition at line 178 of file lithium-allocator.cc.
References LiveRange::first_pos(), UsePosition::next(), v8::internal::NULL, UsePosition::pos(), and LifetimePosition::Value().
Referenced by LiveRange::NextRegisterPosition(), and LiveRange::NextUsePositionRegisterIsBeneficial().
UsePosition * NextUsePositionRegisterIsBeneficial | ( | LifetimePosition | start | ) |
Definition at line 189 of file lithium-allocator.cc.
References UsePosition::next(), LiveRange::NextUsePosition(), v8::internal::NULL, and UsePosition::RegisterIsBeneficial().
|
inline |
Definition at line 284 of file lithium-allocator.h.
Referenced by LiveRange::IsChild().
void set_assigned_register | ( | int | reg, |
RegisterKind | register_kind, | ||
Zone * | zone | ||
) |
Definition at line 145 of file lithium-allocator.cc.
References ASSERT, v8::internal::DOUBLE_REGISTERS, LiveRange::HasRegisterAssigned(), and LiveRange::IsSpilled().
void SetSpillOperand | ( | LOperand * | operand | ) |
Definition at line 170 of file lithium-allocator.cc.
References ASSERT, LOperand::ConvertTo(), LOperand::index(), LOperand::kind(), and v8::internal::NULL.
|
inline |
Definition at line 350 of file lithium-allocator.h.
References v8::internal::Min().
void ShortenTo | ( | LifetimePosition | start | ) |
Definition at line 379 of file lithium-allocator.cc.
References ASSERT, UseInterval::end(), v8::internal::NULL, UseInterval::start(), and LifetimePosition::Value().
bool ShouldBeAllocatedBefore | ( | const LiveRange * | other | ) | const |
Definition at line 365 of file lithium-allocator.cc.
References LiveRange::first_pos(), LiveRange::FirstPosWithHint(), v8::internal::NULL, UsePosition::pos(), LiveRange::Start(), and LifetimePosition::Value().
|
inline |
Definition at line 293 of file lithium-allocator.h.
void SplitAt | ( | LifetimePosition | position, |
LiveRange * | result, | ||
Zone * | zone | ||
) |
Definition at line 274 of file lithium-allocator.cc.
References ASSERT, LiveRange::IsEmpty(), UseInterval::next(), UsePosition::next(), LiveRange::next(), v8::internal::NULL, UsePosition::pos(), UseInterval::SplitAt(), UseInterval::start(), LiveRange::Start(), and LifetimePosition::Value().
|
inline |
Definition at line 336 of file lithium-allocator.h.
References ASSERT, LiveRange::first_interval(), LiveRange::IsEmpty(), and UseInterval::start().
Referenced by LiveRange::CanBeSpilled(), LiveRange::CanCover(), LiveRange::ShouldBeAllocatedBefore(), and LiveRange::SplitAt().
|
inline |
Definition at line 285 of file lithium-allocator.h.
References v8::internal::NULL.
Referenced by LiveRange::CreateAssignedOperand(), and LiveRange::MakeSpilled().
|
static |
Definition at line 278 of file lithium-allocator.h.
Referenced by LiveRange::HasRegisterAssigned(), and LiveRange::MakeSpilled().