Index: src/compiler/instruction.cc |
diff --git a/src/compiler/instruction.cc b/src/compiler/instruction.cc |
index 994ade6a3f7e90879e4192fe9f8859d4012e994d..818d9cc98f19c3b97ee46053711e858fd041f963 100644 |
--- a/src/compiler/instruction.cc |
+++ b/src/compiler/instruction.cc |
@@ -513,6 +513,16 @@ Constant::Constant(RelocatablePtrConstantInfo info) |
} |
#endif |
+Handle<HeapObject> Constant::ToHeapObject() const { |
+ DCHECK_EQ(kHeapObject, type()); |
+ Handle<HeapObject> value( |
+ bit_cast<HeapObject**>(static_cast<intptr_t>(value_))); |
+ if (value->IsConsString()) { |
+ value = String::Flatten(Handle<String>::cast(value), TENURED); |
+ } |
+ return value; |
+} |
+ |
std::ostream& operator<<(std::ostream& os, const Constant& constant) { |
switch (constant.type()) { |
case Constant::kInt32: |