| OLD | NEW |
| 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 1133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1144 | 1144 |
| 1145 | 1145 |
| 1146 VectorCreation* VectorCreation::ReadFrom(Reader* reader) { | 1146 VectorCreation* VectorCreation::ReadFrom(Reader* reader) { |
| 1147 TRACE_READ_OFFSET(); | 1147 TRACE_READ_OFFSET(); |
| 1148 | 1148 |
| 1149 VectorCreation* vector_creation = new VectorCreation(); | 1149 VectorCreation* vector_creation = new VectorCreation(); |
| 1150 vector_creation->kernel_offset_ = | 1150 vector_creation->kernel_offset_ = |
| 1151 reader->offset() - 1; // -1 to include tag byte. | 1151 reader->offset() - 1; // -1 to include tag byte. |
| 1152 vector_creation->value_ = reader->ReadUInt(); | 1152 vector_creation->value_ = reader->ReadUInt(); |
| 1153 | 1153 |
| 1154 vector_creation->can_stream_ = true; |
| 1155 |
| 1154 return vector_creation; | 1156 return vector_creation; |
| 1155 } | 1157 } |
| 1156 | 1158 |
| 1157 | 1159 |
| 1158 VectorGet* VectorGet::ReadFrom(Reader* reader) { | 1160 VectorGet* VectorGet::ReadFrom(Reader* reader) { |
| 1159 TRACE_READ_OFFSET(); | 1161 TRACE_READ_OFFSET(); |
| 1160 | 1162 |
| 1161 VectorGet* vector_get = new VectorGet(); | 1163 VectorGet* vector_get = new VectorGet(); |
| 1162 vector_get->kernel_offset_ = reader->offset() - 1; // -1 to include tag byte. | 1164 vector_get->kernel_offset_ = reader->offset() - 1; // -1 to include tag byte. |
| 1163 vector_get->vector_expression_ = Expression::ReadFrom(reader); | 1165 vector_get->vector_expression_ = Expression::ReadFrom(reader); |
| 1164 vector_get->index_ = reader->ReadUInt(); | 1166 vector_get->index_ = reader->ReadUInt(); |
| 1165 | 1167 |
| 1166 vector_get->can_stream_ = false; | 1168 vector_get->can_stream_ = true; |
| 1167 | 1169 |
| 1168 return vector_get; | 1170 return vector_get; |
| 1169 } | 1171 } |
| 1170 | 1172 |
| 1171 | 1173 |
| 1172 VectorSet* VectorSet::ReadFrom(Reader* reader) { | 1174 VectorSet* VectorSet::ReadFrom(Reader* reader) { |
| 1173 TRACE_READ_OFFSET(); | 1175 TRACE_READ_OFFSET(); |
| 1174 | 1176 |
| 1175 VectorSet* vector_set = new VectorSet(); | 1177 VectorSet* vector_set = new VectorSet(); |
| 1176 vector_set->kernel_offset_ = reader->offset() - 1; // -1 to include tag byte. | 1178 vector_set->kernel_offset_ = reader->offset() - 1; // -1 to include tag byte. |
| 1177 vector_set->vector_expression_ = Expression::ReadFrom(reader); | 1179 vector_set->vector_expression_ = Expression::ReadFrom(reader); |
| 1178 vector_set->index_ = reader->ReadUInt(); | 1180 vector_set->index_ = reader->ReadUInt(); |
| 1179 vector_set->value_ = Expression::ReadFrom(reader); | 1181 vector_set->value_ = Expression::ReadFrom(reader); |
| 1180 | 1182 |
| 1181 vector_set->can_stream_ = false; | 1183 vector_set->can_stream_ = vector_set->value_->can_stream(); |
| 1182 | 1184 |
| 1183 return vector_set; | 1185 return vector_set; |
| 1184 } | 1186 } |
| 1185 | 1187 |
| 1186 | 1188 |
| 1187 VectorCopy* VectorCopy::ReadFrom(Reader* reader) { | 1189 VectorCopy* VectorCopy::ReadFrom(Reader* reader) { |
| 1188 TRACE_READ_OFFSET(); | 1190 TRACE_READ_OFFSET(); |
| 1189 | 1191 |
| 1190 VectorCopy* vector_copy = new VectorCopy(); | 1192 VectorCopy* vector_copy = new VectorCopy(); |
| 1191 vector_copy->kernel_offset_ = | 1193 vector_copy->kernel_offset_ = |
| 1192 reader->offset() - 1; // -1 to include tag byte. | 1194 reader->offset() - 1; // -1 to include tag byte. |
| 1193 vector_copy->vector_expression_ = Expression::ReadFrom(reader); | 1195 vector_copy->vector_expression_ = Expression::ReadFrom(reader); |
| 1194 | 1196 |
| 1195 vector_copy->can_stream_ = false; | 1197 vector_copy->can_stream_ = true; |
| 1196 | 1198 |
| 1197 return vector_copy; | 1199 return vector_copy; |
| 1198 } | 1200 } |
| 1199 | 1201 |
| 1200 | 1202 |
| 1201 ClosureCreation* ClosureCreation::ReadFrom(Reader* reader) { | 1203 ClosureCreation* ClosureCreation::ReadFrom(Reader* reader) { |
| 1202 TRACE_READ_OFFSET(); | 1204 TRACE_READ_OFFSET(); |
| 1203 | 1205 |
| 1204 ClosureCreation* closure_creation = new ClosureCreation(); | 1206 ClosureCreation* closure_creation = new ClosureCreation(); |
| 1205 closure_creation->kernel_offset_ = | 1207 closure_creation->kernel_offset_ = |
| 1206 reader->offset() - 1; // to include tag byte. | 1208 reader->offset() - 1; // to include tag byte. |
| 1207 closure_creation->top_level_function_reference_ = | 1209 closure_creation->top_level_function_reference_ = |
| 1208 Reference::ReadMemberFrom(reader); | 1210 Reference::ReadMemberFrom(reader); |
| 1209 closure_creation->context_vector_ = Expression::ReadFrom(reader); | 1211 closure_creation->context_vector_ = Expression::ReadFrom(reader); |
| 1210 closure_creation->function_type_ = | 1212 closure_creation->function_type_ = |
| 1211 FunctionType::Cast(DartType::ReadFrom(reader)); | 1213 FunctionType::Cast(DartType::ReadFrom(reader)); |
| 1212 | 1214 |
| 1213 closure_creation->can_stream_ = false; | 1215 closure_creation->can_stream_ = true; |
| 1214 | 1216 |
| 1215 return closure_creation; | 1217 return closure_creation; |
| 1216 } | 1218 } |
| 1217 | 1219 |
| 1218 | 1220 |
| 1219 Statement* Statement::ReadFrom(Reader* reader) { | 1221 Statement* Statement::ReadFrom(Reader* reader) { |
| 1220 TRACE_READ_OFFSET(); | 1222 TRACE_READ_OFFSET(); |
| 1221 Tag tag = reader->ReadTag(); | 1223 Tag tag = reader->ReadTag(); |
| 1222 switch (tag) { | 1224 switch (tag) { |
| 1223 case kInvalidStatement: | 1225 case kInvalidStatement: |
| (...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1881 | 1883 |
| 1882 kernel::Program* ReadPrecompiledKernelFromBuffer(const uint8_t* buffer, | 1884 kernel::Program* ReadPrecompiledKernelFromBuffer(const uint8_t* buffer, |
| 1883 intptr_t buffer_length) { | 1885 intptr_t buffer_length) { |
| 1884 kernel::Reader reader(buffer, buffer_length); | 1886 kernel::Reader reader(buffer, buffer_length); |
| 1885 return kernel::Program::ReadFrom(&reader); | 1887 return kernel::Program::ReadFrom(&reader); |
| 1886 } | 1888 } |
| 1887 | 1889 |
| 1888 | 1890 |
| 1889 } // namespace dart | 1891 } // namespace dart |
| 1890 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 1892 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| OLD | NEW |