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

Unified Diff: runtime/vm/object_service.cc

Issue 2670843006: Encode inlining information in CodeSourceMap and remove inlining interval arrays. (Closed)
Patch Set: . Created 3 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 | « runtime/vm/object.cc ('k') | runtime/vm/precompiler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/object_service.cc
diff --git a/runtime/vm/object_service.cc b/runtime/vm/object_service.cc
index e95e8e317524b4831fa70f703777c59b022783c7..650dede32c3d36e935b2a8c7925f667452df54a6 100644
--- a/runtime/vm/object_service.cc
+++ b/runtime/vm/object_service.cc
@@ -864,47 +864,8 @@ void Code::PrintJSONImpl(JSONStream* stream, bool ref) const {
JSONObject desc(&jsobj, "_descriptors");
descriptors.PrintToJSONObject(&desc, false);
}
- const Array& inlined_function_table = Array::Handle(GetInlinedIdToFunction());
- if (!inlined_function_table.IsNull() &&
- (inlined_function_table.Length() > 0)) {
- JSONArray inlined_functions(&jsobj, "_inlinedFunctions");
- Function& function = Function::Handle();
- for (intptr_t i = 0; i < inlined_function_table.Length(); i++) {
- function ^= inlined_function_table.At(i);
- ASSERT(!function.IsNull());
- inlined_functions.AddValue(function);
- }
- }
- const Array& intervals = Array::Handle(GetInlinedIntervals());
- if (!intervals.IsNull() && (intervals.Length() > 0)) {
- Smi& start = Smi::Handle();
- Smi& end = Smi::Handle();
- Smi& temp_smi = Smi::Handle();
- JSONArray inline_intervals(&jsobj, "_inlinedIntervals");
- for (intptr_t i = 0; i < intervals.Length() - Code::kInlIntNumEntries;
- i += Code::kInlIntNumEntries) {
- start ^= intervals.At(i + Code::kInlIntStart);
- if (start.IsNull()) {
- continue;
- }
- end ^= intervals.At(i + Code::kInlIntNumEntries + Code::kInlIntStart);
-
- // Format: [start, end, inline functions...]
- JSONArray inline_interval(&inline_intervals);
- inline_interval.AddValue(start.Value());
- inline_interval.AddValue(end.Value());
-
- temp_smi ^= intervals.At(i + Code::kInlIntInliningId);
- intptr_t inlining_id = temp_smi.Value();
- ASSERT(inlining_id >= 0);
- intptr_t caller_id = GetCallerId(inlining_id);
- while (inlining_id >= 0) {
- inline_interval.AddValue(inlining_id);
- inlining_id = caller_id;
- caller_id = GetCallerId(inlining_id);
- }
- }
- }
+
+ PrintJSONInlineIntervals(&jsobj);
}
« no previous file with comments | « runtime/vm/object.cc ('k') | runtime/vm/precompiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698