Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1184)

Unified Diff: src/assembler.cc

Issue 1956693002: [compiler] Pass inlining_id via relocation info. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebased. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/assembler.h ('k') | src/compiler.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
}
}
« no previous file with comments | « src/assembler.h ('k') | src/compiler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698