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

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

Issue 2680303002: Kernel debugging; service tests (Closed)
Patch Set: Changes based on feedback. Also fixed regress_28443_test 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
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 "platform/globals.h" 6 #include "platform/globals.h"
7 #include "vm/flags.h" 7 #include "vm/flags.h"
8 #include "vm/growable_array.h" 8 #include "vm/growable_array.h"
9 #include "vm/kernel.h" 9 #include "vm/kernel.h"
10 #include "vm/kernel_to_il.h" 10 #include "vm/kernel_to_il.h"
(...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after
1145 StaticGet* get = new StaticGet(); 1145 StaticGet* get = new StaticGet();
1146 get->position_ = reader->ReadPosition(); 1146 get->position_ = reader->ReadPosition();
1147 get->target_ = Reference::ReadMemberFrom(reader); 1147 get->target_ = Reference::ReadMemberFrom(reader);
1148 return get; 1148 return get;
1149 } 1149 }
1150 1150
1151 1151
1152 StaticSet* StaticSet::ReadFrom(Reader* reader) { 1152 StaticSet* StaticSet::ReadFrom(Reader* reader) {
1153 TRACE_READ_OFFSET(); 1153 TRACE_READ_OFFSET();
1154 StaticSet* set = new StaticSet(); 1154 StaticSet* set = new StaticSet();
1155 set->position_ = reader->ReadPosition();
1155 set->target_ = Reference::ReadMemberFrom(reader); 1156 set->target_ = Reference::ReadMemberFrom(reader);
1156 set->expression_ = Expression::ReadFrom(reader); 1157 set->expression_ = Expression::ReadFrom(reader);
1157 return set; 1158 return set;
1158 } 1159 }
1159 1160
1160 1161
1161 Arguments* Arguments::ReadFrom(Reader* reader) { 1162 Arguments* Arguments::ReadFrom(Reader* reader) {
1162 TRACE_READ_OFFSET(); 1163 TRACE_READ_OFFSET();
1163 Arguments* arguments = new Arguments(); 1164 Arguments* arguments = new Arguments();
1164 arguments->types().ReadFromStatic<DartType>(reader); 1165 arguments->types().ReadFromStatic<DartType>(reader);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1265 expr->position_ = reader->ReadPosition(); 1266 expr->position_ = reader->ReadPosition();
1266 expr->operand_ = Expression::ReadFrom(reader); 1267 expr->operand_ = Expression::ReadFrom(reader);
1267 expr->type_ = DartType::ReadFrom(reader); 1268 expr->type_ = DartType::ReadFrom(reader);
1268 return expr; 1269 return expr;
1269 } 1270 }
1270 1271
1271 1272
1272 AsExpression* AsExpression::ReadFrom(Reader* reader) { 1273 AsExpression* AsExpression::ReadFrom(Reader* reader) {
1273 TRACE_READ_OFFSET(); 1274 TRACE_READ_OFFSET();
1274 AsExpression* expr = new AsExpression(); 1275 AsExpression* expr = new AsExpression();
1276 expr->position_ = reader->ReadPosition();
1275 expr->operand_ = Expression::ReadFrom(reader); 1277 expr->operand_ = Expression::ReadFrom(reader);
1276 expr->type_ = DartType::ReadFrom(reader); 1278 expr->type_ = DartType::ReadFrom(reader);
1277 return expr; 1279 return expr;
1278 } 1280 }
1279 1281
1280 1282
1281 StringLiteral* StringLiteral::ReadFrom(Reader* reader) { 1283 StringLiteral* StringLiteral::ReadFrom(Reader* reader) {
1282 TRACE_READ_OFFSET(); 1284 TRACE_READ_OFFSET();
1283 return new StringLiteral(Reference::ReadStringFrom(reader)); 1285 return new StringLiteral(Reference::ReadStringFrom(reader));
1284 } 1286 }
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1346 1348
1347 1349
1348 ThisExpression* ThisExpression::ReadFrom(Reader* reader) { 1350 ThisExpression* ThisExpression::ReadFrom(Reader* reader) {
1349 TRACE_READ_OFFSET(); 1351 TRACE_READ_OFFSET();
1350 return new ThisExpression(); 1352 return new ThisExpression();
1351 } 1353 }
1352 1354
1353 1355
1354 Rethrow* Rethrow::ReadFrom(Reader* reader) { 1356 Rethrow* Rethrow::ReadFrom(Reader* reader) {
1355 TRACE_READ_OFFSET(); 1357 TRACE_READ_OFFSET();
1356 return new Rethrow(); 1358 Rethrow* rethrow = new Rethrow();
1359 rethrow->position_ = reader->ReadPosition();
1360 return rethrow;
1357 } 1361 }
1358 1362
1359 1363
1360 Throw* Throw::ReadFrom(Reader* reader) { 1364 Throw* Throw::ReadFrom(Reader* reader) {
1361 TRACE_READ_OFFSET(); 1365 TRACE_READ_OFFSET();
1362 Throw* t = new Throw(); 1366 Throw* t = new Throw();
1363 t->position_ = reader->ReadPosition(); 1367 t->position_ = reader->ReadPosition();
1364 t->expression_ = Expression::ReadFrom(reader); 1368 t->expression_ = Expression::ReadFrom(reader);
1365 return t; 1369 return t;
1366 } 1370 }
1367 1371
1368 1372
1369 ListLiteral* ListLiteral::ReadFrom(Reader* reader, bool is_const) { 1373 ListLiteral* ListLiteral::ReadFrom(Reader* reader, bool is_const) {
1370 TRACE_READ_OFFSET(); 1374 TRACE_READ_OFFSET();
1371 ListLiteral* literal = new ListLiteral(); 1375 ListLiteral* literal = new ListLiteral();
1372 literal->is_const_ = is_const; 1376 literal->is_const_ = is_const;
1377 literal->position_ = reader->ReadPosition();
1373 literal->type_ = DartType::ReadFrom(reader); 1378 literal->type_ = DartType::ReadFrom(reader);
1374 literal->expressions_.ReadFromStatic<Expression>(reader); 1379 literal->expressions_.ReadFromStatic<Expression>(reader);
1375 return literal; 1380 return literal;
1376 } 1381 }
1377 1382
1378 1383
1379 MapLiteral* MapLiteral::ReadFrom(Reader* reader, bool is_const) { 1384 MapLiteral* MapLiteral::ReadFrom(Reader* reader, bool is_const) {
1380 TRACE_READ_OFFSET(); 1385 TRACE_READ_OFFSET();
1381 MapLiteral* literal = new MapLiteral(); 1386 MapLiteral* literal = new MapLiteral();
1382 literal->is_const_ = is_const; 1387 literal->is_const_ = is_const;
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1528 reader->helper()->labels()->Push(stmt); 1533 reader->helper()->labels()->Push(stmt);
1529 stmt->body_ = Statement::ReadFrom(reader); 1534 stmt->body_ = Statement::ReadFrom(reader);
1530 reader->helper()->labels()->Pop(stmt); 1535 reader->helper()->labels()->Pop(stmt);
1531 return stmt; 1536 return stmt;
1532 } 1537 }
1533 1538
1534 1539
1535 BreakStatement* BreakStatement::ReadFrom(Reader* reader) { 1540 BreakStatement* BreakStatement::ReadFrom(Reader* reader) {
1536 TRACE_READ_OFFSET(); 1541 TRACE_READ_OFFSET();
1537 BreakStatement* stmt = new BreakStatement(); 1542 BreakStatement* stmt = new BreakStatement();
1543 stmt->position_ = reader->ReadPosition();
1538 stmt->target_ = reader->helper()->labels()->Lookup(reader->ReadUInt()); 1544 stmt->target_ = reader->helper()->labels()->Lookup(reader->ReadUInt());
1539 return stmt; 1545 return stmt;
1540 } 1546 }
1541 1547
1542 1548
1543 WhileStatement* WhileStatement::ReadFrom(Reader* reader) { 1549 WhileStatement* WhileStatement::ReadFrom(Reader* reader) {
1544 TRACE_READ_OFFSET(); 1550 TRACE_READ_OFFSET();
1545 WhileStatement* stmt = new WhileStatement(); 1551 WhileStatement* stmt = new WhileStatement();
1546 stmt->condition_ = Expression::ReadFrom(reader); 1552 stmt->condition_ = Expression::ReadFrom(reader);
1547 stmt->body_ = Statement::ReadFrom(reader); 1553 stmt->body_ = Statement::ReadFrom(reader);
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
1708 return VariableDeclaration::ReadFromImpl(reader); 1714 return VariableDeclaration::ReadFromImpl(reader);
1709 } 1715 }
1710 1716
1711 1717
1712 VariableDeclaration* VariableDeclaration::ReadFromImpl(Reader* reader) { 1718 VariableDeclaration* VariableDeclaration::ReadFromImpl(Reader* reader) {
1713 TRACE_READ_OFFSET(); 1719 TRACE_READ_OFFSET();
1714 PositionScope scope(reader); 1720 PositionScope scope(reader);
1715 1721
1716 VariableDeclaration* decl = new VariableDeclaration(); 1722 VariableDeclaration* decl = new VariableDeclaration();
1717 decl->position_ = reader->ReadPosition(); 1723 decl->position_ = reader->ReadPosition();
1724 decl->equals_position_ = reader->ReadPosition();
1718 decl->flags_ = reader->ReadFlags(); 1725 decl->flags_ = reader->ReadFlags();
1719 decl->name_ = Reference::ReadStringFrom(reader); 1726 decl->name_ = Reference::ReadStringFrom(reader);
1720 decl->type_ = DartType::ReadFrom(reader); 1727 decl->type_ = DartType::ReadFrom(reader);
1721 decl->inferred_value_ = reader->ReadOptional<InferredValue>(); 1728 decl->inferred_value_ = reader->ReadOptional<InferredValue>();
1722 decl->initializer_ = reader->ReadOptional<Expression>(); 1729 decl->initializer_ = reader->ReadOptional<Expression>();
1723 1730
1724 // Go to next token position so it ends *after* the last potentially 1731 // Go to next token position so it ends *after* the last potentially
1725 // debuggable position in the initializer. 1732 // debuggable position in the initializer.
1726 TokenPosition position = reader->max_position(); 1733 TokenPosition position = reader->max_position();
1727 if (position.IsReal()) position.Next(); 1734 if (position.IsReal()) position.Next();
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
1927 1934
1928 kernel::Program* ReadPrecompiledKernelFromBuffer(const uint8_t* buffer, 1935 kernel::Program* ReadPrecompiledKernelFromBuffer(const uint8_t* buffer,
1929 intptr_t buffer_length) { 1936 intptr_t buffer_length) {
1930 kernel::Reader reader(buffer, buffer_length); 1937 kernel::Reader reader(buffer, buffer_length);
1931 return kernel::Program::ReadFrom(&reader); 1938 return kernel::Program::ReadFrom(&reader);
1932 } 1939 }
1933 1940
1934 1941
1935 } // namespace dart 1942 } // namespace dart
1936 #endif // !defined(DART_PRECOMPILED_RUNTIME) 1943 #endif // !defined(DART_PRECOMPILED_RUNTIME)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698