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

Unified Diff: src/deoptimizer.h

Issue 910773002: Propagate Deopt reason to cpu-profiler (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: comments addressed Created 5 years, 10 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/cpu-profiler-inl.h ('k') | src/deoptimizer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/deoptimizer.h
diff --git a/src/deoptimizer.h b/src/deoptimizer.h
index 7245810f21ceb0db0f44e1b36fd1699cc6444d65..35c3cbe66c49a7517fbf87f9c1779ede62f5192c 100644
--- a/src/deoptimizer.h
+++ b/src/deoptimizer.h
@@ -184,41 +184,43 @@ class Deoptimizer : public Malloced {
static const char* GetDeoptReason(DeoptReason deopt_reason);
- struct Reason {
- Reason(int r, const char* m, DeoptReason d)
+ struct DeoptInfo {
+ DeoptInfo(int r, const char* m, DeoptReason d)
: raw_position(r), mnemonic(m), deopt_reason(d) {}
- bool operator==(const Reason& other) const {
+ bool operator==(const DeoptInfo& other) const {
return raw_position == other.raw_position &&
CStringEquals(mnemonic, other.mnemonic) &&
deopt_reason == other.deopt_reason;
}
- bool operator!=(const Reason& other) const { return !(*this == other); }
+ bool operator!=(const DeoptInfo& other) const { return !(*this == other); }
int raw_position;
const char* mnemonic;
DeoptReason deopt_reason;
};
+ static DeoptInfo GetDeoptInfo(Code* code, int bailout_id);
+
struct JumpTableEntry : public ZoneObject {
- inline JumpTableEntry(Address entry, const Reason& the_reason,
+ inline JumpTableEntry(Address entry, const DeoptInfo& deopt_info,
Deoptimizer::BailoutType type, bool frame)
: label(),
address(entry),
- reason(the_reason),
+ deopt_info(deopt_info),
bailout_type(type),
needs_frame(frame) {}
bool IsEquivalentTo(const JumpTableEntry& other) const {
return address == other.address && bailout_type == other.bailout_type &&
needs_frame == other.needs_frame &&
- (!FLAG_trace_deopt || reason == other.reason);
+ (!FLAG_trace_deopt || deopt_info == other.deopt_info);
}
Label label;
Address address;
- Reason reason;
+ DeoptInfo deopt_info;
Deoptimizer::BailoutType bailout_type;
bool needs_frame;
};
« no previous file with comments | « src/cpu-profiler-inl.h ('k') | src/deoptimizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698