| Index: src/assembler.cc
|
| diff --git a/src/assembler.cc b/src/assembler.cc
|
| index 214a72d63f4b8b9523eb356532952ce0e52cadb4..61793ff1886272aba897c1a96d61f1f17e75dc77 100644
|
| --- a/src/assembler.cc
|
| +++ b/src/assembler.cc
|
| @@ -514,7 +514,8 @@ void RelocInfoWriter::Write(const RelocInfo* rinfo) {
|
| if (RelocInfo::IsComment(rmode)) {
|
| WriteData(rinfo->data());
|
| } else if (RelocInfo::IsConstPool(rmode) ||
|
| - RelocInfo::IsVeneerPool(rmode)) {
|
| + RelocInfo::IsVeneerPool(rmode) ||
|
| + RelocInfo::IsDeoptId(rmode)) {
|
| WriteIntData(static_cast<int>(rinfo->data()));
|
| }
|
| }
|
| @@ -705,7 +706,8 @@ void RelocIterator::next() {
|
| Advance(kIntSize);
|
| }
|
| } else if (RelocInfo::IsConstPool(rmode) ||
|
| - RelocInfo::IsVeneerPool(rmode)) {
|
| + RelocInfo::IsVeneerPool(rmode) ||
|
| + RelocInfo::IsDeoptId(rmode)) {
|
| if (SetMode(rmode)) {
|
| AdvanceReadInt();
|
| return;
|
| @@ -828,6 +830,8 @@ const char* RelocInfo::RelocModeName(RelocInfo::Mode rmode) {
|
| return "encoded internal reference";
|
| case DEOPT_REASON:
|
| return "deopt reason";
|
| + case DEOPT_ID:
|
| + return "deopt inlining id";
|
| case CONST_POOL:
|
| return "constant pool";
|
| case VENEER_POOL:
|
| @@ -935,6 +939,7 @@ void RelocInfo::Verify(Isolate* isolate) {
|
| case STATEMENT_POSITION:
|
| case EXTERNAL_REFERENCE:
|
| case DEOPT_REASON:
|
| + case DEOPT_ID:
|
| case CONST_POOL:
|
| case VENEER_POOL:
|
| case DEBUG_BREAK_SLOT_AT_POSITION:
|
| @@ -2052,12 +2057,13 @@ int ConstantPoolBuilder::Emit(Assembler* assm) {
|
|
|
| // Platform specific but identical code for all the platforms.
|
|
|
| -
|
| -void Assembler::RecordDeoptReason(const int reason, int raw_position) {
|
| +void Assembler::RecordDeoptReason(const int reason, int raw_position,
|
| + int inlining_id) {
|
| if (FLAG_trace_deopt || isolate()->cpu_profiler()->is_profiling()) {
|
| EnsureSpace ensure_space(this);
|
| RecordRelocInfo(RelocInfo::POSITION, raw_position);
|
| RecordRelocInfo(RelocInfo::DEOPT_REASON, reason);
|
| + RecordRelocInfo(RelocInfo::DEOPT_ID, inlining_id);
|
| }
|
| }
|
|
|
|
|