Revision: 9959
Author: [email protected]
Date: Thu Nov 10 07:37:24 2011
Log: Make LiveRange objects 1 word smaller by using a bool instead of
enum for register kind.
Review URL: http://codereview.chromium.org/8462016
http://code.google.com/p/v8/source/detail?r=9959
Modified:
/branches/bleeding_edge/src/lithium-allocator.cc
/branches/bleeding_edge/src/lithium-allocator.h
=======================================
--- /branches/bleeding_edge/src/lithium-allocator.cc Mon Sep 19 11:36:47
2011
+++ /branches/bleeding_edge/src/lithium-allocator.cc Thu Nov 10 07:37:24
2011
@@ -152,8 +152,8 @@
LiveRange::LiveRange(int id)
: id_(id),
spilled_(false),
+ is_double_(false),
assigned_register_(kInvalidAssignment),
- assigned_register_kind_(NONE),
last_interval_(NULL),
first_interval_(NULL),
first_pos_(NULL),
@@ -169,7 +169,7 @@
void LiveRange::set_assigned_register(int reg, RegisterKind register_kind)
{
ASSERT(!HasRegisterAssigned() && !IsSpilled());
assigned_register_ = reg;
- assigned_register_kind_ = register_kind;
+ is_double_ = (register_kind == DOUBLE_REGISTERS);
ConvertOperands();
}
@@ -555,7 +555,7 @@
reusable_slots_(8),
next_virtual_register_(num_values),
first_artificial_register_(num_values),
- mode_(NONE),
+ mode_(GENERAL_REGISTERS),
num_registers_(-1),
graph_(graph),
has_osr_entry_(false) {}
@@ -1466,7 +1466,6 @@
void LAllocator::AllocateGeneralRegisters() {
HPhase phase("Allocate general registers", this);
num_registers_ = Register::kNumAllocatableRegisters;
- mode_ = GENERAL_REGISTERS;
AllocateRegisters();
}
@@ -1480,7 +1479,6 @@
void LAllocator::AllocateRegisters() {
- ASSERT(mode_ != NONE);
ASSERT(unhandled_live_ranges_.is_empty());
for (int i = 0; i < live_ranges_.length(); ++i) {
@@ -1585,7 +1583,6 @@
const char* LAllocator::RegisterName(int allocation_index) {
- ASSERT(mode_ != NONE);
if (mode_ == GENERAL_REGISTERS) {
return Register::AllocationIndexToString(allocation_index);
} else {
=======================================
--- /branches/bleeding_edge/src/lithium-allocator.h Mon Jun 6 04:30:17 2011
+++ /branches/bleeding_edge/src/lithium-allocator.h Thu Nov 10 07:37:24 2011
@@ -146,7 +146,6 @@
enum RegisterKind {
- NONE,
GENERAL_REGISTERS,
DOUBLE_REGISTERS
};
@@ -319,7 +318,7 @@
// live range to the result live range.
void SplitAt(LifetimePosition position, LiveRange* result);
- bool IsDouble() const { return assigned_register_kind_ ==
DOUBLE_REGISTERS; }
+ bool IsDouble() const { return is_double_; }
bool HasRegisterAssigned() const {
return assigned_register_ != kInvalidAssignment;
}
@@ -377,8 +376,8 @@
int id_;
bool spilled_;
+ bool is_double_;
int assigned_register_;
- RegisterKind assigned_register_kind_;
UseInterval* last_interval_;
UseInterval* first_interval_;
UsePosition* first_pos_;
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev