aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/instruction.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/instruction.cc')
-rw-r--r--deps/v8/src/compiler/instruction.cc12
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(