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

Side by Side Diff: runtime/vm/object.cc

Issue 2664143002: Revert "Debugging in kernel shaping up." (Closed)
Patch Set: Revert "Debugging in kernel shaping up." 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 unified diff | Download patch
« no previous file with comments | « runtime/vm/object.h ('k') | runtime/vm/object_service.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/object.h" 5 #include "vm/object.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "vm/assembler.h" 9 #include "vm/assembler.h"
10 #include "vm/become.h" 10 #include "vm/become.h"
(...skipping 8848 matching lines...) Expand 10 before | Expand all | Expand 10 after
8859 if (kind() == RawScript::kKernelTag) { 8859 if (kind() == RawScript::kKernelTag) {
8860 const Array& line_starts_array = Array::Handle(line_starts()); 8860 const Array& line_starts_array = Array::Handle(line_starts());
8861 if (line_starts_array.IsNull()) { 8861 if (line_starts_array.IsNull()) {
8862 // Scripts in the AOT snapshot do not have a line starts array. 8862 // Scripts in the AOT snapshot do not have a line starts array.
8863 // A well-formed line number array has a leading null. 8863 // A well-formed line number array has a leading null.
8864 info.Add(line_separator); // New line. 8864 info.Add(line_separator); // New line.
8865 return info.raw(); 8865 return info.raw();
8866 } 8866 }
8867 intptr_t line_count = line_starts_array.Length(); 8867 intptr_t line_count = line_starts_array.Length();
8868 ASSERT(line_count > 0); 8868 ASSERT(line_count > 0);
8869 const Array& debug_positions_array = Array::Handle(debug_positions());
8870 intptr_t token_count = debug_positions_array.Length();
8871 int token_index = 0;
8872 8869
8873 for (int line_index = 0; line_index < line_count; ++line_index) { 8870 for (int i = 0; i < line_count; i++) {
8874 value ^= line_starts_array.At(line_index); 8871 info.Add(line_separator); // New line.
8875 intptr_t start = value.Value(); 8872 value = Smi::New(i + 1);
8876 // Output the rest of the tokens if we have no next line. 8873 info.Add(value); // Line number.
8877 intptr_t end = INTPTR_MAX; 8874 value ^= line_starts_array.At(i);
8878 if (line_index + 1 < line_count) { 8875 info.Add(value); // Token position.
8879 value ^= line_starts_array.At(line_index + 1); 8876 value = Smi::New(1);
8880 end = value.Value(); 8877 info.Add(value); // Column.
8881 }
8882 bool first = true;
8883 while (token_index < token_count) {
8884 value ^= debug_positions_array.At(token_index);
8885 intptr_t debug_position = value.Value();
8886 if (debug_position >= end) break;
8887
8888 if (first) {
8889 info.Add(line_separator); // New line.
8890 value = Smi::New(line_index + 1); // Line number.
8891 info.Add(value);
8892 first = false;
8893 }
8894
8895 value ^= debug_positions_array.At(token_index);
8896 info.Add(value); // Token position.
8897 value = Smi::New(debug_position - start + 1); // Column.
8898 info.Add(value);
8899 ++token_index;
8900 }
8901 } 8878 }
8902 return info.raw(); 8879 return info.raw();
8903 } 8880 }
8904 8881
8905 const TokenStream& tkns = TokenStream::Handle(zone, tokens()); 8882 const TokenStream& tkns = TokenStream::Handle(zone, tokens());
8906 String& tokenValue = String::Handle(zone); 8883 String& tokenValue = String::Handle(zone);
8907 ASSERT(!tkns.IsNull()); 8884 ASSERT(!tkns.IsNull());
8908 TokenStream::Iterator tkit(zone, tkns, TokenPosition::kMinSource, 8885 TokenStream::Iterator tkit(zone, tkns, TokenPosition::kMinSource,
8909 TokenStream::Iterator::kAllTokens); 8886 TokenStream::Iterator::kAllTokens);
8910 int current_line = -1; 8887 int current_line = -1;
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
9011 8988
9012 void Script::set_source(const String& value) const { 8989 void Script::set_source(const String& value) const {
9013 StorePointer(&raw_ptr()->source_, value.raw()); 8990 StorePointer(&raw_ptr()->source_, value.raw());
9014 } 8991 }
9015 8992
9016 void Script::set_line_starts(const Array& value) const { 8993 void Script::set_line_starts(const Array& value) const {
9017 StorePointer(&raw_ptr()->line_starts_, value.raw()); 8994 StorePointer(&raw_ptr()->line_starts_, value.raw());
9018 } 8995 }
9019 8996
9020 8997
9021 void Script::set_debug_positions(const Array& value) const {
9022 StorePointer(&raw_ptr()->debug_positions_, value.raw());
9023 }
9024
9025 void Script::set_yield_positions(const Array& value) const {
9026 StorePointer(&raw_ptr()->yield_positions_, value.raw());
9027 }
9028
9029 void Script::set_kind(RawScript::Kind value) const { 8998 void Script::set_kind(RawScript::Kind value) const {
9030 StoreNonPointer(&raw_ptr()->kind_, value); 8999 StoreNonPointer(&raw_ptr()->kind_, value);
9031 } 9000 }
9032 9001
9033 9002
9034 void Script::set_load_timestamp(int64_t value) const { 9003 void Script::set_load_timestamp(int64_t value) const {
9035 StoreNonPointer(&raw_ptr()->load_timestamp_, value); 9004 StoreNonPointer(&raw_ptr()->load_timestamp_, value);
9036 } 9005 }
9037 9006
9038 9007
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
9109 } else { 9078 } else {
9110 min = midpoint; 9079 min = midpoint;
9111 } 9080 }
9112 } 9081 }
9113 *line = min + 1; 9082 *line = min + 1;
9114 smi ^= line_starts_array.At(min); 9083 smi ^= line_starts_array.At(min);
9115 if (column != NULL) { 9084 if (column != NULL) {
9116 *column = offset - smi.Value() + 1; 9085 *column = offset - smi.Value() + 1;
9117 } 9086 }
9118 if (token_len != NULL) { 9087 if (token_len != NULL) {
9119 // We don't explicitly save this data.
9120 // TODO(jensj): Load the source and attempt to find it from there.
9121 *token_len = 1; 9088 *token_len = 1;
9122 } 9089 }
9123 return; 9090 return;
9124 } 9091 }
9125 9092
9126 const TokenStream& tkns = TokenStream::Handle(zone, tokens()); 9093 const TokenStream& tkns = TokenStream::Handle(zone, tokens());
9127 if (tkns.IsNull()) { 9094 if (tkns.IsNull()) {
9128 ASSERT((Dart::vm_snapshot_kind() == Snapshot::kAppAOT)); 9095 ASSERT((Dart::vm_snapshot_kind() == Snapshot::kAppAOT));
9129 *line = -1; 9096 *line = -1;
9130 if (column != NULL) { 9097 if (column != NULL) {
(...skipping 13954 matching lines...) Expand 10 before | Expand all | Expand 10 after
23085 return UserTag::null(); 23052 return UserTag::null();
23086 } 23053 }
23087 23054
23088 23055
23089 const char* UserTag::ToCString() const { 23056 const char* UserTag::ToCString() const {
23090 const String& tag_label = String::Handle(label()); 23057 const String& tag_label = String::Handle(label());
23091 return tag_label.ToCString(); 23058 return tag_label.ToCString();
23092 } 23059 }
23093 23060
23094 } // namespace dart 23061 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/object.h ('k') | runtime/vm/object_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698