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

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: . 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/tests/vm/vm.status ('k') | runtime/vm/code_descriptors.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/clustered_snapshot.cc
diff --git a/runtime/vm/clustered_snapshot.cc b/runtime/vm/clustered_snapshot.cc
index bb48d0756d27a6fa81a29a2be6bbdaf1f7c22e3f..1735bdcbad7db55aac460754a8dbcc4a890e6995 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();
}
« no previous file with comments | « runtime/tests/vm/vm.status ('k') | runtime/vm/code_descriptors.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698