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

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

Issue 2901533002: [kernel] Stream everything. Replace .kernel_function with .kernel_offset (Closed)
Patch Set: Fix for bad merge Created 3 years, 6 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/kernel.h ('k') | runtime/vm/kernel_binary_flowgraph.h » ('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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 #if !defined(DART_PRECOMPILED_RUNTIME) 4 #if !defined(DART_PRECOMPILED_RUNTIME)
5 5
6 #include "vm/kernel_binary.h" 6 #include "vm/kernel_binary.h"
7 #include "platform/globals.h" 7 #include "platform/globals.h"
8 #include "vm/flags.h" 8 #include "vm/flags.h"
9 #include "vm/growable_array.h" 9 #include "vm/growable_array.h"
10 #include "vm/kernel.h" 10 #include "vm/kernel.h"
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 type_parameters_.ReadFrom(reader); 250 type_parameters_.ReadFrom(reader);
251 type_ = DartType::ReadFrom(reader); 251 type_ = DartType::ReadFrom(reader);
252 252
253 return this; 253 return this;
254 } 254 }
255 255
256 256
257 Class* Class::ReadFrom(Reader* reader) { 257 Class* Class::ReadFrom(Reader* reader) {
258 TRACE_READ_OFFSET(); 258 TRACE_READ_OFFSET();
259 259
260 kernel_offset_ = reader->offset() - 1; // -1 to include tag byte.
260 canonical_name_ = reader->ReadCanonicalNameReference(); 261 canonical_name_ = reader->ReadCanonicalNameReference();
261 position_ = reader->ReadPosition(false); 262 position_ = reader->ReadPosition(false);
262 is_abstract_ = reader->ReadBool(); 263 is_abstract_ = reader->ReadBool();
263 name_index_ = StringIndex(reader->ReadUInt()); 264 name_index_ = StringIndex(reader->ReadUInt());
264 source_uri_index_ = reader->ReadUInt(); 265 source_uri_index_ = reader->ReadUInt();
265 reader->set_current_script_id(source_uri_index_); 266 reader->set_current_script_id(source_uri_index_);
266 reader->record_token_position(position_); 267 reader->record_token_position(position_);
267 annotations_.ReadFromStatic<Expression>(reader); 268 annotations_.ReadFromStatic<Expression>(reader);
268 269
269 can_stream_ = annotations_.CanStream(); 270 can_stream_ = annotations_.CanStream();
(...skipping 1566 matching lines...) Expand 10 before | Expand all | Expand 10 after
1836 function->kernel_offset_ = reader->offset(); 1837 function->kernel_offset_ = reader->offset();
1837 Tag tag = reader->ReadTag(); 1838 Tag tag = reader->ReadTag();
1838 ASSERT(tag == kFunctionNode); 1839 ASSERT(tag == kFunctionNode);
1839 function->position_ = reader->ReadPosition(); 1840 function->position_ = reader->ReadPosition();
1840 function->end_position_ = reader->ReadPosition(); 1841 function->end_position_ = reader->ReadPosition();
1841 function->async_marker_ = 1842 function->async_marker_ =
1842 static_cast<FunctionNode::AsyncMarker>(reader->ReadByte()); 1843 static_cast<FunctionNode::AsyncMarker>(reader->ReadByte());
1843 function->dart_async_marker_ = 1844 function->dart_async_marker_ =
1844 static_cast<FunctionNode::AsyncMarker>(reader->ReadByte()); 1845 static_cast<FunctionNode::AsyncMarker>(reader->ReadByte());
1845 function->type_parameters().ReadFrom(reader); 1846 function->type_parameters().ReadFrom(reader);
1847 reader->ReadUInt(); // total parameter count.
1846 function->required_parameter_count_ = reader->ReadUInt(); 1848 function->required_parameter_count_ = reader->ReadUInt();
1847 function->positional_parameters().ReadFromStatic<VariableDeclarationImpl>( 1849 function->positional_parameters().ReadFromStatic<VariableDeclarationImpl>(
1848 reader); 1850 reader);
1849 function->named_parameters().ReadFromStatic<VariableDeclarationImpl>(reader); 1851 function->named_parameters().ReadFromStatic<VariableDeclarationImpl>(reader);
1850 function->return_type_ = DartType::ReadFrom(reader); 1852 function->return_type_ = DartType::ReadFrom(reader);
1851 1853
1852 LabelScope<ReaderHelper, BlockStack<LabeledStatement> > labels( 1854 LabelScope<ReaderHelper, BlockStack<LabeledStatement> > labels(
1853 reader->helper()); 1855 reader->helper());
1854 VariableScope<ReaderHelper> vars(reader->helper()); 1856 VariableScope<ReaderHelper> vars(reader->helper());
1855 function->body_ = reader->ReadOptional<Statement>(); 1857 function->body_ = reader->ReadOptional<Statement>();
(...skipping 21 matching lines...) Expand all
1877 1879
1878 kernel::Program* ReadPrecompiledKernelFromBuffer(const uint8_t* buffer, 1880 kernel::Program* ReadPrecompiledKernelFromBuffer(const uint8_t* buffer,
1879 intptr_t buffer_length) { 1881 intptr_t buffer_length) {
1880 kernel::Reader reader(buffer, buffer_length); 1882 kernel::Reader reader(buffer, buffer_length);
1881 return kernel::Program::ReadFrom(&reader); 1883 return kernel::Program::ReadFrom(&reader);
1882 } 1884 }
1883 1885
1884 1886
1885 } // namespace dart 1887 } // namespace dart
1886 #endif // !defined(DART_PRECOMPILED_RUNTIME) 1888 #endif // !defined(DART_PRECOMPILED_RUNTIME)
OLDNEW
« no previous file with comments | « runtime/vm/kernel.h ('k') | runtime/vm/kernel_binary_flowgraph.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698