Index: src/assembler.cc |
diff --git a/src/assembler.cc b/src/assembler.cc |
index 676a9febdbff695b79db82dadfa5a1958125d143..a2c0ebebaf96e283485b7e63a3f9b660417092a1 100644 |
--- a/src/assembler.cc |
+++ b/src/assembler.cc |
@@ -760,8 +760,10 @@ const char* RelocInfo::RelocModeName(RelocInfo::Mode rmode) { |
return "internal reference"; |
case INTERNAL_REFERENCE_ENCODED: |
return "encoded internal reference"; |
- case DEOPT_POSITION: |
- return "deopt position"; |
+ case DEOPT_SCRIPT_OFFSET: |
+ return "deopt script offset"; |
+ case DEOPT_INLINING_ID: |
+ return "deopt inlining id"; |
case DEOPT_REASON: |
return "deopt reason"; |
case DEOPT_ID: |
@@ -801,7 +803,7 @@ void RelocInfo::Print(Isolate* isolate, std::ostream& os) { // NOLINT |
os << static_cast<const void*>(pc_) << " " << RelocModeName(rmode_); |
if (IsComment(rmode_)) { |
os << " (" << reinterpret_cast<char*>(data_) << ")"; |
- } else if (rmode_ == DEOPT_POSITION) { |
+ } else if (rmode_ == DEOPT_SCRIPT_OFFSET || rmode_ == DEOPT_INLINING_ID) { |
os << " (" << data() << ")"; |
} else if (rmode_ == DEOPT_REASON) { |
os << " (" |
@@ -872,7 +874,8 @@ void RelocInfo::Verify(Isolate* isolate) { |
case RUNTIME_ENTRY: |
case COMMENT: |
case EXTERNAL_REFERENCE: |
- case DEOPT_POSITION: |
+ case DEOPT_SCRIPT_OFFSET: |
+ case DEOPT_INLINING_ID: |
case DEOPT_REASON: |
case DEOPT_ID: |
case CONST_POOL: |
@@ -1891,11 +1894,12 @@ int ConstantPoolBuilder::Emit(Assembler* assm) { |
// Platform specific but identical code for all the platforms. |
-void Assembler::RecordDeoptReason(DeoptimizeReason reason, int raw_position, |
- int id) { |
+void Assembler::RecordDeoptReason(DeoptimizeReason reason, |
+ SourcePosition position, int id) { |
if (FLAG_trace_deopt || isolate()->is_profiling()) { |
EnsureSpace ensure_space(this); |
- RecordRelocInfo(RelocInfo::DEOPT_POSITION, raw_position); |
+ RecordRelocInfo(RelocInfo::DEOPT_SCRIPT_OFFSET, position.ScriptOffset()); |
+ RecordRelocInfo(RelocInfo::DEOPT_INLINING_ID, position.InliningId()); |
RecordRelocInfo(RelocInfo::DEOPT_REASON, static_cast<int>(reason)); |
RecordRelocInfo(RelocInfo::DEOPT_ID, id); |
} |