| Index: src/lithium.h
|
| ===================================================================
|
| --- src/lithium.h (revision 10570)
|
| +++ src/lithium.h (working copy)
|
| @@ -453,7 +453,7 @@
|
| parameter_count_(parameter_count),
|
| pc_offset_(-1),
|
| values_(value_count),
|
| - representations_(value_count),
|
| + is_tagged_(value_count),
|
| spilled_registers_(NULL),
|
| spilled_double_registers_(NULL),
|
| outer_(outer) {
|
| @@ -475,11 +475,13 @@
|
|
|
| void AddValue(LOperand* operand, Representation representation) {
|
| values_.Add(operand);
|
| - representations_.Add(representation);
|
| + if (representation.IsTagged()) {
|
| + is_tagged_.Add(values_.length() - 1);
|
| + }
|
| }
|
|
|
| bool HasTaggedValueAt(int index) const {
|
| - return representations_[index].IsTagged();
|
| + return is_tagged_.Contains(index);
|
| }
|
|
|
| void Register(int deoptimization_index,
|
| @@ -514,7 +516,7 @@
|
| int parameter_count_;
|
| int pc_offset_;
|
| ZoneList<LOperand*> values_;
|
| - ZoneList<Representation> representations_;
|
| + BitVector is_tagged_;
|
|
|
| // Allocation index indexed arrays of spill slot operands for registers
|
| // that are also in spill slots at an OSR entry. NULL for environments
|
|
|