diff options
Diffstat (limited to 'deps/v8/src/compiler/instruction.cc')
-rw-r--r-- | deps/v8/src/compiler/instruction.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/deps/v8/src/compiler/instruction.cc b/deps/v8/src/compiler/instruction.cc index 83ed28fb53..04a2bd9581 100644 --- a/deps/v8/src/compiler/instruction.cc +++ b/deps/v8/src/compiler/instruction.cc @@ -593,6 +593,13 @@ Handle<Code> Constant::ToCode() const { return value; } +const StringConstantBase* Constant::ToDelayedStringConstant() const { + DCHECK_EQ(kDelayedStringConstant, type()); + const StringConstantBase* value = + bit_cast<StringConstantBase*>(static_cast<intptr_t>(value_)); + return value; +} + std::ostream& operator<<(std::ostream& os, const Constant& constant) { switch (constant.type()) { case Constant::kInt32: @@ -609,6 +616,9 @@ std::ostream& operator<<(std::ostream& os, const Constant& constant) { return os << Brief(*constant.ToHeapObject()); case Constant::kRpoNumber: return os << "RPO" << constant.ToRpoNumber().ToInt(); + case Constant::kDelayedStringConstant: + return os << "DelayedStringConstant: " + << constant.ToDelayedStringConstant(); } UNREACHABLE(); } @@ -942,7 +952,7 @@ void InstructionSequence::MarkAsRepresentation(MachineRepresentation rep, DCHECK_IMPLIES(representations_[virtual_register] != rep, representations_[virtual_register] == DefaultRepresentation()); representations_[virtual_register] = rep; - representation_mask_ |= 1 << static_cast<int>(rep); + representation_mask_ |= RepresentationBit(rep); } int InstructionSequence::AddDeoptimizationEntry( |