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

Unified Diff: runtime/vm/clustered_snapshot.cc

Issue 2687143005: Include metadata in AOT to expand inline frames in stack traces and provide line numbers. (Closed)
Patch Set: collect invisible code frames 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
Index: runtime/vm/clustered_snapshot.cc
diff --git a/runtime/vm/clustered_snapshot.cc b/runtime/vm/clustered_snapshot.cc
index 7c7a061b631cc525b181394d4baf3f20048c9b5d..243da76d5da7a14fd00067d40812c8f08b6975a4 100644
--- a/runtime/vm/clustered_snapshot.cc
+++ b/runtime/vm/clustered_snapshot.cc
@@ -1567,12 +1567,12 @@ class CodeSerializationCluster : public SerializationCluster {
s->Push(code->ptr()->exception_handlers_);
s->Push(code->ptr()->pc_descriptors_);
s->Push(code->ptr()->stackmaps_);
+ s->Push(code->ptr()->inlined_id_to_function_);
+ s->Push(code->ptr()->code_source_map_);
if (s->kind() == Snapshot::kAppJIT) {
s->Push(code->ptr()->deopt_info_array_);
s->Push(code->ptr()->static_calls_target_table_);
- s->Push(code->ptr()->inlined_id_to_function_);
- s->Push(code->ptr()->code_source_map_);
NOT_IN_PRODUCT(s->Push(code->ptr()->return_address_metadata_));
}
}
@@ -1621,12 +1621,12 @@ class CodeSerializationCluster : public SerializationCluster {
s->WriteRef(code->ptr()->exception_handlers_);
s->WriteRef(code->ptr()->pc_descriptors_);
s->WriteRef(code->ptr()->stackmaps_);
+ s->WriteRef(code->ptr()->inlined_id_to_function_);
+ s->WriteRef(code->ptr()->code_source_map_);
if (s->kind() == Snapshot::kAppJIT) {
s->WriteRef(code->ptr()->deopt_info_array_);
s->WriteRef(code->ptr()->static_calls_target_table_);
- s->WriteRef(code->ptr()->inlined_id_to_function_);
- s->WriteRef(code->ptr()->code_source_map_);
NOT_IN_PRODUCT(s->WriteRef(code->ptr()->return_address_metadata_));
}
@@ -1691,6 +1691,10 @@ class CodeDeserializationCluster : public DeserializationCluster {
code->ptr()->pc_descriptors_ =
reinterpret_cast<RawPcDescriptors*>(d->ReadRef());
code->ptr()->stackmaps_ = reinterpret_cast<RawArray*>(d->ReadRef());
+ code->ptr()->inlined_id_to_function_ =
+ reinterpret_cast<RawArray*>(d->ReadRef());
+ code->ptr()->code_source_map_ =
+ reinterpret_cast<RawCodeSourceMap*>(d->ReadRef());
#if !defined(DART_PRECOMPILED_RUNTIME)
if (d->kind() == Snapshot::kAppJIT) {
@@ -1698,10 +1702,6 @@ class CodeDeserializationCluster : public DeserializationCluster {
reinterpret_cast<RawArray*>(d->ReadRef());
code->ptr()->static_calls_target_table_ =
reinterpret_cast<RawArray*>(d->ReadRef());
- code->ptr()->inlined_id_to_function_ =
- reinterpret_cast<RawArray*>(d->ReadRef());
- code->ptr()->code_source_map_ =
- reinterpret_cast<RawCodeSourceMap*>(d->ReadRef());
#if defined(PRODUCT)
code->ptr()->return_address_metadata_ = Object::null();
#else
@@ -1710,8 +1710,6 @@ class CodeDeserializationCluster : public DeserializationCluster {
} else {
code->ptr()->deopt_info_array_ = Array::null();
code->ptr()->static_calls_target_table_ = Array::null();
- code->ptr()->inlined_id_to_function_ = Array::null();
- code->ptr()->code_source_map_ = CodeSourceMap::null();
code->ptr()->return_address_metadata_ = Object::null();
}

Powered by Google App Engine
This is Rietveld 408576698